@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700;900&family=Oswald:wght@500&display=swap');
/*
Noto Sans Japanese ： Regular 400 / Bold 700 / Black 900 
Oswald ： Medium 500
*/
*{ padding:0; margin:0; box-sizing:border-box; }
html{ font-family:'Noto Sans JP', sans-serif; line-height:1.6; font-weight:400; color:#000000; }
body{ font-size:26rem; line-height:1.6; width:100vw; overflow-x:hidden;  }
a{ color:inherit; outline:none; }
ul{ list-style:none; }
img{ max-width:100%; vertical-align:top; }
sup{ vertical-align:top; }
sub{ vertical-align:bottom; }
a img{ transition:all 300ms 0s ease; }
a:hover img{ opacity:0.6; }
h1,h2,h3,h4,h5,h6{ font-size:100%; line-height:1.6;  }

.oswald{ font-family:'Oswald', sans-serif; }

fieldset{ border:none; }

.ttl{ text-align:center; letter-spacing:0.07em; }
.ttl>*{ display:inline-block; color:#FFFFFF; font-weight:bold;
	border-image:linear-gradient(to right, #C99C33 0%, #EFCC8A 50%, #C99C33 100%) 1; border-style:solid;
	background:#8d0018;
}
.note p{ padding-left:1em; text-indent:-1em; }

.btns{ text-align:center; }
.bt{
	display:inline-flex; justify-content:center; align-items:center;
	background-image:linear-gradient(to right, #936800 0%, #f0ce8b 50%, #a07521 100%);
	background-position:right top;
	background-size:100% 100%;
	color:#FFFFFF; font-weight:700; letter-spacing:0.07em; text-decoration:none; position:relative;
	transition:all 300ms 0s ease;
}
.bt:hover{
	background-position:left -50% top 0;
}
.bt::after{ display:block; content:"▶"; position:absolute; top:calc(50% - 0.5em); }

/* PC */
@media screen and (min-width:751px) {
	html{ font-size:1px; }
	.sp{ display:none !important; }
	.inner{ max-width:1200rem; padding:0 50rem; margin:0 auto; }
	.ttl>*{ font-size:30rem; line-height:1; padding:15rem 30rem; border-width:5px; margin:0 auto 20rem; }
	.bt{ font-size:36rem; line-height:1.0; width:382rem; height:105rem; border:9rem solid #FFFFFF; border-radius:55rem; }
	.bt::after{ right:45rem; font-size:12rem; }
}

/* SP */
@media screen and (max-width:750px) {
	html{ font-size:calc(100vw / 750); }
	.pc{ display:none !important; }
	.ttl>*{ font-size:34rem; line-height:1; padding:20rem 45rem; margin:0 auto 20rem; }
	.bt{ font-size:36rem; line-height:1.0; width:382rem; height:105rem; border:9rem solid #FFFFFF; border-radius:55rem; }
	.bt::after{ right:45rem; font-size:12rem; }
}

.header{ color:#FFFFFF; padding-bottom:1px; }
.header .t1{ font-weight:bold; text-align:center; }
.header .t1 strong{ background:#FFFFFF; color:#a8011d; padding:0 0.25em; }
.header .t2{ font-weight:bold; text-align:center; }
.header .t2 strong{ justify-content:center; align-items:center; vertical-align:top; background:#FFFFFF; color:#a8011d; }
.header .t3{ font-weight:bold; text-align:center; }
.header .t4{ text-align:center; }
.header .t4 .note{ display:inline-block; text-align:left; }
.header .t5{ text-align:center; }
.header .t5 .note{ display:inline-block; text-align:left; }
.header .t5 .note p{ padding-left:1.5em; text-indent:-1.5em; }
.header .btm{ position:relative; overflow:hidden; }
.header .btm::after{ display:block; content:""; background:#4d000f; position:absolute; border-radius:0 0 100% 100%; }

.header .tokuten>*{ display:flex; align-items:center; }
.header .tokuten h4{ display:flex; justify-content:center; align-items:center; border-radius:50%; line-height:1.4; font-weight:600; position:relative; z-index:1; }
.header .tokuten h4._1{ background:linear-gradient(146deg, #aa8031 0%, #eecb89 50%, #aa8031 100%); }
.header .tokuten h4._2{ background:linear-gradient(146deg, #9b001b 0%, #cf324d 50%, #9b001b 100%); }
.header .tokuten p{ line-height:1.2; font-weight:600; letter-spacing:-0.05em; background:#FFFFFF; color:#a8011d; position:relative; z-index:0; }
.header .tokuten p strong{ font-weight:600; }
/* PC */
@media screen and (min-width:751px) {
	.header{ background:
		url("img/hd_bg1.png") no-repeat center top,
		url("img/hd_bg2.png") no-repeat center bottom,
		linear-gradient(to bottom, #cf0123 400rem, #4d000f 100%)
		;
	}
	.header .inner{ padding:20px 50rem 30rem; }
	.header .logo{ margin-bottom:40rem; }
	.header .t1{ font-size:24rem; line-height:48rem; margin-bottom:60rem; }
	.header .t2{ font-size:28rem; line-height:1; margin-bottom:40rem; }
	.header .t2 p:not(:last-child){ margin-bottom:17rem; }
	.header .t2 strong{ display:inline-flex; font-size:18rem; width:120rem; height:30rem; border-radius:15rem; margin-right:12rem; }
	.header .t3{ font-size:20rem; line-height:36rem; margin-bottom:40rem; }
	.header .t4{ font-size:14rem; line-height:24rem; margin-bottom:40rem; }
	.header .t5{ font-size:14rem; line-height:24rem; margin-bottom:-30rem; }
	.header .tokuten>*{ width:530rem; margin:0 auto 10rem; }
	.header .tokuten h4{ width:90rem; height:90rem; font-size:14rem; text-shadow:1rem 1rem 8rem #5c4500; border:2px solid #FFFFFF; }
	.header .tokuten p{ width:calc(100% - 90rem + 20rem); font-size:14rem; margin-left:-20rem; padding:10rem 5rem 10rem 15rem; }
	.header .tokuten p strong{ font-size:26rem; }
	.header .btm{ height:100rem; margin-bottom:-100rem; }
	.header .btm::after{ height:200%; top:-100%; left:-60rem; right:-60rem; }
}

/* SP */
@media screen and (max-width:750px) {
	.header{ background:linear-gradient(to bottom, #cf0123 0%, #4d000f 100%); }
	.header .inner{ padding:33px 0 0; }
	.header .logo{ margin-bottom:40rem; }
	.header .t1{ font-size:30rem; line-height:50rem; margin-bottom:60rem; }
	.header .t2{ font-size:28rem; line-height:1; margin-bottom:40rem; }
	.header .t2 p:not(:last-child){ margin-bottom:17rem; }
	.header .t2 strong{ display:flex; font-size:24rem; width:130rem; height:46rem; border-radius:23rem; margin:0 auto 14rem; }
	.header .t3{ font-size:26rem; line-height:46rem; margin-bottom:40rem; }
	.header .t4{ font-size:24rem; line-height:34rem; padding:0 50rem 40rem;  }
	.header .t5{ font-size:24rem; line-height:34rem; }
	.header .t5 .note{ padding:0 50rem; }
	.header .tokuten>*{ margin:0 16rem 18rem; }
	.header .tokuten h4{ width:122rem; height:122rem; font-size:22rem; text-shadow:1rem 1rem 8rem #5c4500; border:1px solid #FFFFFF; }
	.header .tokuten p{ width:calc(100% - 122rem + 30rem); font-size:24rem; margin-left:-30rem; padding:20rem 10rem 20rem 25rem; }
	.header .tokuten p strong{ font-size:36rem; }
	.header .btm{ height:135rem; margin-bottom:-135rem; }
	.header .btm::after{ height:200%; top:-100%; left:-50rem; right:-50rem; }
}


.footer .bottom{ background:#01610A; color:#FFFFFF; padding:10px; }
.footer .copy{ text-align:center; }
/* PC */
@media screen and (min-width:751px) {
	.footer .copy{ font-size:18rem; line-height:1.2; padding:40rem 0; letter-spacing:0.07em; }
}
/* SP */
@media screen and (max-width:750px) {
	.footer .copy{ font-size:22rem; line-height:1.2; padding:40rem 0; letter-spacing:0.07em; }
}

.main{ background:url("./img/bg.jpg") repeat fixed center/640rem; color:#FFFFFF; word-break:break-all; word-wrap:break-word; }

#s01 .list dl{ display:flex; background:#FFFFFF; color:#8d0018; }
#s01 .list dt{ font-family:'Oswald', sans-serif; color:#007d1d; font-weight:500;  word-break:keep-all; word-wrap:normal; }
#s01 .list dd{ font-weight:bold; }

/* PC */
@media screen and (min-width:751px) {
	#s01 .inner{ max-width:1000rem; padding:190rem 50rem 170rem; }
	#s01 .ttl{ margin-bottom:32rem; }
	#s01 .list{ margin-bottom:13rem; }
	#s01 .list dl{ gap:20rem; padding:15rem; margin-bottom:7rem; border-radius:5rem; box-shadow:4rem 5rem 4rem rgba(173,173,173,0.6); }
	#s01 .list dt{ font-size:30rem; line-height:30rem; }
	#s01 .list dd{ font-size:20rem; line-height:30rem; }
	#s01 .note{ font-size:14rem; line-height:24rem; margin-bottom:70rem; }
}
/* SP */
@media screen and (max-width:750px) {
	#s01 .inner{ padding:220rem 50rem; }
	#s01 .ttl{ margin-bottom:47rem; }
	#s01 .list{ margin-bottom:29rem; }
	#s01 .list dl{ gap:28rem; padding:20rem; margin-bottom:13rem; border-radius:5rem; box-shadow:4rem 5rem 4rem rgba(173,173,173,0.6); }
	#s01 .list dt{ font-size:40rem; line-height:36rem; }
	#s01 .list dd{ font-size:26rem; line-height:36rem; }
	#s01 .note{ font-size:24rem; line-height:34rem; margin-bottom:60rem; }
	
}

#s02{ background:#f0eadd; color:#333333; position:relative; padding:1px 0; }
#s02 .list{ display:grid; }
#s02 .list article{ display:flex; background:#f7f5f1; }
#s02 .list .txt{ display:flex; flex-flow:column; }
#s02 .list .tokuten{ display:inline-block; color:#FFFFFF; font-weight:bold; background:linear-gradient(to right, #576bdf 0%, #99a8fe 30%, #a35ceb 100%); }
#s02 .list .info a{ color:#C99C33; }
#s02 .list .sns{ display:flex; align-items:center; }
#s02 .top,
#s02 .btm{ position:relative; overflow:hidden; }
#s02 .top::after,
#s02 .btm::after{ display:block; content:""; background:#f0eadd; position:absolute; border-radius:100%; }
#s02 .play a{ display:inline-flex; justify-content:center; align-items:center; color:#FFFFFF; text-decoration:none; font-weight:bold; background:linear-gradient(to right, #c40121 0%, #630012 100%);  }
#s02 .arr{ display:inline-block; position:relative; margin-right:1.5em; }
#s02 .arr::after{ content:"▶"; font-size:75%; line-height:1; position:absolute; right:-1.5em; top:calc(50% - 0.5em); }

/* PC */
@media screen and (min-width:751px) {
	#s02 .inner{ padding:20rem 50rem; }
	#s02 .top{ height:100rem; margin-top:-100rem; }
	#s02 .btm{ height:100rem; margin-bottom:-100rem; }
	#s02 .top::after,
	#s02 .btm::after{ height:200%; left:-60rem; right:-60rem; }
	#s02 .top::after{ bottom:-100%; }
	#s02 .btm::after{ top:-100%; }
	#s02 .ttl{ margin-bottom:38rem; }
	#s02 .list{ gap:20rem; grid-template-columns:1fr 1fr; margin-bottom:70rem; }
	#s02 .list article{ gap:18rem; padding:20rem 10rem 20rem 20rem; border-radius:20rem; box-shadow:4rem 5rem 4rem rgba(173,173,173,0.6); }
	#s02 .list figure{ width:186rem; }
	#s02 .list .txt{ width:calc(100% - 186rem - 18rem); font-size:14rem; line-height:1.4; gap:15rem; }
	#s02 .list .txt h4{ font-size:16rem; line-height:1.2; }
	#s02 .list .tokuten{  border-radius:30rem;padding:10rem 25rem; }
	#s02 .list .tokuten._1{ text-indent:-4em; padding-left:calc(25rem + 4em); }
	#s02 .list .tokuten+.tokuten{ margin-top:-9rem; }
	#s02 .list .info+.info{ margin-top:-9rem; }
	#s02 .list .sns{ gap:20rem; }
	#s02 .list .sns img{ width:25rem; }
	#s02 .list .sns img.y{ width:30rem; }
	#s02 .list .sns img.t{ width:22rem; }
	#s02 .play a{ width:100rem; height:40rem; border-radius:20rem; font-size:20rem; }
}
/* SP */
@media screen and (max-width:750px) {
	#s02 .inner{ padding:20px 50rem 30rem; }
	#s02 .top{ height:135rem; margin-top:-135rem; }
	#s02 .btm{ height:135rem; margin-bottom:-135rem; }
	#s02 .top::after,
	#s02 .btm::after{ height:200%; left:-50rem; right:-50rem; }
	#s02 .top::after{ bottom:-100%; }
	#s02 .btm::after{ top:-100%; }
	#s02 .ttl{ margin-bottom:55rem; }
	#s02 .list{ gap:20rem; grid-template-columns:1fr; margin-bottom:60rem; }
	#s02 .list article{ gap:22rem; padding:25rem; border-radius:20rem; box-shadow:4rem 5rem 4rem rgba(173,173,173,0.6); }
	#s02 .list figure{ width:224rem; }
	#s02 .list .txt{ width:calc(100% - 224rem - 22rem); font-size:24rem; line-height:1.4; gap:24rem; }
	#s02 .list .txt h4{ font-size:26rem; line-height:1.2; }
	#s02 .list .tokuten{ border-radius:50rem; padding:20rem 30rem; }
	#s02 .list .tokuten+.tokuten{ margin-top:-6rem; }
	#s02 .list .sns{ gap:40rem; }
	#s02 .list .sns img{ width:46rem; }
	#s02 .list .sns img.y{ width:62rem; }
	#s02 .list .sns img.t{ width:42rem; }
	#s02 .play a{ width:165rem; height:66rem; border-radius:33rem; font-size:34rem; }
}

#s03 .box{ background:#ffffff; color:#333333; letter-spacing:0.025em; }
#s03 .box a{ color:#C99C33; }

/* PC */
@media screen and (min-width:751px) {
	#s03{ padding:190rem 0 140rem; }
	#s03 .ttl{ margin-bottom:48rem; }
	#s03 .box{
		font-size:16rem; line-height:1.4;
		padding:35rem 40rem; border-radius:20rem; box-shadow:4rem 5rem 4rem rgba(173,173,173,0.6);
	}
	#s03 .box p:not(:last-child){ margin-bottom:1.4em; }
	#s03 .box h4{ font-size:17rem; line-height:1.4; }
}
/* SP */
@media screen and (max-width:750px) {
	#s03{ padding:240rem 50rem 140rem; }
	#s03 .ttl{ margin-bottom:55rem; }
	#s03 .box{
		font-size:24rem; line-height:1.4;
		padding:30rem 35rem; border-radius:20rem; box-shadow:4rem 5rem 4rem rgba(173,173,173,0.6);
	}
	#s03 .box p:not(:last-child){ margin-bottom:1.4em; }
	#s03 .box h4{ font-size:26rem; line-height:1.4; }
}

/* end */