/*=================================================
 * CSS for PC
 * ================================================= */

main{	padding-bottom: 50px;}
.s_title{	margin-bottom: 10px;}


header{
	width: 750px;
	height: 731px;
	padding: 0;
	background: url(./img/header.png) no-repeat top center;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
#navToggle{	background: none;}
#navToggle.fix{	background: rgba(255, 255, 255, 0.95);}
.opennav #navToggle.fix{
	background: none;
}
#navToggle:after{
	content: '';
	width: 130px;
	height: 58px;
	background: url(../img/all/logo.png) no-repeat;
	background-size: 130px auto;
	position: absolute;
	top: 10px;
	left: 15px;
	opacity: 0;
	filter: alpha(opacity=0);
	-webkit-transition	: 0.4s ease-in-out;
	-moz-transition	: 0.4s ease-in-out;
	-o-transition	: 0.4s ease-in-out;
	transition		: 0.4s ease-in-out;
}
#navToggle.fix:after,
.opennav #navToggle:after{
	opacity: 1;
	filter: alpha(opacity=100);
}

#topimg{
	position: relative;
	font-size: 0;
	line-height: 0;
	display: block;
	width: auto;
	height: auto;
	text-align: center;
	margin: 0;
	background: #fff;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}

.bxslider li {
	opacity: 0;
	filter: alpha(opacity=0);
}
.bx-viewport .bxslider li {
	opacity: 1;
	filter: alpha(opacity=100);
}


/** komi **/

#komi{
	padding: 30px 0 40px 0;
}

.klist{
	font-size: 0;
	line-height: 0;
	text-align: center;
	margin: 0 0 10px 0;
	padding: 0 0 10px 0;
}

.klist > a{
	display: inline-block;
	vertical-align: top;
	position: relative;
	margin: 0 7.5px 0 7.5px;
}

.klist > a .kimg{
	width: 160px;
	height: 160px;
	overflow: hidden;
	border-radius: 50%;
	box-shadow: 0 0 15px 1px rgba(192, 191, 186, 0.5);
}
.klist > a .kimg img{
	width: 100%;
	height: auto;
}
.klist > a .kdate{
	width: calc(100% - 15px);
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
	font-size: 13px;
	line-height: 20px;
	text-align: center;
	color: #fff;
	background: #293e6e;
	border-radius: 10px;
	position: absolute;
	left: 7.5px;
	bottom: 15px;
}

#komi .sat{	color: #99ccff;}
#komi .sun{	color: #ff6666;}

#komi .bt1{
	display: inline-block;
	vertical-align: top;
	width: 280px;
	background: #fff;
}
#komi .bt1:hover{
	background: #b99534;
}


/** news **/

#news{
	margin: 0;
	padding: 0;
	color: #fff;
	background: #293e6e;
	padding: 30px 15px 40px 15px;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}

#news_in{
	height:250px;
	text-align: left;
	color: #333;
	background: #fff;
	overflow-y		: auto;
	overflow-scrolling: touch;
	-webkit-overflow-scrolling: touch;
	padding: 15px;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}

#news .nbox{
	padding: 15px 0;
	border-bottom: 1px solid #ddd;
}
#news .nbox:last-of-type{	border: none;}

#news .nbox > h4{
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
	font-size: 22px;
	line-height: 24px;
	color: #214771;
}

#news .nbox > .date{
	font-size: 12px;
	line-height: 20px;
	color: #b99534;
	margin: 0 0 10px 0;
}

#news .nbox > .txt{
	font-size: 14px;
	line-height: 1.5;
}


/** cast **/

.toptxt{
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
	font-size: 18px;
	line-height: 22px;
	text-align: center;
	padding: 10px 0 45px 0;
}
.toptxt span{	color: #cc0000;}

.com{
	font-size: 0;
	line-height: 0;
	text-align: left;
	padding: 0 7.5px;
}

.com .cbox{
	position: relative;
	display: inline-block;
	vertical-align: top;
	width: calc(100% / 4 - 15px);
	margin: 0 7.5px 40px 7.5px;
	color: #222;
}
.com .cbox:hover{
	text-decoration: none;
}

.com .cbox .img_bg{
	position: relative;
	display: block;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
.com .cbox .img{
	display: block;
	width: 100%;
	height: 133%;
	overflow: hidden;
	margin: 0;
	-webkit-transition	: 0.4s ease-in-out;
	-moz-transition	: 0.4s ease-in-out;
	-o-transition	: 0.4s ease-in-out;
	transition		: 0.4s ease-in-out;
}

.com .cbox .img > img{
	width: 100%;
	height: auto;
	-webkit-transition	: 0.4s ease-in-out;
	-moz-transition	: 0.4s ease-in-out;
	-o-transition	: 0.4s ease-in-out;
	transition		: 0.4s ease-in-out;
}

.com .cbox .img:hover > img{
    -webkit-transform: scale(1.05);
    -moz-transform: scale(1.05);
    -o-transform: scale(1.05);
    -ms-transform: scale(1.05);
    transform: scale(1.05);
}

.com .cbox .icon{
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
	font-size: 12px;
	line-height: 22px;
	color: #b99534;
	position: absolute;
	top: -23px;
	left: 2px;
}

.com .cbox .data{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	align-content: center;
	justify-content: center;
	width: calc(100% - 4px);
	height: 55px;
	text-align: center;
	background: rgba(255, 255, 255, 0.9);
	position: absolute;
	bottom: 2px;
	left: 2px;
}

.com .cbox .name{
	width: 100%;
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
	font-size: 18px;
	line-height: 22px;
	margin: 0 0 3px 0;
}

.com .cbox .size{
	width: 100%;
	font-size: 11px;
	line-height: 12px;
}

.com .cbox .time{
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
	font-size: 14px;
	line-height: 14px;
	text-align: center;
	padding: 5px 0;
	color: #765600;
	background: rgb(218,184,92);
	background: linear-gradient(90deg, rgba(218,184,92,1) 0%, rgba(251,220,137,1) 50%, rgba(218,184,92,1) 100%);
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
.com .cbox .time span{
	display: inline-block;
	vertical-align: middle;
	font-size: 18px;
	line-height: 14px;
	margin: -3px 0 0 0;
}
.com .cbox .today{
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
	font-size: 13px;
	line-height: 14px;
	text-align: center;
	padding: 5px 0;
	color: #fff;
	background: rgb(33,71,113);
	background: linear-gradient(90deg, rgba(33,71,113,1) 0%, rgba(50,94,143,1) 50%, rgba(33,71,113,1) 100%);
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
.com .cbox .today.off{
	color: #999;
	background: #ccc;
}

#cast{
	padding: 30px 0 0 0;
}
#newface{
	padding: 30px 0 0 0;
}
#newface .com{
	display: flex;
	flex-wrap: nowrap;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	padding: 0 10px 40px 10px;
}

#newface .cbox{
	position: relative;
	overflow: visible;
	margin: 0 5px;
	min-width: calc(100% / 4 - 20px);
}

#newface .cbox:last-child:after{
	content: '';
	position: absolute;
	top: 0;
	left: 100%;
	height: 1px;
	width: 15px;
	background-color: transparent;
}


/** cover **/

#cover{
	padding: 30px 0 40px 0;
	background: url(img/cover_bg.png) no-repeat top center #fff;
	background-size: cover;
}

#cover .box{
	display: flex;
	align-items: center;
	align-content: center;
	justify-content: center;
	width: 375px;
	margin: 0 auto;
}

#cover .box .img{
	width: 210px;
}

#cover .box img{
	position: relative;
	width: 210px !important;
	height: 280px !important;
	height: auto;
}

#cover .box .data{
	width: calc(100% - 210px);
	text-align: left;
	padding: 0 0 0 15px;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}

#cover .box .icon{
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
	font-size: 13px;
	line-height: 22px;
	color: #b99534;
}

#cover .box .name{
	width: 100%;
	font-size: 13px;
	line-height: 16px;
	text-align: left;
	margin: 0 0 10px 0;
	padding: 0 0 10px 0;
	border-bottom: 1px dotted #ddd;
}

#cover .box .name a{
	display: inline-block;
	vertical-align: top;
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
	font-size: 20px;
	line-height: 22px;
	color: #333;
	margin-bottom: 5px;
}

#cover .box .time{
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
	font-size: 14px;
	line-height: 18px;
	text-align: left;
	color: #765600;
	margin: 0 0 3px 0;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
#cover .box .time span{
	display: inline-block;
	vertical-align: middle;
	font-size: 16px;
	line-height: 14px;
	margin: -3px 0 0 0;
}
#cover .box .today{
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
	font-size: 14px;
	line-height: 18px;
	text-align: left;
	color: #224872;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
#cover .box .today.off{
	color: #999;
	background: #ccc;
}


/** shop **/

#shop{
	color: #fff;
	background: #293e6e;
	padding: 30px 15px 40px 15px;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}

#shop dl{
	display: flex;
	align-items: stretch;
	font-size: 14px;
	line-height: 20px;
	border-bottom: 1px dotted #21335b;
}

#shop dt{
	display: inline-flex;
	align-items: center;
	align-content: center;
	justify-content: flex-start;
	width: 75px;
	color: #dfc274;
	text-align: left;
	padding: 10px 0 10px 5px;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}

#shop dd{
	width: calc(100% - 75px);
	text-align: left;
	padding: 10px 0;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}

#shop .sbt{
	font-size: 0;
	line-height: 0;
	padding: 20px 0 0 0;
}

#shop .bt1{
	display: inline-block;
	vertical-align: top;
	width: 280px;
	background: #fff;
	margin: 0 5px;
}
#shop .bt1:hover{
	background: #b99534;
}


/** blog **/

#blog{
	background: #fff;
	padding: 30px 15px 40px 15px;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}

#blog > a{
	display: flex;
	align-items: stretch;
	font-size: 13px;
	line-height: 20px;
	color: #333;
	border-bottom: 1px dotted #ddd;
}
#blog > a:hover{
	text-decoration: none;
}

#blog > a p{
	display: inline-flex;
	align-items: center;
	align-content: center;
	justify-content: flex-start;
	width: 170px;
	text-align: left;
	padding: 10px 0 10px 5px;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}

#blog > a span{
	width: calc(100% - 170px);
	text-align: left;
	color: #cf3636;
	padding: 10px 0;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	-o-text-overflow: ellipsis;
	-webkit-text-overflow: ellipsis;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}


/*=================================================
 * CSS for SP
 * ================================================= */

@media screen and (max-width: 750px) {

	header{
		width: auto;
		height: auto;
		padding-top: calc(731 / 750 * 100%);
		background: url(./img/header.png) top center / cover no-repeat;
		-webkit-background-size: contain;
		background-size: contain;
		-webkit-box-sizing: border-box;
		   -moz-box-sizing: border-box;
		        box-sizing: border-box;
	}

	#komi .klist{
		display: flex;
		flex-wrap: nowrap;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		padding: 0 10px 10px 10px;
	}
	#komi .klist::-webkit-scrollbar{	display: none;}
	#komi .klist > a:last-child:after{
		content: '';
		position: absolute;
		top: 0;
		left: 100%;
		height: 1px;
		width: 15px;
		background-color: transparent;
	}

	.com .cbox{
		width: calc(100% / 2 - 15px);
	}
	.com .cbox .name{	font-size: 16px;}
	.com .cbox .time{	font-size: 13px;}
	.com .cbox .today{	font-size: 11px;}
	#newface .com::-webkit-scrollbar{	display: none;}
	#newface .cbox{
		min-width: calc(100% / 2 - 20px);
	}

	/** shop **/
	#shop dl{	font-size: 13px;}
	#shop .sbt{
	}
	#shop .bt1{
		display: block;
		margin: 0 auto 10px auto;
	}
	#shop .bt1:last-of-type{	margin-bottom: 0;}

	/** blog **/
	#blog > a{	font-size: 12px;}
	#blog > a p{	width: 150px;}
	#blog > a span{ width: calc(100% - 150px); }

}

@media screen and (max-width: 374px) {


	#cover .box{
		width: 100%;
		padding: 0 15px;
		-webkit-box-sizing: border-box;
		   -moz-box-sizing: border-box;
		        box-sizing: border-box;
	}
	#cover .box .img{
		width: 50%;
	}
	#cover .box img{
		position: relative;
		width: 100% !important;
		height: auto !important;
		height: auto;
	}
	#cover .box .data{	width: 50%;}
	#cover .box .name{
		font-size: 12px;
		margin-bottom: 5px;
		padding-bottom: 5px;
	}
	#cover .box .name a{
		font-size: 17px;
	}
	#cover .box .time{
		font-size: 12px;
	}
	#cover .box .today{
		font-size: 12px;
	}
}