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

body{
	background: url(/img/all/pc_bg.jpg) no-repeat top center #000 fixed;
	background-size: cover;
}


/** day_select **/

#day_select{
	padding: 0 0 50px 0;
	text-align: center;
}

#day_select{
	font-size: 0;
	line-height: 0;
}

#day_select p{
	font-size: 14px;
	line-height: 20px;
	text-align: center;
	margin: 20px 0 0 0;
}

#day_select ul{
}

#day_select li{
	display: inline-block;
	vertical-align: top;
	margin: 0 5px;
}

#day_select li > span,
#day_select li a{
	position: relative;
	display: inline-flex;
	align-items: center;
	align-content: center;
	justify-content: center;
	width: 100px;
	height: 40px;
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
	font-size: 16px;
	line-height: 36px;
	text-align: center;
	text-decoration	: none;
	cursor: pointer;
	position: relative;
	border: 1px solid #fff;
	-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;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}

#day_select li > span,
#day_select li a{
	color: #fff;
}
#day_select li span.active,
#day_select li a:hover{
	color: #000;
	background: #fff !important;
}
#day_select li i{	font-style: normal;}

#day_select li .sat{	color: #0099ff;}
#day_select li .sun{	color: #ff0000;}


/** schedule **/

#schedule{
	text-align: center;
}

#schedule ul{
	font-size: 0;
	line-height: 0;
	padding: 0 115px;
}

#schedule li{
	position: relative;
	display: inline-block;
	vertical-align: top;
	width: calc(100% / 4 - 50px);
	margin: 0 25px 60px 25px;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}

#schedule li .class{
	font-size: 0;
	line-height: 0;
	text-align: center;
}
#schedule li .class img{
	width: auto;
	height: 25px;
}

#schedule li .photo{
	position: relative;
}

#schedule li .photo a{
	display: block;
}

#schedule li .photo img{
	width: 100%;
	height: auto;
	-webkit-transition	: 0.2s ease-in-out;
	-moz-transition	: 0.2s ease-in-out;
	-o-transition	: 0.2s ease-in-out;
	transition		: 0.2s ease-in-out;
}
#schedule li .photo img:nth-of-type(1){
	position: relative;
	z-index: 2;
}
#schedule li .photo a:hover img:nth-of-type(1){
	opacity: 0;
	filter: alpha(opacity=0);
}
#schedule li .photo img:nth-of-type(2){
	position: absolute;
	top: 0;
	left: 0;
}

#schedule li .today{
	display: inline-block;
	vertical-align: top;
	font-family: 'Noto Serif JP', serif;
	font-weight: 400;
	font-size: 11px;
	line-height: 18px;
	color: #fff;
	background: #ea102b;
	padding: 0 4px;
	position: absolute;
	z-index: 3;
	bottom: 10px;
	left: 10px;
}
#schedule li .icon{
	display: inline-block;
	vertical-align: top;
	font-family: 'Noto Serif JP', serif;
	font-weight: 400;
	font-size: 11px;
	line-height: 18px;
	color: #fff;
	background: #000;
	padding: 0 4px;
	position: absolute;
	z-index: 3;
	bottom: 10px;
	right: 10px;
}

#schedule .txt{
	width: 100%;
	height: 110px;
	color: #fff;
	text-align: left;
	background: #000;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}

#schedule .txt .come{
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
	font-size: 16px;
	line-height: 30px;
	border-bottom: 1px solid #c09475;
	padding: 0 10px;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}

#schedule .txt > div{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	align-content: center;
	justify-content: flex-start;
	height: 80px;
	padding: 0 10px;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}

#schedule .txt .name{
	width: 100%;
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
	font-size: 22px;
	line-height: 24px;
}
#schedule .txt .name a{	color: #fff;}

#schedule .txt .size{
	width: 100%;
	font-size: 12px;
	line-height: 16px;
	margin: 5px 0 0 0;
}


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

@media screen and (max-width: 650px) {
	body:before{
		background: url(/img/all/sp_bg.jpg) no-repeat top center;
		background-size: cover;
	}
	.page_title span{	font-size: 60px}


	/** day_select **/
	#day_select{
		margin: 0;
		padding: 0 14px 40px 14px;
		text-align: center;
	}
	#day_select ul{	width: auto;}
	#day_select li{
		width: calc(100% / 7 - 2px);
		margin: 0 1px 2px 1px;
	}
	#day_select li > span,
	#day_select li a{
		flex-wrap: wrap;
		width: 100%;
		height: 35px;
		position: relative;
		font-size: 11px;
		line-height: 12px;
	}
	#day_select li em,
	#day_select li i{	width: 100%;}

	/** schedule **/
	#schedule{
		text-align: center;
		padding: 0 5px;
	}
	#schedule ul{	padding: 0;}
	#schedule li{
		width: calc(100% / 2 - 10px);
		height: auto;
		margin: 0 5px 20px 5px;
		-webkit-box-sizing: border-box;
		   -moz-box-sizing: border-box;
		        box-sizing: border-box;
	}
	#schedule li .class img{
		width: auto;
		height: 15px;
	}

	#schedule li .photo a:hover img:nth-of-type(1){
		opacity: 1;
		filter: alpha(opacity=100);
	}
	#schedule li .photo img:nth-of-type(2){	display: none;}

	#schedule li .today{
		font-size: 10px;
		line-height: 15px;
		padding: 0 2px;
		bottom: 5px;
		left: 5px;
	}
	#schedule li .icon{
		font-size: 10px;
		line-height: 15px;
		padding: 0 2px;
		bottom: 5px;
		right: 5px;
	}

	#schedule .txt{
		height: auto;
	}
	#schedule .txt .come{
		font-size:min(3vw, 13px);
		line-height: 1.5;
		padding: 5px 5px;
	}
	#schedule .txt .come:empty{ padding: 0;}
	#schedule .txt > div{
		height: auto;
		padding: 5px 5px;
	}
	#schedule .txt .name{
		width: 100%;
		font-family: 'Noto Serif JP', serif;
		font-weight: 600;
		font-size:min(8vw, 18px);
		line-height: 1.2;
	}
	#schedule .txt .name a{	color: #fff;}
	#schedule .txt .size{
		width: 100%;
		font-size:min(2.5vw, 11px);
		line-height: 1.4;
		margin: 2px 0 0 0;
	}
}
