@charset "utf-8";

/*=================================================================================================================================*/
/** 個別指定 for スマートフォン
/*=================================================================================================================================*/

/*---------------------------------------------
 ** 960px
---------------------------------------------*/
@media screen and (max-width: 960px) {

	/*---------------------------------------------
	body
---------------------------------------------*/
	html {
		scroll-behavior: smooth;
	}

	body {
		font-size: 20px;
		line-height: 1.8;
		border: none;
	}

	.hover:hover {
		opacity: 1.0;
		filter: alpha(opacity=100);
		-ms-filter: "alpha( opacity=100 )";
	}

	.only_pc {
		display: none;
	}

	.only_pc_line {
		display: none;
	}

	.only_sp {
		display: block;
	}

	.sp_br {
		display: inline;
	}

	/*画像*/
	img {
		max-width: 100%;
		height: auto;
	}

	#main {
		width: 100%;
		margin: 0 auto;
		position: relative;
		padding: 5% 0;
		background: url(../img/main_bg.png) no-repeat top 220px left -220px;
		background-size: 110% auto;
		top: 0;
		right: 0;
		left: 0;
		margin: 0 auto;
		color: #fff;
		z-index: 0;
		box-sizing: border-box;
	}

	#main_img img:nth-of-type(1) {
		width: 100%;
		max-width: 700px;
		right: 0;
		left: 0;
		top: 280px;
		margin: 0 auto;
	}

	#main_img img:nth-of-type(2) {
		width: 100%;
		max-width: 800px;
		right: 0;
		left: 0;
		top: 600px;
		margin: 0 auto;
	}

	#main_img img:nth-of-type(3) {
		width: 10%;
		max-width: 75px;
		right: 0;
		left: 0;
		top: 320px;
		margin: 0 auto;
		padding-left: 70%;
	}

	#main_data {
		width: 100%;
		max-width: 700px;
		min-width: unset;
		margin: 0 auto;
		margin-top:25px;
		text-align: center;
		z-index: 2;
	}



#home_link{
position:absolute;
top:10px !important;
right:20px !important;
}

#home_link img{
height:auto;
width:240px;
}


	#logo {
		width: 90%;
		max-width: 450px;
		margin-left: 10%;
		margin-bottom: 800px;
	}

	#logo>img:nth-of-type(1) {
		width: 120px;
		right: -150px;
	}

	#logo>img:nth-of-type(2) {
		width: 150px;
		bottom: -120px;
		left: -80px;
	}

	#main_data>img:nth-of-type(1) {
		width: 80%;
		max-width: 600px;
		margin-bottom: 0;
	}

	#main_data>img:nth-of-type(2) {
		width: 70%;
		max-width: 500px;
		margin: 10px auto;
	}

	#main_data h2 {
		font-size: 140%;
		line-height: 1.6;
		margin: 10px auto;
		;
	}

	.text_link {
		text-align: center;
	}

	#main .text_link a {
		font-size: 130%;
		text-align: center;
		margin: 3% auto 0;
	}

	#main_data ul {
		width: 95%;
		margin: 3% auto 5%;
	}

	#main_data>dl:nth-of-type(2) {
		font-size: 90%;
		width: 90%;
		margin: 0 auto;
	}

	#main_data>dl:nth-of-type(2) dd {
		text-align: left;
		padding-left: 20px;
	}

	.btn a {
		width: 90%;
		margin: 2% auto 5%;
	}

	section::before {
		height: 100px;
	}

	section#story::after {
		background: url(../img/story_bg_sp.png) no-repeat top center;
		background-size: 100% auto;
		z-index: 2;
	}

	section h3 {
		width: 90%;
		padding: 5% 0 10px 0;
		font-size: 140%;
		line-height: 1.4;
		text-align: center;
		top: -20px;
	}

	section h3 span {
		font-size: 65%;
		display: block;
		padding-left: 0px;
	}

	#story dl {
		margin: 0 auto 10%;
		flex-wrap: wrap;
	}

	#story dl dt {
		width: 100%;
		font-size: 160%;
		text-align: center;
		writing-mode: unset;
		-webkit-writing-mode: unset;
		margin-top: 10px;
		margin-bottom: 20px;
	}

	#story dl dd {
		width: 100%;
		font-size: 100%;
	}

	section#cast::after {
		background: url(../img/cast_bg_sp.png) no-repeat top center;
		background-size: 100% auto;
		z-index: 2;
	}


	#cast ul {
		font-size: 60%;
		flex-wrap: wrap;
	}

	.list-2 {
		width: 90%;
		padding-top: 15%;
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		margin: 0 auto;
	}

	#cast ul li {
		width: 50%;
		margin: 5% auto 0;
		font-size: 160%;
	}

	#cast ul li img {
		margin-bottom: 0;
	}

	.list-4 {
		padding-top: 55%;
	}

	.list-3 li {
		width: 33% !important;
	}

	#midokoro {
		width: 100%;
		font-family: 'Noto Serif JP'serif;
		background: none;
		border: 1px solid #231815;
		background: #ffffff70;
		margin: 50px auto 0;
		padding: 7% 5% 3%;
	}

	#midokoro::before {
		width: 0;
		height: 0;
		background: none;
	}

	#midokoro::after {
		content: '';
		width: 170px;
		height: 3px;
		background: #f6f3ea;
		position: absolute;
		top: -2px;
		right: 0;
		left: 0;
		margin: 0 auto;
		z-index: 0;
	}

	#midokoro h4 {
		font-size: 120%;
		font-weight: bold;
	}

	#music {
		font-size: 100%;
		padding-bottom: 5%;
		margin-bottom: 5%;
	}

	#staff,
	#ticket,
	footer {
		width: 95%;
	}

	#staff {
		margin: 0 auto 5%;
		padding-bottom: 5%;
	}

	#staff dl {
		max-width: 750px;
		font-size: 90%;
		margin: 3% auto 0;
	}

	#staff dt {
		padding-bottom: 5px;
	}

	#staff dd {
		padding-bottom: 5px;
	}

	.sp_multi {
		line-height: 1.6;
	}

	#ticket {
		margin: 0 auto 5%;
	}

	#ticket dl {
		max-width: 750px;
		margin: 0 auto;
		font-size: 90%;
	}

	#ticket dl dt {
		width: 240px;
	}

	#ticket dl dt:nth-of-type(1) {
		width: 300px;
	}

	#ticket dl dd {
		width: calc(100% - 240px);
	}

	#ticket dl dd:nth-of-type(1) {
		width: calc(100% - 300px);
		position: relative;
		padding-bottom: 70px;
	}

	#ticket dl dd:nth-of-type(1) .btn {
		max-width: 600px;
		position: absolute;
		left: -160px;
		bottom: 0;
		text-align: center;
	}

	#ticket dl dd:nth-of-type(1) .btn a {
		padding: 5px 30px;
		font-size: 105%;
	}

	#ticket .text_link {
		text-align: left;
	}

	footer dl {
		width: 100%;
		max-width: 750px;
		margin: 0 auto;
		font-size: 90%;
	}

	#place {
		text-align: center;
	}

	#place img {
		width: 90%;
		max-width: 400px;
		margin: 40px auto 20px;
	}
}


@media screen and (max-width: 800px) {
	#logo {
		max-width: 300px;
		margin-left: 23%;
		margin-bottom: 700px;
	}

	#main_img img:nth-of-type(1) {
		top: 260px;
		width: 85%;
	}

	#main_img img:nth-of-type(2) {
		top: 540px;
		width: 95%;
	}

	#main_img img:nth-of-type(3) {
		padding-left: 75%;
		top: 260px;
	}

	#story dl dt {
		font-size: 140%;
		margin: 10px auto 10px;
	}

	#story dl dd {
		font-size: 90%;
	}

	#midokoro {
		font-size: 90%;
		margin-top: 10%;
	}

	footer dl {
		font-size: 85%;
	}
}

@media screen and (max-width: 700px) {

#home_link{
position:absolute;
top:4px !important;
right:10px !important;
}

#home_link img{
height:auto;
width:180px;
}


	#logo {
		max-width: 380px;
		margin-left: 18%;
	}

	#story dl {
		margin-bottom: 5%;
	}

	#story dl dd {
		font-size: 85%;
	}

	#cast ul {
		font-size: 60%;
	}

	#cast ul li img {
		margin-bottom: 0;
	}

	#midokoro {
		margin-top: 360px;
	}

	#music {
		font-size: 90%;
	}

	#music dl dt {
		width: 120px;
	}

	#music dl dd {
		width: calc(100% - 120px);
	}

	#staff dl {
		font-size: 80%;
	}

	#staff dl dt {
		width: 230px;
	}

	#staff dl dd {
		width: calc(100% - 230px);
	}

	#ticket dl dt {
		padding-bottom: 10px;
		width: 200px;
	}

	#ticket dl dd {
		padding-bottom: 10px;
		line-height: 1.6;
		width: calc(100% - 200px);
	}

	#ticket dl dt:nth-of-type(1) {
		width: 260px;
	}

	#ticket dl dd:nth-of-type(1) {
		width: calc(100% - 260px);
		padding-top: 3px;
	}


	#ticket dl dd:nth-of-type(1) .btn {
		left: -190px;
	}

	footer dl {
		font-size: 75%;
	}

	.sp_br2 {
		display: inline;
	}

}

@media screen and (max-width: 650px) {
	#ticket dl {
		font-size: 80%;
	}
}

@media screen and (max-width: 480px) {
	body {
		font-size: 16px;
		line-height: 1.8;
	}

	#main {
		background: url(../img/main_bg.png) no-repeat top 120px left -180px;
		background-size: 135% auto;
	}

	#main_data h2 {
		font-size: 95%;
	}

	#main .text_link a {
		font-size: 90%;
	}

	#main_data ul {
		width: 90%;
		font-size: 70%;
	}

	#main_data ul li {
		letter-spacing: -0.08em;
	}

	#main_data>dl:nth-of-type(2) {
		font-size: 70%;
	}

	#main_data>img:nth-of-type(1) {
		max-width: 300px
	}

	#main_data>img:nth-of-type(2) {
		max-width: 250px;
		margin-bottom: 0;
	}

	.btn a {
		font-size: 90%;
		box-shadow: 5px 5px 4px #231815
	}

	#logo {
		width: 80%;
		max-width: 230px;
		margin-left: 12%;
		margin-bottom: 380px;
	}

	#logo>img:nth-of-type(1) {
		width: 70px;
		right: -90px;
	}

	#logo>img:nth-of-type(2) {
		width: 90px;
		left: -30px;
		bottom: -80px;
	}

	#main_img img:nth-of-type(1) {
		top: 145px;
	}

	#main_img img:nth-of-type(2) {
		top: 300px;
	}

	#main_img img:nth-of-type(3) {
		top: 170px;

	}

	#main_data dl:nth-of-type(1) {
		font-size: 105%;
	}

	section h3 {
		font-size: 110%;
		top: -10px;
	}

	#story dl {
		margin-bottom: 0;
	}

	#story dl dt {
		font-size: 110%;
		margin: 20px 0 5px;
	}

	#story dl dd {
		font-size: 75%;
	}

	#cast ul {
		top: 20px;
		font-size: 40%;
	}

	#cast ul li img {
		width: 90%;
	}

	.list-4 {
		padding-top: 67%;
	}

	#midokoro {
		margin-top: 50px;
		font-size: 80%;
	}

	#midokoro h4 {
		top: -25px;
	}

	#midokoro::after {
		width: 110px;
	}

	#music,
	#staff {
		border-bottom: 1px solid #fff;
	}

	#music dl {
		font-size: 90%;
	}

	#music dl dt {
		width: 90px;
	}

	#music dl dd {
		width: calc(100% - 90px);
	}

	#music dl dt::before {
		left: -15px;
	}

	#music dl dt::after {
		right: 15px;
	}

	#staff h3,
	#ticket h3 {
		font-size: 120%;
		margin-bottom: 3%;
	}

	#staff dl {
		font-size: 70%;
	}

	#staff dl dt {
		width: 150px;
	}

	#staff dl dd {
		width: calc(100% - 150px);
	}

	#ticket dl {
		font-size: 75%;
	}

	#ticket dl dt {
		width: 120px;
		padding-bottom: 0;
	}

	#ticket dl dd {
		width: calc(100% - 120px);
		padding-bottom: 0;
	}

	#ticket dl dt:nth-of-type(1) {
		width: 190px;
	}

	#ticket dl dd:nth-of-type(1) {
		width: calc(100% - 190px);
		padding-bottom: 50px;
	}

	#ticket dl dd:nth-of-type(1) .btn {
		left: -150px;
	}

	.bunka {
		background: url(../img/logo_bunka.png) no-repeat #000 top 20px left 15px;
		background-size: 70px auto;
		padding: 5px 10px 5px 100px;
		font-size: 70%;
	}

	.bunka p {
		padding-bottom: 4px;
		margin-bottom: 4px;
	}

	footer dl {
		font-size: 65%;
	}

	footer dl dt {
		width: 45px;
	}

	footer dl dd {
		width: calc(100% - 45px);
		letter-spacing: -0.05em;
	}

	#place {
		font-size: 70%;
	}

	#place img {
		max-width: 250px;
		margin-bottom: 10px;
	}
}

@media screen and (max-width: 380px) {
	#logo {
		max-width: 180px;
		margin-bottom: 260px;
	}

	#logo>img:nth-of-type(1) {
		width: 60px;
		right: -80px;
	}

	#logo>img:nth-of-type(2) {
		width: 80px;
		bottom: -70px;
	}

	#main {
		background: url(../img/main_bg.png) no-repeat top 120px left -130px;
		background-size: 135% auto;
	}

	#main_img img:nth-of-type(1) {
		top: 115px;
	}

	#main_img img:nth-of-type(2) {
		top: 215px;
	}

	#main_img img:nth-of-type(3) {
		top: 135px;
	}

	#main_data dl:nth-of-type(1) {
		font-size: 95%;
	}

	#main .text_link a {
		font-size: 75%;
	}

	#main_data ul li {
		line-height: 1.6;
		letter-spacing: 0;
		padding-bottom: 5px;
	}

	.btn a {
		font-size: 75%;
	}

	.btn a span {
		margin-left: 10px;
	}

	#main_data>dl:nth-of-type(2) {
		font-size: 10px;
		letter-spacing: -0.01em;
	}

	#main_data>dl:nth-of-type(2) dt {
		width: 6.0em;
		text-align: left;
	}

	#main_data>dl:nth-of-type(2) dd {
		padding-left: 5px;
		width: calc(100% - 6.0em)
	}

	#main_data h2 {
		font-size: 85%;
	}

	#main_data dl:nth-of-type(1) {
		font-size: 90%;
	}

	section h3 {
		font-size: 100%;
		top: -5px;
	}

	#story {
		padding-top: 16%;
	}

	#story dl {
		width: 100%;
	}

	#story dl dt {
		font-size: 100%;
	}

	#story dl dd {
		font-size: 68%;
	}

	#midokoro {
		margin-top: 50px;
		font-size: 70%;
	}

	#music dl {
		font-size: 70%;
		line-height: 1.4;
	}

	#music dl dt {
		width: 70px;
		padding-bottom: 5px;
	}

	#music dl dt::before {
		top: 1px;
		left: -13px;
	}

	#music dl dt::after {
		top: 1px;
		right: 7px;
	}

	#music dl dd {
		width: calc(100% - 70px);
		padding-bottom: 5px;
	}

	#staff h3,
	#ticket h3 {
		font-size: 110%;
	}

	#staff h3 span,
	#ticket h3 span {
		padding-left: 15px;
	}

	#staff dl,
	#ticket dl {
		font-size: 10px;
		letter-spacing: -0.01em;
	}

	#staff dl dt {
		width: 110px;
		letter-spacing: -0.05em;
	}

	#staff dl dd {
		width: calc(100% - 110px);
	}

	#ticket dl dt {
		width: 100px;
	}

	#ticket dl dd {
		width: calc(100% - 100px);
	}

	#ticket dl dt:nth-of-type(1) {
		width: 140px;
	}

	#ticket dl dd:nth-of-type(1) {
		width: calc(100% - 140px);
	}

	#ticket dl dd:nth-of-type(1) .btn {
		left: -130px;
	}

	.bunka {
		background: url(../img/logo_bunka.png) no-repeat #000 top 30px left 5px;
		background-size: 45px auto;
		padding: 5px 10px 5px 60px;
		font-size: 10px;
		letter-spacing: -0.08em;
	}

	footer dl {
		font-size: 10px;
	}

	footer dl dt {
		width: 55px;
	}

	footer dl dd {
		width: calc(100% - 55px);
		padding-bottom: 5px;
	}

	#place {
		font-size: 10px;
		padding-bottom: 50px;
	}

	.sp_br3 {
		display: inline;
	}
}

/* スマホのときのみ電話をかける */
@media (min-width: 740px) {
	a[href*="tel:"] {
		pointer-events: none;
		cursor: default;
		text-decoration: none;
	}
}