@import url('https://fonts.googleapis.com/css2?family=Crimson+Text&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&display=swap');

/*---------Common---------------*/
*{
	box-sizing: border-box;
	position: relative;
}

.aplha{
	-ms-filter: "alpha( opacity=0 )";
	filter: alpha( opacity=0 );
	opacity: 0.0;
}

.onalpha{
	-ms-filter: "alpha( opacity=100 )";
	filter: alpha( opacity=100 );
	opacity: 1.0;
	transition: 0.2s;
	-webkit-transition: 0.2s;
	-moz-transition: 0.2s;
	cursor: default;
}

.onalpha:hover{
	-ms-filter: "alpha( opacity=80 )";
	filter: alpha( opacity=80 );
	opacity: 0.8;
	transition: 0.2s;
	-webkit-transition: 0.2s;
	-moz-transition: 0.2s;
	cursor: pointer;
}


.clearfix::after{
	content: "";
	display: block;
	clear: both;
}

a:focus, *:focus {outline:none;}


.sp, .sp_b{
	display: none;
}

.pc{
	display: inline-block;
}

.pc_b{
	display: block;
}

/*-----Header Menu-------*/

#nav_box{
	width: 100%;
	min-width: 1000px !important;
	height: 30px;
	position: fixed;
	top: 0;
	z-index: 300;
	background-repeat: no-repeat;
	background-position: top center;
	background-color: #1c3879;
}

#nav_set_box{
	padding:0;
	width:1000px;
	height:30px;
	margin:0px auto 0 auto;
	box-sizing: border-box;
	z-index:300;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	
}

.menu_btn{
	height: 30px;
	font-family: 'Bebas Neue', cursive;
	font-size: 12pt;
	font-weight: 100;
	color: #FFFFFF;
	border: 0;
	cursor: default;
	overflow: hidden;
	position: relative;
	padding-left: 20px;
	padding-right: 20px;
	/*	text-transform: inherit;*/
/*	transition: color 1s;*/
	transition: 0.7s;
	-webkit-transition: 0.7s;
	-moz-transition: 0.7s;
	background-color: #1c3879;
}

.menu_btn:hover{
	cursor: pointer;
	/*	color:#01a0ca;*/
/*	background-color: #fff;*/
	transition: 0.7s;
	-webkit-transition: 0.7s;
	-moz-transition: 0.7s;
	color: #1c3879;
	background-color: #FFFFFF;
}


.menu_btn2{
	height: 30px;
font-family: 'Bebas Neue', cursive;
	font-size: 12pt;
	font-weight: 200;
	color: #767676;
	background-color: #1c3879;
	border: 0;
	cursor: default;
	overflow: hidden;
	position: relative;
	padding-left: 45px;
	padding-right: 45px;
}

.btn_fb,
.btn_tw,.btn_ist
{
	width: 50px;
	padding-left: 0;
	padding-right: 0;
}


/*-----Menu Box-------*/
.menu_box{
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 20;
}

.btn_menu{
	width: 50px;
	height:50px;
font-family: 'Bebas Neue', cursive;
	font-size: 15pt;
	font-weight: 700;
	color:#e8d0c6;
	background-color: #000;
	border: 0;
	cursor: default;
	overflow:hidden;
	position: relative;
/*	padding-left: 15px;*/
/*	padding-right: 15px;*/
	float: left;
/*	text-transform: inherit;*/
/*	transition: color 1s;*/
	transition: 0.7s;
	-webkit-transition: 0.7s;
	-moz-transition: 0.7s;
	margin-left: 10px;
}

.btn_menu:hover{
	cursor: pointer;
	transition: 0.7s;
	-webkit-transition: 0.7s;
	-moz-transition: 0.7s;
	-ms-filter: "alpha( opacity=80 )";
	filter: alpha( opacity=80 );
	opacity: 0.8;
}




/*-----Main-------*/
#top_box{
	width: 100%;
	min-width: 1000px !important;
	margin-top: 30px;
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 0px;
	background-repeat: no-repeat;
	background-position: center top;
	overflow: hidden;
}

#top_set_box{
	width: 100%;
	min-width: 1000px !important;
	margin-top: 0;
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 0px;
}


.top_bg{
	width: 100%;
	min-width: 1000px;
	height: auto;
	margin-top: 0px;
	margin-left: 0px;
	display: block;
	z-index: 10;
}

.top_logoset{
	width: 100%;
	height: auto;
	position: absolute;
	z-index: 20;
}

.top_logoEN{
	width: 27.55%;
	height: auto;
	position: absolute;
	margin-top: 28.8%;
	margin-left: 63.0%;
	z-index: 20;
}

.top_koukai{
	width: 40.05%;
	height: auto;
	position: absolute;
	margin-top: 41.9%;
	margin-left: 56.8%;
	z-index: 20;
}

.top_cc1{
	width: 8.05%;
	height: auto;
	position: absolute;
	margin-top: 21.0%;
	margin-left: 1.4%;
	z-index: 20;
}



.top_cc2{
	width: 52.8%;
	height: auto;
	position: absolute;
	margin-top: 1.1%;
	margin-left: 1.4%;
	z-index: 20;
}

.top_txwbox{
	position: absolute;
	margin-top: 32.4%;
	margin-left: 62.15%;
	width: 25.95%;
	height: 28.2%;
	z-index: 20;
	text-align: center;
	overflow-y: auto;
}




.sns_bnr_box{
	position: absolute;
	margin-top: 51.4%;
	margin-left: 52.05%;
	width: 47.95%;
	z-index: 20;
	text-align: center;
}

.top_bnr{
	text-align: center;
	margin-top: 10px;
}

.top_bnr img{
	margin: 0px 5px 5px 0px;
	width: 50%;
	height: auto;
}


.bnr_enki_link{
	width: 19.7%;
	position: absolute;
	margin-top: 0.5%;
	margin-left: 31.1%;
	z-index: 20;
}

.bnr_enki{
	width:100%;
	height:auto;
	z-index: 20;
}

.bnr_onsei_link{
	width: 18.1%;
	position: absolute;
	margin-top: 0.3%;
	margin-left: 0.3%;
	z-index: 20;
}

.bnr_onsei{
	width:100%;
	height:auto;
	z-index: 20;
}

.bnr_channel_link{
	width: 15.7%;
	position: absolute;
	margin-top: 0.7%;
	margin-left: 35.3%;
	z-index: 20;
}

.bnr_channel{
	width:100%;
	height:auto;
	z-index: 20;
}





.bnr_filmarks_link{
	width: 14.7%;
	position: absolute;
	margin-top: 54.5%;
	margin-left: 1.1%;
	z-index: 20;
}

.bnr_filmarks{
	width:100%;
	height:auto;
	z-index: 20;
}






/*-----ftr-------*/

#ftr_box{
	z-index: 40;
	/*	margin-top: 20px;*/
	margin-right: 0px;
	margin-left: 0px;
	margin-bottom: 10px;
	clear: both;
	padding: 0px 0px 50px 0px;
	background-repeat: no-repeat;
	background-position: top center;
	display: none;
}


#ftr_naka{
	text-align: center;
	width: 700px;
	margin-left: auto;
	margin-right: auto;
	padding-top: 20px;
}

.pre_bl{
	display: block;
	margin: 0 auto;
}


#ftr_bnr{
	width: 1000px;
	margin: 0px auto 0px auto;
	text-align: center;
}


#ftr_bnr img{
	margin: 0px 5px 5px 0px;
}



/*-----Sub-------*/


.sub_box{
	width: 100%;
	min-width: 1000px;
	margin-left: auto;
	margin-right: auto;
	background-position: center top;
	background-repeat: no-repeat;
	position: relative;
	overflow: hidden;			
}

.in_box{
	margin: 0 auto;
	width: 1000px;
/*	padding-top: 10px;*/
}

.txt_box{
	font-size: 12pt;
	line-height: 2.1em;
	text-align: justify;
	text-justify: inter-ideograph;
}


.pad_lr{
	padding-left: 13px;
	padding-right: 13px;
}

/*-----tw_box-------*/
#tw_box{
	padding-top: 50px;
	padding-bottom: 100px;
	background-color: #FFFFFF;
}

#tw_box .txt_box{
	height: 800px;
	overflow-y: auto;
	padding-right: 30px;
}


#tw_box ::-webkit-scrollbar {
    width: 10px;
}

#tw_box ::-webkit-scrollbar-track {
  border-radius: 10px;
  box-shadow: inset 0 0 5px rgba(0, 0, 0, .1);
}

#tw_box ::-webkit-scrollbar-thumb {
  background-color: rgba(0, 0, 0, 0.5);
  border-radius: 10px;
  box-shadow:0 0 0 1px rgba(255, 255, 255, .3);
}


/*-----INTRODUCTION-------*/

#intro_box{
	padding-top: 1px;
	padding-bottom: 80px;
	background-color: #000;
	background-image: url(../images/intro_bg.jpg);
	background-position: center top;
	background-repeat: no-repeat;
	background-size: 100% auto;
}

@media screen and (max-width: 1800px) {
	#intro_box{
		background-size: auto;
	}
}

.intro1{
	
}

.intro h3{
	margin-top: 70px;
	margin-bottom: 50px;
	color: #fff;
	font-size: 18pt;
	font-weight: 400;
	text-align: center;
}

.intro_lead1{
	font-size: 34pt;
	font-weight: 700;
	color: #fff;
	text-align: center;
	letter-spacing: 0.4em;
	text-shadow: 0px 0px 3px rgba(0, 0, 0, 0.3), 0px 0px 6px rgba(0, 0, 0, 0.3), 0px 0px 6px rgba(0, 0, 0, 0.3), 0px 0px 6px rgba(0, 0, 0, 0.3);
	-moz-text-shadow: 0px 0px 3px rgba(0, 0, 0, 0.3), 0px 0px 6px rgba(0, 0, 0, 0.3), 0px 0px 6px rgba(0, 0, 0, 0.3), 0px 0px 6px rgba(0, 0, 0, 0.3);
	-webkit-text-shadow: 0px 0px 3px rgba(0, 0, 0, 0.3), 0px 0px 6px rgba(0, 0, 0, 0.3), 0px 0px 6px rgba(0, 0, 0, 0.3), 0px 0px 6px rgba(0, 0, 0, 0.3);
	
}

.intro_lead2{
	color: #1c3879;
	font-size: 21pt;
	font-weight: 700;
	text-align: center;
	margin-top: 49px;
}

.intro1_txt{
	margin-top: 15px;
	color: #1c3879;
}




.intro_ptbox{
	position: absolute;
	margin-top: -229px;
	margin-left: 516px;
}

.pre_intro_ptbox{
	transform: rotate(2.3deg);
	transform-origin: top left;
}

.pre_intro_pt{
	width: 527px;
	height: auto;
}


.shadow_M:after{
    content:'';
    position:absolute;
    z-index:-1;
    top:50%;
    bottom:6px;
    left:15px;
    right:15px;
	background: rgba(0, 0, 0, 0.7);
    -webkit-box-shadow:0 0 40px rgba(0,0,0,1.0);
    -moz-box-shadow:0 0 40px rgba(0,0,0,1.0);
    box-shadow:0 0 40px rgba(0,0,0,1.0);
    -moz-border-radius:100px / 40px;
    -o-border-radius:100px / 40px;
    border-radius:100px / 40px;
}



.h3_box{
	width: 5000px;
	margin-left: -4609px;
	margin-top: 164px;
}

.h3_en{
	font-size: 14pt;
	font-weight: 700;
	letter-spacing: 0.2em;
	line-height: 76px;
	text-align: right;
	padding-right: 98px;
}

.h3_jp{
	font-size: 20pt;
	line-height: 92px;
	border-top: 1px solid #000;
	text-align: right;
	padding-right: 47px;
}


#story{
}

.story_txt{
	color:#acb0e1;
	margin-top: 320px;
	width: 497px;
	line-height: 2.1em;
	text-align: justify;
	text-justify: inter-ideograph;
}

.story_lead{
	font-size: 18pt;
	font-weight: 700;
	margin-bottom: 35px;
}


.toha_txt{
	margin-top: 55px;
	width: 497px;
	color: #fff;
}


#slide_photo_box{
	position: relative;
	width: 100%;
	height: 270px;
	margin: 0 auto 0 auto;
	overflow: hidden;
	z-index: 30;
	max-width: 2000px !important;
	min-width: 1000px !important;
	box-sizing: border-box;
	padding-top: 0;
}

.photo_slider1,
.photo_slider2{
	width:9999px;
	height: 270px;
	background-repeat:repeat-x;
	position:absolute;
	margin-top:0;
	margin-left:0;
	z-index:30;
	align-content:flex-start;
	
}

.photo_slider1{
	background-image: url(../images/scrl_pt.jpg);
}




#intro_box .txt_box{
	margin-top: 131px;
	margin-bottom: 70px;
}

#intro_box h3{
	font-family: 'Bebas Neue', cursive;
}


.intro_lead{
	font-size: 17pt;
	line-height: 1.6em;
	margin-bottom: 30px;
/*	text-align:left;*/
/*	text-justify:inherit;*/
	
}

.intro_exp{
	font-size: 80%;
	line-height: 1.4em;
	margin-top: 50px;
	padding-left:1em;
	text-indent:-1em;
}

/*-----COMMENT-------*/
#cmt_box{
	padding-top: 26px;
	padding-bottom: 80px;
	color: #1c3879;
}

.cmt_ptbox{
	position: absolute;
	margin-top: -150px;
	margin-left: 446px;
}

.pre_cmt_ptbox{
	transform: rotate(-2.3deg);
	transform-origin: top left;
}

.pre_cmt_pt{
	width: 584px;
	height: auto;
}


#cmt_box h3{
	color: #1c3879;
	font-size: 15pt;
}

.h3_en{
	font-family: 'Bebas Neue', cursive;
}

#cmt_box .h3_jp{
	padding-right: 95px;
}

#cmt_box .txt_box{
	margin-top: 194px;
	margin-bottom: 0px;
}


.cmt_txt{
	margin-bottom: 100px;
}

#cmt_box .txt_box .cmt_txt:last-child{
	margin-bottom: 0px;
}

.cmt_name{
	font-size: 21pt;
	margin-bottom: 25px;
	background: linear-gradient(transparent 60%, #e1e8f7 60%);
	display: inline;
	padding: 0 5px;
}

.cmt_name::after {
	content: "\A";
	white-space: pre;
}

.chara{
	margin-top: 30px;
	display: none;
}


/*-----CAST-------*/
#cast_box{
	background-color: #e1e8f7;
	padding-top: 1px;
}

#cast_box h3{
	color:#1c3879;
	font-size: 15pt;
	text-align: center;
	margin-top: 60px;
	margin-bottom: 60px;
	font-family: 'Bebas Neue', cursive;
}

.cast_inbox{
	width: 100%;
	max-width: 2000px;
	margin: 0 auto;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
/*	-webkit-justify-content: space-between;*/
/*	justify-content: space-between;*/
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
/*	padding: 0 2.9%;*/
}

.cast_txtbox{
	width: 29.35%;
	max-width: 587px;
	min-width: 400px;
	overflow: hidden;
	margin: 0 1.65% 3.65%;
}

.cast7, .cast8, .cast9, .cast10, .cast11, .cast12, .cast13, .cast14, .cast15{
	width: 23.35%;
	min-width: 300px;
	margin: 0 1.65% 3.65%;
} 

.cast6:after{
	content: "\A" ;
	white-space: pre;
}





.cast_ptbox{
	width: 100%;
}


.cast_ptbox:before {
    content:"";
    display: block;
    padding-top: 100%;
	overflow: hidden;
}

.cast_ptname{
    position: absolute;
	width: 17%;
    top: 5px;
    left: 0;
	z-index: 20;
	color:rgba(0, 0, 0, 0.29);
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	font-size: 41pt;
	font-weight: 700;
}

.cast7 .cast_ptname, .cast8 .cast_ptname, .cast9 .cast_ptname, .cast10 .cast_ptname, .cast11 .cast_ptname, .cast12 .cast_ptname, .cast13 .cast_ptname, .cast14 .cast_ptname, .cast15 .cast_ptname{
	font-size: 30pt;
}


@-moz-document url-prefix() {
	.cast_ptname{
		width: 21%;
	}
}



.cast1 .cast_ptname,
.cast2 .cast_ptname,
.cast8 .cast_ptname,
.cast10 .cast_ptname,
.cast12 .cast_ptname,
.cast13 .cast_ptname,
.cast14 .cast_ptname
{
	color:rgba(255, 255, 255, 0.50);
}

.btn_plus1{
    position: absolute;
	bottom:8px;
	right: 8px;
	z-index: 20;
}

.cast_proftx{
	width: 60px;
	height: 60px;
    position: absolute;
	bottom:5px;
	right: 5px;
    position: absolute;
/*	color:rgba(0, 0, 0, 0.29);*/
	background-color:rgba(0, 0, 0, 0.4);
	z-index: 20;
	font-size: 47pt;
	color:#fff;
	border: 1px #fff solid;
	text-align: center;
	line-height: 54px;
}

.cast_pt{
	width: 100%;
	height: auto;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
	z-index: 10;
	transform-origin: 50% 50%;
	transition: 0.7s;
	-webkit-transition: 0.7s;
	-moz-transition: 0.7s;

}

.cast_txtbox:hover .cast_pt{
	transform: scale(1.05);
	transition: 0.7s;
	-webkit-transition: 0.7s;
	-moz-transition: 0.7s;
}

/*-----STAFF-------*/
#staff_box{
	padding-top: 1px;
}

#staff_box h3{
	color:#1c3879;
	font-size: 15pt;
	text-align: center;
	margin-top: 60px;
	margin-bottom: 60px;
	font-family: 'Bebas Neue', cursive;
}


.staff_inbox{
	width: 100%;
	max-width: 2000px;
	margin: 0 auto;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}

.staff_txtbox{
	width: 29.35%;
	max-width: 587px;
	min-width: 400px;
	height: 222px;
	overflow: hidden;
	margin: 0 1.65% 3.65%;
}

.staff_ptbox{
	width: 100%;
	height: 222px;
	color:#1c3879;
	background-color: #e2e8f8;
	padding: 15px;
}

.btn_plus2{
    position: absolute;
	bottom:8px;
	right: 8px;
	z-index: 20;
}

.staff_proftx{
	width: 50px;
	height: 50px;
    position: absolute;
	bottom:5px;
	right: 5px;
    position: absolute;
	z-index: 20;
	font-size: 47pt;
	color:#fff;
	border: 1px #fff solid;
	text-align: center;
	line-height: 40px;
}

.staff_pt1{
	width: 192px;
	height: auto;
}

.staff_txtbox1{
	flex: 1;
}

.staff_namebox{
	width: 260px;
	margin: 51px auto 0;
}

@media screen and (max-width: 1680px) {
	.staff_txtbox1 .staff_namebox{
		width: 150px;
	}
}

.staff1 .staff_ptbox{
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}

.staff_roll{
	text-align: center;
	border-bottom: 1px #1c3879 solid;
	padding-bottom: 15px;
}

.staff_name{
	text-align: center;
	font-size: 20pt;
	padding-top: 15px;
}



/*----------CAST Mado------------*/

#white_layer{
	position: fixed;
	z-index: 15000;
	background-color: #fff;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	filter: alpha(opacity=0);
	opacity: 0.0;
	display: none;
	margin:0 auto;
	cursor: pointer;
	
}


#cast_mado{
	position: absolute;
	width: 810px;
	color: #1c3879;
	background-color: #fff;
	z-index: 20000;
	background-image: url(../images/btn_tojiru1.png);
	background-size: 51px 51px;
	background-repeat: no-repeat;
	background-position: top 13px right 13px;
	cursor: pointer;
	display: none;
	-ms-filter: "alpha( opacity=0 )";
	filter: alpha( opacity=0 );
	opacity: 0.0;
/*	box-shadow:0px 0px 6px 1px rgba(0, 0, 0, 0.35);*/
}

#cast_mado.staff_mado{
	color: #fff;
	background-color: #1c3879;
	background-image: url(../images/btn_tojiru2.png);
}


.cast_mados{
	width: 100%;
/*	height: 700px;*/
/*	position: absolute;*/
	margin-top: 0px;
	margin-left: 0px;
	display: none;
	z-index: 20000;
	padding: 35px
}



.cast_mados .cast_name,
.cast_mados .staff_name{
	font-size: 21pt;
	text-align: left;
	margin-top: 0;
	margin-bottom: 15px;
	background: linear-gradient(transparent 70%, #d9e8ff 0%);
	padding: 10px 10px 0;
	display: inline;
}

.cast_mados .staff_name{
	background: linear-gradient(transparent 70%, #3c5ca5 0%);
}

.cast_mados .cast_name:after,
.cast_mados .staff_name:after{
	content: "\A" ;
	white-space: pre;
	height: 10;
}



.cast_mados .cast_ptm{
	width: 337px;
	height: auto;
	margin-right: 20px;
}

.cast_mados .txt_box{
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: flex-start;
	align-items: flex-start;
}


.prof_txt{
/*	width: 540px;*/
	flex: 1;
	line-height: 1.8em;
}


.chara_title{
	font-size: 18pt;
	background: linear-gradient(transparent 70%, #d9e8ff 0%);
	text-align: left;
	margin: 15px 0;
}

.chara_name{
	font-size: 18pt;
}


























/*------- FOOTER ----------------*/



.btn_back{
	width: 206px;
	height: 60px;
	text-align: center;
	background-color: #e0eaf3;
	color: #1c3879;
	font-family: 'Bebas Neue', cursive;
	font-size: 16pt;
	line-height: 60px;
	margin: 115px auto 0;
	cursor: default;
	transition: 0.7s;
	-webkit-transition: 0.7s;
	-moz-transition: 0.7s;
}

.btn_back:hover{
	transition: 0.7s;
	-webkit-transition: 0.7s;
	-moz-transition: 0.7s;
	-ms-filter: "alpha( opacity=80 )";
	filter: alpha( opacity=80 );
	opacity: 0.8;
	cursor: pointer;
}


#footer{
	background-color: #1c3879;
	padding-top: 110px;
	padding-bottom: 110px;
	text-align: center;
}




/*------- SNS ----------------*/

#top_tw{
	position: relative;
	display: inline-block;
	z-index: 500;
	margin-top: 10px;
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 0px;
	height: 25px;
}

.fb {
	margin: 2px 0px 0px 0px;
	padding: 0px;
	display: inline;
	float: left;
} 

.tw {
	margin: 2px 0px 0px -8px;
	padding: 0px;
	display: inline;
	float: left;
} 

.line{
	margin: 2px 0px 0px 10px;
	padding: 0px;
	display: inline;
	float: left;
}


.eigacom{
	margin: 2px 0px 0px 10px;
	padding: 0px;
	display: inline;
	float: left;
} 
