@charset "UTF-8";

/* body
-------------------------- */
/* 14px @ 768px increasing to 20px @ 1360px */
@media (min-width: 768px) {
	root {
		font-size: calc(0.875rem + ((1vw - 7.68px) * 1.0135));
	}
}
@media (min-width: 1360px) {
	:root {
		font-size: 20px;
	}
}
@font-face {
	font-family: "Noto Sans JP";
	font-style: normal;
	font-weight: 400;
	src:
		url('../_font/NotoSansJP-Regular.woff2') format('woff2'),
		url('../_font/NotoSansJP-Regular.woff') format('woff'),
		url('../_font/NotoSansJP-Regular.otf') format('opentype');
}
@font-face {
	font-family: "Noto Sans JP";
	font-style: normal;
	font-weight: 500;
	src:
		url('../_font/NotoSansJP-Medium.woff2') format('woff2'),
		url('../_font/NotoSansJP-Medium.woff') format('woff'),
		url('../_font/NotoSansJP-Medium.otf') format('opentype');
}
body {
	width: 100%;
	height: 100%;
	color: #efefeb;
	background: #06050a;
	font-family: "Noto Sans JP", sans-serif;
	line-height: 2;
	letter-spacing: .02em;
	text-align: left;
	position: relative;
	-webkit-text-size-adjust: 100%;
}
body:not(#home):before {
	content: '';
	display: block;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 100%;
	/*max-width: 1360px;*/
	height: 100vh;
	background: url('../_img/bg.webp') no-repeat bottom center;
	background-size: cover;
	opacity: 1;
	z-index: -10;
}
::selection {
	background: #df6e2c;
	color: #efefeb;
}
a {
	/*color: #ad50e4;*/
	color: #d28aff;
	text-decoration: none;
}
a:hover {
	color: #df6e2c;
}
a,
a img,
.easing {
	transition: .3s ease-in-out;
	border: none;
	outline: none;
	position: relative;
}
a img.ov:hover {
	opacity: .7 !important;
}
figure {
	text-align: center;
}
sup {
	font-size: 85%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
	top: -.25rem;
}
sub {
	font-size: 85%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
	bottom: -.25rem;
}
hr {
	display: block;
	border: none;
	border-top: 1px solid #efefeb;
	margin: 1.5em 0;
}
/* responsive
-------------------------- */
.spSet {
	display: none !important;
}
.tbSet {
	display: none !important;
}
.pcSet {
	display: block !important;
}
@media (max-width: 900px) {
	.tbSet {
		display: block !important;
	}
}
/* base
-------------------------- */
.inner {
	width: 100%;
	max-width: 1360px;
	margin: 0 auto;
}
main {
	width: 100%;
	max-width: 1360px;
	margin: 4.5em auto;
}
#home main {
	margin: 0 auto;
}
section {
	padding: 4.5em 3em;
	text-align: center;
}
section#home01 {
	padding: 0;
}
body:not(#home) h2 {
	font-size: 3em;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: .04em;
	margin: 0 auto;
	padding: 1.5em 0 0;
	text-align: center;
}
p {
	width: 100%;
	max-width: 980px;
	font-size: .8em;
	text-align: left;
	margin: 0 auto 3em;
}
p.ind_1em {
	text-indent: -1em;
	padding-left: 1em;
	margin: 0 auto 1em;
	line-height: 1.75;
}
p.ind_1em:last-of-type {
	margin: 0 auto 3em;
}
body:not(#artists) dl {
	width: 100%;
	max-width: 980px;
	font-size: .8em;
	text-align: left;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0 auto 3em;
}
body:not(#artists) dl dt {
	width: 20%;
	font-weight: 500;
	padding: 1.5em .25em;
	margin-right: 5%;
	border-bottom: 1px solid #4c4354;
}
body:not(#artists) dl dd {
	width: 75%;
	padding: 1.5em .25em;
	border-bottom: 1px solid #4c4354;
}
body:not(#artists) dl dt:first-of-type,
body:not(#artists) dl dd:first-of-type {
	border-top: 1px solid #4c4354;
}
ul li {
	list-style: disc inside;
}
a.btn {
	display: inline-block;
	font-size: 1em;
	color: #efefeb;
	background: #df6e2c;
	padding: .75em 3em;
	margin: 1.5em auto 0;
	letter-spacing: .06em;
}
a.btn:before {
	content: '';
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	border: 3px solid #df6e2c;
	z-index: -1;
	will-change: transform;
	transform: scale(1.25);
	opacity: 0;
	transition: transform ease .3s, opacity .3s;
}
a.btn:hover {
	color: #df6e2c;
	background: transparent;
}
a.btn:hover:before {
	will-change: transform;
	transform: scale(1);
	opacity: 1;
}
a.btn.line {
	min-width: 400px;
	background: #07b53b;
}
a.btn.line:before {
	border: 3px solid #07b53b;
}
a.btn.line:hover {
	color: #07b53b;
	background: transparent;
}
.to_top {
	cursor: pointer;
	position: fixed;
	right: .5rem;
	bottom: .5rem;
	width: 3rem;
	height: 3rem;
	background: #352860;
	display: none;
	z-index: 60;
	opacity: 1;
}
.to_top:after {
	content: '';
	position: absolute;
	width: .5rem;
	height: .5rem;
	top: .25rem;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	border-top: 2px solid #efefeb;
	border-right: 2px solid #efefeb;
	will-change: transform;
	transform: rotate(-45deg);
}
.to_top:hover {
	filter: brightness(125%);
}
/*img {
	opacity: 0;
	filter: brightness(300%);
}
img.is_inview {
	opacity: 1;
	filter: brightness(100%);
	transition: .5s ease-in-out;
}*/

/* header
-------------------------- */
header {
	background: rgba(6, 5, 10, .9);
	width: 100%;
	z-index: 50;
	border-bottom: 1px solid #333;
}
header.fixed {
	display: block;
	position: fixed;
	top: 0;
	left: 0;
}
#home header {
	display: none;
}
header .inner {
	padding: .75em 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}
header h1 a {
	display: block;
	width: 7.5em;
	margin: 0 .5em;
}
header h1 a img {
	object-fit: cover;
}
header h1 a img:hover {
	filter: invert(60%) sepia(100%) saturate(3600%) brightness(135%) contrast(85%);
}
header nav {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	margin: 0 .5em;
}
header nav a {
	display: block;
	font-size: 1em;
	font-weight: 500;
	margin: 0 .5em;
	padding: .25em;
	color: #efefeb;
	letter-spacing: .06em;
}
/* footer
-------------------------- */
footer {
	background: #5e4399;
}
body#home footer {
	margin: 60px 0 0;
}
footer nav {
	width: 100%;
	z-index: 50;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	padding: .5em 3em;
}
footer nav a {
	display: block;
	font-size: 1em;
	font-weight: 500;
	margin: 0 .5em;
	padding: .5em;
	color: #efefeb;
	letter-spacing: .06em;
}
footer nav a:hover {
	color: #efefeb;
	opacity: .5;
}
.footer_bg {
	background: #352860;
	color: #efefeb;
	padding: 0 3em;
	margin: 0 auto;
}
.sns {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	padding: 2rem 0 1.5rem;
}
.sns li {
	list-style: none;
}
.sns li a {
	display: block;
	width: 1.5em;
	height: 1.5em;
	margin: 0 1em;
}
.sns li:nth-of-type(1) a {
	background: url('../_img/sns_line.svg') no-repeat center;
	background-size: contain;
	display: none;
}
.sns li:nth-of-type(2) a {
	background: url('../_img/sns_twitter.svg') no-repeat center;
	background-size: contain;
}
.sns li:nth-of-type(3) a {
	background: url('../_img/sns_facebook.svg') no-repeat center;
	background-size: contain;
}
.sns li:nth-of-type(4) a {
	background: url('../_img/sns_instagram.svg') no-repeat center;
	background-size: contain;
}
.sns li:last-of-type a {
	background: url('../_img/aff.png') no-repeat center;
	background-size: contain;
	width: 2.5em !important;
	pointer-events: none;
}
.sns li a:hover {
	opacity: .5;
}
footer a.org {
	width: 3rem;
	margin: 0 auto;
	display: block;
}
footer .copyright {
	font-size: .6em;
	text-align: center;
	letter-spacing: .04em;
	padding: 1.5rem 0 1rem;
	margin: 0 auto;
}
/* tickets
-------------------------- */
#tickets h3 {
	width: 100%;
	max-width: 980px;
	font-size: 2em;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: .04em;
	margin: 3em auto 1em;
	padding: .375em 0;
	animation: flicker .5s infinite alternate;
}
@keyframes flicker {
	0%, 22%, 53%, 100% {
		text-shadow:
			0 0 .25em #efefeb,
			0 0 .5em #efefeb,
			0 0 .625em #ff00de,
			0 0 .75em #ff00de,
			0 0 1em #ff00de;
	}
	20%, 24%, 55% {
		text-shadow: 0 0 .125em #efefeb;
	}
}
/* artists
-------------------------- */
#loading {
	font-size: 1em;
	text-align: center;
	min-height: 60vh;
	margin: 5em;
}
.loader {
	width: 5em;
	height: 5em;
	margin: .5em auto;
}
.loader>div {
	background: #fff;
	height: 100%;
	width: .25em;
	display: inline-block;
	animation: stretchdelay 1.2s infinite ease-in-out;
}
.loader>div:nth-of-type(2) {
	animation-delay: -1.1s;
}
.loader>div:nth-of-type(3) {
	animation-delay: -1.0s;
}
.loader>div:nth-of-type(4) {
	animation-delay: -.9s;
}
.loader>div:nth-of-type(5) {
	animation-delay: -.8s;
}
@keyframes stretchdelay {
	0%, 40%, 100% {
		transform: scaleY(.4);
	}
	20% {
		transform: scaleY(1.0);
	}
}
#artists section {
	display: none;
}
#artists section:first-of-type {
	padding: 4.5em 3em 2em;
}
#artists section {
	padding: 2em 3em;
}
#artists h3 img {
	width: 100%;
	max-width: 480px;
	margin: 0 auto;
}
#artists07 div,
#artists08 div {
	padding: 1em;
	border: 1px solid #fff;
	box-shadow:
		0 0 .125em #efefeb,
		inset 0 0 .125em #efefeb,
		0 0 .375em #ff00de,
		inset 0 0 .375em #ff00de
}
#artists07 h3,
#artists08 h3 {
	font-size: 1.5em;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: .1em;
	text-shadow:
		0 0 .125em #efefeb,
		0 0 .25em #efefeb,
		0 0 .5em #ff00de,
		0 0 .625em #ff00de;
}
#artists07 ul,
#artists08 ul {
	margin: 1em 0 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
#artists07 ul li,
#artists08 ul li {
	display: block;
	margin: .5em 1em;
	min-width: 8em;
	font-size: .875em;
	font-weight: 500;
}
#artists08 ul li a {
	color: #fff;
	text-decoration: underline;
}
#artists08 ul li a:hover {
	color: #df6e2c;
	text-decoration: none;
}
#artists .block_group {
	display: flex;
	flex-wrap: wrap;
	margin: 1.5em 0;
}
#artists .block_group .mdl_btn {
	width: calc(25% - 1.5em);
	display: block;
	margin: 1em .75em;
	text-decoration: none;
	color: #efefeb;
	text-align: left;
	line-height: 1.4;
	cursor: pointer;
	transition: .3s ease-in-out;
}
#artists .block_group .mdl_btn.no_mdl {
	cursor: default;
}
#artists .block_group .mdl_btn:hover:not(.no_mdl) {
	filter: brightness(140%);
}
#artists .block_group .mdl_btn img {
	z-index: 20;
}
#artists .block_group .mdl_btn .card {
	padding: .5em 1em;
	margin-top: -.75em;
	text-align: center;
}
#artists .block_group .mdl_btn .card h5 {
	display: inline-block;
	min-width: 10em;
	font-size: .8em;
	font-weight: 500;
	text-align: center;
	border-top: 2px solid #efefeb;
	border-bottom: 2px solid #efefeb;
	padding: .5em;
	text-shadow: 0 0 2px #06050a;
	position: relative;
	z-index: 30;
}
#artists .block_group .mdl_btn .card h5 span {
	display: inline-block;
	font-size: 75%;
	margin-left: .5em;
	font-weight: 400;
}
/* sideModal - common
-------------------------------- */
.mdl_overlay {
	background: rgba(0, 0, 0, .4);
	display: flex;
	align-items: stretch;
	justify-content: flex-end;
	opacity: 0;
	pointer-events: none;
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	transition: opacity .2s linear;
	z-index: 99;
}
.modal.is_open .mdl_overlay {
	opacity: 1;
	pointer-events: auto;
}
.mdl_contents {
	background: #5e4399;
	width: 500px;
	min-height: 100vh;
	overflow-y: scroll;
	will-change: transform;
	transform: translateX(500px);
	transition: transform .75s ease;
	z-index: 100;
}
.modal.is_open .mdl_contents {
	will-change: transform;
	transform: translateX(0);
}
.mdl_inner {
	height: auto;
	padding: 4.5em 3em 3.5em;
}
.mdl_xmark {
	position: absolute;
	top: 30px;
	right: 30px;
	width: 30px;
	height: 22px;
	z-index: 100;
	cursor: pointer;
}
.mdl_xmark span {
	position: absolute;
	left: 0;
	width: 100%;
	height: 2px;
	background: #efefeb;
}
.mdl_xmark span:nth-of-type(1) {
	top: 0;
	will-change: transform;
	transform: translateY(10px) rotate(-45deg);
}
.mdl_xmark span:nth-of-type(2) {
	bottom: 0;
	will-change: transform;
	transform: translateY(-10px) rotate(45deg);
}
/* ----------------------------- */
#artists .mdl_inner .card {
	margin: 1.5em 0 0;
	text-align: left;
	line-height: 2;
}
#artists .mdl_inner h5 {
	font-size: 1em;
	font-weight: 500;
	line-height: 1.8;
	padding: .5em 0;
	margin: 0 0 1.5em;
	border-top: 2px solid #efefeb;
	border-bottom: 2px solid #efefeb;
	position: relative;
}
#artists .mdl_inner h5 span {
	display: block;
	font-size: 65%;
	font-weight: 400;
}
#artists .mdl_inner h5 span.sub {
	display: inline-block;
	margin-left: 1em;
}
#artists .mdl_inner h6 {
	font-size: .75em;
	font-weight: 500;
}
#artists .mdl_inner p {
	font-size: .75em;
	margin: 0 auto 1.5em;
}
#artists .mdl_inner p:last-of-type {
	margin: 0 auto;
}
#artists .mdl_inner p.link {
	font-size: .65em;
	margin: 0 auto .5em;
}
#artists .mdl_inner p.link a:before {
	content: '* ';
}
#artists .mdl_inner a {
	color: #ffff00;
}
#artists .mdl_inner a:hover {
	color: #352860;
}
/* timetable
-------------------------- */
#timetable table {
	width: 100%;
	font-size: .75em;
	line-height: 1.25;
}
#timetable table th,
#timetable table td {
	vertical-align: top;
	border-right: 1px solid #df6e2c;
	border-bottom: 1px solid #df6e2c;
}
#timetable table tr:first-of-type th:last-of-type,
#timetable table td:last-of-type {
	border-right: none;
}
#timetable table tr:last-of-type th,
#timetable table tr:last-of-type td {
	border-bottom: none;
}
#timetable table th {
	padding: .25em;
	font-weight: 400;
}
#timetable table th.time {
	height: 10em;
}
#timetable table td {
	padding: .25em;
}
/* style ------------------------ */
.t_center {
	text-align: center !important;
}
.t_left {
	text-align: left !important;
}
.t_right {
	text-align: right !important;
}
.f_bold {
	font-weight: bold;
}
.dsp_block {
	display: block;
}