/* mobile.css */body {opacity:1; font-size: 1.4rem;}#opening p { width: 80%; }.anchor { padding-top: 40px; margin-top: -40px;}.js-glitter span.star {transform: scale(.6) !important;}/* header */#header {display:block !important;}#header:after {display:none;background-size: 33px;}#header-inner {width: 100%;padding-bottom:3vw;  background-image: url("../img/header-bg-s.jpg");  background-size: contain;  background-repeat: repeat;  background-position: center center;}#header #header-title {flex-basis: 30%;margin-top:2vh; z-index: 2; 	transition: all 0.1s ease-in-out; filter: drop-shadow(0px 0px 2px #FFF) drop-shadow(0px 0px 3px #FFF)dd;}.scrollmenu-open #header #header-title {flex-basis: 30%;}#header #header-title a { display: block; height: 80%; }#header #header-title span {white-space:nowrap;font-size: 1.3rem;}#header.menuclose #header-title {    opacity: 0;    overflow: hidden;}#header #gnavi-pc {display:none;}/* gnavi-sp */#gnavi-sp{	display: flex;	justify-content: space-between;	align-items: start;}#header #header-title:after { animation: none;}    #gnavi-sp:before {        content: "";        display: block;        width: 14vw;        margin: 2vw;    }/* hamburger-menu */.hamburger{	position: relative;	background: rgba(255, 255, 255, 1);	border-radius:50%;	width: 10vw;	height: 10vw;	z-index:2;	-webkit-tap-highlight-color:transparent;	cursor:pointer;	margin:2vw;	padding:2.25vw 2vw;}.hamburger .line{	display: block;	position: relative;	width: 6vw;	height: 4px;	margin: 15% auto;	background-color: #F07;	border-radius:2px;	-webkit-transition: all 0.3s ease-in-out;	-o-transition: all 0.3s ease-in-out;	transition: all 0.3s ease-in-out;}.hamburger:hover{cursor: pointer;}.hamburger.active{-webkit-transform: rotate(45deg);-ms-transform: rotate(45deg);-o-transform: rotate(45deg);transform: rotate(45deg);}.hamburger.active .line:nth-child(2){opacity: 0;}.hamburger.active .line:nth-child(1){-webkit-transform: translateY(8px);-ms-transform: translateY(8px);-o-transform: translateY(8px);transform: translateY(8px);}.hamburger.active .line:nth-child(3){-webkit-transform: translateY(-9px) rotate(90deg);-ms-transform: translateY(-9px) rotate(90deg);-o-transform: translateY(-9px) rotate(90deg);transform: translateY(-9px) rotate(90deg);}/*hamburger-menus*/#gnavi-sp .hamburger-menus{position: fixed;z-index:1;top:0;right:-100%;width:100%;height:100%;transition: 0.3s;background-color: #180736;overflow: scroll;padding-top:18vh;padding-bottom:50px;}#gnavi-sp .hamburger-menus.active{right:0;}#gnavi-sp .hamburger-menus .title{width: 50vw;margin: 25px auto 10px;}#gnavi-sp .hamburger-menus.active .title img{aspect-ratio: 4 / 2;}#gnavi-sp .hamburger-menus ul li {background:transparent;}#gnavi-sp .hamburger-menus > ul li:before {content: "";position: absolute;bottom: 0;left: 0;width: 0;height: 1px;background-color: rgba(255,255,255,.5);opacity:0;transition: 0.5s;}#gnavi-sp .hamburger-menus ul li a {position: relative;display: flex;justify-content:start;align-items:center;color:#fff;padding: 0 2rem;transition: 0.3s;margin: auto;width: 55%;text-decoration:none;border-radius: .5em;}#gnavi-sp .hamburger-menus ul li a img {width:auto;}#gnavi-sp .hamburger.active ~ .hamburger-menus ul li:before {width: 100%;}#gnavi-sp .hamburger ~ .hamburger-menus ul li a {text-align:center;}#gnavi-sp .hamburger.active ~ .hamburger-menus ul li a:hover {transform: scale(1.1);}html.scroll-off, html.scroll-off body {height: 100%; overflow: hidden;}#hamburger-menus-sns {color:#F07; text-align:center; margin-top:50px;}#hamburger-menus-sns a {height:60px;}#hamburger-menus-sns a:hover {background-color:transparent !important;}#hamburger-menus-sns a svg {fill:#FFF;}#hamburger-menus-sns a:hover svg {fill:#F07;}#body {padding-top:0; width:100%;}#mainvisual {/* background: rgba(255, 43, 174, .7); */    position: relative;    margin: 0 auto;    overflow: hidden;    z-index: 1;padding-top:141.625%;}#mainvisual h1 {top:auto;bottom: 5%;left: 22%;width: 62%;}#mainvisual .mv-img {background: transparent;width: 100%;/* height: 100vh; */top:50%;left:50%;transform: translate(-50%, -50%);}#mainvisual .mv-img img {/* height: 100vh; */object-position: 50%;    border-radius: 0;}#mainvisual .flex {display:none;}.scroll-indicator {top: -12vh;left: 90%;z-index: 10;}.scroll-indicator:after {color: rgba(255, 255, 255,1);}.indicator:before,.indicator:after {  background: rgba(255,255,255,.9);}#body h2 {    top: -4.5vw;    left: -1vw;    width: 25vw;}#event-contents h2{    left: -.5vw;    width: 32vw;}#body .section {    width: 90%;    margin:15vw auto 0;    padding: 7vw 3vw 3vw;    background: rgba(255, 255, 255, 1);    border: 0.2rem solid #fff;    box-shadow: 0 0 .5rem #fff, 0 0 1rem #ff298d, inset 0 0 1rem #ff298d;}#detail #catchcopy {    width: 90%;}#detail p#detail-lead {width:88vw;    font-size: clamp(1.4rem, 3.1vw, 3.3rem);}#detail #detail-leadend {    width: 85%;}#whatsnew .whatsnew-item {    flex-basis: 100%;}#latest_news ul {    height: 200px;}#location {display:block;}#location .name {text-align:center;}#location.flex .flex-item {    padding: 1em;}#location.flex .flex-item .name {font-size: 180%;margin-bottom:.3em;}#googlemap {margin-top:1.5em;padding-bottom:80%;}#event-contents ul{gap: 2vw;}#event-contents ul li {    padding: 2vw;    flex-basis: 100% !important;}#cast ul {justify-content: center;gap: 2vw 2vw;}#cast ul li {    flex-basis: calc(92% / 3);}#cast ul li p span {    font-size: 1rem;}#cast ul li p:nth-of-type(2) {font-size:3.4vw;transform: scale(0.8, 1);    transform-origin: top left;    width: 125%;}#cast #cv ul li p:nth-of-type(2) {transform: scale(0.9, 1);transform-origin: top left;width: 110%;}#cast ul li p:nth-of-type(2) img {    width: 16vw;}#cast .cast-section:not(:last-child) {    margin-bottom: 8vw;}#cast #singer h3 {line-height:1;}#cast #singer p {    width: 100%;}#tickets .table-wrapper {    overflow-x: scroll;    margin: 0 auto;    padding: 0;    -ms-overflow-style: none;    scrollbar-width: none;}#tickets h3 {    margin-top: 6vw;    margin-bottom:.3em;    line-height:1.2;}#tickets .sp {font-size:2.5vw; margin-bottom:.5em;}#tickets .slidehint figure { display:inline-block; width: 4vw; height: 4vw;animation: slidehint 3s linear infinite; margin-left:2vw;}@keyframes slidehint { 0%,100% {transform: translateX(20px); } 50% {transform: translateX(-20px); }}#tickets table.price {    white-space: nowrap;    border-spacing: 3px;    width: 100%;}.price th, .price td {font-size: 4vw;}.price tr:nth-of-type(1) th {    font-size: 3vw;}.price .small {    font-size: 2vw;}#linktonotice {    width: 100%;}#ticket-faq {    gap: 1vw;}#tickets p.tokuten {margin-left:1em;}#tickets #tokuten-items ul {    justify-content: center;    gap: 1.5em 1.5em;    flex-wrap: wrap;}#tickets #tokuten-items li {    flex-basis: calc(93% / 2);}#tickets .sub-section {    margin-bottom: 2em;}#notice-link .flex-item a {    font-size: clamp(1.4rem, 2vw, 3rem);    padding: .75em .75em;}#hightouch-notice {    font-size: clamp(1.6rem, 1.8vw, 2.4rem);}.buytickets p {    width: 100%;}#oyakoyusen table {    width: 94%;}#hightouch-oubo ol {    gap: 30px 18px;}#hightouch #shouhin {    margin-top: 4em;}#hightouch #shouhin h4 {    top: -2em;}#hightouch #shouhin .price {    font-size: 160%;}#hightouch #shouhin .announce {    font-size: 90%;}#hightouch #shouhin .announce img {    width: 1.6rem;    vertical-align: -2px;}#hightouch-oubo li {    flex-basis: auto;    width: calc(calc(100% - 30px) / 2);    padding: 1.5em .3em 1.5em;}#hightouch-oubo li:after {    font-size: 125%;}#hightouch-oubo li:nth-of-type(5) {width: 55%;}#hightouch-oubo li.notice {    flex-basis: 25%;    position: relative;    transform: translate(-2%, 2%) scale(1.3) rotate(5deg);}#hightouch-oubo h5 {    font-size: 115%;}#hightouch p:last-child {    font-size: 1.3rem;    padding: 0 .6em;}#hightouch-oubo p.announce {    font-size: 1.1rem !important;    padding: .4em .6em !important;}#hightouch-oubo .announce img {    width: 1.3rem;    vertical-align: -1px;}#hightouch.sub-section {margin-bottom:0;}#goods li {    flex-basis: 84%;}#footer-menu-wrapper {    display: block;}