@charset "utf-8";
/*=================================
1: setting
2: header
3: footer
4: common-content
5: top page
6: second page
=================================*/


/* ウィンドウ幅が～768pxの場合に適用するCSS */
@media only screen and (max-width: 768px) {

/* 1: setting
================================== */
body,
#wrapper,
#header {
	width: 100%;
	min-width: 100%;
	font-size: 1.5rem;
	overflow-x: hidden!important;
}
.sp_none {
	display: none;
}
.sp_show {
	display: block !important;
}


.fBig {font-size:2.0rem;}
.box h4 {font-size:2.0rem;}
.box h5 {font-size:1.8rem;}
.scroll {
    overflow: auto;
}

.ja #main {
	margin-top:85px;
}

/* 2: header
================================== */
#wrapper {
	overflow: visible;
}
#header {
	height: auto;
	position:fixed;
	width:100%;
	top:0;
}
.ja #header {
	height: auto;
	position:fixed;
	width:100%;
	top:40px;
	padding-bottom:10px;
}
.header_main {
	height: 60px;
	/*background:#000;*/
	overflow:hidden;
}

.logo {
	padding-left:10px;
	padding-top:5px;
}

.logo img {
	width:150px;
	height:auto;
}


.header_sub_inr li a {
	padding: 0 0.5em;
}

.sns {
	position:absolute;
	top:0;
	right:25px;
}

.sound {
	position:absolute;
	top:0;
	right:0;
	width:0;
}

  .audio_button {
    width: 25px;
    height: 25px;
    margin: 0 auto;
    background: url(../img/ico_off_sp.svg) no-repeat center center;
    background-size: contain;
    cursor: pointer;
  }
  
  .play .audio_button {
    background: url(../img/ico_on_sp.svg) no-repeat center center;
}

.header_sub_list {
	font-size:1.2rem;
}

.title {
	min-height: 100vh;
	z-index: -1;
position: relative;
}

.video_wrapper {
	padding-top:0;
}

.video_wrapper2 {
	position:relative;
}

.twitter a {
	margin:0 auto;
	width:30px;
	height: 31px;
}

.fadein {
    top:20%;
}

.fadein img {
	width:90%;
	max-width:600px;
	height:auto;
	margin:20px auto;
}

.sp_menu {
	background:#bd1920;
	height:80px;
	overflow:hidden;
	margin:0 auto;
	z-index:10;
}

	.sp_menu li {
		width:calc(100%/3);
		border-bottom:solid 1px #fff;
		text-align:center;
	}

	.sp_menu a {
		display:block;
		color:white;
		text-decoration:none;
		text-align:center;
		line-height:40px;
		font-family: 'IM Fell DW Pica SC', serif;
		font-size:1.4rem;
	}


.en #menu li,
.fr #menu li,
.cn #menu li,
.kn #menu li {
	font-size: 1.2rem;
	font-weight:bold;
}

.en #menu li a,
.fr #menu li a,
.cn #menu li a,
.kn #menu li a {
	padding: 0 5px;
}


/* -----gnav----- */

#btn {
	display: block;
}

#dl-menu {
	display:none;
	margin:0;
	padding:0;
	height:auto;
	overflow-y: hidden!important;
}
.search {
	z-index:999;
	position:absolute;
	top:20px;
	left:10px;
}


.dl-trigger-bg {
	display: block;
	top: 0;
	left:0;
	width: 100%;
	height: 60px;
	position:fixed;
	background: #000;
	z-index: 99998;
}
	
.dl-trigger {
	display: block;
	top: 10px;
	left:10px;
	position:fixed;
	height: 50px;
	width:40px;
	background: none;
	border: none;
	text-indent: -900em;
	overflow: hidden;
	cursor: pointer;
	outline: none;
	z-index: 99999;
	-webkit-transition: .35s ease-in-out;
	-moz-transition: .35s ease-in-out;
	transition: .35s ease-in-out;
	
}
.dl-trigger img {
	width: 30px;
	height: auto;
	margin: 10px auto 0;
}
.dl-trigger span {
	position: absolute;
	left: 0;
	right: 0;
	display: inline-block;
	width: 30px;
	height: 2px;
	transition: all .4s;
	background-color: #fff;
}
.dl-trigger span:nth-of-type(1) {
	top: 7px;
}
.dl-trigger span:nth-of-type(2) {
	top: 15px;
}
.dl-trigger span:nth-of-type(3) {
	bottom: 25px;
	width:15px;
}
.dl-trigger.active span:nth-of-type(1) {
	-webkit-transform: translateY(5px) rotate(-45deg);
	transform: translateY(5px) rotate(-45deg);
}
.dl-trigger.active span:nth-of-type(2) {
	opacity: 0;
}
.dl-trigger.active span:nth-of-type(3) {
	-webkit-transform: translateY(-10px) rotate(45deg);
	transform: translateY(-10px) rotate(45deg);
	width: 30px;
}
.fixbody {
	overflow: hidden;
	width: 100%;
	height: 100%;
}

.spnav_close {
	margin-top:20px;
    margin-bottom: 30px;
    cursor: pointer;
}

.spnav_close span {
    display: block;
    width: 30%;
    margin: 0 auto;
    padding: 10px;
    background: #FFF;
    text-align: center;
    color: #000;
    font-weight: bold;
}

	.spnav_close span:hover {
		background:#48c4b7;
		color:white;
	}

#dl-menu {
	position:fixed;
	top:60px;
	left:0;
	width:100%;
	z-index:999999;
	overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

#dl-menu .flexbox_cwap {
	display:block;
	position:relative;
	z-index:999;
	background:#036;
}

.menu > li {
	margin:0;
	position:relative;
}

.menu > li > a {
	display:block;
	width:100%;
	color:white;
	border-bottom:solid 1px #fff;
	background:#bd1920;
}

	.menu.lang {
		background:#333;
		overflow:hidden;
		position:relative;
		margin:0;
		top:0;
	}

	.menu.lang > li {
		width:calc( 100%/5 );
		float:left;
	}
	
	.menu.lang > li a {
		background:#333;
		font-size:1.2rem;
		padding: 0 5px;
		text-align:center;
	}
	
	.menu.lang li a {
		height:50px;
		line-height:50px;
	}
	
	.lang li::before {
		content:"";
	}
	

.menu > li > a:hover, 
.menu > li.current a {
	background:#000;
	color:white!important;
}



/* 3: footer
================================== */


#page-top {
	right: 10px;
}
#page-top img{
	width: 40px;
	height: 40px;
}

#accordion dd {
	display:none;
}

#accordion dt {
	position:relative;
	display:block;
}


#accordion .open_icn {
	background: #006bbb;
}


/* 4: common-content
================================== */
section {
	padding-top:60px;
	margin-top:-60px;
}
.inr {
	padding: 10px;
}

h1 {
	width:100%;
	padding-top:60px;
}

	h1 img {
		max-width:100%;
		height:auto;
	}

.main_image_sp {
	min-width:auto;
	height: auto;
	background-position:center center;
	background-size: cover;
	display: flex;
	align-items: center;
	justify-content: center;
}

	.main_image_sp h1 img {
		width:80%;
		margin:20px auto;
	}
	
.mainSite {
	width:100%;
	height:auto;
}


/* 5: top page
================================== */
.intro{
	max-width:200px;
}
.staff {
	max-width:200px;
}

h3 {
	font-size:1.6rem;
}

.s_cast h3 {
	font-size:1.4rem;
}

.inr p,
.faq {
	font-size:1.4rem;
}

.face {
	float:none;
	margin:0 auto;
}

	.face img {
		margin:0 auto;
		max-width:200px;
		height:auto;
	}
	
/* go topボタン */
#page-top a {
	width: 36px;
	height: 36px;
}
#page-top a:after {
	top: 15px;
	right: 14px;
	width: 8px;
	height: 8px;
	border-top: 2px solid #FFF;
	border-right: 2px solid #FFF;
}

/* 6: second page
================================== */

.sec section {
	padding-top:160px;
	margin-top:-100px;
}

.sec .logo {
	margin:0;
	left:0px;
	top:65px;
}

.sec .header_main,
.sec .menu_bg {
	height:110px;
}

#cast,
#schedule {
	margin-top:-100px;
}

.area_sch {}

.area_sch .list_sch li {
	font-size: 2.5rem;
}
	
/*	
#cast .list_p1 li,
#cast .list_p2 li {
	width:40%;
	margin-bottom: 2em;
}


#cast .btn {
	font-size: 1.2rem;
	width:auto;
	padding:0.2em;
}

	#cast li img,
	#cast .s_cast li img {
		max-width:100%;
		height:auto;
	}

#cast .s_cast li {
	width: calc( 100%/3 - 20px );
	margin:0 5px 5px 1em;
}
*/
	
.modalWrapper,
.modalWrapper.subcast {
	width: 90%;
	height: 70%;
}

/*#cast .cast_list li {
	width:auto;
}

#cast .list_e li {
	width: auto;
	}	*/
	
#caution {
	font-size:1.0rem;
	height:60px;
}

#flyer .flyer_sec li {
	width:100%;
}

	#flyer .flyer_sec li img {
		max-width:300px;
	}



.goods > li {
	width: 100%;
}


.bd_ver_cast dt {
	font-size: 1.2em;
}



}

/* ウィンドウ幅が～580pxの場合に適用するCSS */
@media only screen and (max-width: 600px) {
/*	#cast .list_e .pk2 {
		display: block;
		}*/
}

/* ウィンドウ幅が～400pxの場合に適用するCSS */
@media only screen and (max-width: 400px) {

/****　お問い合わせ　****/
	.bd_contact {}
	.bd_contact .pk {
		display: inline;
	}
	.bd_contact .note {
		text-align: left;
	}



}



/* ieハック */
@media all and (-ms-high-contrast:none){
	*::-ms-backdrop, .dl-trigger img { margin: 0 auto; } /* IE11 */
}
