@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; }
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; background:linear-gradient(to right, #576bdf 0%, #99a8fe 30%, #a35ceb 100%); }
.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, #7d8ce8 0%, #5466d4 50%, #16278d 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; 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{ background:#16278d; color:#FFFFFF; padding-bottom:1px; }
.header .t1{ font-weight:bold; text-align:center; }
.header .t1 strong{ background:#FFFFFF; color:#16278d; padding:0 0.25em; }
.header .t2{ font-weight:bold; text-align:center; }
.header .t3{ font-weight:bold; text-align:center; }
.header .t4{ text-align:center; }
.header .t4 .note{ display:inline-block; text-align:left; }
.header .btm{ position:relative; overflow:hidden; }
.header .btm::after{ display:block; content:""; background:#16278d; position:absolute; border-radius:0 0 100% 100%; }

/* PC */
@media screen and (min-width:751px) {
	.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 .t3{ font-size:20rem; line-height:36rem; margin-bottom:40rem; }
	.header .t4{ font-size:14rem; line-height:24rem; }
	.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 .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 .t3{ font-size:26rem; line-height:46rem; margin-bottom:40rem; }
	.header .t4{ font-size:24rem; line-height:34rem; padding:0 50rem;  }
	.header .btm{ height:135rem; margin-bottom:-135rem; }
	.header .btm::after{ height:200%; top:-100%; left:-50rem; right:-50rem; }
}


.footer .bottom{ background:#000d58; 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:#e5e9ff; color:#16278d; word-break:break-all; word-wrap:break-word; }

#s01 .list dl{ display:flex; background:#FFFFFF; }
#s01 .list dt{ font-family:'Oswald', sans-serif; color:#9f76d0; 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:#c8d0ff; color:#333333; position:relative; padding:1px 0; }
#s02 .top,
#s02 .btm{ position:relative; overflow:hidden; }
#s02 .top::after,
#s02 .btm::after{ display:block; content:""; background:#c8d0ff; position:absolute; border-radius:100%; }
#s02 .list{ display:grid; }
#s02 .list article{ display:flex; background:#edf0ff; }
#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:#667ce7; }
#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:#c8d0ff; position:absolute; border-radius:100%; }

/* 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 .sns{ gap:20rem; }
	#s02 .list .sns img{ width:25rem; }
	#s02 .list .sns img.y{ width:30rem; }
	#s02 .list .sns img.t{ width:22rem; }
}
/* 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; }
}

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

/* 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 */