@charset "utf-8";
/* CSS Document */

@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&display=swap');


/* ナビゲーション */
#menu{
    position: relative;
    margin: 0;
    padding: 0;
    z-index: 10;
}
nav{
    position: relative;
    top: 14px;
    left: 8px;
}
nav ul{
    width: 300px;
}
nav li{
    width: 100%;
    height: 60px;
    margin: 10px auto;
    font-weight: 500;
    font-size: 1.2rem;
    text-indent: 1em;
    color: #fff;
}
nav a, .menuBtn, .flyerBtn{
    width: 100%;
    height: 100%;
    display: block flex;
    align-items: center;
}
nav a{
    /* cursor: default; */
    text-decoration: none;
    text-indent: 1em;
    color: #fff;
}
.menuBtn, .menuBtn:visited{
    width: 100%;
    height: 100%;
    background:linear-gradient(90deg, rgb(0, 120, 190), rgb(50, 65, 150), rgb(0, 120, 190));
    background-size: 200% 100%;
    background-position: 0 0;
    transition: all .5s;
    /* box-shadow: 5px 5px 5px 0 rgba(0, 81, 71, .5); */
}
.menuBtn.live, .menuBtn.live:visited{
    box-shadow: 5px 5px 5px 0 rgba(0, 81, 71, .5);
}
.menuBtn.live:hover{
    position: relative;
    top: -1px;
    background-position: 100% 0;
    box-shadow: 5px 6px 5px 0 rgba(0, 81, 71, .5);
}
.menuBtn.live:active{
    top: 2px;
    box-shadow: none;
}
nav .flyerBtn{
    color: #324196;
}
nav ul.flyers{
    margin-top: 50px;
}
nav ul.flyers li{
    height: 80px;
}
.flyerBtn{
    width: 300px;
    height: 100px;
    margin: 10px auto;
    font-weight: 500;
    font-size: 1.2rem;
}
.flyerBtn, .flyerBtn:visited{
    width: 100%;
    height: 100%;
    background:linear-gradient(90deg, rgb(255, 255, 198), rgb(255, 220, 0), rgb(255, 255, 198));
    background-size: 200% 100%;
    background-position: 0 0;
    transition: all .5s;
    /* box-shadow: 5px 5px 5px 0 rgba(0, 81, 71, .5); */
}
/* .flyerBtn:hover{
    position: relative;
    top: -1px;
    background-position: 100% 0;
    box-shadow: 5px 6px 5px 0 rgba(0, 81, 71, .5);
} */
.flyerBtn:active{
    top: 2px;
    box-shadow: none;
}



/* レスポンシブ対応 */

@media screen and (max-width:1280px){
    #menu {
        width: 25%;
    }
    nav ul{
        width: 100%;
    }
}
@media screen and (max-width:1060px){

    #menu{
        width: 100vw;
        height: 100vh;
        position: fixed;
        top: -120%;
        transition: .5s;
    }
    #menu.navActive{
        top: 0;
    }
    nav{
        width: 100vw;
        height: 100vh;
        background:linear-gradient(90deg, rgba(50, 65, 150, .9), rgba(0, 120, 190, .6));
        top: 0;
        left: 0;
        overflow: scroll;
    }
    nav ul{
        width: 80%;
        position: relative;
        top: 10%;
        left: 50%;
        transform: translateX(-50%);
    }
    nav li{
        border-bottom: #fff 1px solid;
        font-size: 1.5rem;
    }
    nav li button{
        display: table-cell;
    }
    nav li a{
        display: block flex;
        width: 100%;
        height: 100%;
        align-items: center;
    }
    
    .menuBtn, .menuBtn:visited{
        background: none;
        box-shadow: none;
    }
    .menuBtn:hover{
        top: 0;
        background: none;
        box-shadow: none;
    }
    .menuBtn:active{
        top: 0;
    }

    .scrollStop{
        overflow: clip;
    }

    /* はんばーがーめにゅー */
    #spMenuBtn{
        --spBtnSize: 50px;
        width: calc(var(--spBtnSize) * 1.5);
        margin: 0;
        position: fixed;
        top: 0;
        right: 0;
        display: flex;
        justify-content: flex-end;
        z-index: 11;
    }
    #spMenuBtn button{
        width: var(--spBtnSize);
        height: var(--spBtnSize);
        margin-right: calc(var(--spBtnSize) / 3);
        margin-top: calc(var(--spBtnSize) / 3);
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        align-items: center;
        position: relative;
    }
    #spMenuBtn span{
        background-color: #fff;
        width: 100%;
        height: 3px;
        position: relative;
        transition: .5s;
    }
    #spMenuBtn.navActive span:nth-child(1){
        top: 50%;
        transform: rotate(45deg) translateY(-50%);
    }
    #spMenuBtn.navActive span:nth-child(2){
        display: none;
    }
    #spMenuBtn.navActive span:nth-child(3){
        top: -50%;
        transform: rotate(-45deg) translateY(50%);
    }
    .openBtn{
        cursor: pointer;
    }
}

@media screen and (max-width:740px){
    #spMenuBtn{
        --spBtnSize: 40px;
    }

}


@media screen and (max-width:400px){
    #spMenuBtn{
        --spBtnSize: 35px;
    }
    nav li{
        font-size: 1.2rem;
    }
}