
h2{
	font-size: 0;
	line-height: 0;
}
header{	height: 155px;}
header:after{	top: -76px;}

.top_title{
	position: relative;
	z-index: 2;
	width: 100%;
	font-family: "M PLUS 1p", sans-serif;
	text-align: right;
	margin: 0 0 20px 0;
	padding: 0 0 0 0;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
.top_title span{
	display: block;
	font-weight: 300;
	font-size:min(9vw, 46px);
	line-height: 1;
}
.top_title span:first-letter{	color: var(--sub-color)}
.top_title em{
	display: block;
	font-weight: 300;
	font-size:min(4vw, 16px);
	line-height: 1.2;
	color: var(--sub-color)
}

.bt_main,
.bt_main:hover{
	width: auto;
	height: 30px;
	font-size: 14px;
	line-height: 20px;
	padding: 0 10px;
}
.bt_bg{
	text-align: right;
	margin: 20px 0 0 0;
}


/** slide **/

#slide{
	position: relative;
	padding: 0 0 40px 0;
	background: rgba(255, 255, 255, 0.8);
}
#slide img{
	width: 100%;
	height: auto;
}
#slide .slider img{
	width: 100%;
	height: auto;
	margin: 0 auto;
}

#slide .slick-prev,
#slide .slick-next{
	width: 30px;
	height: 30px;
	font-size: 0;
	line-height: 0;
	border: 0;
	outline: 0;
	position: absolute;
	bottom: -35px;
	z-index: 2;
	margin: 0;
	padding: 0;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
#slide .slick-prev{
	left: 10px !important;
	background: url(img/l.png) no-repeat;
	background-size: 30px auto;
}
#slide .slick-next{
	right: 10px !important;
	background: url(img/r.png) no-repeat;
	background-size: 30px auto;
}

.slick-dots{
	width: 100%;
	font-size: 0;
	line-height: 0;
	position: absolute;
	bottom: -23px;
}
.slick-dots li{
	display: inline-block;
	vertical-align: top;
	margin: 0 4px;
}
.slick-dots button{
	width: 8px;
	height: 8px;
	padding: 0;
	border: 0;
	outline: 0;
	border-radius: 50%;
	background: #ccc;
}
.slick-active button{ background: var(--sub-color);}


/** schedule **/

#schedule_bg{
	padding: 30px 0 0 0;
}

#schedule_bg .top_title{
	padding-right: 20px;
}

#schedule{
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	font-size: 0;
	line-height: 0;
	padding: 0 10px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
#schedule .cbox{
	position: relative;
	width: calc(100% / 3 - 20px);
	margin: 0 10px 30px 10px;
	padding: 0 0 82px 0;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
#schedule .cbox:hover{
	text-decoration: none;
}
#schedule .cbox .img{
	position: relative;
	overflow: hidden;
}
#schedule .cbox .img img{
	width: 100%;
	height: auto;
}
#schedule .cbox .txt{
	width: calc(100% - 20px);
	font-size: 13px;
	line-height: 15px;
	text-align: center;
	padding: 8px 5px;
	color: #fff;
	background: rgba(0, 0, 0, 0.8);
	position: absolute;
	bottom: 25px;
	left: 10px;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
#schedule .cbox .time{
	width: calc(100% - 20px);
	font-size: clamp( 10px, calc( 2px + 2.5vw ), 14px );
	line-height: 15px;
	text-align: center;
	padding: 5px;
	background: rgba(255, 216, 0, 0.8);
	position: absolute;
	bottom: 0;
	left: 10px;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
#schedule .cbox .name{
	font-size: 16px;
	line-height: 20px;
	margin: 0 0 3px 0;
}
#schedule .cbox .name a{	color: var(--cast-color);}
#schedule .cbox .size{
	font-size: 10px;
	line-height: 14px;
}
#schedule .cbox .course{
	display: inline-block;
	vertical-align: top;
	width: 100%;
	font-size: clamp( 10px, calc( 2px + 2.5vw ), 12px );
	line-height: 1.1;
	text-align: center;
	border-radius: 11px;
	padding: 4px 0;
	position: absolute;
	left: 0;
	top: -22px;
}
#schedule .cbox .now{
	display: inline-block;
	vertical-align: top;
	width: 120px;
	font-size: 12px;
	line-height: 16px;
	text-align: center;
	color: #fff;
	background: #ff3b3b;
	border-radius: 2px;
	padding: 0 4px;
	position: absolute;
	left: calc(50% - 60px);
	top: -40px;
	-webkit-animation:now 0.75s ease-in-out infinite alternate;
	-moz-animation:now 0.75s ease-in-out infinite alternate;
	animation:now 0.75s ease-in-out infinite alternate;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}

#schedule .cbox .icon{
	display: inline-block;
	vertical-align: top;
	font-size: 12px;
	line-height: 1;
	text-align: left;
	position: absolute;
	top: -13px;
	left: 0;
}


/** event **/

#event{
	padding: 30px 20px;
	background: #fff9e5;
}
.evbox{
	font-size: 0;
	line-height: 0;
}
.evbox img{
	width: 100%;
	height: auto;
}


/** news **/

#news{
	padding: 30px 20px;
	background: #fff;
}
#news ul{	margin-bottom: 20px;}
#news li{}
#news li a{
	position: relative;
	display: block;
	color: currentColor;
	text-align: left;
	padding: 13px 0;
	border-bottom: 1px dotted var(--border-color);
	-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;
}
#news li a:hover{
	opacity: 0.7;
	filter: alpha(opacity=70);
}
#news li a p:nth-of-type(1){
	font-size: 16px;
	line-height: 20px;
}
#news li a p:nth-of-type(2){
	font-size: 11px;
	line-height: 14px;
	color: #b5823f;
}


/** diary **/

#diary{
	padding: 30px 20px;
	background: #fff3e8;
}
#diary iframe{
	width: 100%;
	height: auto;
	aspect-ratio: 600 / 690;
}


/** res **/

#res{
	padding: 30px 20px;
	background: #fff;
}
#res iframe{
	height: 57px;
}


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

@media screen and (max-width: 750px) {
	#schedule_bg{
		padding: 30px 0 0 0;
	}
	#schedule .cbox{
		width: calc(100% / 2 - 20px);
	}
}
