@charset "utf-8";
/*
	Last Update:2021/11/21
	Auther: iw
*/
/*===================================================================
	layout
===================================================================*/

.wrapper, .wrapper-t, .wrapper-b { position:relative; }
@media (max-width: 767px){
	.wrapper, .wrapper-t { padding-top:30px; }
	.wrapper, .wrapper-b { padding-bottom:30px; }
}
@media (min-width: 768px){
	.wrapper, .wrapper-t { padding-top:80px; }
	.wrapper, .wrapper-b { padding-bottom:80px; }
}

.center, .center2 { width:100%; margin:0 auto; text-align:left; }
.center { max-width:900px; }
.center2 { max-width:600px; }
	@media (max-width:940px){
		.center { padding-left:20px; padding-right:20px; max-width:100%; }
	}
	@media (max-width:640px){
		.center2 { padding-left:20px; padding-right:20px; max-width:100%; }
	}


/*===================================================================
	#head
===================================================================*/

/*===================================================================
	#foot
===================================================================*/

/*===================================================================
	common
===================================================================*/
#festival .hl_1{ padding: 10px 0;   background: #2A8A9C; }
#festival .hl_1 span.text{color: #fff; font-weight: bold; font-size: 2em; display: inline-block;}
#festival .hl_1 span.unit{display: block; position: relative;}


@media (max-width:991px){
#festival .hl_1 span.text{ font-size: 1.5em; }
#festival .hl_1 span.text::after {  width: 160px; height: 103px; left: -165px;}
}
@media (min-width:576px) and (max-width:767px){
#festival .hl_1 span.text{ font-size: 1.25em; }
#festival .hl_1 span.text::after { width: 140px; height: 91px; left: -145px;}
}
@media (min-width:576px){
	#festival .hl_1 span.text{padding: 10px 0;}
	#festival .hl_1 span.text{position: relative; }
	#festival .hl_1 span.text::after {
		content: "";
	    position: absolute;
		background: url(../image/ecotan1.png) no-repeat center center / contain;
	    width: 185px;
	    height: 120px;
	    left: -185px;
	    bottom: -10px;
	}

}
@media (max-width:767px){
	#festival #top_movie{margin-bottom: 50px;}
	#festival #sponsor{margin-bottom: 50px;}

}
@media (max-width:575px){
	#festival .hl_1 span.unit {    margin-left: 90px;}
	#festival .hl_1 span.text{margin-left: 25px;}
	#festival .hl_1 span.unit::after {
		content: "";
        position: absolute;
        background: url(../image/ecotan1.png) no-repeat center center / contain;
        width: 150px;
        height: 97px;
        left: -115px;
        bottom: -10px;
	}
}


#festival .hl_2{    font-weight: bold;    text-align: center;    color: #fff;    font-size: 2em;}
#festival .hl_3{ color: #258094; font-weight: bold; font-size: 1.25em;}


#festival  .btn_1{}
#festival  .btn_1 a{font-weight: bold; position: relative;  background: #D51068; color: #fff; text-decoration: none; padding: 3px 15px; display: inline-block; font-size: 2em; max-width: 500px; width: 100%; border-radius: 100px; padding-right: 40px;}
#festival  .btn_1 a::after {
	content: "";
	position: absolute;
	background: url(../image/right.png) no-repeat center center / contain;
	width: 20px;
	height: 20px;
	top: 50%;
	right: 15px;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);

}

@media (max-width:575px){
#festival  .btn_1 a{font-size: 1.5em; }
#festival  .btn_1 a::after {	width: 15px; height: 15px; right: 8px;}
}


#festival  .c_blue{color: #258094;}
#festival  .bg_white{background: #fff;}

.mb0 { margin-bottom:0 !important; }
.mb5 { margin-bottom:5px !important; }
.mb10 { margin-bottom:10px !important; }
.mb15 { margin-bottom:15px !important; }
.mb20 { margin-bottom:20px !important; }
.mb30 { margin-bottom:30px !important; }
.mb40 { margin-bottom:40px !important; }
.mb50 { margin-bottom:50px !important; }
.p0 { padding:0 !important; }

.disp_b { display:block; }
.disp_ib { display:inline-block; }
.disp_tbl { display:table; width:100%; height:100%; }
.disp_td { display:table-cell; vertical-align:middle; }

.img_back { background-position:center center; background-repeat:no-repeat; background-size:cover; overflow:hidden; }
.img_back > img { visibility:hidden; width:1px; height:1px; }
.img_rect { padding-top:65%; line-height:1px; }
.img_sq { padding-top:100%; line-height:1px; }
