@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:wght@700&family=Noto+Sans+JP:wght@500;700&display=swap');

*{ margin:0; padding:0; box-sizing:border-box; }

html,body,#wrapper{ width:100%; height:100%; }
body{ font-family:'Noto Sans JP', sans-serif; font-weight:500; color:#231816; }

img{ max-width:100%; vertical-align:top; }
ul{ list-style:none;}

.clearfix:after{ content:""; clear:both; display:block; }

.sns a{ display:block; content:""; font-size:0; line-height:0; background-size:cover; }
.sns a:hover{ opacity:0.6; }
.sns a.t{ background-image:url("img/h_t.png"); }
.sns a.i{ background-image:url("img/h_i.png"); }
.sns a.y{ background-image:url("img/h_y.png"); }

/* PC用 */
@media screen and (min-width: 961px) {
	.sp{ display:none; }
	.inner{ max-width:1148px; margin:0 auto; }
}

/* SP用 */
@media screen and (max-width: 960px) {
	.pc{ display:none; }
}

#header{ position:fixed; left:0; top:0; z-index:1000; width:100%; background:#FFFFFF; } 
#header::after{ content:""; clear:both; display:block; }
#header .logo{ font-size:0; line-height:0; }
#header .logo::before{ display:block; content:""; padding-top:calc(100% / 1080 * 139); background:url("img/logo.png") no-repeat center/cover; }

/* PC用 */
@media screen and (min-width: 961px) {
	body{ padding-top:112px; }
	#header{ }
	#header .inner{ display:flex; justify-content:space-between; align-items:flex-start; height:112px; border-bottom:4px solid #231816; }
	#header .logo{ width:394px; margin-top:40px; }
	#header .pc{ display:flex; }
	#header .sns{ display:flex; float:right; margin-top:62px; }
	#header .sns a{ width:25px; height:25px; margin-left:19px; }
	#header .contact{ margin-top:55px; margin-left:32px; }
	#header .contact a{
		display:flex; justify-content:center; align-items:center; border:1px solid #231816; color:inherit; text-decoration:none;
		font-size:14px; line-height:1.36; width:114px; height:36px; border-radius:6px; transition:all 300ms 0s ease;
	}
	#header .contact a:hover{ opacity:0.6; }
}
/* SP用 */
@media screen and (max-width: 960px) {
	body{ padding-top:59px; }
	#header{ height:59px; padding:9px 13px; border-bottom:3px solid #231816; }
	#header .inner{ display:flex; justify-content:space-between; }
	#header .logo{ width:calc(415px / 2); margin-top:4px; }
	#header .open{ width:35px; height:35px; cursor:pointer; position:relative; }
	#header .open i{ display:block; height:3px; width:100%; background:#231816; position:absolute; left:0; transform-origin:center; transition: all 300ms 0s ease; }
	#header .open i:nth-child(1){ top:7px; }
	#header .open i:nth-child(2){ top:16px; }
	#header .open i:nth-child(3){ top:25px; }
	
	.nav_open #header .open i:nth-child(1){ top:16px; transform:rotate(45deg); }
	.nav_open #header .open i:nth-child(2){ left:50%; top:16px; width:0; }
	.nav_open #header .open i:nth-child(3){ top:16px; transform:rotate(-45deg); }
}

#footer{ text-align:center; }
#footer .img{ margin:0 auto; }
#footer .img::before{ display:block; content:""; padding-top:calc(100% / 1374 * 234); background:url("img/f_img.png") no-repeat center/cover; }

/* PC用 */
@media screen and (min-width: 961px) {
	#footer{ padding:55px 0; }
	#footer .img{ width:240px; }
	#footer .copy{ font-size:14px; line-height:1; margin-top:30px; }
}
/* SP用 */
@media screen and (max-width: 960px) {
	#footer{ padding:35px 25px; }
	#footer .contact{ margin:0 auto 45px; text-align:center; }
	#footer .contact a{
		display:inline-flex; justify-content:center; align-items:center; border:1px solid #231816; color:inherit; text-decoration:none;
		font-size:14px; line-height:1.36; width:152px; height:48px; border-radius:6px;
	}
	#footer .img{ max-width:480px; }
	#footer .copy{ font-size:14px; line-height:1.5; margin-top:20px; }
}


#nav{ font-family:'Josefin Sans', sans-serif; }
#nav a{ color:inherit; text-decoration:none; }
/* PC用 */
@media screen and (min-width: 961px) {
	#nav .link{ display:flex; justify-content:center; align-items:center; height:130px; font-size:18px; line-height:1.36; }
	#nav .link a{ margin:0 25px; }
}
/* SP用 */
@media screen and (max-width: 960px) {
	#nav{ background:#231816; color:#FFFFFF; position:fixed; left:0px; top:59px; z-index:1000; width:100%; }
	#nav .inner{ height:0; transition: all 300ms 0s ease; overflow-y:scroll; }
	.nav_open #nav .inner{ height:calc(100vh - 59px); }
	#nav .link{ display:flex; flex-wrap:wrap; padding:10px 0 35px; }
	#nav .link a{ display:block; width:50%; text-align:center; margin-top:25px; padding:10px; }
	#nav .contact{ margin:0 auto 37px; text-align:center; }
	#nav .contact a{
		display:inline-flex; justify-content:center; align-items:center; border:1px solid #FFFFFF; color:inherit; text-decoration:none;
		font-size:14px; line-height:1.36; width:152px; height:48px; border-radius:6px;
	}
	#nav .sns{ display:flex; justify-content:center; margin-top:37px; }
	#nav .sns a{ width:39px; height:39px; margin:0 15px; }
}

#kv img{ width:100%; }

#s01{}
#s01 .youtube{ position:relative; }
#s01 .youtube::before{ display:block; content:""; padding-top:calc(100% / 493 * 277); }
#s01 .youtube iframe{ position:absolute; left:0; top:0; width:100%; height:100%; }

#s01 .slick{ }
#s01 .slick .slick-list{ z-index:1; background:#FFFFFF; }
#s01 .slick .slick-slide img{ width:100%; }
#s01 .slick .slick-arrow{ background:url("img/slick_arr.png") no-repeat center/cover; font-size:0; line-height:0; z-index:0; }
#s01 .slick .slick-arrow::before{ display:none; content:""; font-size:0; }
#s01 .slick .slick-prev{}
#s01 .slick .slick-next{}

/* PC用 */
@media screen and (min-width: 961px) {
	#s01{ display:flex; justify-content:space-between; padding:0 calc(100% / 1148 * 62) 90px; }
	#s01 .youtube{ width:calc(100% / 1024 * 493); }
	#s01 .slick{ width:calc(100% / 1024 * 488); border:4px solid #231816; }
	#s01 .slick .slick-arrow{ width:40px; height:40px; }
	#s01 .slick .slick-prev{ left:-22px; }
	#s01 .slick .slick-next{ right:-22px; }
}
/* SP用 */
@media screen and (max-width: 960px) {
	#s01{ padding:25px 25px 45px; }
	#s01 .youtube{ width:100%; margin-bottom:25px; }
	#s01 .slick{ width:100%; border:2px solid #231816; }
	#s01 .slick .slick-arrow{ width:40px; height:40px; }
	#s01 .slick .slick-prev{ left:-22px; }
	#s01 .slick .slick-next{ right:-22px; }
	
	#s02{ padding:0 25px 45px; }
}

.bnr{ display:block; background:#EEEEEE; text-align:center; color:inherit; text-decoration:none; position:relative; }
.bnr::after{ display:block; content:""; position:absolute; top:50%; transform:translateY(-50%) rotate(45deg); }
.bnr .tag{ display:inline-flex; justify-content:center; align-items:center; background:#EA030E; color:#FFFFFF; transform:translateY(-50%); }
/* PC用 */
@media screen and (min-width: 961px) {
	.bnr{ padding:0 0 30px; margin-bottom:30px }
	.bnr::after{ width:9px; height:9px; border-right:4px solid #FF000C; border-top:4px solid #FF000C; right:50px; }
	.bnr .tag{ font-size:16px; line-height:1.2; min-width:270px; padding:8px; border-radius:18px; margin-bottom:15px; }
	.bnr .t1{ font-size:20px; line-height:1.36; }
	.bnr .t2{ font-size:36px; line-height:1.36; }
}
/* SP用 */
@media screen and (max-width: 960px) {
	.bnr{ padding:0 0 15px; margin-bottom:20px }
	.bnr::after{ width:5px; height:5px; border-right:3px solid #FF000C; border-top:3px solid #FF000C; right:10px; }
	.bnr .tag{ font-size:10px; line-height:1.2; min-width:135px; padding:4px; border-radius:10px; margin-bottom:10px; }
	.bnr .t1{ font-size:12px; line-height:1.36; padding:0 25px 0 10px; }
	.bnr .t2{ font-size:16px; line-height:1.36; padding:0 25px 0 10px; }
}

#news{ text-align:left; }
#news h3{ position:relative; height:0 }
#news h3 img{ position:absolute; }
#news li:not(:last-child){ margin-bottom:1em; }
#news li a{ display:block; background:#EEEEEE; color:#000000; text-decoration:none; }
#news .more{ text-align:center; }
#news .more a{ display:inline-flex; justify-content:center; align-items:center; border:1px solid #231816; font-family:'Josefin Sans', sans-serif; color:inherit; text-decoration:none; }

/* PC用 */
@media screen and (min-width: 961px) {
	#news{ width:750px; margin:0 auto; padding:105px 0 100px; }
	#news h3 img{ left:calc(50% - 80px); top:-108px; width:160px; height:120px; }
	#news ul{ height:565px; overflow-y:auto; }
	#news li{ margin-right:5px; }
	#news li:not(:last-child){ margin-bottom:5px; }
	#news li a{ padding:20px 25px; }
	#news li .d{ font-size:15px; line-height:1.36; }
	#news li .t{ font-size:18px; line-height:1.5; font-weight:bold; }
	#news .more{ margin-top:50px; }
	#news .more a{ font-size:15px; line-height:1.36; width:160px; height:50px; border-radius:6px; }
}

/* SP用 */
@media screen and (max-width: 960px) {
	#news{ margin:45px 25px; }
	#news h3 img{ left:calc(50% - 40px); top:-54px; width:80px; height:60px; }
	#news ul{ height:340px; overflow-y:auto; }
	#news li{ margin-right:0; }
	#news li:not(:last-child){ margin-bottom:5px; }
	#news li a{ padding:10px 15px; }
	#news li .d{ font-size:11px; line-height:1.36; }
	#news li .t{ font-size:13px; line-height:1.5; font-weight:bold; }
	#news .more{ margin-top:25px; }
	#news .more a{ font-size:14px; line-height:1.36; width:152px; height:48px; border-radius:6px; }
}

#special{ background:#221815; color:#FFFFFF; }
#special h3{ text-align:center; font-weight:600; }
#special h3 strong{ display:inline-block; font-family:'Josefin Sans', sans-serif; font-weight:600; }
#special .jacket a{ background:#FFFFFF; color:#221815; text-decoration:none; }
#special .jacket a .text{ display:flex; flex-flow:column; }
#special .jacket a .read{ color:#FF000C; text-align:right; }
#special .jacket a .read::after{ display:inline-block; content:""; vertical-align:bottom; transform:translateY(-50%) rotate(45deg); }

/* PC用 */
@media screen and (min-width: 961px) {
	#special h3{ font-size:22px; line-height:1.36; padding:45px 0 40px; }
	#special h3 strong{ font-size:36px; line-height:1.36; padding-top:15px; }
	#special .jacket{ display:flex; justify-content:space-between; padding-bottom:40px; }
	#special .jacket a{ display:flex; width:calc(100% / 1148 * 558); padding:22px; margin-bottom:30px; }
	#special .jacket .thum{ width:calc(100% / 514 * 173); margin-right:calc(100% / 514 * 30); }
	#special .jacket a .text{ width:calc(100% / 514 * (514 - 173 - 30)); position:relative; }
	#special .jacket .t1{ font-size:18px; line-height:1.5; margin-top:15px; }
	#special .jacket .t2{ font-size:28px; line-height:1.5; margin-top:10px; }
	#special .jacket a .read{ font-size:16px; line-height:1.8; position:absolute; right:0; bottom:0; }
	#special .jacket a .read::after{ width:9px; height:9px; margin-left:0.5em; border-right:4px solid #FF000C; border-top:4px solid #FF000C; }
}
/* SP用 */
@media screen and (max-width: 960px) {
	#special{ padding:0 25px 5px; }
	#special h3{ font-size:12px; line-height:1.36; padding:25px 0 20px; }
	#special h3 strong{ font-size:18px; line-height:1.36; padding-top:10px; }
	#special .jacket a{ display:block; width:100%; padding:10px; margin-bottom:15px; }
	#special .jacket .thum{ width:100%; }
	#special .jacket a .text{ width:100%;}
	#special .jacket .t1{ font-size:12px; line-height:1.5; text-align:center; margin-top:10px; }
	#special .jacket .t2{ font-size:16px; line-height:1.5; text-align:center; margin-top:5px; }
	#special .jacket a .read{ font-size:12px; line-height:1.5; margin-top:10px; margin-top:10px; }
	#special .jacket a .read::after{ width:5px; height:5px; margin-left:0.5em; border-right:3px solid #FF000C; border-top:3px solid #FF000C; }
}

/* end */