@charset "UTF-8";


/*  ===============================
		   base / reset
===============================*/

body{
	min-width: 0;
}

.inr--mv,
.inr{
    width: 100%;
}

.inr{
	padding-left: 6vw;
	padding-right: 6vw;
	text-align: center;
}
	.inr--cast,
	.inr--goods{
		padding-left: 10vw;
		padding-right: 10vw;
	}


/*  ===============================
			common
===============================*/

/* btn */

.btn{
	font-size: 3vw;
	padding-top: 1.3vw;
	padding-bottom: 1.3vw;

}

.btn:after,
.btn:before {
	border-top-width: 2.9vw;
	border-bottom-width: 2.9vw;
}

.menu_btn{
	position: fixed;
	right: 0;
	top: 0;
	display: block;
	width: 58px;
	height: 58px;
	background-color: #00FFFF;
	z-index: 500;
}





.icon{
	padding: 6px;
}

.icon,
.icon::before,
.icon::after{
    transition: .5s;
}


/* hdr開閉ハンバーガーアイコン */
.icon--humberger,
.icon--humberger::before,
.icon--humberger::after,
.icon--close::before,
.icon--close::after{
    content: '';
    position: absolute;
    display: block;
    width: 25px;
    height: 2px;
    background-color: #111DAA;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	padding: 0;
}

.icon--humberger:before { margin-top: -8px;}
.icon--humberger:after { margin-top: 8px;}



/* close icon */

.icon--close::before,
.icon--close::after{
	border-radius: 10px;
	opacity: 1;
}

.icon--close::before{
	transform: rotate(405deg);
}
.icon--close::after{
	transform: rotate(-405deg);
}





/* br 要 responsive */

.br--pc{ display: none !important}
.br--sp{ display: block !important}

@media screen and (max-width: 450px) {
	.br--450px{display: block !important}
}

/*  ===============================
		  block / element
===============================*/

/* loading
===============================
*/


/* modal
===============================
*/

.modal_target{}
.is-active.modal_target{}
.modal_wrap{}
.is-active.modal_wrap{}

.modal_inr{
	width: 100%;
	padding-left: 6vw;
	padding-right: 6vw;
	top: 22vw;
	left: 0;
	transform: translate(0);
	max-height: calc( 100vh - 18vw - 15vw );
}


.modal_content{
	width: 100%;
	max-height: calc( 100vh - 18vw - 15vw );
}





.closeBtn_wrap{
	z-index: 100;
}

.closeBtn{
	width: 18vw;
	height: 18vw;
	margin-top: 2vw;
	margin-right: 3vw;
}

.closeBtn::before,
.closeBtn::after{
	width: 18vw;
	margin-top: 0;
	margin-right: 0;
}

.closeBtn::before{
	transform: translate( -1vw , calc(18vw / 2) ) rotate(45deg);
}
.closeBtn::after{
	transform: translate( -1vw , calc(18vw / 2) ) rotate(-45deg);
}


/* global
===============================
*/

/* Ghdr */
.Ghdr{
	width: 100%;
}
.Gsvg--pc{ display: none;}
.Gsvg--sp{
	display: block;
}

.Ghdr_inr{}

.brand{
	position: fixed;
	width: 30vw;
	top: 1vw;
	left: 2vw;
	z-index: 100;
}



/* Gnavi */

.Gnavi{
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background-color: rgba(0,0,0,.85);
	opacity: 0;
	transform: translateX(100vw);
	transition: .8s;
	z-index: -1;
}

.Gnavi.is-open{
	display: block;
	opacity: 1;
	z-index: 10;
	transform: translateX(0);
	transition: .3s;
}


.Gnavi_inr{
	height: 100vh;
	flex-flow: wrap column;
	justify-content: center;
	align-content: center;
	align-items: flex-start;
}
.Gnavi_item{}

.Gnavi_sns{
	position: absolute;
	display: block;
	top: 15vh;
	right: 1rem;
}

.Gnavi_sns_item{
	margin-bottom: 3.5vh;
}

.Gnavi_anchor{
	font-size: 11vw;
}



/* Gmain */
.Gmain{}

/* Gfooter */
.Gftr{
	padding-top: 20vw;
}



/* section & mv
===============================
*/


/* b-main-view */
.mv{
    height: calc(var(--vh, 1vh) * 100);
}

.mv_bg{
	display: none;
}


.mv_inr{
	max-width: none;
	background: no-repeat center / cover url(../images/mv_bg--sp.jpg);
}

.mv_inr::before{
	height: 100%;
	background: no-repeat center / cover url(../images/mv_eve--sp.png);
}
.mv_opwindow{
	display: none;
	opacity: 1;
	transition: none;
}

.mv_opwindow_ttl{
	text-align: center;
	padding-bottom: 4vw;
	margin-bottom: 4vw;
}

.mv_logo{
	position: absolute;
	height: 32vh;
	top: 50%;
	left:50%;
	transform: translate( -50%, -50%);
	text-align: center;
}

.mv_info{}

.mv_info_ttl{
	font-size: 23px;
}
 
.mv_text{
	font-size: 15px;
	line-height: 31px;
	letter-spacing: .005rem;
}

.mv_copy{
	position: absolute;
    display: flex;
    flex-flow: column wrap;
    align-items: flex-end;
	transform-origin: right bottom;
	transform: scale(.7);
	bottom: 3vw;
	right:  3vw;
    /* bottom: -10px;
    right: -10vw; */
}
.mv_copy_label{
	margin-top: 1vh;
}
.mv_copy_textImg{}
	




/* news */
.news_wrap{
	/* sp */
	padding: .8rem;
}

.news_heading{
	font-size: 28px;
	padding-bottom: 0;
	border-bottom: 0;
	text-align: center;
}

.news_item{
	margin-top: 8vw;
}

.news_ttl{
	font-size: min(4.5vw,16px);
}



/* info */

.mv_info--sp{
	display: block;
}




/* fade func */
.mv_inr::before{
	opacity: 0;
	transition: 1s;
}


.is-active .mv_inr::before{ opacity: 1;}



.is-active .mv_copy{  transition-delay: .3s;  }
.is-active .mv_inr::before{  transition-delay: 1.5s;}






/* b-section */
.sec{
	padding-top: 20vw;
	margin-left: auto;
	margin-right: auto;
}

	.sec--news{
		display: block;
		padding-top: 20vw;
	}

	.sec--mv_info{
		padding-top: 20vw;
		/* padding-bottom: 10vw */
	}

	.sec--cast{
		padding-top: 40vw
	}

	.sec--goods{
		padding-top: 35vw;
	}



/* sec_elem */

.sec_hdr{
	width: auto;
	display: inline-block;
}

.sec_ttl{
	display: none;
	margin-left: auto;
	margin-right: auto;
	transform: translateY(-110vh);
	text-align: center;
	z-index: -1;
	/* transform: rotate(-90deg) translateX(100vh); */
}
	/* .sec_ttl.reverse{ transform : rotate(-270deg) translateX(100vh);} */






	.is-active.sec_ttl{
		transform: translateY(0);

		/* transform: rotate(-90deg) translateX(0); */
	}

	.is-active.sec_ttl.reverse{
		/* transform: rotate(-270deg) translateX(0); */
	}

	.sec_ttl_img.reverse{
		transform: 
	}



.sec_ttl_circle{
	top: -33px;
	left: -37px;
	right: auto;
	bottom: auto;
	max-width: 126px;
}



/* animation
===============================
*/


@keyframes rotation{
	0%{ transform: rotate(0)}
	100%{ transform: rotate(360deg)}
}


	.sec_ttl_circle--movie{ }
	.sec_ttl_circle--story{}
	.sec_ttl_circle--cast{}
	.sec_ttl_circle--staff{}


	.sec_ttl_sircleImg{
	}



.sec_body{
	width: 100%;
	padding-top: 20vw;
	padding-bottom: 30vw;
}


	.sec_body--story{
		padding-bottom: 15vw;
	}

	.sec_body--cast{
		position: relative;
		z-index: 1;
	}

	.sec_body--theater{
		padding-bottom: 15vw;
	}

	.sec_body--goods{
		padding-top: 15vw;
		padding-bottom: 0;
	}


/* story */

.story_text{
	width: 100%;
	font-size: min(4.5vw,16px);
	font-weight: 100;
	line-height: 2.1;
}

.storySlide{
	margin-top: 0;
}



/* cast */

.cast_item,
.cast_text--big{
	width: 100%;
	padding-left: 0;
	padding-right: 0;
}

.cast_item{
	margin-top: min(30vw,100px);
}

.cast_item:first-child{
	margin-top: 0;
}

.cast_thumb,
.cast_ttl{
	max-width: 300px;
	margin-left: auto;
	margin-right: auto;
}

.cast_thumb{
	width: 100%;
	text-align: center;
}
.cast_img{
	width: 100%;
	max-width: 300px;
}
.cast_ttl{
	display: inline-block;
	width: auto;
	margin-top: 7vw;
	font-size: 2rem;
	font-weight: 100;
}

.cast_text{
	max-width: 440px;
	font-size: 14px;
	margin-top: 5vw;
	margin-left: auto;
	margin-right: auto;
}
.cast_comment{
	margin-top: 0;
}
	.cast_comment--pc{
		display: none;
	}
	.cast_comment--sp{
		display: inline-block;
		margin-left: 2rem;
	}





.staff{
	width: 100%;
}
.staff_ttl{
	display: block;
	width: 100%;
	margin-bottom: 3vw;
	font-size: 5vw;
}

.staff_text{
	margin-top: 1.5rem;
}

.staff_dt,
.staff_dd{
	width: auto;
	flex: 1 0 50%
}


.staff_dt{
	font-size: 3vw;
	letter-spacing: -.01rem;
	line-height: inherit;
}
.staff_dd{
	flex-direction: column
}

.staff_comment{
	margin-left: 0;
}

.profile--cast{
	margin-top: 8vh;
}

.profile_ttl{
	font-size: 8vw;
}
	.profile_ttl--staff{
		font-size: 3.8vw;
	}

.profile_subTtl{
	margin-left: 3vw;
	font-size: 3.5vw;
}

.profile_text{
	font-size: 3.5vw;
}

.profile_staff{
	font-size: 3vw;
}



.theater_ttl,
.theaterList,
.theater_copy,
.theaterList_heading{
	max-width: 440px;
	margin-left: auto;
	margin-right: auto;
}

.theater_ttl{
	font-size: min(17px,4.2vw);
	line-height: 1.8;
}
.theater_copy{
	font-size: min(15px,3.7vw);
}

.theater_text{
	font-size: 17px;
	line-height: 2;
}

.theaterList_item,
.theaterList_anchor{
	font-size: min(16px,3.9vw);
}


.theaterList_item{
	flex-wrap: wrap;
	flex-wrap: column;
	margin-bottom: 5vw;
}
.theaterList_ttl{
	margin-top: 10vw;
}

.theaterList_emphasis{
	margin-left: min(4.2rem,17.5vw);
}





@media screen and (max-width: 450px) {
	.theaterList_misc{
		margin-left: min(4.2rem,17.5vw);
	}
}


.theater_ftrTexts{
	margin-top: min(50px,10vw);
	font-size: min(15px,3.7vw);
	line-height: 1.8;
}


.goods_item{
	width: 100%;
}
.goods_img{
	max-width: 300px;
}


.goods_ttl,
.goods_text{
	max-width: 300px;
	margin-left: auto;
	margin-right: auto;
}

.goods_text{
	font-size: min(14px,3.5vw);
}


.goods_afterTtl{
	font-size: min(20px,4.8vw);
}

.goods_afterText{
	font-size: min(15px,3.6vw);
}