.pc-block,
.over1000 {
	display:block;
}
.sp-block,
.under1000,
.under500 {
	display:none;
}
* {
	box-sizing:border-box;
	text-align:center;
}
body {
	padding:0 83px;
	position:relative;
}
body::before,
body::after {
	content:"";
	display:block;
	width:83px;
	height:100%;
	background-image:url('./img/band_rp.png');
	background-position:center;
	background-repeat:repeat-y;
	background-size:contain;
	position:absolute;
	top:0;
	z-index:100;
}
body::before {
	left:0;
}
body::after {
	right:0;
	transform:rotate(180deg);
}
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
	font-family: "Noto Sans JP", sans-serif;
}
img {
	width:100%;
	margin-right:auto;
	margin-left:auto;
}
.section,
footer {
  width:100%;
	padding:120px 0 130px;
	background-position:center;
	background-repeat:no-repeat;
	background-size:cover;
	position:relative;
	overflow:hidden;
}
.section::before {
	content:"";
	display:block;
	width:100%;
	height:100%;
	background-position:center;
	background-repeat:no-repeat;
	background-size:cover;
	position:absolute;
	top:0;
	left:0;
	z-index:1;
}
.section.bg_net::after {
	content:"";
	display:block;
	width:100%;
	height:100%;
	background-image:url('./img/bg_net_rp.png');
	background-position:center;
	background-repeat:repeat;
	background-size:50px 59px;
	position:absolute;
	top:0;
	left:0;
	z-index:30;
}
/* .section:last-of-type {
	padding-bottom:140px;
} */
.bg_silhouette {
	position:absolute;
}
.container {
  width:100%;
  max-width:1080px;
  padding:0 60px;
  margin:0 auto;
	position:relative;
	z-index:50;
}
.flex-container {
  display:flex;
  flex-wrap:wrap;
	justify-content:center;
	align-items:center;
	gap:20px;
}
.flex-container .flex-item {
	width:calc( 50% - 10px );
}
.inline-block {
  display:inline-block;
}
a, a:hover {
	transition:0.3s;
}
a:hover {
	opacity:0.5;
}
.no-link {
	pointer-events: none;
}
.btn {
	display:block;
	width:100%;
	margin:0 auto;
}
.section .section-title {
	margin-bottom:60px;
}

header {
	position:absolute;
	width:100%;
	top:0;
	left:0;
	z-index:1000;
}
header .container {
	width:100%;
	max-width:1366px;
	padding:37px 120px;
	margin:0 auto;
}
header .container .logo {
	display:block;
	width:120px;
}

.section-keyvisual {
	width:100%;
	max-width:1200px;
	margin: 0 auto;
	overflow:hidden;
}
.section-keyvisual .container {
	max-width:1200px;
	padding:0;
}
.section-keyvisual .container .page-title {
	width:calc( 100% * 730 / 1200 );
	position:absolute;
	top:calc( 100% * 72 / 1200 );
	left:50%;
	transform:translateX(-50%);
}
.section-keyvisual .text-area > img {
	width:calc( 100% * 1254 / 1200 );
	margin:0 calc( 50% * -54 / 1200 );
}
.section.section01 {
	padding-top:calc( 100% * 1138 / 1200 + 70px );
	margin-top:calc( -100% * 1138 / 1200 );
	background-image:url('./img/bg_se01.png');
}
@media screen and (min-width:1366px) {
	.section.section01 {
		padding-top:1208px;
		margin-top:-1138px;
	}
}
.section01 .silhouette_l {
	width:calc( 100% * 356 / 1200 );
	max-width:356px;
	bottom:0;
	left:0;
}
.section01 .silhouette_r {
	width:calc( 100% * 387 / 1200 );
	max-width:387px;
	bottom:0;
	right:0;
	width:calc( 100% * 648 / 1200 );
	max-width:648px;
}
.section01 p > img {
	max-width:860px;
}
.section01 p span {
	display:block;
	width:fit-content;
	margin:24px auto 0;
}
.section01 p span img {
	max-width:500px;
	margin:-1% 0 -3%;
}
.section01 .btn_theater {
	max-width:540px;
	margin-top:67px;
}
.section01 .btn_theater img {
	width:calc( 100% * 577 / 540 );
	margin:calc( -50% * 37 / 540 );
}
.section01 .yt-area {
	width:100%;
	max-width:800px;
	aspect-ratio:16 / 9;
	margin:calc( 100% * 90 / 800 ) auto 0;
}
.section01 .yt-area iframe {
	width:100%;
	height:100%;
	object-fit:contain;
}
.section02 {
	padding-top:100px;
	background-image:url('./img/bg_se02_image.png');
	background-position:top center;
}
.section02::before {
	background-image:url('./img/bg_se02_bg.png');
	/* mix-blend-mode:plus-lighter; */
	background-image:url('./img/bg_se02_bg_repeat.png');
	background-size: contain;
  background-repeat: repeat-x;
	z-index:-1;
}
.section02 .section-title {
	width:100%;
	max-width:550px;
	margin-left:auto;
	margin-right:auto;
	position:relative;
}
.section02 .section-title .title_sub {
	width:calc( 100% * 238 / 1100 );
	position:absolute;
	bottom:0;
	right:6%;
}
.section02 p {
	color:#fff;
	font-size:20px;
	font-weight:700;
	letter-spacing:0;
	line-height:42px;
	margin:0 -1em;
}
.section02 p {
	color:#fff;
	font-size:20px;
	font-weight:700;
	letter-spacing:0;
	line-height:42px;
	margin:0 -1em;
}
.section02 p > img {
	max-width:823px;
	margin-top:30px;
}
.section02 .info-table {
	padding:50px 0 70px;
	margin-top:100px;
	position:relative;
}
.section02 .info-table::before,
.section02 .info-table::after {
	content:"";
	display:block;
	width:100%;
	height:10px;
	background-image:url('./img/hr_white_pc.png');
	background-repeat:no-repeat;
	background-size:contain;
	position:absolute;
	left:0;
}
.section02 .info-table::before {
	background-position:top center;
	top:0;
}
.section02 .info-table::after {
	background-position:bottom center;
	bottom:0;
	transform:rotate(180deg);
}
.section02 .info-table .table-title {
	width:100%;
	max-width:188px;
	margin:0 auto;
}
.section02 .info-table table {
	width:100%;
	margin-top:40px;
}
.section02 .info-table table th {
	color:#fff;
	font-size:30px;
	font-weight:600;
	letter-spacing:0;
	line-height:46px;
	width:130px;
}
.section02 .info-table table td {
	color:#fff;
	font-size:30px;
	font-weight:600;
	letter-spacing:0;
	line-height:46px;
	text-align:left;
	width:calc( 100% - 130px );
	padding-left:30px;
}
.section02 .info-table table td .th02 {
	letter-spacing:0.5em;
	display:block;
	width:calc( 100% + 0.5em );
	margin-right:-0.5em;
}
.section02 .info-table table td .td01 {
	font-size:25px;
	letter-spacing:-1.5px;
}
.section02 .info-table table td .td03 {
	text-align:left;
	display:inline-block;
	transform:scale(0.8,1);
	margin:0 -12.5%;
}
.section03 {
	background-image:url('./img/bg_se03.png');
}
.section03 .silhouette_l {
	width:calc( 100% * 947 / 1200 );
	max-width:947px;
	bottom:0;
	left:0;
}
.section03 .silhouette_r {
	width:calc( 100% * 288 / 1200 );
	max-width:288px;
	top:0;
	right:0;
}
.section03 .container img {
	width:calc( 100% * 1020 / 960 );
	margin:calc( -50% * 60 / 960 );
}
.section04 {
	background-image:url('./img/bg_se04.png');
}
.section04 .silhouette_l {
	width:calc( 100% * 302 / 1200 );
	max-width:302px;
	bottom:0;
	left:0;
	mix-blend-mode:soft-light;
	opacity:0.75;
}
.section04 .silhouette_r {
	width:calc( 100% * 337 / 1200 );
	max-width:337px;
	bottom:0;
	right:0;
	mix-blend-mode:soft-light;
	opacity:0.75;
}
.section04 .section-title {
	margin-bottom:38px;
}
.section04 .section-title img {
	max-width:364px;
}
.section04 p > img {
	max-width:650px;
}
.section04 .flex-container {
	margin-top:45px;
	gap:20px;
}
.section04 .flex-container .flex-item {
	position:relative;
}
.section04 .flex-container .flex-item::before,
.section04 .flex-container .flex-item::after {
	content:"";
	display:block;
	width:60%;
	height:100%;
	background-image:url('./img/ticket_flame.png');
	background-position:center left;
	background-repeat:no-repeat;
	background-size:cover;
	position:absolute;
	top:0;
	z-index:-1;
}
.section04 .flex-container .flex-item::before {
	background-position:center left;
	left:0;
}
.section04 .flex-container .flex-item::after {
	background-position:center right;
	right:0;
}
.section04 .ticket-type {
	width:100%;
	height:63px;
	padding:16px;
}
.section04 .ticket-price {
	width:100%;
	height:132px;
	padding:24px;
}
/* .section04 .ticket_general .ticket-price {
	padding-bottom:24px;
} */
.section04 .ticket-type img,
.section04 .ticket-price img {
	width:100%;
	height:100%;
	object-fit:contain;
}
.section04 p.annotation img {
	max-width:112px;
	margin-top:20px;
	margin-bottom:36px;
	/* margin-bottom:66px; */
}
.section04 .ticket-area #mvtk-widgets-container {
	margin:0 auto;
}
.section04 .btn_ticket {
	max-width:400px;
	cursor:pointer;
}
.section04 .btn_ticket img {
	width:calc( 100% * 437 / 400 );
	margin:calc( -50% * 37 / 400 );
}
.section04 .btn_theater {
	max-width:540px;
	margin-top:50px;
}
.section04 .btn_theater img {
	width:calc( 100% * 577 / 540 );
	margin:calc( -50% * 37 / 540 );
}
.modal-area {
	width:100%;
	height:100dvh;
	padding:30px;
	background-color:rgba(0,0,0,0.75);
	position:fixed;
	top:0;
	left:0;
	z-index:1000;
	/* display:none; */
	opacity:0;
	z-index:-1000;
}
.modal-area.opened {
	/* animation:fadeIn 0.5s cubic-bezier(0.33, 1, 0.68, 1) forwards; */
	animation:fadeIn 0.6s linear forwards;
}
@keyframes fadeIn {
	0% { opacity: 0; z-index:-1000; }
	1% { opacity: 0; z-index:1000; }
	100% { opacity: 1; z-index:1000; }
}
.modal-area.closed {
	/* animation:fadeOut 0.5s cubic-bezier(0.33, 1, 0.68, 1) forwards; */
	animation:fadeOut 0.6s linear forwards;
}
@keyframes fadeOut {
	0% { opacity: 1; z-index:1000; }
	99% { opacity: 0; z-index:1000; }
	100% { opacity: 0; z-index:-1000; }
}
.modal-area .modal-close {
	width:50px;
	height:50px;
	position:absolute;
	top:30px;
	right:30px;
	cursor:pointer;
}
.modal-area .modal-close::before,
.modal-area .modal-close::after {
	content:"";
	display:block;
	width:100%;
	height:2px;
	background-color:#fff;
	border-radius:1px;
	position:absolute;
	top:50%;
	left:50%;
}
.modal-area .modal-close::before {
	transform:translate(-50%,-50%) rotate(45deg);
}
.modal-area .modal-close::after {
	transform:translate(-50%,-50%) rotate(-45deg);
}
.modal-area #mvtk-widgets-container {
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
}
footer {
	padding:70px 0 80px;
	background-image:url('./img/bg_footer.png');
}
footer .silhouette_r {
	width:calc( 100% * 302 / 1200 );
	max-width:302px;
	top:0;
	right:0;
}
footer .logo {
	display:block;
	width:100%;
	max-width:320px;
	margin:0 auto;
}
footer .flex-container {
	margin:45px auto 54px;
}
footer .btn img {
	width:calc( 100% * 530 / 470 );
	margin:calc( 100% * -24 / 470 ) calc( 100% * -30 / 470 );
}
footer .btn.btn_anime img {
	margin:calc( 100% * -30 / 470 ) calc( 100% * -30 / 470 );
}
/* footer .footer-bottom a {
	display:block;
	width:120px;
	margin:0 auto 26px;
} */
footer .footer-bottom small {
	color: #fff;
  font-family:"Noto Sans JP", sans-serif;
  font-style: normal;
  font-size: 18px;
  letter-spacing:0;
  line-height: 1;
}

@media screen and (max-width:1000px) {
	.over1000 {
		display:none;
	}
	.under1000 {
		display:block;
	}
	body {
		padding:0 56px;
	}
	body::before,
	body::after {
		width:56px;
	}
	.section,
	footer {
		padding:80px 0 86px;
	}
	.section.bg_net::after {
		background-size:34px 40px;
	}
	/* .section:last-of-type {
		padding-bottom:94px;
	} */
	.container {
		padding:0 40px;
	}
	header .container {
    padding: 24px 80px;
	}
	.section01 p > img {
		max-width:389px;
		max-width:584px;
	}
	.section02 {
		padding-top:75px;
	}
	.section04 .ticket-price img {
    width: 200px;
	}
	footer .flex-container .flex-item {
		width:100%;
		max-width:530px;
	}
}
@media screen and (max-width:750px) {
	.pc-block {
		display:none;
	}
	.sp-block {
		display:block;
	}
	body {
		padding:0;
	}
	body::before,
	body::after,
	.bg_silhouette {
		display:none;
	}
	.section04 .bg_silhouette {
		display:block;
	}
	.flex-container {
		gap:16px 10px;
	}
	.section {
		padding:60px 0 70px;
	}
	.section.bg_net::after {
		background-size:34px 40px;
	}
	/* .section:last-of-type {
		padding-bottom:70px;
	} */
	.container {
		padding:0 30px;
	}
	header .container {
    padding: 20px 16px;
	}
	.section .section-title {
		margin-bottom:34px;
	}
	header .container .logo {
		width:74px;
	}
	.section-keyvisual .container {
		padding:0;
	}
	.section-keyvisual .container .page-title {
		width:calc( 100% * 310 / 430 );
		top:calc( 100% * 40 / 650 );
	}
	.section-keyvisual .text-area > img {
		width:calc( 100% * 980 / 860 );
		margin:0 calc( 50% * -60 / 430 );
	}
	.section.section01 {
		padding-top:calc( 100% * 600 / 430 + 52px );
		margin-top:calc( -100% * 600 / 430 - 52px );
		background-image:url('./img/bg_se01_sp.png');
	}
	.section01 p > img {
		width:calc( 100% * 778 / 740 );
		max-width:778px;
		margin:-2% calc( -50% * 19 / 430 ) -5%;
	}
	.section01 p span {
		margin-top: calc( 100% * 19 / 370 );
	}
	.section01 .btn_theater {
		max-width:510px;
		margin-top:48px;
	}
	.section01 .yt-area {
		margin:calc( 100% * 62 / 370 ) auto 0;
	}
	.section02 {
		padding-top:50px;
		background-image:url('./img/bg_se02_image_sp.png');
	}
	.section02 .section-title {
		max-width:310px;
	}
	.section02 p {
		font-size:16px;
		line-height:28px;
		margin:0 auto;
	}
	.section02 p > img {
		width:calc( 100% * 331 / 370 );
		min-width:260px;
		max-width:400px;
		margin-top:20px;
	}
	.section02 .info-table {
		width:100%;
		max-width:370px;
		padding:30px 0 40px;
		margin:50px auto 0;
	}
	.section02 .info-table::before,
	.section02 .info-table::after {
		background-image:url('./img/hr_white_sp.png');
	}
	.section02 .info-table .table-title {
		max-width:118px;
	}
	.section02 .info-table table {
		margin-top:30px;
	}
	.section02 .info-table table tr {
		display:flex;
		flex-direction:column;
	}
	.section02 .info-table table tr + tr {
		margin-top:30px;
	}
	.section02 .info-table table th {
		font-size:20px;
		line-height:1;
		width:100%;
		margin-bottom:8px;
	}
	.section02 .info-table table td {
		font-size:18px;
		line-height:26px;
		text-align:center;
		width:100%;
		padding-left:0;
	}
	.section02 .info-table table td .th02 {
		letter-spacing:0;
		display:block;
		width:100%;
		margin-right:0;
	}
	.section02 .info-table table td .td01 {
		font-size:inherit;
		letter-spacing:inherit;
	}
	.section02 .info-table table td .td03 {
		display:inline;
		transform:none;
		margin:0;
	}
	.section03 {
		background-image:url('./img/bg_se03_sp.png');
	}
	.section03 .container {
		padding:0 16px;
	}
	.section03 .container img {
		width:calc( 100% * 458 / 398 );
		margin:calc( -50% * 60 / 398 );
	}
	/* .section04 {
		background-image:url('./img/bg_se04_sp.png');
	} */
	.section04 .section-title {
		margin-bottom:20px;
	}
	.section04 .section-title img {
		width:calc( 100% * 207 / 370 );
	}
	.section04 p > img {
		width:calc( 100% * 324 / 370 );
	}
	.section04 .flex-container {
		margin-top:20px;
		gap:10px;
	}
	.section04 .flex-container .flex-item {
		width:calc( 50% - 5px );
		max-width:250px;
	}
	.section04 .flex-container .flex-item::before,
	.section04 .flex-container .flex-item::after {
		background-image:url('./img/ticket_flame_sp.png');
	}
	.section04 .ticket-type {
		height:37px;
		padding:11px;
	}
	.section04 .ticket-price {
		height:63px;
		padding:11px;
	}
	.section04 .ticket-price img {
    width: 100%;
	}
	.section04 p.annotation img {
		max-width:84px;
		margin-top:18px;
		margin-bottom:25px;
	}
	.section04 .btn_ticket {
		width:calc( 100% * 280 / 370 );
		max-width:350px;
		min-width:260px;
	}
	.section04 .btn_theater {
		max-width:510px;
		margin-top:28px;
	}
	.modal-area {
		padding:15px;
	}
	.modal-area .modal-close {
		width:30px;
		height:30px;
		top:15px;
		right:15px;
	}
	footer {
		padding:60px 0 75px;
		background-image:url('./img/bg_footer_sp.png');
	}
	footer .logo {
		max-width:280px;
	}
	footer .flex-container {
		margin:50px auto 58px;
	}
}
@media screen and (max-width:500px) {
	.under500 {
		display:block;
	}
}
@media screen and (max-width:430px) {
	.section02 p {
		font-size:calc( 15px + ( 100vw - 430px ) / 110 * 4 );
		line-height:calc( 28em / 15 );
	}
	.section02 .info-table table th {
		font-size:calc( 20px + ( 100vw - 430px ) / 110 * 4 );
	}
	.section02 .info-table table td {
		font-size:calc( 18px + ( 100vw - 430px ) / 110 * 5 );
		line-height:calc( 26em / 18);
	}
}