@charset "UTF-8";
/****************************************
common parts
*****************************************/
section{
	overflow: hidden;
	position: relative;
}
.bg_ling{
	position: absolute;
	z-index: 1;
}
@media screen and (max-width:840px){
	.bg_ling{
		opacity: .3;
	}
}
.btn{
	border-radius: 99em;
	color: #fff;
	display: inline-block;
	font-weight: 700;
	padding: 20px;
	position: relative;
	text-align: center;
	width: 200px;
}
.btn:after{
	background: #fff;
	border-radius: 99em;
	content: '';
	display: block;
	height: 15px;
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
	width: 15px;
}
.btn_contact{
	background: #027F40;
}
.btn_document{
	background: #D5191B;
}
.mont{
	font-family: "Montserrat", sans-serif;
}
.sec{
	padding: 120px 0;
}
@media screen and (max-width:840px){
	.sec{
		padding: 60px 0;
	}
}
.sec_green{
	background: #E5F7F6;
}
.sec_inner{
	max-width: 960px;
	margin: 0 auto;
	position: relative;
	z-index: 2;
}
@media screen and (max-width:840px){
	.sec_inner{
		width: 80%;
	}
}
.sec_title{
	color: #027F40;
	font-size: 36px;
	margin-bottom: 60px;
	text-align: center;
}
@media screen and (max-width:840px){
	.sec_title{
		font-size: 24px;
		margin-bottom: 40px;
	}
}
.sec_title strong{
	color: #B47643;
}

/****************************************
header
*****************************************/
.header{
	padding: 20px;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 99;
}
@media screen and (max-width:840px){
	.header{
	}
}
.header_logo img{
	display: block;
	height: 80px;
}
@media screen and (max-width:840px){
	.header_logo img{
		height: 50px;
	}
}
.header_btns{
	gap:20px;
}
@media screen and (max-width:840px){
	.header_btns{
		display: none;
	}
}
.header_btns .btn{
	padding: 15px 20px;
}
/****************************************
footer
*****************************************/
@media screen and (max-width:840px){
	.footer{
		padding-bottom: 76px;
	}
}
.footer_top{
	padding: 40px 0;
}
@media screen and (max-width:840px){
	.footer_top{
		flex-direction: column;
		justify-content: center;
	}
}
.footer_logo_wrap{
	gap:20px;
}
@media screen and (max-width:840px){
	.footer_logo_wrap{
		flex-direction: column;
		justify-content: center;
		text-align: center;
	}
}
@media screen and (max-width:840px){
	.footer_logo{
		text-align: center;
	}
}
.footer_logo img{
	height: 100px;
}
@media screen and (max-width:840px){
	.footer_logo img{
		height: 80px;
	}
}
.footer_top_tel_text{
	font-size: 16px;
}
.footer_top_tel_num{
	font-size: 36px;
	font-weight: 700;
}
@media screen and (min-width:841px){
	.footer_top_tel_num{
		pointer-events: none;
	}
}
@media screen and (max-width:840px){
	.footer_links{
		margin-top: 30px;
	}
}
.footer_links_sns a{
	color: #027F40;
	font-size: 30px;
}
.footer_links_com{
	gap:40px;
	margin-top: 30px;
}
@media screen and (max-width:840px){
	.footer_links_com{
		
		justify-content: center;
		margin-top: 40px;
	}
}
.footer_links_com a{
	font-size: 14px;
}
.copyright{
	background: #027F40;
	color: #fff;
	font-size: 14px;
	font-weight: 500;
	padding: 20px;
	text-align: center;
}
/****************************************
sp_btns
*****************************************/
.sp_btns{
	background: rgba(255,255,255,0.6);
	bottom: 0;
	padding: 10px;
	position: fixed;
	width: 100%;
	z-index: 99;
}
.sp_btns .flex{
	gap:20px;
}
.sp_btns .btn{
	padding: 15px 40px;
	width: auto;
}
/****************************************
fv
*****************************************/
.fv{
	background: url("../img/fv_bg.jpg") no-repeat center center / cover;
	padding-bottom: 60px;
}
@media screen and (max-width:840px){
	.fv{
		padding-bottom: 40px;
	}
}
.fv_inner{
	margin: 80px auto 0;
	max-width: 1520px;
	width: 90%;
}
@media screen and (max-width:840px){
	.fv_inner{
		margin:0 auto;
	}
}
@media screen and (min-width:841px){
	.fv_cnt{
		width: 40%;
	}
}
.fv_cnt{
	color: #027F40;
}
@media screen and (max-width:840px){
	.fv_cnt{
		margin-top: 20px;
	}
}
.fv_cnt_title{
	font-size: clamp(2.25rem, 2.057rem + 0.82vw, 3.375rem);
	font-weight: 900;
	line-height: 1.2;
}
@media screen and (max-width:840px){
	.fv_cnt_title{
		xfont-size: 36px;
	}
}
.fv_cnt_text{
	font-size: 20px;
	font-weight: 700;
	margin-top: 20px;
}
@media screen and (max-width:840px){
	.fv_cnt_text{
		font-size: 16px;
	}
}
.fv_cnt_badge{
	margin-top: 20px;
}
@media screen and (min-width:841px){
	.fv_img{
		order: 2;
		width: 56%;
	}
}
.fv_btns{
	gap:30px;
	margin-top: 60px;
}
@media screen and (max-width:840px){
	.fv_btns{
		display: none;
	}
}
.fv_btns .btn{
	width: 350px;
}
/****************************************
kadai
*****************************************/
.kadai{
	background: #E5F7F6;
}
.kadai_box{
	xbackground: url("../img/kadai_box_bg.png") no-repeat center center / contain;
	background: #fff;
	border: 2px solid #027F40;
	border-radius: 10px;
	margin-bottom: 80px;
	padding: 40px;
	position: relative;
	text-align: center;
}
.kadai_box_text{
	color: #027F40;
	font-size: 24px;
	font-weight: 700;
	position: relative;
	z-index: 2;
}
@media screen and (max-width:840px){
	.kadai_box_text{
		font-size: 18px;
	}
}
.kadai_box_text strong{
	color: #B47643;
}
@media screen and (min-width:841px){
	.kadai_box_img01,
	.kadai_box_img02{
		bottom: 40px;
		height: 180px;
		position: absolute;
	}
	.kadai_box_img01{
		left: 80px;
	}
	.kadai_box_img02{
		right: 80px;
	}
}
@media screen and (max-width:840px){
	.kadai_box_img01,
	.kadai_box_img02{
		margin-top: 20px;
		height: 100px;
	}
	.kadai_box_img02{
		margin-left: 20px;
	}
}
.kadai_box_bg{
	height: 100%;
	left: 0;
	object-fit: contain;
	position: absolute;
	top: 0;
	width: 100%;
}
@media screen and (max-width:840px){
	.kadai_items{
		gap:40px;
	}
}
@media screen and (min-width:841px){
	.kadai_item{
		width: 30%;
	}
}
.kadai_item_num{
	background: #027F40;
	border-radius: 99em;
	color: #fff;
	font-size: 16px;
	font-weight: 700;
	display: inline-block;
	margin-top: 10px;
	padding: 0 10px;
}
.kadai_item_title{
	color: #027F40;
	font-size: 24px;
	margin-top: 20px;
}
@media screen and (max-width:840px){
	.kadai_item_title{
		margin-top: 10px;
	}
}
.kadai_item_text{
	margin-top: 10px;
}
.kadai_arrow{
	margin-top: 40px;
	text-align: center;
}
.kadai_arrow div{
	background: #B47643;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	display: inline-block;
	height: calc(tan(60deg) * 48px / 2);
	width: 56px;
}
.kadai_solution{
	margin-top: 20px;
	text-align: center;
}
.kadai_solution_tab{
	background: #027F40;
	border-radius: 99em;
	color: #fff;
	font-size: 18px;
	font-weight: 700;
	display: inline-block;
	margin-top: 10px;
	padding: 5px 30px;
}
.kadai_solution_copy{
	color: #027F40;
	font-size: 36px;
	font-weight: 700;
	margin-top: 20px;
}
@media screen and (max-width:840px){
	.kadai_solution_copy{
		font-size: 24px;
	}
}
.kadai_solution_copy strong{
	color: #B47643;
}
.kadai .bg_ling1{
	left: 0;
	top: 50px;
	transform: translateX(-50%);
	width: 500px;
}
.kadai .bg_ling2{
	bottom: 50px;
	right: 0;
	transform: translateX(50%);
	width: 360px;
}
/****************************************
merit
*****************************************/
.merit{
	background: url("../img/merit_bg.jpg") no-repeat center center / cover;
	color: #fff;
}
.merit .sec_title{
	color: #fff;
}
@media screen and (max-width:840px){
	.merit_items{
		flex-direction: column;
		gap:40px;
	}
}
@media screen and (min-width:841px){
	.merit_item{
		width: 30%;
	}
}
.merit_item_num{
	background: #B47643;
	border-radius: 99em;
	font-size: 16px;
	font-weight: 700;
	display: inline-block;
	margin-top: 10px;
	padding: 0 10px;
}
.merit_item_title{
	font-size: 24px;
	margin-top: 20px;
}
@media screen and (min-width:841px){
	.merit_item:not(:first-child) .merit_item_title{
		height: 77px;
	}
}
@media screen and (max-width:840px){
	.merit_item_title{
		margin-top: 10px;
	}
}
.merit_item_text{
	margin-top: 10px;
}
/****************************************
strong
*****************************************/
.strong_inner{
	margin: 0 auto;
	max-width: 1600px
}
.strong_item_wrap{
	position: relative;
	width: 80%;
}
.type1.strong_item_wrap{
	margin-left: auto;
}
.type2.strong_item_wrap{
	margin-right: auto;
}
.strong_item_wrap + .strong_item_wrap{
	margin-top: 160px;
}
@media screen and (max-width:840px){
	.strong_item_wrap + .strong_item_wrap{
		margin-top: 80px;
	}
}
.strong_item{
	background: #fff;
	border-radius: 10px 0 0 10px;
	box-shadow: 0px 0px 20px 0px rgba(4,69,64,0.3);
	padding: 30px;
	position: relative;
	z-index: 2;
}
.type2 .strong_item{
	border-radius: 0 10px 10px 0;
}
@media screen and (min-width:841px){
	.strong_item_cnt{
		width: 66%;
	}
}
@media screen and (max-width:840px){
	.strong_item_cnt{
		margin-top: 20px;
	}
}
.strong_item_cnt_title_wrap{
	position: relative;
}
.strong_item_cnt_num{
	color: #027F40;
	font-size: 90px;
	font-weight: 700;
	line-height: 1;
	opacity: .2;
}
.strong_item_cnt_title{
	bottom: 0;
	color: #027F40;
	font-size: 30px;
	left: 0;
	position: absolute;
}
@media screen and (max-width:840px){
	.strong_item_cnt_title{
		font-size: 24px;
	}
}
.strong_item_cnt_title strong{
	color: #B47643;
}
.strong_item_cnt_text{
	margin-top: 20px;
}
@media screen and (min-width:841px){
	.strong_item_img{
		width: 30%;
	}
	.type1 .strong_item_img{
		order: 2;
	}
}

.strong_item_wrap:nth-child(1) .bg_ling{
	left: 0;
	top: 0;
	transform: translate(-80%,-20%);
	width: 320px;
}
.strong_item_wrap:nth-child(2) .bg_ling{
	right: 0;
	top: 0;
	transform: translate(70%,-20%);
	width: 440px;
}
.strong_item_wrap:nth-child(3) .bg_ling{
	left: 0;
	top: 0;
	transform: translate(-50%,-50%);
	width: 700px;
}
/****************************************
feature
*****************************************/
.feature_item{
	background: #E5F7F6;
	border-left: 10px solid #027F40;
	border-radius: 10px;
	padding: 20px;
	position: relative;
}
.feature_item:after{
	bottom: 0;
	color: #fff;
	content: '01';
	display: block;
	font-family: "Montserrat", sans-serif;
	font-size: 60px;
	font-weight: 700;
	line-height: 1;
	position: absolute;
	right: 0;
	z-index: 1;
}
.feature_item:nth-child(2):after{
	content: '02';
}
.feature_item:nth-child(3):after{
	content: '03';
}
.feature_item + .feature_item{
	margin-top: 20px;
}
.feature_item_img{
	text-align: center;
}
@media screen and (min-width:841px){
	.feature_item_img{
		width: 20%;
	}
}
@media screen and (max-width:840px){
	.feature_item_img{
		width: 100%;
	}
}
.feature_item_img img{
	height: 100px;
}
.feature_item_cnt{
	position: relative;
	z-index: 2;
}
@media screen and (min-width:841px){
	.feature_item_cnt{
		width: 76%;
	}
}
@media screen and (max-width:840px){
	.feature_item_cnt{
		margin-top: 20px;
	}
}
.feature_item_cnt_title{
	color: #027F40;
	font-size: 24px;
}
@media screen and (max-width:840px){
	.feature_item_cnt_title{
		font-size: 18px;
	}
}
.feature_item_cnt_text{
	margin-top: 20px;
}
.feature .bg_ling1{
	left: 50px;
	bottom: 100px;
	width: 530px;
}
.feature .bg_ling2{
	top: 100px;
	right: 100px;
	width: 360px;
}
/****************************************
support
*****************************************/
@media screen and (max-width:840px){
	.support_items{
		flex-direction: column;
		gap:60px;
	}
}
@media screen and (min-width:841px){
	.support_item{
		width: 30%;
	}
}
@media screen and (max-width:840px){
	.support_item_img{
		margin: 0 auto;
		width: 60%;
	}
}
.support_item_title{
	color: #027F40;
	font-size: 24px;
	font-weight: 700;
	margin-top: 20px;
	text-align: center;
}
@media screen and (min-width:841px){
	.support_item_title.l1{
		height: 77px;
	}
}
@media screen and (max-width:840px){
	.support_item_title{
		margin-top: 10px;
	}
}
.support_item_text{
	margin-top: 10px;
}
/****************************************
flow
*****************************************/
@media screen and (max-width:840px){
	.flow_items{
		xflex-direction: column;
		gap:40px;
	}
}
.flow_item{
	width: 11.5%;
}
@media screen and (max-width:840px){
	.flow_item{
		margin: 0 auto;
		width: 40%;
	}
}

.flow_item_caption{
	color: #027F40;
	font-weight: 700;
	margin-top: 10px;
	text-align: center;
}
@media screen and (max-width:840px){
	.flow_item_arrow{
		display: none;
		xjustify-content: center;
	}
}
.flow_item_arrow div{
	background: #027F40;
	clip-path: polygon(0 0, 100% 50%, 0 100%);
	height: calc(tan(60deg) * 20px / 2);
	width: 20px;
}
@media screen and (min-width:841px){
	.flow_item_arrow div{
		transform: translateY(-20px);
	}
}
@media screen and (max-width:840px){
	.flow_item_arrow div{
		clip-path: polygon(0 0, 100% 0, 50% 100%);
	}
}
/****************************************
voice
*****************************************/
.voice_item{
	background: #fff;
	border-radius: 10px;
	box-shadow: 0px 0px 20px 0px rgba(4,69,64,0.3);
	padding: 40px;
}
@media screen and (max-width:840px){
	.voice_item{
		padding: 20px;
	}
}
.voice_item + .voice_item{
	margin-top: 40px;
}
@media screen and (min-width:841px){
	.voice_item_img{
		width: 22%;
	}
}
@media screen and (max-width:840px){
	.voice_item_img{
		margin: 0 auto;
		width: 60%;
	}
}
.voice_item_img_caption{
	color: #027F40;
	font-size: 14px;
	font-weight: 700;
	margin-top: 10px;
	text-align: center;
}
@media screen and (min-width:841px){
	.voice_item_text{
		width: 74%;
	}
}
@media screen and (max-width:840px){
	.voice_item_text{
		margin-top: 20px;
	}
}
.voice .bg_ling1{
	left: 160px;
	bottom: 60px;
	width: 420px;
}
.voice .bg_ling2{
	top: 170px;
	right: 230px;
	width: 170px;
}
/****************************************
faq
*****************************************/
.faq_item{
	background: #E5F7F6;
	border-radius: 10px;
	padding: 20px 40px;
}
@media screen and (max-width:840px){
	.faq_item{
		padding: 20px;
	}
}
.faq_item + .faq_item{
	margin-top: 20px;
}
.faq_item_q{
	cursor: pointer;
	position: relative;
}
.faq_item_q:after{
	background: #027F40;
	content: '';
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	display: block;
	height: calc(tan(60deg) * 20px / 2);
	position: absolute;
	right: 0;
	transition: .5s;
	top: 13px;
	width: 20px;
}
.on.faq_item_q:after{
	transform: rotate(180deg);
}
.faq_item_q_icon{
	width: 10%;
}
@media screen and (max-width:840px){
	.faq_item_q_icon{
		width: 20%;
	}
}
.faq_item_q_icon img{
	height: 40px;
}
@media screen and (max-width:840px){
	.faq_item_q_icon img{
		height: 30px;
	}
}
.faq_item_q_text{
	color: #027F40;
	font-size: 24px;
	font-weight: 700;
	padding-right: 60px;
	width: 90%;
}
@media screen and (max-width:840px){
	.faq_item_q_text{
		font-size: 18px;
		padding-right: 40px;
		width: 80%;
	}
}
.faq_item_a{
	margin-top: 20px;
}
.faq_item_a_icon{
	width: 10%;
}
@media screen and (max-width:840px){
	.faq_item_a_icon{
		width: 20%;
	}
}
.faq_item_a_icon img{
	height: 40px;
}
.faq_item_a_text{
	width: 90%;
}
@media screen and (max-width:840px){
	.faq_item_a_text{
		font-size: 16px;
		xpadding-right: 40px;
		width: 80%;
	}
}
.faq .bg_ling1{
	left: 50px;
	bottom: 50px;
	width: 330px;
}
.faq .bg_ling2{
	top: 0;
	transform: translate(10%,-10%);
	right: 0;
	width: 420px;
}
/****************************************
cta
*****************************************/
.cta{
	background: url("../img/cta_bg.jpg") no-repeat center center / cover;
	color: #fff;
	position: relative;
	text-align: center;
}
.cta_text1{
	font-size: 24px;
	font-weight: 700;
}
@media screen and (max-width:840px){
	.cta_text1{
		font-size: 18px;
	}
}
.cta_text2{
	font-size: 36px;
	font-weight: 700;
	margin-top: 20px;
}
@media screen and (max-width:840px){
	.cta_text2{
		font-size: 24px;
	}
}
.cta_text2 strong{
	background: #fff;
	border-radius: 99em;
	color: #027F40;
	padding: 0 20px;
}
.cta_microcopy{
	font-weight: 700;
	margin-top: 20px;
}
.cta_btns{
	gap:30px;
	margin-top: 20px;
}
@media screen and (max-width:840px){
	.cta_btns{
		gap:20px;
	}
}
.cta_btns .btn{
	width: 350px;
}
.cta_btns .btn:after{
	height: 20px;
	width: 20px;
}
.cta_btns .btn_contact{
	background: #fff;
	color: #027F40;
}
.cta_btns .btn_contact:after{
	background: #027F40;
}
@media screen and (min-width:841px){
	.cta_img01,
	.cta_img02{
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		width: 15%;
	}
	.cta_img01{
		left: 7.5%;
	}
	.cta_img02{
		right: 7.5%;
	}
}
@media screen and (max-width:840px){
	.cta_img01,
	.cta_img02{
		height: 150px;
		margin-top: 20px;
	}
	.cta_img02{
		margin-left: 20px;
	}
}