@import url('https://fonts.googleapis.com/css2?family=Libre+Baskerville:ital,wght@0,400..700;1,400..700&display=swap');

@media screen and (max-width: 767px) {
	html {
		height: 100%;
	}

	body {
		height: 100%;
		background-color: #fff;
	}

	.sp {
		display: inline-block;
	}

	.sp_b {
		display: block;
	}

	.vsp {
		display: none;
	}

	.pc,
	.pc_b {
		display: none;
	}

	/*-----Loading-------*/
	#loading {
		position: fixed;
		width: 100%;
		height: 100%;
		top: 0;
		z-index: 999;
		background: #000;
		text-align: center;
		color: #fff;
		display: none;
	}

	#loading_logo {
		position: absolute;
		width: 100%;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
	}

	#loading_logo img {
		width: 90%;
		height: auto;
	}

	/*-----HEADER-------*/
	#header_sp {
		width: 100%;
		height: 4.6rem;
		position: fixed;
		top: 0;
		z-index: 300;
		color: #fff;
		background-color: #000;
		border-bottom: 1px #fff solid;
	}

	#header_sp_sns {
		/*		text-align: center;*/
		width: calc(100% - 4.6rem);
		height: 4.6rem;
		padding-top: 1rem;
	}

	#header_sp_sns a {
		color: #fff;
		font-size: 17pt;
		margin: 0rem 0.9rem;
		line-height: 4.4rem;
	}

	/*-----Main-------*/
	main{
		min-width:inherit;
		margin-top: 4.6rem;
	}

	#top_sp_box {
		width: 100%;
		/* margin-top: 4.6rem; */
		background-color: #000;
		padding-bottom: 1px;
	}



	.top_logo_sp,
	.top_koukai_sp,
	.top_bl_sp {
		width: 100%;
		height: auto;
		position: absolute;
		margin-top: 0px;
		margin-left: 0px;
		z-index: 20;
	}

	.top_bg_sp {
		width: 100%;
		height: auto;
		margin-top: 0px;
		margin-left: 0px;
		display: block;
		z-index: 10;
	}
	
	.btn_poster{
		width: 90%;
		max-width: 300px;
		margin: 0 auto 40px;
		z-index: 20;
	}

	#bnr_sp_box {
		width: 100%;
		text-align: center;
	}

	#bnr_sp_box img {
		display: block;
		margin: 0 auto 10px auto;
	}

	#trailer_sp_box {
		width: 100%;
		text-align: center;
		background-color: #F0A6E3;
		padding-top: 20px;
		padding-bottom: 20px;
		margin-top: 20px;
	}


	#trailer_box iframe {
		width: 90%;
		height: calc(100vw * 0.6);
		margin: 0 auto;
	}

    .trailer-content{
        width: 100%;
        font-size: 14px;
        line-height: 2;
        text-align: center;
    }

	iframe.katoku_pv {
		width: 90%;
		height: calc(100vw * 0.9 * 9 /16);
		margin: 0 auto;
	}


	.movie_nav {
		width: 90%;
		display: -webkit-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		margin-top: 7px;
		margin-right: auto;
		margin-left: auto;
		margin-bottom: 0;
		padding: 0;
	}


	.movie_nav_btn {
		display: block;
		text-align: center;
		text-decoration: none;
	}



	.mv4 {
		width: 25%;
		padding: 1px;
	}

	.mv3 {
		width: 33%;
		padding: 1px;
	}

	.mv2 {
		width: 50%;
		padding: 1px;
	}

	.mv1 {
		width: 100%;
		padding: 1px;
	}




	#ftr_box {
		width: 100%;
		text-align: center;
		margin-top: 0;
		padding-bottom: 20px;
		background-color: #f0a6e3;
	}
	
	.footer_link a:hover {
		color: #000;
		text-decoration: underline;
	}
	
	#ftr_naka{
		width: 100%;
	}

	.pre_bl_sp {
		width: 95%;
		height: auto;
		display: block;
		margin: 0 auto;
	}

	#ftr_sp_bnr {
		width: 100%;
		text-align: center;
		padding-top: 15px;
	}

	#ftr_sp_bnr img {
		width: 90%;
		margin: 0 auto 8px auto;
	}

	#top_tw {
		margin-top: 15px;
		margin-right: auto;
		margin-left: auto;
		margin-bottom: 0px;
		padding-right: 0px;
		padding-left: 0px;
		padding-bottom: 10px;
		clear: both;
		height: 100px;
	}

	.sns {
		margin-top: 0px;
		margin-right: 7px;
		margin-bottom: 0;
		float: left;
		margin-left: 0;
	}


	.fb {
		margin-top: 0px;
		margin-right: 0px;
		margin-bottom: 0;
		float: left;
		margin-left: 5px;
	}


	.tw {
		margin-top: 0px;
		margin-right: 0px;
		margin-left: 5px;
		margin-bottom: 0;
		float: left;
	}


	.lineb {
		margin-top: 0px;
		margin-right: 0px;
		margin-left: 5px;
		margin-bottom: 0;
		float: left;
		width: 37px;
	}

	.eigacom {
		margin-left: 0px;
		text-align: left;
		float: left;
		margin-top: 0px;
		height: 60px;
		/*		width: 36px;*/
	}


	.sub_box {
		min-width: inherit;
	}

	.in_box {
		width: 100%;
	}
	
	h3{
		font-size: 16pt;
		margin-top: 30px;
		margin-bottom: 30px;
	}
	
	/*------- MOVIE ----------------*/
	#trailer_box{
		padding-top: 50px;
		padding-bottom: 50px;
	}

	/*------- INTRODUCTION ----------------*/
	#intro_box{
		padding-top: 50px;
	}

	#intro_body{
		background-image: url('../images/intro_bg_sp.jpg');
		background-size: 110% auto;
		background-position: right 10%;
		padding-bottom: 50px;
	}

	#intro_box .txt_box{
		padding-right: 0;
	}

	.intro_lead1{
		font-size: 18pt;
		line-height: 1.6em;
		margin-bottom: 30px;
		text-align: left;
	}

	.intro_lead2{
		font-size: 13pt;
		font-weight: 400;
		line-height: 1.6em;
		margin-top: 30px;
	}

	/*------- PHOTO ----------------*/

	#photo_box{
		flex-wrap: wrap;
	}

	#photo_box img{
		width: 50%;
	}


	
	/*------- PROFILE ----------------*/
	#profile_box{
		padding-top: 50px;
		padding-bottom: 50px;
	}

	.prof_pt{
		width: 100%;
		height: auto;
	}

	.bnr_official_w{
		width: 90%;
		height: auto;
		margin: 20px auto 10px;
	}

	.prof_name{
		font-size: 16pt;
		padding-bottom: 30px;
		line-height: 1.6em;;
	}

	a.bio_link{
		font-size: 11pt;
		padding: 20px 0px;
		width: 90%;
	}


	/*------- TICKET ----------------*/
	#ticket_box{
		padding-top: 10px;
		padding-bottom: 50px;
		text-align: center;
	}

	.ticket_txtbox{
		padding: 20px;
		font-size: 14pt;
	}
	
	.ticket_txtbox h4{
		font-size: 18pt;
		padding-bottom: 15px;
		margin-bottom: 20px;
	}
	
	.notice_box{
		width: 100%;
		margin-top: 20px;
	}
	
	.page_open{
		margin-top: 10px;
		line-height: 1.4em;
	}
	
	a.ticket_link{
		width: 100%;
		max-width: 300px;
		font-size: 12pt;
	}
	
	.goods_flex{
		display: block;
	}
	
	.goods_R{
		margin-right: 0;
	}

	.goods_lawson,
	.goods_toho{
		width: 90%;
		max-width: 300px;
		margin: 0px auto 20px;
	}

	.goods_flex .notice_box{
		width: 100%;;
	}







	/*-----FOOTER-------*/
	#footer{
		padding: 20px 10px 50px;
	}


	.bnr_official{
		width: 80%;
		height: auto;
		margin: 0 auto 20px;
	}

	#ftr_naka{
		padding: 0px 20px 40px;
	}

	#ftr_sns{
		padding-top: 20px;
	}


}

@media screen and (max-width: 330px) {
	.vsp {
		display: inline-block;
	}

}
