
@media screen and (max-width: 767px) {
	html {
		height: 100%;
	}

	body {
		height: 100%;

	}

	.sp {
		display: inline-block;
	}

	.sp_b {
		display: block;
	}

	.vsp {
		display: none;
	}

	.pc,
	.pc_b {
		display: none;
	}

	/*-----Loading-------*/
	#sound_inbox {
		width: 100%;
		padding: 0 13px;
	}

	#bgm_btnbox{
		display: block;
	}

	.open_btn{
		margin-bottom: 10px;
		font-size: 20pt;
		letter-spacing: 0.1em;;
		padding: 10px 0px;
		width: 80%;;
		display: inline-block;
	}

	#sound_page img {
		width: 90%;
		height: auto;
	}
	
	/*-----HEADER-------*/
	#header_sp{
		width: 100%;
		height: 4.6rem;
		position: fixed;
		top: 0;
		z-index: 300;
		color: #fff;
		background-color: #3f5c5d;
	}
	
	#header_sp_sns{
/*		text-align: center;*/
		width: calc(100% - 4.6rem);
	}
	
	#header_sp_sns a{
		color: #fff;
		font-size: 12pt;
		margin: 0 0.6rem;
		line-height: 4.4rem;
	}

	/*-----TOP-------*/
	#main {
		min-width: inherit;
		margin-top: 4.6rem;
	}
	
	.share_box{
		width: 100%;
		right: 0;
	}
	

	#top_sp_box {
		width: 100%;
		margin-top: 0;
		padding: 0;
	}



	.top_logo_sp,
	.top_cc_sp,
	.top_koukai_sp{
		width: 100%;
		height: auto;
		position: absolute;
		margin-top: 0px;
		margin-left: 0px;
		z-index: 20;
	}

	.top_logo_sp{
		transform-origin: 50% 70.1%;
	}

	

	.top_bg_sp {
		width: 100%;
		height: auto;
		margin: 0px;
		display: block;
		z-index: 10;
	}


	#bnr_sp_box {
		width: 100%;
		text-align: center;
	}

	#bnr_sp_box img {
		display: block;
		margin: 0 auto 10px auto;
	}


	/*-----mvtk-------*/
	#mvtk_box{
		min-width:inherit;
	}

	#mvtk_box #mvtk-widgets-container {
		margin: 0px auto 10px;
	}

	.mvtk_bnr .pc_b{
		display: none;
	}


	
	
	#mvtk_box img.bnr_mvtk{
		width: 200px;
		height: auto;
		margin: 0 0 10px;
	}
	
	.mvtk_bnr{
		display: block;
	}

	.theater_link{
		display: block;
		width: 200px;
		height: auto;
		margin: 0 auto 0px auto;
		text-align: center;
		font-size: 11pt;
		padding: 5px;
	}



	#trailer_sp_box {
		width: 100%;
		text-align: center;
		margin: 0px;
		background-color: #000;
		padding-top: 20px;
		padding-bottom: 20px;
	}

	#trailer_sp_box iframe {
		width: 90%;
		height: calc(100vw * 0.6);
		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_box {
		width: 50%;
		padding: 1px;
	}

	.movie_nav_box_long {
		width: 100%;
		padding: 1px;
	}

	.movie_nav_btn {
		display: block;
		min-height: 40px;
		line-height: 40px;
		letter-spacing: 3px;
		text-align: center;
		text-decoration: none;
		background-color: #D5D5D5;
		/*  font-family: 'Noto Sans JP', serif;*/
	}

	.movie_nav_btn.selected {
		background-color: #000000;
	}

	a.movie_nav_btn:link,
	a.movie_nav_btn:visited {
		color: #000000;
	}

	a.movie_nav_btn.selected:link,
	a.movie_nav_btn.selected:visited {
		color: #fff;
	}


	#ftr_sp_box {
		width: 100%;
		text-align: center;
		padding-bottom: 20px;

	}
	
	h3{
		margin-bottom: 30px;
	}

	#trailer_sp_box h3 {
		font-family: "Bebas Neue", sans-serif;
		color: #fff;
		margin-top: 0px;
		font-size: 13pt;
		margin-bottom: 10px;

	}

	.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_sp_tw {
		display: inline-block;
		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;
		/*		width: 233px;*/
		/*		width: 157px;*/
	}

	.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: 0;
	}


	.tw {
		margin-top: 0px;
		margin-right: 0px;
		margin-left: 5px;
		margin-bottom: 0;
		float: left;
		width: 36px;
	}


	.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: 19pt;
	}

	/*-----TRAILER-------*/
	#trailer_box{
		padding-top: 20px;
		padding-bottom: 50px;
		text-align: center;
		background-color: #0a0a0a;
	}	


	.play_btn{
		width: 250px;
	}


	.footer_bl {
		width: 100%;
		height: auto;
		display: block;
		margin: 0 auto;
	}

	/*-----Bnr-------*/
	#bnr_box{
		padding-top: 10px;
		padding-bottom: 50px;
	}

	#bnr_box .in_box{
		width: 100%;
	}

	#bnr_box .bnr{
		width: 300px;
		height: 120px;
	}

	/*-----STORY-------*/
	#story_box{
		padding-top: 50px;
		padding-bottom: 50px;
		text-align: center;
	}

	#story_box .in_box{
		font-size: 14pt;
		line-height: 2.3em;
	}



	/*-----CAST-------*/

    .cast-section {
        padding-top: 50px;
        padding-bottom: 50px;
    }

    .cast-slider {
		width: 100%;
        padding: 0 50px;
    }

    .cast-text {
        margin: 12px auto 0;
        font-size: 12px;
        letter-spacing: 0px;
        text-align: center;

}

    .slick-prev {
        left: 10px;
    }

    .slick-next {
        right: 10px;
    }

    .cast-slider .slick-prev,
    .cast-slider .slick-next {
        top: 32%;
        /* Lower text ratio pushes image center higher up in % */
    }

    .slick-prev img,
    .slick-next img {
        width: 25px;
    }

    .cast-img-wrap .icon12 {
        bottom: 10px;
        right: 10px;
        font-size: 24px;
        /* Scaled down proportionally to image size on SP */
    }

	.cast_inner{
		display: block;
	}

	.chara_poster{
		width: 100%;
		margin-bottom: 20px;
	}

	.cast_txt{
		width: 100%;
		padding-left: 0;
	}

	.cast_name{
		font-size: 16pt;
	}
	.cast_actor{
		font-size: 12pt;
	}

	.cast-slider i.icon12{
		font-size: 31pt;
		letter-spacing: 0em;
	}

	ul.slick-dots{
		gap: 11px;
	}


	/*-----GALLERY-------*/

	#gallery_box{
		padding-top: 20px;
		padding-bottom: 50px;
		text-align: center;
	}

	#gallery_box .in_box{
		display: flex;
		justify-content: center;
		align-items: center;
		flex-wrap: wrap;
		gap: 4%;
	}

	#gallery_box .in_box div{
		width: 42%;
		height: auto;
		display: block;
		margin-bottom: 4%;
	}

	#gallery_box .in_box div:after{
		right: 3px;
		bottom: 3px;
		width: 23px;
		height: 23px;
	}




}
