h2 { font-size: 7vw;}
h3 {
    font-size: 125%;line-height:1.2;
}

#mainvisual {
    padding-top: 138.379%;
}
#mainvisual h1 {
    width: 100%;
}

.scroll-indicator {
z-index:2;
top: auto;
bottom:5vw;
left: auto;
right:8vw;
}
#body .section {padding:4vw;width: 100%;}

#header-inner {padding-top:5vw;}
#gnavi-sp{display:none;}
#gnavi-pc {position:relative; top:0;width:100%;}
#gnavi-pc > ul {display: flex; justify-content: center; align-items: center; gap: 0 clamp(5px,.8vw,15px);}
#gnavi-pc > ul li { padding:.2em; transform: rotate(-3deg);}
/*
#gnavi-pc > ul li {flex-basis:calc(100% / 7); padding:.2em; transform: rotate(-3deg);}
#gnavi-pc > ul li:nth-of-type(2) {flex-basis:calc(100% / 5);}
*/
#gnavi-pc > ul li:hover {transform: rotate(0deg);transition:.2s;}
#gnavi-pc > ul > li > a {
position: relative;
display: flex;
justify-content: center;
align-items: center;
text-decoration:none;
font-size:100%;
font-weight:600;
}
#gnavi-pc ul li a:hover {
font-weight:900;
}
#gnavi-pc > ul li.sns-link{width:50px;}

#gnavi-pc > ul > li > a {
    position: relative;
    margin-bottom: 0.2rem;
    padding: 1rem;
    border-left: .8vw solid #b2d5de;
    box-shadow: 2px 2px 3px rgba(200,200,200,.4);
    background: radial-gradient(circle,rgba(255, 255, 255, 1) 50%, rgba(245, 245, 245, 1) 100%);
}
#gnavi-pc > ul > li > a::before {
    position: absolute;
    right: -3px;
    bottom: 0px;
    width: 50%;
    height: 90%;
    background: linear-gradient(90deg,rgba(175, 175, 175, .8) 0%, rgba(175, 175, 175, .8) 100%);
    filter: blur(3px);
    z-index: -3;
    content: '';
    transform: rotate(4deg) skewX(4deg);;
}
}
#gnavi-pc > ul > li > a:hover {
    box-shadow: 5px 5px 10px rgba(150,150,150,.7);
    background-color: #f9f9f9;
}
#gnavi-pc > ul > li:nth-of-type(1) > a {
    border-left: .8vw solid #b2d5de;
}
#gnavi-pc > ul > li:nth-of-type(2) > a {
    border-left: .8vw solid #c5cde0;
}
#gnavi-pc > ul > li:nth-of-type(3) > a {
    border-left: .8vw solid #b2ded5;
}
#gnavi-pc > ul > li:nth-of-type(4) > a {
    border-left: .8vw solid #deb2c5;
}
#gnavi-pc > ul > li:nth-of-type(5) > a {
    border-left: .8vw solid #ded5b2;
}
#gnavi-pc > ul > li:nth-of-type(6) > a {
    border-left: .8vw solid #b2ded5;
}
#gnavi-pc > ul > li:nth-of-type(7) > a {
    border-left: .8vw solid #cbb2de;
}


#gnavi-pc .submenu { position: relative; }
#gnavi-pc .submenu-container {
display:block;
visibility: hidden;
opacity: 0;
position: absolute;
left: -120px;
width: 240px;
min-height:120px;
padding:1rem 2rem;
margin-left:50%;
transform: translateY(-1em);
z-index: 2;
transition: all 0.3s ease-in-out 0s, visibility 0s linear 0.3s, z-index 0s linear 0.01s;
border-radius: .5rem;
background: rgba(0,212,255,1);
box-shadow: 0rem .5rem 1rem rgba(0,0,0,0.16);
}
#gnavi-pc .submenu-container:before {
content:"";
position: absolute;
width: 0;
height: 0;
top: -10px;
left: 50%;
margin-left: -10px;
border-style: solid;
border-width: 0 10px 10px 10px;
border-color: transparent transparent rgba(0,212,255,1) transparent;
}


#whatsnew.section {
padding-top:16vw;
padding-bottom:10vw;
    width: 100%;
    overflow: visible;
}
#latest_news span.date {
    padding: 0;
    margin-right: 0;
}

#aisatsu p {
    width: 100%;
}

#venue-map p {
    width: 100%;
}


#highlights .content {
    display: block;
}
#highlights .image {
    width: 100%;
    margin-left: 0;
}
#highlights .body {
    width: 100%;
    padding: 3vw 3vw 3vw 3vw;
}
#highlights .content:nth-of-type(even) .body {
    margin-left: 0;
    padding: 3vw 3vw 3vw 3vw;
}



#footer-menu-wrapper {
    display: block;
    width: 90%;
    padding: 30px 0 50px;
    max-width: none;
    margin: 0 auto;
}
#detail.section {padding:10vw 4vw; border-width: 6vw 0 0 0;}
.tab-menu {
    gap: 5px;
}
.tab-menu li {
    padding: 0 0;
}
.tab-content {
    font-size: 100%;
}
.tab-content dt {
    flex-basis: calc(15% - 4px);
}
.tab-content dd {
    flex-basis: 85%;
}

#ticket-bundle.section{
width:100%;
padding:0 5vw;
}

/*注意事項ページ*/
#precautions ul {padding-left:1em;}