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


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

	Common

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

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

	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	
	color: #fff;
    text-shadow: 1px -1px 10px rgba(0,0,0,0.3);
}

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


body {
	font-family: hiragino-kaku-gothic-pron, sans-serif;
	font-size: min(3.2vw, 14px);
	line-height: 1.8;
	letter-spacing: 0.06em;
	-webkit-text-size-adjust: 100%;
	color: #fff;
	background-color: #000;
}

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

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

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

main {
    padding-bottom: min(14vw, 100px);
}

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


#bg {
	position: fixed;
    top: -5vw;
    left: -5vh;
	width: 110vw;
	height: 110vh;
	overflow: hidden;
	z-index: -1;
	transition: opacity 1s linear;
	opacity: 0.8;
}
#topPage #bg {
	opacity: 1;
}
#bg.on,
#topPage #bg.on {
	opacity: 0.8;
}
#bg::after {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: url("../images/mask.png") repeat center center;
	background-size: auto 300px;
	position: absolute;
	top: 0;
	left: 0;
    mix-blend-mode: soft-light;
    z-index: 6;
}
#bg > div {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
/*	will-change: filter, transform;*/
	will-change: transform;
}
#bg .bgRotate {
/*	filter: drop-shadow(0px 0px 16px rgba(0,0,0,0.2));*/
}

/*
#bg .bg00 {
	width: 100%;
	height: 100%;
	background: url("../images/bg00.jpg") no-repeat center center;
	background-size: cover;
	opacity: 1;
}
*/

#bg .bg01 {
	background: url("../images/bg01.png") no-repeat center center;
	background-size: cover;
    width: 180vw;
    height: 180vw;
	animation: turnR 70s linear 0s infinite;
	z-index: 5;
}
#bg .bg02 {
	background: url("../images/bg02.png") no-repeat center center;
	background-size: cover;
    width: 175vw;
    height: 175vw;
	animation: turnL 75s linear 0s infinite;
	z-index: 4;
}
#bg .bg03 {
	background: url("../images/bg03.png") no-repeat center center;
	background-size: cover;
    width: 135vw;
    height: 135vw;
	animation: turnR 80s linear 0s infinite;
	z-index: 3;
}
#bg .bg04 {
	background: url("../images/bg04.png") no-repeat center center;
	background-size: cover;
	width: 125vw;
    height: 125vw;
	animation: turnL 85s linear 0s infinite;
	z-index: 2;
}
#bg .bg05 {
	background: url("../images/bg05.jpg") no-repeat center center;
	background-size: cover;
    width: 135vw;
    height: 135vw;
	animation: turnR 90s linear 0s infinite;
	z-index: 1;
}


#bg.bgTokyo .bg01 {
	background: url("../images/bg_t01.png") no-repeat center center;
	background-size: cover;
	width: 125vw;
    height: 125vw;
}
#bg.bgTokyo .bg02 {
	background: url("../images/bg_t02.png") no-repeat center center;
	background-size: cover;
	width: 125vw;
    height: 125vw;
}
#bg.bgTokyo .bg03 {
	background: url("../images/bg_t03.png") no-repeat center center;
	background-size: cover;
	width: 125vw;
    height: 125vw;
}
#bg.bgTokyo .bg04 {
	background: url("../images/bg_t04.png") no-repeat center center;
	background-size: cover;
	width: 125vw;
    height: 125vw;
}
#bg.bgTokyo .bg05 {
	background: url("../images/bg_t05.jpg") no-repeat center center;
	background-size: cover;
	width: 125vw;
    height: 125vw;
}

#bg.bgOsaka .bg01 {
	background: url("../images/bg_o01.png") no-repeat center center;
	background-size: cover;
	width: 125vw;
    height: 125vw;
}
#bg.bgOsaka .bg02 {
	background: url("../images/bg_o02.png") no-repeat center center;
	background-size: cover;
	width: 125vw;
    height: 125vw;
}
#bg.bgOsaka .bg03 {
	background: url("../images/bg_o03.png") no-repeat center center;
	background-size: cover;
	width: 125vw;
    height: 125vw;
}
#bg.bgOsaka .bg04 {
	background: url("../images/bg_o04.png") no-repeat center center;
	background-size: cover;
	width: 125vw;
    height: 125vw;
}
#bg.bgOsaka .bg05 {
	background: url("../images/bg_o05.jpg") no-repeat center center;
	background-size: cover;
	width: 125vw;
    height: 125vw;
}

@keyframes turnR {
	0% { transform: translate(-50%, -50%) rotate(0);}
	100% { transform: translate(-50%, -50%) rotate(360deg);}
}
@keyframes turnL {
	0% { transform: translate(-50%, -50%) rotate(0);}
	100% { transform: translate(-50%, -50%) rotate(-360deg);}
}

@keyframes opBg {
	0% { opacity: 0;}
	100% { opacity: 1;}
}

#bgSM {
	position: fixed;
    top: 0;
    left: 0;
	width: 100vw;
	height: 100vh;
	overflow: hidden;
	z-index: -1;
	transition: opacity 1s linear;
	opacity: 0.8;
}
#topPage #bgSM {
	opacity: 1;
}
#bgSM.on,
#topPage #bgSM.on {
	opacity: 0.8;
}
#bgSM::after {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: url("../images/mask.png") repeat center center;
	background-size: auto 300px;
	position: absolute;
	top: 0;
	left: 0;
    mix-blend-mode: soft-light;
    z-index: 6;
}
#bgSM > div {
	position: absolute;
	top: 0%;
	left: 0%;
	will-change: transform;
	width: 100%;
    height: 100%;
}
#bgSM .bg01 {
	background: url("../images/bg_sm01.png") no-repeat center center;
	background-size: cover;
	animation: bgFade 6s linear 0s infinite;
	z-index: 5;
}
#bgSM .bg02 {
	background: url("../images/bg_sm02.png") no-repeat center center;
	background-size: cover;
	animation: bgFade 4s linear 0s infinite;
	z-index: 4;
}
#bgSM .bg03 {
	background: url("../images/bg_sm03.png") no-repeat center center;
	background-size: cover;
	animation: bgFade 8s linear 0s infinite;
	z-index: 3;
}
#bgSM .bg04 {
	background: url("../images/bg_sm04.png") no-repeat center center;
	background-size: cover;
	animation: bgFade 5s linear 0s infinite;
	z-index: 2;
}
#bgSM .bg05 {
	background: url("../images/bg_sm05.jpg") no-repeat center center;
	background-size: cover;
	animation: bgFade 9s linear 0s infinite;
	z-index: 1;
}

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


@media screen and (max-width: 820px) {
	#bg {
		top: -5vw;
		left: -3.2vh;
	}
	#bg::after {
		background-size: auto 150px;
	}
	#bg .bg01 {
		width: 170vh;
		height: 170vh;
	}
	#bg .bg02 {
		width: 165vh;
		height: 165vh;
	}
	#bg .bg03 {
		width: 115vh;
		height: 115vh;
	}
	#bg .bg04 {
		width: 110vh;
		height: 110vh;
	}
	#bg .bg05 {
		width: 120vh;
		height: 120vh;
	}
	
	#bg.bgTokyo,
	#bg.bgOsaka {
		top: -5vw;
		left: -3.2vh;
	}
	#bg.bgTokyo .bg01,
	#bg.bgOsaka .bg01 {
		width: 170vh;
		height: 170vh;
	}
	#bg.bgTokyo .bg02,
	#bg.bgOsaka .bg02 {
		width: 165vh;
		height: 165vh;
	}
	#bg.bgTokyo .bg03,
	#bg.bgOsaka .bg03 {
		width: 115vh;
		height: 115vh;
	}
	#bg.bgTokyo .bg04,
	#bg.bgOsaka .bg04 {
		width: 110vh;
		height: 110vh;
	}
	#bg.bgTokyo .bg05,
	#bg.bgOsaka .bg05 {
		width: 120vh;
		height: 120vh;
	}
}


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

	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;
    transform: translateZ(0);
}
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;
	align-items: center;
	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 #hdrLogo li.hdrDate {
	line-height: 1;
	font-family: "ropa-sans-pro", sans-serif;
    font-size: 43px;
    font-weight: 900;
	transition: all .3s ease-out;
}
header.on #hdrLogo li.hdrDate {
    font-size: 28px;
}
header .hdrDate span {
    font-size: 0.9em;
	font-weight: 400;
    letter-spacing: 0.16em;
    text-indent: 0.06em;
    display: inline-block;
    vertical-align: baseline;
}
header .hdrDate sup {
	font-size: 0.34em;
    vertical-align: baseline;
    margin-left: 5px;
    margin-right: 5px;
}

header #globalNav ul {
	display: flex;
	align-items: center;
	font-family: "ropa-sans-pro", sans-serif;
	font-weight: 900;
    position: relative;
    padding-right: min(6.8vw, 100px);
	padding-left: min(2vw, 30px);
}
header #globalNav li {
	margin-left: min(1.6vw, 30px);
}
header #globalNav li a {
	color: #fff;
	font-size: min(1.8vw, 20px);
    font-weight: 600;
	text-decoration: none;
	letter-spacing: .04em;
	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);
	font-weight: 400;
    padding: 3px min(1.8vw, 25px);
	position: relative;
}

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);
    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 #hdrLogo li.hdrDate {
		display: none;
	}
	
	header #globalNav {
		position: fixed;
		top: 0;
		left: 0;
		width: 100vw;
		height: 100svh;
		background-color: rgba(0,0,0,0.9);
		box-sizing: border-box;
		
    	z-index: 200;
		display: none;
	}
	header #globalNav ul {
		flex-direction: column;
		justify-content: center;
    	align-items: flex-start;
		height: 100%;
    	padding: 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: "ropa-sans-pro", 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;
    	text-indent: 0.1em;
	}
	header .lang.sp a.langCurrent {
		display: block;
		font-size: min(3.2vw, 14px);
		padding: min(1.2vw, 4px) min(4vw, 20px) min(1vw, 3px) min(4vw, 20px);
		position: relative;
	}

	header .lang.sp .langSelect {
		display: none;
	}
	header .lang.sp .langSelect a {
    	display: block;
		text-align: center;
		padding: 5px 3px;
		font-size: 12px;
		background-color: #fff;
		color: #000;
		margin-top: 1px;
	}
	
	
	header #globalNav li.ddw .ddmenu {
    	display: flex !important;
    	justify-content: flex-end;
    	align-items: center;
    	flex-wrap: wrap;
    	position: relative;
    	padding: 0.2em 0;
	}
	header #globalNav li.ddw .ddmenu div {
		display: flex;
		flex-wrap: wrap;
    	justify-content: flex-end;
		width: 100%;
	}
	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: min(10vw, 80px) min(6vw, 40px);
}

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

footer .sponsorLogo {
	display: flex;
	justify-content: center;
	margin-bottom: min(8vw, 60px);
	gap: 0 min(6vw, 30px);
}
footer .sponsorLogo li {
	line-height: 0;
}
footer .sponsorLogo li img {
	height: 40px;
	width: auto;
	object-fit: contain;
}
footer .sponsorLogo li.cm {
	width: 160px;
}

footer .copyright {
	color: #fff;
	text-align: center;
	font-weight: normal;
	font-size: min(2.6vw, 10px);
}

@media screen and (min-width: 821px) {
	
	footer {
		width: 100%;
	}
	
	footer .ftrLeft .sponsorLogo {
    	margin-bottom: min(4vw, 20px);
	}
	
}
@media screen and (max-width: 834px) {
	footer .history {
		font-size: 13px;
	}
}
@media screen and (max-width: 820px) {
	footer {
		padding: min(10vw, 80px) 0;
	}
	
	
	footer .history {
    	padding: 0 min(6vw, 30px);
		font-size: min(3.8vw, 20px);
		display: block;
    	margin-bottom: min(12vw, 80px);
	}
	footer .history dt {
		padding-right: 0;
		border-right: none;
		text-align: center;
		margin-bottom: min(4vw, 20px);
		font-size: min(5.6vw, 24px);
	}
	footer .history dd {
		flex-wrap: wrap;
		gap: min(1vw, 5px) min(4.3vw, 25px);
	}
	footer .history dd p {
		width: fit-content;
    	margin: 0 0 min(2vw, 15px);
		text-align: center;
		line-height: 1.6;
	}
	footer .history dd p:last-child {
		width: fit-content;
	}
	
	
	footer .sponsorLogo {
		margin-bottom: min(8vw, 60px);
	}
	footer .sponsorLogo li {
		margin: 0 3vw;
	}
	footer .sponsorLogo li img {
		height: min(6vw, 40px);
	}
	
}


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

	Top Page

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

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

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



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

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



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

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

#mainVisual .mvSns {
	position: absolute;
	top: 50%;
	right: 30px;
	display: flex;
	flex-direction: column;
	transform: translateY(-50%);
}
#mainVisual .mvSns a {
	text-decoration: none;
	color: #fff;
	font-size: 24px;
	line-height: 2;
}
#mainVisual .movThumb {
	position: absolute;
    bottom: -5vh;
    right: 40px;
    width: 240px;
}
#mainVisual .movThumb a {
	display: block;
    color: #fff;
    text-decoration: none;
}
#mainVisual .movThumb .movPop a > div {
	line-height: 0;
	position: relative;
	border-radius: 6px;
	overflow: hidden;
}
#mainVisual .movThumb .caption {
	margin-top: min(1vw, 5px);
	font-size: min(2.8vw, 12px);
	line-height: 1.4;
	position: relative;
}
#mainVisual .movThumb .archive {
	margin-bottom: min(4vw, 20px);
}
#mainVisual .movThumb .movPop .caption {
	padding-left: 35px;
	background: url("../images/ico_play.png") no-repeat left center;
	background-size: 25px;
    min-height: 25px;
    display: flex;
    align-items: center;
}

#mainVisual .commentBnr {
	position: absolute;
    bottom: -14vh;
    right: 40px;
    width: 160px;
}

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

#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) {
	
	#mainVisual {
/*		height: 100vh;*/
    	padding: 68px 4vw 8vw;
	}
	#mainVisual .mvWrap {
    	height: 115vw;
	}
	#mainVisual .mvWrap .mvPic {
		height: 94.6vw;
		width: 100vw;
		padding: 0;
	}
	
/*
	#mainVisual .mainBnr ul li {
    	padding-bottom: 20vw;
	}
*/
	
	#mainVisual .mainBnr .mvTtl {
		bottom: 4vw;
		left: 5vw;
	}
	#mainVisual .mainBnr .mvTtl a {
		padding-right: 10vw;
	}
	#mainVisual .mainBnr .mvTtl a::after {
		width: 5vw;
		height: 5vw;
	}
	
	#mainVisual .movThumb {
		position: relative;
		bottom: inherit;
		right: inherit;
		width: 90%;
    	margin: min(4vw, 20px) 5% 0;
	}
	#mainVisual .movThumb a {
		display: flex;
    	align-items: center;
		justify-content: space-between;
	}
	#mainVisual .movThumb .movPop a > div {
		width: 46%;
	}
	
	#mainVisual .mainBnr .slick-dots {
		padding: 0;
	}
	
	#mainVisual .movThumb .movPop .caption {
		margin-top: 0;
    	width: 48%;
	}
	
	#mainVisual .commentBnr {
		bottom: -4vh;
		right: 2vw;
		width: 28%;
	}
	
	#poster {
/*    	margin: min(10vw, 60px) auto 0;*/
	}
	
/*
	#poster ul li {
		width: 80%;
	}
*/
	#poster.sm ul li {
    	width: 80%;
	}
	
	#topModalComment .date {
		font-size: min(2.8vw, 12px);
		margin-bottom: min(1vw, 10px);
	}
	#topModalComment h3 {
		font-size: min(4vw, 26px);
		padding-bottom: min(4vw, 20px);
		margin-bottom: min(6vw, 40px);
	}
	#topModalComment p {
		font-size: min(3.2vw, 14px);
		margin-bottom: min(3vw, 20px);
	}
	#topModalComment .signature {
		margin-top: min(6vw, 40px);
	}
	
}

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

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

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

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


#watsNew {
	padding-top: min(10vw, 60px);
	padding-bottom: min(6vw, 30px);
}

#watsNew .topNewsList {
	display: flex;
	flex-wrap: wrap;
    padding-bottom: min(4vw, 20px);
	border-bottom: #fff solid 1px;
	margin-bottom: min(6vw, 30px);
}
#watsNew #tabSM.topNewsWrap {
	display: none;
}

#watsNew .topNewsList li {
	width: 50%;
	margin-right: 0;
	margin-bottom: min(4vw, 20px);
}
#watsNew .topNewsList li a {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	color: #fff;
	text-decoration: none;
}
#watsNew .topNewsList li a .thumb {
	width: 35%;
	line-height: 0;
	position: relative;
	border-radius: 8px;
    padding-top: 24%;
	overflow: hidden;
	margin-bottom: 0;
}
#watsNew .topNewsList li a .thumb img {
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	position: absolute;
	object-fit: cover;
}
#watsNew .topNewsList li a .txt {
	width: 60%;
}
#watsNew .topNewsList li a .txt .date {
	font-size: 16px;
    font-family: "ropa-sans-pro", sans-serif;
	letter-spacing: .1em;
	margin-bottom: 10px;
    line-height: 1.4;
}
#watsNew .topNewsList li a .txt .ttl {
    font-size: 14px;
    line-height: 1.6;
    margin-bottom: 10px;
}
#watsNew .topNewsList li a .txt .tag {
	font-size: 13px;
	font-weight: bold;
    font-family: "ropa-sans-pro", sans-serif;
}
#watsNew .topNewsList li a .txt .tag.tagSS {
	color: #2fc4da;
}
#watsNew .topNewsList li a .txt .tag.tagSM {
	color: #e08bff;
}


/*
#watsNew .watsNewList {
	display: flex;
	flex-wrap: wrap;
	gap: min(7vw, 40px) 5%;
	margin-bottom: min(7vw, 40px);
}
#watsNew .watsNewList li {
	width: 30%;
}
#watsNew .watsNewList li .thumbWrap a {
	display: block;
	position: relative;
	padding-bottom: 14px;
	color: #000;
	text-decoration: none;
}
#watsNew .watsNewList li .thumbWrap .thumb {
	line-height: 0;
	position: relative;
	overflow: hidden;
	width: 100%;
	padding-top: 100%;
}
#watsNew .watsNewList li .thumbWrap .thumb::after {
	content: "";
	display: block;
	width: calc(100% - 20px);
	height: calc(100% - 20px);
	position: absolute;
	top: 10px;
	left: 10px;
	border: #fff solid 1px;
	border-radius: 5px;
	box-sizing: border-box;
}
#watsNew .watsNewList li .thumbWrap .thumb img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: all 0.5s ease-out;
}
#watsNew .watsNewList li .thumbWrap .ttl {
	max-width: 95%;
	font-size: min(3.8vw, 17px);
	font-weight: bold;
    line-height: 2.1;
    margin: -20px -10px;
    position: relative;
    z-index: 1;
}
#watsNew .watsNewList li .thumbWrap .ttl span {
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
	background-color: #fff;
	padding: 7px 10px;
}

#watsNew .watsNewList li .dateWrap {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: min(2vw, 15px);
	padding: 0 10px;
}
#watsNew .watsNewList li .dateWrap .tag {
	border: #fff solid 1px;
	padding: min(0.5vw, 2px) min(3vw, 15px);
	border-radius: 40px;
    font-size: min(2.6vw, 12px);
    letter-spacing: 0.04em;
}
*/

.viewMore {
	text-align: right;
}
.viewMore a {
	display: inline-block;
	padding-right: min(5vw, 25px);
	background: url(../images/ico_arrow.svg) no-repeat right 45%;
	background-size: 14px;
	color: #fff;
	text-decoration: none;
	font-family: "ropa-sans-pro", sans-serif;
	font-weight: 400;
	font-size: min(3.6vw, 18px);
    line-height: 1.2;
}


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

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

#topLineUp .lineUpList li.wide {
	width: 47%;
	margin-right: 6%;
    margin-bottom: 40px;
}
#topLineUp .lineUpList li.wide:nth-child(even) {
	margin-right: 0;
}

#topLineUp .lineUpList li .thumb {
	border-radius: 0;
}

#topLineUp .moreTxt {
	font-family: "ropa-sans-pro", sans-serif;
    font-size: min(5.6vw, 32px);
	text-align: center;
}

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

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

#topSponsors {
	padding: 40px 0 80px;
	background-color: #fff;
}
#topSponsors .sponsorsHeadeline {
	color: #111;
    font-family: "ropa-sans-pro", sans-serif;
    font-size: 32px;
    font-weight: 400;
    margin-bottom: 30px;
	text-align: center;
}
#topSponsors .sponsorsList + .sponsorsHeadeline {
    margin-top: min(8vw, 60px);
}
#topSponsors .sponsorsList {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
    gap: min(6vw, 30px) 0;
    padding: 0 min(6vw, 60px);
}
#topSponsors .sponsorsList li {
	height: 70px;
/*	height: 110px;*/
	width: auto;
	margin: 0 20px;
}
#topSponsors .sponsorsList.v2 li {
	margin: 0 30px;
}
#topSponsors .sponsorsList li img {
	height: 100%;
	width: auto;
}

@media screen and (min-width: 821px) {
	
/*
	#watsNew .watsNewList li .thumbWrap a:hover {
		opacity: 1;
	}
	
	#watsNew .watsNewList li .thumbWrap a:hover img {
		transform: scale(1.1);
	}
*/
	
	#watsNew .topNewsList li a {
		padding: 10px;
		border-radius: 10px;
	}
	#watsNew .topNewsList li a:hover {
		opacity: 1;
		background-color: rgba(0,0,0,0.3);
    	backdrop-filter: blur(6px);
        transform: translateZ(0);
	}
	
}

@media screen and (max-width: 820px) {
	.ticketBtn li {
		width: 43%;
	}
    
    
	#topBnrArea {	
		padding-top: min(12vw, 80px);	
	}	
	#topBnrArea ul li {	
		padding: 0 min(2vw, 15px);	
	}	
	#topBnrArea ul li p {	
		font-size: min(3vw, 14px);	
		padding: min(2vw, 10px) min(3vw, 20px);	
	}
	
	#watsNew .topNewsList li:last-child {
		margin-bottom: 0;
	}
	#watsNew .newsTab li a {
		font-size: min(4.2vw, 20px);
	}
	#watsNew .newsTab li a.on {
		border-bottom: #fff solid 3px;
	}
	
	#watsNew .topNewsList {
		padding-bottom: min(4vw, 30px);
    	flex-wrap: wrap;
	}
	#watsNew .topNewsList li {
		width: 100%;
    	margin-bottom: min(5vw, 30px);
	}
	#watsNew .topNewsList li a {	
		display: flex;	
    	justify-content: space-between;
    	align-items: start;
	}
	#watsNew .topNewsList li a .thumb {	
		width: 40%;	
		padding-top: 27.11%;
		margin-bottom: 0;
    	border-radius: 6px;
	}	
	#watsNew .topNewsList li a .txt {	
		width: 55%;	
	}
	#watsNew .topNewsList li a .txt .date {
		font-size: min(3.2vw, 13px);
		margin-bottom: min(1.2vw, 5px);
    	line-height: 1.2;
	}
	#watsNew .topNewsList li a .txt .ttl {
		font-size: min(3.3vw, 18px);
		margin-bottom: min(2vw, 10px);
    	line-height: 1.5;
	}
	#watsNew .topNewsList li a .txt .tag {
		font-size: min(3.2vw, 13px);
	}
	
/*
	#watsNew .watsNewList {
		flex-direction: column;
		gap: min(4vw, 20px) 0;
	}
	#watsNew .watsNewList li {
		width: 100%;
		position: relative;
	}
	#watsNew .watsNewList li .thumbWrap a {
		display: flex;
		justify-content: space-between;
    	align-items: flex-start;
		padding-bottom: 0;
	}
	#watsNew .watsNewList li .thumbWrap .thumb {
		width: 40%;
		padding-top: 40%;
	}
	#watsNew .watsNewList li .thumbWrap .thumb::after {
		width: calc(100% - 12px);
		height: calc(100% - 12px);
		top: 6px;
		left: 6px;
	}
	#watsNew .watsNewList li .thumbWrap .ttl {
		position: static;
		font-size: min(3.2vw, 15px);
		width: 55%;
		box-sizing: border-box;
    	padding-top: min(9vw, 60px);
		margin: 0;
	}
	#watsNew .watsNewList li .thumbWrap .ttl span {
    	padding: 4px 6px;
    	line-height: 1.9;
	}
	#watsNew .watsNewList li .dateWrap {
		margin-top: 0;
		padding: 0;
		position: absolute;
		top: 0;
		right: 0;
		width: 55%;
		box-sizing: border-box;
    	font-size: min(2.8vw, 10px);
	}
	#watsNew .watsNewList li .dateWrap .tag {
		padding: min(0.3vw, 2px) min(2vw, 15px);
    	letter-spacing: 0;
    	font-size: min(2.6vw, 10px);
	}
*/
	
	#topLineUp .lineUpList li.wide {
    	margin-right: 0;
    	margin-bottom: min(6vw, 60px);
	}
	
	
	#topAbout .topAboutWrap {
		flex-direction: column;
    	gap: min(6vw, 30px);
	}
	#topAbout .topAboutWrap .logo {
		width: 70%;
		padding: 0;
    	gap: min(6vw, 30px);
	}
	#topAbout .topAboutWrap .txt {
		width: 100%;
	}
	
	#topSponsors {
		padding: min(9vw, 40px) 0 min(14vw, 100px);
	}
	#topSponsors .sponsorsHeadeline {
		font-size: min(5.4vw, 28px);
    	margin-bottom: min(5vw, 60px);
	}
	#topSponsors .sponsorsList {
		justify-content: flex-start;
	}
	#topSponsors .sponsorsList li,
	#topSponsors .sponsorsList.v2 li {
/*		height: 60px;*/
		height: 70px;
		width: 50%;
    	margin: 0;
		text-align: center;
	}
	#topSponsors .sponsorsList li:nth-child(n+3) {
		margin-top: min(4vw, 20px);
	}
}


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

	Under page - Common

//////////////////////////////////////////////////////////////////////////////// */
#pageHead {
	padding: min(22vw, 160px) min(6vw, 60px) min(12vw, 100px);
	text-align: center;
}
.pageTitle {
    font-family: "ropa-sans-pro", sans-serif;
	font-size: min(8.6vw, 58px);
	letter-spacing: .08em;
    line-height: 1.2;
}
#pageHead .eventSelect {
	margin-top: 60px;
	padding-top: 40px;
	border-top: #fff solid 1px;
	display: flex;
	justify-content: center;
    font-family: "ropa-sans-pro", sans-serif;
}
#pageHead .eventSelect li {
	font-size: min(5.4vw, 34px);
	font-weight: bold;
    letter-spacing: 0.08em;
	line-height: 1.4;
}
#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: "ropa-sans-pro", 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: "ropa-sans-pro", sans-serif;
    color: #fff;
    text-decoration: none;
    font-size: 32px;
    font-weight: bold;
    margin: 0 15px;
    line-height: 1.4;
    padding-bottom: 2px;
}
#pageHead .daySelect li div a.current {
	border-bottom: #fff solid 4px;
}

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


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

@media screen and (max-width: 820px) {
	
	#pageHead .eventSelect {
		margin-top: min(8vw, 60px);
    	padding-top: min(6vw, 40px);
    	align-items: flex-end;
	}
	#pageHead .eventSelect li + li {
		margin-left: 4vw;
	}
	#pageHead .eventSelect li span {
		font-size: min(3.4vw, 18px);
    	display: block;
		width: 100%;
		text-align: center;
    	margin-bottom: 0;
	}
	#pageHead .eventSelect li span + a {
		margin-left: 0;
	}
	#pageHead .eventSelect li a {
		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 {
		display: block;
		font-size: min(6.8vw, 38px);
	}
	.eventHaed .place span {
		font-size: min(3.2vw, 18px);
	}
	
	.eventHaed h3 {
		font-size: min(4.8vw, 28px);
		margin-bottom: min(8vw, 40px);
	}
	.eventHaed .date {
		margin-top: min(4vw, 20px);
    	font-size: min(4.6vw, 20px);
	}
	.eventHaed .date strong {
		font-size: min(6.8vw, 32px);
	}
	
}


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

	News

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

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

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

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

#news .newsBody {
	margin-bottom: 80px;
}
#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: #ddd solid 1px;
    border-radius: 8px;
    padding: 15px 40px;
    min-width: 200px;
    background-color: #ddd;
}

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

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

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

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

.pagination {
	display: flex;
	justify-content: center;
	padding: 100px 0;
	position: relative;
}
.pagination::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 50%;
	width: 1px;
	height: 60px;
	background-color: #fff;
}
.pagination a {
	color: #fff;
	text-decoration: none;
}
.pagination .page-numbers {
	width: 40px;
	line-height: 36px;
    font-family: 'Montserrat', 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: "ropa-sans-pro", sans-serif;
	font-size: 24px;
	font-weight: 500;
	letter-spacing: .1em;
}

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


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

@media screen and (min-width: 821px) {
	.newsList li a {
		padding: 10px;
		border-radius: 10px;
	}
	.newsList li a:hover {
		opacity: 1;
		background-color: rgba(0,0,0,0.3);
    	backdrop-filter: blur(6px);
        transform: translateZ(0);
	}
	
	.pagination a:hover {
		color: #000;
		background-color: #fff;
		opacity: 1;
	}
	.pagination .page-numbers.next::before,
	.pagination .page-numbers.prev::before {
		transition: all .3s ease-out;
	}
	.pagination .page-numbers.next:hover::before {
		border-top: #000 solid 1px;
    	border-right: #000 solid 1px;
	}
	.pagination .page-numbers.prev:hover::before {
		border-left: #000 solid 1px;
    	border-bottom: #000 solid 1px;
	}
}
@media screen and (max-width: 820px) {
	.newsList {
		justify-content: space-between;
	}
	.newsList li {
		width: 47%;
		margin-right: 0;
		margin-bottom: min(8vw, 60px);
	}
	.newsList li .thumb {
		border-radius: 6px;
	}
	.newsList li .txt {
		padding: 3vw 0 0;
	}
	.newsList li .txt .date {
		font-size: min(3.4vw, 16px);
		margin-bottom: min(2vw, 10px);
    	line-height: 1.4;
	}
	.newsList li .txt .ttl {
		font-size: min(3.4vw, 18px);
		margin-bottom: min(3.2vw, 16px);
		letter-spacing: .05em;
	}
	.newsList li .txt .tag {
		font-size: min(3.2vw, 14px);
	}
	
	#news .newsDetailHead {
		margin-bottom: min(8vw, 60px);
	}
	#news .newsDetailHead h3 {
		font-size: min(4.2vw, 24px);
		margin-bottom: min(4vw, 20px);
    	line-height: 1.6;
	}
	#news .newsDetailHead .newsMeta .date {
		font-size: min(3vw, 16px);
		margin-bottom: min(1vw, 4px);
	}
	#news .newsDetailHead .newsMeta .cat {
		font-size: min(3vw, 16px);
	}
	
	#news .newsDetailHead .newsMeta .newsSns li {
		margin-left: min(3vw, 20px);
	}
	#news .newsDetailHead .newsMeta .newsSns li a {
		font-size: min(5.2vw, 24px);
	}
	
	#news .newsBody {
		margin-bottom: min(14vw, 80px);
	}
	#news .newsDetailHead .subTtl {
		margin-top: min(1vw, 5px);
		font-size: min(3.2vw, 16px);
	}
	#news .newsBody .eyeCatch {
		margin-bottom: min(8vw, 60px);
		border-radius: 8px;
	}
	#news .newsBody p {
		font-size: min(3.4vw, 16px);
		margin-bottom: min(6vw, 40px);
		line-height: 1.8;
	}
	#news .newsBody p.iframeBox {
		padding-top: 56.25%;
		position: relative;
	}
	#news .newsBody p.iframeBox iframe {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
	
	#news .newsBody .newsBtnWrap {
		margin: min(8vw, 40px) 0;
		text-align: center;
	}
	#news .newsBody .newsBtnWrap a {
		font-size: min(3.6vw, 16px);
		padding: min(3vw, 15px);
		min-width: 60%;
	}
	#news .newsBody .newsBtnWrap span {
		font-size: min(3.6vw, 16px);
		padding: min(3vw, 15px);
		min-width: 60%;
	}
	
	#news .newsBody h4 {
		font-size: min(4vw, 20px);
		margin-bottom: min(6vw, 30px);
		margin-top: min(12vw, 60px);
	}
	
	#news .newsBody figure {
		margin-bottom: min(10vw, 60px);
	}
	#news .newsBody figure figcaption {
		font-size: min(2.8vw, 14px);
		margin-top: min(2vw, 10px);
	}
	
	#news .newsBody .txtBox {
		padding: min(4vw, 20px);
		margin-bottom: min(8vw, 40px);
	}
	
	#news .newsBody .newsGallery {
		justify-content: space-between;
	}
	#news .newsBody .newsGallery li {
		width: 48%;
		padding: 0;
		margin-bottom: min(4vw, 20px);
	}
	
	
	#news .newsBody .profBtn {
		margin-top: min(8vw, 60px);
	}
	#news .newsBody .profBtn a {
		padding: min(2vw, 10px);
		font-size: min(3.6vw, 16px);
		border-radius: 6px;
		width: 140px;
	}
	#news .newsBody .newsInBtn {
		margin-top: min(8vw, 60px);
	}
	#news .newsBody .newsInBtn a {
		padding: min(2vw, 10px);
		font-size: min(3.6vw, 16px);
		border-radius: 6px;
		width: 140px;
	}
	
	.pagination {
		padding: min(15vw, 80px) 0;
	}
	.pagination::before {
		height: min(10vw, 60px);
	}
	.pagination .page-numbers {
		width: min(8vw, 40px);
		line-height: min(8vw, 40px);
		font-size: min(3.2vw, 16px);
    	margin: 0 min(1.4vw, 10px);
	}
	
	.backBtn {
		padding: min(15vw, 80px) 0;
	}
	.backBtn::before {
		height: min(10vw, 60px);
	}
	.backBtn a {
		font-size: min(4.2vw, 20px);
	}
	
	.backBtn.pageing {
		padding: min(15vw, 80px) min(6vw, 60px);
	}
	.backBtn.pageing .pagePrev {
		position: absolute;
		top: min(15vw, 80px);
		left: min(6vw, 60px);
	}
	.backBtn.pageing .pageNext {
		position: absolute;
		top: min(15vw, 80px);
		right: min(6vw, 60px);
	}
	.backBtn.pageing .pagePrev a {
		padding-left: min(6vw, 30px);
	}
	.backBtn.pageing .pageNext a {
		padding-right: min(6vw, 30px);
	}
	.backBtn.pageing .pagePrev a::before,
	.backBtn.pageing .pageNext a::before {
		width: min(3vw, 14px);
		height: min(3vw, 14px);
	}
}

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

	About

//////////////////////////////////////////////////////////////////////////////// */
.about .logo {
	line-height: 0;
	max-width: 60%;
	width: 460px;
	margin: 0 auto 80px;
}
.about p {
	line-height: 2.4;
}

@media screen and (max-width: 820px) {
	.about .logo {
		line-height: 0;
		max-width: 60%;
		width: 460px;
		margin: 0 auto min(10vw, 80px);
	}
	.about p {
		line-height: 2;
	}
	
	
}

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

	Line Up

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

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

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

.lineUpNav {
	width: 240px;
	font-family: "ropa-sans-pro", sans-serif;
	font-weight: 400;
	position: sticky;
	top: 140px;
	left: 0;
}
.lineUpNav .area {
	display: flex;
	justify-content: center;
	padding: 15px 0;
	border-top: #fff solid 1px;
}
.lineUpNav .area a,
.lineUpNav .area span {
	color: #fff;
	font-size: 26px;
	text-decoration: none;
	letter-spacing: 0.05em;
	padding: 0 20px;
	line-height: 1.4;
}
.lineUpNav .area span {
	font-weight: 800;
}
.lineUpNav .area a:first-child,
.lineUpNav .area span:first-child {
	border-right: #fff solid 1px;
}

.lineUpNav .day {
	border-top: #fff solid 1px;
	padding: 15px 0;
	border-bottom: #fff solid 1px;
}
.lineUpNav .day li {
	padding-left: 20px;
	position: relative;
	font-weight: 800;
	font-size: 22px;
    line-height: 1.4;
	letter-spacing: 0.05em;
}
.lineUpNav .day li::before {
	content: "";
	width: 5px;
	height: 1px;
	background-color: #fff;
	position: absolute;
	top: 50%;
	left: 0;
}
.lineUpNav .day li.ttl {
	padding-left: 0;
	font-weight: 400;
	font-size: 12px;
}
.lineUpNav .day li.ttl::before {
	display: none;
}
.lineUpNav .day li + li {
	margin-top: 4px;
}
.lineUpNav .day li a {
	font-weight: 400;
	color: #fff;
	text-decoration: none;
}

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

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

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



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

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

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

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

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

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

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

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

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

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

@media screen and (max-width: 820px) {
	
	.lineUpList {
		justify-content: space-between;
	}
	.lineUpList li {
    	width: 47%;
		position: relative;
		margin-right: 0;
    	margin-bottom: min(6vw, 60px);
	}
	.lineUpList li .thumb {
    	margin-bottom: min(2vw, 20px);
		border-radius: 6px;
	}
	.lineUpList li .name {
		font-size: min(3vw, 16px);
		padding: 0;
		line-height: 1.6;
	}
	.lineUpList li .name span {
		font-size: min(2.6vw, 12px);
	}
	
	
	.lineUpList li .icoT,
	.lineUpList li .icoO {
		width: min(5vw, 20px);
		height: min(5vw, 20px);
		line-height: min(5vw, 20px);
		margin: 0;
		font-size: min(3vw, 10px);
		position: absolute;
		top: 35vw;
		right: 0;
	}
	
	.lineUpList li.new::before {
		top: -0.7em;
    	left: 0.4em;
		font-size: 4.6vw;
	}
	
	
	.lineUpNav {
		width: 100%;
		position: fixed;
		top: inherit;
		bottom: 0;
		left: 0;
		z-index: 10;
		background-color: rgba(0,0,0,0.70);
    	backdrop-filter: blur(5px);
        transform: translateZ(0);
	}
	.lineUpNav .area {
		padding: 0;
		border-top: none;
	}
	.lineUpNav .area a,
	.lineUpNav .area span {
		font-size: min(4.2vw, 20px);
		padding: min(3vw, 20px);
		width: 50%;
		text-align: center;
	}
	.lineUpNav .area a:first-child,
	.lineUpNav .area span:first-child {
		border-right: rgba(255,255,255,0.60) solid 1px;
	}

	.lineUpNav .day {
		display: flex;
        align-items: center;
		justify-content: center;
		border-top: rgba(255,255,255,0.60) solid 1px;
		padding: min(2vw, 20px) min(6vw, 30px);
		border-bottom: rgba(255,255,255,0.60) solid 1px;
	}
	.lineUpNav .day li {
		padding: 0 min(4.5vw, 20px);
		font-size: min(4vw, 18px);
		line-height: 1.2;
		text-align: center;
	}
	.lineUpNav .day li::before {
		display: none;
	}
	.lineUpNav .day li + li {
		margin-top: 0;
	}
	.lineUpNav .day li a {
		font-weight: 400;
		color: #fff;
		text-decoration: none;
	}
	
	.lineUpNav .day li a > div {
		width: min(15vw, 30px);
		margin: 0 auto min(0.5vw, 5px);
	}
	
	.lineUpNav .day.stage {
		padding: min(3.5vw, 30px) min(4vw, 20px);
		border-top: none;
	}
	.lineUpNav .day.stage li {
		width: 20%;
		padding: 0 min(2vw, 10px);
    	font-size: min(2.4vw, 12px);
		letter-spacing: 0;
	}
	.lineUpNav .day.stage.tokyo li:nth-child(2) a { color: #4da4d6;}
	.lineUpNav .day.stage.tokyo li:nth-child(3) a { color: #4d9c5d;}
	.lineUpNav .day.stage.tokyo li:nth-child(4) a { color: #e2a33d;}
	.lineUpNav .day.stage.tokyo li:nth-child(5) a { color: #ebb9c2;}
	.lineUpNav .day.stage.tokyo li:nth-child(6) a { color: #ccc3aa;}
	.lineUpNav .day.stage.tokyo li:nth-child(7) a { color: #fff;}
	
	.lineUpNav .day.stage.osaka li:nth-child(2) a { color: #0081c0;}
	.lineUpNav .day.stage.osaka li:nth-child(2) a img { transform-origin: right bottom; transform: scale(1.12);}
	.lineUpNav .day.stage.osaka li:nth-child(3) a { color: #009944;}
	.lineUpNav .day.stage.osaka li:nth-child(4) a { color: #f6ab00;}
	.lineUpNav .day.stage.osaka li:nth-child(5) a { color: #999;}
	.lineUpNav .day.stage.osaka li:nth-child(5) a img { background-color: rgba(255,255,255,0.8); border-radius: 50%; border: rgba(255,255,255,0.8) solid 1px;}
	
	.lineUpNav .day.stage.sm li:nth-child(2) a { color: #4d9c5d;}
	.lineUpNav .day.stage.sm li:nth-child(3) a { color: #e2a33d;}
	.lineUpNav .day.stage.sm li:nth-child(4) a { color: #ebb9c2;}
	.lineUpNav .day.stage.sm li:nth-child(5) a { color: #fff;}
	
	.lineUpNav .day.stage.mn li:nth-child(2) a { color: #fff;}
	
	.lineUpNav .day.stage li:first-child {
		display: none;
	}
	.lineUpNav .day.stage li a {
    	font-weight: bold;
    	font-size: min(2.8vw, 12px);
	}
	
	.lineUpContents {
		width: 100%;
	}
	.lineUpContents .lineUpList li {
		width: 47%;
		margin-right: 0;
		margin-bottom: min(8vw, 45px);
	}
	.lineUpContents .lineUpList li:nth-child(3n) {
		margin-right: 0;
	}
	
	.stageWrap {
		padding: min(8vw, 60px) 0 min(6vw, 40px);
	}
	.stageWrap h3 {
		font-size: min(5.2vw, 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%;
	}
	
	
	.artistHead {
		flex-direction: column-reverse;
	}
	.artistHead .artistPhoto {
		width: 100%;
		margin-bottom: min(6vw, 40px);
	}
	.artistHead .artistTitle {
		width: 100%;
	}
	.artistHead .artistTitle h3 {
		font-size: min(5vw, 26px);
		margin-bottom: min(6vw, 40px);
	}
	.artistHead .artistTitle h3 span {
		font-size: min(3.6vw, 16px);
	}
	.artistHead .artistTitle .officialLinks {
		margin-bottom: min(4vw, 25px);
	}
	.artistHead .artistTitle .officialLinks li a {
		font-size: min(3.4vw, 16px);
		padding: min(2vw, 8px);
	}
	.artistHead .artistTitle .artistSns li {
		margin-right: min(4vw, 20px);
	}
	.artistHead .artistTitle .artistSns li a {
		text-decoration: none;
		font-size: min(5.2vw, 24px);
	}
	.artistBodoy {
		margin-top: min(8vw, 60px);
		padding-top: min(8vw, 60px);
    	display: block;
	}
	.artistBodoy .profile {
		margin-bottom: min(10vw, 40px);
	}
	.artistBodoy .profile p {
		font-size: min(3.4vw, 16px);
		margin-bottom: min(6vw, 30px);
	}
	
	.artistBodoy .playlistApp {
		width: 100%;
		min-width: inherit;
		margin-left: 0;
	}
	.artistBodoy .playlistApp iframe {
/*		height: 330px;*/
	}
	
	.moreTxt {
		font-size: min(5.6vw, 26px);
		margin-bottom: min(5vw, 80px);
	}
}



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

	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: 'Montserrat', sans-serif;
    font-weight: bold;
    text-align: center;
    position: absolute;
    top: 0;
    right: 0;
    font-size: 20px;
    line-height: 1.1;
    color: #fff;
    background-color: rgba(0,0,0,0.75);
    z-index: 2;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
	border-radius: 6px;
}
.lineUpList.extra li .name {
    font-size: 20px;
    text-align: center;
}
.lineUpList.extra li .info {
	font-size: 16px;
	line-height: 1.6;
    padding: 0 10px;
	margin: 10px 0 0;
    text-align: center;
}

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

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


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

	Ticket

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

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

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

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


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

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

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

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

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



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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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


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


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

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

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

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

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


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

@media screen and (max-width: 820px) {
	
	.btnarea {
		margin-top: min(6vw, 60px);
	}
	
	.resale a {
    	padding: min(2vw, 15px) min(4vw, 30px) min(2vw, 15px) min(8vw, 60px);
    	font-size: min(3.2vw, 18px);
		width: 100%;
	}
	.resale a::before {
		width: min(6vw, 30px);
		height: min(6vw, 30px);
		line-height: min(6vw, 30px);
    	left: min(3vw, 20px);
	}
	
	.trade {
		margin-top: 20px;
	}
	.trade a {
    	padding: min(2vw, 15px) min(4vw, 30px) min(2vw, 15px) min(8vw, 60px);
    	font-size: min(3.2vw, 18px);
		width: 100%;
	}
	.trade a::before {
		width: min(6vw, 30px);
		height: min(6vw, 30px);
		line-height: min(6vw, 30px);
    	left: min(3vw, 20px);
	}
	
	#ticket .ticketBody {
		padding-bottom: min(12vw, 80px);
		margin-bottom: min(12vw, 80px);
	}
	#ticket .ticketBody h4 {
		font-size: min(4.6vw, 26px);
		margin-bottom: min(6vw, 30px);
	}
	#ticket .ticketBody h5 {
		font-size: min(4.2vw, 20px);
		margin-bottom: min(4vw, 20px);
	}
	
	.ticketLead {
		margin-bottom: min(10vw, 40px);
	}
	.ticketLead p {
		font-size: min(3.8vw, 20px);
		margin-bottom: min(4vw, 20px);
	}
	.ticketLead .note {
		font-size: min(3vw, 14px);
	}


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

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

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

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

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

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

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

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

	
	#admissionTicket .ticketPrice table td .note {
		font-size: min(3vw, 12px);
    	margin-top: min(2vw, 5px);
		margin-bottom: 0;
	}
	
	.ticketBody .period {
		margin-bottom: min(6vw, 40px);
		font-size: min(3.2vw, 16px);
	}
	.ticketBody .msFig {
		margin-bottom: min(2vw, 15px);
	}
	.ticketBody .note {
		font-size: .8em;
		margin-bottom: min(10vw, 60px);
	}
	
	.ticketSchedule table thead {
		display: none;
	}
	.ticketSchedule table th,
	.ticketSchedule table td {
		display: block;
		width: 100%;
		box-sizing: border-box;
		padding: min(4vw, 15px);
		font-size: min(3.3vw, 16px);
		border-right: none;
	}
	.ticketSchedule table tbody tr:last-of-type th,
	.ticketSchedule table tbody tr:last-of-type td {
    	border-bottom: #eee solid 1px;
	}
	
	.ticketSchedule table td[data-title]::before {
		content: attr(data-title) "";
		display: block;
		font-size: min(3.2vw, 16px);
		color: #666;
		margin-bottom: min(3vw, 10px);
	}
	
	.ticketSchedule table td span.endTag {
		top: 3vw;
		transform: translate(0%, 0%);
	}
	
	
	.tickeMo {
		padding: 6vw;
	}
	.tickeMo li {
		padding-bottom: 5vw;
    	margin-bottom: 5vw;
	}
	.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 {
    	margin-bottom: 4vw;
	}
	.tickeMo li .tikeTxt .ticketKind li {
		margin-bottom: 1vw;
		font-size: 3.4vw;
	}
	.tickeMo li .tikeTxt .buyBtn {
		padding: 2.5vw 2vw;
		font-size: 2.8vw;
	}
	
	
	/*.ticketNavWrap {
		overflow: auto;
    	width: calc(100% + 6vw);
		padding-bottom: 4vw;
    	padding-right: 6vw;
	}
	.ticketNav {
		margin-top: min(14vw, 80px);
    	width: 170vw;
	}*/
	.ticketNavWrap {
		overflow: auto;
    	width: 100%;
		padding-bottom: 4vw;
    	padding-right: 0;
	}
	.ticketNav {
		margin-top: min(14vw, 80px);
    	width: 100%;
    	flex-wrap: wrap;
	}
	.ticketNav li {
		width: 48%;
		margin: 0 1% min(3vw, 20px);
    	line-height: 1.4;
	}
	
	.ticketNav li a {
    	font-size: min(2.8vw, 14px);
    	padding: min(3vw, 15px) min(1vw, 15px);
		height: 100%;
		box-sizing: border-box;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	
	.benefitAcc dt {
		padding: min(6vw, 30px) min(8vw, 40px);
	}
	.benefitAcc dt .opBtn {
		top: 50%;
		right: 0;
		width: min(8vw, 50px);
		height: min(8vw, 50px);
    	transform: translate(50%, -50%);
	}
	.benefitAcc dt .opBtn::before { width: 50%;}
	.benefitAcc dt .opBtn::after { height: 50%;}
	#ticket .ticketBody .benefitAcc dt h4 {
		margin-bottom: min(4.6vw, 26px);
	}
	.benefitAcc dt p {
		font-size: min(3.4vw, 18px);
	}
	
	.benefitAcc dd {
		padding: min(6vw, 30px);
	}
	
	.ticketOther {
		margin-bottom: min(8vw, 40px);
		display: block;
	}
	.ticketOther:last-child {
		margin-bottom: 0;
	}
	.ticketOther .txtArea {
		width: 100%;
		padding: min(6vw, 30px) min(6vw, 30px);
		border-right: none;
	}
	.ticketOther .buyArea {
		width: 100%;
		padding: min(6vw, 30px);
	}
	.ticketOther .txtArea h6 {
		font-size: min(3.8vw, 18px);
		margin-bottom: min(2vw, 15px);
	}
	.ticketOther .txtArea p {
		font-size: min(3.4vw, 16px);
	}
	.ticketOther .buyArea p {
		font-size: min(6.2vw, 26px);
	}
	.ticketOther .buyArea a + p {
		margin-top: min(3vw, 20px);
	}
	.ticketOther .buyArea .buyBtn,
	.ticketOther .buyArea .accessMapBtn {
		font-size: min(3.6vw, 16px);
		padding: min(3vw, 8px);
		margin-top: min(2vw, 15px);
	}
	
	
	.ticketOther .txtArea:nth-child(n + 3) {
		border-top: #999 solid 1px;
	}
	.ticketOther .buyArea:nth-child(n + 2) {
		border-top: #ddd dotted 1px;
	}
	
	.ticketNotesList li {
		font-size: min(3.2vw, 14px);
	}
	
	#ticketSideNav {
		transform: translate(-100%, -50%);
		border-radius: 0;
	}
	#ticketSideNav h4 {
		padding: min(2vw, 10px) min(12vw, 60px) min(2vw, 10px) min(6vw, 20px);
		font-size: min(3.6vw, 16px);
		border-radius: 8px 8px 0 0;
		position: absolute;
		top: 0;
		left: 100%;
		white-space: nowrap;
		background-color: #000;
		transform-origin: left bottom;
		transform: translate(0, -100%) rotate(90deg);
	}
	#ticketSideNav h4::after {
		content: "";
		display: block;
		width: min(3vw, 12px);
		height: min(3vw, 12px);
		border-top: #fff solid 1px;
		border-right: #fff solid 1px;
		transform: translateY(-50%) rotate(-45deg);
		position: absolute;
		top: 60%;
    	right: min(5vw, 20px);
	}
	#ticketSideNav ul {
		padding: min(2vw, 10px) min(4vw, 20px);
	}
	#ticketSideNav ul li a {
		font-size: min(3.2vw, 14px);
		padding: min(2.5vw, 10px) 0;
	}
	

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

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

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

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

	.attentionList {
		padding-left: 20px;
	}
	
	
}

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

	Platinum Ticket

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


#platinumTicket .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: "ropa-sans-pro", sans-serif;
	font-size: 36px;
	font-weight: bold;
	position: absolute;
	top: 0;
    left: 0;
}
#platinumTicket .pTicketFaq dd::before {
	content: "A";
	font-family: "ropa-sans-pro", sans-serif;
	font-size: 36px;
	font-weight: bold;
	position: absolute;
	top: 0;
    left: 0;
}
#platinumTicket .pTicketFaq dd {
	color: #000;
	padding: 20px 0 20px 40px;
    font-size: 16px;
	position: relative;
}
#platinumTicket .pTicketFaq dd a {
	color: #000;
	text-decoration: underline;
}


@media screen and (max-width: 820px) {
	
	#platinumTicket .platinumWrap {
		padding-bottom: 60px;
		margin-bottom: 60px;
	}
	#platinumTicket .platinumWrap h3 {
		font-size: min(4.8vw, 26px);
		margin-bottom: min(10vw, 60px);
	}
	
	#platinumTicket .platinumWrap .pTicketBenefits li {
		width: 100%;
		padding: min(6vw, 30px);
		margin-bottom: min(6vw, 25px);
		border-radius: 8px;
	}
	#platinumTicket .platinumWrap .pTicketBenefits li h4 {
		font-size: min(4.2vw, 20px);
		margin-bottom: min(3vw, 15px);
	}
	#platinumTicket .platinumWrap .pTicketBenefits li p {
		font-size: min(3.2vw, 14px);
	}

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

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



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

	Info

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

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

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

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

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

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

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

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

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

	#info .infoBody p {
		font-size: min(3.2vw, 16px);
		margin-bottom: min(8vw, 40px);
	}
	
	#info .aboutAcd {
		margin-top: min(16vw, 100px);
    	margin-bottom: min(8vw, 60px);
	}
	#info .aboutAcd dt {
    	font-size: min(5.8vw, 38px);
    	padding: min(4vw, 15px) 0;
	}
	
	#info .aboutAcd dt::before {
		width: 25px;
		right: 20px;
	}
	#info .aboutAcd dt::after {
		height: 25px;
    	right: 32px;
	}
	
	#info .aboutAcd dd {
		padding: min(6vw, 40px) 0;
	}
	#info .aboutAcd .about .logo {
		margin-bottom: min(8vw, 60px);
	}
	#info .aboutAcd .contentWrap {
		padding: 0;
	}
	
	#notes h3 {
		font-size: min(4.2vw, 24px);
		margin-bottom: min(8vw, 60px);
	}
	#notes .attentionLead {
		font-size: min(3.2vw, 16px);
		margin-bottom: min(8vw, 60px);
		text-align: left;
	}
	#notes .notesWrap {
		padding: min(6vw, 40px) min(6vw, 40px);
		margin-bottom: min(6vw, 40px);
	}
	#notes .notesWrap h4 {
		font-size: min(4vw, 18px);
		margin-bottom: min(2vw, 20px);
	}
	#notes .notesWrap p {
		font-size: min(3.2vw, 14px);
		padding: min(3vw, 15px) 0;
	}
}


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

	Sponsor

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


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

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

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

#thanks .areaSponsor {
	margin-top: 60px;
	padding-top: 40px;
	border-top: #ccc solid 1px;
	display: flex;
	justify-content: space-between;
}
#thanks .areaSponsor.singleColumn > div {
    width: 100%;
}
#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 .thanksPart:last-child {
	margin-bottom: 0;
}

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

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


#thanks .sponsorsList {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
#thanks .sponsorsList li {
	height: 75px;
	width: auto;
	margin: 0 25px 20px;
}
#thanks .sponsorsList li img {
	height: 100%;
	width: auto;
}

#thanks .areaSponsor .sponsorsList {
    justify-content: flex-start;
}
#thanks .areaSponsor.singleColumn .sponsorsList {
    justify-content: center;
}
#thanks .areaSponsor .sponsorsList li {
	height: 70px;
	margin: 0 30px 0 0;
}
#thanks .areaSponsor .sponsorsList.partners li {
    height: 42px;
    margin: 0 20px 10px 0;
}
#thanks .areaSponsor.singleColumn .sponsorsList li {
	margin: 0 40px 0;
}

@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);
	}
	
	#thanks .sponsorsList li {
		height: 60px;
    	margin: 0 15px 20px;
	}
	#thanks .areaSponsor .sponsorsList li {
		height: 50px;
		margin: 0 20px 0 0;
	}
	#thanks .areaSponsor .sponsorsList.partners li {
		height: 36px;
		margin: 0 15px 10px 0;
	}
	
}


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

#selectArea .dateSelect {
	display: flex;
	align-items: center;
	justify-content: center;
	border-bottom: #fff solid 1px;
	padding-bottom: 35px;
    gap: 0 min(7vw, 50px);
}
#selectArea .dateSelect li {
	margin: 0;
}
#selectArea .dateSelect li a {
    font-family: "ropa-sans-pro", sans-serif;
	font-weight: bold;
	text-decoration: none;
	color: #bbb;
    font-size: min(5.8vw, 48px);
	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;
}

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

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

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

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

	#selectArea .dateSelect {
		padding-bottom: min(4vw, 20px);
	}
	#selectArea .dateSelect li {
		margin: 0;
	}
	#selectArea .dateSelect li a {
		letter-spacing: .06em;
	}
	#selectArea .dateSelect li.ms a {
		font-size: min(7.2vw, 56px);
	}
	#selectArea .dateSelect li.ms a span {
		font-size: min(7.2vw, 56px);
	}
    
	.appli {
		margin-bottom: min(10vw, 80px);
	}
	.appli p {
		font-size: min(3.4vw, 18px);
		margin-bottom: min(6vw, 40px);
	}
	.appli .appliDL a {
		/*padding: min(4vw, 20px) min(8vw, 50px);
		font-size: min(3.6vw, 16px);
		border-radius: 6px;*/
    	margin: 0 min(2vw, 20px);
	}
	.appli .appliDL a img {
    	height: min(12vw, 60px);
	}
	
	.ttWrap {
		border-radius: 0;
		margin-bottom: min(8vw, 60px);
    	padding: min(4vw, 20px) min(1.6vw, 15px) min(6vw, 50px);
	}
	.ttWrap .ttImg {
		margin-bottom: min(4vw, 20px);
	}
	.ttWrap .note {
		font-size: min(2.8vw, 14px);
		letter-spacing: 0;
		padding: 0 min(5vw, 20px);
	}
}



#notFound {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: min(8vw, 60px) 0 min(6vw, 30px);
}
#notFound h2 {
	font-size: min(6.8vw, 42px);
    letter-spacing: 0.06em;
}
#notFound p {
	font-size: min(4vw, 20px);
}

#notFound .topBtn {
	margin-top: min(8vw, 60px);
}
#notFound .topBtn a {
	display: block;
	color: #fff;
	text-decoration: none;
	text-align: center;
	font-size: min(3.8vw, 16px);
	border: #fff solid 1px;
	padding: min(3vw, 15px) min(8vw, 40px);
	border-radius: 100px;
}