@charset "UTF-8";

:root{
    --header-bgcolor: #000846;
    --header-second-color: #3B65B9;
    --header-shop-color: #00226D;
    --header-shop-gradation: linear-gradient(to bottom, #F7F8F8, #B5B5B6);
    --header-padding-top:20px;
    --header-padding-bottom:15px;
    --english-fonts: "Montserrat", sans-serif;
    --header-border-color:#898989;
}
body{
    font-family: 'Noto Sans JP', sans-serif;
}
/* ▼▼ header ▼▼ */
header{
	position: fixed;
    width:100%;
    z-index: 9999999;
}
header nav{
    background-color: var(--header-bgcolor);
    display: flex;
    justify-content: space-between;
}
header nav .logo{
    padding-top: var(--header-padding-top);
    padding-bottom: var(--header-padding-bottom);
    padding-left: 25px;
}
header nav .logo img{
    min-width: 178.515px;
}
header nav ul{
    display: flex;
    list-style: none;
    margin: 0px;
}
header nav ul .menu-list{
    text-align: center;
    font-size: 15px;
    font-family: var(--english-fonts);
    font-weight: Medium;
    border-left: 1px solid var(--header-border-color);
}
header nav ul li .japanese{
    display: block;
    font-size: 10px;
    font-weight: bold;
}
header nav ul a{
    text-decoration: none;
    color:white;
    display: block;
    width: 104px;
    padding-top: var(--header-padding-top);
    padding-bottom: var(--header-padding-bottom);
    padding-left: 12px;
    padding-right: 12px;
}
header nav ul a .second-color{
    color:var(--header-second-color);
}
header nav ul .menu-list:hover{
    background: linear-gradient(to right bottom, #000846, #00226D);
    background-size: 200% 200%;
    animation: nav-animation 300ms linear;
}
@keyframes nav-animation {
    0% {
        background-position: 200% 200%;
    }
    50%{
        background-position: 50% 50%;
    }
    100% {
        background-position: 0% 0%;
    }
}
header nav ul .shop{
    background: var(--header-shop-gradation);
    border-left: 1px solid var(--header-bgcolor);
    line-height: 25px;
}
header nav ul .shop:hover{
    background: linear-gradient(to bottom, #B5B5B6, #F7F8F8);
    background-size: 200% 200%;
    animation: nav-animation 300ms linear;
}
header nav ul .goods img{
    width: 22px;
    display: inline-block;
    position: relative;
    top: 3px;
}
header nav ul .ticket img{
    padding-top: 5px;
    width: 24px;
    display: inline-block;
    position: relative;
    top: 2px;
}
header nav ul .shop a{
    color: var(--header-shop-color);
    width: 120px;
    padding-top: 15px;
    padding-bottom:0px;
}
header nav ul .shop a .japanese::before{
    content: "";
    display: block;
    position: relative;
    top: 3px;
    border-top: 1px solid var(--header-shop-color);
}
#toTopBtn {
    position: fixed;
    bottom: 20px;
    right: 20px;
    display:none;
    padding: 10px 15px;
    font-size: 16px;
    background-color: transparent;
    border: none;
    cursor: pointer;
    z-index: 999;
    transition: opacity 0.3s;
}
#toTopBtn img{
    width: 8.8px;
}
#toTopBtn.show {
    display: block;
}
.sp{
    display: none;
}
@media (max-width:1300px){
    .sp{
        display: block;
    }
    header nav{
        background-color: var(--header-bgcolor);
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        height:clamp(45px, 13vw, 68px);
        align-content: center;
    }
    header nav .logo{
        padding-top: var(--header-padding-top);
        padding-bottom: var(--header-padding-bottom);
        padding-left: clamp(12px, 2.93vw, 22px);
    }
    header nav .logo img{
        min-width: clamp(100px, 36.6vw, 178.515px);
    }
    header nav .menu-button{
        padding-top: 0px;
        padding-bottom: 0px;
        padding-right: clamp(12px, 2.93vw, 22px);
        align-content: center;
    }
    header nav .menu-button:hover{
        cursor: pointer;
    }
    header nav .menu-button img{
        width: clamp(25px, 6.6vw, 35px);
    }
    header nav .menu-button .disabled{
        display: none;
    }
    header nav ul{
        display: block;
        position:fixed;
        top:clamp(45px, 13vw, 68px);
        overflow-y: auto;
        background-color: var(--header-bgcolor);
        width: 100%;
        margin: 0px;
        list-style: none;
        padding-left:clamp(34px, 10vw, 75px);
        padding-right:clamp(34px, 10vw, 75px);
        padding-top: clamp(38px, 10.6vw, 60px);
        padding-bottom: clamp(18px, 5.3vw, 40px);
        max-height: 92vh;
        opacity: 1;
        transition: opacity 300ms ease-in;
    }
    header nav ul.disabled{
        overflow: hidden;
        max-height: 0px;
        padding: 0px;
        opacity: 0;
    }
    header nav ul .menu-list{
        text-align: center;
        font-size: clamp(17px, 4.6vw, 20px);
        font-family: var(--english-fonts);
        font-weight: Medium;
        border-top: 1px solid white;
        border-left:0px;
        height: clamp(45px, 13.3vw, 50px);
        align-content: center;
        width: 60%;
        margin: auto;
    }
    header nav ul a .english{
        padding-left: clamp(45px, 13.3vw, 100px);
    }
    header nav ul a, header nav ul .shop a{
        text-decoration: none;
        color:white;
        display: block;
        width: 100%;
        padding-top: 0px;
        padding-bottom:0px;
        padding-left: 0px;
        padding-right: 0px;
        display: flex;
        justify-content: space-between;
    }
    header nav ul .menu-list a span{
        display: block;
        width: fit-content;
        align-content: center;
    }
    header nav ul .menu-list a .japanese{
        font-size: clamp(10.8px, 3.2vw, 18px);
        font-weight: bold;
        width: clamp(124px, 36.6vw, 275px);
        text-align: start;
    }
    header nav ul a .second-color, header nav ul .shop a .japanese{
        color:white;
    }
    header nav ul .menu-list:hover{
        background: linear-gradient(to right bottom, #000846, #00226D);
        background-size: 200% 200%;
        animation: nav-animation 300ms linear;
    }
    header nav ul .shop{
        background: transparent;
        border-left: 0px;
        line-height: 25px;
    }
    header nav ul .shop:hover{
        background: transparent;
    }
    header nav ul .goods img{
        display: none;
    }
    header nav ul .ticket img{
        display: none;
    }
    header nav ul .goods{
        border-bottom: 1px solid white;
    }
    header nav ul .shop a .japanese::before{
        content: "";
        display: none;
    }
    header nav .nav-bottom{
        width: 100%;
        padding-top: clamp(20px, 5.3vw, 70px);
    }
    header nav .nav-bottom img{
        width: clamp(21px, 6.2vw, 47px);
        display: block;
        margin: auto;
    }
    header nav .nav-bottom div{
        display: flex;
        justify-content: center;
        padding-top: clamp(20px, 5.3vw, 70px);
        padding-bottom: clamp(0px, 3.8vw, 65px);
    }
    header nav .nav-bottom div a:nth-child(odd){
        margin-right: clamp(15px, 4.6vw, 28.5px);
    }
    header nav .nav-bottom div a{
        font-size: 12px;
        color: white;
        display: block;
        width: fit-content;
    }
    header nav .nav-bottom div a::before{
        content: "";
        display: inline-block;
        position: relative;
        width: clamp(11px, 3vw, 22px);
        height: 1px;
        background-color: white;
        bottom: 3px;
        right: 5px;
    }
    header nav ul .shop:hover{
        background: linear-gradient(to right bottom, #000846, #00226D);
    }
    #toTopBtn *{
        display: none;
        max-height: 0px;
        overflow: hidden;
        opacity: 0;
    }
    header nav .instagram img{
        width: clamp( 21px, 6.2vw, 37px);
    }
    .show{
        display: none;
    }
}
@media (max-width:1000px){
    header nav ul .menu-list{
        width: 85%;
    }
}
@media (max-width:756px){
    header nav ul .menu-list{
        text-align: center;
        font-size: clamp(17px, 4.6vw, 25px);
        font-family: var(--english-fonts);
        font-weight: Medium;
        border-top: 1px solid white;
        border-left:0px;
        height: clamp(45px, 13.3vw, 80px);
        align-content: center;
        width: 100%;
        margin: auto;
    }
}
/* ▲▲ header ▲▲ */