@charset "UTF-8";
/* CSS Document */


/* ////////////////////////////////////////////////////////////////////////////////

	Common

//////////////////////////////////////////////////////////////////////////////// */
@font-face {
	font-family: 'sns_ico';
	src:
		url('../fonts/sns_ico.ttf?sij4de') format('truetype'),
		url('../fonts/sns_ico.woff?sij4de') format('woff'),
		url('../fonts/sns_ico.svg?sij4de#sns_ico') format('svg');
	font-weight: normal;
	font-style: normal;
}

i.snsIcon {
	font-family: 'sns_ico' !important;
	speak: never;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;

	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;

	color: #000;
}

.icon-ap:before { content: "\e900";}
.icon-blo:before { content: "\e901";}
.icon-fb:before { content: "\e902";}
.icon-hp:before { content: "\e903";}
.icon-in:before { content: "\e904";}
.icon-line:before { content: "\e905";}
.icon-spo:before { content: "\e906";}
.icon-tt:before { content: "\e907";}
.icon-tw:before { content: "\e908";}
.icon-yt:before { content: "\e909";}
.icon-x:before { content: "\e90a";}
.icon-wb:before { content: "\e90b";}


html {
	scroll-behavior: smooth;
}
body {
	background: #000;
	color: #fff;
	font-family: noto-sans-cjk-jp, sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: min(3.2vw, 14px);
	line-height: 1.8;
	letter-spacing: 0.08em;
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
  position: relative;
	z-index: -2;
}
body::before {
	display: block;
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url(../images/bg.png);
	background-size: min(140vw, 1200px);
	background-repeat: repeat;
	z-index: -1;
}

a {
	overflow-wrap: anywhere;
}
img {
	display: block;
	max-width: 100%;
	height: auto;
	margin: auto;
}
ul { list-style: none;}

.anim {
	opacity: 0;
	transition: all .6s ease-out;
}
.anim.on {
	opacity: 1;
}

section {
	padding: min(12vw, 100px) min(6vw, 60px);
}
main section:last-child {
	padding-bottom: min(20vw, 200px);
}
.contentWrap {
	max-width: min(100%, 980px);
	margin: 0 auto;
}
h2 {
	font-family: din-2014, sans-serif;
	font-weight: 800;
	font-style: normal;
	font-size: min(7.8vw, 46px);
	max-width: 1220px;
	margin: 0 auto min(4vw, 40px);
	letter-spacing: 0.14em;
}

.txtRed {
	color: #cc0000 !important;
	font-weight: bold;
}

.listAsterisk {
	list-style: none;
	padding-left: 1.2em;
	font-size: min(3vw, 14px);
}
.listAsterisk > li {
	text-indent: -1.2em;
	font-weight: normal;
	line-height: 1.4;
}
.listAsterisk > li + li {
	margin-top: 0.3em;
}
.listAsterisk > li:before {
	margin-right: 0.2em;
}
.listAsterisk > li:before {
	content: "※";
}

@media screen and (orientation: landscape) {

	.sp { display: none;}

	a { transition: all 0.3s ease-out;}
	a:hover { opacity: 0.5;}

}
@media screen and (orientation: portrait) {

	.pc { display: none;}

}


/* ////////////////////////////////////////////////////////////////////////////////

	Navi

//////////////////////////////////////////////////////////////////////////////// */


#menuButton {
	display: block;
	width: min(12vw, 60px);
	height: min(12vw, 60px);
	position: fixed;
	top: min(3vw, 20px);
	right: min(3vw, 30px);
	z-index: 9999;
	mix-blend-mode: difference;
	opacity: 0;
}
html:not(.wf-loading) #menuButton {
	animation: opFade 0.6s ease-out 2.5s forwards;
}
#menuButton::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	/* background-color: rgba(0,0,0,0.60); */
}
#menuButton span {
	display: block;
	background: #fff;
	width: 70%;
	height: 2px;
	position: absolute;
	top: 50%;
	left: 15%;
	transition: all 0.4s;
}
#menuButton span:nth-child(1) { transform: translateY(-350%) rotate(0deg);}
#menuButton span:nth-child(2) { transform: translateY(250%) rotate(0deg);}
#menuButton.active span:nth-child(1) { transform: translateY(-50%) rotate(45deg);}
#menuButton.active span:nth-child(2) { transform: translateY(-50%) rotate(-45deg);}


#globalNavi {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	height: 100svh;
	background-color: #000;
	z-index: 9998;
	display: none;
}
#globalNavi > div {
	height: 100%;
	width: 100%;
	/* padding: min(10vh, 80px) min(10vw, 100px); */
	padding: min(10vh, 80px) 10vw;
	background: url(../images/bg.png);
	background-size: min(140vw, 1200px);
	background-repeat: repeat;
}
/* #globalNavi .naviTtl {
	width: 68%;
	transform: translateX(-6%);
	line-height: 0;
	margin-bottom: min(6vw, 30px);
} */
#globalNavi .naviTtl a {
	text-decoration: none;
	color: #fff;
}
#globalNavi .title {
	font-size: min(7vw, 10.6svh);
	margin-bottom: min(6vw, 4svh);
}

#globalNavi ul {
	font-family: din-2014, sans-serif;
	font-weight: 800;
	font-style: normal;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
#globalNavi ul li a {
	color: #fff;
	text-decoration: none;
	font-size: min(4.2vw, 6.4svh);
	font-weight: 600;
	line-height: 1.4;
}
#globalNavi ul li a span {
	font-size: 0.4em;
}

.nav--language {
	position: fixed;
	top: min(4.4vw, 33px);
	right: min(19vw, 120px);
	margin: 0;
	z-index: 200;
	mix-blend-mode: difference;
	opacity: 0;
}
html:not(.wf-loading) .nav--language {
	animation: opFade 0.6s ease-out 2.5s forwards;
}
.wovn-languages {
	color: #fff;
	font-size: 10px;
	z-index: 5;
	width: 105px;
	height: 35px;
	cursor: pointer;
	/* background: rgba(230, 230, 230, 0.3); */
	border: #fff solid 1px;
	border-radius: 40px;
	-webkit-transition: all 0.6s cubic-bezier(0.035, 0.675, 0.225, 1.025) 0.3s;
	transition: all 0.6s cubic-bezier(0.035, 0.675, 0.225, 1.025) 0.3s;
	position: relative;
}
.wovn-languages .langIcon {
	position: absolute;
	display: block;
	width: 14px;
	height: 14px;
	left: 10px;
	top: 50%;
	line-height: 1;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.wovn-languages .langIcon svg {
	fill: #ffffff;
}
.wovn-languages .nav-dropdown {
	position: absolute;
	top: 50%;
	right: 10px;
	line-height: 1.4;
	text-align: right;
	font-size: 10px;
	font-family: noto-sans-cjk-jp, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic Pro", "游ゴシック体", YuGothic, "Yu Gothic Medium", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "Arial", sans-serif;
	z-index: 2;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.wovn-languages.visible .nav-dropdown {
	opacity: 1;
	pointer-events: visible;
	z-index: 1;
	border: none;
	color: #ffffff;
	top: 35px;
	left: 10px;
	-webkit-transform: translateY(0);
	transform: translateY(0);
	padding: 10px 10px 0;
	background: #333;
	text-align: right;
}
.wovn-languages .nav-dropdown .list--language li {
	width: 100%;
	display: none;
	cursor: pointer;
	padding-bottom: 0;
	text-align: right;
	padding: 0;
}
.wovn-languages .nav-dropdown .list--language li.selected {
	display: block;
	-webkit-box-ordinal-group: 0;
	-ms-flex-order: -1;
	order: -1;
}

.wovn-languages.visible .nav-dropdown .list--language li {
	display: block;
	-webkit-transition: opacity 0.4s;
	transition: opacity 0.4s;
	margin-bottom: 10px;
}

@media screen and (max-width: 820px) {

	#globalNavi {
		flex-direction: column;
	}
	#globalNavi > div {
		height: 100%;
		width: 100%;
		padding: min(12vw, 80px) min(6vw, 60px);
		display: flex;
		flex-direction: column;
		justify-content: center;
	}
	#globalNavi .title {
		font-size: min(15.2vw, 90px);
		margin-bottom: min(8vw, 40px);
	}
	#globalNavi ul li a {
		font-size: min(10.2vw, 60px);
	}

}


/* ////////////////////////////////////////////////////////////////////////////////

	Footer

//////////////////////////////////////////////////////////////////////////////// */
footer {
	background-color: #fff;
	color: #000;
	padding: min(8vw, 72px) 0 min(7vw, 40px);
	border-top: #000 solid 1px;
}
footer .footerTextWrap {
	padding: 0 min(6vw, 60px);
}
footer .footerTextWrap .admission {
	max-width: 680px;
	margin: auto;
}
footer .credit {
	text-align: center;
	font-size: min(2.8vw, 12px);
	line-height: 2;
	margin-bottom: min(6vw, 60px);
	margin-top: min(4vw, 40px);
}
/* footer .credit .support {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: min(2vw, 20px);
	margin-bottom: min(6vw, 30px);
}
footer .credit .support .jr {
	width: min(11vw, 65px);
}
footer .credit .support .pp {
	width: min(30vw, 190px);
}
footer .credit .support .lp {
	width: min(28vw, 180px);
}
footer .credit .support .ldw {
	width: min(38vw, 250px);
} */
footer .ftrLinkWrap {
	display: flex;
	margin: 0 0 min(7vw, 40px) 0;
	border-top: #000 solid 1px;
	border-bottom: #000 solid 1px;
}
footer .ftrLink {
	border-right: #000 solid 1px;
	width: 20%;
}
footer .ftrLink a {
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
footer .ftrLink:nth-child(1) img {
	width: 50%;
}
footer .ftrLink:nth-child(2) img {
	width: 60%;
}
footer .ftrLink:nth-child(3) img {
	width: 68%;
}
footer .ftrLinkWrap .ftrSns {
	display: flex;
	justify-content: center;
	gap: min(4vw, 20px);
	width: 40%;
	padding: min(8vw, 60px) 0;
}
footer .ftrLinkWrap .ftrSns a {
	color: #000;
	text-decoration: none;
	font-size: min(5.8vw, 24px);
}

footer .ftrBottom {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0 min(6vw, 60px);
}
footer .ftrBottom .copyright {
	font-size: min(2.6vw, 10px);
}

footer .ftrBottom .pagetop a {
	display: block;
	width: min(8vw, 56px);
	height: min(8vw, 56px);
	position: relative;
	background-color: #000;
	border-radius: 100%;
}
footer .ftrBottom .pagetop a::before {
	content: "";
	width: 20%;
	height: 20%;
	position: absolute;
	top: 54%;
	left: 50%;
	border-top: #fff solid 1.5px;
	border-left: #fff solid 1.5px;
	transform: translate(-50%, -50%) rotate(45deg);
}

@media screen and (max-width: 820px) {
	footer .ftrLinkWrap {
		flex-wrap: wrap;
		border-top: #000 solid 1px;
		border-bottom: #000 solid 1px;
	}
	footer .ftrLink {
		border-right: none;
		border-bottom: #000 solid 1px;
		width: 100%;
	}
	footer .ftrLink:nth-child(2),
	footer .ftrLink:nth-child(3) {
		width: 50%;
	}
	footer .ftrLink:nth-child(2) {
		border-right: #000 solid 1px;
	}
	footer .ftrLink a {
		padding: min(4vw, 20px);
	}
	footer .ftrLink:nth-child(2) a,
	footer .ftrLink:nth-child(3) a {
		padding: min(6vw, 30px) min(4vw, 20px);
	}
	footer .ftrLink:nth-child(1) img { width: 30%;}
	footer .ftrLink:nth-child(2) img { width: 65%;}
	footer .ftrLink:nth-child(3) img { width: 73.9%;}

	footer .ftrLinkWrap .ftrSns {
		width: 100%;
	}

  footer .credit .support {
    flex-wrap: wrap;
  }
  footer .credit .support span {
    width: 100%;
  }
}



/* ////////////////////////////////////////////////////////////////////////////////

	Common Parts

//////////////////////////////////////////////////////////////////////////////// */
.mainVisual {
	position: relative;
	width: 100vw;
	height: 100svh;
	background-repeat: no-repeat;
	background-size: cover;
  background-position: center bottom;
}
.mvTitleWrap {
	position: absolute;
	top: 50%;
	left: 6vw;
	transform: translateY(-50%);
	font-family: din-2014, sans-serif;
	font-weight: 800;
	font-style: normal;
	line-height: 0.95;
	font-size: min(10.6vw, 24svh);
}
.mvTitleWrap .title {
	font-size: 1em;
	opacity: 0;
}
.mvTitleWrap .title span {
	display: block;
	font-size: 0.48em;
	margin-top: 3vw;
	opacity: 0;
}
.mvTitleWrap .date {
	font-size: 0.328em;
	font-weight: 700;
	margin-top: 3vw;
	opacity: 0;
}
.mvTitleWrap .date span {
	font-size: 0.68em;
}
html:not(.wf-loading) .mvTitleWrap .title {
	animation: opFade 2s ease-out 0s forwards;
}
html:not(.wf-loading) .mvTitleWrap .title span {
	animation: opFade 2s ease-out 1s forwards;
}
html:not(.wf-loading) .mvTitleWrap .date {
	animation: opFade 2s ease-out 1.7s forwards;
}

@keyframes opFade {
	0% { opacity: 0;}
	100% { opacity: 1;}
}
/* 横長 */
@media screen and (orientation: landscape) {
	.portrait {display: none !important;}
}
/* 縦長 */
@media screen and (orientation: portrait) {
	.mvTitleWrap {
		font-size: 18.4vw;
		left: 10vw;
	}
	.mvTitleWrap .title span {
		font-size: 0.394em;
		line-height: 1.2;
	}
	.mvTitleWrap .date {
		margin-top: 10vw;
	}
}


/* ////////////////////////////////////////////////////////////////////////////////

	Common Parts

//////////////////////////////////////////////////////////////////////////////// */
.videoWrap {
	/* padding: min(12vw, 100px) 0; */
	padding-bottom: min(12vw, 100px);
}
.videoWrap .contentWrap {
	max-width: none;
	padding: 0;
}
.video {
	/* max-width: 1100px; */
	margin: auto;
}
.video > div {
  position: relative;
  width:100%;
  height:0;
  padding-top: 56.25%;
}
.video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
/* .newsList {
	display: flex;
	flex-direction: column;
	gap: min(4vw, 20px) 0;
} */
.newsList li {
	border-bottom: #fff solid 1px;
}
.newsList li a {
	display: flex;
	padding: min(4vw, 25px) 0;
	color: #fff;
	text-decoration: none;
}
.newsList li .date {
	width: 120px;
}
.newsList li .ttl {
	width: calc(100% - 120px);
}
.newsArchivesBtn {
	text-align: center;
	margin: 32px 0 24px;
}
.newsArchivesBtn a {
	/* position: relative; */
	display: block;
	border-radius: 60px;
	background-color: #fff;
	text-align: center;
	color: #000;
	font-weight: bold;
	text-decoration: none;
	padding: min(2vw, 8px) min(7vw, 50px);
	width: fit-content;
	margin-left: auto;
}
/* .newsArchivesBtn a span {
	position: absolute;
	top: 50%;
	right: -2em;
	display: inline-block;
	width: 0.6em;
	height: 0.6em;
	border-right: #000 solid 2px;
	border-bottom: #000 solid 2px;
	transform: translateY(-75%) rotate(45deg);
} */
.newsArchivesBtn.more a::before {
	content: "VIEW MORE";
}
.newsArchivesBtn.close a::before {
	content: "CLOSE";
}
.newsArchivesBtn.close a span {
	transform: translateY(-30%) rotate(-135deg);
}

.modal {
	background-color: #fff;
	color: #000;
	border-radius: 8px;
	padding: min(6vw, 40px);
	height: 100%;
	width: 100%;
	box-sizing: border-box;
	overflow: auto;
}
.modal > div {
	overflow: auto;
	height: 100%;
	width: 100%;
}
.modal .newsHead {
	padding-bottom: min(3vw, 15px);
	border-bottom: #000 solid 1px;
	margin-bottom: min(6vw, 30px);
}
.modal .newsHead .date {
	font-size: min(2.8vw, 12px);
	margin-bottom: min(2vw, 10px);
}
.modal .newsHead .ttl {
	font-size: min(3.6vw, 18px);
}
.modal .newsBody p {
	margin-bottom: min(4vw, 20px);
}
.modal .newsBody p a {
	color: #f9152a;
}
.modal .newsBody a {
	color: #000;
	text-decoration: underline;
}

/* .modal .sheetWrap {
	display: flex;
	justify-content: space-between;
}
.modal .sheetWrap li {
	width: 48%;
} */

.scheduleWrap + h2 {
	margin-top: min(10vw, 80px);
}

.scheduleWrap {
	color: #fff;
}
.scheduleList li {
	display: flex;
	align-items: center;
	padding: min(4vw, 20px) 0;
	border-bottom: #fff solid 1px;
}
.scheduleList li p:nth-child(1) { width: 23%;}
.scheduleList li p:nth-child(2) { width: 10%;}
.scheduleList li p:nth-child(3) { width: 57%;}
.scheduleList li p:nth-child(4) { width: 20%;}

.scheduleList .scheduleHead {
	display: flex;
	padding-top: 0;
	padding-bottom: min(3vw, 15px);
	font-size: min(3vw, 12px);
}
.scheduleList li .date {
	font-family: din-2014, sans-serif;
	font-weight: 800;
	font-style: normal;
	font-size: min(5.6vw, 36px);
	font-weight: 800;
	display: flex;
	align-items: center;
	line-height: 1;
}
.scheduleList li .date .year {
	font-size: 0.36em;
	transform: translateY(0.2em) rotate(90deg);
}
.scheduleList li .date .week {
	font-size: 0.4em;
	margin-left: 1em;
	font-weight: 500;
}
.scheduleList li .venue {
	font-size: min(3.6vw, 18px);
	display: flex;
	line-height: 1.6;
}



.scheduleFlex {
  display: flex;
	flex-wrap: wrap;
}
.scheduleFlex .scheduleHead,
.scheduleFlex .scheduleBlock {
	font-family: din-2014, sans-serif;
	font-style: normal;
  text-align: center;
	border: #ccc solid 1px;
}
.scheduleFlex .scheduleHead {
  width: 100%;
	font-size: min(5.5vw, 32px);
	font-weight: 800;
  padding: min(3vw, 16px) 0;
	border-bottom: none;
}
.scheduleFlex .scheduleHead p + p {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	font-size: min(3.8vw, 18px);
	font-weight: 400;
}
.scheduleFlex .scheduleHead p + p span {
	font-size: 0.88em;
	padding: 0 0.8em;
}
.scheduleFlex .scheduleBlock {
  width: 50%;
  padding: min(6vw, 80px) 0;
}
.scheduleFlex .scheduleBlock:nth-child(3) {
  border-left: none;
}
.scheduleFlex .scheduleBlock .date {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0.1em;
	font-size: min(8.6vw, 50px);
	font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.05em;
}
.scheduleFlex .scheduleBlock .date span {
  font-size: 0.52em;
	margin-top: 0.15em;
}
.scheduleFlex .scheduleBlock .time {
  font-size: min(4.2vw, 20px);
	font-weight: 400;
  line-height: 1.4;
}



.accordion {
	color: #fff;
	background-color: #000;
	margin-top: min(6vw, 64px);
}
.accordion + .accordion {
	margin-top: min(4vw, 20px);
}
.accordion dt {
	font-size: min(3.6vw, 18px);
	font-weight: bold;
	padding: min(4vw, 20px) min(12vw, 70px) min(4vw, 20px) min(5vw, 30px);
	position: relative;
	cursor: pointer;
}
.accordion dt span {
	position: absolute;
	top: 50%;
	right: min(5vw, 30px);
	width: min(4vw, 20px);
	height: min(4vw, 20px);
	transform: translateY(-50%);
}
.accordion dt span::before,
.accordion dt span::after {
	content: "";
	display: block;
	background-color: #fff;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.accordion dt span::before {
	width: 100%;
	height: 2px;
}
.accordion dt span::after {
	height: 100%;
	width: 2px;
	transition: all 0.3s ease-out;
}
.accordion dt.on span::after {
	transform: translate(-50%, -50%) rotate(90deg);
}
.accordion dd {
	display: none;
	padding: min(4vw, 20px) min(6vw, 30px);
	background: #fff;
	color: #000;
	border: #000 solid 1px;
}
.accordion dd p + p {
	margin-top: min(4vw, 20px);
}
.accordion dd a {
	color: #000;
	text-decoration: underline;
}

.accordion.accordionBlack {
	border-radius: 8px;
	overflow: hidden;
	border: #fff solid 1px;
}
.accordion.accordionBlack dt {
	background-color: #fff;
	color: #000;
}
.accordion.accordionBlack dt span::before,
.accordion.accordionBlack dt span::after {
	background-color: #000;
}


.ticketContainer {
	background: #fff;
	color: #000;
	padding: min(4vw, 32px);
}
.ticketContainer + .ticketContainer {
	margin-top: min(4vw, 32px);
}
.ticketContainer h3 {
	font-size: min(4.2vw, 20px);
	font-weight: bold;
	margin-bottom: min(3vw, 30px);
}
/* .ticketType {
	color: #fff;
	margin-bottom: min(6vw, 40px);
} */
.ticketType li {
	display: flex;
	justify-content: space-between;
	align-items: center;
	border-bottom: #000 solid 1px;
	padding: min(4vw, 20px) 0;
  position: relative;
}
.ticketType li:first-child {
	padding-top: 0;
}
.ticketType li .type {
	font-size: min(3.4vw, 18px);
	font-weight: bold;
}
.ticketType li .price {
	font-size: min(3.2vw, 16px);
	font-weight: bold;
}
.ticketType li.note {
	padding: 0;
	border-bottom: none;
}

.ticketType li .soldOut {
  display: block;
  padding: min(0.7vw, 2px) min(3vw, 15px) min(1.2vw, 4px);
  font-size: 0.8em;
  text-align: center;
  width: min(41vw, 200px);
  background-color: rgba(216, 96, 163, 0.8);
  transform: translate(0%, -50%) rotate(-3deg);
  position: absolute;
  top: 50%;
  left: 230px;
}
.ticketType li .soldOut2 {
  display: block;
  padding: min(0.7vw, 2px) min(3vw, 15px) min(1.2vw, 4px);
  font-size: 0.8em;
  text-align: center;
  width: min(41vw, 200px);
  background-color: rgba(139, 180, 134, 0.8);
  transform: translate(0%, -50%) rotate(-3deg);
  position: absolute;
  top: 50%;
  left: 230px;
}
.ticketType li.additional span {
	display: inline-block;
  padding: min(0.7vw, 2px) min(3vw, 15px) min(1.2vw, 4px);
  font-size: 0.8em;
  text-align: center;
  /* width: min(41vw, 200px); */
	min-width: fit-content;
  background-color: rgba(136, 206, 199, 0.7);
}
@media screen and (min-width: 821px) {

	.ticketType li.additional span {
		margin-left: 0;
    transform: translate(0%, -50%) rotate(-3deg);
    position: absolute;
    top: 50%;
    left: 230px;
	}
	.ticketType li.additional span.sp {
		display: none !important;
	}
}
@media screen and (max-width: 820px) {

	.ticketType li.additional {
		padding-top: min(12vw, 56px);
	}
	.ticketType li.additional span {
		display: block;
		position: absolute;
		top: min(4vw, 20px);
		left: 0;
	}
	.ticketType li.additional span.pc {
		display: none !important;
	}
}


.note {
	margin-top: min(2vw, 10px);
	font-size: min(3vw, 12px);
}
.note a {
	color: #000;
	text-decoration: underline;
}


.advanceTicket {
	border: #000 solid 1px;
	padding: min(6vw, 30px);
}
section h2 + .advanceTicket {
	margin-top: 0;
}
section .advanceTicket:last-child {
	margin-bottom: 0;
}


.ticketDetail {
	margin-bottom: min(3vw, 15px);
}
.ticketDetail.standalone {
	border-top: #000 solid 1px;
	margin: min(8vw, 60px) 0;
}
.ticketDetail li {
	display: flex;
	padding: min(4vw, 20px) 0;
	border-bottom: #000 solid 1px;
}
.ticketDetail li:first-child {
	padding-top: 0;
}
.ticketDetail li .ttl {
	width: 200px;
	font-size: min(3.6vw, 16px);
	font-weight: bold;
}
.ticketDetail li .desc {
	width: calc(100% - 200px);
}
.ticketDetail li .desc p + p {
	margin-top: 0.5em;
}
.ticketDetail li .ticketDetail:last-child {
	margin-bottom: 0;
}
.ticketDetail li .ticketDetail li:first-child {
	padding-top: 0;
}
.ticketDetail li .ticketDetail li:last-child {
	padding-bottom: 0;
	border-bottom: none;
}

.ticketDetail li .desc a {
	color: #fff;
	text-decoration: underline;
}


#trade {
	margin-top: min(8vw, 60px);
	padding-top: min(8vw, 60px);
	border-top: #ccc solid 1px;
}
#trade h4 {
	font-size: min(4vw, 20px);
}
.ticketInfo li {
	padding: min(6vw, 30px) 0;
	border-bottom: #ccc solid 1px;
}
.ticketInfo li .info_tit {
	font-weight: bold;
	color: #000;
	display: block;
	font-size: min(3.6vw, 18px);
	margin-bottom: min(4vw, 20px);
}
.ticketInfo li a {
	color: #000;
}


.applyBtn {
	margin: min(8vw, 60px) auto;
}
.applyBtn:last-child {
	margin-bottom: 0;
}
.applyBtn a {
	display: block;
	background-color: #ffae00;
	color: #fff;
	text-decoration: none;
	padding: min(4vw, 20px);
	text-align: center;
	font-size: min(3.4vw, 16px);
	font-weight: bold;
	max-width: 400px;
	margin: 0 auto;
}
.applyBtn a.end {
	background-color: #666;
}
.modal .applyBtn a {
    background-color: #000;
}
.applyBtn span {
	display: block;
	background-color: #666;
	color: #fff;
	text-decoration: none;
	padding: min(4vw, 20px);
	text-align: center;
	font-size: min(3.4vw, 16px);
	font-weight: bold;
	max-width: 400px;
	margin: 0 auto;
}

.admission {
	background-color: #000;
	padding: min(6vw, 30px) min(4vw, 50px) min(7vw, 50px);
	color: #fff;
	/* max-width: 1100px; */
	margin: auto;
}
.admission p {
	text-align: center;
	font-size: min(3.4vw, 18px);
	font-weight: bold;
	margin-bottom: min(4vw, 20px);
}
.admission .addmissionBtn {
	display: flex;
	justify-content: space-between;
}
.admission .addmissionBtn li {
	width: 48%;
}
.admission .addmissionBtn li a {
	display: block;
	background-color: #fff;
	/* border: #fff solid 2px;
	border-radius: 8px; */
	padding: min(6vw, 30px) min(4vw, 20px);
	line-height: 0;
	text-align: center;
}
.admission .addmissionBtn li:nth-child(1) img {
    width: 60%;
}
.admission .addmissionBtn li:nth-child(2) img {
	width: 68.6%;
}

.streamingTckets {
	display: flex;
	justify-content: space-around;
	margin: min(8vw, 60px) auto;
}
.streamingTckets li {
	width: 48%;
}
.streamingTckets li .ttl {
	text-align: center;
	font-size: min(4vw, 20px);
}
.streamingTckets li .applyBtn {
	margin: min(4vw, 20px) auto;
}


/* h3:has(+ .ticketScheduleHead) {
	font-size: min(4.2vw, 20px);
	font-weight: bold;
	margin-bottom: min(3vw, 30px);
} */
.ticketScheduleHead {
	display: flex;
	background: #000;
	color: #fff;
	font-size: min(3.2vw, 14px);
	padding: min(2vw, 10px) min(3vw, 15px);
}
.ticketScheduleHead li:nth-child(1) { width: 23%;}
.ticketScheduleHead li:nth-child(2) { width: 46%;}
.ticketScheduleHead li:nth-child(3) { width: 23%;}

.ticketSchedule {
	border-top: #000 solid 1px;
}
.ticketSchedule li {
	display: flex;
	align-items: center;
	padding: min(4vw, 20px) min(3vw, 15px);
	border-bottom: #000 solid 1px;
}
.ticketSchedule li.reception {
	background-color: #ffe075;
}
.ticketSchedule li.end {
	background-color: #ccc;
}
.ticketSchedule li.end .name,
.ticketSchedule li.end .period {
    text-decoration: line-through;
}
.ticketSchedule li .name {
	width: 23%;
    font-size: min(3.4vw, 16px);
	font-weight: bold;
}
.ticketSchedule li .period {
	width: 46%;
    font-size: min(3.4vw, 16px);
}
.ticketSchedule li .result {
	width: 23%;
    font-size: min(3.4vw, 16px);
}
.ticketSchedule li .detailBtn {
	width: 8%;
}
.ticketSchedule li .detailBtn a {
	display: block;
	border: #000 solid 1px;
	color: #000;
	text-decoration: none !important;
	text-align: center;
	border-radius: 40px;
	font-size: min(3vw, 12px);
	font-weight: bold;
	padding: min(0.4vw, 4px) min(1vw, 5px) min(1vw, 5px);
}

.ticketContainer.reception .accordion dt {
	background: #fff;
	color: #000;
	border: #000 solid 1px;
}
.ticketContainer.reception .accordion dt span::before,
.ticketContainer.reception .accordion dt span::after {
	background-color: #000;
}
.ticketContainer.reception .accordion dd {
	border: none;
}


@media screen and (max-width: 820px) {

	/* .videoWrap {
		padding-top: 0;
	}
	.videoWrap .contentWrap {
		padding: 0;
	} */

	.newsList li a {
		flex-direction: column;
	}
	.newsList li .date {
    	margin-bottom: min(1vw, 5px);
		width: 100%;
	}
	.newsList li .ttl {
		width: 100%;
	}

	.scheduleList {
		border-top: #fff solid 1px;
	}
	.scheduleList li {
		flex-wrap: wrap;
	}
	.scheduleList li p {
		width: 100% !important;
		position: relative;
		padding: min(1vw, 5px) 0 min(1vw, 5px) min(22vw, 200px);
	}
	.scheduleList .scheduleHead {
		display: none;
	}

	.scheduleList li .date .year {
		font-size: 0.56em;
		transform: translateY(0.2em) rotate(0);
		margin-right: 1em;
	}
	.scheduleList li .date .week {
		font-size: 0.5em;
		transform: translateY(0.2em);
	}
	.scheduleList li .venue span {
		font-size: 0.8em;
	}
	.scheduleList li > p::before {
		content: attr(data-title);
		font-family: din-2014, sans-serif;
		font-weight: 800;
		font-style: normal;
		font-size: min(3vw, 12px);
		font-weight: normal;
		position: absolute;
		top: 50%;
		left: 0;
		transform: translateY(-50%);
		background-color: #fff;
		color: #000;
		line-height: 1.4;
		letter-spacing: 0.06em;
		width: min(18vw, 160px);
		text-align: center;
	}


  .scheduleFlex {
    flex-direction: column;
  }
	.scheduleFlex .scheduleHead {
		line-height: 1.4;
	}
	.scheduleFlex .scheduleHead p + p {
		margin-top: 0.5em;
	}
  .scheduleFlex .scheduleBlock {
    width: 100%;
  }
  .scheduleFlex .scheduleBlock:nth-child(3) {
    border-top: none;
    border-left: #ccc solid 1px;
  }


	.ticketDetail li {
		flex-direction: column;
	}
	.ticketDetail li .ttl {
    	margin-bottom: min(1vw, 5px);
		width: 100%;
	}
	.ticketDetail li .desc {
		width: 100%;
	}

	.ticketDetail li .ticketDetail {
		margin-top: min(2vw, 10px);
	}
	.ticketDetail li .ticketDetail li {
		flex-direction: row;
	}
	.ticketDetail li .ticketDetail li .ttl {
    	font-size: min(3.2vw, 14px);
    	width: 25%;
	}
	.ticketDetail li .ticketDetail li .desc {
    	width: 75%;
	}

	.admission .addmissionBtn li:nth-child(1) img {
		width: 80%;
	}
	.admission .addmissionBtn li:nth-child(2) img {
		width: 91.6%;
	}

	.streamingTckets {
		flex-direction: column;
		gap: min(8vw, 60px) 0;
	}
	.streamingTckets li {
		width: 100%;
	}
	.streamingTckets li .ttl {
		text-align: center;
		font-size: min(4vw, 20px);
	}
	.streamingTckets li .applyBtn {
		margin: min(4vw, 20px) auto;
	}

	.ticketScheduleHead {
		display: none;
	}

	.ticketSchedule li {
    	flex-direction: column;
	}
	.ticketSchedule li .name,
	.ticketSchedule li .period,
	.ticketSchedule li .result {
		width: 100%;
		position: relative;
		padding: min(1vw, 5px) 0 min(1vw, 5px) min(20vw, 180px);
	}
	.ticketSchedule li > p::before {
		content: attr(data-title);
		font-family: korolev-compressed, sans-serif;
		font-weight: 900;
		font-style: normal;
		font-size: min(3vw, 12px);
		font-weight: normal;
		position: absolute;
		top: 50%;
		left: 0;
		transform: translateY(-50%);
	}

	.ticketSchedule li .detailBtn {
		width: 100%;
		padding: min(2vw, 10px) 0 0 min(20vw, 180px);
	}
	.ticketSchedule li .detailBtn a {
		width: 20vw;
	}


  .ticketType li .soldOut,
  .ticketType li .soldOut2 {
    left: 50%;
    font-size: 1em;
    transform: translate(-50%, -50%) rotate(-3deg);
  }
}

.seatMap {
	display: flex;
	gap: 3%;
}
/* .seatMap.comingSoon::before {
	display: block;
	content: "COMING SOON";
	padding: min(24vw, 250px) 0;
	text-align: center;
	font-size: min(3.6vw, 18px);
	background: #444444;
} */

#goods .btnWrap {
	display: flex;
	justify-content: center;
	gap: min(4vw, 24px);
	margin-top: min(4vw, 24px);
}
#goods .btnWrap a {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: min(4vw, 20px);
	background-color: #d860a3;
	color: #fff;
	text-decoration: none;
	border-radius: 8px;
	padding: min(4vw, 20px);
	text-align: center;
	font-size: min(3.4vw, 16px);
	font-weight: bold;
	width: 100%;
	max-width: 400px;
	min-width: fit-content;
}
#goods .btnWrap a img {
	width: 1.5em;
	margin: 0;
	transform: rotate(-90deg);
}

#goods .goodsLead {
	font-size: min(3.8vw, 18px);
	text-align: center;
	margin-bottom: min(8vw, 80px);
}
.goodsInfoHeader {
	/* max-width: 730px;
	margin: 0 auto min(6vw, 32px); */
/*
	margin-bottom: min(6vw, 32px);
	display: flex;
	align-items: center;
	gap: min(4vw, 20px);
	text-align: center;
	font-size: min(5.4vw, 28px);
	line-height: 1.4;
	font-weight: 500;
	letter-spacing: .03em;
*/

  text-align: center;
  font-size: min(4.6vw, 28px);
  font-weight: bold;
  margin-top: min(8vw, 60px);
  background-color: #fff;
  color: #000;
  padding: min(3vw, 15px);
  border-radius: 8px 8px 0 0;
}
.goodsInfoHeader::before,
.goodsInfoHeader::after {
	flex-grow: 1;
	content: "";
	display: block;
	/* width: 80px; */
	height: 2px;
	background-color: #fff;
}
#goods .goodsInfoBody {
	/* background: #fff;
	color: #000; */
	/* max-width: 730px;
	margin: 0 auto min(8vw, 64px); */
	border: #fff solid 1px;
	padding: min(6vw, 40px) min(4vw, 40px);
	margin-bottom: min(8vw, 64px);
  border-radius: 0 0 8px 8px;
}
#goods .goodsInfoBody .title {
	line-height: 1;
	margin-bottom: min(4vw, 20px);
	font-size: min(5.2vw, 28px);
	text-align: center;
}
#goods .goodsInfoBody .note {
	font-size: min(3.4vw, 16px);
	text-align: center;
}
#goods .goodsInfoBody .accordion {
/*	border: #000 solid 2px;*/
	margin-top: min(4vw, 40px);
	margin-bottom: 0;
}
#goods .goodsInfoBody .accordion dd p {
	font-size: min(3.4vw, 16px);
}
#goods .goodsInfoBody .accordion dd .listAsterisk {
	margin-top: 1em;
}
#goods .goodsInfoBody .accordion dd h5 {
	font-size: min(3.8vw, 18px);
	margin-bottom: 0;
}

.goodsAppWrap {
	/* max-width: 730px;
	margin: 0 auto min(8vw, 64px); */
	border: #fff solid 1px;
	padding: min(6vw, 40px) min(4vw, 40px);
	margin-bottom: min(8vw, 64px);
  border-radius: 0 0 8px 8px;
}
.goodsAppWrap h4 {
	text-align: center;
	font-size: min(5.2vw, 28px);
	line-height: 1.6;
	margin-bottom: min(4vw, 32px);
}
.goodsAppWrap p {
	font-size: min(3.4vw, 18px);
}
.goodsAppWrap .appIconWrap {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: min(6vw, 40px);
	margin-top: min(8vw, 32px);
	margin-bottom: min(4vw, 40px);
}
#goods .goodsAppWrap .appIconWrap .btnWrap {
	margin-top: 0;
}
.goodsAppWrap .appIconWrap .img {
	width: 180px;
}
.goodsAppWrap .appIconWrap .img {
	width: 180px;
}
#goods .goodsAppWrap .accordion {
	margin-top: min(6vw, 32px);
	margin-bottom: 0;
}
#goods .goodsAppWrap .accordion dd {
	padding-top: 0;
}
#goods .goodsAppWrap .accordion dd .goodsImg {
	max-width: 240px;
	margin-left: 0;
}

.goodsAppWrap.ippan p {
	font-size: min(3.4vw, 16px);
}
.goodsAppWrap.ippan p + p {
	margin-top: 0.5em;
}
.goodsAppWrap.ippan a {
	color: #fff;
}
.goodsAppWrap.ippan h5 {
	font-size: min(4.2vw, 20px);
	margin-bottom: 0.5em;
}
.goodsAppWrap.ippan .ticketDetail + h5 {
	margin-top: min(6vw, 32px);
}
.goodsAppWrap.ippan p + .listAsterisk {
	margin-top: min(4vw, 24px);
}
.goodsAppWrap.ippan .goodsImg {
	margin: min(4vw, 32px) auto;
}
.goodsAppWrap.ippan .ticketDetail p + p {
	margin-top: 0;
}
.goodsAppWrap.ippan .ticketDetail li .ttl {
	width: 240px;
}
.goodsAppWrap.ippan .ticketDetail li .desc {
	width: calc(100% - 240px);
}



.goodsImg {
	margin-bottom: min(8vw, 60px);
}
.goodsImg.comingSoon::before {
	display: block;
	content: "COMING SOON";
	font-family: din-2014, sans-serif;
	font-weight: 400;
	font-style: normal;
	text-align: center;
	font-size: min(4.2vw, 22px);
	border: #fff solid 1px;
	padding: min(24vw, 250px) 0;
}
.goodsAreaWrap {
	border: #fff solid 1px;
	padding: min(6vw, 30px);
  margin-bottom: min(6vw, 30px);
}
.goodsAreaWrap.faqWrap {
	border-radius: 0 0 8px 8px;
}
.goodsAreaWrap h3 {
	font-size: min(4.2vw, 20px);
	font-weight: bold;
	margin-bottom: min(3vw, 30px);
}
.areaMap.comingSoon::before {
	display: block;
	content: "COMING SOON";
	padding: min(24vw, 250px) 0;
	text-align: center;
	font-size: min(3.6vw, 18px);
	background: #444444;
}

#goods .accordion {
  margin-bottom: min(6vw, 30px);
}
#goods .accordion dd h4 {
  margin-top: min(6vw, 30px);
  font-size: min(3.4vw, 16px);
  font-feature-settings: "palt";
  margin-bottom: min(2vw, 10px);
}
#goods .accordion dd h5 {
  font-size: min(3.2vw, 14px);
  margin-top: min(6vw, 30px);
  margin-bottom: min(2vw, 10px);
}
#goods .accordion dd h4 + h5 {
  margin-top: min(2vw, 10px);
}
#goods .accordion dd p + p {
    margin-top: min(3vw, 15px);
}
#goods .accordion dd ul:not(.listAsterisk) {
  margin: min(6vw, 30px) 0;
  list-style: disc;
  padding-left: min(4vw, 20px);
  font-weight: bold;
}



.fanClubWrap {
	border: #fff solid 1px;
	padding: min(6vw, 64px) min(6vw, 30px);
}
.fanClubWrap.comingSoon {
	padding-bottom: min(6vw, 30px);
}
.fanClubWrap.comingSoon > p {
	padding: min(10vw, 100px) 0;
	text-align: center;
	font-size: min(3.6vw, 18px);
}


.txtList {
  list-style: disc;
  padding-left: min(4vw, 20px);
  margin-bottom: min(6vw, 30px);
}

@media screen and (max-width: 820px) {
	#goods .btnWrap {
		flex-direction: column;
		align-items: center;
	}

	.goodsAppWrap .appIconWrap {
		flex-direction: column;
	}
	.goodsAppWrap .appIconWrap .img {
		width: min(40vw, 180px);
	}
	.goodsAppWrap .appIconWrap .appList > li img {
		height: min(12vw, 64px);
		width: auto;
	}

	.goodsAppWrap.ippan .ticketDetail li .ttl,
	.goodsAppWrap.ippan .ticketDetail li .desc {
		width: 100%;
	}

	.seatMap {
		flex-direction: column;
		gap: 4vw;
	}
}



#fanclub h3 {
    text-align: center;
    font-size: min(4.6vw, 28px);
    font-weight: bold;
    margin-top: min(8vw, 60px);
    background-color: #fff;
    color: #000;
    padding: min(3vw, 15px);
    border-radius: 8px 8px 0 0;
}

.fcBox {
    border: #fff solid 1px;
    border-radius: 0 0 8px 8px;
    color: #000;
    padding: min(7vw, 60px) min(5vw, 30px) min(6vw, 30px);
    margin: 0 0 min(8vw, 60px);
}
.fcBox .fcLead {
    text-align: center;
    margin-bottom: min(8vw, 60px);
    color: #fff;
}
.fcBox .fcLead > p {
    font-size: min(3.4vw, 20px);
    font-weight: bold;
    margin-bottom: min(4vw, 20px);
}
.fcBox .fcLead > p span {
    background: linear-gradient(0deg, rgba(176,154,4, 1) 40%, transparent 40%);
    padding-bottom: min(1vw, 3px);
}

.fcDetail {
    border-top: #fff solid 1px;
    margin-bottom: min(6vw, 30px);
    color: #fff;
}
.fcDetail li {
    display: flex;
    justify-content: center;
  gap: min(6vw, 30px);
    padding: min(4vw, 20px) 0;
    border-bottom: #fff solid 1px;
}
.fcDetail li .ttl {
    width: 160px;
    font-weight: bold;
    font-size: min(3.6vw, 18px);
    letter-spacing: 0.1em;
    background-color: #fff;
    color: #000;
    text-align: center;
    border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.fcDetail li .desc {
/*    width: calc(100% - 240px);*/
    font-size: min(3.8vw, 22px);
}

.fcFlex {
    display: flex;
    justify-content: space-between;
}
.fcFlex > li {
    width: 100%;
    border-radius: 8px;
    background-color: #fff;
    padding: min(6vw, 30px) min(6vw, 30px);
}

.fcFlex > li h4 {
    font-size: min(3.6vw, 20px);
    font-weight: bold;
    margin-bottom: min(5vw, 25px);
    text-align: center;
    background-color: #333;
    color: #fff;
    padding: min(1vw, 5px);
}
.fcFlex > li h5 {
    font-weight: bold;
    font-size: min(3.4vw, 18px);
    margin-bottom: min(2vw, 10px);
}
.fcFlex > li > p {
    letter-spacing: 0;
    font-size: min(3.5vw, 17px);
    text-align: center;
}
.fcFlex > li > p span {
    background: linear-gradient(0deg, rgba(255,239,134, 1) 40%, transparent 40%);
    padding-bottom: min(1vw, 5px);
}
.fcFlex > li .note {
  text-align: left;
    font-size: 0.9em;
}
.fcFlex > li .note span {
  color: red;
  background: none;
}

.fcFlex > li .fcDetail {
    color: #000;
    border-top: #ccc solid 1px;
    margin-bottom: min(1vw, 5px);
  display: flex;
}
.fcFlex > li .fcDetail > li {
  width: 50%;
    border-bottom: #ccc solid 1px;
    padding: min(2vw, 10px) 0;
  align-items: center;
  gap: 0;
}
.fcFlex > li .fcDetail > li:first-child {
    border-right: #ccc solid 1px;
}
.fcFlex > li .fcDetail > li .ttl {
    font-size: min(3.4vw, 16px);
    letter-spacing: 0.04em;
    width: 180px;
    text-align: left;
    border-radius: 0;
}
.fcFlex > li .fcDetail > li .desc {
    font-size: min(3.2vw, 14px);
    width: calc(100% - 180px);
}

.fcFlex > li .fcNotes {
  display: flex;
  margin-top: min(6vw, 30px);
}
.fcFlex > li .fcNotes h5 {
  width: 140px;
}
.fcFlex > li .fcNotes .note {
  width: calc(100% - 140px);
  margin-top: 0;
}

@media screen and (max-width: 820px) {

    .fcBox .fcLead > p {
        line-height: 1.6;
    }

    .fcDetail li {
        flex-direction: column;
      gap: 0;
    }
    .fcDetail li .ttl {
        width: 100%;
        margin-bottom: min(3vw, 15px);
    }
    .fcDetail li .desc {
        width: 100%;
      text-align: center;
    }

    .fcFlex {
        flex-direction: column;
        gap: min(4vw, 20px);
    }
    .fcFlex li {
        width: 100%;
    }

    .fcFlex > li .fcDetail > li .ttl {
        width: 100%;
        margin-bottom: min(1vw, 5px);
    }
    .fcFlex > li .fcDetail > li .desc {
        width: 100%;
        text-align: left;
    }

  .fcFlex > li .fcDetail {
    flex-direction: column;
  }
  .fcFlex > li .fcDetail > li {
    width: 100%;
  }
  .fcFlex > li .fcDetail > li:first-child {
    border-right: none;
  }
  .fcFlex > li .fcDetail > li .ttl {
    display: block;
  }

  .fcFlex > li .fcNotes {
    flex-direction: column;
  }
  .fcFlex > li .fcNotes h5 {
    width: 100%;
    margin-bottom: min(3vw, 15px);
  }
  .fcFlex > li .fcNotes .note {
    width: 100%;
  }

}
