@charset "UTF-8";
/*
  works / 仙人草の凱歌
*/
/* magnific-popup
----------------------------------------*/
/**
 * Simple fade transition,
 */
.mfp-fade.mfp-bg {
	opacity: 0;
	-webkit-transition: all 0.3s ease-out;
	-moz-transition: all 0.3s ease-out;
	transition: all 0.3s ease-out; }

.mfp-fade.mfp-bg.mfp-ready {
	opacity: 0.7; }

.mfp-fade.mfp-bg.mfp-removing {
	opacity: 0; }

.mfp-fade.mfp-wrap .mfp-content {
	opacity: 0;
	-webkit-transition: all 0.3s ease-out;
	-moz-transition: all 0.3s ease-out;
	transition: all 0.3s ease-out; }

.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
	opacity: 1; }

.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
	opacity: 0; }

.mfp-container {
	padding: 0; }
	.mfp-container .mfp-content .mfp-iframe-holder .mfp-close,
	.mfp-container .mfp-content button.mfp-close {
		opacity: 1;
		font-size: 0;
		width: 44px;
		height: 44px;
		top: -64px;
		opacity: 1;
		transition: opacity 0.3s ease-out; }
		.mfp-container .mfp-content .mfp-iframe-holder .mfp-close:before, .mfp-container .mfp-content .mfp-iframe-holder .mfp-close:after,
		.mfp-container .mfp-content button.mfp-close:before,
		.mfp-container .mfp-content button.mfp-close:after {
			content: '';
			position: absolute;
			left: -21%;
			top: 50%;
			width: 63px;
			height: 2px;
			background-color: #FFF; }
		.mfp-container .mfp-content .mfp-iframe-holder .mfp-close:before,
		.mfp-container .mfp-content button.mfp-close:before {
			-webkit-transform: rotateZ(-45deg);
			transform: rotateZ(-45deg); }
		.mfp-container .mfp-content .mfp-iframe-holder .mfp-close:after,
		.mfp-container .mfp-content button.mfp-close:after {
			-webkit-transform: rotateZ(45deg);
			transform: rotateZ(45deg); }
		.mfp-container .mfp-content .mfp-iframe-holder .mfp-close:hover,
		.mfp-container .mfp-content button.mfp-close:hover {
			opacity: 0.5; }
		@media screen and (max-width: 750px) {
			.mfp-container .mfp-content .mfp-iframe-holder .mfp-close,
			.mfp-container .mfp-content button.mfp-close {
				width: 6.66667vw;
				height: 6.66667vw;
				top: 4vw;
				right: 4vw;
				background-color: transparent; }
				.mfp-container .mfp-content .mfp-iframe-holder .mfp-close:before, .mfp-container .mfp-content .mfp-iframe-holder .mfp-close:after,
				.mfp-container .mfp-content button.mfp-close:before,
				.mfp-container .mfp-content button.mfp-close:after {
					content: '';
					position: absolute;
					left: -21%;
					top: 50%;
					width: 10vw;
					height: 2px;
					background-color: #FFF; }
				.mfp-container .mfp-content .mfp-iframe-holder .mfp-close:before,
				.mfp-container .mfp-content button.mfp-close:before {
					-webkit-transform: rotateZ(-45deg);
					transform: rotateZ(-45deg); }
				.mfp-container .mfp-content .mfp-iframe-holder .mfp-close:after,
				.mfp-container .mfp-content button.mfp-close:after {
					-webkit-transform: rotateZ(45deg);
					transform: rotateZ(45deg); } }
	@media screen and (max-width: 750px) {
		.mfp-container .mfp-content .movie-modal button.mfp-close {
			top: -10.66667vw;
			right: 1.33333vw; } }
	.mfp-container .mfp-content .movie-modal button.mfp-close:before, .mfp-container .mfp-content .movie-modal button.mfp-close:after {
		background-color: #FFF; }

@media screen and (max-width: 750px) {
	.movie-mfp .mfp-content {
		width: 92vw; } }

.mfp-iframe-holder .mfp-close,
.mfp-image-holder .mfp-close {
	right: 0; }

@keyframes wave-text {
	0% {
		opacity: 0;
		transform: translateY(0em); }
	50% {
		opacity: 0.5;
		transform: translateY(0.2em); }
	100% {
		opacity: 1;
		transform: translateY(0em); } }

@keyframes rotate-text {
	0% {
		opacity: 0;
		transform: rotateY(-180deg); }
	100% {
		opacity: 1;
		transform: rotateY(0deg); } }

@keyframes head-icon-move {
	0% {
		opacity: 0;
		transform: scale(1.5);
		transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); }
	99.9% {
		opacity: 1;
		transform: scale(0.9); }
	100% {
		opacity: 1;
		transform: scale(1); } }

body {
	background-color: #000;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	-webkit-touch-callout: none;
	color: #000; }

.fixed-background {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100vh;
	background-color: #61b9e9; }
	.fixed-background::after {
		content: "";
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		background-image: url("../img/bg.svg");
		background-repeat: no-repeat;
		background-size: cover;
		background-position: center;
		opacity: 0.4; }

.content,
.mfp-content {
	font-family: "Noto Sans JP", system-ui;
	font-optical-sizing: auto;
	font-style: normal;
	font-weight: 500;
	font-size: 16px; }

.content {
	position: relative;
	visibility: hidden; }
	body.ready .content {
		visibility: visible; }
	@media screen and (max-width: 750px) {
		.content {
			font-size: 12px;
			font-size: 3.75vw;
			overflow: hidden; } }
	.content a {
		color: inherit;
		text-decoration: underline; }
		.content a:hover {
			color: inherit;
			text-decoration: none; }

h1,
h2,
h3,
h4,
h5,
h6,
button,
tr,
th,
td,
caption {
	font-weight: inherit; }

.section {
	position: relative; }
	.section:not(.sec-share):not(.sec-votes) {
		min-height: 70vh; }
	@media screen and (min-width: 751px) {
		.section {
			padding: 30px 30px 50px; } }
	@media screen and (max-width: 750px) {
		.section {
			padding: 4vw 4vw 6.66667vw; } }
	.section:first-of-type {
		margin-top: 0; }
	.section:last-of-type {
		margin-bottom: 0; }
	@media screen and (min-width: 751px) {
		.section + .section {
			margin-top: 100px; } }
	@media screen and (max-width: 750px) {
		.section + .section {
			margin-top: 13.33333vw; } }

.section-inner {
	position: relative; }
	@media screen and (min-width: 751px) and (max-width: 1200px) {
		.section-inner {
			max-width: 1000px;
			margin-left: auto;
			margin-right: auto; } }

/* reservation-btn
----------------------------------------*/
.reservation-btn {
	position: fixed;
	right: 20px;
	bottom: 20px;
	width: 120px;
	height: 120px;
	pointer-events: none;
	opacity: 0;
	transform: translateY(20px);
	transition: 0.8s cubic-bezier(0.215, 0.61, 0.355, 1) !important;
	text-decoration: none !important;
	cursor: pointer;
	z-index: 200;
	border-radius: 50%;
	overflow: hidden;
	box-shadow: 0 4px 15px 0 rgba(0, 0, 0, 0.75);
	background-color: #000; }
	@media (hover: hover) and (pointer: fine) {
		.reservation-btn {
			background-color: #fff; } }
	.reservation-btn > div {
		position: relative;
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		height: 100%;
		color: #fff;
		text-align: center;
		font-size: 18px;
		font-weight: bold;
		line-height: 1.5em;
		background-size: 100% 100%;
		background-image: linear-gradient(to bottom, #63443b, black);
		transition: opacity 0.3s cubic-bezier(0.215, 0.61, 0.355, 1); }
		@media screen and (max-width: 750px) {
			.reservation-btn > div {
				font-size: 10px;
				font-size: 3.125vw;
				line-height: 1.3em; } }
	@media screen and (min-width: 751px) and (max-width: 1200px) {
		.reservation-btn {
			bottom: 160px; } }
	@media screen and (max-width: 750px) {
		.reservation-btn {
			right: 2.69333vw;
			bottom: 21.33333vw;
			width: 18.66667vw;
			height: 18.66667vw; } }
	@media (hover: hover) and (pointer: fine) {
		.reservation-btn:hover.active > div {
			opacity: 0.9; } }
	.reservation-btn.active {
		opacity: 1;
		transform: translate(0, 0);
		transition-delay: 0s;
		pointer-events: all; }

@keyframes wave-text {
	0% {
		opacity: 0; }
	100% {
		opacity: 1; } }

.btn-wrapper {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center; }
	.btn-wrapper p {
		text-align: center;
		text-indent: 0; }
		@media screen and (max-width: 750px) {
			.btn-wrapper p {
				font-size: 12px;
				font-size: 3.75vw; } }

.apply-btn {
	position: relative;
	display: block;
	text-indent: 1em;
	margin-top: 2em;
	line-height: 1.5em;
	padding: 10px 20px 10px 10px;
	text-decoration: none !important;
	color: #fff !important;
	width: 250px;
	border-radius: 5px;
	text-align: center;
	font-family: inherit;
	background-size: 100% 100%;
	border-radius: 9999px;
	background-color: #fff;
	box-shadow: 0 4px 15px 0 rgba(0, 0, 0, 0.75);
	overflow: hidden; }
	.apply-btn.hovereffect {
		opacity: 0.8; }
	.apply-btn::before {
		content: "";
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		background-image: linear-gradient(to bottom, #63443b, black);
		transition: opacity 0.3s cubic-bezier(0.215, 0.61, 0.355, 1); }
	.apply-btn:after {
		display: block;
		content: "";
		position: absolute;
		top: 50%;
		width: 6px;
		height: 6px;
		border-right: 2px solid #fff;
		border-bottom: 2px solid #fff;
		-webkit-transform: translateY(-50%) rotate(-45deg);
		transform: translateY(-50%) rotate(-45deg); }
	.apply-btn span {
		position: relative; }
	@media (hover: hover) and (pointer: fine) {
		.apply-btn:hover::before {
			opacity: 0.9; } }
	@media screen and (max-width: 750px) {
		.apply-btn {
			width: 66.66667%;
			font-size: 12px;
			font-size: 3.75vw;
			padding: 0.75em 1em 0.75em 0.5em;
			margin-left: auto;
			margin-right: auto; } }
	.apply-btn.disabled {
		pointer-events: none;
		opacity: 0.3; }

@media screen and (min-width: 1201px) {
	.l-bg-container {
		height: 100vh;
		height: calc(var(--vh, 1vh) * 100);
		position: fixed;
		width: 100%;
		top: 0; } }

@media screen and (max-width: 1200px) {
	.l-bg-container {
		position: relative;
		min-height: 100vh;
		min-height: calc(var(--vh, 1vh) * 100); } }

.l-bg-container__inner {
	height: 100%; }
	@media screen and (min-width: 1201px) {
		.l-bg-container__inner {
			position: relative;
			max-width: 1500px;
			margin-left: auto;
			margin-right: auto; } }

@media screen and (min-width: 1201px) {
	.l-bg-container__content {
		width: calc(100% - 600px - 150px);
		height: 100vh;
		height: calc(var(--vh, 1vh) * 100);
		display: flex;
		justify-content: center;
		align-items: center; } }

@media screen and (min-width: 751px) and (max-width: 1200px) {
	.l-bg-container__content {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		height: calc(100vh - 140px);
		height: calc(var(--vh, 1vh) * 100 - 140px);
		min-height: 106.66667vw; } }

@media screen and (max-width: 750px) {
	.l-bg-container__content {
		display: flex;
		justify-content: center;
		align-items: center;
		margin: auto;
		height: calc(100vh - ((140 / 750) * 100 * 1vw));
		height: calc(var(--vh, 1vh) * 100 - ((140 / 750) * 100 * 1vw)); } }

.l-page-container {
	position: relative; }
	@media screen and (min-width: 1201px) {
		.l-page-container {
			width: 100%;
			max-width: 1500px;
			margin-left: auto;
			margin-right: auto; } }

.l-page-container__inner {
	position: relative; }
	@media screen and (min-width: 1201px) {
		.l-page-container__inner {
			min-height: 100vh;
			width: 600px;
			margin-left: auto;
			margin-right: 150px; } }

.l-menu-container {
	position: fixed; }
	@media screen and (min-width: 1201px) {
		.l-menu-container {
			left: 0;
			top: 0;
			width: 100%; } }
	@media screen and (max-width: 1200px) {
		.l-menu-container {
			left: 0;
			bottom: 0;
			width: 100%;
			z-index: 200; } }
	@media screen and (min-width: 751px) and (max-width: 1200px) {
		.l-menu-container {
			height: 140px; } }
	@media screen and (max-width: 750px) {
		.l-menu-container {
			height: 18.66667vw; } }
	@media screen and (min-width: 1201px) {
		.l-menu-container .l-menu-container__inner {
			position: relative;
			width: 100%;
			max-width: 1500px;
			margin-left: auto;
			margin-right: auto; } }
	@media screen and (max-width: 1200px) {
		.l-menu-container .l-menu-container__inner {
			width: 100%;
			height: 100%;
			background-color: #000; } }
	@media screen and (min-width: 1201px) {
		.l-menu-container ul.l-menu-container__navi {
			position: absolute;
			display: flex;
			flex-direction: column;
			justify-content: center;
			row-gap: 1.5em;
			right: 0;
			top: 0;
			width: 150px;
			height: 100vh;
			padding-left: 1em; } }
	@media screen and (max-width: 1200px) {
		.l-menu-container ul.l-menu-container__navi {
			display: flex;
			justify-content: space-evenly;
			height: 100%; } }
	@media screen and (min-width: 751px) and (max-width: 1200px) {
		.l-menu-container ul.l-menu-container__navi {
			padding-top: 0.5em;
			padding-bottom: 0.5em; } }
	@media screen and (max-width: 750px) {
		.l-menu-container ul.l-menu-container__navi {
			padding-top: 0.25em;
			padding-bottom: 0.25em; } }
	@media screen and (max-width: 1200px) {
		.l-menu-container ul.l-menu-container__navi li {
			height: 100%;
			display: flex;
			justify-content: center;
			align-items: center;
			align-items: flex-start; } }
	.l-menu-container ul.l-menu-container__navi a {
		position: relative;
		display: block;
		box-sizing: border-box;
		text-decoration: none;
		line-height: 1.5em;
		transition: opacity 0.3s cubic-bezier(0.215, 0.61, 0.355, 1); }
		@media screen and (min-width: 1201px) {
			.l-menu-container ul.l-menu-container__navi a {
				color: #000;
				font-weight: bold;
				padding-left: 0.5em;
				padding-bottom: 0.1em; } }
		@media screen and (max-width: 1200px) {
			.l-menu-container ul.l-menu-container__navi a {
				color: #fff;
				-webkit-writing-mode: vertical-rl;
				-ms-writing-mode: tb-rl;
				writing-mode: vertical-rl;
				padding-top: 0.25em;
				padding-bottom: 0.25em;
				height: 100%; } }
		@media screen and (max-width: 750px) {
			.l-menu-container ul.l-menu-container__navi a {
				white-space: nowrap;
				font-size: 10px;
				font-size: 3.125vw; } }
		@media (hover: hover) and (pointer: fine) {
			.l-menu-container ul.l-menu-container__navi a:hover {
				opacity: 0.8; } }

@keyframes attention-move {
	0% {
		transform: translateY(0); }
	100% {
		transform: translateY(-10%); } }
		.l-menu-container ul.l-menu-container__navi a[href="#sec-stream"]::before {
			content: "";
			position: absolute;
			display: block;
			background-size: contain;
			background-repeat: no-repeat;
			opacity: 0;
			transition: opacity 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 1s;
			animation: attention-move 0.3s ease-in-out 0s infinite alternate none; }
			body.active .l-menu-container ul.l-menu-container__navi a[href="#sec-stream"]::before {
				opacity: 1; }
			@media screen and (min-width: 1201px) {
				.l-menu-container ul.l-menu-container__navi a[href="#sec-stream"]::before {
					width: 30px;
					height: 30px;
					left: -32px;
					top: 0;
					bottom: 0;
					margin: auto; } }
			@media screen and (max-width: 1200px) {
				.l-menu-container ul.l-menu-container__navi a[href="#sec-stream"]::before {
					width: 30px;
					height: 30px;
					top: -30px;
					left: 0;
					right: 0;
					margin: auto; } }
			@media screen and (max-width: 750px) {
				.l-menu-container ul.l-menu-container__navi a[href="#sec-stream"]::before {
					width: 6.66667vw;
					height: 6.66667vw;
					top: -6.66667vw;
					left: 0;
					right: 0;
					margin: auto; } }
		.l-menu-container ul.l-menu-container__navi a.current {
			pointer-events: none; }
			@media screen and (min-width: 751px) {
				.l-menu-container ul.l-menu-container__navi a.current {
					border-radius: 0;
					-webkit-clip-path: polygon(5px 0%, calc(100% - 5px) 0%, 100% 5px, 100% calc(100% - 5px), calc(100% - 5px) 100%, 5px 100%, 0% calc(100% - 5px), 0% 5px);
					clip-path: polygon(5px 0%, calc(100% - 5px) 0%, 100% 5px, 100% calc(100% - 5px), calc(100% - 5px) 100%, 5px 100%, 0% calc(100% - 5px), 0% 5px); } }
			@media screen and (min-width: 1201px) {
				.l-menu-container ul.l-menu-container__navi a.current {
					background-color: rgba(35, 24, 21, 0.3);
					color: #fff; } }
			@media screen and (max-width: 1200px) {
				.l-menu-container ul.l-menu-container__navi a.current {
					background-color: #fff;
					color: #000; } }
		@media screen and (max-width: 750px) {
			.l-menu-container ul.l-menu-container__navi a[href="#sec-preface2"] {
				font-size: 9px;
				font-size: 2.8125vw; } }
		@media screen and (max-width: 750px) {
			.l-menu-container ul.l-menu-container__navi a[href="#sec-crowd-funding"] {
				font-size: 9px;
				font-size: 2.8125vw;
				letter-spacing: -0.1em; } }

.mainvisual {
	position: relative;
	aspect-ratio: 1000 / 1415;
	filter: drop-shadow(0 0 16px rgba(35, 24, 21, 0.6));
	transform: translateZ(0);
	overflow: hidden; }
	@media screen and (min-width: 1201px) {
		.mainvisual {
			width: calc((100vh - 60px) / 1415 * 1000);
			width: calc((var(--vh, 1vh) * 100 - 60px) / 1415 * 1000);
			max-width: 90%; } }
	@media screen and (min-width: 751px) and (max-width: 1200px) {
		.mainvisual {
			width: calc((100vh - 140px - 60px) / 1415 * 1000);
			width: calc((var(--vh, 1vh) * 100 - 140px - 60px) / 1415 * 1000);
			max-width: 90%;
			min-width: 66.66667vw; } }
	@media screen and (min-width: 751px) {
		.mainvisual {
			border-radius: 5px; } }
	@media screen and (max-width: 750px) {
		.mainvisual {
			border-radius: 0.66667vw;
			width: calc((100vh - (((140 + 60) / 750) * 100 * 1vw)) / 1403 * 1000);
			width: calc( (var(--vh, 1vh) * 100 - (((140 + 60) / 750) * 100 * 1vw)) / 1403 * 1000);
			max-width: 90%; } }
	.mainvisual .mainvisual-title {
		position: absolute;
		width: 22.2%;
		right: 23.3%;
		top: 0;
		margin-top: 1.1%;
		mix-blend-mode: multiply; }
	.mainvisual .mainvisual-bg {
		position: absolute;
		left: 0;
		top: 0;
		width: 100%; }
	.mainvisual img {
		display: block;
		width: 100%;
		height: auto; }

/* section-head
----------------------------------------*/
.section-head {
	position: relative;
	opacity: 0;
	transition: opacity 0.3s cubic-bezier(0.215, 0.61, 0.355, 1); }
	@media screen and (min-width: 751px) {
		.section-head {
			height: 60px;
			margin-bottom: 50px; } }
	@media screen and (max-width: 750px) {
		.section-head {
			height: 10.66667vw;
			margin-bottom: 6.66667vw; } }
	.section-head div {
		height: 100%; }
	.section-head img {
		height: 100%;
		width: auto; }
	.section-head.appeared {
		transition: none;
		opacity: 1; }

/* sec-description
----------------------------------------*/
.sec-description {
	display: flex;
	justify-content: center;
	align-items: center; }
	@media screen and (min-width: 1201px) {
		.sec-description {
			height: 100vh; } }
	.sec-description .title {
		font-weight: 500;
		text-align: center;
		margin-bottom: 1em; }
		.sec-description .title .title__num {
			line-height: 1em;
			text-align: center; }
			@media screen and (min-width: 751px) {
				.sec-description .title .title__num {
					font-size: 20px; } }
		.sec-description .title .title__main {
			white-space: nowrap;
			line-height: 1.5em;
			text-align: center; }
			@media screen and (min-width: 751px) {
				.sec-description .title .title__main {
					font-size: 34px; } }
			@media screen and (max-width: 750px) {
				.sec-description .title .title__main {
					font-size: 20px;
					font-size: 6.25vw; } }
			.sec-description .title .title__main span.small {
				font-size: 65%;
				display: inline-block;
				vertical-align: middle; }
	.sec-description .director {
		text-align: center; }
		@media screen and (min-width: 751px) {
			.sec-description .director {
				font-size: 20px; } }
		.sec-description .director span.small {
			font-size: 65%;
			display: inline-block;
			vertical-align: middle; }
	.sec-description .date {
		text-align: center; }
		@media screen and (min-width: 751px) {
			.sec-description .date {
				font-size: 20px; } }
	.sec-description .theater {
		text-align: center; }
		@media screen and (min-width: 751px) {
			.sec-description .theater {
				font-size: 20px; } }
	.sec-description .performance-time {
		text-align: center;
		margin-top: 1em; }
		@media screen and (min-width: 751px) {
			.sec-description .performance-time {
				font-size: 20px; } }
		.sec-description .performance-time .small {
			display: block;
			font-size: 80%; }
	.sec-description .subsidy {
		margin: 4em auto 0; }
		@media screen and (max-width: 750px) {
			.sec-description .subsidy {
				width: 92vw; } }
		.sec-description .subsidy .subsidy__head {
			text-align: center;
			margin-bottom: 0.5em; }
			@media screen and (min-width: 751px) {
				.sec-description .subsidy .subsidy__head {
					font-size: 20px; } }
		.sec-description .subsidy .subsidy__item {
			display: flex;
			align-items: center; }
			.sec-description .subsidy .subsidy__item + .subsidy__item {
				margin-top: 1em; }
			.sec-description .subsidy .subsidy__item dt {
				width: 120px;
				background-color: #fff;
				padding: 1em;
				flex-shrink: 0;
				border-radius: 0;
				-webkit-clip-path: polygon(5px 0%, calc(100% - 5px) 0%, 100% 5px, 100% calc(100% - 5px), calc(100% - 5px) 100%, 5px 100%, 0% calc(100% - 5px), 0% 5px);
				clip-path: polygon(5px 0%, calc(100% - 5px) 0%, 100% 5px, 100% calc(100% - 5px), calc(100% - 5px) 100%, 5px 100%, 0% calc(100% - 5px), 0% 5px); }
				@media screen and (max-width: 750px) {
					.sec-description .subsidy .subsidy__item dt {
						width: 21.33333vw;
						border-radius: 0;
						-webkit-clip-path: polygon(1.33333vw 0%, calc(100% - 1.33333vw) 0%, 100% 1.33333vw, 100% calc(100% - 1.33333vw), calc(100% - 1.33333vw) 100%, 1.33333vw 100%, 0% calc(100% - 1.33333vw), 0% 1.33333vw);
						clip-path: polygon(1.33333vw 0%, calc(100% - 1.33333vw) 0%, 100% 1.33333vw, 100% calc(100% - 1.33333vw), calc(100% - 1.33333vw) 100%, 1.33333vw 100%, 0% calc(100% - 1.33333vw), 0% 1.33333vw); } }
				.sec-description .subsidy .subsidy__item dt img {
					display: block;
					width: 100%;
					height: auto; }
			.sec-description .subsidy .subsidy__item dd {
				line-height: 1.6;
				margin-left: 1em; }
				@media screen and (max-width: 750px) {
					.sec-description .subsidy .subsidy__item dd {
						font-size: 10px;
						font-size: 3.125vw;
						text-align: left; } }
				@media screen and (max-width: 750px) {
					.sec-description .subsidy .subsidy__item dd span {
						font-size: 9px;
						font-size: 2.8125vw;
						white-space: nowrap; } }

/* sec-story
----------------------------------------*/
.sec-story .story-title {
	text-align: center;
	opacity: 0;
	overflow: hidden;
	transition: opacity 0.3s cubic-bezier(0.215, 0.61, 0.355, 1); }
	.sec-story .story-title.appeared {
		transition: none;
		opacity: 1; }
	.sec-story .story-title > * {
		width: 100%; }
	.sec-story .story-title img {
		width: 100%;
		height: auto; }

.sec-story .story-text {
	margin-top: 3em;
	margin-inline: auto; }
	.sec-story .story-text + .story-text {
		margin-top: 2em; }
	.sec-story .story-text .story-text__line {
		display: block; }

.sec-story + .section {
	margin-top: 0; }

/* sec-preface
----------------------------------------*/
.sec-preface .preface-head {
	font-weight: bold;
	margin-bottom: 50px;
	white-space: nowrap; }
	@media screen and (max-width: 750px) {
		.sec-preface .preface-head {
			margin-bottom: 20px; } }
	.sec-preface .preface-head .title {
		display: block;
		margin-bottom: 0.25em;
		font-size: 20px; }
		@media screen and (max-width: 750px) {
			.sec-preface .preface-head .title {
				font-size: 14px;
				font-size: 4.375vw;
				letter-spacing: -0.05em; } }
	.sec-preface .preface-head .director {
		font-size: 18px; }
		@media screen and (max-width: 750px) {
			.sec-preface .preface-head .director {
				font-size: 14px;
				font-size: 4.375vw; } }
	@media screen and (max-width: 750px) {
		.sec-preface .preface-head p {
			font-size: 12px;
			font-size: 3.75vw; } }
	.sec-preface .preface-head p + p {
		margin-top: 1em; }

.sec-preface .date {
	display: block;
	margin-top: 1em; }
	.sec-preface .date span {
		display: inline-block; }
		.sec-preface .date span + span {
			margin-left: 1em; }

.sec-preface .text-block {
	margin-top: 1em; }

@media screen and (max-width: 750px) {
	.sec-preface p {
		font-size: 12px;
		font-size: 3.75vw; } }

.sec-preface p + p {
	margin-top: 1em; }

.sec-preface p.references {
	margin-top: 3em;
	font-size: 14px; }
	@media screen and (max-width: 750px) {
		.sec-preface p.references {
			font-size: 9.5px;
			font-size: 2.96875vw; } }

.sec-preface .float-box {
	margin-bottom: 1em; }
	@media screen and (max-width: 750px) {
		.sec-preface .float-box {
			display: flex;
			justify-content: center;
			align-items: center; } }
	@media screen and (min-width: 751px) {
		.sec-preface .float-box p {
			margin-bottom: 1em; } }
	@media screen and (max-width: 750px) {
		.sec-preface .float-box p {
			flex: 1; } }
	.sec-preface .float-box .img {
		width: 300px;
		margin: 0 auto 0; }
		@media screen and (max-width: 750px) {
			.sec-preface .float-box .img {
				width: 38.66667vw;
				margin-left: 0.5em; } }

.sec-preface .actor-block-list {
	margin-top: 2em; }
	.sec-preface .actor-block-list li + li {
		margin-top: 2em; }

@media screen and (min-width: 751px) {
	.sec-preface .actor-block .actor-block__name {
		font-size: 20px; } }

@media screen and (max-width: 750px) {
	.sec-preface .actor-block .actor-block__name {
		font-size: 14px;
		font-size: 4.375vw; } }

.sec-preface .actor-block .actor-block__name::before {
	content: '■'; }

.sec-preface .actor-block .actor-block__inner {
	margin-top: 0.5em;
	overflow: hidden; }
	.sec-preface .actor-block .actor-block__inner .actor-block__image {
		width: 120px;
		float: left;
		margin-right: 1em; }
		@media screen and (max-width: 750px) {
			.sec-preface .actor-block .actor-block__inner .actor-block__image {
				width: 21.33333vw; } }
		.sec-preface .actor-block .actor-block__inner .actor-block__image img {
			width: 100%;
			height: auto; }
	.sec-preface .actor-block .actor-block__inner dl dt, .sec-preface .actor-block .actor-block__inner dl dd {
		display: inline; }
	.sec-preface .actor-block .actor-block__inner dl dt {
		background-color: #000;
		color: #fff;
		padding: 0em 0.4em 0.1em;
		line-height: 1;
		margin-right: 0.5em; }
		.sec-preface .actor-block .actor-block__inner dl dt.has-end-bracket {
			padding-right: 0; }

@supports selector(:has(*)) {
	.sec-preface .date-wrapper {
		opacity: 0;
		transform: translateY(20px);
		transition: 0.4s cubic-bezier(0.215, 0.61, 0.355, 1); }
	.sec-preface:has(.actor-block-list > li:last-child .actor-block.appeared) .date-wrapper {
		opacity: 1;
		transform: translate(0, 0);
		transition-delay: 0s; } }

.accordion-sp {
	margin-top: 1em; }
	.accordion-sp .accordion-close {
		display: none; }
	.accordion-sp .accordion-trigger {
		display: none; }
	@media screen and (max-width: 750px) {
		.accordion-sp {
			margin-bottom: 0.66667vw; }
			.accordion-sp .accordion-hidden {
				display: none; }
			.accordion-sp .accordion-close,
			.accordion-sp .accordion-trigger {
				position: relative;
				display: block;
				background-color: #000;
				color: #fff;
				padding: 0.25em 0;
				width: 53.33333vw;
				text-align: center;
				margin: 1em auto 0;
				border-radius: 1.33333vw; }
				.accordion-sp .accordion-close a,
				.accordion-sp .accordion-trigger a {
					display: inline-block;
					padding: 0.5em 2em;
					margin: 0 auto;
					line-height: 1em;
					color: #fff;
					font-size: 12px;
					font-size: 3.75vw;
					transition: all 0.3s ease-out; }
					.accordion-sp .accordion-close a:before,
					.accordion-sp .accordion-trigger a:before {
						content: "";
						display: inline-block;
						margin-right: 0.5em;
						font-size: 10px;
						font-size: 3.125vw; }
					.accordion-sp .accordion-close a.hovereffect,
					.accordion-sp .accordion-trigger a.hovereffect {
						opacity: 0.8; }
			.accordion-sp .accordion-trigger a {
				text-decoration: none; }
				.accordion-sp .accordion-trigger a:before {
					content: "\25BC";
					vertical-align: top; }
			.accordion-sp .accordion-close a {
				text-decoration: none; }
				.accordion-sp .accordion-close a:before {
					content: "\25B2";
					vertical-align: top; } }
	@media screen and (max-width: 750px) {
		.accordion-sp.active {
			margin-bottom: 6.66667vw; }
			.accordion-sp.active .accordion-trigger {
				display: none; }
			.accordion-sp.active .accordion-hidden {
				display: block; } }

/* sec-actors
----------------------------------------*/
@media screen and (min-width: 751px) and (max-width: 1200px) {
	.sec-actors .actors-list {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		column-gap: 2em; } }

.sec-actors .actor {
	position: relative;
	display: grid;
	grid-template-columns: auto 1fr; }
	.sec-actors .actor .actor__image {
		grid-column: 1 / 2;
		z-index: 1; }
		.sec-actors .actor .actor__image figure {
			width: 120px; }
			@media screen and (max-width: 750px) {
				.sec-actors .actor .actor__image figure {
					width: 21.33333vw; } }
			.sec-actors .actor .actor__image figure img {
				width: 100%;
				height: auto; }
	.sec-actors .actor .actor__info {
		grid-column: 2 / 3;
		margin-top: 1em;
		margin-left: -1em; }
		@media screen and (min-width: 751px) {
			.sec-actors .actor .actor__info {
				min-height: 184px; } }
		@media screen and (max-width: 750px) {
			.sec-actors .actor .actor__info {
				min-height: 42.4vw; } }
	.sec-actors .actor .actor__info-inner {
		position: relative;
		width: 100%;
		height: 100%;
		--cut: 10px;
		padding: 1em;
		padding-left: 2em; }
		.sec-actors .actor .actor__info-inner::before {
			content: "";
			position: absolute;
			display: block;
			left: 0;
			top: 0;
			width: 100%;
			height: 100%;
			background-color: rgba(255, 255, 255, 0.8);
			border-radius: 0;
			-webkit-clip-path: polygon(var(--cut) 0%, calc(100% - var(--cut)) 0%, 100% var(--cut), 100% calc(100% - var(--cut)), calc(100% - var(--cut)) 100%, var(--cut) 100%, 0% calc(100% - var(--cut)), 0% var(--cut));
			clip-path: polygon(var(--cut) 0%, calc(100% - var(--cut)) 0%, 100% var(--cut), 100% calc(100% - var(--cut)), calc(100% - var(--cut)) 100%, var(--cut) 100%, 0% calc(100% - var(--cut)), 0% var(--cut)); }
		.sec-actors .actor .actor__info-inner > * {
			position: relative; }
	.sec-actors .actor .actor__name {
		font-weight: bold; }
		@media screen and (min-width: 751px) {
			.sec-actors .actor .actor__name {
				font-size: 20px; } }
		@media screen and (max-width: 750px) {
			.sec-actors .actor .actor__name {
				font-size: 14px;
				font-size: 4.375vw; } }
	.sec-actors .actor .actor__ruby {
		margin-top: -0.5em; }
	.sec-actors .actor .actor__belonging {
		display: flex;
		flex-wrap: wrap;
		column-gap: 0.5em; }
	.sec-actors .actor .actor__links {
		margin-top: 1em;
		display: flex; }
		@media screen and (min-width: 751px) {
			.sec-actors .actor .actor__links {
				gap: 10px; } }
		@media screen and (max-width: 750px) {
			.sec-actors .actor .actor__links {
				gap: 2.66667vw; } }
		.sec-actors .actor .actor__links a {
			transition: opacity 0.3s cubic-bezier(0.215, 0.61, 0.355, 1); }
			@media (hover: hover) and (pointer: fine) {
				.sec-actors .actor .actor__links a:hover {
					opacity: 0.8; } }
	.sec-actors .actor .actor__link-btn {
		text-decoration: none;
		display: block; }
		@media screen and (min-width: 751px) {
			.sec-actors .actor .actor__link-btn {
				width: 40px; } }
		@media screen and (max-width: 750px) {
			.sec-actors .actor .actor__link-btn {
				width: 9.33333vw; } }
		.sec-actors .actor .actor__link-btn img {
			width: 100%;
			height: auto; }
	.sec-actors .actor .actor-ticket-btn {
		display: grid;
		place-items: center;
		padding: 0 1em;
		text-decoration: none;
		text-transform: uppercase;
		background-size: 100% 100%;
		background-image: linear-gradient(to bottom, #63443b, black);
		color: #fff; }
		.sec-actors .actor .actor-ticket-btn.disabled {
			pointer-events: none;
			opacity: 0.15;
			color: #ccc; }
		@media screen and (min-width: 751px) {
			.sec-actors .actor .actor-ticket-btn {
				height: 40px;
				border-radius: 0;
				-webkit-clip-path: polygon(5px 0%, calc(100% - 5px) 0%, 100% 5px, 100% calc(100% - 5px), calc(100% - 5px) 100%, 5px 100%, 0% calc(100% - 5px), 0% 5px);
				clip-path: polygon(5px 0%, calc(100% - 5px) 0%, 100% 5px, 100% calc(100% - 5px), calc(100% - 5px) 100%, 5px 100%, 0% calc(100% - 5px), 0% 5px); } }
		@media screen and (max-width: 750px) {
			.sec-actors .actor .actor-ticket-btn {
				height: 9.33333vw;
				border-radius: 0;
				-webkit-clip-path: polygon(1.33333vw 0%, calc(100% - 1.33333vw) 0%, 100% 1.33333vw, 100% calc(100% - 1.33333vw), calc(100% - 1.33333vw) 100%, 1.33333vw 100%, 0% calc(100% - 1.33333vw), 0% 1.33333vw);
				clip-path: polygon(1.33333vw 0%, calc(100% - 1.33333vw) 0%, 100% 1.33333vw, 100% calc(100% - 1.33333vw), calc(100% - 1.33333vw) 100%, 1.33333vw 100%, 0% calc(100% - 1.33333vw), 0% 1.33333vw); } }

/* sec-schedule
----------------------------------------*/
.sec-schedule .schedule-table {
	border-collapse: collapse;
	table-layout: fixed;
	width: 100%;
	text-align: center;
	border-top: 1px solid #000;
	border-left: 1px solid #000;
	margin-bottom: 0.5em;
	border-spacing: 0;
	overflow: hidden; }
	.sec-schedule .schedule-table tbody,
	.sec-schedule .schedule-table td,
	.sec-schedule .schedule-table th,
	.sec-schedule .schedule-table thead,
	.sec-schedule .schedule-table tr {
		text-align: center;
		box-sizing: border-box; }
	.sec-schedule .schedule-table a {
		text-decoration: none;
		color: inherit; }
	.sec-schedule .schedule-table thead {
		display: block;
		float: left;
		width: 25%;
		border-right: 1px solid #000; }
		.sec-schedule .schedule-table thead tr {
			width: 100%;
			display: block; }
			.sec-schedule .schedule-table thead tr th {
				display: block;
				border-bottom: 1px solid #000;
				padding: 0.5em 0; }
				.sec-schedule .schedule-table thead tr th span {
					margin-left: 0.5em; }
	.sec-schedule .schedule-table tbody {
		display: block;
		float: left;
		width: 75%; }
		.sec-schedule .schedule-table tbody tr {
			display: block;
			float: left;
			width: 50%;
			border-right: 1px solid #000; }
			.sec-schedule .schedule-table tbody tr td,
			.sec-schedule .schedule-table tbody tr th {
				display: block;
				border-bottom: 1px solid #000;
				padding: 0.5em 0; }
	.sec-schedule .schedule-table .star {
		margin-left: 0.25em; }
	.sec-schedule .schedule-table .sp-flex {
		display: flex;
		justify-content: center;
		align-items: center;
		height: 100%; }

.sec-schedule .table-group + .table-group {
	margin-top: 1em; }

.sec-schedule .afterevent-head {
	font-size: 20px;
	text-align: center;
	margin: 2em auto 0; }
	@media screen and (max-width: 750px) {
		.sec-schedule .afterevent-head {
			font-size: 16px;
			font-size: 5vw; } }

.sec-schedule .afterevent-head-sub {
	margin: 0 auto 1.5em;
	text-align: center;
	font-size: 16px;
	line-height: 1; }
	@media screen and (max-width: 750px) {
		.sec-schedule .afterevent-head-sub {
			font-size: 12px;
			font-size: 3.75vw; } }

/*
----------------------------------------*/
.event-table {
	border-color: #000;
	width: 100%;
	margin-bottom: 20px; }
	@media screen and (max-width: 750px) {
		.event-table {
			margin-bottom: 6.66667vw; } }
	.event-table caption,
	.event-table td,
	.event-table th,
	.event-table tr {
		text-align: center; }
		@media screen and (max-width: 750px) {
			.event-table caption,
			.event-table td,
			.event-table th,
			.event-table tr {
				display: block; } }
	.event-table tr {
		border-width: 1px;
		border-style: solid; }
	@media screen and (min-width: 751px) {
		.event-table td.head {
			width: 160px; } }
	@media screen and (max-width: 750px) {
		.event-table td.head {
			border-bottom-width: 1px;
			border-bottom-style: solid; } }
	@media screen and (min-width: 751px) {
		.event-table td {
			vertical-align: middle;
			padding: 1em;
			border-right-width: 1px;
			border-right-style: solid; } }
	@media screen and (max-width: 750px) {
		.event-table tr:nth-child(2) {
			border-top: none; }
			.event-table tr:nth-child(2):not(:last-child) {
				border-bottom: none; } }
	@media screen and (max-width: 750px) {
		.event-table td,
		.event-table th {
			padding-top: 0.5em; } }
	.event-table td.head {
		border-color: inherit; }
		@media screen and (max-width: 750px) {
			.event-table td.head {
				padding: 0.5em 0; } }
	@media screen and (max-width: 750px) {
		.event-table td:last-child {
			padding-bottom: 0.5em; } }
	.event-table .star {
		vertical-align: top; }
	.event-table.special {
		position: relative; }
	.event-table span.star {
		display: inline-block;
		margin-right: 0.5em; }
	@media screen and (max-width: 750px) {
		.event-table span.cross {
			font-size: 8px;
			font-size: 2.5vw;
			display: inline-block;
			vertical-align: middle; } }
	.event-table .event-detail {
		padding: 0.5em 1em; }
		.event-table .event-detail td {
			text-align: left; }
		@media screen and (max-width: 750px) {
			.event-table .event-detail {
				padding-top: 0;
				padding-bottom: 0; } }
		@media screen and (max-width: 750px) {
			.event-table .event-detail .sp-accordion {
				max-height: 0;
				transition: max-height 0.2s ease-out;
				overflow: hidden; } }
		.event-table .event-detail .sp-detail-btn {
			display: none; }
			@media screen and (max-width: 750px) {
				.event-table .event-detail .sp-detail-btn {
					display: block;
					text-align: center; }
					.event-table .event-detail .sp-detail-btn div {
						display: inline-block; }
						.event-table .event-detail .sp-detail-btn div span:nth-child(1) {
							display: block; }
						.event-table .event-detail .sp-detail-btn div span:nth-child(2) {
							display: none; } }
		@media screen and (max-width: 750px) {
			.event-table .event-detail.is-open {
				padding-top: 0.5em;
				padding-bottom: 0.5em; }
				.event-table .event-detail.is-open .sp-accordion {
					transition: max-height 0.3s ease-out;
					max-height: 200vw; }
				.event-table .event-detail.is-open .sp-detail-btn {
					margin-top: 0.5em; }
					.event-table .event-detail.is-open .sp-detail-btn div span:nth-child(1) {
						display: none; }
					.event-table .event-detail.is-open .sp-detail-btn div span:nth-child(2) {
						display: block; } }

.saturday {
	background-color: rgba(107, 163, 214, 0.3); }

.holiday,
.sunday {
	background-color: rgba(230, 0, 18, 0.3); }

/* sec-ticket
----------------------------------------*/
.sec-ticket .sec-ticket-inner {
	position: relative; }

.sec-ticket .division {
	width: 100%; }
	@media screen and (min-width: 751px) {
		.sec-ticket .division {
			margin-bottom: 50px; } }
	@media screen and (max-width: 750px) {
		.sec-ticket .division {
			font-size: 12px;
			font-size: 3.75vw;
			margin-bottom: 13.33333vw; } }
	.sec-ticket .division:last-child {
		margin-bottom: 0; }
	.sec-ticket .division .head {
		width: 100%;
		padding: 0.5em 0 0.5em 0;
		color: #000;
		margin-bottom: 1em;
		line-height: 1.5;
		display: flex;
		align-items: center; }
		@media screen and (min-width: 751px) {
			.sec-ticket .division .head {
				font-size: 22px; } }
		@media screen and (max-width: 750px) {
			.sec-ticket .division .head {
				font-size: 16px;
				font-size: 5vw; } }
		.sec-ticket .division .head::before {
			content: "";
			display: inline-block;
			width: 0.25em;
			height: 1em;
			background-color: black;
			margin-right: 0.5em; }
	@media screen and (max-width: 750px) {
		.sec-ticket .division.u22 .head::before {
			height: 2em; } }
	.sec-ticket .division .cancellation-policy {
		margin-top: 2em; }
	@media screen and (min-width: 751px) {
		.sec-ticket .division.price dl, .sec-ticket .division.sell dl {
			display: table;
			table-layout: fixed; } }
	@media screen and (max-width: 750px) {
		.sec-ticket .division.price dl, .sec-ticket .division.sell dl {
			display: table;
			width: 100%; } }
	@media screen and (min-width: 751px) {
		.sec-ticket .division.price dl dt, .sec-ticket .division.sell dl dt {
			display: table-cell;
			width: 250px; } }
	@media screen and (max-width: 750px) {
		.sec-ticket .division.price dl dt, .sec-ticket .division.sell dl dt {
			display: table-cell;
			width: 45%; } }
	.sec-ticket .division.price dl dd, .sec-ticket .division.sell dl dd {
		display: table-cell; }
	.sec-ticket .division.u22 dl, .sec-ticket .division.contact dl, .sec-ticket .division.playguide dl {
		margin-bottom: 2em; }
		.sec-ticket .division.u22 dl dt, .sec-ticket .division.contact dl dt, .sec-ticket .division.playguide dl dt {
			border: 1px solid #000;
			padding: 0 0.5em;
			width: fit-content;
			margin-bottom: 0.5em; }
	.sec-ticket .division .notice {
		margin-top: 1em;
		font-size: 95%; }
	.sec-ticket .division .suspend {
		margin-left: 1em;
		text-indent: -1em; }
	@media screen and (max-width: 750px) {
		.sec-ticket .division.price dl dt {
			width: 45%; } }
	.sec-ticket .division.price dl dd span:last-child {
		font-size: 90%;
		margin-left: 0.5em; }
	@media screen and (max-width: 750px) {
		.sec-ticket .division.price dl dd span {
			display: inline-block; } }
	@media screen and (max-width: 750px) {
		.sec-ticket .division.price dl dd .repeater-note {
			font-size: 90%;
			transform: translateY(-0.5em);
			margin-left: 0 !important; } }
	.sec-ticket .division p + p {
		margin-top: 1em; }

.sec-ticket .handbills-block .handbill {
	position: relative;
	display: block;
	margin: 0 auto;
	border-style: solid; }
	.sec-ticket .handbills-block .handbill img {
		vertical-align: top; }
		@media screen and (max-width: 1200px) {
			.sec-ticket .handbills-block .handbill img {
				width: 100%;
				height: auto; } }
	@media screen and (min-width: 751px) {
		.sec-ticket .handbills-block .handbill {
			width: 200px;
			border-width: 1px; } }
	@media screen and (max-width: 750px) {
		.sec-ticket .handbills-block .handbill {
			width: 33.33333vw;
			border-width: 0.26667vw;
			margin-bottom: 0.66667vw; } }
	.sec-ticket .handbills-block .handbill:after {
		content: "";
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		background-color: #61b9e9;
		opacity: 0;
		transition: opacity 0.3s ease-out; }
	@media (hover: hover) and (pointer: fine) {
		.sec-ticket .handbills-block .handbill:hover:after {
			opacity: 0.3; } }

.sec-ticket .handbills-block .pdf-info {
	text-align: center; }

/* sec-theater
----------------------------------------*/
.sec-theater .theater-name {
	font-size: 20px;
	text-align: center;
	margin-bottom: 0.5em; }
	@media screen and (max-width: 750px) {
		.sec-theater .theater-name {
			font-size: 14px;
			font-size: 4.375vw;
			margin-bottom: 0.5em; } }
	.sec-theater .theater-name span span {
		font-size: 16px; }
		@media screen and (max-width: 750px) {
			.sec-theater .theater-name span span {
				font-size: 12px;
				font-size: 3.75vw; } }

.sec-theater .theater-info {
	position: relative;
	width: 100%; }

.sec-theater .map-image .map {
	width: 100%;
	box-sizing: border-box;
	overflow: hidden;
	background-color: #fff;
	padding: 1em 0.5em;
	margin: auto; }
	@media screen and (min-width: 751px) {
		.sec-theater .map-image .map {
			border-radius: 0;
			-webkit-clip-path: polygon(20px 0%, calc(100% - 20px) 0%, 100% 20px, 100% calc(100% - 20px), calc(100% - 20px) 100%, 20px 100%, 0% calc(100% - 20px), 0% 20px);
			clip-path: polygon(20px 0%, calc(100% - 20px) 0%, 100% 20px, 100% calc(100% - 20px), calc(100% - 20px) 100%, 20px 100%, 0% calc(100% - 20px), 0% 20px); } }
	@media screen and (max-width: 750px) {
		.sec-theater .map-image .map {
			border-radius: 0;
			-webkit-clip-path: polygon(2.66667vw 0%, calc(100% - 2.66667vw) 0%, 100% 2.66667vw, 100% calc(100% - 2.66667vw), calc(100% - 2.66667vw) 100%, 2.66667vw 100%, 0% calc(100% - 2.66667vw), 0% 2.66667vw);
			clip-path: polygon(2.66667vw 0%, calc(100% - 2.66667vw) 0%, 100% 2.66667vw, 100% calc(100% - 2.66667vw), calc(100% - 2.66667vw) 100%, 2.66667vw 100%, 0% calc(100% - 2.66667vw), 0% 2.66667vw); } }

.sec-theater .map-image img {
	width: 100%;
	height: auto; }

.sec-theater .map-image .google-map {
	text-align: center;
	margin-top: 0.5em;
	margin-bottom: 2em; }

.sec-theater .access-info {
	margin-bottom: 1em; }

.sec-theater .map-detail {
	vertical-align: top; }
	@media screen and (max-width: 750px) {
		.sec-theater .map-detail {
			font-size: 12px;
			font-size: 3.75vw; } }

.sec-theater .division {
	margin-top: 2em;
	width: 100%; }
	@media screen and (max-width: 750px) {
		.sec-theater .division {
			font-size: 12px;
			font-size: 3.75vw; } }
	.sec-theater .division .head {
		width: 100%;
		padding: 0.5em 0 0.5em 0;
		color: #000;
		margin-bottom: 1em;
		line-height: 1.5;
		display: flex;
		align-items: center; }
		@media screen and (min-width: 751px) {
			.sec-theater .division .head {
				font-size: 22px; } }
		@media screen and (max-width: 750px) {
			.sec-theater .division .head {
				font-size: 14.5px;
				font-size: 4.53125vw; } }
		.sec-theater .division .head::before {
			content: "";
			display: inline-block;
			width: 0.25em;
			height: 1em;
			background-color: black;
			margin-right: 0.5em; }

/* sec-staff
----------------------------------------*/
.sec-staff {
	padding-bottom: 100px; }
	@media screen and (max-width: 750px) {
		.sec-staff {
			padding-bottom: 20vw; } }
	.sec-staff .staff-list ul {
		overflow: hidden; }
		@media screen and (min-width: 751px) {
			.sec-staff .staff-list ul:not(.main-staff-list) {
				font-size: 15px; } }
		@media screen and (max-width: 750px) {
			.sec-staff .staff-list ul:not(.main-staff-list) {
				font-size: 11px;
				font-size: 3.4375vw; } }
		.sec-staff .staff-list ul + ul {
			margin-top: 1em; }
	.sec-staff .staff-list li {
		float: left;
		word-break: break-all;
		width: 100%; }
		@media screen and (min-width: 751px) and (max-width: 1200px) {
			.sec-staff .staff-list li {
				min-width: 50%;
				width: auto; } }
		.sec-staff .staff-list li.col2 {
			width: 100%; }
			@media screen and (max-width: 750px) {
				.sec-staff .staff-list li.col2 {
					width: 100%; } }
		.sec-staff .staff-list li.col3 {
			width: 100%; }
			.sec-staff .staff-list li.col3 > dl > dt {
				white-space: nowrap; }
		@media screen and (max-width: 750px) {
			.sec-staff .staff-list li.sp-block {
				margin-top: 1em;
				margin-bottom: 1em; }
				.sec-staff .staff-list li.sp-block > dl > dt {
					display: block; }
				.sec-staff .staff-list li.sp-block > dl > dd {
					display: block;
					padding-left: 1em; } }
	@media screen and (max-width: 750px) {
		.sec-staff .staff-list li {
			float: none;
			width: 100%; } }
	.sec-staff .bunkacho-logo {
		width: 40px;
		display: inline-block;
		vertical-align: middle;
		margin-right: 0.5em; }
		@media screen and (max-width: 750px) {
			.sec-staff .bunkacho-logo {
				width: 10.66667vw; } }
	.sec-staff .bunkacho-list {
		margin-top: 2em;
		display: flex;
		justify-content: center;
		align-items: center; }
		@media screen and (max-width: 750px) {
			.sec-staff .bunkacho-list {
				margin-top: 1em; } }
		.sec-staff .bunkacho-list .bunkacho-item {
			display: flex;
			justify-content: center;
			align-items: center;
			width: 100%; }
			@media screen and (max-width: 750px) {
				.sec-staff .bunkacho-list .bunkacho-item {
					flex-wrap: wrap; } }
			.sec-staff .bunkacho-list .bunkacho-item + .bunkacho-item {
				margin-top: 1em; }
			.sec-staff .bunkacho-list .bunkacho-item .bunkacho-icon {
				width: 54px;
				margin-right: 10px;
				text-align: center; }
				@media screen and (max-width: 750px) {
					.sec-staff .bunkacho-list .bunkacho-item .bunkacho-icon {
						width: 14.4vw;
						margin: 0; } }
				.sec-staff .bunkacho-list .bunkacho-item .bunkacho-icon span {
					display: inline-block;
					width: 54px; }
					@media screen and (max-width: 750px) {
						.sec-staff .bunkacho-list .bunkacho-item .bunkacho-icon span {
							display: inline-block;
							width: 10.93333vw; } }
			.sec-staff .bunkacho-list .bunkacho-item.geijutsusai span {
				width: 40px; }
				@media screen and (max-width: 750px) {
					.sec-staff .bunkacho-list .bunkacho-item.geijutsusai span {
						width: 8vw; } }
			.sec-staff .bunkacho-list .bunkacho-item p {
				text-align: left; }
				@media screen and (max-width: 750px) {
					.sec-staff .bunkacho-list .bunkacho-item p {
						text-align: center; } }

/* sec-share
----------------------------------------*/
.sec-share {
	/* .page-top-btn-area
----------------------------------------*/ }
	@media screen and (min-width: 751px) and (max-width: 1200px) {
		.sec-share {
			padding-bottom: 150px; } }
	@media screen and (max-width: 750px) {
		.sec-share {
			padding-bottom: 26.66667vw; } }
	.sec-share .share-btn-area-inner {
		display: flex;
		justify-content: space-between;
		align-items: center; }
		@media screen and (min-width: 751px) and (max-width: 1200px) {
			.sec-share .share-btn-area-inner {
				padding-right: 150px; } }
		@media screen and (max-width: 750px) {
			.sec-share .share-btn-area-inner {
				padding-right: 26.66667vw; } }
	.sec-share .share-buttons {
		position: relative;
		text-align: center;
		display: flex;
		justify-content: center;
		align-items: center; }
		.sec-share .share-buttons a {
			display: block;
			cursor: pointer;
			width: 30px; }
			.sec-share .share-buttons a img {
				width: 100%;
				height: auto; }
			.sec-share .share-buttons a + a {
				margin-left: 20px; }
		@media screen and (max-width: 750px) {
			.sec-share .share-buttons a {
				width: 35px; }
				.sec-share .share-buttons a + a {
					margin-left: 20px; } }
	.sec-share .page-top-btn {
		display: block;
		background-color: rgba(35, 24, 21, 0.3);
		box-sizing: border-box;
		cursor: pointer; }
		.sec-share .page-top-btn:before {
			border-color: #fff; }
		@media screen and (max-width: 750px) {
			.sec-share .page-top-btn {
				width: 35px;
				height: 35px; }
				.sec-share .page-top-btn:before {
					width: 7px;
					height: 7px; } }

/* .loading
----------------------------------------*/
.loading {
	position: fixed;
	z-index: 1500;
	top: 0;
	width: 100vw;
	height: 100vh;
	height: 100svh;
	pointer-events: none;
	background-color: #000;
	transition: opacity 1s ease-out;
	display: flex;
	justify-content: center;
	align-items: center;
	/* spinner
  ----------------------------------------*/ }
	.loading .loading-icon {
		position: relative;
		transition: opacity 0.5s ease-out; }
	.loading.active .loading-icon {
		animation: blink 0.1s linear infinite; }
		@media screen and (min-width: 751px) {
			.loading.active .loading-icon {
				width: 100px; } }
		@media screen and (max-width: 750px) {
			.loading.active .loading-icon {
				width: 26.66667vw; } }
		.loading.active .loading-icon img {
			width: 100%;
			height: auto; }
	.loading.ready {
		opacity: 0; }
		.loading.ready .loading-icon img {
			opacity: 0; }
	.loading.loaded .loading-icon {
		opacity: 0; }

@keyframes blink {
	0% {
		opacity: 0.5; }
	50% {
		opacity: 1; }
	100% {
		opacity: 0.5; } }

/* scroll-in
----------------------------------------*/
.scroll-in.slide-in {
	opacity: 0;
	transform: translateY(20px);
	transition: 0.4s cubic-bezier(0.215, 0.61, 0.355, 1); }
	.scroll-in.slide-in.appeared {
		opacity: 1;
		transform: translate(0, 0);
		transition-delay: 0s; }

/* mainvisual
----------------------------------------*/
.mainvisual.intro .mainvisual-bg {
	opacity: 0;
	transition: 0.8s cubic-bezier(0.215, 0.61, 0.355, 1); }

body.ready .mainvisual.intro .mainvisual-bg {
	opacity: 1;
	transition-delay: 0s; }

.mainvisual .mainvisual-title {
	opacity: 0; }
	.mainvisual .mainvisual-title.ready {
		opacity: 1; }

/* sec-description
----------------------------------------*/
/* sec-story
----------------------------------------*/
.sec-story .story-text.scroll-in .story-text__line {
	opacity: 0;
	transition: 0.8s cubic-bezier(0.215, 0.61, 0.355, 1); }

.sec-story .story-text.scroll-in.appeared .story-text__line:nth-child(1) {
	opacity: 1;
	transition-delay: 0s; }

.sec-story .story-text.scroll-in.appeared .story-text__line:nth-child(2) {
	opacity: 1;
	transition-delay: 0.1s; }

.sec-story .story-text.scroll-in.appeared .story-text__line:nth-child(3) {
	opacity: 1;
	transition-delay: 0.2s; }

.sec-story .story-text.scroll-in.appeared .story-text__line:nth-child(4) {
	opacity: 1;
	transition-delay: 0.3s; }

.sec-story .story-text.scroll-in.appeared .story-text__line:nth-child(5) {
	opacity: 1;
	transition-delay: 0.4s; }

.sec-story .story-text.scroll-in.appeared .story-text__line:nth-child(6) {
	opacity: 1;
	transition-delay: 0.5s; }

.sec-story .story-text.scroll-in.appeared .story-text__line:nth-child(7) {
	opacity: 1;
	transition-delay: 0.6s; }

.sec-story .story-text.scroll-in.appeared .story-text__line:nth-child(8) {
	opacity: 1;
	transition-delay: 0.7s; }

.sec-story .story-text.scroll-in.appeared .story-text__line:nth-child(9) {
	opacity: 1;
	transition-delay: 0.8s; }

.sec-story .story-text.scroll-in.appeared .story-text__line:nth-child(10) {
	opacity: 1;
	transition-delay: 0.9s; }

.sec-story .story-text.scroll-in.appeared .story-text__line:nth-child(11) {
	opacity: 1;
	transition-delay: 1s; }

/* section-head
----------------------------------------*/
/* sec-actors
----------------------------------------*/
.sec-actors .actor.actor-scroll-in .actor__image {
	opacity: 0;
	transition: opacity 0.3s cubic-bezier(0.215, 0.61, 0.355, 1); }

.sec-actors .actor.actor-scroll-in .actor__info {
	opacity: 0;
	transform: translateY(20px) scale(0.2) rotate(-10deg) skew(-10deg);
	transition: 0.4s cubic-bezier(0.22, 1.5, 0.8, 1);
	transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275); }

.sec-actors .actor.actor-scroll-in.appeared .actor__image {
	opacity: 1; }

.sec-actors .actor.actor-scroll-in.appeared .actor__info {
	opacity: 1;
	transform: translate3d(0, 0, 0) scale(1) rotate(0) skew(0);
	transition-delay: 0.1s; }

/* sec-theater
----------------------------------------*/
#header {
	z-index: 1200;
	pointer-events: none; }
	#header .menu-button {
		pointer-events: all; }
		@media screen and (min-width: 751px) {
			#header .menu-button {
				background-color: #000; } }
		@media screen and (max-width: 750px) {
			#header .menu-button {
				transform-origin: right top;
				transform: scale(0.8); }
				#header .menu-button span {
					transition: 0.5s; }
				#header .menu-button span {
					background-color: #000; }
					#header .menu-button span:before, #header .menu-button span:after {
						background-color: #000; }
				html.menu-open #header .menu-button span:before, html.menu-open #header .menu-button span:after {
					background-color: #fff; } }
	#header .header-inner {
		background: none;
		box-shadow: none;
		border: none; }
	#header h1,
	#header .menu-sign,
	#header .overlay {
		display: none; }

.menu-container {
	top: 0;
	background: rgba(0, 0, 0, 0.95); }
	.menu-container:before {
		content: "";
		position: fixed;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		background-color: #000;
		transition: opacity 0.5s;
		pointer-events: none;
		opacity: 0; }
		.menu-open .menu-container:before {
			opacity: 0.6;
			pointer-events: auto; }
