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


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

	Common

//////////////////////////////////////////////////////////////////////////////// */
@font-face {
  font-family: 'sns_ico';
  src:
    url('../fonts/sns_ico.ttf?z7sza2') format('truetype'),
    url('../fonts/sns_ico.woff?z7sza2') format('woff'),
    url('../fonts/sns_ico.svg?z7sza2#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: #fff;
}

.icon-search:before { content: "\e908";}
.icon-arrow1_left:before { content: "\e90c";}
.icon-arrow1_bottom:before { content: "\e90d";}
.icon-arrow1_right:before { content: "\e90e";}
.icon-arrow1_top:before { content: "\e90f";}
.icon-arrow2_left:before { content: "\e910";}
.icon-arrow2_bottom:before { content: "\e911";}
.icon-arrow2_right:before { content: "\e912";}
.icon-arrow2_top:before { content: "\e913";}
.icon-link:before { content: "\e914";}
.icon-note:before { content: "\e915";}
.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-yt:before { content: "\e909";}
.icon-x:before { content: "\e90a";}
.icon-wb:before { content: "\e90b";}
.icon-arrow3_top:before { content: "\ea3a";}
.icon-arrow3_right:before { content: "\ea3c";}
.icon-arrow3_bottom:before { content: "\ea3e";}
.icon-arrow3_left:before { content: "\ea40";}


/*
html {
	scroll-behavior: smooth;
}
*/
body {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
	font-size: 12px;
	line-height: 1.8;
	-webkit-text-size-adjust: 100%;
  color: #fff;
  position: relative;
}
body::before {
  content: "";
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: url("../images/bg01.jpg") no-repeat center center / cover;
  z-index: -1;
}

#modal {
  background-color: #000;
  padding: min(5vw, 30px);
}
#modal::before {
  display: none;
}

/*font-family: "Antonio", sans-serif;*/

img {
	max-width: 100%;
	height: auto;
}
ul { list-style: none;}

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

.iframeBox div {
	padding-top: 56.25%;
	position: relative;
}
.iframeBox div iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

main {
  padding-bottom: min(14vw, 100px);
  position: relative;
  z-index: 4;
}

.contentWrap {
  max-width: 1140px;
  margin: 0 auto;
  padding-left: min(5vw, 60px);
  padding-right: min(5vw, 60px);
  box-sizing: content-box;
}

@media screen and (min-width: 821px) {
	
	.sp { display: none !important;}

	a { transition: all 0.3s ease-out;}
	a:hover { opacity: 0.5;}
	
}
@media screen and (max-width: 820px) {
	
	.pc { display: none !important;}
	
}


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

	Header

//////////////////////////////////////////////////////////////////////////////// */
header {
  position: fixed;
  top: 30px;
  left: 30px;
  width: calc(100% - 60px);
  height: 80px;
  padding: 20px min(2vw, 40px);
  display: flex;
  justify-content: space-between;
  z-index: 100;
  transition: all .3s ease-out;
  transform: translateZ(0);
  background-color: rgba(255,255,255,0.20);
  border-radius: min(2vw, 10px);
  backdrop-filter: blur(9px);
}
header.on {
  background-color: rgba(0,0,0,0.30);
}

header #hdrLogo {
	display: flex;
	align-items: center;
	height: 100%;
}
header #hdrLogo li {
	margin-right: min(1.6vw, 30px);
	line-height: 0;
	height: 100%;
}
header #hdrLogo li:last-child {
	margin-right: 0;
}
header #hdrLogo li img {
	width: auto;
	height: 100%;
	display: block;
}

header #hdrLogo li.hdrDate {
  line-height: 1;
  font-family: "Antonio", sans-serif;
  font-size: min(1.8vw, 26px);
  font-weight: 900;
  transition: all .3s ease-out;
  height: auto;
}
header .hdrDate span {
  font-size: 0.52em;
  font-weight: 400;
  letter-spacing: 0.16em;
  text-indent: 0.06em;
  display: inline-block;
  vertical-align: middle;
  padding-bottom: 0.1em;
}
header .hdrDate sup {
	font-size: 0.34em;
  vertical-align: baseline;
  margin-left: 5px;
  margin-right: 5px;
}

header #globalNav ul {
	display: flex;
	align-items: center;
  font-family: "Antonio", sans-serif;
	font-weight: 900;
  position: relative;
  padding-right: min(6.8vw, 100px);
	padding-left: min(2vw, 30px);
}
header #globalNav li {
	font-size: min(1.6vw, 20px);
	margin-left: min(1.2vw, 25px);
  color: #999;
  position: relative;
}
header #globalNav li a {
	color: #fff;
	font-size: min(1.5vw, 20px);
  font-weight: 600;
	text-decoration: none;
	letter-spacing: .04em;
	display: block;
}

header #globalNav li.lang {
	border-radius: 16.5px;
  position: absolute;
  top: 2px;
  right: 0;
  margin-left: 0;
  overflow: hidden;
  background-color: #fff;
}
header #globalNav li.lang a {
  color: #000;
}
header #globalNav li.lang a.langCurrent {
	display: block;
	font-size: min(1.2vw, 14px);
	font-weight: 400;
  padding: 3px min(1.8vw, 25px);
	position: relative;
}

header #globalNav li.lang .langSelect {
	display: none;
  background-color: #ccc;
  padding-top: 1px;
}
header #globalNav li.lang .langSelect a {
	text-align: center;
	padding: 3px;
	font-size: 12px;
  background-color: #fff;
	color: #000;
	margin-top: 1px;
}
header #globalNav li.lang .langSelect a:first-child {
  margin-top: 0;
}


header #globalNav li.ddw a {
	position: relative;
	padding-right: min(1.4vw, 24px);
}
header #globalNav li.ddw a::after {
	content: "";
	display: block;
	position: absolute;
	top: 48%;
	right: 2px;
  width: min(0.6vw, 10px);
  height: min(0.6vw, 10px);
	border-right: #fff solid 2px;
	border-bottom: #fff solid 2px;
	transform: translateY(-50%) rotate(45deg);
}
header #globalNav li.ddw .ddmenu {
	display: none;
	position: absolute;
  left: 0%;
/*  transform: translateX(-50%);*/
	padding-top: 5px;
}
header #globalNav li.ddw .ddmenu a {
	display: block;
	background: rgba(0,0,0,0.40);
  padding: 5px 15px 5px 15px;
	margin-bottom: 1px;
	font-size: 14px;
  min-width: 160px;
  white-space: nowrap;
}
header #globalNav li.ddw .ddmenu a::after {
	display: none;
}
header #globalNav li.ddw .ddmenu a.jp {
  font-size: 12px;
	font-weight: 600;
}


@media screen and (min-width: 821px) {

	header #globalNav {
		display: flex!important;
    align-items: center;
	}
	header #globalNav li.lang a:hover {
		opacity: 1;
	}

	header #globalNav li.lang .langSelect a:hover {
		opacity: .5;
	}

	#menuButton {
		display: none;
	}

	header .lang.sp {
		display: none;
	}

}
@media screen and (max-width: 820px) {
  header {
    position: fixed;
    top: 10px;
    left: 10px;
    width: calc(100% - 20px);
    height: 60px;
    padding: 15px min(3vw, 15px);
    display: flex;
    justify-content: space-between;
    z-index: 100;
    transition: all .3s ease-out;
    transform: translateZ(0);
    background-color: rgba(255,255,255,0.20);
    border-radius: min(2vw, 10px);
    backdrop-filter: blur(9px);
  }
  
	header.on {
		height: min(12vw, 45px);
    	padding: min(2.6vw, 10px) min(4vw, 25px);
	}

	header #hdrLogo {
		position: relative;
    	z-index: 1000;
	}

	header #hdrLogo li {
		margin-right: min(4.5vw, 25px);
	}

	header #hdrLogo li.hdrDate {
		display: none;
	}

	header #globalNav {
		position: fixed;
    top: -10px;
    left: -10px;
		width: 100vw;
		height: 100svh;
		background-color: rgba(0,0,0,0.9);
		box-sizing: border-box;
    z-index: 200;
		display: none;
	}
	header #globalNav ul {
		flex-direction: column;
		justify-content: center;
    align-items: flex-start;
		height: 100%;
    padding: min(10vw, 45px) 6vw 0;
	}
	header #globalNav li {
		display: flex;
    justify-content: space-between;
		margin: 0;
    width: 100%;
		padding: min(1.6vw, 10px) 0;
		border-bottom: #666 solid 1px;
    font-size: min(4.8vw, 24px);
	}
	header #globalNav li a {
		text-align: center;
    font-size: min(4.8vw, 24px);
    font-weight: bold;
	}

	header #globalNav li.lang {
		display: none;
	}

	header .lang.sp {
    background-color: #fff;
		border-radius: 12px;
		position: absolute;
		top: 17px;
		right: 50px;
		margin-left: 0;
    transition: all .3s ease-out;
    font-family: "Antonio", sans-serif;
    z-index: 1000;
    overflow: hidden;
	}
	header.on .lang.sp {
		top: 10px;
	}
	header .lang.sp a {
		color: #000;
		text-decoration: none;
		letter-spacing: .1em;
    text-indent: 0.1em;
	}
	header .lang.sp a.langCurrent {
		display: block;
		font-size: min(3.2vw, 14px);
		padding: min(0.2vw, 4px) min(4vw, 20px) min(1vw, 3px) min(4vw, 20px);
		position: relative;
	}

	header .lang.sp .langSelect {
		display: none;
	}
	header .lang.sp .langSelect a {
    display: block;
		text-align: center;
		padding: 5px 3px;
		font-size: 12px;
		background-color: #fff;
		color: #000;
		margin-top: 1px;
	}


	header #globalNav li.ddw .ddmenu,
    header.on #globalNav li.ddw .ddmenu {
    	display: flex !important;
    	justify-content: flex-end;
    	align-items: center;
    	flex-wrap: wrap;
    	position: relative;
    	padding: 0.2em 0;
	}
	header #globalNav li.ddw .ddmenu div {
		display: flex;
		flex-wrap: wrap;
    justify-content: flex-end;
		width: 100%;
    gap: 0 min(2.8vw, 15px);
	}
	header #globalNav li.ddw a {
		padding-right: 0;
	}
	header #globalNav li.ddw a::after {
		display: none;
	}
	header #globalNav li.ddw .ddmenu a {
		background: rgba(0,0,0,0) none;
		border: none;
		padding: 0;
/*		margin: 0 min(2.8vw, 15px) 0 0;*/
		font-size: min(3.2vw, 16px);
    font-weight: 500;
   	width: auto;
		min-width: auto;
    line-height: 1.5;
	}
	header #globalNav li.ddw .ddmenu a.jp {
		font-size: min(3vw, 14px);
	}
	header #globalNav li.ddw .ddmenu a span {
		display: none;
	}

	header #globalNav li.gnavSns {
		border-bottom: none;
		display: flex;
		justify-content: center;
		padding-top: min(6vw, 20px);
	}
	header #globalNav li.gnavSns a {
		margin: 0 2vw;
	}



	#menuButton {
		display: block;
		width: 40px;
		height:40px;
		position: fixed;
		top: 10px;
		right: 1vw;
		z-index: 9999;
    transition: all .3s ease-out;
	}
	.on #menuButton {
    	top: 2px;
	}
	#menuButton span {
		display: block;
		background: #fff;
		width: 20px;
		height: 2px;
		position: absolute;
		left: 10px;
		transition: all 0.4s;
	}

	#menuButton span:first-child { top: 12px;}
	#menuButton span:nth-child(2) { margin-top: -1px; top: 50%;}
	#menuButton span:nth-child(3) { bottom: 12px;}
	#menuButton.active span:first-child {
		transform: translateY(7px) rotate(45deg);
	}
	#menuButton.active span:nth-child(2) { opacity: 0;}
	#menuButton.active span:nth-child(3) {
		transform: translateY(-7px) rotate(-45deg);
	}

}


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

	Footer

//////////////////////////////////////////////////////////////////////////////// */
footer {
  position: relative;
  z-index: 3;
}

footer .ftrLogoWrap {
/*  border-top: #fff solid 1px;*/
  padding-top: min(10vw, 80px);
  margin: 0 min(5vw, 40px) 2vw;
}
footer#topFtr .ftrLogoWrap {
  margin: 0 min(5vw, 40px) 13vw;
}

.ftrLogo {
  max-width: 400px;
  margin: 0 auto;
}

footer .ftrInr {
	padding: min(10vw, 60px) min(6vw, 40px) min(20vw, 80px);
/*  background-color: #000;*/
  display: flex;
  justify-content: space-between;
  align-items: center;
}

footer .history {
	padding: 0;
	display: flex;
	justify-content: center;
	align-items: center;
  font-family: "Antonio", sans-serif;
	font-weight: bold;
	font-size: min(3.4vw, 16px);
  margin-top: min(7vw, 40px);
}
footer .history dt {
	font-size: min(3.8vw, 20px);
	padding-right: 30px;
}
footer .history dd {
	display: flex;
  justify-content: center;
	font-weight: 900;
}
footer .history dd p {
	margin: 0 min(3vw, 15px) 0 0;
}
footer .history dd a {
	color: #fff;
	text-decoration: none;
}
footer .history dd span {
	font-weight: 500;
}

footer .sponsorLogo {
	display: flex;
	justify-content: center;
/*	margin-bottom: min(6vw, 30px);*/
	gap: 0 min(6vw, 30px);
}
footer .sponsorLogo li {
	line-height: 0;
}
footer .sponsorLogo li img {
	height: 40px;
	width: auto;
	object-fit: contain;
}
footer#topFtr .sponsorLogo li img {
  filter: drop-shadow(0px 0px 8px rgba(0, 0, 0, 0.8));
}
footer .sponsorLogo li.cm {
	width: 160px;
}

footer .copyright {
	color: #fff;
	text-align: center;
	font-weight: normal;
	font-size: min(2.6vw, 10px);
}
footer#topFtr .copyright {
  filter: drop-shadow(0px 0px 5px rgba(0, 0, 0, 1));
}

@media screen and (min-width: 821px) {

	footer {
		width: 100%;
	}

	footer .ftrLeft .sponsorLogo {
    	margin-bottom: min(4vw, 20px);
	}

}
@media screen and (max-width: 834px) {
	footer .history {
		font-size: 13px;
	}
}
@media screen and (max-width: 820px) {
	footer {
    
	}

  footer .ftrLogoWrap {
    margin: 0 min(5vw, 40px) 3vw;
  }
  footer#topFtr .ftrLogoWrap {
    margin: 0 min(5vw, 40px) 6vw;
  }

	footer .history {
    	padding: 0 min(6vw, 30px);
		font-size: min(3.8vw, 20px);
		display: block;
/*    	margin-bottom: min(12vw, 80px);*/
	}
	footer .history dt {
		padding-right: 0;
		border-right: none;
		text-align: center;
		margin-bottom: min(4vw, 20px);
		font-size: min(5.6vw, 24px);
	}
	footer .history dd {
		flex-wrap: wrap;
		gap: min(1vw, 5px) min(4.3vw, 25px);
	}
	footer .history dd p {
		width: fit-content;
    	margin: 0 0 min(2vw, 15px);
		text-align: center;
		line-height: 1.6;
	}
	footer .history dd p:last-child {
		width: fit-content;
	}


  footer .ftrInr {
    flex-direction: column;
  }
	footer .sponsorLogo {
		margin-bottom: min(8vw, 60px);
	}
	footer .sponsorLogo li {
		margin: 0 3vw;
	}
	footer .sponsorLogo li img {
		height: min(6vw, 40px);
	}
  
  .ftrLogo {
    max-width: 200px;
  }

}




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

	Top Page

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

.bgSlider {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100vh;
  z-index: -1;
}
.bgSlider span {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  opacity: 0;
  animation: fadeBg 15s infinite;
}

/* 表示タイミングをずらす */
.bgSlider span:nth-child(1) { animation-delay: 0s; background-image: url("../images/bg01.jpg");}
.bgSlider span:nth-child(2) { animation-delay: 5s; background-image: url("../images/bg02.jpg");}
.bgSlider span:nth-child(3) { animation-delay: 10s; background-image: url("../images/bg03.jpg");}

@keyframes fadeBg {
  0%   { opacity: 0; }
  10%  { opacity: 1; }
  30%  { opacity: 1; }
  40%  { opacity: 0; }
  100% { opacity: 0; }
}

.bgMotion {
  position: fixed;
  inset: 0;
  z-index: -1;
  overflow: hidden;
}

.bgMotion span {
  position: absolute;
  inset: -5%;
  background-size: cover;
  background-position: center;
  opacity: 0;
  animation:
    fadeLoop 24s infinite ease-in-out,
    moveSlow 40s infinite linear;
  will-change: opacity, transform;
}

/* フェードのタイミングだけずらす */
.bgMotion span:nth-child(1) {
  animation-delay: 0s, 0s;
  background-image: url("../images/bg01.jpg");
}
.bgMotion span:nth-child(2) {
  animation-delay: 8s, 0s;
  background-image: url("../images/bg02.jpg");
}
.bgMotion span:nth-child(3) {
  animation-delay: 16s, 0s;
  background-image: url("../images/bg03.jpg");
}

/* フェード用 */
@keyframes fadeLoop {
  0%   { opacity: 0; }
  15%  { opacity: 1; }
  35%  { opacity: 1; }
  50%  { opacity: 0; }
  100% { opacity: 0; }
}

/* 常にゆっくり動かす */
@keyframes moveSlow {
  0% {
    transform: scale(1.05) translate(0, 0);
  }
  50% {
    transform: scale(1.12) translate(-2%, -2%);
  }
  100% {
    transform: scale(1.05) translate(0, 0);
  }
}


/*
.bgIllust {
  position: absolute;
  top: 108.8vh;
  left: 0;
  width: 100%;
  background: url("../images/bg_illust.png") no-repeat center center / 100%;
  aspect-ratio: 2880/845;
  z-index: -1;
  opacity: 0.55;
}
*/

/*
.bg{
  position: fixed;
  top:0;
  left:0;
  width:100%;
  height:100vh;
  z-index:-1;
}

.bgImg {
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background-size:cover;
  background-position:center;
  opacity:0;
}

.img1 { background-image:url("../images/bg_main01.jpg"); }
.img2 { background-image:url("../images/bg_main02.jpg"); }
.img3 { background-image:url("../images/bg_main03.jpg"); }
.img4 { background-image:url("../images/bg_main04.jpg"); }
*/

/*
:root{
  --fadeTime:4s;
}

.bg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height:100vh;
  z-index: -1;
}

.bgImg {
  position: absolute;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  opacity: 0;
  animation: bgFade calc(var(--fadeTime) * 3) linear infinite;
}

.bgImg:nth-child(1){background-image: url(../images/bg_main01.jpg); animation-delay:calc(var(--fadeTime) * 0);}
.bgImg:nth-child(2){background-image: url(../images/bg_main02.jpg); animation-delay:calc(var(--fadeTime) * 1);}
.bgImg:nth-child(3){background-image: url(../images/bg_main03.jpg); animation-delay:calc(var(--fadeTime) * 2);}

@keyframes bgFade{
  0%{opacity:0;}
  5%{opacity:1;}

  15%{opacity:1;}

  25%{opacity:0;}

  100%{opacity:0;}
}
*/

.bg{
  position:fixed;
  inset:0;
  z-index:-1;
}

:root{
  --time: 4s;
}

.bgImg{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;

  opacity:0;

  animation:bgFade calc(var(--time) * 3) linear infinite;
  will-change:opacity;
}

.bgImg:nth-child(1){background-image: url(../images/bg_main01.jpg); animation-delay:calc(var(--time) * 0);}
.bgImg:nth-child(2){background-image: url(../images/bg_main02.jpg); animation-delay:calc(var(--time) * 1);}
.bgImg:nth-child(3){background-image: url(../images/bg_main03.jpg); animation-delay:calc(var(--time) * 2);}

@keyframes bgFade{
  0%{ opacity:0;}
  50%{ opacity:1;}
  100%{ opacity:0;}
}


.bgIllust01 {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background: url("../images/bg_illust.png") no-repeat center bottom / 100%;
  aspect-ratio: 2400/1509;
  z-index: 0;
  
  will-change: transform;
  opacity: 1;
  transition: opacity .8s ease;
  pointer-events: none;
}
.bgIllust01.on {
  opacity: 0;
}

.bgIllust02 {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background: url("../images/bg_illust.png") no-repeat center center / 100%;
/*  aspect-ratio: 2880/1869;*/
  aspect-ratio: 2400/1509;
  z-index: 0;
  opacity: 0;
  
/*  transition: opacity .8s ease;*/
  pointer-events: none;
  animation: illust 1s ease-out 0.5s forwards;
}
@keyframes illust {
  0% { opacity: 0;}
  100% { opacity: 1;}
}
.bgIllust02.on {
  opacity: 1;
}
.bgIllust02.stop{
  position: absolute;
}

.bgIllust02 .light {
  position: absolute;
  top: 66%;
  left: 25%;
  background: url(../images/bg_light.png) no-repeat center center / contain;
  aspect-ratio: 424 / 228;
  width: 25%;
  animation: illust 4s linear 0s alternate infinite;
  opacity: 0;
}


.wheelWrap {
  position: absolute;
  bottom: -4%;
  right: -13%;
  width: 28%;
}
.wheelWrap .wheel01 {
  position: absolute;
  bottom: -5%;
  left: 50%;
  line-height: 0;
  transform: translateX(-50%);
}
.wheelWrap .wheel02 {
  line-height: 0;
  width: 100%;
  animation: wheel01 120s linear 0s infinite;
}
@keyframes wheel01 {
  0% { transform: rotate(360deg);}
  100% { transform: rotate(0deg);}
}
.wheelWrap .wheel03 {
  background: url("../images/bg_wheel03.png") no-repeat center center / 100%;
  aspect-ratio: 32/40;
  width: 4%;
  position: absolute;
  animation: wheel02 120s linear 0s infinite;
  transform-origin: center top;
}
.wheelWrap .wheel03:nth-child(1) {
  top: 10%;
  left: 18%;
}
.wheelWrap .wheel03:nth-child(2) {
  top: 16%;
  left: 10.3%;
}
.wheelWrap .wheel03:nth-child(3) {
  top: 23%;
  left: 5%;
}
.wheelWrap .wheel03:nth-child(4) {
  top: 32%;
  left: 1.5%;
}
.wheelWrap .wheel03:nth-child(5) {
  top: 41%;
  left: -0.7%;
}
.wheelWrap .wheel03:nth-child(6) {
  top: 50%;
  left: -1.5%;
}
.wheelWrap .wheel03:nth-child(7) {
  top: 59.5%;
  left: -1%;
}
.wheelWrap .wheel03:nth-child(8) {
  top: 68%;
  left: 1.7%;
}
.wheelWrap .wheel03:nth-child(9) {
  top: 76.4%;
  left: 5.3%;
}
.wheelWrap .wheel03:nth-child(10) {
  top: 83%;
  left: 11.9%;
}
.wheelWrap .wheel03:nth-child(11) {
  top: 90%;
  left: 18%;
}
.wheelWrap .wheel03:nth-child(12) {
  top: 95%;
  left: 25.6%;
}
.wheelWrap .wheel03:nth-child(13) {
  top: 97.9%;
  left: 34.3%;
}
.wheelWrap .wheel03:nth-child(14) {
  top: 99.3%;
  left: 43.3%;
}
.wheelWrap .wheel03:nth-child(15) {
  top: 99.6%;
  left: 52.4%;
}
.wheelWrap .wheel03:nth-child(16) {
  top: 98.2%;
  left: 61.3%;
}
.wheelWrap .wheel03:nth-child(17) {
  top: 94.8%;
  left: 70.1%;
}
.wheelWrap .wheel03:nth-child(18) {
  top: 90%;
  left: 77.9%;
}
.wheelWrap .wheel03:nth-child(19) {
  top: 83.8%;
  left: 84.5%;
}
.wheelWrap .wheel03:nth-child(20) {
  top: 76.4%;
  left: 90%;
}
.wheelWrap .wheel03:nth-child(21) {
  top: 68.4%;
  left: 93.9%;
}
.wheelWrap .wheel03:nth-child(22) {
  top: 59.5%;
  left: 96.8%;
}
.wheelWrap .wheel03:nth-child(23) {
  top: 50.5%;
  left: 97.6%;
}
.wheelWrap .wheel03:nth-child(24) {
  top: 41.3%;
  left: 97%;
}
.wheelWrap .wheel03:nth-child(25) {
  top: 32.6%;
  left: 94.3%;
}
.wheelWrap .wheel03:nth-child(26) {
  top: 24.5%;
  left: 90.1%;
}
.wheelWrap .wheel03:nth-child(27) {
  top: 17.1%;
  left: 84.6%;
}
.wheelWrap .wheel03:nth-child(28) {
  top: 11%;
  left: 77.9%;
}
.wheelWrap .wheel03:nth-child(29) {
  top: 6.2%;
  left: 70%;
}
.wheelWrap .wheel03:nth-child(30) {
  top: 2.8%;
  left: 61.4%;
}
.wheelWrap .wheel03:nth-child(31) {
  top: 0.7%;
  left: 52.5%;
}
.wheelWrap .wheel03:nth-child(32) {
  top: 0.7%;
  left: 43.2%;
}
.wheelWrap .wheel03:nth-child(33) {
  top: 2.4%;
  left: 34.2%;
}
.wheelWrap .wheel03:nth-child(34) {
  top: 5.6%;
  left: 25.6%;
}
@keyframes wheel02 {
  0% { transform: rotate(0deg);}
  100% { transform: rotate(360deg);}
}

.baloon {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  z-index: 0;
  pointer-events:none;
  overflow:hidden;
  opacity: 0;
  transition: opacity 1s ease-out;
}
.baloon.show {
  opacity:1;
}

.baloonItem {
  position:absolute;
  bottom:-120px;
  opacity:0;
  animation: baloonFloat linear forwards;
}
@keyframes baloonFloat{
  0%{
    transform: translateY(0);
    opacity:0;
  }

  15%{
    opacity:1;
  }

  85%{
    opacity:1;
  }

  100%{
    transform: translateY(-120vh);
    opacity:0;
  }
}

.baloon01 {
  position: absolute;
  top: 42%;
  left: 74%;
  background: url("../images/bg_baloon01.png") no-repeat center center / contain;
  aspect-ratio: 150/192;
  width: 80px;
  animation: baloon 4s cubic-bezier(0.37, 0, 0.63, 1) 0s alternate infinite;
}
.baloon02 {
  position: absolute;
  top: 28%;
  left: 16%;
  background: url("../images/bg_baloon02.png") no-repeat center center / contain;
  aspect-ratio: 150/192;
  width: 80px;
  animation: baloon 4s cubic-bezier(0.37, 0, 0.63, 1) 1s alternate infinite;
}
.baloon03 {
  position: absolute;
  top: 56%;
  left: 22%;
  background: url("../images/bg_baloon03.png") no-repeat center center / contain;
  aspect-ratio: 150/192;
  width: 65px;
  animation: baloon 4s cubic-bezier(0.37, 0, 0.63, 1) 2s alternate infinite;
}
.baloon04 {
  position: absolute;
  top: 42%;
  left: 8%;
  background: url("../images/bg_baloon01.png") no-repeat center center / contain;
  aspect-ratio: 150/192;
  width: 50px;
  animation: baloon 4s cubic-bezier(0.37, 0, 0.63, 1) 3s alternate infinite;
  opacity: 0.5;
}
.baloon05 {
  position: absolute;
  top: 33%;
  left: 90%;
  background: url("../images/bg_baloon02.png") no-repeat center center / contain;
  aspect-ratio: 150/192;
  width: 56px;
  animation: baloon 4s cubic-bezier(0.37, 0, 0.63, 1) 1s alternate infinite;
  opacity: 0.5;
}
.baloon06 {
  position: absolute;
  top: 20%;
  left: 80%;
  background: url("../images/bg_baloon03.png") no-repeat center center / contain;
  aspect-ratio: 150/192;
  width: 48px;
  animation: baloon 4s cubic-bezier(0.37, 0, 0.63, 1) 0s alternate infinite;
  opacity: 0.3;
}

@keyframes baloon {
  0% { transform: translateY(0px);}
  100% { transform: translateY(-50px);}
}

@keyframes baloonSp {
  0% { transform: translateY(0px);}
  100% { transform: translateY(-20px);}
}

.starWrap {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  opacity: 0;
  transition: opacity .8s ease-out;
  z-index: 2;
  mix-blend-mode: overlay;
  overflow: hidden;
}
.starWrap.on {
  opacity: 1;
}
.starWrap .star {
  position: absolute;
  opacity: 0;
  transform: translate(-50%, -50%);
}

.bgMov {
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  z-index: -1;
  opacity: 0;
  mix-blend-mode: overlay;
  overflow: hidden;
  animation: mov 1s ease-out 0.5s forwards;
}
@keyframes mov {
  0% { opacity: 0;}
  100% { opacity: 0.25;}
}
.bgMov.on {
  opacity: 0.25;
}
.bgMov video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity .8s ease-out;
}
.bgMov video.on {
  opacity: 0;
}


@media screen and (max-width: 820px) {
  
  .bgIllust02 {
    background: url(../images/bg_illust_sp.png) no-repeat center center / 100%;
    aspect-ratio: 2400 / 1799;
  }
  .bgIllust02 .light {
    top: 59%;
    left: 27%;
  }
  .wheelWrap {
    bottom: -20%;
    right: -3%;
    width: 30%;
  }
  
  .baloon01 {
    top: 71%;
    left: 73%;
    width: 45px;
    animation: baloonSp 4s cubic-bezier(0.37, 0, 0.63, 1) 0s alternate infinite;
  }
  .baloon02 {
    top: 50%;
    left: 7%;
    width: 40px;
    animation: baloonSp 4s cubic-bezier(0.37, 0, 0.63, 1) 1s alternate infinite;
  }
  .baloon03 {
    top: 74%;
    left: 20%;
    width: 32px;
    animation: baloonSp 4s cubic-bezier(0.37, 0, 0.63, 1) 2s alternate infinite;
  }
  .baloon04 {
    top: 66%;
    left: 3%;
    width: 24px;
    animation: baloonSp 4s cubic-bezier(0.37, 0, 0.63, 1) 3s alternate infinite;
  }
  .baloon05 {
    top: 55%;
    left: 83%;
    width: 24px;
    animation: baloonSp 4s cubic-bezier(0.37, 0, 0.63, 1) 1s alternate infinite;
  }
  .baloon06 {
    top: 66%;
    left: 89%;
    width: 30px;
    animation: baloonSp 4s cubic-bezier(0.37, 0, 0.63, 1) 0s alternate infinite;
  }
  
  
}


#mainVisual {
/*	height: 100vh;*/
	position: relative;
  padding: 145px 0 30px;
}

#mainVisual .mainBnr {
/*	width: 160vh;*/
  aspect-ratio: 1234/610;
  max-width: 100%;
  margin: 0 auto;
  overflow: hidden;
}

#mainVisual .mainBnr ul li {
	line-height: 0;
	padding: 15px;
	position: relative;
/*    padding-bottom: 17vh;*/
}
#mainVisual .mainBnr ul li > a,
#mainVisual .mainBnr ul li > span.nolink {
	display: block;
	line-height: 0;
	border-radius: 10px;
	overflow: hidden;
	position: relative;
  box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.35);
}
#mainVisual .mainBnr ul li img {
	width: 100%;
	height: auto;
}
#mainVisual .mainBnr ul li > a:hover {
	opacity: 1;
}
#mainVisual .mainBnr ul li span .profBtn {
	position: absolute;
    right: 18.8%;
    top: 62%;
	transform: translateX(50%);
	margin-top: 0;
}
#mainVisual .mainBnr ul li span .profBtn a {
	background-color: transparent;
	border-radius: 8px;
    padding: 25px;
}
#mainVisual .mainBnr ul li span .profBtn a:hover {
	opacity: 0.5;
}



#mainVisual .mainBnr .slick-dotted.slick-slider {
    margin-bottom: min(8vw, 50px);
    padding-top: 0;
}
#mainVisual .mainBnr .slick-dots {
    bottom: -40px;
    padding: 0 min(6vw, 30px);
    text-align: center;
}
#mainVisual .mainBnr .slick-dots li {
	padding: 0;
    width: 10px;
    height: 10px;
	opacity: .5;
	vertical-align: top;
}
#mainVisual .mainBnr .slick-dots li.slick-active {
	opacity: 1;
}
#mainVisual .mainBnr .slick-dots li button {
	background-color: #fff;
	border-radius: 50%;
    width: 10px;
    height: 10px;
}
#mainVisual .mainBnr .slick-dots li button:before {
	display: none;
}
#mainVisual .mainBnr .mvTtl {
	position: absolute;
  font-family: "Antonio", sans-serif;
  font-weight: 800;
  bottom: 0;
	left: 3vw;
	font-size: min(15vh, 14.8vw);
  line-height: 0.9;
}
#mainVisual .mainBnr .mvTtl span {
	display: block;
  font-size: 0.45em;
  font-weight: 600;
}

#mainVisual .mainBnr .mvTtl a {
	color: #fff;
	text-decoration: none;
	position: relative;
  padding-right: 7.5vh;
}
#mainVisual .mainBnr .mvTtl a::after {
	content: "";
	display: block;
	width: 4vh;
  height: 4vh;
	border-right: #fff solid 1px;
	border-bottom: #fff solid 1px;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%) rotate(45deg);
}



#mainVisual .mvWrap {
	position: relative;
  height: calc(100vh - 110px);
}
#mainVisual .mvWrap .mvPic {
	background: url("../images/headliner01.jpg") repeat-x center center;
	background-size: contain;
  height: 68vh;
  width: 72vh;
	padding: 0 calc(50% - 36vh);
  box-sizing: content-box;
	position: relative;
}
#mainVisual .mvWrap .name {
	transform: translateY(-100%) rotate(90deg);
  transform-origin: left bottom;
  font-family: "Antonio", sans-serif;
	line-height: 1.2;
  width: fit-content;
  font-size: 5.4vh;
  font-weight: 600;
  letter-spacing: 0.04em;
  padding: 0.1em 0.6em;
  text-shadow: 1px -1px 10px rgba(0,0,0,0.3);
}
#mainVisual .mvWrap .name span {
	display: block;
  font-size: 0.36em;
  letter-spacing: 0.08em;
	font-weight: 400;
}

#mainVisual .mvWrap .mvTtl {
	position: absolute;
  font-family: "Antonio", sans-serif;
  font-weight: 800;
  bottom: 3vh;
	left: 3vw;
	font-size: min(15vh, 14vw);
  line-height: 0.9;
}
#mainVisual .mvWrap .mvTtl span {
	display: block;
  font-size: 0.45em;
  font-weight: 600;
}

#mainVisual .mvSns {
	position: absolute;
	top: 50%;
	right: 30px;
	display: flex;
	flex-direction: column;
	transform: translateY(-50%);
  padding: 145px 0 60px;
}
#mainVisual .mvSns .mvSnsInr {
/*  background: linear-gradient(0deg, rgba(181,139,66,0.5) 0%, rgba(0,137,186, 0.5) 100%);*/
  background-color: rgba(255, 255, 255, 0.20);
	display: flex;
	flex-direction: column;
  padding: min(4vw, 20px) min(3vw, 15px);
  border-radius: 100px;
  backdrop-filter: blur(5px);
}
#mainVisual .mvSns a {
	text-decoration: none;
	color: #fff;
	font-size: 24px;
	line-height: 2;
}
#mainVisual .movThumb {
	position: absolute;
    bottom: -5vh;
    right: 40px;
    width: 240px;
}
#mainVisual .movThumb a {
	display: block;
    color: #fff;
    text-decoration: none;
}
#mainVisual .movThumb .movPop a > div {
	line-height: 0;
	position: relative;
	border-radius: 6px;
	overflow: hidden;
}
#mainVisual .movThumb .caption {
	margin-top: min(1vw, 5px);
	font-size: min(2.8vw, 12px);
	line-height: 1.4;
	position: relative;
}
#mainVisual .movThumb .archive {
	margin-bottom: min(4vw, 20px);
}
#mainVisual .movThumb .movPop .caption {
	padding-left: 35px;
	background: url("../images/ico_play.png") no-repeat left center;
	background-size: 25px;
  min-height: 25px;
  display: flex;
  align-items: center;
}

#mainVisual .commentBnr {
  position: absolute;
  bottom: 20px;
  right: 30px;
  width: 160px;
  line-height: 0;
  transform: translateY(80%);
  z-index: 5;
}

.scroll {
  position: absolute;
  bottom: 0;
  left: 50%;
  height: min(5vw, 80px);
  width: 1px;
  overflow: hidden;
  transform: translateY(50%);
}
.scroll::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: #fff;
  position: absolute;
  top: 0;
  left: 0;
  animation: scrl 2s linear 0s infinite;
}
@keyframes scrl {
  0% { transform: translateY(-100%);}
  100% { transform: translateY(100%);}
}


#poster {
/*	max-width: 600px;*/
	margin: min(10vw, 80px) auto 0;
	padding-top: 0;
	padding-bottom: min(6vw, 30px);
}
#poster ul {
	display: flex;
	gap: 0 2%;
  justify-content: center;
}
#poster.sm ul {
	justify-content: center;
}
#poster ul li {
	line-height: 0;
	width: 49%;
/*  width: 70%;*/
}

#topModalComment .date {
	font-size: 12px;
	margin-bottom: 10px;
}
#topModalComment h3 {
	font-size: 26px;
  padding-bottom: 20px;
  border-bottom: #fff solid 1px;
  margin-bottom: 40px;
}
#topModalComment p {
	font-size: 14px;
    margin-bottom: 20px;
}
#topModalComment .signature {
	margin-top: 40px;
	text-align: right;
}


.movList {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: min(6vw, 30px) 4%;
}
.movList li {
  width: 48%;
}
.movList li > div {
  width: 100%;
  aspect-ratio: 100/56.25;
  line-height: 0;
}
.movList li > div iframe {
  width: 100%;
  height: 100%;
}


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

	#mainVisual {
/*		height: 100vh;*/
    	padding: 90px 0 2vw;
	}
	#mainVisual .mvWrap {
    	height: 115vw;
	}
	#mainVisual .mvWrap .mvPic {
		height: 94.6vw;
		width: 100vw;
		padding: 0;
	}

  #mainVisual .mainBnr {
    aspect-ratio: auto;
  }
  
	#mainVisual .mainBnr ul li {
    padding: 10px 0px;
	}
  
  #mainVisual .mainBnr .slick-slide {
    transform: scale(0.9);
    transition: all 0.3s cubic-bezier(0.65, 0, 0.35, 1) 1s;
  }
  #mainVisual .mainBnr .slick-center {
    transform: scale(1);
  }

	#mainVisual .mainBnr .mvTtl {
		bottom: 4vw;
		left: 5vw;
	}
	#mainVisual .mainBnr .mvTtl a {
		padding-right: 10vw;
	}
  #mainVisual .mainBnr ul li > a,
  #mainVisual .mainBnr ul li > span.nolink {
    box-shadow: 0px 3px 8px 0px rgba(0, 0, 0, 0.35);
  }
	#mainVisual .mainBnr .mvTtl a::after {
		width: 5vw;
		height: 5vw;
	}

	#mainVisual .movThumb {
		position: relative;
		bottom: inherit;
		right: inherit;
		width: 90%;
    	margin: min(4vw, 20px) 5% 0;
	}
	#mainVisual .movThumb a {
		display: flex;
    	align-items: center;
		justify-content: space-between;
	}
	#mainVisual .movThumb .movPop a > div {
		width: 46%;
	}

	#mainVisual .mainBnr .slick-dots {
		padding: 0;
    bottom: -30px;
	}

	#mainVisual .movThumb .movPop .caption {
		margin-top: 0;
    	width: 48%;
	}

	#mainVisual .commentBnr {
    bottom: -14vw;
    right: 2vw;
    width: 25vw;
    transform: translateY(0%);
	}
  
  .scroll {
    height: 50px;
    transform: translateY(60%);
  }

	#poster {
/*    	margin: min(10vw, 60px) auto 0;*/
	}

	#poster ul li {
		width: 80%;
	}
  
	#poster.sm ul li {
    width: 80%;
	}

	#topModalComment .date {
		font-size: min(2.8vw, 12px);
		margin-bottom: min(1vw, 10px);
	}
	#topModalComment h3 {
		font-size: min(4vw, 26px);
		padding-bottom: min(4vw, 20px);
		margin-bottom: min(6vw, 40px);
	}
	#topModalComment p {
		font-size: min(3.2vw, 14px);
		margin-bottom: min(3vw, 20px);
	}
	#topModalComment .signature {
		margin-top: min(6vw, 40px);
	}
  
  .movList {
    flex-direction: column;
    gap: min(6vw, 30px) 0;
  }
  .movList li {
    width: 100%;
  }


}

.movMask > div {
	width: 100%;
	padding-top: 56.25%;
	position: relative;
    background-color: #000;
}
.movMask > div iframe {
	position: absolute;
	top: 0;
	left: 0;
    width: 100%;
    height: 100%;
}

.ticketBtnWrap {
  background-color: rgba(255,255,255,0.20);
  padding: min(6vw, 30px);
  max-width: 940px;
  margin: min(4vw, 30px) auto 0;
  border-radius: min(2vw, 10px);
  border: #fff solid 1px;
  backdrop-filter: blur(3px);
}
.ticketBtnWrap.smTicket {
  background-color: rgba(0,0,0,0.30);
}
.ticketBtnWrap .ticketBtnTtl {
  font-family: "Antonio", sans-serif;
  font-weight: 600;
  font-size: min(5.8vw, 32px);
  text-align: center;
  margin-bottom: min(4vw, 20px);
  line-height: 1.4;
}

.ticketBtn {
	display: flex;
	justify-content: center;
	gap: min(4vw, 20px);
}
.ticketBtn li {
	width: 40%;
	max-width: 360px;
}
.ticketBtn li a {
	display: block;
	color: #fff;
	text-align: center;
	border-radius: 8px;
	text-decoration: none;
	font-size: min(3.8vw, 18px);
	font-weight: bold;
	line-height: 1.4;
	padding: min(3vw, 20px);
	box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.2);
}
.ticketBtn li:nth-child(1) a { background: #0fb3f7 url("../images/btn_bg_tokyo.jpg") no-repeat center center; background-size: cover;}
.ticketBtn li:nth-child(2) a { background: #fa7321 url("../images/btn_bg_osaka.jpg") no-repeat center center; background-size: cover;}
.ticketBtn li.sm a { background: #e66b00 url("../images/btn_bg_sm.jpg") no-repeat center center; background-size: cover;}

.indexHeadeline {
  font-size: min(6.8vw, 36px);
  font-family: "Antonio", sans-serif;
  font-weight: 600;
  line-height: 1.4;
  margin-bottom: min(6vw, 50px);
  display: flex;
  justify-content: space-between;
  align-items: center;
}

#topBnrArea {
	padding-top: 80px;
}
#topBnrArea ul li {
	padding: 0 15px;
}
#topBnrArea ul li a {
	display: block;
	overflow: hidden;
	border-radius: 10px;
	text-decoration: none;
}
#topBnrArea ul li a div {
	position: relative;
	width: 100%;
    padding-top: 55.8%;
}
#topBnrArea ul li a div img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#topBnrArea ul li p {
	padding: 10px 20px;
  backdrop-filter: blur(5px);
  background-color: rgba(0,0,0,0.6);
	color: #fff;
	text-decoration: none;
}


#watsNew {
	padding-top: min(18vw, 180px);
	padding-bottom: min(8vw, 60px);
}

#watsNew .watsNewHead {
  position: relative;
}

#watsNew .topNewsList {
	display: flex;
	flex-wrap: wrap;
  justify-content: space-between;
}
#watsNew #tabSM.topNewsWrap {
	display: none;
}

#watsNew .topNewsList li {
	width: 49.2%;
	margin-right: 0;
	margin-bottom: min(4vw, 20px);
}
#watsNew .topNewsList li a {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	color: #fff;
	text-decoration: none;
  background-color: rgba(255,255,255,0.15);
}
#watsNew .topNewsList li a .thumb {
	width: 35%;
	line-height: 0;
	position: relative;
  padding-top: 24%;
	overflow: hidden;
	margin-bottom: 0;
}
#watsNew .topNewsList li a .thumb img {
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	position: absolute;
	object-fit: cover;
}
#watsNew .topNewsList li a .txt {
	width: 60%;
}
#watsNew .topNewsList li a .txt .date {
	font-size: min(3vw, 13px);
  font-family: "Antonio", sans-serif;
	letter-spacing: .1em;
	margin-bottom: 10px;
  line-height: 1.4;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: min(4vw, 20px);
  white-space: nowrap;
}
#watsNew .topNewsList li a .txt .date::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #fff;
}
#watsNew .topNewsList li a .txt .ttl {
  font-size: 14px;
  line-height: 1.6;
  margin-bottom: 10px;
}
#watsNew .topNewsList li a .txt .tag {
	font-size: 13px;
	font-weight: bold;
  font-family: "Antonio", sans-serif;
}
#watsNew .topNewsList li a .txt .tag.tagSS {
	color: #5fd0ff;
}
#watsNew .topNewsList li a .txt .tag.tagSM {
	color: #e08bff;
}


.viewMore {
	text-align: right;
}
.viewMore a {
	display: inline-block;
	padding-right: min(5vw, 25px);
	background: url(../images/ico_arrow.svg) no-repeat right 45%;
	background-size: 14px;
	color: #fff;
	text-decoration: none;
  font-family: "Antonio", sans-serif;
	font-weight: 400;
	font-size: min(3.6vw, 18px);
  line-height: 1.2;
}
#watsNew .watsNewHead .viewMore {
  position: absolute;
  top: 5px;
  right: 0;
}
#watsNew .watsNewHead .viewMore a {
  background-color: #fff;
  color: #000;
  border-radius: 100px;
  text-align: center;
  padding: min(2.1vw, 12px) min(6vw, 30px);;
	font-size: min(3.2vw, 14px);
}


#topMovie {
	padding-top: min(14vw, 100px);
	padding-bottom: min(14vw, 100px);
}
#topMovie .topMovieWrap {
	max-width: 860px;
	margin: 0 auto;
}
#topMovie .topMovieWrap > div {
	padding-top: 56.25%;
	width: 100%;
	position: relative;
}
#topMovie .topMovieWrap > div iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

#topLineUp {
  padding-top: min(10vw, 60px);
  padding-bottom: min(14vw, 100px);
}
#topLineUp .lineUpList {
  margin: 0 auto;
}

#topLineUp .lineUpList li.wide {
  width: 48%;
  margin-right: 4%;
  margin-bottom: 0;
}
#topLineUp .lineUpList li.wide:nth-child(even) {
	margin-right: 0;
}

#topLineUp .lineUpList li .thumb {
  margin-bottom: 0;
}
#topLineUp .lineUpList li .thumb a {
  padding-top: 66.7%;
}

.moreTxt {
  font-family: "Antonio", sans-serif;
  font-size: min(5.6vw, 32px);
	text-align: center;
  margin-top: min(8vw, 60px);
}

#topAbout {
	padding-top: min(10vw, 60px);
	padding-bottom: 0;
	color: #fff;
}
#topAbout .topAboutWrap {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
#topAbout .indexHeadeline {
	border-top: #fff solid 1px;
	padding-top: min(10vw, 60px);
	text-align: center;
	display: block;
}
#topAbout .topAboutWrap .logo {
	width: 40%;
	padding: 0 6%;
	box-sizing: border-box;
}
#topAbout .topAboutWrap .txt {
	width: 58%;
}

#topPlaylist {
	padding-top: min(8vw, 60px);
}
#topPlaylist .playlistWrap {
	max-width: 600px;
	margin: 0 auto;
}

#topSponsors {
	padding: 40px 0 80px;
  background-color: #fff;
  position: relative;
  z-index: 1;
  margin: 0 min(6vw, 60px);
  border-radius: min(2vw, 10px);
}
#topSponsors .sponsorsHeadeline {
	color: #111;
  font-family: "Antonio", sans-serif;
  font-size: 32px;
  font-weight: 400;
  margin-bottom: 30px;
	text-align: center;
}
#topSponsors .sponsorsList + .sponsorsHeadeline {
  margin-top: min(8vw, 60px);
}
#topSponsors .sponsorsList {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
  gap: min(6vw, 30px) 0;
  padding: 0;
}
#topSponsors .sponsorsList li {
	height: 75px;
	width: auto;
	margin: 0 25px;
}

#topSponsors .sponsorsList li img {
	height: 100%;
	width: auto;
}


.illustArea {
  padding: min(10vw, 80px) min(5vw, 60px);
  position: relative;
/*  margin-bottom: min(9vw, 70px);*/
}
.illustArea .area {
  display: flex;
  justify-content: center;
  margin: 0 auto;
  position: relative;
  z-index: 1;
  border-top: #fff solid 1px;
  border-bottom: #fff solid 1px;
  padding: min(6vw, 30px) 0;
}
.illustArea .area li {
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.illustArea .area li + li {
  border-left: #fff solid 1px;
}
.illustArea .area li p {
  text-align: center;
  font-family: "Antonio", sans-serif;
  font-weight: 900;
  font-size: min(6vw, 36px);
  line-height: 1.4;
}
.illustArea .area li p span {
  display: block;
  font-size: 0.46em;
  font-weight: 400;
}
.illustArea .area li a {
  display: block;
  background-color: #fff;
  color: #000;
  text-decoration: none;
  font-family: "Antonio", sans-serif;
  font-size: min(3.6vw, 16px);
  font-weight: 600;
  padding: min(1.8vw, 8px) min(8vw, 60px) min(2vw, 10px);
  border-radius: 100px;
  margin-top: min(4vw, 20px);
}


.modal {
	max-width: 860px;
  margin: min(6vw, 30px) auto;
}

.artistHead {
	display: flex;
	justify-content: space-between;
}
.artistHead .artistTitle {
	width: 38%;
}
.artistHead .artistTitle h3 {
	font-size: 26px;
    line-height: 1.4;
	margin-bottom: 40px;
}
.artistHead .artistTitle h3 span {
	font-size: 16px;
    font-weight: normal;
	display: block;
    margin-top: 0.6em;
}
.artistHead .artistTitle .officialLinks {
	display: flex;
	justify-content: space-between;
	margin-bottom: 25px;
}
.artistHead .artistTitle .officialLinks li {
	width: 47%;
}
.artistHead .artistTitle .officialLinks li a {
	display: block;
	border: #fff solid 1px;
	color: #fff;
    font-family: "Antonio", sans-serif;
	font-size: 14px;
	font-weight: 500;
	text-decoration: none;
	text-align: center;
    padding: 10px 5px;
	border-radius: 5px;
}

.artistHead .artistTitle .artistSns {
	display: flex;
}
.artistHead .artistTitle .artistSns li {
	margin-right: 20px;
  line-height: 0;
}
.artistHead .artistTitle .artistSns li a {
	text-decoration: none;
	font-size: 24px;
}
.artistHead .artistTitle .artistSns .icon-lit {
  display: inline-block;
  width: min(5.5vw, 25px);
  height: min(5.5vw, 25px);
  background: url("../images/ico_link.png") no-repeat center center;
  background-size: contain;
  vertical-align: text-bottom;
}

.artistHead .artistPhoto {
	width: 58%;
	line-height: 0;
	position: relative;
	/*padding-top: 45.11%;
	background-color: #111;
	position: relative;*/
}
.artistHead .artistPhoto::after {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 2;
}
.artistHead .artistPhoto img {
	width: 100%;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	/*position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	object-fit: contain;*/
}

.artistBodoy {
	margin-top: 60px;
	padding-top: 60px;
	border-top: #777 solid 1px;
	display: flex;
	justify-content: space-between;
}
.artistBodoy .profile p {
	font-size: 16px;
	margin-bottom: 30px;
}
.artistBodoy .profile p a {
	color: #fff;
	text-decoration: underline;
}

.artistBodoy .playlistApp {
    min-width: 40%;
	margin-left: 40px;
}
.artistBodoy .playlistApp iframe {
	width: 100%;
/*    height: 420px;*/
}

.moreTxt {
	text-align: center;
    font-family: "Antonio", sans-serif;
    font-weight: bold;
	font-size: 26px;
    margin-bottom: 60px;
	margin-top: min(8vw, 60px);
}

@media screen and (min-width: 821px) {

	#watsNew .topNewsList li a {
		padding: 20px;
		border-radius: 10px;
	}
	#watsNew .topNewsList li a:hover {
		opacity: 1;
		background-color: rgba(0,0,0,0.3);
    backdrop-filter: blur(6px);
    transform: translateZ(0);
	}

}

@media screen and (max-width: 820px) {
  
  .ticketBtnWrap {
    max-width: 92%;
    padding: min(5vw, 30px);
  }
  .ticketBtn {
    justify-content: space-between;
    gap: 0;
  }
	.ticketBtn li {
		width: 48%;
	}

  .ticketBtn li a {
    font-size: min(3.6vw, 18px);
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: min(2vw, 10px);
    padding: min(3.5vw, 20px) min(3vw, 20px) min(4.2vw, 25px);
  }
  .ticketBtn li a span {
    font-family: "Antonio", sans-serif;
    font-weight: 600;
    font-size: 1.6em;
    font-weight: bold;
  }

	#topBnrArea {
		padding-top: min(12vw, 80px);
	}
	#topBnrArea ul li {
		padding: 0 min(2vw, 15px);
	}
	#topBnrArea ul li p {
		font-size: min(3vw, 14px);
		padding: min(2vw, 10px) min(3vw, 20px);
	}

	#watsNew .topNewsList li:last-child {
		margin-bottom: 0;
	}
	#watsNew .newsTab li a {
		font-size: min(4.2vw, 20px);
	}
	#watsNew .newsTab li a.on {
		border-bottom: #fff solid 3px;
	}

	#watsNew .topNewsList {
		padding-bottom: min(4vw, 30px);
    flex-wrap: wrap;
	}
	#watsNew .topNewsList li {
		width: 100%;
    margin-bottom: min(3vw, 30px);
	}
	#watsNew .topNewsList li a {
		display: flex;
    justify-content: space-between;
    align-items: start;
    padding: min(3vw, 15px);
    border-radius: 8px;
	}
	#watsNew .topNewsList li a .thumb {
		width: 40%;
		padding-top: 27.11%;
		margin-bottom: 0;
    border-radius: 6px;
	}
	#watsNew .topNewsList li a .txt {
		width: 55%;
	}
	#watsNew .topNewsList li a .txt .date {
		font-size: min(3.2vw, 13px);
		margin-bottom: min(2vw, 10px);
    	line-height: 1.2;
	}
	#watsNew .topNewsList li a .txt .ttl {
		font-size: min(3.3vw, 18px);
		margin-bottom: min(2vw, 10px);
    	line-height: 1.5;
	}
	#watsNew .topNewsList li a .txt .tag {
		font-size: min(3.2vw, 13px);
	}


	#topLineUp .lineUpList li.wide {
    	margin-right: 0;
    	margin-bottom: min(6vw, 60px);
	}


	#topAbout .topAboutWrap {
		flex-direction: column;
    	gap: min(6vw, 30px);
	}
	#topAbout .topAboutWrap .logo {
		width: 70%;
		padding: 0;
    	gap: min(6vw, 30px);
	}
	#topAbout .topAboutWrap .txt {
		width: 100%;
	}

	#topSponsors {
		padding: min(9vw, 40px) 0 min(14vw, 100px);
	}
	#topSponsors .sponsorsHeadeline {
		font-size: min(5.4vw, 28px);
    	margin-bottom: min(5vw, 60px);
	}
	#topSponsors .sponsorsList {
		justify-content: flex-start;
	}
	#topSponsors .sponsorsList li,
	#topSponsors .sponsorsList.v2 li {
		height: 70px;
		width: 50%;
    	margin: 0;
		text-align: center;
	}
	#topSponsors .sponsorsList li:nth-child(n+3) {
		margin-top: min(4vw, 20px);
	}
  

	.artistHead {
		flex-direction: column-reverse;
	}
	.artistHead .artistPhoto {
		width: 100%;
		margin-bottom: min(6vw, 40px);
	}
	.artistHead .artistTitle {
		width: 100%;
	}
	.artistHead .artistTitle h3 {
		font-size: min(5vw, 26px);
		margin-bottom: min(6vw, 40px);
	}
	.artistHead .artistTitle h3 span {
		font-size: min(3.6vw, 16px);
	}
	.artistHead .artistTitle .officialLinks {
		margin-bottom: min(4vw, 25px);
	}
	.artistHead .artistTitle .officialLinks li a {
		font-size: min(3.4vw, 16px);
		padding: min(2vw, 8px);
	}
	.artistHead .artistTitle .artistSns li {
		margin-right: min(4vw, 20px);
	}
	.artistHead .artistTitle .artistSns li a {
		text-decoration: none;
		font-size: min(5.2vw, 24px);
	}
	.artistBodoy {
		margin-top: min(8vw, 60px);
		padding-top: min(8vw, 60px);
    	display: block;
	}
	.artistBodoy .profile {
		margin-bottom: min(10vw, 40px);
	}
	.artistBodoy .profile p {
		font-size: min(3.4vw, 16px);
		margin-bottom: min(6vw, 30px);
	}

	.artistBodoy .playlistApp {
		width: 100%;
		min-width: inherit;
		margin-left: 0;
	}
	.artistBodoy .playlistApp iframe {
/*		height: 330px;*/
	}

	.moreTxt {
		font-size: min(4.2vw, 20px);
		margin-bottom: min(5vw, 80px);
	}
}


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

	Pick up

//////////////////////////////////////////////////////////////////////////////// */
#topPickup {
  margin-bottom: 80px;
}
#topPickup .indexHeadeline {
  padding-top: min(8vw, 60px);
  border-top: rgba(255,255,255,0.50) solid 1px;
}
#topPickup .topPickupList {
	display: flex;
    flex-wrap: wrap;
}
#topPickup .topPickupList li {
  width: 31%;
  margin-right: 3.5%;
  margin-bottom: 40px;
  overflow: hidden;
  border-radius: 10px;
	background-color: #fff;
}
#topPickup .topPickupList li:nth-child(3n),
#topPickup .topPickupList li:last-child {
	margin-right: 0;
}
#topPickup .topPickupList li a {
	display: block;
	color: #000;
	text-decoration: none;
}
#topPickup .topPickupList li .thumb {
  position: relative;
  width: 100%;
  padding-top: 55.8%;
}
#topPickup .topPickupList li .thumb a {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
#topPickup .topPickupList li .thumb img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#topPickup .topPickupList li .txt {
  padding: 14px 15px;
  color: #000;
  text-decoration: none;
  font-size: 12px;
  line-height: 1.6;
}




@media screen and (max-width: 820px) {
	
	#topPickup {
		margin-bottom: min(10vw, 80px);
	}
	#topPickup .topPickupList {
		justify-content: space-between;
	}
	#topPickup .topPickupList li {
		width: 48%;
		margin-right: 0;
		margin-bottom: min(5vw, 40px);
		border-radius: 6px;
	}
	#topPickup .topPickupList li .txt {
		padding: min(2vw, 10px) min(3vw, 20px);
    font-size: min(3vw, 12px);
	}
	
}


#topLineUp .lineUpList {
  margin: 0 auto;
}

#topLineUp .lineUpList li.wide {
  width: 48%;
  margin-right: 4%;
  margin-bottom: 0;
}
#topLineUp .lineUpList li.wide:nth-child(even) {
	margin-right: 0;
}

#topLineUp .lineUpList li .thumb {
/*	border-radius: 0;*/
  margin-bottom: 0;
}
#topLineUp .lineUpList li .thumb a {
  padding-top: 66.7%;
}

@media screen and (max-width: 820px) {
  
	#topLineUp .lineUpList li.wide {
    margin-right: 0;
    margin-bottom: min(6vw, 60px);
	}
  
}




#firstLineup {
  padding-top: min(8vw, 60px);
  padding-bottom: min(8vw, 60px);
}
#lineup {
  padding-bottom: min(8vw, 60px);
}
#firstLineup .firstLineupHeadWrap,
#lineup .firstLineupHeadWrap {
  position: relative;
  margin-bottom: min(8vw, 60px);
}

.firstLineupHeadeline {
  font-family: "Antonio", sans-serif;
  font-size: min(14.6vw, 94px);
  line-height: 1.1;
}
.firstLineupIco {
  display: flex;
  gap: min(4vw, 20px);
  margin-top: min(3vw, 15px);
}
.firstLineupIco li {
  display: flex;
  gap: min(2vw, 10px);
  align-items: center;
  font-size: min(3.1vw, 13px);
}
.firstLineupIco li::before {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  width: 1.94em;
  text-align: center;
  aspect-ratio: 1/1;
  font-weight: bold;
  padding-bottom: 0.1em;
}
.firstLineupIco li:nth-child(1)::before {
  content: "T";
  background-color: #0fb3f7;
}
.firstLineupIco li:nth-child(2)::before {
  content: "O";
  background-color: #f8711f;
}

.topHeadline {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: min(8vw, 60px) calc((100% - 31.5% * 3) / 2);
  margin-bottom: min(8vw, 60px);
}
.topHeadline li {
	width: 31.5%;
  position: relative;
}
.topHeadline li .name {
  font-size: min(3.6vw, 18px);
  font-weight: bold;
  color: #fff;
  padding: 0;
  line-height: 1.6;
  letter-spacing: 0.06em;
}
.topHeadline li .name span {
    display: block;
    font-weight: normal;
    font-size: min(3vw, 12px);
    letter-spacing: 0.08em;
}


.lineUpList {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: min(5vw, 40px) calc((100% - 31.5% * 3) / 2);
}
.lineUpList + .lineUpList {
  margin-top: min(10vw, 80px);
}
.lineUpList li {
	width: 31.5%;
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap;
  position: relative;
}
.lineUpList li.new::before {
  content: "NEW";
  font-family: "Antonio", sans-serif;
  font-weight: bold;
  position: absolute;
  top: -0.7em;
  left: 0.15em;
  font-size: 34px;
  line-height: 1;
  color: #ffcc00;
  z-index: 2;
}
.lineUpList li .thumb {
	overflow: hidden;
/*	border-radius: 10px;*/
	line-height: 0;
	background-color: #000;
  margin-bottom: min(3vw, 15px);
  width: 100%;
  position: relative;
	z-index: 1;
}
.lineUpList li.portrait {
	padding: 0 2.5%;
}
.lineUpList li .thumb a {
	overflow: hidden;
	display: block;
	position: relative;
	background-color: #1c1c1c;
  width: 100%;
  aspect-ratio: 86/63;
	z-index: 1;
}
.lineUpList li .thumb a::after {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	pointer-events: none;
	user-select: none;
	-moz-user-select: none;
	-webkit-user-select: none;
	-ms-user-select: none;
}

.lineUpList li .thumb img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: contain;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	z-index: 1;
}

.lineUpList li .name {
	font-size: min(3.6vw, 18px);
	font-weight: bold;
	color: #fff;
	padding: 0;
  line-height: 1.6;
  letter-spacing: 0.06em;
}
.lineUpList li .name span {
	display: block;
	font-weight: normal;
	font-size: min(3vw, 12px);
  letter-spacing: 0.08em;
}

.lineUpList li .name .icoT,
.lineUpList li .name .icoO {
  width: 2em;
  aspect-ratio: 1/1;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  text-indent: 0.1em;
  font-weight: 600;
  vertical-align: text-bottom;
  padding-bottom: 0.08em;
}
.lineUpList li .icoT {
  background-color: #0fb3f7;
}
.lineUpList li .icoO {
  background-color: #f8711f;
}

.lineUpList li .areaIco {
  display: flex;
  gap: min(1.5vw, 10px);
  align-items: center;
  font-size: min(2.6vw, 13px);
  margin-top: min(1vw, 5px);
  width: 100%;
}
.lineUpList li .areaIco::before {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  width: 1.76em;
  text-align: center;
  aspect-ratio: 1 / 1;
  font-weight: bold;
  padding-bottom: 0.1em;
  line-height: 1;
}
.lineUpList li .areaIco.tokyo::before {
  content: "T";
  background-color: #0fb3f7;
}
.lineUpList li .areaIco.osaka::before {
  content: "O";
  background-color: #f8711f;
}

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

  #firstLineup .firstLineupHeadWrap,
  #lineup .firstLineupHeadWrap {
    padding-top: 0;
    margin-bottom: min(10vw, 80px);
  }
  #firstLineup .firstLineupHeadInr,
  #lineup .firstLineupHeadInr {
    position: static;
  }
  
  .topHeadline li {
    width: 100%;
  }
  .topHeadline li:nth-child(even) {
    transform: translateY(0%);
  }
  
	.lineUpList {
		justify-content: space-between;
	}
	.lineUpList li {
    width: 47%;
		position: relative;
		margin-right: 0;
	}
	.lineUpList li .thumb {
    	margin-bottom: min(2vw, 20px);
		border-radius: 6px;
	}
	.lineUpList li .name {
		font-size: min(3.4vw, 16px);
		padding: 0;
		line-height: 1.6;
	}
	.lineUpList li .name span {
		font-size: min(2.6vw, 12px);
	}

	.lineUpList li.new::before {
		top: -0.7em;
    left: 0.4em;
		font-size: 4.6vw;
	}
  .lineUpList li .name .icoT,
  .lineUpList li .name .icoO {
    width: 1.8em;
  }
}



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

	Under page - Common

//////////////////////////////////////////////////////////////////////////////// */
#pageHead {
	padding: min(26vw, 160px) min(6vw, 60px) min(12vw, 100px);
	text-align: center;
}
.pageTitle {
  font-family: "Antonio", sans-serif;
  font-size: min(8.6vw, 58px);
  letter-spacing: .08em;
  line-height: 1.2;
}
#pageHead .eventSelect {
	margin-top: 60px;
	padding-top: 40px;
	display: flex;
	justify-content: center;
  font-family: "Antonio", sans-serif;
}
#pageHead .eventSelect li {
	font-size: min(3.6vw, 24px);
	font-weight: bold;
  letter-spacing: 0.08em;
	line-height: 1.4;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: min(3vw, 15px) min(5vw, 25px);
}
#pageHead .eventSelect li + li {
	border-left: #fff solid 1px;
	margin-left: min(3vw, 20px);
}
#pageHead .eventSelect li a {
	color: #fff;
	text-decoration: none;
  display: inline-block;
}
#pageHead .eventSelect li a:first-child {
	margin-left: 0;
}
#pageHead .eventSelect li a.current {
	border-bottom: #fff solid 4px;
}
#pageHead .eventSelect li span {
	font-size: 18px;
	font-weight: normal;
}


#pageHead .daySelect {
    border-top: #ccc solid 1px;
    margin-top: 40px;
    padding-top: 30px;
	display: flex;
    justify-content: center;
}
#pageHead .daySelect li  {
	padding: 0 40px;
	border-right: #ccc solid 1px;
}
#pageHead .daySelect li:last-child {
	border-right: none;
}
#pageHead .daySelect li p {
  width: 240px;
  padding: 5px;
  text-align: center;
  font-family: "Antonio", sans-serif;
  font-size: 18px;
  line-height: 1.4;
  font-weight: bold;
  margin-bottom: 20px;
}
#pageHead .daySelect li.tokyo p {
	background-color: #2bc2c0;
}
#pageHead .daySelect li.osaka p {
	background-color: #f9af43;
}
#pageHead .daySelect li.sonicmania p {
	background-color: #bd56ff;
}
#pageHead .daySelect li div {
	display: flex;
	justify-content: center;
}
#pageHead .daySelect li div a {
  font-family: "Antonio", sans-serif;
  color: #fff;
  text-decoration: none;
  font-size: 32px;
  font-weight: bold;
  margin: 0 15px;
  line-height: 1.4;
  padding-bottom: 2px;
}
#pageHead .daySelect li div a.current {
	border-bottom: #fff solid 4px;
}

#pageHead .lineupLogo {
    max-width: 320px;
    margin: 60px auto 0;
    line-height: 0;
}


.eventHaed {
	margin-bottom: 80px;
}
.eventHaed .logo {
	width: 60%;
	max-width: 300px;
	margin: 0 auto 35px;
	line-height: 0;
}
.eventHaed .place {
  font-family: "Antonio", sans-serif;
	text-align: center;
  font-size: 38px;
  font-weight: bold;
  letter-spacing: .08em;
  line-height: 1;
}
.eventHaed .place span {
	font-size: 18px;
    font-weight: 500;
    letter-spacing: .05em;
}
.eventHaed h3 {
	text-align: center;
	font-size: 28px;
    font-weight: 400;
	margin-bottom: 40px;
}
.eventHaed .date {
	margin-top: 20px;
	text-align: center;
	font-size: 20px;
	font-weight: bold;
	font-feature-settings: "palt";
	letter-spacing: .1em;
}
.eventHaed .date strong {
	font-size: 32px;
}
.eventHaed .date span {
	font-size: 16px;
	font-weight: 400;
	letter-spacing: .05em;
}

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

	#pageHead .eventSelect {
		margin-top: min(8vw, 60px);
    	padding-top: min(6vw, 40px);
    	align-items: flex-end;
	}
	#pageHead .eventSelect li + li {
		margin-left: 4vw;
	}
	#pageHead .eventSelect li span {
		font-size: min(3.4vw, 18px);
    	display: block;
		width: 100%;
		text-align: center;
    	margin-bottom: 0;
	}
	#pageHead .eventSelect li span + a {
		margin-left: 0;
	}
	#pageHead .eventSelect li a {
		border-bottom: rgba(255,255,255,0) solid 2px;
	}
	#pageHead .eventSelect li a.current {
		border-bottom: #fff solid 2px;
	}

	#pageHead .daySelect li {
		width: 50%;
    	padding: 0 min(1vw, 20px);
	}
	#pageHead .daySelect li p {
		width: 100%;
		padding: min(1vw, 5px);
    	font-size: min(3.4vw, 18px);
    	margin-bottom: min(2vw, 20px);
	}
	#pageHead .daySelect li div a {
		font-size: min(4vw, 32px);
    	margin: 0 min(1vw, 15px);
    	line-height: 1.5;
    	padding-bottom: min(1vw, 2px);
	}
	#pageHead .daySelect li div a.current {
		border-bottom: #fff solid 2px;
	}

	#pageHead .lineupLogo {
		margin: min(10vw, 60px) auto 0;
		width: 50vw;
	}


	.eventHaed {
		margin-bottom: min(10vw, 80px);
	}
	.eventHaed .logo {
		width: 55%;
		margin: 0 auto min(6vw, 35px);
	}
	.eventHaed .place {
		display: block;
		font-size: min(6.8vw, 38px);
	}
	.eventHaed .place span {
		font-size: min(3.2vw, 18px);
	}

	.eventHaed h3 {
		font-size: min(4.8vw, 28px);
		margin-bottom: min(8vw, 40px);
	}
	.eventHaed .date {
		margin-top: min(4vw, 20px);
    	font-size: min(4.6vw, 20px);
	}
	.eventHaed .date strong {
		font-size: min(6.8vw, 32px);
	}

}

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

	News

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

.newsList {
	display: flex;
	flex-wrap: wrap;
}
.newsList li {
	width: 32%;
	margin-right: 2%;
	margin-bottom: 40px;
}
.newsList li:nth-child(3n) {
	margin-right: 0;
}
.newsList li a {
	display: block;
    color: #fff;
    text-decoration: none;
}
.newsList li .thumb {
	line-height: 0;
	border-radius: 10px;
	overflow: hidden;
	padding-top: 67.73%;
	position: relative;
}
.newsList li .thumb img {
	width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    position: absolute;
    object-fit: cover;
}
.newsList li .txt {
	padding: 15px 10px 5px;
}
.newsList li .txt .date {
  font-size: 16px;
  font-family: "Antonio", sans-serif;
  letter-spacing: .1em;
  margin-bottom: 5px;
}
.newsList li .txt .ttl {
    font-size: 15px;
    margin-bottom: 15px;
	line-height: 1.6;
}
.newsList li .txt .tag {
  font-family: "Antonio", sans-serif;
  font-size: 16px;
  font-weight: bold;
}
.newsList li .txt .tag.tagSS {
    color: #2fc4da;
}
.newsList li .txt .tag.tagSM {
    color: #e08bff;
}

#news .newsDetailHead {
	margin-bottom: 60px;
}
#news .newsDetailHead h3 {
	font-size: 28px;
	font-weight: 500;
}
#news .newsDetailHead .subTtl {
	margin-top: 5px;
	font-size: 16px;
}
#news .newsDetailHead .newsMeta {
	margin-top: 25px;
	display: flex;
	justify-content: space-between;
  align-items: end;
  font-family: "Antonio", sans-serif;
  line-height: 1.5;
}
#news .newsDetailHead .newsMeta .date {
	font-size: 20px;
	font-weight: 500;
	margin-bottom: 4px;
}
#news .newsDetailHead .newsMeta .cat {
	font-size: 18px;
	font-weight: 500;
}
#news .newsDetailHead .newsMeta .catSS {
	color: #2fc4da;
}
#news .newsDetailHead .newsMeta .catSM {
    color: #e08bff;
}

#news .newsDetailHead .newsMeta .newsSns {
	display: flex;
}
#news .newsDetailHead .newsMeta .newsSns li {
	margin-left: 20px;
}
#news .newsDetailHead .newsMeta .newsSns li a {
	font-size: 24px;
	text-decoration: none;
}

#news .newsBody {
	margin-bottom: 80px;
  overflow: hidden;
}
#news .newsBody .eyeCatch {
	line-height: 0;
	margin-bottom: 60px;
	border-radius: 10px;
	overflow: hidden;
}
#news .newsBody .eyeCatch img {
	width: 100%;
}
#news .newsBody p {
	font-size: 16px;
	margin-bottom: 30px;
	line-height: 2;
/*	word-break: break-all;*/
}
#news .newsBody a {
	color: #fff;
	text-decoration: underline;
	word-break: break-all;
}
#news .newsBody a:hover {
	text-decoration: none;
}

#news .newsBody .newsBtnWrap {
	margin: 40px 0;
}
#news .newsBody .newsBtnWrap a {
    text-align: center;
    display: inline-block;
    color: #000;
    text-decoration: none;
    font-size: 16px;
    border: #fff solid 1px;
    border-radius: 8px;
    padding: 15px 40px;
    min-width: 200px;
    background-color: #fff;
}
#news .newsBody .newsBtnWrap span {
    text-align: center;
    display: inline-block;
    color: #000;
    text-decoration: none;
    font-size: 16px;
    border: #ddd solid 1px;
    border-radius: 8px;
    padding: 15px 40px;
    min-width: 200px;
    background-color: #ddd;
}

#news .newsBody h4 {
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 30px;
  margin-top: 60px;
}

#news .newsBody .newsLine + h4 {
  margin-top: 0;
}
#news .newsBody .newsLine {
  margin: min(7vw, 40px) 0;
  border-bottom: #fff solid 1px;
  height: 0;
}

#news .newsBody .profBtn {
	margin-top: 60px;
}
#news .newsBody  .profBtn a {
  display: block;
  border: #fff solid 2px;
  text-align: center;
  color: #fff;
  text-decoration: none;
  font-family: "Antonio", sans-serif;
  font-weight: 400;
  padding: 10px;
  font-size: 16px;
  border-radius: 8px;
  width: 160px;
  margin: 0 auto;
}

#news .newsBody .newsInBtn {
	margin-top: 60px;
}
#news .newsBody  .newsInBtn a {
  display: block;
  border: #fff solid 2px;
  text-align: center;
  color: #fff;
  text-decoration: none;
  font-family: "Antonio", sans-serif;
  font-weight: 400;
  padding: 10px;
  font-size: 16px;
  border-radius: 8px;
  width: 160px;
  margin: 0 auto;
}
#news .newsBody figure {
	margin-bottom: 60px;
}
#news .newsBody figure figcaption {
	font-size: 14px;
	margin-top: 10px;
}
#news .newsBody .txtBox {
	background-color: rgba(0,0,0,0.5);
    padding: 20px;
    margin-bottom: 40px;
    backdrop-filter: blur(5px);
    transform: translateZ(0);
}
#news .newsBody p:last-child {
	margin-bottom: 0;
}

#news .newsBody .newsGallery {
	display: flex;
    flex-wrap: wrap;
}
#news .newsBody .newsGallery li {
    width: 25%;
	padding: 0 1%;
	margin-bottom: 20px;
	box-sizing: border-box;
}
#news .newsBody .newsGallery li div {
	position: relative;
	line-height: 0;
	background-color: #111;
	padding-top: 66.7%;
}
#news .newsBody .newsGallery li img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.pagination {
	display: flex;
	justify-content: center;
	padding: 100px 0;
	position: relative;
}
.pagination::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 50%;
	width: 1px;
	height: 60px;
	background-color: #fff;
}
.pagination a {
	color: #fff;
	text-decoration: none;
}
.pagination .page-numbers {
	width: 40px;
	line-height: 36px;
  font-family: "Antonio", sans-serif;
	font-size: 16px;
	font-weight: 500;
	border: #fff solid 2px;
	border-radius: 50%;
	text-align: center;
	margin: 0 10px;
  box-sizing: border-box;
}
.pagination .page-numbers.current {
	background-color: #fff;
	color: #000;
}

.pagination .page-numbers.next,
.pagination .page-numbers.prev {
	position: relative;
	text-indent: -9999px;
}
.pagination .page-numbers.next::before {
	content: "";
	display: block;
	width: 20%;
	height: 20%;
	position: absolute;
	top: 50%;
    left: 47.5%;
	transform: translate(-50%, -50%) rotate(45deg);
	border-top: #fff solid 1px;
	border-right: #fff solid 1px;
}
.pagination .page-numbers.prev::before {
	content: "";
	display: block;
	width: 20%;
	height: 20%;
	position: absolute;
	top: 50%;
    left: 52.5%;
	transform: translate(-50%, -50%) rotate(45deg);
	border-left: #fff solid 1px;
	border-bottom: #fff solid 1px;
}

.backBtn {
	padding: 100px 0;
	position: relative;
	text-align: center;
}
.backBtn::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 50%;
	width: 1px;
	height: 60px;
	background-color: #fff;
}
.backBtn a {
	color: #fff;
	text-decoration: none;
  font-family: "Antonio", sans-serif;
	font-size: 24px;
	font-weight: 500;
	letter-spacing: .1em;
}

.backBtn.pageing {
	padding: 100px 60px;
}
.backBtn.pageing .pagePrev {
	position: absolute;
	top: 100px;
	left: 60px;
}
.backBtn.pageing .pageNext {
	position: absolute;
	top: 100px;
	right: 60px;
}
.backBtn.pageing .pagePrev a {
	position: relative;
	padding-left: 30px;
}
.backBtn.pageing .pageNext a {
	position: relative;
	padding-right: 30px;
}
.backBtn.pageing .pagePrev a::before,
.backBtn.pageing .pageNext a::before {
	content: "";
	display: block;
	width: 14px;
	height: 14px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
}
.backBtn.pageing .pagePrev a::before {
	left: 4px;
	border-left: #fff solid 2px;
	border-bottom: #fff solid 2px;
}
.backBtn.pageing .pageNext a::before {
	right: 4px;
	border-right: #fff solid 2px;
	border-top: #fff solid 2px;
}


strong { font-weight: bold; }
em { font-style: italic; }
blockquote {
	display: block;
	-webkit-margin-before: 1em;
	-webkit-margin-after: 1em;
	-webkit-margin-start: 40px;
	-webkit-margin-end: 40px;
}
.aligncenter {
	display: block;
	margin: 0 auto;
}
.alignright { float: right; }
.alignleft { float: left; }

@media screen and (min-width: 821px) {
	.newsList li a {
		padding: 10px;
		border-radius: 10px;
	}
	.newsList li a:hover {
		opacity: 1;
		background-color: rgba(0,0,0,0.3);
    	backdrop-filter: blur(6px);
        transform: translateZ(0);
	}

	.pagination a:hover {
		color: #000;
		background-color: #fff;
		opacity: 1;
	}
	.pagination .page-numbers.next::before,
	.pagination .page-numbers.prev::before {
		transition: all .3s ease-out;
	}
	.pagination .page-numbers.next:hover::before {
		border-top: #000 solid 1px;
    	border-right: #000 solid 1px;
	}
	.pagination .page-numbers.prev:hover::before {
		border-left: #000 solid 1px;
    	border-bottom: #000 solid 1px;
	}
}
@media screen and (max-width: 820px) {
	.newsList {
		justify-content: space-between;
	}
	.newsList li {
		width: 47%;
		margin-right: 0;
		margin-bottom: min(8vw, 60px);
	}
	.newsList li .thumb {
		border-radius: 6px;
	}
	.newsList li .txt {
		padding: 3vw 0 0;
	}
	.newsList li .txt .date {
		font-size: min(3.4vw, 16px);
		margin-bottom: min(2vw, 10px);
    	line-height: 1.4;
	}
	.newsList li .txt .ttl {
		font-size: min(3.4vw, 18px);
		margin-bottom: min(3.2vw, 16px);
		letter-spacing: .05em;
	}
	.newsList li .txt .tag {
		font-size: min(3.2vw, 14px);
	}

	#news .newsDetailHead {
		margin-bottom: min(8vw, 60px);
	}
	#news .newsDetailHead h3 {
		font-size: min(4.2vw, 24px);
		margin-bottom: min(4vw, 20px);
    	line-height: 1.6;
	}
	#news .newsDetailHead .newsMeta .date {
		font-size: min(3vw, 16px);
		margin-bottom: min(1vw, 4px);
	}
	#news .newsDetailHead .newsMeta .cat {
		font-size: min(3vw, 16px);
	}

	#news .newsDetailHead .newsMeta .newsSns li {
		margin-left: min(3vw, 20px);
	}
	#news .newsDetailHead .newsMeta .newsSns li a {
		font-size: min(5.2vw, 24px);
	}

	#news .newsBody {
		margin-bottom: min(14vw, 80px);
	}
	#news .newsDetailHead .subTtl {
		margin-top: min(1vw, 5px);
		font-size: min(3.2vw, 16px);
	}
	#news .newsBody .eyeCatch {
		margin-bottom: min(8vw, 60px);
		border-radius: 8px;
	}
	#news .newsBody p {
		font-size: min(3.4vw, 16px);
		margin-bottom: min(5vw, 25px);
		line-height: 1.8;
	}
	#news .newsBody p.iframeBox {
/*		padding-top: 56.25%;*/
		position: relative;
	}
	#news .newsBody p.iframeBox iframe {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}

	#news .newsBody .newsBtnWrap {
		margin: min(8vw, 40px) 0;
		text-align: center;
	}
	#news .newsBody .newsBtnWrap a {
		font-size: min(3.6vw, 16px);
		padding: min(3vw, 15px);
		min-width: 60%;
	}
	#news .newsBody .newsBtnWrap span {
		font-size: min(3.6vw, 16px);
		padding: min(3vw, 15px);
		min-width: 60%;
	}

	#news .newsBody h4 {
		font-size: min(4vw, 20px);
		margin-bottom: min(6vw, 30px);
		margin-top: min(12vw, 60px);
	}

	#news .newsBody figure {
		margin-bottom: min(10vw, 60px);
	}
	#news .newsBody figure figcaption {
		font-size: min(2.8vw, 14px);
		margin-top: min(2vw, 10px);
	}

	#news .newsBody .txtBox {
		padding: min(4vw, 20px);
		margin-bottom: min(8vw, 40px);
	}

	#news .newsBody .newsGallery {
		justify-content: space-between;
	}
	#news .newsBody .newsGallery li {
		width: 48%;
		padding: 0;
		margin-bottom: min(4vw, 20px);
	}


	#news .newsBody .profBtn {
		margin-top: min(8vw, 60px);
	}
	#news .newsBody .profBtn a {
		padding: min(2vw, 10px);
		font-size: min(3.6vw, 16px);
		border-radius: 6px;
		width: 140px;
	}
	#news .newsBody .newsInBtn {
		margin-top: min(8vw, 60px);
	}
	#news .newsBody .newsInBtn a {
		padding: min(2vw, 10px);
		font-size: min(3.6vw, 16px);
		border-radius: 6px;
		width: 140px;
	}

	.pagination {
		padding: min(15vw, 80px) 0;
	}
	.pagination::before {
		height: min(10vw, 60px);
	}
	.pagination .page-numbers {
		width: min(8vw, 40px);
		line-height: min(8vw, 40px);
		font-size: min(3.2vw, 16px);
    	margin: 0 min(1.4vw, 10px);
	}

	.backBtn {
		padding: min(15vw, 80px) 0;
	}
	.backBtn::before {
		height: min(10vw, 60px);
	}
	.backBtn a {
		font-size: min(4.2vw, 20px);
	}

	.backBtn.pageing {
		padding: min(15vw, 80px) min(6vw, 60px);
	}
	.backBtn.pageing .pagePrev {
		position: absolute;
		top: min(15vw, 80px);
		left: min(6vw, 60px);
	}
	.backBtn.pageing .pageNext {
		position: absolute;
		top: min(15vw, 80px);
		right: min(6vw, 60px);
	}
	.backBtn.pageing .pagePrev a {
		padding-left: min(6vw, 30px);
	}
	.backBtn.pageing .pageNext a {
		padding-right: min(6vw, 30px);
	}
	.backBtn.pageing .pagePrev a::before,
	.backBtn.pageing .pageNext a::before {
		width: min(3vw, 14px);
		height: min(3vw, 14px);
	}
}



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

	Info

//////////////////////////////////////////////////////////////////////////////// */
#info .infoLocation {
	padding-top: 80px;
	border-top: #fff solid 1px;
}
#info .infoLocation h3 {
    text-align: center;
    font-size: 28px;
    font-weight: 400;
    margin-bottom: 40px;
}
#info .location {
	display: flex;
	justify-content: space-between;
}
#info .location .gmap {
	width: 47%;
	border-radius: 10px;
	overflow: hidden;
    min-height: 340px;
}
#info .location .gmap iframe {
	width: 100%;
	height: 100%;
	object-fit: fill;
	border-radius: 10px;
}
#info .location .access {
	width: 47%;
}
#info .location .access h5 {
	font-size: 18px;
	font-weight: 500;
	margin-bottom: 30px;
}
#info .location .access h6 {
	font-size: 15px;
	font-weight: 500;
	margin-bottom: 5px;
}
#info .location .access p {
	font-size: 14px;
	margin-bottom: 20px;
}

#info .infoLocation .infoBnr {
	margin: 60px auto 0;
    text-align: center;
    max-width: 340px;
}

#info .lineupImg {
	max-width: 540px;
    margin: 100px auto 0;
}

#info .infoBody {
	margin-bottom: 40px;
}
#info .infoBody h4 {
	font-size: 20px;
	font-weight: 500;
	text-align: center;
	margin-bottom: 30px;
	letter-spacing: .08em;
}
#info .infoBody div + h4,
#info .infoBody p + h4 {
	margin-top: 80px;
}
#info .infoBody .stageMap {
	line-height: 0;
	border-radius: 10px;
	overflow: hidden;
}

#info .infoBody p {
	font-size: 16px;
	margin-bottom: 40px;
}

#info .aboutAcd {
	margin-top: 100px;
	border-bottom: #fff solid 1px;
}
#info .aboutAcd dt {
  font-family: "Antonio", sans-serif;
    font-weight: 900;
	font-size: 38px;
	letter-spacing: 0.1em;
	text-align: center;
	padding: 15px 0;
	border-top: #fff solid 1px;
	position: relative;
	cursor: pointer;
}
#info .aboutAcd dt::before,
#info .aboutAcd dt::after {
	content: "";
	display: block;
	background-color: #fff;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}
#info .aboutAcd dt::before {
	width: 30px;
	height: 1px;
	right: 30px;
}
#info .aboutAcd dt::after {
	height: 30px;
	width: 1px;
	right: 45px;
	transition: all 0.3s ease-out;
}
#info .aboutAcd dt.on::after {
	transform: translateY(-50%) rotate(90deg);
}
#info .aboutAcd dd {
	padding: 40px 0;
	display: none;
}
#info .aboutAcd .about .logo {
	margin-bottom: 60px;
}

#info .areaMap {
    margin-bottom: min(10vw, 80px);
}
#info .areaMap .mapImg {
  line-height: 0;
  max-width: 1140px;
  margin: 0 auto　min(6vw, 30px);
}



#notes h3 {
    text-align: center;
    font-size: 24px;
    margin-bottom: 60px;
}
#notes .attentionLead {
    font-size: 16px;
    margin-bottom: 60px;
    text-align: center;
}
#notes .attentionLead a {
	color: #fff;
	text-decoration: underline;
}
#notes .notesWrap {
    background-color: #fff;
    border-radius: 10px;
    color: #000;
    padding: 30px 40px;
    margin-bottom: 40px;
}
#notes .notesWrap h4 {
    font-size: 18px;
    margin-bottom: 10px;
}
#notes .notesWrap p + h4 {
	margin-top: min(4vw, 20px);
}
#notes .notesWrap p {
    font-size: 14px;
    padding: 15px 0;
    border-bottom: #ccc solid 1px;
}
#notes .notesWrap p:last-child {
    border-bottom: none;
}

#notes .notesWrap p a {
    color: #000;
    text-decoration: underline;
}

@media screen and (max-width: 820px) {
	#info .infoLocation {
		padding-top: min(10vw, 80px);
		margin-bottom: min(14vw, 100px);
	}
	#info .infoLocation h3 {
		font-size: min(4.8vw, 28px);
		margin-bottom: min(8vw, 40px);
	}
	#info .location {
		flex-direction: column-reverse;
	}
	#info .location .gmap {
		width: 100%;
		height: 65vw;
		min-height: inherit;
	}
	#info .location .access {
		width: 100%;
		margin-bottom: min(8vw, 40px);
	}
	#info .location .access h5 {
		font-size: min(4vw, 18px);
		margin-bottom: min(6vw, 30px);
	}
	#info .location .access h6 {
		font-size: min(3.4vw, 15px);
		margin-bottom: min(1vw, 5px);
	}
	#info .location .access p {
		font-size: min(3.4vw, 14px);
		margin-bottom: min(4vw, 20px);
	}


	#info .lineupImg {
		margin: min(12vw, 100px) auto 0;
	}

	#info .infoBody {
		margin-bottom: min(8vw, 40px);
	}
	#info .infoBody h4 {
		font-size: min(3.8vw, 20px);
		margin-bottom: min(6vw, 30px);
	}
	#info .infoBody div + h4,
	#info .infoBody p + h4 {
		margin-top: min(12vw, 80px);
	}
	#info .infoBody .stageMap {
		border-radius: 8px;
	}

	#info .infoBody p {
		font-size: min(3.2vw, 16px);
		margin-bottom: min(8vw, 40px);
	}

	#info .aboutAcd {
		margin-top: min(16vw, 100px);
    	margin-bottom: min(8vw, 60px);
	}
	#info .aboutAcd dt {
    	font-size: min(5.8vw, 38px);
    	padding: min(4vw, 15px) 0;
	}

	#info .aboutAcd dt::before {
		width: 25px;
		right: 20px;
	}
	#info .aboutAcd dt::after {
		height: 25px;
    	right: 32px;
	}

	#info .aboutAcd dd {
		padding: min(6vw, 40px) 0;
	}
	#info .aboutAcd .about .logo {
		margin-bottom: min(8vw, 60px);
	}
	#info .aboutAcd .contentWrap {
		padding: 0;
	}

	#notes h3 {
		font-size: min(4.2vw, 24px);
		margin-bottom: min(8vw, 60px);
	}
	#notes .attentionLead {
		font-size: min(3.2vw, 16px);
		margin-bottom: min(8vw, 60px);
		text-align: left;
	}
	#notes .notesWrap {
		padding: min(6vw, 40px) min(6vw, 40px);
		margin-bottom: min(6vw, 40px);
	}
	#notes .notesWrap h4 {
		font-size: min(4vw, 18px);
		margin-bottom: min(2vw, 20px);
	}
	#notes .notesWrap p {
		font-size: min(3.2vw, 14px);
		padding: min(3vw, 15px) 0;
	}
}



.mapImg {
	line-height: 0;
  max-width: 1140px;
  margin: 0 auto min(8vw, 60px);
}
#info h4 {
  font-size: min(4vw, 24px);
  margin-bottom: 1em;
  text-align: center;
  padding-top: min(8vw, 60px);
  border-top: #fff solid 1px;
}
.mapCs {
	text-align: center;
    padding: 60px 0 120px;
    font-size: 18px;
    font-weight: bold;
    letter-spacing: .1em;
    margin: 0 auto;
}

.stageNav h3 {
	text-align: center;
	font-size: 28px;
	margin-bottom: 40px;
}
.stageNav .areaSelect {
	display: flex;
	justify-content: center;
	margin-bottom: 40px;
}
.stageNav .areaSelect li {
	width: 30%;
	margin: 0 1%;
}
.stageNav .areaSelect li a {
	display: block;
	padding: 15px;
	border-radius: 6px;
	border: #fff solid 2px;
	color: #fff;
	text-decoration: none;
	text-align: center;
	font-weight: bold;
	font-size: 18px;
}
.stageNav .areaSelect li a.current {
	background-color: #fff;
	color: #000;
}

.mapAnchor {
	display: flex;
	flex-wrap: wrap;
}
.mapAnchor dt {
  font-family: "Antonio", sans-serif;
	width: 240px;
	font-size: 20px;
	padding: 15px 0;
	border-bottom: #fff solid 1px;
}
.mapAnchor dd {
	width: calc(100% - 240px);
	padding: 15px 0;
	border-bottom: #fff solid 1px;
	display: flex;
	flex-wrap: wrap;
    align-items: center;
}
.mapAnchor dd a {
	color: #fff;
	display: inline-flex;
	align-items: center;
	font-size: 16px;
	font-weight: bold;
	text-decoration: none;
	margin-right: 25px;
    margin-bottom: 6px;
}
.mapAnchor dd a:last-child {
	margin-right: 0;
}


#stadiumArea {
	display: none;
}


.whiteBox {
    background-color: #fff;
    padding: 40px 60px 80px;
    border-radius: 10px;
	color: #000;
	margin-top: 40px;
}
.whiteBox h4 {
	font-size: 32px;
}
.whiteBox .facilityWrap {
	padding: 30px 0;
	border-bottom: #ccc solid 1px;
}

.whiteBox .facilityWrap .stageHead {
	display: flex;
	align-items: center;
	margin-bottom: 30px;
}

.whiteBox .facilityWrap h5 {
	font-size: 20px;
	margin-bottom: 30px;
	line-height: 1.2;
    color: #e14a9c;
}
.whiteBox .facilityWrap .stageHead p {
	font-size: 16px;
	font-weight: bold;
}

.whiteBox .facilityWrap h5.stageTtl {
	display: flex;
	align-items: center;
	margin-bottom: 0;
	margin-right: 40px;
}
.whiteBox .facilityWrap h5.stageTtl::before {
	content: "";
	display: inline-block;
    width: 45px;
    height: 45px;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
    margin-right: 12px;
}

.mapAnchor dd a.marine::before,
.mapAnchor dd a.beach::before,
.mapAnchor dd a.mountain::before,
.mapAnchor dd a.sonic::before,
.mapAnchor dd a.pacific::before,
.mapAnchor dd a.spotifyRadar::before {
	content: "";
	display: inline-block;
    width: 25px;
    height: 25px;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
    margin-right: 8px;
}


.whiteBox .facilityWrap .marine h5,
.whiteBox .facilityWrap .marine p { color: #4da4d6;}
.mapAnchor dd a.marine::before,
.whiteBox .facilityWrap .marine h5::before { background-image: url("../images/stage_logo_marine.svg");}

.whiteBox .facilityWrap .beach h5,
.whiteBox .facilityWrap .beach p { color: #ccc3aa;}
.mapAnchor dd a.beach::before,
.whiteBox .facilityWrap .beach h5::before { background-image: url("../images/stage_logo_beach.svg");}

.whiteBox .facilityWrap .mountain h5,
.whiteBox .facilityWrap .mountain p { color: #4d9c5d;}
.mapAnchor dd a.mountain::before,
.whiteBox .facilityWrap .mountain h5::before { background-image: url("../images/stage_logo_mountain.svg");}

.whiteBox .facilityWrap .sonic h5,
.whiteBox .facilityWrap .sonic p { color: #e2a33d;}
.mapAnchor dd a.sonic::before,
.whiteBox .facilityWrap .sonic h5::before { background-image: url("../images/stage_logo_sonic.svg");}

.whiteBox .facilityWrap .pacific h5,
.whiteBox .facilityWrap .pacific p { color: #ebb9c2;}
.mapAnchor dd a.pacific::before,
.whiteBox .facilityWrap .pacific h5::before { background-image: url("../images/stage_logo_pacific.svg");}

.whiteBox .facilityWrap .maniac h5,
.whiteBox .facilityWrap .maniac p { color: #ebb9c2;}
.mapAnchor dd a.maniac::before,
.whiteBox .facilityWrap .maniac h5::before { background-image: url("../images/stage_logo_maniac.svg");}

.whiteBox .facilityWrap .spotifyRadar h5,
.whiteBox .facilityWrap .spotifyRadar p { color: #bbb;}
.mapAnchor dd a.spotifyRadar::before,
.whiteBox .facilityWrap .spotifyRadar h5::before { background-image: url("../images/stage_logo_spotify.svg");}
.whiteBox .facilityWrap .spotifyRadar h5::before {
	box-shadow: 0px 0px 12px -5px rgba(0,0,0,0.8);
    background-color: #ccc;
	border-radius: 50%;
}

.whiteBox .facilityWrap .stagePic {
	display: flex;
	justify-content: space-between;
	margin-bottom: 30px;
}
.whiteBox .facilityWrap .stagePic li {
	line-height: 0;
	width: 49%;
}

.whiteBox .facilityWrap p a {
    color: #000;
    text-decoration: underline;
}

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

	.mapImg {
		margin-bottom: min(12vw, 80px);
	}
	.mapCs {
		padding: min(8vw, 60px) 0 min(20vw, 120px);
		font-size: min(3vw, 18px);
	}

	.stageNav h3 {
		font-size: min(4.8vw, 28px);
		margin-bottom: min(6vw, 40px);
	}
	.stageNav .areaSelect {
		margin-bottom: min(6vw, 40px);
	}
	.stageNav .areaSelect li {
		width: 48%;
		margin: 0 1%;
	}
	.stageNav .areaSelect li a {
		padding: min(2vw, 15px);
		font-size: min(3.6vw, 18px);
		line-height: 1.6;
	}

	.mapAnchor {
		display: block;
	}
	.mapAnchor dt {
		width: 100%;
		font-size: min(4.6vw, 20px);
		padding: min(3vw, 15px) 0 0;
		border-bottom: none;
	}
	.mapAnchor dd {
		width: 100%;
		padding: min(2vw, 15px) 0;
	}
	.mapAnchor dd a {
		font-size: min(3.4vw, 16px);
		margin-right: min(5vw, 25px);
		margin-bottom: min(1.5vw, 15px);
	}


	.whiteBox {
		padding: min(4vw, 40px) min(5vw, 60px);
		margin-top: min(6vw, 40px);
	}
	.whiteBox h4 {
		font-size: min(6.2vw, 32px);
	}
	.whiteBox p {
		font-size: min(3.2vw, 14px);
	}
	.whiteBox .facilityWrap {
		padding: min(6vw, 30px) 0;
	}

	.whiteBox .facilityWrap .stageHead {
		display: block;
		margin-bottom: min(6vw, 30px);
	}

	.whiteBox .facilityWrap h5 {
		font-size: min(3.8vw, 20px);
		margin-bottom: min(6vw, 30px);
	}
	.whiteBox .facilityWrap .stageHead p {
		font-size: min(3.4vw, 16px);
	}

	.whiteBox .facilityWrap h5.stageTtl {
		margin-bottom: min(4vw, 20px);
		margin-right: 0;
	}
	.whiteBox .facilityWrap h5.stageTtl::before {
		width: min(9.5vw, 45px);
		height: min(9.5vw, 45px);
		margin-right: min(3vw, 12px);
	}

	.mapAnchor dd a.marine::before,
	.mapAnchor dd a.beach::before,
	.mapAnchor dd a.mountain::before,
	.mapAnchor dd a.sonic::before,
	.mapAnchor dd a.pacific::before,
	.mapAnchor dd a.maniac::before,
	.mapAnchor dd a.spotifyRadar::before {
		width: min(6vw, 25px);
		height: min(6vw, 25px);
		margin-right: min(2vw, 8px);
	}

	.whiteBox .facilityWrap .stagePic {
		margin-bottom: min(4vw, 30px);
	}
}


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

	Extra

//////////////////////////////////////////////////////////////////////////////// */
.lineUpList.extra {
	justify-content: space-between;
    align-items: stretch;
}
.lineUpList.extra li {
	width: 46%;
    margin-right: 0;

    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.lineUpList.extra li .extraLiWrap {
	width: 100%;
}
.lineUpList.extra li .soldout a {
	position: relative;
}
.lineUpList.extra li .soldout a::after {
  content: "SOLD OUT";
  font-family: "Antonio", sans-serif;
  font-weight: bold;
  text-align: center;
  position: absolute;
  top: 0;
  right: 0;
  font-size: 20px;
  line-height: 1.1;
  color: #fff;
  background-color: rgba(0,0,0,0.75);
  z-index: 2;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 6px;
}
.lineUpList.extra li .name {
    font-size: 20px;
    text-align: center;
}
.lineUpList.extra li .info {
	font-size: 16px;
	line-height: 1.6;
    padding: 0 10px;
	margin: 10px 0 0;
    text-align: center;
}

.lineUpList.extra li .detailBtn {
	width: 50%;
	margin: 40px auto 0;
}
.lineUpList.extra li .detailBtn a {
	background-color: #2aae9d;
	display: block;
	color: #fff;
	padding: 10px;
	font-size: 16px;
	text-decoration: none;
	text-align: center;
	letter-spacing: .1em;
	border-radius: 6px;
}

@media screen and (max-width: 820px) {
	.lineUpList.extra li {
    	width: 47.5%;
	}
	.lineUpList.extra li .soldout a::after {
		font-size: min(3.8vw, 20px);
	}
	.lineUpList.extra li .name {
		font-size: min(3.2vw, 20px);
		padding: 0 8px;
	}
	.lineUpList.extra li .info {
		font-size: min(2.6vw, 14px);
		padding: 0;
		margin: min(2vw, 10px) 0 0;
	}
	.lineUpList.extra li .detailBtn {
		width:  100%;
		margin-top: min(4vw, 40px);
	}
	.lineUpList.extra li .detailBtn a {
		padding: min(2vw, 10px);
		font-size: min(3.4vw, 16px);
	}
}

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

	Ticket

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

.btnarea {
	margin-top: 60px;
}
.resale a {
	background-color: #f8da64;
    color: #222;
    text-decoration: none;
    display: inline-block;
    padding: 15px 30px 15px 60px;
    font-size: 18px;
    font-weight: bold;
    border-radius: 6px;
    width: 520px;
    position: relative;
}
.resale a::before {
    content: "!";
    display: inline-block;
    color: #fff;
    background-color: #222;
    width: 30px;
    height: 30px;
    line-height: 30px;
    border-radius: 50%;
    text-indent: 0.08em;
    text-align: center;
    vertical-align: bottom;
    position: absolute;
    top: 50%;
    left: 20px;
    transform: translateY(-50%);
}
.trade {
	margin-top: 20px;
}
.trade a {
    background-color: #29a98c;
    color: #222;
    text-decoration: none;
    display: inline-block;
    padding: 15px 30px 15px 60px;
    font-size: 18px;
    font-weight: bold;
    border-radius: 6px;
    width: 520px;
    position: relative;
}
.trade a::before {
    content: "";
    display: inline-block;
    color: #f8da64;
    background: #222 url("../images/ico_trade.png") no-repeat center center;
	background-size: 60%;
    width: 30px;
    height: 30px;
    line-height: 30px;
    border-radius: 50%;
    text-indent: 0.08em;
    text-align: center;
    vertical-align: bottom;
    position: absolute;
    top: 50%;
    left: 20px;
    transform: translateY(-50%);
}

#ticket .ticketBody {
	padding-bottom: 80px;
	border-bottom: #fff solid 1px;
	margin-bottom: 80px;
}
#ticket .ticketBody:last-child {
	padding-bottom: 40px;
	border-bottom: none;
	margin-bottom: 0;
}
#ticket .ticketBody h4 {
	text-align: center;
	font-size: 26px;
	font-weight: bold;
	margin-bottom: 40px;
}
#ticket .ticketBody h5 {
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 20px;
}

.ticketLead {
	margin-bottom: 40px;
}
.ticketLead p {
	text-align: center;
	font-size: 20px;
	font-weight: 500;
	margin-bottom: 20px;
}
.ticketLead .note {
	font-size: 14px;
	font-weight: 400;
}


.plutinumBenefits {
	background-color: rgba(34,34,34,0.60);
	padding: 30px 40px;
	display: flex;
	flex-wrap: wrap;
	backdrop-filter: blur(8px);
    transform: translateZ(0);
	border-radius: 8px;
	margin-bottom: 60px;
}
.plutinumBenefits li {
	width: calc(100% / 3);
	font-size: 18px;
	font-weight: 500;
}
.plutinumBenefits li:nth-child(n+4) {
	margin-top: 10px;
}
.plutinumBenefits li.etc {
  margin-left: auto;
  text-align: right;
}

.plutinumBenefits .noteBtn {
	margin-top: 35px;
    width: 100%;
}

.noteBtn a {
	width: fit-content;
	min-width: 300px;
	margin: 0 auto;
	text-align: center;
	display: block;
	color: #fff;
	text-decoration: none;
    font-size: 18px;
    font-weight: bold;
    border: #fff solid 4px;
	border-radius: 8px;
	padding: 20px 40px;
}

.benefits {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 40px;
}
.benefits li {
	width: 32%;
    text-align: center;
    background-color: rgba(34,34,34,0.60);
    padding: 30px 15px;
    border-radius: 8px;
    box-sizing: border-box;
    margin-right: 2%;
    margin-bottom: 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.benefits li:nth-child(3n) {
	margin-right: 0;
}

.benefits li p {
	font-size: 18px;
	font-weight: 500;
	line-height: 1.6;
}
.benefits li .num {
	margin-top: 15px;
	font-size: 30px;
}
.benefits li p span {
	font-size: 0.75em;
	font-weight: 400;
    display: inline-block;
    line-height: 1.6;
    margin-top: min(1vw, 5px);
}



.ticketPrice {
/*
	border-radius: 8px;
	overflow: hidden;
*/
	margin-bottom: 60px;
}
.ticketPrice table {
	width: 100%;
	border-collapse: collapse;
	background-color: #fff;
	border: none;
	border-radius: 8px;
	overflow: hidden;
}
.ticketPrice table th,
.ticketPrice table td {
	border-right: #eee solid 1px;
	border-bottom: #eee solid 1px;
	color: #000;
	text-align: center;
	vertical-align: middle;
	padding: 15px;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.6;
}
.ticketPrice table thead th {
	background-color: #222;
	color: #fff;
	font-weight: 500;
}
.ticketPrice table th:last-child,
.ticketPrice table td:last-child {
	border-right: none;
}
.ticketPrice table tbody tr:last-of-type th,
.ticketPrice table tbody tr:last-of-type td {
	border-bottom: none;
}

.ticketPrice table th span,
.ticketPrice table td span {
	font-size: 14px;
	font-weight: 400;
    line-height: 1.6;
    display: inline-block;
}
.ticketPrice table th strong {
	font-size: min(3.2vw, 14px);
}
.ticketPrice table span.txtS {
	font-size: 10px;
}

.ticketPrice table td .tag01,
.ticketPrice table td .tag02,
.ticketPrice table td .tag03,
.ticketPrice table td .tag04,
.ticketPrice table td .tag05 {
	display: block;
	text-align: center;
	padding: 10px;
	border-radius: 6px;
	color: #fff;
	font-size: 13px;
	max-width: 160px;
	margin: 10px auto 0;
	text-decoration: none;
}
.ticketPrice table td .tag01 { background-color: #29a98c;}
.ticketPrice table td .tag02 { background-color: #e93793;}
.ticketPrice table td .tag03 { background-color: #333333;}
.ticketPrice table td .tag04 { background-color: #dddddd; color: #333333;}
.ticketPrice table td .tag05 { background-color: #dddddd; color: #333333; pointer-events: none;}

#admissionTicket .ticketPrice table td .note {
	font-size: 12px;
    line-height: 1.4;
    margin-top: 5px;
	margin-bottom: 0;
    font-weight: normal;
    letter-spacing: 0.04em;
    color: #cc0000;
}

.ticketBody .period {
    margin-bottom: 40px;
    font-size: 16px;
}
.ticketBody .msFig {
    line-height: 0;
    margin-bottom: 15px;
}
.ticketBody .note {
    font-size: .9em;
    margin-bottom: 60px;
}

.ticketSchedule {
	border-radius: 8px;
	overflow: hidden;
}
.ticketSchedule table {
	width: 100%;
	border-collapse: collapse;
	background-color: #fff;
	border: none;
}
.ticketSchedule table th,
.ticketSchedule table td {
	border-right: #eee solid 1px;
	border-bottom: #eee solid 1px;
	color: #000;
	text-align: center;
	vertical-align: middle;
	padding: 15px;
	font-size: 16px;
	line-height: 1.6;
}
.ticketSchedule table tbody tr:last-of-type th,
.ticketSchedule table tbody tr:last-of-type td {
	border-bottom: none;
}
.ticketSchedule table td:last-child {
	border-right: none;
}
.ticketSchedule table th {
	background-color: #222;
	color: #fff;
	font-weight: 500;
}
.ticketSchedule table thead th,
.ticketSchedule table thead td {
	font-weight: 500;
}

.ticketSchedule table td {
	position: relative;
}
.ticketSchedule table td span.endTag {
	display: block;
    position: absolute;
    top: 50%;
    right: 0;
    text-align: center;
    background-color: #b00e0e;
    color: #fff;
    font-weight: bold;
    font-size: min(3vw, 12px);
    line-height: 1.4;
    padding: min(1vw, 5px) min(3vw, 15px);
    transform: translate(0%, -50%);
}

.tickeMo {
	background-color: #fff;
	padding: 60px;
}
.tickeMo li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 40px;
    margin-bottom: 40px;
    border-bottom: #ccc solid 1px;
    color: #000;
}
.tickeMo li:last-child {
    padding-bottom: 0;
    margin-bottom: 0;
    border-bottom: none;
}
.tickeMo li .tikeLogo {
    width: 32%;
    line-height: 0;
    border: #ccc solid 1px;
}
.tickeMo li .tikeTxt {
    width: 58%;
}
.tickeMo li .tikeTxt p {
    font-size: 14px;
    margin-bottom: 20px;
    line-height: 1.4;
}
.tickeMo li .tikeTxt .ticketKind {
    margin-bottom: 30px;
}
.tickeMo li .tikeTxt .ticketKind li {
    padding-bottom: 0;
    border-bottom: none;
    margin-bottom: 10px;
    font-family: "Antonio", sans-serif;
    font-size: 18px;
	line-height: 1.4;
    font-weight: bold;
    display: block;
}
.tickeMo li .tikeTxt .buyBtn {
    display: block;
    background-color: #000;
    text-align: center;
    color: #fff;
    text-decoration: none;
    padding: 20px;
    font-size: 16px;
}
.tickeMo li .tikeTxt .buyBtn + p {
	margin-top: 15px;
    line-height: 1.8;
}


.ticketNav {
	margin-top: 80px;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
    gap: min(3vw, 15px) 0;
}
.ticketNav li {
	width: 19%;
	margin: 0 .5%;
}
.ticketNav li a {
	display: flex;
    height: 100%;
    justify-content: center;
    align-items: center;
	background-color: rgba(230,180,155,0.1);
	text-align: center;
	color: #fff;
	text-decoration: none;
	font-size: 14px;
	font-weight: bold;
    line-height: 1.6;
	padding: 15px 10px;
	border-radius: 6px;
	border: #fff solid 2px;
	letter-spacing: 0;
}

.benefitAcc {
/*	border: #fff solid 2px;*/
	background-color: rgba(255,255,255,0.1);
	border-radius: 10px;
    backdrop-filter: blur(10px);
    transform: translateZ(0);
}
.benefitAcc dt {
	display: block;
	padding: 30px;
	position: relative;
	cursor: pointer;
}
.benefitAcc dt .opBtn {
	position: absolute;
	top: 50%;
	right: 30px;
	background-color: #fff;
	border-radius: 50%;
	width: 50px;
	height: 50px;
	display: block;
	transform: translateY(-50%);
}
.benefitAcc dt .opBtn::before,
.benefitAcc dt .opBtn::after {
	content: "";
	display: block;
	background-color: #000;
	position: absolute;
	top: 50%;
	left: 50%;
	transform-origin: center center;
	transform: translate(-50%, -50%);
	transition: all .3s ease-out;
}
.benefitAcc dt .opBtn::before { width: 20px; height: 2px;}
.benefitAcc dt .opBtn::after { width: 2px; height: 20px;}
.benefitAcc dt.on .opBtn::after {
	transform:  translate(-50%, -50%) rotate(90deg);
}
#ticket .ticketBody .benefitAcc dt h4 {
	margin-bottom: 15px;
    line-height: 1.2;
}
.benefitAcc dt p {
	text-align: center;
	font-size: 18px;
	font-weight: 500;
}
.benefitAcc dd {
	padding: 30px 40px;
	display: none;
}

.ticketOther {
	background-color: #fff;
	padding: 0;
	border-radius: 8px;
    overflow: hidden;
	color: #000;
	margin-bottom: 40px;
	display: flex;
	flex-wrap: wrap;
	text-align: center;
}
.ticketNotesList + .ticketOther {
	margin-top: 60px;
}

.ticketOther .txtArea {
	width: 72%;
	padding: 30px;
	box-sizing: border-box;
	border-right: #ccc solid 1px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	text-align: left;
}
.ticketOther .txtArea:nth-child(n + 3),
.ticketOther .buyArea:nth-child(n + 3) {
	border-top: #ccc solid 1px;
}
.ticketOther .txtArea h6 {
	font-size: 18px;
	font-weight: bold;
	margin-bottom: 15px;
}
.ticketOther .txtArea p {
	font-size: 14px;
}
.ticketOther .txtArea a {
	text-decoration: underline;
	color: #000;
}
.ticketOther .buyArea {
	width: 28%;
	padding: 30px;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.ticketOther .buyArea p {
	font-size: 24px;
	font-weight: bold;
	line-height: 1.2;
    margin-top: 10px;
}
.ticketOther .buyArea a + p {
	margin-top: 20px;
}
.ticketOther .buyArea p span {
	font-size: 0.54em;
	font-weight: normal;
    display: inline-block;
    line-height: 1.8;
}
.ticketOther .buyArea p strong {
	font-weight: bold;
}

.ticketOther .buyArea .buyBtn {
	color: #fff;
	font-size: 16px;
	text-decoration: none;
	background-color: #e93793;
	display: block;
	padding: 8px;
	border-radius: 6px;
	margin-top: 15px;
}
.ticketOther .buyArea .buyBtn:first-child {
	margin-top: 0;
}
.ticketOther .buyArea .buyBtn.beforeSale {
    background-color: #29a98c;
}
.ticketOther .buyArea .buyBtn.saleEnd {
    background-color: #dddddd;
}

.ticketOther .buyArea .accessMapBtn {
	color: #000;
	font-size: 16px;
	text-decoration: none;
	background-color: #fff;
	border: #000 solid 2px;
	display: block;
	padding: 8px;
	border-radius: 6px;
	margin-top: 15px;
}

.ticketNotesList {
	padding-left: 20px;
}
.ticketNotesList li {
	list-style: disc;
}

#ticketSideNav {
	position: fixed;
	left: 0;
    top: 50vh;
    transform: translate(-100%, -50%);
	background-color: #000;
	border-radius: 0;
	text-align: center;
	z-index: 2;
	transition: all .2s ease-out;
}
#ticketSideNav.on {
	transform: translate(0, -50%);
}
#ticketSideNav h4 {
	text-align: center;
	padding: 10px 50px 10px 20px;
	border-bottom: #777 solid 1px;
	font-size: 16px;
	font-weight: normal;
    border-radius: 8px 8px 0 0;
    position: absolute;
    top: 0;
    left: 100%;
    white-space: nowrap;
    background-color: #000;
    transform-origin: left bottom;
    transform: translate(0, -100%) rotate(90deg);
	cursor: pointer;
}
#ticketSideNav h4::after {
    content: "";
    display: block;
    width: 12px;
    height: 12px;
    border-top: #fff solid 1px;
    border-right: #fff solid 1px;
    transform: translateY(-50%) rotate(-45deg);
    position: absolute;
    top: 60%;
    right: 20px;
	transition: all .3s ease-out;
}
#ticketSideNav.on h4::after {
    top: 45%;
    transform: translateY(-50%) rotate(135deg);
}

#ticketSideNav ul {
	padding: 10px 20px;
    min-height: 188px;
}
#ticketSideNav ul li {
	border-bottom: #777 solid 1px;
}
#ticketSideNav ul li:last-child {
	border-bottom: none;
}
#ticketSideNav ul li a {
	color: #fff;
	text-decoration: none;
	font-size: 14px;
	font-weight: bold;
	display: block;
	padding:  10px 0;
}


.ticketMap {
	display: flex;
	justify-content: space-between;
}
.ticketMap .map {
	width: 40%;
	line-height: 0;
}
.ticketMap .mapNotes {
    width: 55%;
}


.flexPrice {
	display: flex;
	justify-content: space-between;
	margin-bottom: 60px;
}
.flexPrice li {
	width: 32%;
	border-radius: 8px;
	background-color: #fff;
	text-align: center;
	overflow: hidden;
}
.flexPrice li h3 {
	font-size: 20px;
	padding: 15px;
	background-color: #222;
	line-height: 1.6;
	min-height: 60px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
.flexPrice li h3 span {
	display: block;
	font-weight: normal;
	font-size: 0.8em;
}
.flexPrice li > div {
	padding: 30px;
}
.flexPrice li p {
	color: #000;
	font-size: 24px;
	font-weight: bold;
}
.flexPrice li p span {
	font-size: 0.6em;
}

.saleDate {
	margin: 60px 0 50px;
	text-align: center;
	font-size: 24px;
	font-weight: bold;
	letter-spacing: .08em;
}

.buyBtn a {
	display: block;
	width: 400px;
	margin: 0 auto;
	text-align: center;
	font-size: 20px;
	text-decoration: none;
	color: #fff;
	background-color: #b0007d;
	border-radius: 8px;
	padding: 30px;
}

.noteTicket {
	background-color: #fff;
	border-radius: 8px;
	color: #000;
	padding: 40px;
	margin-top: 80px;
}
#ticket .ticketBody .noteTicket h5 {
	text-align: center;
}

.attentionList {
	list-style: disc;
	padding-left: 20px;
}


.ticketAcc {
	border-top: #fff solid 1px;
	border-bottom: #fff solid 1px;
}
.ticketAcc dt {
	font-size: min(4vw, 20px);
    font-weight: bold;
	padding: min(5vw, 25px) 0;
	position: relative;
	cursor: pointer;
}
.ticketAcc dt::before,
.ticketAcc dt::after {
	content: "";
	position: absolute;
	background-color: #fff;
	display: block;
	top: 50%;
	transform: translateY(-50%);
}
.ticketAcc dt::before {
	right: 0;
	width: min(8vw, 40px);
	height: 1px;
}
.ticketAcc dt::after {
	right: min(4vw, 20px);
	width: 1px;
	height: min(8vw, 40px);
	transition: all 0.3s ease-out;
}
.ticketAcc dt.on::after {
	transform: translateY(-50%) rotate(90deg);
}
.ticketAcc dd {
	display: none;
	padding: min(2vw, 10px) 0 min(6vw, 30px);
}
.ticketAcc dd .faq_q {
	position: relative;
	padding-left: min(6vw, 30px);
	font-size: min(3.4vw, 16px);
	font-weight: bold;
	margin-bottom: min(2vw, 10px);
}
.ticketAcc dd .faq_a + .faq_q {
	margin-top: min(6vw, 30px);
}
.ticketAcc dd .faq_q::before {
	content: "Q";
	position: absolute;
	top: 0;
	left: 0;
	font-size: min(3.4vw, 16px);
	font-weight: bold;
}
.ticketAcc dd .faq_a {
	position: relative;
	padding-left: min(6vw, 30px);
}
.ticketAcc dd .faq_a::before {
	content: "A";
	position: absolute;
	top: 0;
	left: 0;
	font-size: min(3.4vw, 16px);
	font-weight: bold;
}

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

	.btnarea {
		margin-top: min(6vw, 60px);
	}

	.resale a {
    	padding: min(2vw, 15px) min(4vw, 30px) min(2vw, 15px) min(8vw, 60px);
    	font-size: min(3.2vw, 18px);
		width: 100%;
	}
	.resale a::before {
		width: min(6vw, 30px);
		height: min(6vw, 30px);
		line-height: min(6vw, 30px);
    	left: min(3vw, 20px);
	}

	.trade {
		margin-top: 20px;
	}
	.trade a {
    	padding: min(2vw, 15px) min(4vw, 30px) min(2vw, 15px) min(8vw, 60px);
    	font-size: min(3.2vw, 18px);
		width: 100%;
	}
	.trade a::before {
		width: min(6vw, 30px);
		height: min(6vw, 30px);
		line-height: min(6vw, 30px);
    	left: min(3vw, 20px);
	}

	#ticket .ticketBody {
		padding-bottom: min(12vw, 80px);
		margin-bottom: min(12vw, 80px);
	}
	#ticket .ticketBody h4 {
		font-size: min(4.6vw, 26px);
		margin-bottom: min(6vw, 30px);
	}
	#ticket .ticketBody h5 {
		font-size: min(4.2vw, 20px);
		margin-bottom: min(4vw, 20px);
	}

	.ticketLead {
		margin-bottom: min(10vw, 40px);
	}
	.ticketLead p {
		font-size: min(3.8vw, 20px);
		margin-bottom: min(4vw, 20px);
	}
	.ticketLead .note {
		font-size: min(3vw, 14px);
	}


	.plutinumBenefits {
		padding: min(4vw, 20px) min(5vw, 40px);
		margin-bottom: min(10vw, 60px);
	}
	.plutinumBenefits li {
		width: 100%;
		font-size: min(3.8vw, 18px);
	}
	.plutinumBenefits li:nth-child(n+4) {
		margin-top: 0;
	}

	.plutinumBenefits .noteBtn {
		margin-top: min(6vw, 35px);
	}

	.noteBtn a {
		font-size: min(3.6vw, 18px);
		padding: min(4vw, 20px);
		width: 70%;
		min-width: inherit;
		margin: 0 auto;
    	border: #fff solid 3px;
	}

	.benefits {
		margin-bottom: min(10vw, 40px);
	}
	.benefits li {
		width:  100%;
		padding: min(4vw, 30px) min(5vw, 15px);
		margin-right: 0;
		margin-bottom: min(4vw, 30px);
	}

	.benefits li p {
		font-size: min(3.8vw, 18px);
	}
	.benefits li .num {
		margin-top: min(2vw, 15px);
		font-size: min(6.2vw, 30px);
	}

	.ticketPrice {
		margin-bottom: min(12vw, 60px);
	}
	.ticketPrice table thead {
		display: none;
	}
	.ticketPrice table th,
	.ticketPrice table td {
		display: block;
		width: 100%;
		padding: min(4vw, 15px);
		font-size: min(3.8vw, 16px);
		box-sizing: border-box;
		border-right: none;
	}
	.ticketPrice table th {
    	background-color: #222;
		color: #fff;
	}
	.ticketPrice table td[data-title]::before {
		content: attr(data-title) "";
		display: block;
	}

	.ticketPrice table tbody tr:last-of-type th,
	.ticketPrice table tbody tr:last-of-type td {
    	border-bottom: #eee solid 1px;
	}

	.ticketPrice table th span,
	.ticketPrice table td span {
		font-size: min(3.2vw, 14px);
	}
	.ticketPrice table th span.txtS {
		font-size: min(2.8vw, 10px);
	}

	.ticketPrice table td .tag01,
	.ticketPrice table td .tag02,
	.ticketPrice table td .tag03,
	.ticketPrice table td .tag04,
	.ticketPrice table td .tag05 {
		padding: min(3vw, 10px);
		font-size: min(3.2vw, 14px);
		margin: min(4vw, 15px) auto 0;
	}


	#admissionTicket .ticketPrice table td .note {
		font-size: min(3vw, 12px);
    	margin-top: min(2vw, 5px);
		margin-bottom: 0;
	}

	.ticketBody .period {
		margin-bottom: min(6vw, 40px);
		font-size: min(3.2vw, 16px);
	}
	.ticketBody .msFig {
		margin-bottom: min(2vw, 15px);
	}
	.ticketBody .note {
		font-size: .8em;
		margin-bottom: min(10vw, 60px);
	}

	.ticketSchedule table thead {
		display: none;
	}
	.ticketSchedule table th,
	.ticketSchedule table td {
		display: block;
		width: 100%;
		box-sizing: border-box;
		padding: min(4vw, 15px);
		font-size: min(3.3vw, 16px);
		border-right: none;
	}
	.ticketSchedule table tbody tr:last-of-type th,
	.ticketSchedule table tbody tr:last-of-type td {
    	border-bottom: #eee solid 1px;
	}

	.ticketSchedule table td[data-title]::before {
		content: attr(data-title) "";
		display: block;
		font-size: min(3.2vw, 16px);
		color: #666;
		margin-bottom: min(3vw, 10px);
	}

	.ticketSchedule table td span.endTag {
		top: 3vw;
		transform: translate(0%, 0%);
	}


	.tickeMo {
		padding: 6vw;
	}
	.tickeMo li {
		padding-bottom: 4vw;
    	margin-bottom: 4vw;
	}
	.tickeMo li .tikeLogo {
		width: 30%;
	}
	.tickeMo li .tikeTxt {
		width: 63%;
	}
	.tickeMo li .tikeTxt p {
		font-size: 3.2vw;
		margin-bottom: 2vw;
		line-height: 1.4;
		letter-spacing: 0;
	}
	.tickeMo li .tikeTxt .ticketKind {
    	margin-bottom: 2vw;
	}
	.tickeMo li .tikeTxt .ticketKind li {
		margin-bottom: 1vw;
		font-size: 3.2vw;
	}
	.tickeMo li .tikeTxt .buyBtn {
		padding: 2.2vw 2vw;
		font-size: 2.8vw;
	}


	/*.ticketNavWrap {
		overflow: auto;
    	width: calc(100% + 6vw);
		padding-bottom: 4vw;
    	padding-right: 6vw;
	}
	.ticketNav {
		margin-top: min(14vw, 80px);
    	width: 170vw;
	}*/
	.ticketNavWrap {
		overflow: auto;
    	width: 100%;
		padding-bottom: 4vw;
    	padding-right: 0;
	}
	.ticketNav {
		margin-top: min(14vw, 80px);
    	width: 100%;
    	flex-wrap: wrap;
	}
	.ticketNav li {
		width: 48%;
		margin: 0 1%;
    	line-height: 1.4;
	}

	.ticketNav li a {
    	font-size: min(2.8vw, 14px);
    	padding: min(3vw, 15px) min(1vw, 15px);
		height: 100%;
		box-sizing: border-box;
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.benefitAcc dt {
		padding: min(6vw, 30px) min(8vw, 40px);
	}
	.benefitAcc dt .opBtn {
		top: 50%;
		right: 0;
		width: min(8vw, 50px);
		height: min(8vw, 50px);
    	transform: translate(50%, -50%);
	}
	.benefitAcc dt .opBtn::before { width: 50%;}
	.benefitAcc dt .opBtn::after { height: 50%;}
	#ticket .ticketBody .benefitAcc dt h4 {
		margin-bottom: min(4.6vw, 26px);
	}
	.benefitAcc dt p {
		font-size: min(3.4vw, 18px);
	}

	.benefitAcc dd {
		padding: min(6vw, 30px);
	}

	.ticketOther {
		margin-bottom: min(8vw, 40px);
		display: block;
	}
	.ticketOther:last-child {
		margin-bottom: 0;
	}
	.ticketOther .txtArea {
		width: 100%;
		padding: min(6vw, 30px) min(6vw, 30px);
		border-right: none;
	}
	.ticketOther .buyArea {
		width: 100%;
		padding: min(6vw, 30px);
	}
	.ticketOther .txtArea h6 {
		font-size: min(3.8vw, 18px);
		margin-bottom: min(2vw, 15px);
	}
	.ticketOther .txtArea p {
		font-size: min(3.4vw, 16px);
	}
	.ticketOther .buyArea p {
		font-size: min(6.2vw, 26px);
	}
	.ticketOther .buyArea a + p {
		margin-top: min(3vw, 20px);
	}
	.ticketOther .buyArea .buyBtn,
	.ticketOther .buyArea .accessMapBtn {
		font-size: min(3.6vw, 16px);
		padding: min(3vw, 8px);
		margin-top: min(2vw, 15px);
	}


	.ticketOther .txtArea:nth-child(n + 3) {
		border-top: #999 solid 1px;
	}
	.ticketOther .buyArea:nth-child(n + 2) {
		border-top: #ddd dotted 1px;
	}

	.ticketNotesList li {
		font-size: min(3.2vw, 14px);
	}

	#ticketSideNav {
		transform: translate(-100%, -50%);
		border-radius: 0;
	}
	#ticketSideNav h4 {
		padding: min(2vw, 10px) min(12vw, 60px) min(2vw, 10px) min(6vw, 20px);
		font-size: min(3.6vw, 16px);
		border-radius: 8px 8px 0 0;
		position: absolute;
		top: 0;
		left: 100%;
		white-space: nowrap;
		background-color: #000;
		transform-origin: left bottom;
		transform: translate(0, -100%) rotate(90deg);
	}
	#ticketSideNav h4::after {
		content: "";
		display: block;
		width: min(3vw, 12px);
		height: min(3vw, 12px);
		border-top: #fff solid 1px;
		border-right: #fff solid 1px;
		transform: translateY(-50%) rotate(-45deg);
		position: absolute;
		top: 60%;
    	right: min(5vw, 20px);
	}
	#ticketSideNav ul {
		padding: min(2vw, 10px) min(4vw, 20px);
	}
	#ticketSideNav ul li a {
		font-size: min(3.2vw, 14px);
		padding: min(2.5vw, 10px) 0;
	}


	.ticketMap {
		display: block;
	}
	.ticketMap .map {
		width: 100%;
		margin-bottom: min(8vw, 40px);
	}
	.ticketMap .mapNotes {
		width: 100%;
	}



	.flexPrice {
		display: block;
		margin-bottom: min(8vw, 60px);
	}
	.flexPrice li {
		width: 100%;
		border-radius: 8px;
	}
	.flexPrice li + li {
		margin-top: min(4vw, 20px);
	}
	.flexPrice li h3 {
		font-size: min(4.6vw, 20px);
		padding: min(4vw, 15px);
		min-height: auto;
	}
	.flexPrice li h3 span {
		display: block;
		font-weight: normal;
		font-size: 0.8em;
	}
	.flexPrice li > div {
		padding: min(4vw, 30px);
	}
	.flexPrice li p {
		font-size: min(5.4vw, 24px);
	}
	.flexPrice li p span {
		font-size: 0.6em;
	}

	.saleDate {
		margin: min(10vw, 60px) 0 min(7vw, 50px);
		font-size: min(4vw, 24px);
	}

	.buyBtn a {
		max-width: 90%;
		font-size: min(4vw, 20px);
		padding: min(5vw, 30px);
	}

	.noteTicket {
		padding: min(6vw, 40px);
		margin-top: min(10vw, 80px);
	}


	.attentionList {
		padding-left: 20px;
	}


}

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

	Platinum Ticket

//////////////////////////////////////////////////////////////////////////////// */
#platinumTicket .platinumWrap {
	padding-bottom: 60px;
	border-bottom: #ccc solid 1px;
	margin-bottom: 60px;
}
#platinumTicket .platinumWrap:last-child {
	border-bottom: none;
	margin-bottom: 0;
}
#platinumTicket .platinumWrap h3 {
	text-align: center;
    font-size: 26px;
    letter-spacing: .1em;
    margin-bottom: 60px;
}
#platinumTicket .platinumWrap .pTicketBenefits {
	display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
#platinumTicket .platinumWrap .pTicketBenefits li {
  width: 49%;
  background-color: rgba(34,34,34,0.60);
  padding: 30px;
  box-sizing: border-box;
  margin-bottom: 25px;
  backdrop-filter: blur(8px);
  border-radius: 10px;
  transform: translateZ(0);
}
#platinumTicket .platinumWrap .pTicketBenefits li h4 {
	font-size: 20px;
    margin-bottom: 15px;
}
#platinumTicket .platinumWrap .pTicketBenefits li p {
	font-size: 14px;
}
#platinumTicket .platinumWrap .pTicketBenefits li.etc {
  background-color: rgba(34,34,34,0);
  width: 100%;
  padding: 0;
  backdrop-filter: none;
  border-radius: 0;
  text-align: right;
  font-size: min(3.8vw, 20px);
}


#platinumTicket .pTicketFaq {
	background-color: #fff;
	border-radius: 10px;
	margin-bottom: 20px;
    padding: 10px 30px;
}
#platinumTicket .pTicketFaq dt {
	color: #31b6b1;
	padding: 20px 0 20px 40px;
	border-bottom: #ccc solid 1px;
    font-size: 18px;
    font-weight: bold;
	position: relative;
}
#platinumTicket .pTicketFaq dt::before {
	content: "Q";
  font-family: "Antonio", sans-serif;
	font-size: 36px;
	font-weight: bold;
	position: absolute;
	top: 0;
    left: 0;
}
#platinumTicket .pTicketFaq dd::before {
	content: "A";
  font-family: "Antonio", sans-serif;
	font-size: 36px;
	font-weight: bold;
	position: absolute;
	top: 0;
    left: 0;
}
#platinumTicket .pTicketFaq dd {
	color: #000;
	padding: 20px 0 20px 40px;
    font-size: 16px;
	position: relative;
}
#platinumTicket .pTicketFaq dd a {
	color: #000;
	text-decoration: underline;
}


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

	#platinumTicket .platinumWrap {
		padding-bottom: 60px;
		margin-bottom: 60px;
	}
	#platinumTicket .platinumWrap h3 {
		font-size: min(4.8vw, 26px);
		margin-bottom: min(10vw, 60px);
	}

	#platinumTicket .platinumWrap .pTicketBenefits li {
		width: 100%;
		padding: min(6vw, 30px);
		margin-bottom: min(6vw, 25px);
		border-radius: 8px;
	}
	#platinumTicket .platinumWrap .pTicketBenefits li h4 {
		font-size: min(4.2vw, 20px);
		margin-bottom: min(3vw, 15px);
	}
	#platinumTicket .platinumWrap .pTicketBenefits li p {
		font-size: min(3.2vw, 14px);
	}

	#platinumTicket .platinumWrap .note {
		font-size: min(3.2vw, 14px);
	}

	#platinumTicket .pTicketFaq {
		border-radius: 8px;
		margin-bottom: min(5vw, 20px);
		padding: min(2vw, 10px) min(5vw, 30px);
	}
	#platinumTicket .pTicketFaq dt {
		padding: min(4vw, 20px) 0 min(4vw, 20px) min(8vw, 40px);
		font-size: min(3.8vw, 18px);
    	line-height: 1.6;
    	letter-spacing: 0.04em;
	}
	#platinumTicket .pTicketFaq dt::before {
		font-size: min(8vw, 36px);
    	top: 0.1em;
	}
	#platinumTicket .pTicketFaq dd::before {
		font-size: min(8vw, 36px);
	}
	#platinumTicket .pTicketFaq dd {
		padding: min(4vw, 20px) 0 min(4vw, 20px) min(8vw, 40px);
		font-size: min(3.4vw, 16px);
	}


}




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

	Line Up

//////////////////////////////////////////////////////////////////////////////// */
#lineup .contentWrap {
  display: flex;
  justify-content: space-between;
  position: relative;
  align-items: flex-start;
  max-width: 1280px;
}
#lineup .contentWrap.oneColumn {
  display: block;
}

/*
.lineUpList {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}
.lineUpList li {
	width: 32%;
  margin-right: 2%;
  margin-bottom: 60px;
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap;
  position: relative;
}
.lineUpList li:nth-child(3n) {
	margin-right: 0;
}
.lineUpList li.new::before {
    content: "NEW";
    font-family: "Antonio", sans-serif;
    font-weight: bold;
    position: absolute;
    top: -0.65em;
    left: 0.35em;
    font-size: 26px;
    line-height: 1;
    color: #ffcc00;
    z-index: 2;
}
.lineUpList li .thumb {
	overflow: hidden;
	border-radius: 10px;
	line-height: 0;
	background-color: #000;
    margin-bottom: 20px;
    width: 100%;
    position: relative;
	z-index: 1;
}
.lineUpList li.portrait {
	padding: 0 2.5%;
}
.lineUpList li .thumb a {
	overflow: hidden;
	display: block;
	position: relative;
	background-color: #1c1c1c;
	padding-top: 77.78%;
	z-index: 1;
}
.lineUpList li .thumb a::after {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	pointer-events: none;
	user-select: none;
	-moz-user-select: none;
	-webkit-user-select: none;
	-ms-user-select: none;
}

.lineUpList li .thumb img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: contain;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	z-index: 1;
}
*/

.stageWrap .curationTtl {
	text-align: center;
    font-family: "Antonio", sans-serif;
  font-size: min(4.6vw, 30px);
  line-height: 1.7;
  margin-bottom: 70px;
  letter-spacing: 0.05em;
}
.stageWrap .curationTtl span {
	display: block;
/*  font-size: 0.28em;*/
    font-size: 0.46em;
}
.curation {
	border: #fff solid 1px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 30px;
	margin-bottom: 60px;
	margin-top: 30px;
}
.curation .thumb {
	width: 28%;
}
.curation .thumb a {
	line-height: 0;
}
.curation .thumb .name {
	text-align: center;
	font-size: 16px;
    font-weight: bold;
    color: #fff;
    line-height: 1.6;
}
.curation .txt {
	width: 68%;
/*    margin-bottom: 30px;*/
    line-height: 2;
    font-size: 15px;
    font-feature-settings: "palt";
}
.curation.noPic .txt {
  width: 100%;
}
.curation .txt p:last-child {
  margin-bottom: 0;
}

.lineUpNav {
	width: 240px;
  height: calc(100vh - 160px);
  font-family: "Antonio", sans-serif;
	font-weight: 400;
	position: sticky;
	top: 140px;
	left: 0;
  overflow: auto;
}
.lineUpNav .area {
	display: flex;
  flex-direction: column;
	justify-content: center;
	padding: 0;
	border-top: #fff solid 1px;
}
.lineUpNav .area a,
.lineUpNav .area span {
	color: #fff;
	font-size: min(3vh, 26px);
	text-decoration: none;
	line-height: 1.2;
  letter-spacing: 0.1em;
	border-bottom: #fff solid 1px;
  padding: min(1vh, 10px) 20px;
}
.lineUpNav .area span {
	font-weight: 800;
	letter-spacing: 0.05em;
  background-color: rgba(255, 255, 255, 0.2);
}
.lineUpNav .area a:last-child,
.lineUpNav .area span:last-child {
	border-bottom: none;
}

.lineUpNav .day {
	border-top: #fff solid 1px;
	padding: min(1.4vh, 15px) 0;
	border-bottom: #fff solid 1px;
}
.lineUpNav .day li {
  padding: min(1vw, 5px) 0 min(1vw, 5px) 20px;
	position: relative;
	font-weight: 800;
	font-size: min(2.6vh, 22px);
  line-height: 1.2;
	letter-spacing: 0.02em;
}
.lineUpNav .day li::before {
	content: "";
	width: 5px;
	height: 1px;
	background-color: #fff;
	position: absolute;
	top: 50%;
	left: 0;
}
.lineUpNav .day li.ttl {
	padding-left: 0;
	font-weight: 400;
	font-size: 12px;
}
.lineUpNav .day li.ttl::before {
	display: none;
}
.lineUpNav .day li + li {
	margin-top: 4px;
}
.lineUpNav .day li a {
	font-weight: 400;
	color: #fff;
	text-decoration: none;
  letter-spacing: 0.04em;
}
.lineUpNav .day li span {
  font-size: 0.8em;
  letter-spacing: 0.04em;
  display: inline-block;
  font-weight: normal;
  margin-right: 0.5em;
}
.lineUpNav .day.stage li span {
  display: block;
  font-size: 1em;
  line-height: 1.4;
  font-size: 0.8em;
}

/*
#gallery .lineUpList li .thumb img {
	object-fit: cover;
	pointer-events: none;
	user-select: none;
	-moz-user-select: none;
	-webkit-user-select: none;
	-ms-user-select: none;
}

.lineUpList li .name {
	font-size: 16px;
	font-weight: bold;
	color: #fff;
	padding: 0 10px;
    line-height: 1.6;
}
.lineUpList li .name span {
	display: block;
	font-weight: normal;
	font-size: 12px;
}

*/

.lineUpContents {
	width: calc(100% - 280px);
}
/*
.lineUpContents .lineUpList li {
	width: calc(93% / 3);
    margin-right: 3.5%;
    margin-bottom: 45px;
}
.lineUpContents .lineUpList li:nth-child(3n) {
    margin-right: 0;
}
*/



.stageWrap {
	padding: 60px 0 80px;
	border-bottom: #fff solid 1px;
}
.stageWrap:first-child {
	padding-top: 0;
}
.stageWrap h3 {
	text-align: center;
	font-size: 36px;
	font-family: "Antonio", sans-serif;
	font-weight: bold;
	letter-spacing: .06em;
	margin-bottom: 50px;
}
.stageWrap .lineUpList + h3 {
  margin-top: min(10vw, 60px);
}
.stageWrap h3 > span {
	display: inline-block;
	position: relative;
	padding-left: 90px;
	line-height: 1.2;
}
.stageWrap h3 > span > span {
  font-size: 0.8em;
  padding: 0;
}
.stageWrap h3 > span::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 60px;
	height: 60px;
	transform: translateY(-50%);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
}
#lineup_marine.stageWrap h3 span::before { background-image: url("../images/stage_logo_marine.svg");}
#lineup_ocean.stageWrap h3 span::before { background-image: url("../images/stage_logo_ocean.svg");}
#lineup_mountain.stageWrap h3 span::before { background-image: url("../images/stage_logo_mountain.svg");}
#lineup_sonic.stageWrap h3 span::before,
#lineup_sonic_midnight.stageWrap h3 span::before { background-image: url("../images/stage_logo_sonic.svg");}
#lineup_beach.stageWrap h3 span::before { background-image: url("../images/stage_logo_beach.svg");}
#lineup_spotify.stageWrap h3 span::before { background-image: url("../images/stage_logo_spotify.svg");}
#lineup_rainbow.stageWrap h3 span::before { background-image: url("../images/stage_logo_rainbow.svg");}
#lineup_pacific.stageWrap h3 span::before { background-image: url("../images/stage_logo_pacific.svg");}
#lineup_massive.stageWrap h3 span::before { background-image: url("../images/stage_logo_massive.svg");}
#lineup_jculture.stageWrap h3 span::before { background-image: url("../images/stage_logo_jc.svg");}
#lineup_maniac.stageWrap h3 span::before { background-image: url("../images/stage_logo_maniac.svg");}

#lineup_pavilion.stageWrap h3 span,
#lineup_pavillion.stageWrap h3 span {
    padding: 0;
}
#lineup_pavilion.stageWrap h3 span::before,
#lineup_pavillion.stageWrap h3 span::before {
    display: none;
}

/*
#lineup_midnight.stageWrap h3 {
    margin-bottom: min(2vw, 10px);
}
*/

.lineupOsaka #lineup_air.stageWrap h3 span::before {
	background-image: url("../images/stage_logo_air_o.svg");
    transform-origin: right bottom;
    transform: translateY(-50%) scale(1.12);
}
.lineupOsaka #lineup_mountain.stageWrap h3 span::before { background-image: url("../images/stage_logo_mountain_o.svg");}
.lineupOsaka #lineup_sonic.stageWrap h3 span::before { background-image: url("../images/stage_logo_sonic_o.svg");}
.lineupOsaka #lineup_massive.stageWrap h3 span::before { background-image: url("../images/stage_logo_massive_o.svg");}

#lineup_sega.stageWrap h3 img {
	max-width: 800px;
}
#nf.stageWrap h3 span,
#lineup_midnight.stageWrap h3 span {
	padding-left: 0;
}

.stageWrap h3 span .subTtl {
  font-size: 0.7em;
  letter-spacing: 0.1em;
}

.stageWrap.noLogo h3 span {
  padding: 0 !important;
}
.stageWrap.noLogo h3 span::before,
.stageWrap h3.noLogo span::before {
  display: none !important;
}


.stageWrap h4 {
  text-align: center;
  font-size: min(4.2vw, 28px);
  font-family: "Antonio", sans-serif;
  font-weight: bold;
  letter-spacing: .08em;
  margin-bottom: min(5vw, 25px);
  line-height: 1.4;
}
.stageWrap .lineUpList + h4 {
  margin-top: min(7vw, 40px);
}


.lineupTopics {
    border: #fff solid 1px;
    padding: 30px;
    margin-bottom: 60px;
    font-size: 16px;
}
.lineupTopics p + p {
    margin-top: 20px;
}

.modal {
	max-width: 860px;
    margin: min(6vw, 30px) auto;
}

.artistHead {
	display: flex;
	justify-content: space-between;
}
.artistHead .artistTitle {
	width: 38%;
}
.artistHead .artistTitle h3 {
	font-size: 26px;
    line-height: 1.4;
	margin-bottom: 40px;
}
.artistHead .artistTitle h3 span {
	font-size: 16px;
    font-weight: normal;
	display: block;
    margin-top: 0.6em;
}
.artistHead .artistTitle .officialLinks {
	display: flex;
	justify-content: space-between;
	margin-bottom: 25px;
}
.artistHead .artistTitle .officialLinks li {
	width: 47%;
}
.artistHead .artistTitle .officialLinks li a {
	display: block;
	border: #fff solid 1px;
	color: #fff;
    font-family: "Antonio", sans-serif;
	font-size: 14px;
	font-weight: 500;
	text-decoration: none;
	text-align: center;
    padding: 10px 5px;
	border-radius: 5px;
}

.artistHead .artistTitle .artistSns {
	display: flex;
}
.artistHead .artistTitle .artistSns li {
	margin-right: 20px;
  line-height: 0;
}
.artistHead .artistTitle .artistSns li a {
	text-decoration: none;
	font-size: 24px;
}
.artistHead .artistTitle .artistSns .icon-lit {
  display: inline-block;
  width: min(5.5vw, 25px);
  height: min(5.5vw, 25px);
  background: url("../images/ico_link.png") no-repeat center center;
  background-size: contain;
  vertical-align: text-bottom;
}

.artistHead .artistPhoto {
	width: 58%;
	line-height: 0;
	position: relative;
	/*padding-top: 45.11%;
	background-color: #111;
	position: relative;*/
}
.artistHead .artistPhoto::after {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 2;
}
.artistHead .artistPhoto img {
	width: 100%;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	/*position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	object-fit: contain;*/
}

.artistBodoy {
	margin-top: 60px;
	padding-top: 60px;
	border-top: #777 solid 1px;
	display: flex;
	justify-content: space-between;
}
.artistBodoy .profile p {
	font-size: 16px;
	margin-bottom: 30px;
}
.artistBodoy .profile p a {
	color: #fff;
	text-decoration: underline;
}

.artistBodoy .playlistApp {
    min-width: 40%;
	margin-left: 40px;
}
.artistBodoy .playlistApp iframe {
	width: 100%;
/*    height: 420px;*/
}

.moreTxt {
	text-align: center;
    font-family: "Antonio", sans-serif;
    font-weight: bold;
	font-size: 26px;
    margin-bottom: 60px;
	margin-top: min(8vw, 60px);
}

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

/*
	.lineUpList {
		justify-content: space-between;
	}
	.lineUpList li {
    	width: 47%;
		position: relative;
		margin-right: 0;
    	margin-bottom: min(6vw, 60px);
	}
	.lineUpList li .thumb {
    	margin-bottom: min(2vw, 20px);
		border-radius: 6px;
	}
	.lineUpList li .name {
		font-size: min(3vw, 16px);
		padding: 0;
		line-height: 1.6;
	}
	.lineUpList li .name span {
		font-size: min(2.6vw, 12px);
	}


	.lineUpList li .icoT,
	.lineUpList li .icoO {
		width: min(5vw, 20px);
		height: min(5vw, 20px);
		line-height: min(5vw, 20px);
		margin: 0;
		font-size: min(3vw, 10px);
		position: absolute;
		top: 35vw;
		right: 0;
	}

	.lineUpList li.new::before {
		top: -0.7em;
    	left: 0.4em;
		font-size: 4.6vw;
	}
*/


	.stageWrap .curationTtl {
		font-size: min(4.6vw, 30px);
		margin-bottom: min(10vw, 70px);
	}
	.stageWrap .curationTtl span {
		font-size: 0.64em;
        letter-spacing: 0.1em;
	}
  
  .stageWrap h3 span .subTtl {
    padding-left: 0;
  } 
	.curation {
		display: block;
		padding: min(6vw, 40px);
		margin-bottom: min(10vw, 60px);
		margin-top: min(4vw, 30px);
	}
	.curation .thumb {
		width: 100%;
		margin-bottom: min(6vw, 60px);
	}
	.curation .thumb .name {
		font-size: min(4vw, 16px);
	}
	.curation .txt {
		width: 100%;
		margin-bottom: 0;
		line-height: 1.8;
		font-size: min(3.2vw, 15px);
	}

	.lineUpNav {
		width: 100%;
    height: auto;
		position: fixed;
		top: inherit;
		bottom: 0;
		left: 0;
		z-index: 10;
		background-color: rgba(0,0,0,0.60);
    backdrop-filter: blur(5px);
    transform: translateZ(0);
    box-shadow: 0px -10px 25px -10px rgba(0, 0, 0, 0.6);
	}
	.lineUpNav .area {
		padding: 0;
		border-top: none;
    flex-direction: row;
	}
	.lineUpNav .area a,
	.lineUpNav .area span {
		font-size: min(4.2vw, 20px);
		padding: min(3vw, 20px);
		width: 50%;
		text-align: center;
    border-bottom: none;
		border-right: rgba(255,255,255,0.60) solid 1px;
	}
	.lineUpNav .area a:last-child,
	.lineUpNav .area span:last-child {
		border-right: none;
	}

	.lineUpNav .day {
		display: flex;
    align-items: center;
		justify-content: center;
		border-top: rgba(255,255,255,0.60) solid 1px;
		padding: min(2vw, 20px) min(3vw, 20px);
		border-bottom: rgba(255,255,255,0.60) solid 1px;
    gap: min(6vw, 25px);
    
	}
  .lineUpNav .day.daySchedule {
		border-top: none;
		padding: 0;
		border-bottom: none;
    gap: 0;
  }
  
	.lineUpNav .day li {
		font-size: min(4.8vw, 24px);
		line-height: 1.6;
		text-align: center;
    padding: 0;
	}
	.lineUpNav .day li.dayMS {
		font-size: min(3.6vw, 18px);
		line-height: 1.3;
	}
  .lineUpNav .day li span {
    font-size: 0.6em;
    margin-right: 0;
    display: block;
  }
  .lineUpNav .day li.dayMS span {
    margin-bottom: 0.3em;
    font-size: 0.9em;
  }
  .lineUpNav .day.daySchedule li {
		padding: min(3.4vw, 20px) 0;
    width: calc(100% / 3);
		border-right: rgba(255,255,255,0.50) solid 1px;
  }
  .lineUpNav .day.daySchedule li:last-child {
    border-right: none;
  }
	.lineUpNav .day li::before {
		display: none;
	}
	.lineUpNav .day li + li {
		margin-top: 0;
	}
	.lineUpNav .day li a {
		font-weight: 400;
		color: #fff;
		text-decoration: none;
	}

	.lineUpNav .day li a > div {
		width: min(15vw, 30px);
		margin: 0 auto min(0.5vw, 5px);
	}
	.lineUpNav .day li a.txtLogo > div {
        width: min(18vw, 45px);
    }

	.lineUpNav .day.stage {
		padding: min(3.5vw, 30px) min(3vw, 20px);
		border-top: none;
    gap: min(2vw, 10px);
    border-bottom: none;
	}
	.lineUpNav .day.stage li {
		width: 20%;
		padding: 0 min(2vw, 10px);
    	font-size: min(2.4vw, 12px);
		letter-spacing: 0;
	}
	.lineUpNav .day.stage.tokyo li.sideNavMarine a { color: #4da4d6;}
	.lineUpNav .day.stage.tokyo li.sideNavMountain a { color: #4d9c5d;}
	.lineUpNav .day.stage.tokyo li.sideNavSonic a { color: #e2a33d;}
	.lineUpNav .day.stage.tokyo li.sideNavPacific a { color: #ebb9c2;}
	.lineUpNav .day.stage.tokyo li.sideNavBeach a { color: #ccc3aa;}
	.lineUpNav .day.stage.tokyo li.sideNavSpotify a { color: #fff;}

	.lineUpNav .day.stage.osaka li.sideNavAir a { color: #0081c0;}
	.lineUpNav .day.stage.osaka li.sideNavAir a img { transform-origin: right bottom; transform: scale(1.12);}
	.lineUpNav .day.stage.osaka li.sideNavMountain a { color: #009944;}
	.lineUpNav .day.stage.osaka li.sideNavSonic a { color: #f6ab00;}
	.lineUpNav .day.stage.osaka li.sideNavMassive a { color: #fff;}
	.lineUpNav .day.stage.osaka li.sideNavMassive a img { background-color: rgba(255,255,255,0.8); border-radius: 50%; border: rgba(255,255,255,0.8) solid 1px;}

	.lineUpNav .day.stage.sm li.sideNavMountain a { color: #4d9c5d;}
	.lineUpNav .day.stage.sm li.sideNavSonic a { color: #e2a33d;}
	.lineUpNav .day.stage.sm li.sideNavPacific a { color: #ebb9c2;}
	.lineUpNav .day.stage.sm li.sideNavSpotify a { color: #fff;}
	.lineUpNav .day.stage.sm li.sideNavManiac a { color: #7056a2;}

	.lineUpNav .day.stage.mn li:nth-child(2) a { color: #fff;}

	.lineUpNav .day.stage li:first-child {
		display: none;
	}
	.lineUpNav .day.stage li a {
    	font-weight: bold;
    	font-size: min(2.8vw, 12px);
	}

	.lineUpContents {
		width: 100%;
	}
/*
	.lineUpContents .lineUpList li {
		width: 47%;
		margin-right: 0;
		margin-bottom: min(8vw, 45px);
	}
	.lineUpContents .lineUpList li:nth-child(3n) {
		margin-right: 0;
	}
*/

	.stageWrap {
		padding: min(8vw, 60px) 0 min(10vw, 40px);
	}
	.stageWrap h3 {
		font-size: min(5vw, 36px);
		margin-bottom: min(7vw, 50px);
    letter-spacing: 0.02em;
	}
	.stageWrap h3 span {
		padding-left: min(14vw, 90px);
	}
	.stageWrap h3 span::before {
		width: min(10vw, 60px);
    height: min(10vw, 60px);
	}

	#lineup_sega.stageWrap h3 img {
		width: 90%;
	}

	.lineupTopics {
		padding: min(5vw, 30px);
		margin-bottom: min(10vw, 60px);
		font-size: min(3.6vw, 16px);
	}
	.lineupTopics p + p {
		margin-top: min(4vw, 20px);
	}

	.artistHead {
		flex-direction: column-reverse;
	}
	.artistHead .artistPhoto {
		width: 100%;
		margin-bottom: min(6vw, 40px);
	}
	.artistHead .artistTitle {
		width: 100%;
	}
	.artistHead .artistTitle h3 {
		font-size: min(5vw, 26px);
		margin-bottom: min(6vw, 40px);
	}
	.artistHead .artistTitle h3 span {
		font-size: min(3.6vw, 16px);
	}
	.artistHead .artistTitle .officialLinks {
		margin-bottom: min(4vw, 25px);
	}
	.artistHead .artistTitle .officialLinks li a {
		font-size: min(3.4vw, 16px);
		padding: min(2vw, 8px);
	}
	.artistHead .artistTitle .artistSns li {
		margin-right: min(4vw, 20px);
	}
	.artistHead .artistTitle .artistSns li a {
		text-decoration: none;
		font-size: min(5.2vw, 24px);
	}
	.artistBodoy {
		margin-top: min(8vw, 60px);
		padding-top: min(8vw, 60px);
    	display: block;
	}
	.artistBodoy .profile {
		margin-bottom: min(10vw, 40px);
	}
	.artistBodoy .profile p {
		font-size: min(3.4vw, 16px);
		margin-bottom: min(6vw, 30px);
	}

	.artistBodoy .playlistApp {
		width: 100%;
		min-width: inherit;
		margin-left: 0;
	}
	.artistBodoy .playlistApp iframe {
/*		height: 330px;*/
	}

	.moreTxt {
		font-size: min(4.2vw, 20px);
		margin-bottom: min(5vw, 80px);
	}
}

#gallery-1 .gallery-item {
  box-sizing: border-box;
}

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

	404

//////////////////////////////////////////////////////////////////////////////// */
.comingsoon {
  text-align: center;
  font-size: min(3.8vw, 20px);
  margin-bottom: min(8vw, 60px);
}


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

	Sponsor

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


.thanksWrap {
	background-color: #fff;
	padding: 40px 60px 80px;
	border-radius: 10px;
  font-family: "Antonio", sans-serif;
}

#thanks h3.thanksHeadeline {
	color: #000;
    font-size: 28px;
    font-weight: bold;
    margin-bottom: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}
#thanks h3.thanksHeadeline.thl2 {
  font-size: 22px;
  margin-bottom: 20px;
  letter-spacing: 0;
  justify-content: center;

  text-align: left;
}
#thanks .singleColumn h3.thanksHeadeline {
  justify-content: center;
  text-align: center;
}

#thanks .sponsorList {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 30px;
}
#thanks .sponsorList li {
	line-height: 0;
	margin: 0 15px 15px;
	padding: 0;
    box-sizing: border-box;
}
#thanks .sponsorList li img {
	height: 100px;
}

#thanks .areaSponsor {
	margin-top: 60px;
	padding-top: 40px;
	border-top: #ccc solid 1px;
	display: flex;
	justify-content: space-between;
}
#thanks .areaSponsor.singleColumn {
  justify-content: center;
}

#thanks .areaSponsor.singleColumn > div {
    width: 100%;
}
#thanks .areaSponsor > div {
	width: 50%;
}
#thanks .areaSponsor .sponsorList {
	justify-content: flex-start;
}

#thanks .areaSponsor .sponsorList li {
	width: auto;
	margin: 0 30px 1px 0;
}
#thanks .areaSponsor .sponsorList li img {
	height: 75px;
	width: auto;
}
#thanks .areaSponsor .thanksPart {
	margin-bottom: 60px;
}
#thanks .areaSponsor .thanksPart:last-child {
	margin-bottom: 0;
}

#thanks .areaSponsor .sponsorListOP {
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
}
#thanks .areaSponsor .sponsorListOP li {
	margin-right: 20px;
    margin-bottom: 10px;
	line-height: 0;
}
#thanks .areaSponsor .sponsorListOP li img {
    height: 50px;
    width: auto;
}

#thanks .areaSponsor .sponsorTxtList {
	display: flex;
	flex-wrap: wrap;
  justify-content: center;
}
#thanks .areaSponsor.singleColumn .sponsorTxtList {
  justify-content: center;
}
#thanks .areaSponsor .sponsorTxtList li {
	margin-right: 10px;
}
#thanks .areaSponsor .sponsorTxtList li::after {
	content: "/";
	display: inline-block;
	margin-left: 10px;
	color: #000;
}
#thanks .areaSponsor .sponsorTxtList li:last-child::after {
	display: none;
}
#thanks .areaSponsor .sponsorTxtList li a {
	color: #000;
	text-decoration: none;
    font-size: 15px;
}


#thanks .sponsorsList {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
  gap: min(6vw, 30px) min(10vw, 45px);
}
#thanks .sponsorsList.partners {
  gap: min(6vw, 30px) 0;
}
#thanks .sponsorsList li {
	height: 75px;
/*  height: 100px;*/
	width: auto;
/*	margin: 0 25px 20px;*/
	margin: 0 0;
}
#thanks .sponsorsList li img {
	height: 100%;
	width: auto;
}

#thanks .areaSponsor .sponsorsList {
    justify-content: center;
}
#thanks .areaSponsor.singleColumn .sponsorsList {
    justify-content: center;
    gap: min(6vw, 30px) min(10vw, 45px);
}
#thanks .areaSponsor .sponsorsList li {
/*	height: 70px;*/
	height: 70px;
	margin: 0 0 0 0;
}
#thanks .areaSponsor .sponsorsList.partners li {
    height: 42px;
    margin: 0 20px 10px 0;
}
#thanks .areaSponsor.singleColumn .sponsorsList li {
	margin: 0 0;
}

#thanks .sponsorsList.mainSponsors {
/*    max-width: 800px;*/
  margin: 0 auto;
  gap: min(6vw, 30px) min(20vw, 50px);
}

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

	.thanksWrap {
		padding: min(6vw, 40px) min(5vw, 60px);
		border-radius: 8px;
	}

	#thanks h3.thanksHeadeline {
		font-size: min(4.8vw, 28px);
		margin-bottom: min(6vw, 40px);
	}

	#thanks .sponsorTokyo {
		margin-bottom: min(8vw, 60px);
/*
    padding-bottom: min(8vw, 60px);
    border-bottom: #ccc solid 1px;
*/
	}

	#thanks .sponsorList {
		margin-bottom: min(6vw, 30px);
		justify-content: space-between;
	}
	#thanks .sponsorList li {
		width: 48%;
		margin: 0 0 min(4vw, 20px);
		padding: 0;
    	text-align: center;
	}
	#thanks .sponsorList li img {
		height: min(18vw, 100px);
		width: auto;
		max-width: inherit;
	}
	#thanks .areaSponsor {
		margin-top: min(8vw, 60px);
		padding-top: min(8vw, 60px);
		display: block;
	}
  #thanks .areaSponsor.singleColumn {
    justify-content: flex-start;
  }
	#thanks .areaSponsor > div {
		width: 100%;
	}
	#thanks .areaSponsor .sponsorList {
		margin-bottom: min(10vw, 60px);
	}
	#thanks .areaSponsor .sponsorList li {
		width: auto;
		margin: 0 min(4vw, 30px) 1px 0;
	}
	#thanks .areaSponsor .sponsorList li img {
		height: min(12vw, 75px);
		width: auto;
	}

	#thanks .areaSponsor .thanksPart {
		margin-bottom: min(8vw, 60px);
	}
  #thanks .areaSponsor.officialPartners.singleColumn .sponsorsList {
    gap: min(6vw, 30px) 0;
  }
	#thanks h3.thanksHeadeline.thl2 {
		font-size: min(4.2vw, 22px);
		margin-bottom: min(3vw, 20px);
	}
	#thanks .areaSponsor .sponsorListOP li {
		margin-right: min(3vw, 20px);
		margin-bottom: min(2vw, 10px);
	}
	#thanks .areaSponsor .sponsorListOP li img {
		height: min(9vw, 50px);
		width: auto;
	}

	#thanks .areaSponsor .sponsorTxtList li {
		margin-right: min(2vw, 10px);
	}
	#thanks .areaSponsor .sponsorTxtList li::after {
		margin-left: min(2vw, 10px);
	}
	#thanks .areaSponsor .sponsorTxtList li a {
		font-size: min(3.2vw, 15px);
	}

  #thanks .sponsorsList.mainSponsors {
    gap: min(6vw, 30px) min(10vw, 50px);
  }
	#thanks .sponsorsList li {
		height: 60px;
    	margin: 0 0 20px;
	}
	#thanks .areaSponsor .sponsorsList li {
		height: 50px;
		margin: 0 0 0 0;
	}
	#thanks .areaSponsor .sponsorsList.partners li {
		height: 36px;
		margin: 0 15px 10px 0;
	}

}



#selectArea {
	margin-top: 40px;
}
#selectArea .placeSelect {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 60px;
}
#selectArea .placeSelect li {
	margin: 0 30px;
}
#selectArea .placeSelect li a {
  font-family: "Antonio", sans-serif;
  font-weight: bold;
  color: #fff;
  text-decoration: none;
  font-size: 24px;
  line-height: 1.2;
  padding-bottom: 8px;
  display: block;
  border-bottom: transparent solid 4px;
}
#selectArea .placeSelect li a span {
    font-size: 0.8em;
}
#selectArea .placeSelect li a.current {
	border-bottom: #fff solid 4px;
}

#selectArea .dateSelect {
	display: flex;
	align-items: center;
	justify-content: center;
	border-bottom: #fff solid 1px;
	padding-bottom: 35px;
    gap: 0 min(7vw, 50px);
}
#selectArea .dateSelect li {
	margin: 0;
}
#selectArea .dateSelect li a {
  font-family: "Antonio", sans-serif;
  font-weight: 500;
  text-decoration: none;
  color: #bbb;
  font-size: min(6.8vw, 36px);
  line-height: 1.1;
}
#selectArea .dateSelect li a.current {
	color: #fff;
	-webkit-text-stroke: 0;
}
#selectArea .dateSelect li a span {
  display: block;
  font-size: min(3.8vw, 21px);
}
#selectArea .dateSelect li a span.ttlSub {
  font-size: min(3.6vw, 20px);
}
#selectArea .dateSelect li.ms {
    width: min(30vw, 200px);
}
#selectArea .dateSelect li.ms p {
	font-size: 20px;
    line-height: 1.2;
}
#selectArea .dateSelect li.ms div {
    width: 65%;
    margin: 0 auto 12px;
    line-height: 0;
}

#selectArea .stageSelect {
	display: flex;
	justify-content: center;
	align-items: flex-start;
}
#selectArea .stageSelect li {
	margin: 0 30px;
}
#selectArea .stageSelect li.pavilion {
	margin: 0 25px;
}
#selectArea .stageSelect li a {
	text-decoration: none;
	display: block;
}
#selectArea .stageSelect li a div {
	width: 60px;
	line-height: 0;
	margin: 0 auto;
}
#selectArea .stageSelect li.air a div img {
    transform-origin: right bottom;
    transform: scale(1.09);
}
#selectArea .stageSelect li.pavilion a div {
    width: 100px;
    height: 60px;
    display: flex;
    align-items: center;
}
#selectArea .stageSelect li a p {
	font-family: 'Montserrat', sans-serif;
	font-weight: bold;
    font-size: 16px;
    margin-top: 10px;
    line-height: 1.4;

}
#selectArea .stageSelect li.marine a p { color: #18a5db;}
#selectArea .stageSelect li.ocean a p { color: #16b4d6;}
#selectArea .stageSelect li.air a p { color: #0081c0;}
#selectArea .stageSelect li.mountain a p { color: #219e56;}
#selectArea .stageSelect li.sonic a p { color: #eda113;}
#selectArea .stageSelect li.beach a p { color: #cec3a7;}
#selectArea .stageSelect li.rainbow a p { color: #acacad;}
#selectArea .stageSelect li.pacific a p { color: #f6bac7;}
#selectArea .stageSelect li.massive a p { color: #868474;}
#selectArea .stageSelect li.jculture a p { color: #9FA0A0;}
#selectArea .stageSelect li.spotify a p { color: #fff;}
#selectArea .stageSelect li.pavilion a p { color: #fff;}
#selectArea .stageSelect li.maniac a p { color: #7056a2;}
#selectArea .stageSelect li.nf a p { color: #fff; margin-top: 20px;}

.appli {
	text-align: center;
    margin-bottom: 80px;
}
.appli p {
	font-size: 18px;
	margin-bottom: 40px;
}
.appli .appliDL a {
    display: inline-block;
	line-height: 0;
	margin: 0 20px;
    /*padding: 20px 50px;
	border: #fff solid 2px;
	font-size: 16px;
	font-weight: bold;
	text-decoration: none;
	color: #fff;
	background-color: rgba(255,255,255,0.10);
    border-radius: 8px;*/
}
.appli .appliDL a img {
	height: 60px;
	width: auto;
}

.nextEvent {
  text-align: center;
  font-family: "Antonio", sans-serif;
  font-weight: 400;
  letter-spacing: 0.06em;
}
.nextEvent h4 {
  font-size: min(4.8vw, 26px);
  font-weight: 500;
  letter-spacing: 0.08em;
  margin-bottom: min(3vw, 15px);
}
.nextEvent .nextEventBox {
  background-color: rgba(255, 255, 255, 0.2);
  border-radius: min(2vw, 10px);
  padding: min(6vw, 30px) min(4vw, 30px);
}
.nextEvent .nextEventBox p {
  font-size: min(5.2vw, 34px);
  line-height: 1.1;
  margin-bottom: min(4vw, 20px);
}
.nextEvent .nextEventBox p span {
  display: block;
  font-size: min(3.8vw, 22px);
  margin-bottom: min(2vw, 10px);
}
.nextEvent .nextEventBox a {
  display: block;
  width: fit-content;
  background-color: #fff;
  color: #000;
  text-decoration: none;
  margin: 0 auto;
  font-size: min(3.6vw, 18px);
  padding: min(2vw, 10px) min(10vw, 80px);
  border-radius: 100px;
}

.ttWrap {
	max-width: 1140px;
    border-radius: 10px;
    margin: 0 auto 60px;
	background-color: #fff;
    padding: 20px 20px 50px;
}
.ttWrap .ttImg {
    line-height: 0;
    padding: 1.7% 0 5%;
}
/*
.tokyo-day1 .ttWrap .ttImg {
    background: #fff url(../images/tt_time_tokyo19.png) no-repeat center top;
    background-size: 99.4%;
}
.tokyo-day2 .ttWrap .ttImg {
    background: #fff url(../images/tt_time_tokyo.png) no-repeat center top;
    background-size: 99.2%;
}
.osaka-day1 .ttWrap .ttImg,
.osaka-day2 .ttWrap .ttImg {
    background: #fff url(../images/tt_time_osaka.png) no-repeat center top;
    background-size: 99.6%;
}
.tt .ttWrap .ttImg,
.tt .ttWrap .ttImg {
    background: #fff url(../images/tt_time_sm.png) no-repeat center top;
    background-size: 100%;
}
*/


.ttWrap .note {
	color: #000;
    padding: 0 2.2%;
}

.faqLead {
	text-align: center;
    margin-bottom: min(8vw, 60px);
    font-size: min(3.6vw, 18px);
}
.faqWrap {
	margin-bottom: min(8vw, 60px);
}
#platinumTicket .platinumWrap h3.faqTitle {
	margin-bottom: min(4vw, 20px);
}

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

	#selectArea {
		margin-top: min(8vw, 40px);
	}
	#selectArea .placeSelect {
		margin-bottom: min(8vw, 30px);
	}
	#selectArea .placeSelect li {
		margin: 0 min(2.5vw, 30px);
	}
	#selectArea .placeSelect li a {
		font-size: min(4vw, 20px);
    	letter-spacing: 0;
    	padding-bottom: min(2vw, 4px);
	}
	#selectArea .placeSelect li a.current {
		border-bottom: #fff solid 2px;
	}

	#selectArea .dateSelect {
		padding-bottom: min(4vw, 20px);
	}
	#selectArea .dateSelect li {
		margin: 0;
	}
	#selectArea .dateSelect li a {
		letter-spacing: .06em;
    line-height: 1.2;
	}
	#selectArea .dateSelect li.ms a {
		font-size: min(7.2vw, 56px);
	}
	#selectArea .dateSelect li.ms a span {
		font-size: min(7.2vw, 56px);
	}

	#selectArea .stageSelect {
		justify-content: center;
	}
	#selectArea .stageSelect li {
		margin: 0 min(1.5vw, 35px);
    	min-width: min(11.5vw, 95px);
	}
    #selectArea .stageSelect li.pavilion {
		margin: 0 min(2vw, 35px);
    }
	#selectArea .stageSelect li a div {
		width: min(10vw, 60px);
	}
    #selectArea .stageSelect li.pavilion a div {
		width: min(15vw, 100px);
        height: min(10vw, 60px);
    }
	#selectArea .stageSelect li a p {
		font-size: min(2.6vw, 18px);
		margin-top: min(2vw, 5px);
	}

	.appli {
		margin-bottom: min(10vw, 80px);
	}
	.appli p {
		font-size: min(3.4vw, 18px);
		margin-bottom: min(6vw, 40px);
	}
	.appli .appliDL a {
		/*padding: min(4vw, 20px) min(8vw, 50px);
		font-size: min(3.6vw, 16px);
		border-radius: 6px;*/
    	margin: 0 min(2vw, 20px);
	}
	.appli .appliDL a img {
    	height: min(12vw, 60px);
	}

	.ttWrap {
		border-radius: 0;
		margin-bottom: min(8vw, 60px);
    	padding: min(4vw, 20px) min(1.6vw, 15px) min(6vw, 50px);
	}
	.ttWrap .ttImg {
		margin-bottom: min(4vw, 20px);
	}
	.ttWrap .note {
		font-size: min(2.6vw, 14px);
		letter-spacing: 0;
		padding: 0 min(5vw, 20px);
	}
  
  #pageHead.ttHead {
    padding: min(26vw, 160px) 0 min(8vw, 100px);
  }
  .ttHead #selectArea .dateSelect {
    flex-wrap: wrap;
    gap: 0;
    align-items: unset;
    border-top: #fff solid 1px;
    padding: 0;
  }
  .ttHead #selectArea .dateSelect li {
    padding: min(4vw, 15px) min(2vw, 15px);
    position: relative;
  }
  .ttHead #selectArea .dateSelect li::after {
    content: "";
    display: block;
    width: 1px;
    background-color: #fff;
    height: 75%;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
  }
  .ttHead #selectArea .dateSelect li:first-child::after,
  .ttHead #selectArea .dateSelect li:nth-child(4)::after {
    display: none;
  }
  .ttHead #selectArea .dateSelect li:first-child::before {
    content: "";
    display: block;
    width: 100vw;
    height: 1px;
    background-color: #fff;
    position: absolute;
    bottom: -1px;
    left: 0;
  }
  .ttHead #selectArea .dateSelect li:nth-child(-n+3) {
    width: calc(100% / 3);
  }
  .ttHead #selectArea .dateSelect li:nth-child(n+4) {
    width: 50%;
  }
  .ttHead #selectArea .dateSelect li a {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    height: 100%;
  }
  .ttHead #selectArea .dateSelect li a {
    font-size: min(5.4vw, 36px);
  }
  .ttHead #selectArea .dateSelect li a span {
    font-size: min(3.4vw, 21px);
  }
  #selectArea .dateSelect li a span.ttlSub {
    font-size: min(2.2vw, 20px);
    margin-top: 0.4em;
  }

	.faqLead {
		text-align: left;
		margin-bottom: min(8vw, 60px);
		font-size: min(3.6vw, 18px);
	}
}


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

	Attractions

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

.lineUpList.attractionList .thumb img {
	object-fit: cover;
}

#attractionsList .lineUpContents {
    width: 100%;
    box-sizing: border-box;
}


#attraction .attractionDetailHead {
	margin-bottom: 60px;
}
#attraction .attractionDetailHead h3 {
	font-size: 28px;
	font-weight: 500;
}
#attraction .attractionDetailHead .subTtl {
	margin-top: 5px;
	font-size: 16px;
}
#attraction .attractionDetailHead .newsMeta {
	margin-top: 25px;
	display: flex;
	justify-content: space-between;
    align-items: end;
}
#attraction .attractionDetailHead .newsMeta .date {
	font-size: 16px;
	font-weight: 500;
	margin-bottom: 4px;
}
#attraction .attractionDetailHead .newsMeta .cat {
	font-size: 16px;
	font-weight: 500;
}
#attraction .attractionDetailHead .newsMeta .catSS {
	color: #2fc4da;
}
#attraction .attractionDetailHead .newsMeta .catSM {
    color: #e08bff;
}

#attraction .attractionDetailHead .newsMeta .newsSns {
	display: flex;
}
#attraction .attractionDetailHead .newsMeta .newsSns li {
	margin-left: 20px;
}
#attraction .attractionDetailHead .newsMeta .newsSns li a {
	font-size: 24px;
	text-decoration: none;
}


#attraction .attractionBody .eyeCatch {
	margin-bottom: 60px;
}
#attraction .attractionBody .eyeCatch figure {
	line-height: 0;
    margin-bottom: 30px;
    border-radius: 10px;
    overflow: hidden;
    text-align: center;
}

#attraction .attractionBody .eyeCatch p {
	text-align: center;
	font-size: 16px;
}

#attraction .attractionBody .multiBtnWrap {
	margin-bottom: 60px;
	display: flex;
	justify-content: center;
}
#attraction .attractionBody .attBtn {
	display: flex;
	justify-content: center;
	margin: 0 10px;
}
#attraction .attractionBody .attBtn a {
	display: block;
	border: #fff solid 2px;
	padding: 20px 40px;
	text-align: center;
	font-size: 16px;
	color: #fff;
	text-decoration: none;
	border-radius: 8px;
    min-width: 240px;
}
#attraction .attractionBody .attBtn a.current {
	background-color: #fff;
	color: #000;
}

#attraction .attractionBody .stageName {
	text-align: center;
  font-size: 36px;
  font-family: "Antonio", sans-serif;
  font-weight: bold;
  letter-spacing: .1em;
  margin-bottom: 50px;
  margin-top: 120px;
}
#attraction .attractionBody .stageName {

}
#attraction .attractionBody .stageName span {
    display: inline-block;
    position: relative;
    padding-left: 90px;
}
#attraction .attractionBody .stageName span {
	display: inline-block;
	position: relative;
	padding-left: 90px;
}
#attraction .attractionBody .stageName span::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 60px;
	height: 60px;
	transform: translateY(-50%);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 100% auto;
}

#attraction .attractionBody .stageName.att_marine span::before { background-image: url("../images/stage_logo_marine.svg");}
#attraction .attractionBody .stageName.att_ocean span::before { background-image: url("../images/stage_logo_ocean.svg");}
#attraction .attractionBody .stageName.att_mountain span::before { background-image: url("../images/stage_logo_mountain.svg");}
#attraction .attractionBody .stageName.att_sonic span::before { background-image: url("../images/stage_logo_sonic.svg");}
#attraction .attractionBody .stageName.att_beach span::before { background-image: url("../images/stage_logo_beach.svg");}
#attraction .attractionBody .stageName.att_rainbow span::before { background-image: url("../images/stage_logo_rainbow.svg");}
#attraction .attractionBody .stageName.att_massive span::before { background-image: url("../images/stage_logo_massive.svg");}
#attraction .attractionBody .stageName.att_jculture span::before { background-image: url("../images/stage_logo_jc.svg");}


#attraction .attractionBody .gallery {
	display: flex;
	flex-wrap: wrap;
}
#attraction .attractionBody .gallery .gallery-item {
    line-height: 0;
}
#attraction .attractionBody .gallery .gallery-item img {
	border: none;
    width: 100%;
	height: auto;
}
#attraction .attractionBody .gallery.gallery-columns-2 .gallery-item { width: calc(100% / 2);}
#attraction .attractionBody .gallery.gallery-columns-3 .gallery-item { width: calc(100% / 3);}
#attraction .attractionBody .gallery.gallery-columns-4 .gallery-item { width: calc(100% / 4);}
#attraction .attractionBody .gallery.gallery-columns-5 .gallery-item { width: calc(100% / 5);}
#attraction .attractionBody .gallery.gallery-columns-6 .gallery-item { width: calc(100% / 6);}
#attraction .attractionBody .gallery.gallery-columns-7 .gallery-item { width: calc(100% / 7);}
#attraction .attractionBody .gallery.gallery-columns-8 .gallery-item { width: calc(100% / 8);}
#attraction .attractionBody .gallery.gallery-columns-9 .gallery-item { width: calc(100% / 9);}
#attraction .attractionBody .gallery.gallery-columns-10 .gallery-item { width: calc(100% / 10);}

#attraction .foodList {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-bottom: 80px;
}
#attraction .foodList > li {
	width: 46%;
	margin-bottom: 60px;
}
#attraction .foodList > li .foodPicWrap {
	border-radius: 10px;
	overflow: hidden;
	margin-bottom: 25px;
	width: 100%;
    padding-top: 67%;
	position: relative;
}
#attraction .foodList > li .foodPic {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: grid;
	grid-template-columns: 66% 34%;
    grid-template-rows: 50% 50%;
    background-color: #222;
}
#attraction .foodList > li .foodPic li {
	position: relative;
}
#attraction .foodList > li .foodPic li:nth-child(1) {
	grid-row: 1 / 3;
	grid-column: 1 / 2;
}
#attraction .foodList > li .foodPic li:only-child {
	grid-row: 1 / 3;
	grid-column: 1 / 3;
}
/*#attraction .foodList > li .foodPic li:nth-child(2):last-child {
	grid-row: 1 / 3;
	grid-column: 2 / 3;
}*/

#attraction .foodList > li .foodPic li::before {
  font-family: "Antonio", sans-serif;
	display: block;
	position: absolute;
	top: 10px;
	left: 10px;
	background-color: #fff;
	text-align: center;
	width: 20px;
	line-height: 20px;
	font-weight: bold;
	font-size: 12px;
	color: #000;
	border-radius: 50%;
	text-indent: .06em;
}
#attraction .foodList > li .foodPic li:nth-child(1)::before { content: "1";}
#attraction .foodList > li .foodPic li:nth-child(2)::before { content: "2";}
#attraction .foodList > li .foodPic li:nth-child(3)::before { content: "3";}

#attraction .foodList > li .foodPic li img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

#attraction .foodList > li .shopName {
	display: flex;
	align-items: center;
	margin-bottom: 20px;
}
#attraction .foodList > li .shopName .num {
	background-color: #fff;
    padding: 4px;
  font-family: "Antonio", sans-serif;
  font-size: 16px;
  font-weight: bold;
  color: #000;
  text-align: center;
  width: 20px;
  line-height: 20px;
  margin-right: 15px;
}
#attraction .foodList > li .shopName h5 {
	font-size: 16px;
	font-weight: bold;
}

#attraction .menuList {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	padding: 20px 0;
	border-top: #fff solid 1px;
	border-bottom: #fff solid 1px;
	margin-bottom: 20px;
}
#attraction .menuList dt {
	width: 70%;
	margin-bottom: 10px;
	font-weight: bold;
}
#attraction .menuList dt::before {
	margin-right: 10px;
}
#attraction .menuList dt:nth-of-type(1)::before {
	content: "1."
}
#attraction .menuList dt:nth-of-type(2)::before {
	content: "2."
}
#attraction .menuList dt:nth-of-type(3)::before {
	content: "3."
}
#attraction .menuList dd {
	width: 30%;
	text-align: right;
	margin-bottom: 10px;
}
#attraction .menuList dt:last-of-type,
#attraction .menuList dd:last-of-type {
	margin-bottom: 0;
}


#attraction .attHl01 {
	text-align: center;
	font-size: 30px;
	font-weight: bold;
	margin-bottom: 40px;
	margin-top: 80px;
}
#attraction .attHl02 {
	background-color: #2bc2c0;
	color: #fff;
	text-align: center;
	font-size: 20px;
	font-weight: bold;
	padding: 10px;
	margin-bottom: 30px;
}

#attraction .imgList {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 80px;
}
#attraction .imgList.colHalf {
	justify-content: space-between;
}

#attraction .imgList li {
	width: 32%;
	margin-right: 2%;
    margin-bottom: 40px;
}
#attraction .imgList.colHalf li {
	width: 47%;
	margin-right: 0;
}
#attraction .imgList li:nth-child(3n) {
	margin-right: 0;
}
#attraction .imgList li .thumb {
	line-height: 0;
	border-radius: 10px;
	overflow: hidden;
    padding-top: 77.78%;
	position: relative;
	margin-bottom: 20px;
    box-shadow: 10px 10px 0 0 rgb(0 0 0 / 20%);
    background-color: #1c1c1c;
}
#attraction .imgList li a {
    top: 0;
    left: 0;
    display: block;
    color: #fff;
    text-decoration: none;
    height: 100%;
    width: 100%;
    position: absolute;
}
#attraction .imgList li .thumb img {
	width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    position: absolute;
    object-fit: contain;
}
#attraction .imgList li .listTxt {
	font-size: 18px;
	font-weight: bold;
	margin-bottom: 5px;
}
#attraction .imgList li .imgListTag {
    margin-bottom: 10px;
}
#attraction .imgList li .imgListTag span {
    font-size: 13px;
    font-weight: bold;
    padding: 2px 10px;
    margin-right: 5px;
    display: inline-block;
    margin-bottom: 5px;
	background-color: #31b6b1;
}


#attraction .freeTxt {
	margin-bottom: 60px;
}
#attraction .freeTxt p {
	font-size: 16px;
	margin-bottom: 20px;
}
#attraction .freeTxt ul {
	list-style: disc;
	padding-left: 20px;
}
#attraction .freeTxt ol {
	list-style: decimal;
}
#attraction .freeTxt ul li,
#attraction .freeTxt ol li {
    font-size: 16px;
	margin-bottom: 5px;
}
#attraction .freeTxt a {
  color: #fff;
  text-decoration: underline;
}

#attraction .freeTxt h5 {
	font-size: 24px;
	font-weight: bold;
    line-height: 2;
    margin-bottom: 40px;
}

.attModal {
	background-color: #fff;
    padding: 60px;
}
.attModal::after {
	content: "";
	display: block;
	clear: both;
}
.attModal .attModalImg {
	text-align: center;
	line-height: 0;
	margin-bottom: 40px;
    margin-right: 40px;
    width: 58%;
    float: left;
}

.attModal .attModalBody {
	color: #000;
    overflow: hidden;
}
.attModal .attModalBody p {
    margin-bottom: 20px;
}

.attModal .attModalBody p a {
	color: #000;
	text-decoration: underline;
    word-break: break-all;
}

.attModal .attModalBody img.alignleft {
	width: 40%;
    margin-right: 5%;
}

.attModal .attModalBody hr {
	border: none;
	height: 1px;
	margin: 60px 0;
    background-color: #ccc;
}


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

	#attraction .attractionDetailHead {
    	margin-bottom: min(10vw, 60px);
	}
	#attraction .attractionDetailHead h3 {
		font-size: min(4.2vw, 28px);
	}
	#attraction .attractionDetailHead .newsMeta {
		margin-top: min(4vw, 20px);
	}
	#attraction .attractionDetailHead .newsMeta .date {
		font-size: min(3vw, 16px);
    	margin-bottom: min(1vw, 4px);
	}
	#attraction .attractionDetailHead .newsMeta .cat {
		font-size: min(3vw, 16px);
	}
	#attraction .attractionDetailHead .newsMeta .newsSns li {
		margin-left: min(3vw, 20px);
	}
	#attraction .attractionDetailHead .newsMeta .newsSns li a {
		font-size: min(5.2vw, 24px);
	}

	#attraction .attractionBody .eyeCatch {
		margin-bottom: min(10vw, 60px);
	}
	#attraction .attractionBody .eyeCatch figure {
		margin-bottom: min(5vw, 30px);
		border-radius: 8px;
	}
	#attraction .attractionBody .eyeCatch p {
		font-size: min(3.4vw, 16px);
	}


	#attraction .attractionBody .multiBtnWrap {
		margin-bottom: min(10vw, 60px);
		display: block;
	}
	#attraction .attractionBody .attBtn {
    	margin-bottom: min(4vw, 15px);
	}
	#attraction .attractionBody .attBtn a {
		padding: min(3vw, 20px) min(6vw, 40px);
		font-size: min(3.4vw, 16px);
		min-width: 60vw;
	}

	#attraction .attractionBody .stageName {
		font-size: min(6vw, 36px);
    	margin-bottom: min(8vw, 50px);
    	margin-top: min(18vw, 120px);
	}
	#attraction .attractionBody .stageName span {
		padding-left: min(14vw, 90px);
	}
	#attraction .attractionBody .stageName span::before {
		width: min(10vw, 60px);
		height: min(10vw, 60px);
	}

	#attraction .attractionBody .gallery.gallery-columns-2 .gallery-item { width: calc(100% / 2);}
	#attraction .attractionBody .gallery.gallery-columns-3 .gallery-item { width: calc(100% / 3);}
	#attraction .attractionBody .gallery.gallery-columns-4 .gallery-item { width: calc(100% / 4);}
	#attraction .attractionBody .gallery.gallery-columns-5 .gallery-item { width: calc(100% / 5);}
	#attraction .attractionBody .gallery.gallery-columns-6 .gallery-item { width: calc(100% / 3);}
	#attraction .attractionBody .gallery.gallery-columns-7 .gallery-item { width: calc(100% / 4);}
	#attraction .attractionBody .gallery.gallery-columns-8 .gallery-item { width: calc(100% / 4);}
	#attraction .attractionBody .gallery.gallery-columns-9 .gallery-item { width: calc(100% / 5);}
	#attraction .attractionBody .gallery.gallery-columns-10 .gallery-item { width: calc(100% / 5);}

	#attraction .foodList {
		display: block;
    	margin-bottom: min(10vw, 80px);
	}
	#attraction .foodList > li {
		width: 100%;
		margin-bottom: min(10vw, 60px);
	}
	#attraction .foodList > li .foodPicWrap {
		border-radius: 8px;
		margin-bottom: min(6vw, 25px);
		width: 100%;
	}
	#attraction .foodList > li .shopName {
		margin-bottom: min(4vw, 20px);
	}
	#attraction .foodList > li .shopName .num {
		font-size: min(3.4vw, 16px);
		width: min(4vw, 20px);
		line-height: min(4vw, 20px);
		margin-right: min(3vw, 15px);
	}
	#attraction .foodList > li .shopName h5 {
		font-size: min(3.8vw, 16px);
	}

	#attraction .menuList {
		padding: min(3vw, 20px) 0;
		margin-bottom: min(4vw, 20px);
	}

	#attraction .menuList dt {
		margin-bottom: min(2vw, 10px);
	}
	#attraction .menuList dt::before {
		margin-right: min(2vw, 10px);
	}
	#attraction .menuList dd {
		margin-bottom: min(2vw, 10px);
	}

	#attraction .attHl01 {
		font-size: min(4.6vw, 24px);
		margin-bottom: min(6vw, 40px);
		margin-top: min(12vw, 80px);
	}
	#attraction .attHl02 {
		font-size: min(4vw, 20px);
		padding: min(1vw, 10px);
		margin-bottom: min(6vw, 30px);
	}

	#attraction .imgList {
		justify-content: space-between;
    	margin-bottom: min(10vw, 80px);
	}
	#attraction .imgList li {
		width: 47.5%;
		margin-right: 0;
		margin-bottom: min(6vw, 40px);
	}
	#attraction .imgList li .thumb {
		border-radius: 8px;
		margin-bottom: min(3vw, 20px);
		box-shadow: 8px 8px 0 0 rgb(0 0 0 / 20%);
	}
	#attraction .imgList li .listTxt {
		font-size: min(3.6vw, 18px);
		margin-bottom: min(1vw, 5px);
	}
	#attraction .imgList li .listTxtSub {
		font-size: min(3.2vw, 16px);
	}

	#attraction .imgList li .imgListTag span {
		font-size: min(2.8vw, 12px);
		padding: min(1vw, 3px) min(2vw, 10px);
		margin-right: min(2vw, 5px);
	}

	#attraction .freeTxt {
		margin-bottom: min(10vw, 60px);
	}
	#attraction .freeTxt p {
		font-size: min(3.4vw, 16px);
		margin-bottom: min(6vw, 20px);
	}
	#attraction .freeTxt ul,
	#attraction .freeTxt ol {
		padding-left: min(6vw, 20px);
	}
	#attraction .freeTxt ul li,
	#attraction .freeTxt ol li {
		font-size: min(3.4vw, 16px);
		margin-bottom: min(2vw, 5px);
	}
	#attraction .freeTxt h5 {
    	font-size: min(4.8vw, 24px);
		margin-bottom: min(6vw, 40px);
	}

	.attModal .attModalImg {
		margin-bottom: min(8vw, 40px);
		margin-right: 0;
		width: 100%;
		float: none;
	}
	.attModal .attModalBody p {
		margin-bottom: min(4vw, 20px);
	}

	.attModal {
		padding: min(6vw, 60px);
	}
	.attModal .attModalBody img.alignleft {
		width: 100%;
		margin-right: 0;
		float: none;
	}
	.attModal .attModalBody hr {
		margin: min(8vw, 60px) 0;
	}
}