hightouch@charset "UTF-8";
/* normalize */
html {-ms-text-size-adjust: 100%;-webkit-text-size-adjust:100%;}body {margin:0;}main {display:block;}h1,h2,h3,h4,h5,h6 {font-weight:800;margin:0;padding:0;}hr {box-sizing:content-box;height:0;overflow:visible;}pre {font-family:monospace, monospace;font-size:1em;}a {background-color:transparent;}abbr[title] {border-bottom:none;text-decoration:underline;text-decoration:underline dotted;}b,strong {font-weight:800;}code,kbd,samp {font-family:monospace, monospace;font-size:1em;}small {font-size:80%;}sub,sup {font-size:75%;line-height:0;position:relative;vertical-align:baseline;}sub {bottom:-0.25em;}sup {top:-0.5em;}img {border-style:none;vertical-align: bottom;}button,input,optgroup,select,textarea {font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input {overflow:visible;}button,select {text-transform:none;}button,[type="button"],[type="reset"],[type="submit"] {-webkit-appearance:button;}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner {border-style:none;padding:0;}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring {outline:1px dotted ButtonText;}fieldset {padding:0.35em 0.75em 0.625em;}legend {box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress {vertical-align:baseline;}textarea {overflow:auto;}[type="checkbox"],[type="radio"] {box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button {height:auto;}[type="search"] {-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration {-webkit-appearance:none;}::-webkit-file-upload-button {-webkit-appearance:button;font:inherit;}details {display:block;}summary {display:list-item;}template {display:none;}[hidden] {display:none;}picture,figure{display:block;}button{background-color: transparent;border: none;cursor: pointer;outline: none;padding: 0;appearance: none;}iframe{vertical-align: bottom;}
* {box-sizing: border-box; outline: none; margin: 0; padding: 0;word-wrap: break-word; overflow-wrap: break-word;}
::selection {background: #BEF;}
body::-webkit-scrollbar,.hamburger-menus::-webkit-scrollbar{display: none;}

/*Initial setting*/
html, body {width:100%; height:100%;}
html { font-size: 62.5%; line-height:1.5;overflow-y: scroll; overflow-x: hidden;}
body , textarea, input {font-family:"M PLUS Rounded 1c", sans-serif; font-weight:700;}
body {
	position: relative;
	font-size: 1.6rem;
	position:relative;
	z-index:0;
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
	-webkit-text-size-adjust: 100%;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing:grayscale;
	color:#544;
}
p {margin-bottom:1em;}
p:last-child {margin-bottom:0;}
a { color: #F09; cursor:pointer; text-decoration:underline rgba(255, 0, 153,.4);text-decoration-thickness: 3px;text-underline-offset: 2px;transition: .2s;}
a:hover { text-decoration-color:rgba(255, 0, 153,.7);}
a.img{text-decoration:none; text-underline-offset: 0; display:block;}
a.img:hover{transform: scale(1.1);}
ul,ol{list-style: none outside;}
img {max-width: 100%; width:100%; height: auto; vertical-align:top;user-select: none;-webkit-user-select: none;-webkit-user-drag: none;image-rendering: crisp-edges;}
svg {display:block; max-width: 100%; width:100%; height: 100%; fill:#FFF;}
svg.external-link{width:1.4rem; height:1.4rem;fill:#222; display:inline; margin-left: 3px; vertical-align:-2px;}
svg.hidden{height:0;}
h2 {width:clamp(320px,36vw,600px);margin:0 auto;}
h3 {font-size:200%;margin-bottom:.5em;font-feature-settings: "palt"; color: rgb(255, 56, 165);
text-shadow: 1px 3px #FFF, 1px -3px #FFF, -1px 3px #FFF, -1px -3px #FFF, 2px 2px #FFF, 2px -2px #FFF, -2px 2px #FFF, -2px -2px #FFF, 3px 1px #FFF, 3px -1px #FFF, -3px 1px #FFF, -3px -1px #FFF;
}
h3:not(:first-child) {margin-top:1.5em;}
.js-glitter {
  position: relative;
  transition: all 0.4s;
  display:inline-block;
}
h4 {font-size:120%;margin-bottom:.5em;font-feature-settings: "palt";color:#b92be0;text-shadow: 1px 3px #FFF, 1px -3px #FFF, -1px 3px #FFF, -1px -3px #FFF, 2px 2px #FFF, 2px -2px #FFF, -2px 2px #FFF, -2px -2px #FFF, 3px 1px #FFF, 3px -1px #FFF, -3px 1px #FFF, -3px -1px #FFF;}


.star {
  position: absolute;
  display: block;
  width: 10px; 
  height: 10px;
  background-image: url("../../img/star.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  animation: glitter 1s;
  pointer-events: none;
}
@keyframes glitter {
  0% { transform: scale(0); opacity: 0;}
  50% { transform: scale(1.2); opacity: 1;}
  100% { transform: scale(0); opacity: 0;}
}
table.normal {background:#FFF; border-collapse:collapse; margin-bottom:1em;}
table.normal th,table.normal td {padding:.65vw 1vw; border:#999 1px solid;}


/*class setting*/
.flex{display:flex;flex-wrap:wrap;}
a.nolink {background:lightgray !important; color:white !important; border-color:lightgray !important;}
.graybutton{
    display: block;
    background: #BBB;
    border: 2px solid #BBB;
    color: #fff;
    font-size: 125%;
    padding: 0.35em 0.5em;
    border-radius: 5px;
    text-align:center;
}
#body,#footer,#page-top {opacity:0;}


/* 桜の花びらのスタイル */
.petal {
position: absolute;
background: #FEF;
border-radius: 100% 15% 100% 15%;
border-right:3px #ffc2f2 solid;
}

.petal::after {
  content: "";
  position: absolute;
  top: -14%;
  left: -10%;
  display: block;
  width: 100%;
  height: 100%;
  background-color: #FDF;
background: linear-gradient(to bottom, #FDF 0%, #FEF 100%);
  border-radius: 100% 0 100% 0;
  transform: rotate(18deg);
border-top:2px #fff2ff solid;
z-index:10;
}

/* ============= 背景アニメ ============= */
.bgcontainer {
position: fixed;
background: #1b114f;
background: radial-gradient(circle,rgba(27, 17, 79, 1) 15%, rgba(28, 7, 82, 1) 50%, rgba(14, 1, 18, 1) 100%);
background-size: 100%;
background-repeat: repeat;
background-position: center;
animation: bg 10s linear infinite;
width:100%;
height:100%;
z-index:0;
inset: 0;
overflow:hidden;
}
@keyframes bg {
  0% {
    background-size: 100%;
  }
  50% {
    background-size: 200%;
  }
  100% {
    background-size: 100%;
  }
}
canvas {
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  margin: 0;
  padding: 0;
  filter: blur(0.3vmax) contrast(2);
}

/*opening*/
#opening{
width: 100%;
height: 100vh;
margin:0 auto;
position: absolute;
inset: 0;
z-index:1;
display:none;
flex-flow: column;
align-items: center;
justify-content: center;
overflow:hidden;
opacity:1;
}
#opening p {
position: absolute;
z-index: 1;
text-align:center;
width:50%;
height:auto;
animation: openinglogo 3.5s ease-out;
animation-delay: 0s;
animation-fill-mode: forwards;
}
#opening p img {
max-width:none;
}
@keyframes openinglogo {
  0% {
  opacity:1;
  }
  80% {
/*  transform: translateX(0%); */
  transform: scale(1);
  opacity:1;
  }
  95% {
/*  transform: translateX(150%); */
  transform: scale(.1);
  opacity:0;
  }
  100% {
  opacity:0;
  display:none;
  }
}
@media only screen and (max-width: 760px) {
#opening{
padding:50vw;
}
}

/* html */
html.scrollmenu-open {
width: 100%;
height: 100%;
overflow: hidden;
}

/*common class*/
.flex {
position: relative;
display: flex;
flex-wrap: wrap;
}
.flex -item {
}
.swiper-wrapper{user-select: none;-webkit-user-select: none;}
.line-through {text-decoration:line-through;}
.nowrap{white-space: nowrap;}
.small {font-size:clamp(1.2rem,85%,1.6rem);}
.big {font-size:clamp(2.4rem,160%,3.2rem);}
.red {color:red;]}
.center {text-align:center;}
.right{text-align:right;}
@media (max-width: 760px){
.alignright{ float: none; margin-left: 0; }
.alignleft{ float: none; margin-right: 0;}
.small {font-size:clamp(1rem,85%,1.4rem);}
}
.precautions li { display: flex; align-items: baseline;}
.precautions li:before { content: "\203B"; margin-right: 2px; }
.precautions-dot li { display: flex; align-items: baseline;}
.precautions-dot li:before { content: "・"; margin-right: 2px; }
.animate{opacity:0;}
.anchor { padding-top: 70px; margin-top: -70px;}
.section{
background:rgba(255,255,255,1);
padding: 5vw 3vw 3vw;
border: 0.4rem solid #fff;
border-radius: 2rem;
box-shadow: 0 0 .2rem #fff,
            0 0 .2rem #fff,
            0 0 2rem #ff298d,
            0 0 0.8rem #ff298d,
            0 0 2.8rem #ff298d,
            inset 0 0 2rem #ff298d;
}

/*body*/
#body {
position: relative;
z-index: 1;
inset: 0;
width:100%;
margin-left: auto;
margin-right: auto;
}
.section-header {
display: block;
position: relative;
z-index: 1;
text-align: center;
margin-bottom: 2em;
}

h1 {width:50%; margin:3rem auto;}

#header {position:fixed; z-index:10;opacity:0; width:100%;overflow: visible;transition: .5s;}
#header:after {
content:"";
display:block;
position:absolute; 
background-image:url(../../img/header-bg.png); background-position:50% 0%; background-size: 15% auto; background-repeat:repeat-x;width:100%; height:120px;inset:0;z-index:0;
-webkit-filter:drop-shadow(0px 2px 4px rgba(0, 0, 0, 0.2));
filter:drop-shadow(0px 2px 4px rgba(0, 0, 0, 0.2));
}
#header-inner {position:relative; z-index:1;max-width:1024px;margin:0 auto; width: 96%;}
#header li {flex-basis:17%; padding:0;}
#header li:nth-of-type(1){ flex-basis:18%; padding:.75em;}
#header li:nth-of-type(1) a:hover {transform: scale(1.1);}
#header li:nth-of-type(1) a:after {display:none;}
#header li:nth-of-type(1) a img {height:auto;}

/* header-set */
#header-set {
position: relative;
}

/* mainvisual */
#mainvisual {
position: relative;
margin: 0 auto;
overflow: hidden;
z-index:1;
padding-top:141.625%;
}
#mainvisual h1{
position: absolute;
top:10%;
left:5.5%;
width:40%;
height:auto;
z-index:1;
margin:0;
}
#mainvisual .mv-img{
position: absolute;
width:100%;
height:auto;
top: 50%;
left: 100%;
transform: translate(-100%, -50%);
}
#mainvisual .mv-img img{
width:100%;
border-radius: 1rem;
object-fit: cover;
object-position:0;
height:auto;
}
#mainvisual .flex{
position: absolute;
top:68%;
left:3%;
width:44%;
height:auto;
z-index:1;
margin:0;
flex-wrap:nowrap !important;
justify-content:space-between;
}
#mainvisual .flex li{
width:48%;
}

#announce {margin:0 auto; width:85%; padding:4vw 0;}


#detail {display:block;position:relative; padding: 6% 4%;}
#detail #catchcopy {position:relative; margin:0 auto 1em;z-index:1;}
#detail p#detail-lead {display:block;position:relative;z-index:1; overflow:visible; font-size:clamp(1.8rem,3.1vw,3.3rem); line-height:1.8; font-weight:900; margin:4vh auto 0; font-feature-settings: "palt";
color:#ff478b;text-align:center;
text-shadow: 1px 3px #FFF, 1px -3px #FFF, -1px 3px #FFF, -1px -3px #FFF, 2px 2px #FFF, 2px -2px #FFF, -2px 2px #FFF, -2px -2px #FFF, 3px 1px #FFF, 3px -1px #FFF, -3px 1px #FFF, -3px -1px #FFF;
}
#detail p#detail-lead span {white-space: nowrap;}
#detail #detail-leadend {position:relative;width:75%; margin:0 auto;z-index:1;}
#detail .section-header p{font-size:250%;}
#detail-lead img { display:block;position:relative; z-index:1;}
#eventdate { width:80vw; margin:0 auto; position:relative; }
#eventdate h2 {position:absolute; top:-3.5vw; left:-.5vw; width:20vw;}
#eventdate ul#event-date {justify-content:space-between;}
#eventdate ul .flex-item {flex-basis:48%; margin-bottom:2vw;}


/* ========== 最新情報 ========== */
#whatsnew_wrapper {position: relative; z-index: 2; padding: 10vw;}
#whatsnew{overflow:visible;margin-left:auto;margin-right:auto; border:none;}
#body #whatsnew.section{ border:none;padding:0;}
#whatsnew .swiper-wrapper {display:flex;}
#whatsnew .swiper-wrapper li {height: auto;}
#whatsnew .swiper-wrapper li a { display:block; background:#FFF; text-decoration:none;height: 100%;}
#whatsnew .swiper-wrapper li a:hover {transform: scale(1.1);}
#whatsnew .swiper-wrapper li a span {display:block;}
#whatsnew .swiper-wrapper li a span.date {background:#F09; color:#FFF; padding:0em .8em;}
#whatsnew .swiper-wrapper li a span.title {padding:.5em .6em .3em; font-size: clamp(1.6rem, 125%, 2rem); line-height:1.3;}
#whatsnew .swiper-wrapper li a span.text {padding:0 1em 1em; font-size: clamp(1.2rem, 85%, 1.6rem); line-height:1.4; color:#544;}
#whatsnew .swiper-slide { background: rgba(255, 255, 255, .8);}
#whatsnew .swiper-slide-duplicate {/*height:calc(90vw / 3 - 20px) !important;*/}
#whatsnew .swiper-button-next:after,#whatsnew .swiper-button-prev:after {content:"" !important; display:none;}
#whatsnew .swiper-button-prev {left: auto; right:10vw !important; top:auto; bottom:0 !important; width:2.5vh !important;}
#whatsnew .swiper-button-next {right:2vw !important; top:auto !important; bottom:0 !important; width:2.5vh !important;}
#whatsnew .swiper-button-prev img,#whatsnew .swiper-button-next img {filter: brightness(0) saturate(100%) invert(35%) sepia(100%) saturate(7480%) hue-rotate(316deg) brightness(100%) contrast(111%);}
#whatsnew .section-body {overflow:hidden;}
#whatsnew .more { position: relative; z-index: 2; font-size: clamp(1.6rem, 125%, 2rem); font-weight:900; line-height:1.3; text-align:center; margin-top:1.5em;}
#whatsnew .more a { display:inline-block; color:#F09; text-shadow: 1px 2px #FFF, 1px -2px #FFF, -1px 2px #FFF, -1px -2px #FFF, 2px 2px #FFF, 2px -2px #FFF, -2px 2px #FFF, -2px -2px #FFF, 2px 1px #FFF, 2px -1px #FFF, -2px 1px #FFF, -2px -1px #FFF; text-decoration:none; background: linear-gradient(90deg, rgba(255, 219, 243, 1) 0%, rgba(230, 161, 255, 1) 50%, rgba(166, 213, 255, 1) 100%); padding:.5em 3em; border-radius:2em; box-shadow: 3px 3px 0 rgba(200, 200, 200, .3);}
#whatsnew .more a:hover{transform: scale(1.1);}



/*イベント内容detail*/
#location {width:80vw;margin:10vw auto 0;}
#location h2 {position:absolute; top:-3.5vw; left:-.5vw; width:20vw;}
#location .flex {justify-content:space-between;}
#location .flex .flex-item {flex-basis: 48%;}
#location .name {font-size:300%; font-weight:900; color:#8b15d4;
text-shadow: 1px 3px #FFF, 1px -3px #FFF, -1px 3px #FFF, -1px -3px #FFF, 2px 2px #FFF, 2px -2px #FFF, -2px 2px #FFF, -2px -2px #FFF, 3px 1px #FFF, 3px -1px #FFF, -3px 1px #FFF, -3px -1px #FFF;}
#location .name span {display:block; font-size:55%;}
#googlemap {position: relative; padding-bottom: 40%;  height: 0; overflow: hidden;}
#googlemap iframe{position: absolute; top: 0; left: 0;width:100%; height: 100%;}
@media only screen and (max-width: 760px) {
#location .flex .flex-item {flex-basis: 100%;}
#googlemap {flex-basis: 100%;padding-bottom: 70%;}
}


/*イベント内容*/
#event-contents.section{position: relative; width:80vw;margin:10vw auto 0;}
#event-contents h2 {position:absolute; top:-3.5vw; left:0vw; width:25vw;}
#event-contents ul.flex {justify-content:space-between;}
#event-contents ul li { border-radius:1em; padding:1.5em;}
#event-contents ul li:nth-of-type(1) {flex-basis:100%;}
#event-contents ul li:nth-of-type(2) {flex-basis:48%;}
#event-contents ul li:nth-of-type(3) {flex-basis:48%;}
#event-contents strong {font-size:110%; font-weight:900; color:#d18;
text-shadow: 1px 3px #FFF, 1px -3px #FFF, -1px 3px #FFF, -1px -3px #FFF, 2px 2px #FFF, 2px -2px #FFF, -2px 2px #FFF, -2px -2px #FFF, 3px 1px #FFF, 3px -1px #FFF, -3px 1px #FFF, -3px -1px #FFF;}



/*キャスト*/
#cast.section {background:#FFF; position: relative; width:80vw;margin:10vw auto 0;}
#cast h2 {position:absolute; top:-3.5vw; left:-.5vw; width:20vw;}
#cast ul {display:flex; justify-content:start; flex-wrap:wrap; column-gap:2%;}
#cast ul li {flex-basis:calc( 92% / 5 );}
#cast ul li.spacer {background:transparent;}
#cast ul li p {margin-bottom:0;text-align:center;}
#cast ul li p:nth-of-type(2) { font-weight:900; padding:1rem .25rem; color:#FFF;font-size:1.5vw;transform: scale(0.9, 1);
    transform-origin: top left;
    width: 110%;letter-spacing: -.05em;}
#cast ul li p:nth-of-type(2) img { width:7.25vw;vertical-align: bottom;}
#cast ul li p span {display:block; font-size:1.1rem;font-weight:700;}
#cast ul li:nth-of-type(1) p:nth-of-type(2){background:#ff328a;}
#cast ul li:nth-of-type(2) p:nth-of-type(2){background:#09b2e0;}
#cast ul li:nth-of-type(3) p:nth-of-type(2){background:#a647d6;}
#cast ul li:nth-of-type(4) p:nth-of-type(2){background:#b8b8b8;}
#cast ul li:nth-of-type(5) p:nth-of-type(2){background:#2b2b2b;}
#cast #singer p {width:55%; margin:0 auto;}
#cast .cast-section:not(:last-child){margin-bottom:4vw;}
#cast ul li {border:2px solid #FFF;}
#cast ul li:nth-of-type(1) {background:#ff328a; border-color:#ff328a;}
#cast ul li:nth-of-type(2) {background:#09b2e0; border-color:#09b2e0;}
#cast ul li:nth-of-type(3) {background:#a647d6; border-color:#a647d6;}
#cast ul li:nth-of-type(4) {background:#b8b8b8; border-color:#b8b8b8;}
#cast ul li:nth-of-type(5) {background:#2b2b2b; border-color:#2b2b2b;}


/*チケット*/
#tickets.section { position: relative; width:80vw;margin:10vw auto 0;}
#tickets h2 {position:absolute; top:-3.5vw; left:-.5vw; width:20vw;}
#tickets h3 {margin-top:3vw; margin-bottom:0;}
#tickets h3:first-of-type {margin-top:0;}
#tickets .sub-section {margin-bottom:3em;}
table.price{border-spacing: 5px; width:100%; margin-bottom:1em;}
.price th,.price td{background:rgba(255,255,255,.8);padding:.5em .5em; border-radius:.25em;}
.price th {font-size:1.75vw;}
.price td {font-size:1.75vw;line-height:1.1; text-align:center;}
.price tr:nth-of-type(1) th {font-size:1.4vw; color:#FFF; background:#34eb92;padding:.25em;}
.price tr:nth-of-type(2) td {background:#ffcfe7;}
.price tr:nth-of-type(3) td {background:#eac4ff;}
.price tr:nth-of-type(4) td {background:#fff2c7;}
.price tr:nth-of-type(5) td {background:#fff2c7;}
.price tr:nth-of-type(6) td {background:#fff2c7;}
.price tr:nth-of-type(2) th {background:#ff4fc1; color:#FFF;}
.price tr:nth-of-type(3) th {background:#b92be0; color:#FFF;}
.price tr:nth-of-type(4) th {background:#ffbb45; color:#FFF;}
.price .small {font-size:1.1vw;}

#tickets table.normal tr:nth-of-type(1) th {background:rgb(255, 79, 193); color:#FFF;}
#tickets table.normal tr:nth-of-type(2) th {background:rgb(185, 43, 224); color:#FFF;}

#linktonotice { width:60%; margin:0 auto;}

#ticket-faq {display:flex; flex-wrap:wrap; justify-content:center; gap:3vw;}
#ticket-faq p {}


#tickets p.tokuten{margin-left:24.5%;font-size:clamp(1.6rem,1.8vw,2rem);}
#tickets #tokuten-items {margin-bottom:1.5em;}
#tickets #tokuten-items h4 {}
#tickets #tokuten-items ul {display:flex;justify-content:space-between;align-items:stretch;}
#tickets #tokuten-items li {flex-basis:calc(93% / 3);background:#FFF;}
#tickets #tokuten-items li span {display:block;}
#tickets #tokuten-items li span.title {text-align:center;color:#FFF;padding:.2em .5em;background:#C784D9;}
#tickets #tokuten-items li:nth-of-type(1) span.title {background:#FF7BAD;}
#tickets #tokuten-items li span.description {font-size:clamp(1rem,90%,1.6rem);background:#FFF;padding:.2em .5em;}
#hightouch-notice {margin:1.5em 0; font-size:clamp(1.8rem,2vw,2.4rem); border:3px #fbc600 solid; border-radius:.5em;padding:.75em 1em;
background:rgba(255,250,0,.2); position:relative;padding-left:clamp(80px,14%,120px);}
#hightouch-notice:before{
content:"";
position:absolute;
background-image:url(../../img/caution.svg); background-position:2% 50%; background-repeat:no-repeat; background-size:clamp(60px,8%,120px);inset:0;z-index:0;
background-repeat:no-repeat;
}
#hightouch-notice a{display:block; text-align:center;position:relative; z-index:1;}
#notice-link {justify-content:space-between;text-align:center;}
#notice-link .flex-item {flex-basis:48.5%;margin:0 0 1em;}
#notice-link .flex-item a{display:block;color:#FFF;background:rgba(112, 219, 255,.8);text-decoration:none;border-radius:.5em;padding:.75em 1em; font-size:clamp(1.8rem,2vw,3rem);font-weight:900;}
.buytickets p {display:block; margin:3vw auto; width:60%;}
#tickets #sales-schedule {font-size:100%;}
#tickets dl#sales-schedule  {
position:relative;
    display: flex;
    flex-wrap: wrap;
    font-size: clamp(1.6rem,1.8vw,2rem);
    width: 100%;
    gap:2px;
    color: #333;
}
#tickets #sales-schedule dt {
border-radius:.2em;
    flex-basis: 35%;
    background: rgba(255, 255, 255, 1);
    padding: 1rem 1.5rem;
  display: grid;
  place-content: center;
}
#tickets #sales-schedule dd {
border-radius:.2em;
    flex-basis: calc(65% - 2px);
    background: rgba(255, 255, 255, 1);
    padding: 1rem 2rem;
}
.soldout {position:relative;}
.soldout:before{
content:"";
position:absolute;
width:100%;
height:100%;
inset:0;
background-color:rgba(255,255,255,.8);
background-image:
radial-gradient(#7bded9 50%, transparent 50%);
background-size: 3px 3px;
}
.soldout:after{
content:"予定枚数終了";
position:absolute;
display: grid;
place-content: center;
inset:0;
width:100%;
height:100%;
font-size:clamp(4rem,5vw,5rem);
color:#7bded9;
font-weight:900;
text-shadow: 1px 3px #FFF, 1px -3px #FFF, -1px 3px #FFF, -1px -3px #FFF, 2px 2px #FFF, 2px -2px #FFF, -2px 2px #FFF, -2px -2px #FFF, 3px 1px #FFF, 3px -1px #FFF, -3px 1px #FFF, -3px -1px #FFF;}



#oyakoyusen p {margin-bottom:.25em;}
#tickets .sub-section table {border-collapse: collapse; margin-bottom:.5em; transform:translateX(1.2em);}
#tickets .sub-section table caption{text-align:left; transform:translateX(-1.2em);}
#tickets .sub-section table td {background:rgba(255, 255, 255,.8); padding:.3em .75em; border:.5px #544 solid;}
#hightouch p {margin-bottom:0;}
#hightouch .catchcopy {font-size:200%; font-weight:900; color:#F28; margin-bottom:.25em;
text-shadow: 1px 3px #FFF, 1px -3px #FFF, -1px 3px #FFF, -1px -3px #FFF, 2px 2px #FFF, 2px -2px #FFF, -2px 2px #FFF, -2px -2px #FFF, 3px 1px #FFF, 3px -1px #FFF, -3px 1px #FFF, -3px -1px #FFF;}
#hightouch h4 {}
#hightouch #shouhin {margin-top:2em;background:rgba(237, 232, 255,.5); margin-bottom:1.5em; justify-content:space-between;align-items:center;position:relative;}
#hightouch #shouhin h4 {position:absolute; top:-.8em; left:0; flex-basis:100%; margin-bottom:0;}
#hightouch #shouhin .price  {font-size:200%; font-weight:900; color:#8b6bff; margin-bottom:0;flex-basis:49%; text-align:center;
text-shadow: 1px 3px #FFF, 1px -3px #FFF, -1px 3px #FFF, -1px -3px #FFF, 2px 2px #FFF, 2px -2px #FFF, -2px 2px #FFF, -2px -2px #FFF, 3px 1px #FFF, 3px -1px #FFF, -3px 1px #FFF, -3px -1px #FFF;}
#hightouch #shouhin .price span {font-size:60%;}
#hightouch #hightouch-character {background:#b5a1ff; padding:1em;text-align:center; color:#fff; font-weight:900;flex-basis:50%;}
#hightouch #shouhin .announce {flex-basis:100%; background:#8b6bff; color:#fff200;font-size:110%; font-weight:900; text-align:center;margin:0 auto; padding:.25em 0;}
#hightouch #shouhin .announce img {display:inline;width:2rem; vertical-align: -3px; margin-right:2px;}
#hightouch-howtoget {margin:1.5em 0;}
#hightouch-oubo {margin:1.5em 0;}
#hightouch-oubo ol {display:flex; flex-wrap:wrap; gap:30px; margin:3em 0 1.5em; justify-content:center;}
#hightouch-oubo li {flex-basis:calc(calc(100% - 60px) / 3); background:#dbf8ff; padding:2em 1.5em 1.5em;position:relative; border-radius:1em;}
#hightouch-oubo li .step{
position:absolute;
text-align:center; font-size:175%; font-weight:900; transform:translate(-50%,-.75em); top:0; left:50%;
color:#2499ff;text-shadow: 1px 3px #FFF, 1px -3px #FFF, -1px 3px #FFF, -1px -3px #FFF, 2px 2px #FFF, 2px -2px #FFF, -2px 2px #FFF, -2px -2px #FFF, 3px 1px #FFF, 3px -1px #FFF, -3px 1px #FFF, -3px -1px #FFF;
}
#hightouch-oubo h5 {
text-align:center; font-size:150%; font-weight:900; line-height:1.3; margin-bottom:.5em;
color:#4772ff;text-shadow: 1px 3px #FFF, 1px -3px #FFF, -1px 3px #FFF, -1px -3px #FFF, 2px 2px #FFF, 2px -2px #FFF, -2px 2px #FFF, -2px -2px #FFF, 3px 1px #FFF, 3px -1px #FFF, -3px 1px #FFF, -3px -1px #FFF;
}
#hightouch-oubo li.notice{
flex-basis:20%;
position:relative;
transform:translate(-20%,-5%) scale(1.1) rotate(5deg);
}
#hightouch-oubo li:after{
content:"▶︎";
color:#2499ff;
position:absolute;
text-align:center; font-size:175%; font-weight:900; transform:translate(100%,-50%); top:50%; right:0;
}
#hightouch-oubo li:nth-of-type(5):after,#hightouch-oubo li:nth-of-type(6):after{display:none; content:"";}
#hightouch-oubo li:nth-of-type(6){background:transparent;padding:0;}
#hightouch-oubo li span {white-space: nowrap;}
#hightouch-oubo .announce img {display:inline;width:2rem; vertical-align: -3px; margin-right:2px;}
#hightouch-oubo .announce {
    flex-basis: 100%;
    background: #4772ff;
    color: #fff200;
    font-size: 110%;
    font-weight: 900;
    text-align: center;
    margin: 0 auto;
    padding: .25em 0;
}




/* ============= グッズ（goods） ============= */
#goods h5{
    margin-top: 1.5em;
    font-size: clamp(1.4rem,3vw,1.8rem);
}
#goods .swiper{
margin-bottom:3em;
}
#goods .swiper li{
    flex-basis:60%;
    margin:0 auto;
    background:rgba(226, 186, 255,.6);
    font-weight: normal;
    font-size: clamp(1.2rem,2.4vw,1.6rem);
}
#goods p.image {margin-bottom:0;}
#goods div.grid {
display: block;
grid-template-columns: 40% 60%;
grid-template-rows: 40% 60%;
}
#goods .section-body span{display:block;background:#ffbdec;}
#goods span.title { grid-area: 1 / 1 / 3 / 2; display: grid; place-content: center;text-align:center; font-size:clamp(1.4rem,2vw,2.4rem); line-height:1.3; font-weight:900; color:#ff29a2;background:#ff4fb1; padding:.5em 0; text-shadow: 1px 3px #FFF, 1px -3px #FFF, -1px 3px #FFF, -1px -3px #FFF, 2px 2px #FFF, 2px -2px #FFF, -2px 2px #FFF, -2px -2px #FFF, 3px 1px #FFF, 3px -1px #FFF, -3px 1px #FFF, -3px -1px #FFF;}
#goods span.price { grid-area: 1 / 2 / 2 / 3; font-size:150%;padding:5px 15px 0;}
#goods span.description { grid-area: 2 / 2 / 3 / 3; padding:0 15px 15px;}
#goods span.price:after {
position:relative;
content: "円(税込)";
font-size:1.3rem;
white-space: nowrap;
}
#goods .andmore{ font-size:clamp(3vw,400%,6vw); font-weight:900; text-align:center;
color:#b363ff;text-shadow: 1px 3px #FFF, 1px -3px #FFF, -1px 3px #FFF, -1px -3px #FFF, 2px 2px #FFF, 2px -2px #FFF, -2px 2px #FFF, -2px -2px #FFF, 3px 1px #FFF, 3px -1px #FFF, -3px 1px #FFF, -3px -1px #FFF;
}
#goods table.sub-section {border-collapse: collapse; margin-bottom:.5em; transform:translateX(0em);}
#goods table.sub-section caption{text-align:left; transform:translateX(-1.2em);}
#goods table.sub-section td {background:rgba(255, 255, 255,.8); padding:.3em .75em; border:.5px #544 solid;}


/* notice */
#notice.section { position: relative; width:80vw;margin:10vw auto 0;}
#notice h2 {position:absolute; top:-3.5vw; left:-.5vw; width:20vw;}
#notice h3 {margin-top:3vw;}
#notice table.normal tr:nth-of-type(1) th {background:#ffa836;}
#notice table.normal tr:nth-of-type(2) th {background:rgb(255, 79, 193); color:#FFF;}
#notice table.normal tr:nth-of-type(3) th {background:rgb(185, 43, 224); color:#FFF;}


/* footer */
#footer {
position:relative;
overflow:visible;
z-index: 1;
}
#footer-menu-wrapper{
display: grid;
grid-template-columns: repeat(2, 1fr);
width: 80%;
padding:30px 0 50px;
max-width: 1280px;
margin: 0 auto;
}


/* footer-sns */
ul#footer-sns{
display: flex;
justify-content: center;
align-content: center;
flex-wrap: wrap;
padding: 10px 0;
}
#footer-sns li {
flex-basis:30px;
margin:0 2%;
}
#footer-sns li a {
display:block
}
#footer-sns svg {
width: 100%;
height: 30px;
fill: #FFF;
}
#footer-sns a:hover svg {
fill: #F47;
filter: drop-shadow( 0px 0px 1px #FFF ) drop-shadow( 0px 0px 2px #FFF ) drop-shadow( 0px 0px 3px #FFF ) drop-shadow( 0px 0px 5px rgba(255,255,255,.5) ) drop-shadow( 0px 0px 8px rgba(255,255,255,.5) );
transition: .3s;
}


/* copyright */
#copyright {
font-weight:normal;
text-align: center;
font-size: clamp(1rem,2.1vw,1.3rem);
color:#FFF;
}

/*scroll-indicatior*/
.scroll-indicator {
  display: block;
  width: 21px;
  height:60px;
  position: absolute;
  bottom:1vh;
  left:95%;
  z-index: 1;
}
.scroll-indicator:after {
content:"SCROLL";
font-family:"Arial", sans-serif;
position: absolute;
color: rgba(255, 51, 153,1);
z-index:0;
transform: translate(-34%,-60%) scale(.6);
}
.indicator {
  position: absolute;
  width: 21px;
  height: 5px;
  opacity: 0;
  transform: scale(0.3);
  -webkit-animation: move-indicator 3s ease-out infinite;
  animation: move-indicator 3s ease-out infinite;
}
.indicator:first-child {
  -webkit-animation: move-indicator 3s ease-out 1s infinite;
  animation: move-indicator 3s ease-out 1s infinite;
}
.indicator:nth-child(2) {
  -webkit-animation: move-indicator 3s ease-out 2s infinite;
  animation: move-indicator 3s ease-out 2s infinite;
}
.indicator:before,
.indicator:after {
  content: "";
  position: absolute;
  top: 0;
  height: 100%;
  width: 50%;
  background: rgba(255, 51, 153,.9);
}
.indicator:before {
  left: 0;
  transform: skewY(30deg);
}
.indicator:after {
  right: 0;
  width: 50%;
  transform: skewY(-30deg);
}
@-webkit-keyframes move-indicator {
  25% {
    opacity: 1;
  }
  33.3% {
    opacity: 1;
    transform: translateY(2.28rem);
  }
  66.6% {
    opacity: 1;
    transform: translateY(3.12rem);
  }
  100% {
    opacity: 0;
    transform: translateY(4.8rem);
  }
}

@keyframes move-indicator {
  25% {
    opacity: 1;
  }
  33.3% {
    opacity: 1;
    transform: translateY(2.28rem);
  }
  66.6% {
    opacity: 1;
    transform: translateY(3.12rem);
  }
  100% {
    opacity: 0;
    transform: translateY(4.8rem);
  }
}



/*page-top*/
#page-top {
display:none;
position: fixed;
z-index:1;
right: 15px;
bottom: 15px;
background: #f39;
padding: 10px;
border-radius: 50%;
box-shadow: 0 0 5px rgba(100,50,75,.5);
width:50px;
height:50px;
}
#page-top:hover {
background: rgba( 255, 200, 240,.9);
}
#page-top span {
position: relative;
display:block;
opacity: 0;
animation-iteration-count: infinite;
animation-duration: 2.0s;
animation-name: scroll;
}
#page-top span::before,#page-top span::after{
position: absolute;
display:block;
content: "";
border-bottom:3px solid #FFF;
left:0;
top:50%;
width:50%;
transform: rotate(-45deg) translateX(25%);
}
#page-top:hover span::before,#page-top:hover span::after {
border-color: #F39;
}
#page-top span::after {
left:auto;
right:0;
transform: rotate(45deg) translateX(-25%);
}
#page-top span:nth-of-type(1) { animation-delay:.5s; top: 10px; }
#page-top span:nth-of-type(2) { animation-delay: .2s; top: 20px; }
@keyframes scroll { 0% {opacity: 0;} 50% {opacity: 1;} 100% {opacity: 0;} }

/*modal-window*/
.modal-open{ cursor: pointer; text-decoration:underline;}
.modal-container{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	text-align: center;
	background: rgba(0,0,0,50%);
	padding: 40px 20px;
	overflow: auto;
	opacity: 0;
	visibility: hidden;
	transition: .3s;
    box-sizing: border-box;
    z-index:101;
}
.modal-container:before{
	content: "";
	display: inline-block;
	vertical-align: middle;
	height: 100%;
}
.modal-container.active{
	opacity: 1;
	visibility: visible;
}
.modal-body{
	position: relative;
	display: inline-block;
	vertical-align: middle;
	max-width: 500px;
	width: 90%;
}
.modal-close{
	position: absolute;
	display: flex;
    align-items: center;
    justify-content: center;
	top: -40px;
	right: -40px;
	width: 40px;
	height: 40px;
	font-size: 40px;
	color: #fff;
	cursor: pointer;
}
.modal-content{
	background: #fff;
	text-align: left;
	padding: 30px;
	height: 525px;
}
.modal-content iframe{ width: 100%; border: none; height: 100%;}