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


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

	Common

//////////////////////////////////////////////////////////////////////////////// */
@font-face {
	font-family: 'sns_icon';
	src: url('../font/sns_icon.eot?hf355k');
	src: url('../font/sns_icon.eot?hf355k#iefix') format('embedded-opentype'),
	url('../font/sns_icon.ttf?hf355k') format('truetype'),
	url('../font/sns_icon.woff?hf355k') format('woff'),
	url('../font/sns_icon.svg?hf355k#sns_icon') format('svg');
	font-weight: normal;
	font-style: normal;
}

i.snsIcon {
	font-family: 'sns_icon' !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-ap:before { content: "\e900";}
.icon-blo:before { content: "\e901";}
.icon-fb:before { content: "\e902";}
.icon-hp:before { content: "\e903";}
.icon-in:before { content: "\e904";}
.icon-line:before { content: "\e905";}
.icon-spo:before { content: "\e906";}
.icon-tt:before { content: "\e907";}
.icon-tw:before { content: "\e908";}
.icon-yt:before { content: "\e909";}

* {
	scroll-padding-top: 100px;
}
body {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 14px;
	line-height: 1.8;
	letter-spacing: .06em;
	color: #fff;
	-webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
	
	background-color: #000;
}

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

.an.anFade {
	opacity: 0;
	transition: all .5s ease-out;
}
.an.anFade.on {
	opacity: 1;
}
.an.anScale {
	opacity: 0;
	transform: scale(.8);
	transition: all .2s ease-in;
}
.an.anScale.on {
	opacity: 1;
	transform: scale(1);
}

.bgSS {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background-color: #000;
	/*background: url("../images/bg_ss.jpg") no-repeat center center;
    background-size: cover;*/
	z-index: -1;
	opacity: 0;
	animation: bgFade 1s linear 1s forwards;
}
@keyframes bgFade {
	0% { opacity: 0;}
	100% { opacity: 1;}
}
.bgSS .js-youtube-fullscreen {
	opacity: .6;
	transition: all .5s linear;
}
.bgSS.indexBg .js-youtube-fullscreen {
	opacity: 1;
}
.bgSS.indexBg .js-youtube-fullscreen.on {
	opacity: .6;
}
.bgSM {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	/*background: url("../images/bg_sm.jpg") no-repeat center center;
    background-size: cover;*/
	z-index: -1;
}
.bgSS canvas,
.bgSM canvas {
    opacity: 0.3;
	height: 100vh !important;
    display: block !important;
}

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

.contentWrap {
	max-width: 1140px;
	margin: 0 auto;
	padding: 0 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;}
	.contentWrap {
		padding: 0 min(6vw, 60px);
	}
}



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

	Header

//////////////////////////////////////////////////////////////////////////////// */
header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
    height: 110px;
    padding: 35px min(2vw, 40px);
	display: flex;
	justify-content: space-between;
	z-index: 100;
	backdrop-filter: blur(0);
	background-color: rgba(0,0,0,0);
	transition: all .3s ease-out;
}
header.on {
    padding: 25px min(2vw, 40px);;
    height: 80px;
	backdrop-filter: blur(5px);
	background-color: rgba(0,0,0,0.6);
}

header #hdrLogo {
	display: flex;
	height: 100%;
}
header #hdrLogo li {
	margin-right: min(1.8vw, 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 #globalNav ul {
	display: flex;
	align-items: center;
	font-family: 'Oswald', sans-serif;
    position: relative;
    padding-right: min(6.2vw, 100px);
}
header #globalNav li {
	margin-left: min(1.7vw, 30px);
}
header #globalNav li a {
	color: #fff;
	font-size: min(1.3vw, 18px);
	text-decoration: none;
	letter-spacing: .1em;
	display: block;
}

header #globalNav li.lang {
	border: #fff solid 1px;
	border-radius: 4px;
    position: absolute;
    top: 0;
    right: 0;
	margin-left: 0;
}
header #globalNav li.lang a.langCurrent {
	display: block;
	font-size: min(1.2vw, 14px);
    /*padding: 3px 30px 3px 20px;*/
    padding: 3px min(1.8vw, 25px);
	position: relative;
}
/*header #globalNav li.lang a.langCurrent::after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 10px;
	width: 9px;
	height: 1px;
	background-color: #fff;
}
header #globalNav li.lang a.langCurrent::before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 14px;
	height: 9px;
	width: 1px;
	background-color: #fff;
	margin-top: -4px;
	transition: all .3s ease-out;
}
header #globalNav li.lang a.langCurrent.on::before {
	transform: rotate(90deg);
}*/

header #globalNav li.lang .langSelect {
	display: none;
}
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.ddw a {
	position: relative;
	padding-right: min(1.4vw, 24px);
}
header #globalNav li.ddw a::after {
	content: "";
	display: block;
	position: absolute;
	top: 42%;
	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;
	padding-top: 5px;
}
header.on #globalNav li.ddw .ddmenu {
	padding-top: 23px;
}
header #globalNav li.ddw .ddmenu a {
	display: block;
	background: rgba(0,0,0,0.40) url("../images/nav_arrow.svg") no-repeat 92% center;
	background-size: 14px;
    padding: 5px 40px 5px 15px;
	margin-bottom: 1px;
	font-size: 14px;
    min-width: 160px;
}
header #globalNav li.ddw .ddmenu a::after {
	display: none;
}
header #globalNav li.ddw .ddmenu a.jp {
	font-size: 13px;
	font-weight: 600;
}


@media screen and (min-width: 821px) {
	
	header #globalNav {
		display: block !important;
	}
	header #globalNav li.lang a:hover {
		/*background-color: #fff;
    	color: #006eaa;*/
		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 {
    	height: min(16vw, 60px);
    	padding: min(4vw, 15px) min(4vw, 25px);
	}
	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 #globalNav {
		position: fixed;
		top: 0;
		left: 0;
		width: 100vw;
		height: 100vh;
		height: -webkit-fill-available;
		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: 0 6vw;
	}
	header #globalNav li {
		display: flex;
    	justify-content: space-between;
		margin: 0;
    	width: 100%;
		padding: min(2.3vw, 10px) 0;
		border-bottom: #666 solid 1px;
	}
	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 {
		border: #fff solid 1px;
		border-radius: 4px;
		position: absolute;
		top: min(4vw, 15px);
		right: min(14vw, 60px);
		margin-left: 0;
    	transition: all .3s ease-out;
		font-family: 'Oswald', sans-serif;
    	z-index: 1000;
	}
	header.on .lang.sp {
		top: min(2vw, 6px);
	}
	header .lang.sp a {
		color: #fff;
		text-decoration: none;
		letter-spacing: .1em;
	}
	header .lang.sp a.langCurrent {
		display: block;
		font-size: min(3.2vw, 14px);
		/*padding: min(1vw, 3px) min(6vw, 30px) min(1vw, 3px) min(3vw, 20px);*/
		padding: min(1vw, 3px) min(4vw, 20px);
		position: relative;
	}
	/*header .lang.sp a.langCurrent::after {
		content: "";
		display: block;
		position: absolute;
		top: 50%;
		right: 8px;
		width: 9px;
		height: 1px;
		background-color: #fff;
	}
	header .lang.sp a.langCurrent::before {
		content: "";
		display: block;
		position: absolute;
		top: 50%;
		right: 12px;
		height: 9px;
		width: 1px;
		background-color: #fff;
		margin-top: -4px;
		transition: all .3s ease-out;
	}
	header .lang.sp a.langCurrent.on::before {
		transform: rotate(90deg);
	}*/

	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 {
    	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: center;
	}
	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.4vw, 18px);
    	font-weight: 500;
   		width: auto;
		min-width: auto;
	}
	header #globalNav li.ddw .ddmenu a.jp {
		font-size: min(3.8vw, 13px);
	}
	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 {
	padding: 80px 0;
	background-color: #000;
}

footer .history {
	border-top: #555 solid 1px;
	border-bottom: #555 solid 1px;
	padding: 20px;
	display: flex;
	justify-content: center;
	font-family: 'Oswald', sans-serif;
	font-weight: 500;
	font-size: 20px;
	margin-bottom: 80px;
}
footer .history dt {
	padding-right: 20px;
	border-right: #555 solid 1px;
}
footer .history dd {
	display: flex;
}
footer .history dd p {
	margin: 0 0 0 20px;
}
footer .history dd a {
	color: #fff;
	text-decoration: none;
}

footer .sponsorLogo {
	display: flex;
	justify-content: center;
	margin-bottom: 80px;
}
footer .sponsorLogo li {
	margin: 0 30px;
	line-height: 0;
}
footer .sponsorLogo li img {
	height: 40px;
	width: auto;
	object-fit: contain;
}
footer .sponsorLogo li.cm {
	width: 160px;
}
footer .sponsorLogo li.ss {
	width: 130px;
}
footer .sponsorLogo li.sm {
	width: 150px;
}

footer .copyright {
	color: #fff;
	text-align: center;
	font-family: 'Oswald', sans-serif;
	font-size: 12px;
}

@media screen and (max-width: 820px) {
	footer {
		padding: min(12vw, 100px) 0;
	}
	
	
	footer .history {
		padding: min(6vw, 20px) 0;
		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;
	}
	footer .history dd p {
		width: 20%;
    	margin: 0 0 min(2vw, 15px);
		text-align: center;
	}
	footer .history dd p:first-child {
		width: 100%;
	}
	
	footer .sponsorLogo {
		margin-bottom: min(12vw, 80px);
	}
	footer .sponsorLogo li {
		margin: 0 3vw;
	}
	footer .sponsorLogo li.cm {
		width: 68px;
	}
	footer .sponsorLogo li.ss {
		width: 78px;
	}
	footer .sponsorLogo li.sm {
		width: 70px;
	}
	footer .sponsorLogo li img {
		height: min(6vw, 40px);
	}
	
	footer .copyright {
		font-size: min(2.6vw, 10px);
	}
}



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

	Index

//////////////////////////////////////////////////////////////////////////////// */
#op {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;
	width: 100vw;
	height: 100vh;
	/*background: #000 url(../images/bg_ss.jpg) no-repeat center center;
    background-size: cover;*/
}
#op::before {
	content: "";
	display: block;
	width: 100vw;
	height: 100vh;
	opacity: 1;
    background: linear-gradient(238deg, #0a3479, #026392, #ddac3e, #572caf, #5c216f);
    background-size: 1000% 1000%;
	
    animation: opBg 14s ease infinite;
}
@keyframes opBg {
    0%{background-position:65% 0%}
    50%{background-position:36% 100%}
    100%{background-position:65% 0%}
}

#op .opSSlogo {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 50vh;
	max-width: 60%;
	opacity: 0;
	animation: op01 1.5s linear 0s forwards;
}
#op .opSMlogo {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 35vh;
	max-width: 50%;
	opacity: 0;
	animation: op01 1.5s linear 2s forwards;
}

@keyframes op01 {
	0% { opacity: 0;}
	20% { opacity: 1;}
	80% { opacity: 1;}
	100% { opacity: 0;}
}

#op .opInfo {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	opacity: 0;
	animation: op01 2.5s linear 4s forwards;
}

#op .opInfo .place {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	font-family: 'Oswald', sans-serif;
	font-weight: bold;
    font-size: 8.4vh;
	line-height: 1.3;
}
#op .opInfo .place li {
	margin: 0;
	display: flex;
	align-items: center;
    white-space: nowrap;
}
#op .opInfo .place span {
    display: inline-block;
    font-size: 2.8vh;
    font-weight: normal;
    line-height: 1.3;
    margin-left: 3vh;
    padding-top: 0.4em;
}

@media screen and (max-width: 820px) {
	#op {
		height: 100vh;
		height: -webkit-fill-available;
	}
	#op .opInfo .place {
		font-size: 8.6vw;
		line-height: 1.3;
	}
	#op .opInfo .place span {
		font-size: 2.9vw;
		margin-left: 3vw;
    	line-height: 1.5;
	}
	
}


#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;
}
@media screen and (max-width: 820px) {
	#topModalComment .date {
		font-size: min(2.8vw, 12px);
		margin-bottom: min(1vw, 10px);
	}
	#topModalComment h3 {
		font-size: min(4.2vw, 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);
	}

}

#mainVisual {
	width: 100%;
	/*height: 100vh;*/
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	color: #fff;
    padding-top: 115px;
}
#sonicMania #mainVisual .mainTitle h1 {
    width: 74vh;
    max-width: 80%;
    line-height: 0;
    margin: 0 auto 2vh;
}

#mainVisual .mainTitle {
    width: 100%;
}
#mainVisual .mainTitle h1 {
	width: 90vh;
	max-width: 80%;
	line-height: 0;
    margin: 0 auto 2vh;
}
#mainVisual .mainTitle .date {
	display: flex;
	justify-content: center;
	font-family: 'Oswald', sans-serif;
	font-weight: bold;
    font-size: 7.2vh;
	margin-bottom: 3vh;
}
#mainVisual .mainTitle .date li {
	margin: 0 2vh;
	display: flex;
	align-items: center;
}
#mainVisual .mainTitle .date span {
    font-size: 2.6vh;
	display: inline-block;
	border: #fff solid 2px;
	border-radius: 50%;
    line-height: 7vh;
    width: 7vh;
	text-align: center;
    vertical-align: text-bottom;
    box-sizing: content-box;
    margin-left: 2vh;
}

#mainVisual .mainTitle .place {
	display: flex;
	justify-content: center;
	font-family: 'Oswald', sans-serif;
	font-weight: bold;
    font-size: 6.4vh;
}
#mainVisual .mainTitle .place li {
	margin: 0 2vh;
	display: flex;
	align-items: center;
}
#mainVisual .mainTitle .place span {
	display: inline-block;
	font-size: 2vh;
	font-weight: normal;
    line-height: 1.4;
	margin-left: 2vh;
    padding-top: 0.2em;
}


#mainVisual .commentOpen {
	position: absolute;
	bottom: 40px;
	left: 40px;
	text-align: center;
}
#mainVisual .commentOpen a {
	display: inline-block;
	border: #fff solid 1px;
	border-radius: 8px;
	color: #fff;
	text-decoration: none;
    padding: 10px 20px;
    text-align: center;
}
#mainVisual .commentOpen a .ttl {
	font-family: 'Oswald', sans-serif;
	font-size: 24px;
    line-height: 1.4;
}
#mainVisual .commentOpen a p {
	font-size: 16px;
    line-height: 1.6;
}
#mainVisual .commentOpen a p span {
	font-size: 12px;
    line-height: 1.4;
	display: inline-block;
}


#mainVisual .snsList {
	position: absolute;
	right: 40px;
	top: 50%;
	transform: translateY(-50%);
}
#mainVisual .snsList li {
	margin: 1vh 0;
}
#mainVisual .snsList a {
	text-decoration: none;
	font-size: 24px;
}


#mainVisual .mainBnr {
	width: 100%;
}
#mainVisual .mainBnr ul li {
	line-height: 0;
	padding: 0 20px;
}
#mainVisual .mainBnr ul li a,
#mainVisual .mainBnr ul li span {
	display: block;
	line-height: 0;
	border-radius: 10px;
	overflow: hidden;
	background-color: #000;
}
#mainVisual .mainBnr ul li a:hover {
	opacity: 1;
}
#mainVisual .mainBnr ul li a img,
#mainVisual .mainBnr ul li span img {
	opacity: .4;
	transition: all .3s ease-out;
}
#mainVisual .mainBnr ul li.slick-current a img,
#mainVisual .mainBnr ul li.slick-current span img {
	opacity: 1;
}

#mainVisual .mainBnr .slick-dotted.slick-slider {
    margin-bottom: 50px;
}
#mainVisual .mainBnr .slick-dots {
    bottom: -40px;
	padding: 0 calc(10% + 20px);
    text-align: left;
}
#mainVisual .mainBnr .slick-dots li {
	padding: 0;
    width: 10px;
    height: 10px;
	opacity: .5;
}
#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;
}

@media screen and (max-width: 1000px) {
	
	#mainVisual .mainBnr .slick-dots {
		padding: 0 calc(5% + 20px);
	}
}
@media screen and (max-width: 820px) {
	
	#mainVisual {
		height: auto;
		/*height: -webkit-fill-available;*/
    	padding-top: min(20vw, 80px);
		padding-bottom: min(20vw, 80px);
    	position: relative;
	}
	#mainVisual .mainTitle h1 {
		width: min(80vw, 90vh);
		margin: 0 auto min(3vw, 2vh);
	}
	
	#mainVisual .mainTitle .date {
		font-size: min(8.4vw, 7.2vh);
		margin-bottom: min(4vw, 3vh);
	}
	#mainVisual .mainTitle .date li {
		margin: 0 min(3vw, 2vh);
	}
	#mainVisual .mainTitle .date span {
		font-size: min(3vw, 2.6vh);
		line-height: min(8vw, 7vh);
		width: min(8vw, 7vh);
		margin-left: min(2vw, 2vh);
		border: #fff solid 1px;
	}
	
	#mainVisual .mainTitle .place {
		font-size: min(6.2vw, 6.2vh);
	}
	#mainVisual .mainTitle .place li {
		margin: 0 min(2vw, 2vh);
	}
	#mainVisual .mainTitle .place span {
		font-size: min(2.6vw, 2vh);
		line-height: 1.2;
		margin-left: 2vw;
		letter-spacing: 0;
	}
	
	#mainVisual .commentOpen {
		bottom: 24vw;
		left: 50%;
		transform: translateX(-50%);
    	width: 80%;
	}
	#mainVisual .commentOpen a {
		padding: 2vw 6vw;
	}
	#mainVisual .commentOpen a .ttl {
		font-size: min(5.2vw, 24px);
	}
	#mainVisual .commentOpen a p {
		font-size: min(3.6vw, 16px);
	}
	#mainVisual .commentOpen a p span {
		font-size: min(2.8vw, 12px);
	}
	
	#mainVisual .snsList {
		right: 5vw;
		top: inherit;
		bottom: 4vw;
		transform: translateY(0);
		width: 90vw;
		display: flex;
		justify-content: center;
	}
	#mainVisual .snsList li {
		margin: 0 min(2.5vw, 2vh);
	}
	#mainVisual .snsList a {
		font-size: min(6vw, 24px);
	}
	
	#mainVisual .mainBnr ul li {	
		padding: 0 min(1vw, 20px);	
	}
	
	#mainVisual .mainBnr .slick-dots {
		padding: 0 min(4vw, 30px);
		bottom: min(-7vw, -40px);
	}
	#mainVisual .mainBnr .slick-dots li {
		width: 8px;
		height: 8px;
	}
	#mainVisual .mainBnr .slick-dots li button {
		width: 8px;
		height: 8px;
	}
}
@media screen and (max-width: 820px) and (orientation: landscape) {
	
	#mainVisual {
		padding-bottom: 2vh;
	}
	#mainVisual .snsList {
		top: inherit;
		bottom: 5vh;
	}
}


main {
	padding-bottom: 100px;
}
main.illustSS {
	padding-bottom: 30%;
	background: url("../images/bg_city.png") no-repeat center bottom;
	background-size: 100% auto;
}

.indexHeadeline {
	color: #fff;
    font-size: 36px;
	font-weight: bold;
	margin-bottom: 50px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.moreBtn {
	margin-top: 30px;
	text-align: right;
}
.moreBtn a {
	color: #fff;
	text-decoration: none;
    font-family: 'Oswald', sans-serif;
    font-size: 20px;
	font-weight: bold;
	position: relative;
    display: inline-block;
	padding-right: 20px;
}
.moreBtn a::after {
	content: "";
	display: block;
    position: absolute;
	top: 54%;
	right: 3px;
	width: 10px;
    height: 10px;
	border-top: #fff solid 1px;
	border-right: #fff solid 1px;
	transform: translateY(-50%) rotate(45deg);
}

#topComment {	
	padding: 80px 0 30px;
}
#topComment a {	
	display: block;
    border-radius: 10px;
    text-align: center;
    text-decoration: none;
    padding: 10px 20px;
    color: #fff;
    max-width: 340px;
    font-weight: bold;
    font-size: 20px;
    line-height: 1.6;
    border: #fff solid 2px;
    margin: 0 auto;
}
#topComment a span {
	font-size: 14px;
	font-weight: normal;
}


#topTicket {	
	padding: 80px 0 30px;	
}	
#topTicket .noteBtn a {	
	max-width: 340px;	
	font-weight: bold;	
    font-size: 18px;	
	line-height: 1.6;	
    border: #fff solid 2px;	
}	
#topMovie {	
	padding: 0 0 100px;
	
}
#topMovie .contentWrap {
	max-width: 860px;
}


#topNews {
	padding:  100px 0;
}
#topNews .contentWrap {
	position: relative;
}

#topNews .newsTab {	
    position: absolute;
    top: 0;
    right: 60px;
    display: flex;
}
#topNews .newsTab li {
	padding-left: 15px;
    margin-left: 15px;
    border-left: #fff solid 1px;
}
#topNews .newsTab li:first-child {
	border-left: none;
}
#topNews .newsTab li a {
	color: #fff;
    text-decoration: none;
    font-size: 20px;
    font-family: 'Oswald', sans-serif;
    font-weight: bold;
    line-height: 1.2;
    padding-bottom: 6px;
}
#topNews .newsTab li a.on {
    border-bottom: #fff solid 4px;
    display: inline-block;
}

#topNews .topNewsList {
	display: flex;
	padding-bottom: 4%;
	border-bottom: #fff solid 1px;
}
#topNews #tabSM.topNewsWrap {
	display: none;
}

#topNews .topNewsList li {
	width: 32%;
	margin-right: 2%;
}
#topNews .topNewsList li:last-child {
	margin-right: 0;
}
#topNews .topNewsList li a {
	display: block;
	color: #fff;
	text-decoration: none;
}
#topNews .topNewsList li a .thumb {
	width: 100%;
	line-height: 0;
	position: relative;
	border-radius: 8px;
    padding-top: 71.43%;
	overflow: hidden;
	margin-bottom: 20px;
}
#topNews .topNewsList li a .thumb img {
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	position: absolute;
	object-fit: cover;
}
#topNews .topNewsList li a .txt {
	width: 100%;
}
#topNews .topNewsList li a .txt .date {
	font-size: 13px;
	font-family: 'Oswald', sans-serif;
	letter-spacing: .1em;
	margin-bottom: 10px;
}
#topNews .topNewsList li a .txt .ttl {
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 10px;
}
#topNews .topNewsList li a .txt .tag {
	font-size: 13px;
	font-weight: bold;
}
#topNews .topNewsList li a .txt .tag.tagSS {
	color: #2fc4da;
}
#topNews .topNewsList li a .txt .tag.tagSM {
	color: #e08bff;
}


#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;
}


#topLineup {
	padding: 40px 0 100px;
}
#topLineup .contentWrap {
	position: relative;
}
#topLineup .placeIco {
	position: absolute;
	top: 0;
	right: 60px;
	display: flex;
}
#topLineup .placeIco li {
	margin-left: 30px;
}
#topLineup .placeIco li::before {
	display: inline-block;
	width: 30px;
	height: 30px;
	line-height: 30px;
	margin-right: 10px;
	text-align: center;
	font-weight: bold;
    text-indent: 0.08em;
	vertical-align: middle;
}
#topLineup .placeIco li:nth-child(1)::before {
	content: "";
	background: url("../images/ico_t.svg") no-repeat center center;
	background-size: 100%;
}
#topLineup .placeIco li:nth-child(2)::before {
	content: "";
	background: url("../images/ico_o.svg") no-repeat center center;
	background-size: 100%;
}

.lineUpList li .icoT,
.lineUpList li .icoO {
	display: block;
    width: 27px;
    height: 27px;
	text-align: center;
	font-weight: bold;
    margin: 0;
}
.lineUpList li .icoT {
	background: url("../images/ico_t.svg") no-repeat center center;
	background-size: 100%;
}
.lineUpList li .icoO {
	background: url("../images/ico_o.svg") no-repeat center center;
	background-size: 100%;
}

.micmaniaArea {
	padding-top: 10%;
    border-top: #fff solid 1px;
}

.headlinerList {
	display: flex;
	justify-content: space-between;
	flex-direction: row;
	flex-wrap: wrap;
	margin-bottom: 100px;
}
.headlinerList li {
	width: 46%;
}
.headlinerList li.portrait {
    padding: 0 7%;
    box-sizing: border-box;
}
.headlinerList li.landscape {
    padding: 0 2%;
    box-sizing: border-box;
}
.headlinerList li .thumb {
	line-height: 0;
	border-radius: 10px;
	overflow: hidden;
	margin-bottom: 20px;
	background-color: #000;
	box-shadow: 15px 15px 0 0 rgb(0, 0, 0, 0.2);
}
.headlinerList li .name {
	color: #fff;
	font-size: 20px;
	font-weight: bold;
	padding: 0 15px;
}
.headlinerList li .name span {
	font-size: 14px;
    font-weight: normal;
    display: inline-block;
    margin-left: 10px;
}


.lineUpList {
	display: flex;
	flex-wrap: wrap;
    align-items: flex-start;
    padding-bottom: 10%;
}
.lineUpList li {
	width: 30%;
	margin-right: 5%;
    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: 'Oswald', sans-serif;
    font-weight: bold;
    position: absolute;
    top: -0.75em;
    left: 0.35em;
    font-size: 30px;
    line-height: 1;
    color: #ffcc00;
    z-index: 2;
}
.lineUpList li .thumb {
	overflow: hidden;
	border-radius: 10px;
	line-height: 0;
	background-color: #000;
	box-shadow: 10px 10px 0 0 rgb(0, 0, 0, 0.2);
    margin-bottom: 20px;
    width: 100%;
}
.lineUpList li.portrait {
	padding: 0 2.5%;
}
.lineUpList li .thumb a {
	border-radius: 10px;
	overflow: hidden;
	display: block;
	position: relative;
	background-color: #1c1c1c;
	padding-top: 77.78%;
}
.lineUpList li .thumb a::after {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
}
/*#topLineup .lineUpList li .thumb a {
	padding-top: 0;
}*/
.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;
}
/*#topLineup .lineUpList li .thumb img {
	position: static;
	object-fit: unset;
}*/
.lineUpList li .name {
	font-size: 16px;
	font-weight: bold;
	color: #fff;
	padding: 0 10px;
    line-height: 1.6;
}
.lineUpList li .name span {
	font-weight: normal;
	font-size: 12px;
}

#topLineup .moreTxt {
    font-family: 'Oswald', sans-serif;
	font-size: 32px;
	text-align: center;
	letter-spacing: .06em;
    margin-bottom: 60px;
}


#poster {
	padding: 0 0 80px;
}
#poster ul {
	display: flex;
	justify-content: space-between;
}
#poster.smPoster ul {
	justify-content: center;
}
#poster ul li {
	width: 48%;
	line-height: 0;
}


@media screen and (min-width: 821px) {
	/*#topLineup .headlinerList li:nth-child(even) {
		transform: translateY(20%);
	}
	.lineUpList li:nth-child(3n+2) {
		transform: translateY(80px);
	}
	.lineUpList li:nth-child(3n+3) {
		transform: translateY(160px);
	}*/
}
@media screen and (max-width: 820px) {
	
	#topComment {
    	padding: min(8vw, 80px) 0 0;	
	}
	#topComment a {
		border-radius: 8px;
		padding: min(3vw, 10px);
		width: min(70vw, 340px);
		font-size: min(4.5vw, 20px);
	}
	#topComment a span {
		font-size: min(3.2vw, 14px);
	}
	
	#topTicket {	
    	padding: min(8vw, 80px) 0 0;	
	}	
	#topTicket .noteBtn a {
    	width: min(70vw, 340px);
		max-width: 100%;	
		font-size: min(3.6vw, 18px);	
	}
	
	#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);	
	}
	
	#topLineup .placeIco {
		right: min(6vw, 60px);
    	display: block;
	}
	#topLineup .placeIco li {
		margin-left: min(4vw, 30px);
    	margin-bottom: min(2vw, 10px);
		font-size: min(3vw, 16px);
	}
	#topLineup .placeIco li::before {
		width: min(5vw, 60px);
		height: min(5vw, 60px);
		line-height: min(5vw, 60px);
		margin-right: 1vw;
    	font-size: min(2.6vw, 12px);
	}
	
	#topLineup .moreTxt {
		font-size: min(6vw, 32px);
		margin-bottom: min(8vw, 60px);
	}
	
	.micmaniaArea {
		padding-top: 18%;
	}
	.lineUpList li {
		position: relative;
	}
	.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.8em;
    	left: 0.4em;
		font-size: 4.8vw;
	}
	
	#poster {
		padding: 0 0 min(10vw, 80px);
	}
}




#selectPlace {
	display: flex;
	background-color: #000;
}
#selectPlace div {
	width: 50%;
}
#selectPlace div a {
	display: block;
	padding: 8% 5%;
	color: #fff;
	text-decoration: none;
	text-align: center;
}
#selectPlace .placeOsaka a {
	background: linear-gradient(135deg, #e15856, #ffb424);
}
#selectPlace .placeTokyo a {
	background: linear-gradient(135deg, #093274, #2aae9d);
}

#selectPlace .city {
	font-size: 54px;
	font-weight: bold;
    line-height: 1.4;
    margin-bottom: 0.5vw;
}
#selectPlace .location {
	font-size: 17px;
	font-weight: 500;
    margin-bottom: 4vw;
}
#selectPlace .more {
	font-size: 14px;
}


#topPlaylist {
	background-color: #000;
	padding: 80px 0 100px;
}
#topPlaylist .playlistWrap {
	display: flex;
	justify-content: space-around;
}
#topPlaylist .playlistWrap div {
	width: 47%;
	height: 400px;
}
#topPlaylist .playlistWrap div iframe {
	width: 100%;
	height: 100%;
	object-fit: fill;
}


#topSponsors {
	background-color: #fff;
	padding: 60px 0 80px;
}
#topSponsors .indexHeadeline {
	color: #000;
	justify-content: center;
}
#topSponsors .sponsorList {
	display: flex;
	justify-content: center;
	align-items: center;
}
#topSponsors .sponsorList + .sponsorList {
	margin-top: 50px;
}
#topSponsors .sponsorList li {
	line-height: 0;
    margin: 0 20px;
}
#topSponsors .sponsorList li img {
	height: 100px;
	max-width: inherit;
}


@media screen and (min-width: 821px) {
	#topNews .topNewsList li a {
		padding: 10px;
		border-radius: 10px;
	}
	#topNews .topNewsList li a:hover {
		opacity: 1;
		background-color: rgba(0,0,0,0.3);
    	backdrop-filter: blur(6px);
	}
}
@media screen and (max-width: 820px) {
	main {
		padding-bottom: 8vw;
	}
	#topMovie {
		padding: min(12vw, 60px) 0;
	}
	
	#topMovie .noteBtn {
		margin-top: min(10vw, 80px);
	}
	
	#topNews {
		padding: min(12vw, 60px) 0;
		
	}
	.indexHeadeline {
		font-size: min(6vw, 36px);
		margin-bottom: min(10vw, 40px);
	}
	.moreBtn {
    	margin-top: min(6vw, 30px);
	}
	.moreBtn a {
		font-size: min(3.8vw, 17.5px);
		padding-right: min(4vw, 20px);
	}
	.moreBtn a::after {
		right: min(1vw, 3px);
		width: min(2vw, 10px);
		height: min(2vw, 10px);
	}
	
	#topNews .newsTab {
		position: static;
		margin-bottom: min(10vw, 60px);
    	justify-content: center;
	}
	#topNews .newsTab li {
		padding: 0 min(4vw, 15px);
		margin-left: 0;
		border-left: #fff solid 1px;
	}
	#topNews .newsTab li a {
		font-size: min(4.2vw, 20px);
	}
	#topNews .newsTab li a.on {
		border-bottom: #fff solid 3px;
	}
	
	#topNews .topNewsList {
		padding-bottom: min(4vw, 30px);
    	flex-wrap: wrap;
	}
	#topNews .topNewsList li {
		width: 100%;
    	margin-bottom: min(6vw, 30px);
	}
	#topNews .topNewsList li a {	
		display: flex;	
    	justify-content: space-between;
    	align-items: start;
	}
	#topNews .topNewsList li a .thumb {	
		width: 40%;	
		padding-top: 31.11%;
		margin-bottom: 0;
	}	
	#topNews .topNewsList li a .txt {	
		width: 55%;	
	}
	#topNews .topNewsList li a .txt .date {
		font-size: min(3vw, 13px);
		margin-bottom: min(1vw, 5px);
	}
	#topNews .topNewsList li a .txt .ttl {
		font-size: min(3.4vw, 18px);
		margin-bottom: min(2vw, 10px);
	}
	#topNews .topNewsList li a .txt .tag {
		font-size: min(3vw, 13px);
	}
	
	#topLineup {
		padding: 6vw 0 12vw;
	}
	.headlinerList {
		padding-bottom: 0;
    	margin-bottom: min(8vw, 100px);
	}
	.headlinerList li {
		width: 100%;
    	margin-bottom: 10vw;
	}
	
	.headlinerList li .thumb {
		border-radius: 6px;
    	margin-bottom: 3vw;
		box-shadow: 10px 10px 0 0 rgb(0,0,0,0.2);
	}
	.headlinerList li .name {
		font-size: min(4.2vw, 24px);
		padding: 0 10px;
	}
	.headlinerList li .name span {
		font-size: min(3.2vw, 14px);
    	margin-left: min(2vw, 10px);
	}
	.lineUpList {
		justify-content: space-between;
	}
	.lineUpList li {
		width: 47%;
		margin-right: 0;
		margin-bottom: 10vw;
	}
	.lineUpList li .thumb {
		border-radius: 8px;
		box-shadow: 8px 8px 0 0 rgb(0,0,0,0.2);
		margin-bottom: 3vw;
	}
	.lineUpList li .thumb a {
		border-radius: 8px;
	}
	.lineUpList li .name {
		font-size: min(3.2vw, 20px);
		line-height: 1.4;
    	padding: 0 24px 0 8px;
	}
	
	
	#selectPlace {
		flex-direction: column-reverse;
	}
	#selectPlace div {
		width: 100%;
	}
	#selectPlace div a {
		padding: 6vw;
	}
	#selectPlace .city {
		font-size: min(9.6vw, 54px);
    	margin-bottom: min(2vw, 5px);
	}
	#selectPlace .location {
		font-size: min(3.2vw, 20px);
		margin-bottom: min(6vw, 40px);
	}
	#selectPlace .more {
		font-size: min(3vw, 14px);
	}
	
	
	#topPlaylist {
		padding: min(8vw, 80px) 0 min(12vw, 100px);
	}
	#topPlaylist .playlistWrap {
		display: block;
	}
	#topPlaylist .playlistWrap div {
		width: 100%;
		height: 320px;
    	margin-bottom: 6vw;
	}
	
	
	#topSponsors {
		padding: min(8vw, 60px) 0;
	}
	#topSponsors .sponsorList {
		display: flex;
		flex-wrap: wrap;
    	justify-content: space-between;
	}
	#topSponsors .sponsorList + .sponsorList {
		margin-top: min(8vw, 50px);
	}
	#topSponsors .sponsorList li {
		width: 48%;
		margin: 0 0 min(4vw, 25px);
    	text-align: center;
	}
	#topSponsors .sponsorList li img {
		height: min(18vw, 100px);
		width: auto;
		max-width: inherit;
	}
	
	
	
}



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

	Under page - Common

//////////////////////////////////////////////////////////////////////////////// */
#pageHead {
	padding: 160px 60px 100px;
	text-align: center;
}
.pageTitle {
    font-family: 'Oswald', sans-serif;
	font-size: 48px;
	letter-spacing: .08em;
}
#pageHead .eventSelect {
	margin-top: 60px;
	padding-top: 40px;
	border-top: #fff solid 1px;
	display: flex;
	justify-content: center;
    font-family: 'Oswald', sans-serif;
}
#pageHead .eventSelect li {
	font-size: 24px;
	font-weight: bold;
}
#pageHead .eventSelect li + li {
	border-left: #fff solid 1px;
	margin-left: 30px;
}
#pageHead .eventSelect li a {
	color: #fff;
	text-decoration: none;
    display: inline-block;
	margin-left: 30px;
}
#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: 'Oswald', 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: 'Oswald', 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;
}


#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: 'Oswald', sans-serif;
	font-weight: bold;
	color: #fff;
	text-decoration: none;
	font-size: 20px;
    line-height: 1.4;
    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;
	margin-bottom: 60px;
}
#selectArea .dateSelect li {
	margin: 0 30px;
}
#selectArea .dateSelect li a {
	font-family: 'Oswald', sans-serif;
	font-weight: bold;
	text-decoration: none;
	color: transparent;
	-webkit-text-stroke: 1px #fff;
	font-size: 62px;
	line-height: 1.1;
}
#selectArea .dateSelect li a.current {
	color: #fff;
	-webkit-text-stroke: 0;
}
#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: center;
}
#selectArea .stageSelect li {
	margin: 0 35px;
}
#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 a p {
	font-family: 'Oswald', sans-serif;
	font-weight: bold;
	font-size: 18px;
	margin-top: 5px;
	
}
#selectArea .stageSelect li.marine a p { color: #18a5db;}
#selectArea .stageSelect li.ocean a p { color: #16b4d6;}
#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 .aboutAreaDip {
	font-family: 'Oswald', sans-serif;
    font-weight: bold;
    font-size: 72px;
    line-height: 1.2;
    text-align: center;
}

.stageWrap {
	display: none;
}
#lineup_marine.stageWrap,
#lineup_ocean.stageWrap,
#lineup_mountain.stageWrap.smMountain {
	display: block;
}
.stageWrap h3 {
	text-align: center;
	font-size: 36px;
	font-family: 'Oswald', sans-serif;
	font-weight: bold;
	letter-spacing: .1em;
	margin-bottom: 50px;
}
.stageWrap h3 span {
	display: inline-block;
	position: relative;
	padding-left: 90px;
}
.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: 100% auto;
}

#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 { background-image: url("../images/stage_logo_sonic.svg");}
#lineup_beach.stageWrap h3 span::before { background-image: url("../images/stage_logo_beach.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_sega.stageWrap h3 img {
	max-width: 800px;
}

.eventHaed {
	margin-bottom: 80px;
}
.eventHaed .logo {
	width: 60%;
	max-width: 300px;
	margin: 0 auto 35px;
	line-height: 0;
}
.eventHaed .place {
    font-family: 'Oswald', 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;
}


.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: 'Oswald', 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: 'Oswald', 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;
}


@media screen and (min-width: 821px) {
	.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) {
	
	#selectArea {
		margin-top: min(8vw, 40px);
	}
	#selectArea .placeSelect {
		margin-bottom: min(8vw, 30px);
	}
	#selectArea .placeSelect li {
		margin: 0 min(1.5vw, 30px);
	}
	#selectArea .placeSelect li a {
		font-size: min(3.2vw, 20px);
    	letter-spacing: 0;
    	padding-bottom: min(2vw, 4px);
	}
	#selectArea .placeSelect li a.current {
		border-bottom: #fff solid 2px;
	}

	#selectArea .dateSelect {
		justify-content: space-around;
		padding-bottom: min(4vw, 20px);
		margin-bottom: min(8vw, 60px);
	}
	#selectArea .dateSelect li {
		margin: 0;
	}
	#selectArea .dateSelect li a {
		-webkit-text-stroke: 1px #fff;
		font-size: min(8.2vw, 56px);
		line-height: 1.3;
		letter-spacing: .06em;
	}
	#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);
	}
	#selectArea .stageSelect li a div {
		width: min(10vw, 60px);
	}
	#selectArea .stageSelect li a p {
		font-size: min(2.8vw, 18px);
		margin-top: min(2vw, 5px);
	}

	#selectArea .dateSelect li.ms div {
		margin: 0 auto min(1.5vw, 10px);
		width: 56%;
	}
	#selectArea .dateSelect li.ms p {
		font-size: min(3.2vw, 24px);
		line-height: 1.2;
		letter-spacing: 0.06em;
	}

	#selectArea .aboutAreaDip {
    	font-size: min(7.6vw, 72px);
	}
	
	.stageWrap h3 {
		font-size: min(6vw, 36px);
		margin-bottom: min(8vw, 50px);
	}
	.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%;
	}
	
	
	#pageHead {
		padding: min(26vw, 160px) min(6vw, 60px) min(14vw, 80px);
	}
	.pageTitle {
		font-size: min(7.2vw, 48px);
	}
	
	#pageHead .eventSelect {
		margin-top: min(8vw, 60px);
    	padding-top: min(6vw, 40px);
    	align-items: flex-end;
	}
	#pageHead .eventSelect li {
    	font-size: min(4.6vw, 24px);
	}
	#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 {
		margin-left: min(4vw, 30px);
		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 {
		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);
	}
	
	.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);
	}
}



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

	News

//////////////////////////////////////////////////////////////////////////////// */
#news .newsList {
	display: flex;
	flex-wrap: wrap;
}
#news .newsList li {
	width: 32%;
	margin-right: 2%;
	margin-bottom: 60px;
}
#news .newsList li:nth-child(3n) {
	margin-right: 0;
}
#news .newsList li a {
	display: block;
    color: #fff;
    text-decoration: none;
}
#news .newsList li .thumb {
	line-height: 0;
	border-radius: 10px;
	overflow: hidden;
	padding-top: 71.43%;
	position: relative;
}
#news .newsList li .thumb img {
	width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    position: absolute;
    object-fit: cover;
}
#news .newsList li .txt {
	padding: 15px 10px 5px;
}
#news .newsList li .txt .date {
    font-size: 14px;
    font-family: 'Oswald', sans-serif;
    letter-spacing: .1em;
    margin-bottom: 5px;
}
#news .newsList li .txt .ttl {
    font-size: 1 6px;
    margin-bottom: 15px;
}
#news .newsList li .txt .tag {
    font-size: 13px;
    font-weight: bold;
}
#news .newsList li .txt .tag.tagSS {
    color: #2fc4da;
}
#news .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;
}
#news .newsDetailHead .newsMeta .date {
	font-size: 16px;
	font-weight: 500;
	margin-bottom: 4px;
}
#news .newsDetailHead .newsMeta .cat {
	font-size: 16px;
	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;
}
#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;
}
#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: #999 solid 1px;
    border-radius: 8px;
    padding: 15px 40px;
    min-width: 200px;
    background-color: #999;
}

#news .newsBody h4 {
    font-size: 20px;
    font-weight: 600;
	margin-bottom: 30px;
	margin-top: 60px;
}
#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);
}
#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;
}




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) {
	#news .newsList li a {
		padding: 10px;
		border-radius: 10px;
	}
	#news .newsList li a:hover {
		opacity: 1;
		background-color: rgba(0,0,0,0.3);
    	backdrop-filter: blur(6px);
	}
}
@media screen and (max-width: 820px) {
	
	#news .newsList {
		justify-content: space-between;
	}
	#news .newsList li {
		width: 47%;
		margin-right: 0;
		margin-bottom: min(10vw, 60px);
	}
	
	#news .newsList li .txt {
		padding: 3vw 0 0;
	}
	#news .newsList li .txt .date {
		font-size: min(3vw, 14px);
		margin-bottom: min(2vw, 10px);
	}
	#news .newsList li .txt .ttl {
		font-size: min(3.4vw, 18px);
		margin-bottom: min(4vw, 15px);
		letter-spacing: .05em;
	}
	#news .newsList li .txt .tag {
		font-size: min(3vw, 13px);
	}
	
	#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(6vw, 40px);
		line-height: 1.8;
	}
	#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 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);
	}
}


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

	Artists

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

#lineup .placeIco {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 40px;
}
#lineup .placeIco li {
	margin-left: 30px;
}
#lineup .placeIco li::before {
	display: inline-block;
	width: 30px;
	height: 30px;
	line-height: 30px;
	margin-right: 10px;
	text-align: center;
	font-weight: bold;
	border-radius: 50%;
    text-indent: 0.08em;
	vertical-align: middle;
}
#lineup .placeIco li:nth-child(1)::before {
	content: "";
	background: url("../images/ico_t.svg") no-repeat center center;
	background-size: 100%;
}
#lineup .placeIco li:nth-child(2)::before {
	content: "";
	background: url("../images/ico_o.svg") no-repeat center center;
	background-size: 100%;
}

.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;
}
.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: 'Oswald', sans-serif;
	font-size: 16px;
	font-weight: 500;
	text-decoration: none;
	text-align: center;
    padding: 8px 10px;
	border-radius: 5px;
}

.artistHead .artistTitle .artistSns {
	display: flex;
}
.artistHead .artistTitle .artistSns li {
	margin-right: 20px;
}
.artistHead .artistTitle .artistSns li a {
	text-decoration: none;
	font-size: 24px;
}

.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 .playlistApp {
    min-width: 40%;
	margin-left: 40px;
}
.artistBodoy .playlistApp iframe {
	width: 100%;
    height: 420px;
}

.modal {
	padding: 40px 30px;
}

#lineupBnr a {
	display: block;
	position: relative;
	width: 100%;
	padding-top: 88%;
}
#lineupBnr a img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: contain;
}


#lineupMov {
	padding-bottom: 80px
}
#lineupMov .contentWrap {
	position: relative;
	padding-top: 100px;
}
#lineupMov .contentWrap::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 60px;
	width: calc(100% - 120px);
	height: 1px;
	background-color: #fff;
}
#lineupMov .iframeBox {
    max-width: 860px;
    margin: 0 auto;
}


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


@media screen and (max-width: 820px) {
	#lineup .placeIco {
    	margin-bottom: min(6vw, 40px);
	}
	#lineup .placeIco li {
		margin-left: min(4vw, 30px);
    	margin-bottom: min(2vw, 10px);
		font-size: min(3vw, 16px);
	}
	#lineup .placeIco li::before {
		width: min(5vw, 60px);
		height: min(5vw, 60px);
		line-height: min(5vw, 60px);
		margin-right: 1vw;
    	font-size: min(2.6vw, 12px);
	}
	
	.modal {
		padding: 6vw 3vw;
	}
	.artistHead {
		flex-direction: column-reverse;
	}
	.artistHead .artistPhoto {
		width: 100%;
		/*padding-top: 73.33%;*/
		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;
	}
	
	#lineupMov {
		padding-bottom: min(10vw, 80px);
	}
	#lineupMov .contentWrap {
		padding-top: 0;
	}
	#lineupMov .contentWrap::before {
		display: none;
	}
	#lineupMov .iframeBox {
		padding-top: min(14vw, 100px);
		border-top: #fff solid 1px;
	}
	.lineupTopics {
		padding: min(5vw, 30px);
		margin-bottom: min(10vw, 60px);
		font-size: min(3.6vw, 16px);
	}
	.lineupTopics p + p {
		margin-top: min(4vw, 20px);
	}
}



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

	Ticket

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

#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(49,182,177,0.40);
	border: #2bc2c0 solid 3px;
	padding: 30px 40px;
	display: flex;
	flex-wrap: wrap;
	backdrop-filter: blur(8px);
	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 .noteBtn {
	margin-top: 35px;
    width: 100%;
}

.noteBtn a {
	max-width: 300px;
	margin: 0 auto;
	text-align: center;
	display: block;
	color: #fff;
	text-decoration: none;
	font-size: 16px;
	border: #fff solid 1px;
	border-radius: 8px;
	padding: 20px;
}

.benefits {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 40px;
}
.benefits li {
	width: 30%;
	text-align: center;
	background-color: rgba(49,182,177,0.40);
	border: #2bc2c0 solid 3px;
	padding: 30px 15px;
	backdrop-filter: blur(8px);
	border-radius: 8px;
	box-sizing: border-box;
	margin-right: 5%;
	margin-bottom: 30px;
	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;
}



.ticketPrice {
	border-radius: 8px;
	overflow: hidden;
	margin-bottom: 60px;
}
.ticketPrice table {
	width: 100%;
	border-collapse: collapse;
	background-color: #fff;
	border: none;
}
.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: #31b6b1;
	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;
}
.ticketPrice table span.txtS {
	font-size: 10px;
}

.ticketPrice table td .tag01,
.ticketPrice table td .tag02,
.ticketPrice table td .tag03,
.ticketPrice table td .tag04 {
	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;}

#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;
}

.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: #31b6b1;
	color: #fff;
	font-weight: 500;
}
.ticketSchedule table thead th,
.ticketSchedule table thead td {
	font-weight: 500;
}


.tickeMo {
	background-color: #fff;
	padding: 60px;
}
.tickeMo li {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding-bottom: 60px;
    margin-bottom: 60px;
    border-bottom: #ccc solid 1px;
    color: #000;
}
.tickeMo li:last-child {
    padding-bottom: 0;
    margin-bottom: 0;
    border-bottom: none;
}
.tickeMo li .tikeLogo {
    width: 38%;
    line-height: 0;
    border: #ccc solid 1px;
}
.tickeMo li .tikeTxt {
    width: 55%;
}
.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: 'Oswald';
    font-size: 18px;
    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;
}
.ticketNav li {
	width: 24%;
	margin: 0 .5% 15px;
}
.ticketNav li a {
	display: block;
	background-color: rgba(230,180,155,0.1);
	text-align: center;
	color: #fff;
	text-decoration: none;
	font-size: 14px;
	font-weight: bold;
	padding: 15px;
	border-radius: 6px;
	border: #fff solid 2px;
}

.benefitAcc {
	border: #fff solid 2px;
	background-color: rgba(255,255,255,0.1);
	border-radius: 10px;
}
.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: 75%;
	padding: 30px;
	box-sizing: border-box;
	border-right: #ccc solid 1px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.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: 16px;
}
.ticketOther .txtArea p a {
	color: #000;
}
.ticketOther .buyArea {
	width: 25%;
	padding: 30px;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.ticketOther .buyArea p {
	font-size: 26px;
	font-weight: bold;
}
.ticketOther .buyArea a + p {
	margin-top: 20px;
}
.ticketOther .buyArea p span {
	font-size: 0.54em;
	font-weight: normal;
    display: inline-block;
}
.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 .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%;
}


@media screen and (max-width: 820px) {
	
	#ticket .ticketBody {
		padding-bottom: min(12vw, 80px);
		margin-bottom: min(12vw, 80px);
	}
	#ticket .ticketBody h4 {
		font-size: min(4.6vw, 26px);
		margin-bottom: min(8vw, 40px);
	}
	#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 {
		border: #2bc2c0 solid 2px;
		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.4vw, 16px);
		padding: min(4vw, 20px);
		width: 70%;
		margin: 0 auto;
	}

	.benefits {
		margin-bottom: min(10vw, 40px);
	}
	.benefits li {
		width:  100%;
		border: #2bc2c0 solid 2px;
		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: #31b6b1;
		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 {
		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;
	}
	
	
	.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.8vw, 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);
	}
	
	
	.tickeMo {
		padding: 6vw;
	}
	.tickeMo li {
		padding-bottom: 6vw;
		margin-bottom: 6vw;
	}
	.tickeMo li .tikeLogo {
		width: 33%;
	}
	.tickeMo li .tikeTxt {
		width: 60%;
	}
	.tickeMo li .tikeTxt p {
		font-size: 3.2vw;
		margin-bottom: 3vw;
		line-height: 1.4;
		letter-spacing: 0;
	}
	.tickeMo li .tikeTxt .ticketKind li {
		margin-bottom: 2vw;
		font-size: 3.6vw;
	}
	.tickeMo li .tikeTxt .buyBtn {
		padding: 4vw;
		font-size: 3vw;
	}
	
	
	/*.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% min(3vw, 20px);
    	line-height: 1.4;
	}
	
	.ticketNav li a {
    	font-size: min(3vw, 14px);
    	padding: min(2vw, 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) 0;
		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);
	}
	
	.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%;
	}
}


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

	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(49,182,177,0.40);
    border: #2bc2c0 solid 3px;
    padding: 30px;
    box-sizing: border-box;
	margin-bottom: 25px;
    backdrop-filter: blur(8px);
	border-radius: 10px;
}
#platinumTicket .platinumWrap .pTicketBenefits li h4 {
	font-size: 20px;
    margin-bottom: 15px;
}
#platinumTicket .platinumWrap .pTicketBenefits li p {
	font-size: 14px;
}


#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: 'Oswald', sans-serif;
	font-size: 36px;
	font-weight: bold;
	position: absolute;
	top: 0;
    left: 0;
}
#platinumTicket .pTicketFaq dd::before {
	content: "A";
    font-family: 'Oswald', 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%;
		border: #2bc2c0 solid 2px;
		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);
	}
	
	
}


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

	Info

//////////////////////////////////////////////////////////////////////////////// */
#info .infoLocation {
	padding-top: 80px;
	border-top: #fff solid 1px;
	margin-bottom: 100px;
}
#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 .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;
}



@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);
	}
}


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

	Attention

//////////////////////////////////////////////////////////////////////////////// */
#notes h3 {
	text-align: center;
    font-size: 24px;
    margin-bottom: 60px;
}
#notes .attentionLead {
	font-size: 16px;
	margin-bottom: 60px;
    text-align: center;
}
#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: 40px;
}
#notes .notesWrap p {
	font-size: 14px;
    padding: 15px 0;
    border-bottom: #ccc solid 1px;
}
#notes .notesWrap p:last-child {
	border-bottom: none;
}


@media screen and (max-width: 820px) {
	#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 + h4 {
		margin-top: min(5vw, 40px);
	}
	#notes .notesWrap p {
		font-size: min(3.2vw, 14px);
    	padding: min(3vw, 15px) 0;
	}
	
}


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

	Not Found

//////////////////////////////////////////////////////////////////////////////// */
#notFound {
	padding: 40px 0 100px;
}
#notFound p {
	text-align: center;
	font-size: 20px;
}

@media screen and (max-width: 820px) {
	#notFound {
		padding: min(4vw, 40px) 0 min(16vw, 100px);
	}
	#notFound p {
		font-size: min(3.6vw, 20px);
	}
	
}


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

	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: 'Oswald', 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);
	}
}



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

	Pick up

//////////////////////////////////////////////////////////////////////////////// */
#topPickup {
    padding: 80px 0 50px;
    margin-bottom: 80px;
    background-color: rgba(0,0,0,0.3);
}
#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 {
		padding: min(14vw, 100px) 0;
		margin-bottom: min(6vw, 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);
	}
	
	
}


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


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

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



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

	Goods

//////////////////////////////////////////////////////////////////////////////// */
#pageHead.goodsHead .contentWrap {
    padding: 0;
}

.goodsBnr {
    max-width: 1140px;
    margin: 60px auto 0;
}
.goodsBnr .slick-prev {
    left: -35px;
}
.goodsBnr .slick-next {
    right: -30px;
}
.goodsBnr .slick-prev:before,
.goodsBnr .slick-next:before {
	display: block;
	width: 20px;
	height: 20px;
	transform: rotate(45deg);
}
.goodsBnr .slick-prev:before {
	content: "";
	border-bottom: #fff solid 4px;
	border-left: #fff solid 4px;
}
.goodsBnr .slick-next:before {
	content: "";
	border-top: #fff solid 4px;
	border-right: #fff solid 4px;
}
.goodsBnr .slick-slide img {
    width: 100%;
}

.goodsNews {
	display: flex;
    border-radius: 8px;
	background-color: #fff;
	overflow: hidden;
    max-width: 1140px;
    margin: 60px auto 0;
}
.goodsNews h3 {
    width: 25%;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #31b6b1;
	font-size: 18px;
	letter-spacing: .1em;
}
.goodsNews dl {
	width: 70%;
	text-align: left;
	padding: 10px 30px;
	display: flex;
	flex-wrap: wrap;
	color: #000;
}
.goodsNews dl dt {
	width: 120px;
	padding: 15px 0;
	border-top: #ccc solid 1px;
}
.goodsNews dl dt:first-of-type { border: none;}
.goodsNews dl dd {
	width: calc(100% - 120px);
	padding: 15px 0;
	border-top: #ccc solid 1px;
}
.goodsNews dl dd:first-of-type { border: none;}
.goodsNews dl dd a {
	color: #000;
	text-decoration: underline;
}

.goodsHead .multiBtnWrap {
	margin-bottom: 60px;
    margin-top: 60px;
    display: flex;
    justify-content: center;
}
.goodsHead .pageTitle + .multiBtnWrap {
	margin-bottom: 0;
}
.goodsHead .multiBtnWrap .attBtn {
    display: flex;
    justify-content: center;
    margin: 0 10px;
}
.goodsHead .multiBtnWrap .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;
}
.goodsHead .multiBtnWrap .attBtn a.current {
    background-color: #fff;
    color: #000;
}

.goodsHead .artistgoodsNote {
	margin-top: 40px;
    border-top: #fff solid 1px;
    border-bottom: #fff solid 1px;
    padding: 40px 0;
    text-align: left;
}
.goodsHead .artistgoodsNote h4 {
	font-size: 18px;
    margin-bottom: 10px;
}


.goodsWrap {
	margin-bottom: 80px;
	padding-bottom: 40px;
	border-bottom: #fff solid 1px;
}
.goodsWrap h3 {
    font-family: 'Oswald', sans-serif;
	font-size: 36px;
	margin-bottom: 40px;
}
.goodsList {
	display: flex;
	flex-wrap: wrap;
}

.goodsList li {
	width: 23.5%;
	margin-right: calc(6% / 3);
	margin-bottom: 40px;
	position: relative;
}
.goodsList li.new::before {
    content: "NEW";
    font-family: 'Oswald', sans-serif;
    font-weight: bold;
    position: absolute;
    top: -0.75em;
    left: 0.35em;
    font-size: 30px;
    line-height: 1;
    color: #ffcc00;
    z-index: 2;
}
.goodsList li:nth-child(4n) {
	margin-right: 0;
}
.goodsList li .itemThumb {
	line-height: 0;
	margin-bottom: 15px;
	border-radius: 10px;
	overflow: hidden;
    background-color: #000;
}
.goodsList li .itemThumb a {
    display: block;
    position: relative;
    padding-top: 100%;
}
.goodsList li .itemThumb a img {
	position: absolute;
    top: 0;
    left: 0;
    object-fit: contain;
    width: 100%;
    height: 100%;
}

.goodsList li .goodsTag{
	margin-bottom: 10px;
}
.goodsList li .goodsTag span {
	font-size: 12px;
	padding: 2px 10px;
	margin-right: 5px;
	display: inline-block;
	margin-bottom: 5px;
}
.goodsList li .goodsTag span.end { background-color: #999;}
.goodsList li .goodsTag span.venue { background-color: #31b6b1;}

.goodsList li .price {
	font-size: 14px;
	margin-bottom: 5px;
}
.goodsList li .price span {
	font-size: .8em;
}
.goodsList li .itemName {
	font-size: 16px;
	line-height: 1.6;
    word-break: break-all;
}


.goodsModal {
    padding: 60px;
    background-color: #fff;
    color: #000;
}
.goodsModal h3 {
    font-family: 'Oswald', sans-serif;
	font-size: 20px;
    margin-bottom: 20px;
}
.goodsModal .detailSlide {
    width: 80%;
    margin: 0 auto 40px;
}
.goodsModal .detailSlide li {
	line-height: 0;
}
.goodsModal .detailSlide li .itemPic {
	position: relative;
	padding-top: 100%;
}
.goodsModal .detailSlide li .itemPic img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.goodsModal h4 {
    font-size: 18px;
    margin-bottom: 30px;
}
.goodsModal .price {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 40px;
    font-size: 16px;
}
.goodsModal .price dt {
	width: 100px;
}
.goodsModal .price dd {
	width: calc(100% - 100px);
}

.goodsModal .freeTxt {
    font-size: 14px;
}

.goodsModal .itemInfo {
    padding: 40px 0;
    border-top: #ccc solid 1px;
    border-bottom: #ccc solid 1px;
}
.goodsModal .itemInfo h5 {
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 15px;
}
.goodsModal .itemInfo p {
    font-size: 14px;
    margin-bottom: 20px;
}
.goodsModal .buyBtn {
	width: 360px;
	max-width: 100%;
	margin: 40px auto 0;
}
.goodsModal .buyBtn li a {
    display: block;
    background-color: #000;
    text-align: center;
    color: #fff;
    text-decoration: none;
    padding: 15px;
    font-size: 16px;
    font-weight: bold;
}

.goodsModal .slick-prev {
    left: -35px;
}
.goodsModal .slick-next {
    right: -30px;
}
.goodsModal .slick-prev:before,
.goodsModal .slick-next:before {
	display: block;
	width: 20px;
	height: 20px;
	transform: rotate(45deg);
}
.goodsModal .slick-prev:before {
	content: "";
	border-bottom: #000 solid 4px;
	border-left: #000 solid 4px;
}
.goodsModal .slick-next:before {
	content: "";
	border-top: #000 solid 4px;
	border-right: #000 solid 4px;
}
.goodsModal .slick-slide img {
    width: 100%;
}

#goodsNotes {
	padding: 80px 60px;
}

#goodsNotes h2 {
	font-size: 24px;
	font-weight: bold;
	margin-bottom: 40px;
}
#goodsNotes h3 {
	border-top: #fff solid 1px;
	padding-top: 40px;
	margin-bottom: 30px;
    font-size: 18px;
    font-weight: bold;
}
#goodsNotes h4 {
	margin-bottom: 20px;
    font-size: 16px;
    font-weight: bold;
}

#goodsNotes div {
	padding: 0;
	/*border-top: #666 solid 1px;
	border-bottom: #666 solid 1px;*/
	line-height: 1.6;
	font-size: 14px;
	
    margin-bottom: 60px;
}

#goodsNotes .notesDl {
	display: flex;
	flex-wrap: wrap;
    line-height: 1.6;
	font-size: 14px;
	margin-bottom: 40px;
}
#goodsNotes .notesDl dt {
	width: 25%;
	font-weight: bold;
	padding: 20px 0;
	border-bottom: #999 solid 1px;
}
#goodsNotes .notesDl dd {
	width: 75%;
	padding: 20px 0;
	border-bottom: #999 solid 1px;
}
#goodsNotes .notesDl dd a {
	color: #fff;
	text-decoration: underline;
}

@media screen and (max-width: 820px) {
	
	.goodsBnr {
		margin-top: min(8vw, 60px);
	}
	.goodsBnr .slick-prev {
		left: -6vw;
	}
	.goodsBnr .slick-next {
		right: -6vw;
	}
	.goodsBnr .slick-prev:before,
	.goodsBnr .slick-next:before {
		width: 10px;
		height: 10px;
	}
	.goodsBnr .slick-prev:before {
		border-bottom: #fff solid 2px;
		border-left: #fff solid 2px;
	}
	.goodsBnr .slick-next:before {
		border-top: #fff solid 2px;
		border-right: #fff solid 2px;
	}
	
	.goodsNews {
		display: block;
		border-radius: 6px;
		margin-top: min(8vw, 60px);
	}
	.goodsNews h3 {
		width: 100%;
		font-size: min(4.2vw, 18px);
		padding: min(2vw, 15px) 0;
	}
	
	.goodsNews dl {
    	display: block;
		width: 100%;
		padding: min(2vw, 10px) min(4vw, 30px);
	}
	.goodsNews dl dt {
		width: 100%;
		padding: 0;
		border: none;
	}
	.goodsNews dl dd {
		width: 100%;
		padding: min(2vw, 15px) 0 min(4vw, 15px);
	}
	
	.goodsHead .multiBtnWrap {
		margin-bottom: min(10vw, 60px);
    	margin-top: min(10vw, 60px);
		display: block;
	}
	.goodsHead .multiBtnWrap .attBtn {
		margin-bottom: min(4vw, 15px);
	}
	.goodsHead .multiBtnWrap .attBtn a {
		padding: min(3vw, 20px) min(6vw, 40px);
		font-size: min(3.4vw, 16px);
		min-width: 60vw;
	}
	
	
	.goodsHead .artistgoodsNote {
		margin-top: min(8vw, 40px);
		padding: min(8vw, 40px) 0;
	}
	.goodsHead .artistgoodsNote h4 {
		font-size: min(4vw, 18px);
    	margin-bottom: min(2vw, 10px);
	}
	.goodsHead .artistgoodsNote p {
		font-size: min(3vw, 16px);
	}
	
	.goodsWrap {
		margin-bottom: min(12vw, 80px);
		padding-bottom: min(6vw, 40px);
	}
	.goodsWrap h3 {
		font-size: min(6.4vw, 36px);
		margin-bottom: min(10vw, 40px);
	}
	
	.goodsList {
		justify-content: space-between;
	}
	.goodsList li {
		width: 48%;
		margin-right: 0;
		margin-bottom: min(8vw, 40px);
	}
	.goodsList li.new::before {
		top: -0.8em;
		left: 0.4em;
		font-size: 4.8vw;
	}
	.goodsList li .goodsTag span {
		font-size: min(2.8vw, 12px);
		padding: min(1vw, 3px) min(2vw, 10px);
		margin-right: min(2vw, 5px);
	}
	.goodsList li .price {
		font-size: min(3.4vw, 14px);
		margin-bottom: min(2vw, 5px);
	}
	.goodsList li .itemName {
		font-size: min(3.6vw, 16px);
	}
	
	.goodsModal {
		padding: min(6vw, 60px);
	}
	.goodsModal h3 {
		font-size: min(5.8vw, 20px);
		margin-bottom: min(6vw, 20px);
	}
	.goodsModal .detailSlide {
		margin: 0 auto min(6vw, 40px);
	}
	.goodsModal h4 {
		font-size: min(4vw, 18px);
		margin-bottom: min(4vw, 30px);
	}
	.goodsModal .price {
		margin-bottom: min(6vw, 40px);
		font-size: min(3.4vw, 16px);
	}
	.goodsModal .price dt {
		width: 20vw;
	}
	.goodsModal .price dd {
		width: calc(100% - 20vw);
	}
	
	.goodsModal .freeTxt {
    	font-size: min(3.4vw, 16px);
	}
	
	.goodsModal .itemInfo {
		padding: min(6vw, 40px) 0;
	}
	.goodsModal .itemInfo h5 {
		font-size: min(3.4vw, 16px);
		margin-bottom: min(3vw, 15px);
	}
	.goodsModal .itemInfo p {
		font-size: min(3.2vw, 14px);
		margin-bottom: min(3vw, 20px);
	}
	
	.goodsModal .buyBtn {
		margin: min(8vw, 40px) auto 0;
	}
	
	.goodsModal .buyBtn li a {
		padding: min(3vw, 15px);
		font-size: min(3.6vw, 16px);
	}
	
	
	#goodsNotes {
		padding: 12vw min(6vw, 60px);
	}
	#goodsNotes h2 {
		font-size: min(4.2vw, 28px);
		margin-bottom: 6vw;
	}
	#goodsNotes h3 {
		padding-top: 8vw;
		margin-bottom: 6vw;
		font-size: min(3.8vw, 20px);
	}
	goodsNotes h4 {
		margin-bottom: 6vw;
		font-size: min(3.6vw, 18px);
	}
	#goodsNotes div {
    	margin-bottom: 8vw;
		font-size: min(3vw, 14px);
	}
	
	#goodsNotes .notesDl dt {
		width: 100%;
		padding: 4vw 0 0;
		border-bottom: none;
	}
	#goodsNotes .notesDl dd {
		width: 100%;
		padding: 3vw 0 4vw;
		font-size: min(3vw, 14px);
	}
}


.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%);
}

.tradeNote {
	margin-bottom: 60px;
	color: #000;
}
.tradeNote h3 {
	font-size: 20px;
	margin-bottom: 20px;
}

.resaleInfo {
    color: #000;
    padding-bottom: 60px;
    margin-bottom: 60px;
    border-bottom: #ccc solid 1px;
}
.resaleInfo h4 {
    font-size: 18px;
    margin-bottom: 20px;
}

@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);
	}
	
	
	.tradeNote {
		margin-bottom: min(8vw, 60px);
	}
	.tradeNote h3 {
		font-size: min(3.6vw, 20px);
    	margin-bottom: min(4vw, 20px);
	}
	.tradeNote p {
		font-size: min(3.2vw, 14px);
	}

	.resaleInfo {
		padding-bottom: 6vw;
    	margin-bottom: 6vw;
	}
	.resaleInfo h4 {
		font-size: min(3.6vw, 18px);
		margin-bottom: min(4vw, 20px);
	}
	
	
}



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

	Sponsor

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


.thanksWrap {
	background-color: #fff;
	padding: 40px 60px;
	border-radius: 10px;
}

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

#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: 60px;
	border-top: #ccc solid 1px;
	display: flex;
	justify-content: space-between;
}
#thanks .areaSponsor > div {
	width: 48%;
}
#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 .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;
}
#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;
}

@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 > 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 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);
	}
	
}


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

	Timetable

//////////////////////////////////////////////////////////////////////////////// */
#pageHead.ttHead {
	padding-bottom: 30px;
}

.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;
}

#timetable .ttWrap {
	background-color: #fff;
    padding: 40px 10px;
    border-radius: 10px;
    margin-bottom: 80px;
}
#timetable .ttWrap .pdfbtn {
	text-align: center;
    margin-bottom: 40px;
}
#timetable .ttWrap .pdfbtn a {
    display: inline-block;
    padding: 20px 50px;
	font-size: 16px;
	font-weight: bold;
	text-decoration: none;
	color: #fff;
	background-color: #000;
    border-radius: 8px;
}
#timetable .ttWrap .note {
	color: #000;
	font-size: 14px;
    padding: 0 40px;
}

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

	#timetable .contentWrap {
		padding: 0;
	}
	#pageHead.ttHead {
		padding-bottom: min(4vw, 30px);
	}
	.appli {
		margin-bottom: min(14vw, 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);
	}

	#timetable .ttWrap {
		padding: min(4vw, 40px) 0 min(6vw, 40px);
		margin-bottom: min(8vw, 80px);
    	border-radius: 0;
	}
	#timetable .ttWrap .pdfbtn {
		margin-bottom: 40px;
	}
	#timetable .ttWrap .pdfbtn a {
		padding: 20px 50px;
		font-size: 16px;
		border-radius: 8px;
	}
	#timetable .ttWrap .note {
		font-size: min(3vw, 14px);
		padding: 0 min(4vw, 40px);
	}
	
}



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

	Attractions

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

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


#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: 'Oswald', 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 .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: 78%;
	position: relative;
}
#attraction .foodList > li .foodPic {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: grid;
	grid-template-columns: 58% 42%;
    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: 'Oswald', 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: 'Oswald', 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 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 .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;	
	}
}




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

	Map

//////////////////////////////////////////////////////////////////////////////// */
.mapImg {
	line-height: 0;
	margin-bottom: 80px;
}

.mapCs {
	text-align: center;
    padding: 60px 0 120px;
    font-size: 18px;
    font-weight: bold;
    letter-spacing: .1em;
}

@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);
	}
}



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

	Music Loves Art in Summer Sonic 2022

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

#attraction .freeTxt .mlaWrap p {
	font-size: 14px;
}

#attraction .mlaWrap h3 {
	text-align: center;
	font-size: 26px;
	margin-bottom: 40px;
}
#attraction .mlaWrap .mlaLead {
	border: #fff solid 3px;
	border-radius: 10px;
	padding: 40px;
	margin-bottom: 80px;
}
#attraction .mlaWrap .mlaLead p {
	font-size: 16px;
	line-height: 2;
}
#attraction .mlaWrap .mlaLead .signature {
	margin-top: 20px;
	text-align: right;
}

#attraction .mlaWrap .mlaList {
	padding-left: 0 !important;
}
#attraction .mlaWrap .mlaList li {
	margin-bottom: 60px;
	list-style: none;
}
#attraction .mlaWrap .mlaList li h4 {
	font-size: 22px;
	font-weight: bold;							
	border-bottom: #fff solid 2px;
	padding-bottom: 10px;
	margin-bottom: 10px;
}

#attraction .mlaWrap .mlaList li .mlaFlex {
	display: flex;
	justify-content: space-between;
	margin-bottom: 20px;
	margin-top: 40px;
}
#attraction .mlaWrap .mlaList li .mlaFlex .works {
	line-height: 0;
	width: 50%;
}
#attraction .mlaWrap .mlaList li .mlaFlex .txt {
	width: 45%;
}
#attraction .mlaWrap .mlaList li .mlaFlex .txt p {
	font-size: 16px;
	line-height: 2;
}
#attraction .mlaWrap .mlaList li .note {
	font-size: 12px;
}
#attraction .mlaWrap .mlaList li .note a {
	color: #fff;
	text-decoration: underline;
}

#attraction .mlaWrap .mlaList li .profBtn {
	margin-top: 30px;
}
#attraction .mlaWrap .mlaList li .profBtn a {
	display: block;
	text-align: center;
	padding: 15px;
	border: #fff solid 2px;
	font-size: 18px;
	font-weight: bold;
	border-radius: 10px;
	color: #fff;
	text-decoration: none;
}


@media screen and (max-width: 820px) {
	
	#attraction .freeTxt .mlaWrap p {
		font-size: min(3.2vw, 14px);
	}

	#attraction .mlaWrap h3 {
		font-size: min(4vw, 26px);
		margin-bottom: min(8vw, 40px);
	}
	#attraction .mlaWrap .mlaLead {
		border: #fff solid 2px;
		border-radius: 8px;
		padding: min(6vw, 40px);
		margin-bottom: min(10vw, 80px);
	}
	#attraction .mlaWrap .mlaLead p {
		font-size: min(3.4vw, 16px);
	}
	#attraction .mlaWrap .mlaLead .signature {
		margin-top: min(4vw, 20px);
	}

	#attraction .mlaWrap .mlaList li {
		margin-bottom: min(12vw, 60px);
	}
	#attraction .mlaWrap .mlaList li h4 {
		font-size: min(3.8vw, 22px);
		padding-bottom: min(3vw, 10px);
		margin-bottom: min(3vw, 10px);
	}

	#attraction .mlaWrap .mlaList li .mlaFlex {
		display: block;
		margin-bottom: min(6vw, 20px);
		margin-top: min(6vw, 40px);
	}
	#attraction .mlaWrap .mlaList li .mlaFlex .works {
		width: 100%;
		margin-bottom: min(4vw, 20px);
	}
	#attraction .mlaWrap .mlaList li .mlaFlex .txt {
		width: 100%;
	}
	#attraction .mlaWrap .mlaList li .mlaFlex .txt p {
		font-size: min(3.2vw, 16px);
	}
	#attraction .mlaWrap .mlaList li .note {
		font-size: min(3vw, 12px);
	}

	#attraction .mlaWrap .mlaList li .profBtn {
		margin-top: min(6vw, 30px);
	}
	#attraction .mlaWrap .mlaList li .profBtn a {
    	padding: min(3vw, 15px);
    	font-size: min(3.8vw, 18px);
		border-radius: 8px;
	}
	
}


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

	Guideline

//////////////////////////////////////////////////////////////////////////////// */
.guideWrap {
	padding: 80px 0;
	margin: 0 60px;
	border-top: #fff solid 1px;
}
.guideWrap h3 {
	text-align: center;
	font-size: 36px;
    line-height: 1.6;
	margin-bottom: 40px;
}
.guideWrap h4 {
	text-align: center;
	font-size: 24px;
    line-height: 1.6;
	margin-bottom: 30px;
}

.guideWrap .guideIco {
    max-width: 860px;
    margin: 0 auto 40px;
}


.guideWrap p + h4 {
	margin-top: 80px;
}
.guideWrap h5 {
	font-size: 18px;
	font-weight: bold;
    margin-bottom: 5px;
}
.guideWrap p + h5 {
	margin-top: 40px;
}
.guideWrap p a {
	color: #fff;
	text-decoration: underline;
	word-break: break-all;
}

.guideWrap p + p {
	margin-top: 20px;
}

.guideWrap .entryBtn a {
	display: inline-block;
    background-color: #fff;
    color: #000;
    text-decoration: none;
    padding: 10px 30px;
    border-radius: 6px;
}

@media screen and (max-width: 820px) {
	
	.guideWrap {
		padding: 0;
		margin: 0;
		border-top: none;
	}
	.guideWrap .contentWrap {
		border-top: #fff solid 1px;
		padding: min(14vw, 80px) 0;
		margin: 0 min(6vw, 60px);
	}
	
	.guideWrap h3 {
		font-size: min(5.2vw, 36px);
		margin-bottom: min(6vw, 40px);
	}
	.guideWrap h4 {
		text-align: left;
		font-size: min(4.6vw, 24px);
		margin-bottom: min(6vw, 30px);
	}
	
	.guideWrap .guideIco {
		margin: 0 auto min(6vw, 40px);
	}
	
	.guideWrap p + h4 {
		margin-top: min(18vw, 80px);
	}
	.guideWrap h5 {
		font-size: min(3.6vw, 18px);
		margin-bottom: min(1vw, 5px);
	}
	.guideWrap p + h5 {
		margin-top: min(8vw, 40px);
	}
	.guideWrap p + p {
		margin-top: min(4vw, 20px);
	}
	
}




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

	Gallery

//////////////////////////////////////////////////////////////////////////////// */
#gallery #pageHead {
	padding: 160px 0 0;
}


#gallery.tokyo #pageHead {
    background-image: linear-gradient(120deg, #20417e 19%, #0a739f 78%);
}
#gallery.osaka #pageHead {
    background-image: linear-gradient(120deg, #e15856 19%, #ffb424 78%);
}
#gallery.sonicmania #pageHead {
    background-image: linear-gradient(120deg, #411b64 19%, #5c2c88 78%);
}

#gallery #pageHead .dateSelect {
	background-color: #000;
	border: none;
    padding: 60px 60px 50px;
    margin-bottom: 0;
}
#gallery #pageHead .dateSelect li a {
    font-size: 30px;
}
#gallery #pageHead .stageSelect {
	background-color: #000;
	padding-bottom: 60px;
}

.galleryWrap {
	padding: 80px 0;
}
#gallery_marine { background-color: #5991c0;}
#gallery_ocean { background-color: #16b4d6;}
#gallery_mountain { background-color: #368557;}
#gallery_sega { background-color: #dca72f;}
#gallery_sonic { background-color: #dca72f;}
#gallery_beach { background-color: #b8ad92;}
#gallery_pacific { background-color: #dfa7b2;}
#gallery_jculture { background-color: #c2c5c5;}
#gallery_massive { background-color: #868474;}

#gallery.marine-stage-tokyo-day1,
#gallery.marine-stage-tokyo-day2 {
	background-color: #5991c0;
}
#gallery.ocean-stage-osaka-day1,
#gallery.ocean-stage-osaka-day2 {
	background-color: #16b4d6;
}
#gallery.mountain-stage-tokyo-day1,
#gallery.mountain-stage-tokyo-day2,
#gallery.mountain-stage-osaka-day1,
#gallery.mountain-stage-osaka-day1,
#gallery.mountain-stage-sonicmania {
	background-color: #368557;
}
#gallery.sega-stage-tokyo-day1,
#gallery.sega-stage-tokyo-day2,
#gallery.sonic-stage-osaka-day1,
#gallery.sonic-stage-osaka-day1,
#gallery.sonic-stage-sonicmania,
#gallery.sonic-stage-midnightsonic {
	background-color: #dca72f;
}
#gallery.beach-stage-tokyo-day1,
#gallery.beach-stage-tokyo-day2 {
	background-color: #b8ad92;
}
#gallery.pacific-stage-tokyo-day1,
#gallery.pacific-stage-tokyo-day2,
#gallery.pacific-stage-sonicmania {
	background-color: #dfa7b2;
}
#gallery.jculture-stage-tokyo-day1,
#gallery.jculture-stage-tokyo-day2,
#gallery.jculture-stage-sonicmania {
	background-color: #c2c5c5;
}
#gallery.massive-stage-osaka-day1,
#gallery.massive-stage-osaka-day2 {
	background-color: #868474;
}

.galleryWrap h3 {
    font-size: 36px;
    font-family: 'Oswald', sans-serif;
    font-weight: bold;
	margin-bottom: 40px;
	position: relative;
}
.galleryWrap h3::after {
	content: "";
	display: block;
	width: 60px;
	height: 60px;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
}
#gallery_marine h3::after { background-image: url("../images/stage_logo_wh_marine.svg");}
#gallery_ocean h3::after { background-image: url("../images/stage_logo_wh_ocean.svg");}
#gallery_mountain h3::after { background-image: url("../images/stage_logo_wh_mountain.svg");}
#gallery_sega h3::after { background-image: url("../images/stage_logo_wh_sega.svg");}
#gallery_sonic h3::after { background-image: url("../images/stage_logo_wh_sonic.svg");}
#gallery_beach h3::after { background-image: url("../images/stage_logo_wh_beach.svg");}
#gallery_pacific h3::after { background-image: url("../images/stage_logo_wh_pacific.svg");}
#gallery_jculture h3::after { background-image: url("../images/stage_logo_wh_jc.svg");}
#gallery_massive h3::after { background-image: url("../images/stage_logo_wh_massive.svg");}

.galleryWrap h3 .tkr02 {
	display: none;
}

.lineUpList.galleryList {
	padding-bottom: 0;
}
.lineUpList.galleryList li {
    width: 23%;
    margin-right: calc(8% / 3);
    margin-bottom: 40px;
    box-sizing: border-box;
    display: flex;
    flex-wrap: wrap;
    position: relative;
}
.lineUpList.galleryList li:nth-child(4n) {
    margin-right: 0;
}


@media screen and (max-width: 820px) {
	#gallery #pageHead {
		padding: min(26vw, 160px) 0 0;
	}

	#gallery #pageHead .dateSelect {		
    	padding: min(8vw, 60px) min(10vw, 60px) min(6vw, 50px);
	}
	#gallery #pageHead .dateSelect li a {
    	font-size: min(5vw, 30px);
	}
	#gallery #pageHead .stageSelect {
    	padding-bottom: min(8vw, 60px);
	}

	.galleryWrap {
		padding: min(12vw, 80px) 0;
	}
	.contentWrap.galleryIndexWrap {
		padding: 0;
    	overflow: hidden;
	}

	.galleryWrap h3 {
		font-size:min(18vw, 120px);
		margin-bottom: min(8vw, 50px);
    	overflow: hidden;
		line-height: 1;
	}
	.galleryWrap h3::after {
		display: none;
	}
	
	.galleryWrap h3 .tkr01,
	.galleryWrap h3 .tkr02 {
		display: inline-block;
		white-space: nowrap;
	}
	.galleryWrap h3 .tkr01 {
		animation: tkr 10s linear 0s infinite;
	}
	.galleryWrap h3 .tkr02 {
		margin-left: 10vw;
		padding-right: 10vw;
	}
	
	.lineUpList.galleryIndex {
		width: 100%;
		padding: 0 10%;
		margin-bottom: 0;
	}
	.lineUpList.galleryIndex .slick-list {
    	overflow: visible;
    	width: 100%;
	}
	.lineUpList.galleryIndex .slick-list li {
		padding: 0 4vw;
		margin-bottom: 0;
	}
	.lineUpList.galleryIndex li .name {
		font-size: min(4.6vw, 20px);
	}
	
	.lineUpList.galleryList li {
		width: 47%;
		margin-right: 0;
		margin-bottom: min(6vw, 40px);
	}
}

@keyframes tkr {
	0% { transform: translateX(0);}
	100% { transform: translateX(-50%);}
}

#galleryMain.detail {
	padding: 100px 0 60px;
}
#galleryMain.detail h3 {
    font-size: 32px;
    margin-bottom: 30px;
}

#galleryMain.detail .eyeCatch {
	line-height: 0;
    border-radius: 10px;
    overflow: hidden;
}
#galleryMain.detail .eyeCatch img {
	width: 100%;
	height: auto;
}

@media screen and (max-width: 820px) {
	
	#galleryMain.detail {
		padding: min(14vw, 100px) 0 min(8vw, 60px);
	}
	#galleryMain.detail h3 {
		font-size: min(6.2vw, 32px);
		margin-bottom: min(4vw, 30px);
	}
}



.faqLead {
	text-align: center;
    margin-bottom: 60px;
    font-size: 18px;
}
@media screen and (min-width: 821px) {
	
	.infoFaq .pTicketFaq dd {
		display: block !important;
	}
}
@media screen and (max-width: 820px) {
	#platinumTicket .infoFaq .pTicketFaq dt {
		border-bottom: none;
		cursor: pointer;
    	padding-right: 25px;
	}
	.infoFaq .pTicketFaq dt::after {
		content: "";
		display: block;
		width: 10px;
		height: 10px;
		position: absolute;
		top: 45%;
    	right: 3px;
		border-right: #333 solid 2px;
		border-bottom: #333 solid 2px;
		transform: translateY(-50%) rotate(45deg);
		transition: all .3s ease-out;
	}
	#platinumTicket .infoFaq .pTicketFaq dt.on::after {
		top: 55%;
		transform: translateY(-50%) rotate(-135deg);
	}
	.infoFaq .pTicketFaq dd {
		border-top: #ccc solid 1px;
		display: none;
	}
	
	.faqLead {
		text-align: left;
		margin-bottom: min(8vw, 60px);
		font-size: min(3.6vw, 18px);
	}	
}
