@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;500;600;700&display=swap');
html { scroll-behavior: smooth; }
body {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 14px;
	line-height: 1.75;
	color: #fff;
	background: #0a2031;
	margin: 0;
	padding: 0;
	position: relative;
	background: #0a2031 url(../images/bg.jpg) center top no-repeat;
	background-size: cover;
}

* {
	font-size: 1em;
	box-sizing: border-box;
	background-size: contain;
}

html, body, p, h1, h2, h3, h4, h5, ul, ol, li, dd, dl, dt, div {
	padding: 0;
	margin: 0;
	font-weight: 500;
}

img {
	border: 0;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	vertical-align:top;
	max-width: 100%;
}

html { height: 100%; }
li { list-style-type: none; }
a {
	color: inherit;
	text-decoration: none;
}
a.underline,
.underline a { text-decoration: underline; }
.none { display: none; }
.sp { display: none; }
.pc { display: block; }

/* for modern brouser */
.clearfix:after {
	content: ".";
	display: block;
	clear: both;
	height: 0;
	line-height: 0;
	font-size: 0;
	visibility: hidden;
}

/* IE7,MacIE5 */
.clearfix { display: inline-block; }

/* WinIE6 below, Exclude MacIE5 \*/
* html .clearfix { height: 1%; }
.clearfix { display: block; }
.tcenter { text-align: center; }
.tright { text-align: right; }

/* 選択色 */
::selection {
	background: #fff;
	color: #000413;
}

::-moz-selection {
	background: #fff;
	color: #000;
}

/* YouTube 埋め込み */
.YT {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}
.YT iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}

/* header */
header {
	display: grid;
	grid-gap: 0.5em;
	grid-template-columns: 1fr 3fr;
	padding: 2em;
	width: 100%;
	position: fixed;
	left: 0;
	top: 0;
	z-index: 99;
}
header.move {
	-webkit-backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
}

ul.menu {
	display: flex;
	align-items: flex-end;
	justify-content: end;
}
ul.menu li {
	display: inline-block;
	padding-left: 1.5em;
	font-weight: 700;
	font-size: 1.2em;
	color: #fff;
	text-shadow: #000 0.125em 0 2em;
}
ul.menu li.slash {
	color: #00e4ff;
	font-weight: 300;
}
main {
	width: 100%;
	display: flex;
	flex-flow: wrap;
	justify-content: center;
	align-items: center;
	position: relative;
	margin: 8em auto 0;
	padding: 0;
}

/* NEWS LIST */
.bg_news {
	padding: 2em;
}

ul.news {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	z-index: 2;
	padding: 0;
}
ul.news li {
	padding: 1em 1em 1em 0;
	border-bottom: #666 solid 1px;
	color: #fff;
	font-size: 1.25em;
}
ul.news li:last-child { border: 0; }
ul.news li p {
	display: inline-block;
	vertical-align: middle;
	width: 5em;
	text-align: center;
}
ul.news li p:last-child {
	width: calc(100% - 5em);
	text-align: left;
}
.newsTTL {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	padding: 0 0 1em;	
	border-bottom: #666 solid 1px;
}
.newsTTL p:first-child {
	text-align: left;
	color: #fff;
	padding: 0 1em;
	font-weight: 700;
}
ul.news li p:first-child {
	text-align: left;
	color: #00e4ff;
	padding-left: 1em;
}
ul.news li p:first-child span {
	display: block;
	width: 100%;
	font-size: 0.75em;
	color: #fff;
}
ul.news li a {
	color: #fff;
	text-decoration: underline;
}
ul.news li a:hover { color: #00e4ff; }
.newsTTL p:first-child {
	display: inline-block;
	color: #00e4ff;
	width: 25%;
	font-size: 3em;
	text-align: left;
	padding: 0;
	font-weight: 700;
}
.newsTTL p:last-child {
	display: inline-block;
	width: 75%;
	text-align: right;
}
.newsTTL p:last-child span {
	background: #00e4ff;
	color: #000;
	padding: 0.25em 1em;
	margin-right: -0.8em;
	font-weight: 700;
	font-size: 1.25em;
}
.newsTTL p:last-child span small { font-size: 0.8em; }
.newsTTL p:last-child span strong { font-size: 1.25em; color: #000; }

ul.news li.viewAll p:last-child { text-align: right; }

/* YouTube */
.YTbox {
	width: 90%;
	max-width: 1000px;
	margin: 2em auto;
}

/* EVENT INFO */
.event_info {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto 2em;
}
.event_info li {
	display: grid;
	grid-gap: 0em;
	grid-template-columns: 1.5fr 2fr 2fr 7fr;
	border-top: #666 solid 1px;
	padding: 0.5em 1em;
}
.event_info li:first-child { border: 0; }
.event_info li:nth-child(2) { border-top: #fff solid 2px; }
.event_info li:nth-child(n+2) div:nth-child(1) {
	color: #00e4ff;
	font-size: 2em;
}
.event_info li:nth-child(n+2) div {
	display: flex;
	justify-content: start;
	align-items: center;
}
.event_info li:nth-child(n+2) div:nth-child(2) small { font-size: 0.75em; }
.event_info li:nth-child(n+2) div:nth-child(3) span { color: #00e4ff; }
.event_info li:nth-child(n+2) div:nth-child(4) strong {
	color: #00e4ff;
	font-size: 1.75em;
}
.event_info li:nth-child(n+2) div:nth-child(4) img {
	height: 1em;
	width: 1.25em;
	margin-top: 0.4em;
}
.event_info li:nth-child(n+2) div:nth-child(4) small { font-size: 0.75em; }
.event_info li:nth-child(n+2) div:nth-child(4) a { text-decoration: underline; }

/* TICKET */
.ticketArea {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto 2em;
	padding: 0;
}

div.ticketBox.tGrid {
	width: 100%;
	max-width: 1000px;
	display: grid;
	grid-gap: 0;
	grid-template-columns: 1fr 2.5fr;
	background: #fff;
	color: #000;
	padding: 1em 2em;
	margin: 0 auto 1em;
}

div.leftBox {
	grid-column: 1 / 2;
	grid-row: 1 / 5;
}
div.leftBox h2 {
	color: #00e4ff;
	font-size: 3em;
	font-weight: 700;
	padding: 0;
	margin: 0 auto 0.25em;
}
ul.kome li {
	list-style:none;
	padding: 0 0 0 1em;
	text-indent: -1em;
	font-size: 0.8em;
	line-height: 1.75em;
	display: block;
	text-align: left;
}
ul.kome li:before { content:"※" }
ul.kome li.ttl {
	font-size: 1.5em;
	font-weight: 700;
	text-indent: -1.5em;
}
ul.kome li.ttl:before { content:"" }

div.rightBox,
div.leftBox {
	text-align: left;
	padding: 1.5em 1em;
}
div.rightBox.uL,
div.leftBox.uL {
	border-bottom: #666 dashed 1px;
}
div.rightBox img { width: 100%; margin: 0.5em 0; }

ul.ticketTTL {
	margin-bottom: 0.5em;
	border-bottom: rgba(255,255,255,0.5) dashed 1px;
}
ul.ticketTTL li {
	width: 49%;
	vertical-align: middle;
	display: inline-block;
	padding: 0 0 0.5em;
}
ul.ticketTTL li:first-child {
	text-align: left;
	font-size: 1.5em;
	font-weight: 700;
}
ul.ticketTTL li:last-child { text-align: right; }

ul.btnBox {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
}
ul.btnBox a {
	text-align: center;
	-webkit-flex-grow: 1;
	flex-grow: 1;
	color: #fff;
	background: #000;
	padding: 0.5em;
	margin: 0.5em 0.5em 0;
	border-radius: 0.5em;
	font-size: 1.25em;
	font-weight: 700;
}
ul.btnBox a small { font-size: 0.7em; }

.gold,
.gray {
	padding: 2em;
	margin: 0 auto 1em;
}
.gold p span,
.gray p span { padding-right: 1em; }
.gold {
	color: #000;
	background: #00e4ff;
}
.gray {
	color: #fff;
	background: #555;
}
.gray ul.btnBox a {
	color: #555;
	background: #777;
}
.zasekiBOX li {
	display: grid;
	grid-gap: 0;
	grid-template-columns: 1fr 1.25fr;
	padding: 0.5em 2em;
	border-bottom: #666 dashed 1px;
	font-size: 2em;
	font-weight: bold;
}
.zasekiBOX li:last-child { border: 0; }
.zasekiBOX li strong {
	font-size: 0.85em;
	display: flex;
	justify-content: center;
	align-items: center;
}
.zasekiBOX li strong span {
	display: flex;
	width: 100%;
	height: 1.5em;
	color: #000;
	background: #00e4ff;
	justify-content: center;
	align-items: center;
}
.zasekiBOX li p {
	font-size: 1.75em;
	text-align: right;
	font-weight: bold;
}
.zasekiBOX li p  span { font-size: 0.5em; }
.zasekiBOX li p.c {
	grid-column: 1 / 3;
	font-size: 0.5em;
}

/* NOTICE */
#notice h2 {
	text-align: center;
	font-size: 3em;
	font-weight: 700;
	color: #00e4ff;
}
.noticeBox {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	padding: 2em;
}
.noticeBox li.ttl { color: #00e4ff; }

/* footer */
footer {
	background: #00e4ff;
	font-size: 0.75em;
	color: #000;
	text-align: center;
	padding: 3em 2em;
}
footer p { font-size: 1.35em; }

#event_info, #news, #ticket {
	margin-top: -8em;	
	padding-top: 8em;
}

@media all and (max-width: 736px) {
	img { max-width: 100%; }
	.sp { display: block; }
	.pc { display: none; }

	body {
		font-size: 3vw;
	}
	header {
		padding: 1em;
		grid-template-columns: 1fr;
		text-align: center;
	}
	ul.menu li { padding-left: 0.5em; font-size: 1.2em; }
	main {
		width: 100%;
		margin: 8em auto 0;
		text-align: center;
	}
	main img { width: 100%; }
	ul.menu { justify-content: center; }
	main div.btnLIVE { bottom: -1em; }
	
	/* NEWS */
	ul.news li { font-size: 1em; }
	.newsTTL p:first-child { font-size: 8vw; }
	.newsTTL p:last-child span { font-size: 3.25vw; }

	/* EVENT INFO */
	.event_info {
		width: 90%;
	}
	.event_info li {
		display: grid;
		grid-gap: 0em;
		grid-template-columns: 1fr;
		border-top: #666 solid 1px;
		padding: 0.5em 1em;
	}
	.event_info li:nth-child(n+2) div:nth-child(4) strong { font-size: 1.5em; }

	/* TICKET */
	div.ticketBox.tGrid {
		display: grid;
		grid-gap: 0;
		grid-template-columns: 1fr;
		border: #fff solid 1px;	
		padding: 1em 2em;
		margin: 0 auto 1em;
	}
	div.leftBox {
		grid-column: 1 / 2;
		grid-row: 1 / 2;
	}
	div.rightBox, div.leftBox { padding: 0.5em 0; }
	div.leftBox h2 {
		font-size: 2em;
		margin: 0 auto;
	}
	.gold p span,
	.gray p span { display: block; padding-right: 0; }

	ul.ticketTTL li { width: 100%;  padding:0; }
	ul.ticketTTL li:first-child { font-size: 1.25em; }
	ul.ticketTTL li:last-child { font-size: 0.75em; text-align: left; }

	ul.btnBox { flex-wrap: wrap; }
	ul.btnBox a {
		-webkit-flex-grow: 1;
		flex-grow: 1;
		width: 100%;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
	}
	.zasekiBOX li {
		padding: 0.5em 1em;
		font-size: 1.25em;
	}

	/* NOTICE */
	#notice { background-size: 120% auto; }
	#notice h2 { font-size: 2em; }
	ul.kome li.ttl { font-size: 1.25em; }

}
::-webkit-full-page-media, :future, :root main { height: auto; }