:root{
	--cl-bl: #2A6ED3;
	--cl-or: #FF6F00;
	--cl-bk: #424242;
	--cl-lbl: #DBEBF7;
	--cl-lgy: #F9F9F9;
	--bg-bl: #f7fbff;
}
*,*::before,*::after{
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
ul,ol{
	list-style-type: none;
}
html{
	scroll-behavior: smooth;
}
body{
	min-height: 100vh;
	min-height: 100dvh;
	word-break: break-all;
	color: var(--cl-bk);
	font-family: 'Noto Sans JP', sans-serif;
}
p{
	line-height: 1.6;
}
img{
	max-width: 100%;
	vertical-align: middle;
}
.inner{
	max-width: 1000px;
	margin: 0 auto ;
	padding: 3.5rem 1rem;
}
.bg_bl{
	background: var(--bg-bl);
}
.cl_bl{
	color: var(--cl-bl);
}
.pc_center{
	text-align: center;
}
@media(max-width: 425px){
	.pc_center{
		text-align: left;
	}
}
header{
	background: #F7F9FD;
	padding-bottom: 20px;
}
nav,nav > div,.nav_left ul{
	display: flex;
	align-items: center;
}
nav{
	max-width: 1400px;
	margin: 0 auto;
	padding: 1rem;
	justify-content: space-between;
}
nav a,.cv_btn{
	text-decoration: none;
}
nav a,.txt_link{
	color: var(--cl-bk);
}
.txt_link_bl{
	color: var(--cl-bl);
	font-weight: bold;
}
.nav_left ul li{
	margin-left: 1rem;
	font-size: .9rem;
	font-weight: bold;
}
.logo{
	max-width: 160px;
	padding: .5rem;
}
.header_btn,.cv_btn{
	color: #fff;
	font-weight: bold;
	padding: .5rem 1.25rem;
	border-radius: 30px;
	display: inline-block;
}
.header_btn{
	margin-left:.5rem;
}
.btn_01,.cv_btn{
	background: var(--cl-or);
}
.btn_02{
	background: var(--cl-bl);
}
@media(max-width: 870px){
	.nav_left ul{
		display: none;
	}
}
@media(max-width: 460px){
	.logo{
		max-width: 120px;
		padding: 5px;
	}
	.header_btn{
		font-size: .9rem;
	}
	nav{
		padding: .5rem .25rem;
	}
}
@media(max-width: 380px){
	.header_btn{
		font-size: .75rem;
		padding: .5rem .8rem;
	}
}
.mv{
	max-width: 1000px;
	min-height: 400px;
	margin: 60px auto 40px;
	padding: 2.5rem;
	background: url(../../client-assets/images/front/kv.png)no-repeat right center / contain;
}
h1{
	font-weight: 900;
	font-size: 3.2rem;
	margin-bottom: 1rem;
}
.copy p{
	font-size: .9rem;
}
.cv_btn{
	color: #fff;
	font-size: 1.2rem;
	padding: .8rem 1.5rem;
	max-width: 320px;
	margin: 0 auto 1rem;
}
.mv_btn_wrap a{
	display: block;
 }
.mv_btn_wrap{
	margin-top: 50px;
	max-width: 450px;
	text-align: center;
}
@media(max-width: 880px){
	.mv{
	margin: 20px auto;
	padding: 1rem 2rem;
	background-size: 65%;
	}
	h1{
	font-size: 2.4rem;
	}
	.mv_btn_wrap{
		max-width: 400px;
		margin-top: 130px;
	}
}
@media(max-width: 640px){
	.mv{
		background-size: 55%;
	}
	.mv_btn_wrap{
		max-width: 100%;
	}
	}
@media(max-width: 550px){
	h1{
	font-size: 1.8rem;
	}
	.mv{
	margin: 20px auto 0;
	padding: 1rem 1rem;
	min-height: 450px;
	background-size:80%;
	background-position:center bottom 40%;
	}
	.mv_btn_wrap{
		margin-top: 230px;
	}
}
h2,h3{
	text-align: center;
	margin-bottom: 1.5em;
}
h2{
	color: var(--cl-bl);
	font-weight: 900;
	font-size: 2rem;
}
h3{
	font-weight: 600;
	font-size: 1.4rem;
}
span{
	display: inline-block;
}
.h3_left{
	text-align: left;
}
.h3_line{
	position: relative;
	padding-bottom: 1.5rem;
	margin-top: 2.5rem;
}
.h3_line::after{
	content: "";
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	position: absolute;
	width: 80px;
	height: 5px;
	border-radius: 5px;
	background: linear-gradient(90deg, rgba(42,110,211,1) 0%, rgba(90,50,250,1) 100%);;
}
.y_bx{
	border: 3px solid #FFCF4B;
	background: #FFFAF5;
	border-radius: 25px;
	padding: 1.5rem 2.5rem;
	margin: 2rem auto 3rem;
}
.y_bx h4{
	text-align: center;
	font-size: 1.5rem;
	margin-bottom: 1.5rem;
	}
.y_bx picture img{
	width: 100%;
	}
.grid{
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-gap: 3rem;
}
@media(max-width: 425px){
	h2{
		font-size: 1.5rem;
		margin-bottom: 1em;
	}
	h3{
	font-size: 1.2rem;
	}
	.y_bx{
		padding: 1rem 1rem 1.5rem;
	}
	.grid{
		grid-gap: 2rem;
	}
	.inner{
		padding: 2.5rem 1rem 3rem;
	}
}
.cv{
	background: url(../../client-assets/images/front/cv_bg.png)no-repeat center / cover;
	color: #fff;
	font-weight: 600;
	font-size: 1rem;
	text-align: center;
	padding: 2.5rem 1rem;
}
.cv p{
	font-weight: 900;
	font-size: 1.5rem;
	margin-bottom: 2em;
	}
.cv a{
	display: block;
	color: #fff;
	}
.cv a i{
	padding-right: .5em;
	}
.sec01 h4{
	font-weight: 900;
	font-size: 1.5rem;
	margin-bottom: .6em;
}
.feature{
	margin-top: 2rem;
}
.feature li{
	margin-bottom: 2rem;
}
.feature_ttl p{
	color: var(--cl-bl);
	font-weight: 900;
	font-size: 1.5rem;
	position: relative;
}
.feature_ttl p::before{
	position: absolute;
	content: "";
	width: 60px;
	height: 60px;
	background: #74DAFF;
	opacity: .2;
	border-radius: 50%;
	z-index: -1;
	top: -.25rem;
	left: -1.5rem;
}
.feature_ttl p span{
	font-size: 2rem;
}
.feature_txt{
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-gap: 1rem;
}
@media(min-width: 700px){
	.feature li:nth-child(1) img,.feature li:nth-child(3) img{
		order: 2;
	}
	.feature li:nth-child(2) .feature_ttl{
		margin-left: 50%;
	}
}
@media(max-width: 700px){
	.cv p{
		font-size: 1.2rem;
	}
	.feature li > div{
	grid-template-columns: 1fr;
	}
	.feature_ttl::before{
		width: 55px;
		height: 55px;
		top: 0;
		left: -1rem;
	}
	.grid{
		grid-template-columns: 1fr;
	}
}
.shop {
	margin: 2rem auto;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	grid-gap: 1rem;
}
.shop li{
	background: #fff;
	text-align: center;
	padding: 1rem 1.5rem 1.5rem;
	border-radius: 25px;
}
.shop_ttl{
	color: var(--cl-bl);
	font-weight: bold;
	margin: 1rem auto;
}
.shop_ttl i{
	font-size: 2rem;
}
.shop li div p{
	display: inline-block;
}
@media(max-width: 700px){
	.shop {
	grid-template-columns: 1fr 1fr;
	}
	.shop li{
	padding: .5rem .5rem 1.5rem;
	}
	.shop li > div p{
	font-size: .9rem;
	}
	.shop_ttl{
	margin: .5rem auto;
	}
}
.bg_wh{
	background: #fff;
	padding: 1.5rem;
}
.img_ttl{
	display: flex;
	margin-bottom: 1rem;
}
.img_ttl span{
	background: #EFEFEF;
	text-align: center;
	align-items: center;
	font-size: 1.5rem;
	width: 40px;
	height: 40px;
	margin-right: .5rem;
}
.reason_txt{
	display: grid;
	align-items: start;
	grid-gap: 2rem;
	margin-bottom: 2rem;
	grid-template-columns: 300px 1fr;
}
.reason_txt img{
  margin: 0 auto;
}
.reason_ttl{
	padding-left: 330px;
	display: flex;
	color: var(--cl-bl);
	font-weight: 900;
	align-items: center;
}
.reason_ttl > p{
	font-size: 1.5rem;
	line-height: 1.2;
}
.reason_ttl > span{
	font-size: 2.5rem;
	opacity: .4;
	margin-right: .5rem;
}
@media(max-width: 700px){
	.reason_txt{
		grid-template-columns: 1fr;
		grid-gap: 1rem;
	}
	.reason_ttl{
		padding-left: 0;
	}
	.reason li img{
	padding-top: 1rem;
	}
}
.support{
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-gap: 1rem;
	margin: 2rem auto;
}
.support li{
	background: #fff;
	padding: 1rem 1.5rem 1.5rem;
	border-radius: 20px;
}
.support_ttl{
	color: var(--cl-bl);
	font-weight: 900;
	font-size: 1.2rem;
	text-align: center;
}
.support_ttl p{
	margin-bottom: 1rem;
}
.support_ttl i{
	font-size: 2.4rem;
	margin: 1.25rem auto;
	width: 100px;
	height: 100px;
	border-radius: 50%;
	line-height: 100px;
	background: #DBEBF7;
}
@media(max-width: 700px){
	.support{
		grid-template-columns: 1fr;
	}
}
.flow{
	max-width: 800px;
	margin: 0 auto 2rem;
}
.flow li{
	display: grid;
	grid-template-columns: 110px 1fr;
	grid-template-rows: auto 1fr;
	grid-gap: .25rem;
	padding: 0 2rem;
	align-items: center;
	position: relative;
}
.flow img{
	grid-row: 1/3;
	padding: .5rem;
}
.step_txt{
	align-self: start;
}
.flow li:not(:last-child)::after{
	content: "";
	position: absolute;
	width: 80px;
	height: calc(tan(60deg) * 30px / 2);
	background: var(--cl-bl);
	bottom: -40%;
	left: 50%;
	transform: translateX(-50%);
	clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.flow li + li{
	margin-top: 4rem;
}
.step_ttl{
	font-size: 1.2rem;
	font-weight: bold;
}
.step_ttl .step_num{
	color: var(--cl-bl);
	font-weight: 900;
	padding-right: .5rem;
}
@media(max-width: 560px){
	.flow li:not(:last-child)::after{
		bottom: -38px;
		width: 66px;
		height: calc(tan(60deg) * 22px / 2);
	}
	.step_ttl{
		margin-bottom: .5rem;
	}
	.flow li{
		padding: 0;
		grid-gap: .5rem;
		grid-template-columns:60px 1fr;
	}
	.step_txt{
		grid-column: 1/3;
	}
	.flow li img{
		padding: 0;
		grid-row: 1;
	}
	.step_ttl span{
		display: block;
	}
	.flow li + li{
	margin-top: 3rem;
	}
}
.price > div{
	border-radius: 15px;
	border: 3px solid var(--cl-bl);
	text-align: center;
	font-weight: bold;
}
.inner_800{
	padding: 2.5rem 1rem 4rem;
	max-width: 800px;
	margin: 0 auto;
}
.price{
	display: grid;
	margin: 2rem auto 4rem;
	grid-template-columns: 1fr 100px 1fr;
	align-items: center;
}
.price_ttl{
	background: var(--cl-bl);
	color: #fff;
	border-radius: 12px 12px 0 0;
	font-size: 1.6rem;
	padding: 1rem;
}
.price_data{
	background: #fff;
	border-radius: 0 0 12px 12px;
	font-size: 2.2rem;
	padding: 1rem 1rem 1.5rem;
}
.price_data span{
	font-size: 1.6rem;
	position: relative;
}
.price_data span:after{
	content: "(税別)";
	font-size: .8rem;
	position: absolute;
	width: 4rem;
	height: 1rem;
	bottom: -.5rem;
	left: -1rem;
}
.price > p{
	font-size: 2rem;
	text-align: center;
	color: var(--cl-bl);
}
#price ul li span{
	font-weight: bold;
}
#price ul{
	padding-left: 1.5rem;
}
#price ul li{
	list-style-type: "● ";
}
@media(max-width: 520px){
	.price{
		grid-template-columns: 1fr;
		margin: 2rem auto;
	}
}
.faq{
	margin-bottom: 80px;
}
.faq li{
	margin-bottom: 1rem;
}
.faq_q,.faq_a{
	position: relative;
	padding: .8rem 3rem .8rem 3.5rem;
}
.faq_q::before,.faq_a::before,.faq_q::after{
	position: absolute;
	font-family: "Font Awesome 6 free";
	font-weight: 900;
	font-size: 1.4rem;
	top: .5rem;
}
.faq_q::before,.faq_q::after{
	color: var(--cl-bl);
}
.faq_q::before{
	content: "\51";
}
.faq_q::after{
	content: "\2b";
	right: 1rem;
}
.faq_a::before{
	content: "\41";
	color: var(--cl-or);
}
.faq_q::before,.faq_a::before{
	left: 1rem;
}
.faq_q{
	background: var(--cl-lbl);
	font-weight: bold;
	cursor: pointer;
}
.faq_a{
	background: var(--cl-lgy);
	display: none;
}
.faq_q.active::after{
	content: "\f068";
}
footer{
	background: #1B3A68;
	padding: 1.5rem .5rem;
	color: #fff;
	text-align: center;
}
.footer_logo{
	max-width: 180px;
}
footer nav{
	max-width: 1000px;
	max-width: 0 auto;
}
.footer_link a{
	text-align: center;
	color: #fff;
}
.footer_link{
	display: grid;
	grid-gap: 1rem;
	grid-template-columns: repeat(4,auto);
	justify-content: end;
}
.page-top{
	position: fixed;
	bottom: 15px;
	right: 15px;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	background: var(--cl-bl);
	margin-left: 1rem;
	border: 2px solid #fff;
	opacity: .8;
	color: #fff;
	text-decoration: none;
}
@media(max-width: 700px){
	.footer_logo img{
		max-width: 160px;
	}
	footer nav{
		display: block;
		text-align: center;
	}
	.footer_link{
		margin: 2rem auto;
		grid-template-columns: 1fr 1fr;
	}
}