@charset "utf-8";


.main_area{
	position: relative;
	background: transparent linear-gradient(180deg, #0477C7 0%, #489CE0 52%, #80ACD6 100%) 0% 0%;
	display: flex;
	align-items: center;
	padding: 6em 0;
}
.main_area .txt_area{
	width: 80%;
	padding: 0 5%;
	position: relative;
	z-index: 1;
}


.main_area h1{
	width: 90%;
	max-width: 777px;
	margin-bottom: 3em;
}
.main_area h2{
	font-size: clamp(2rem, -0.114rem + 10.57vw, 7.813rem);
	margin-bottom: .25em;
	text-align: left;
}

.main_area .link{
	width: 100%;
	max-width: 800px;
}

.main_area .link a{
	display: block;
	background: #fff;
	padding: 1em 2em;
	color: var(--c_blue);
	text-align: center;
	font-weight: 600;
	letter-spacing: .2em;
	line-height: 1.2;
	font-size: clamp(0.875rem, 0.648rem + 1.14vw, 1.5rem);
	border-radius: 60px;
	position: relative;
}
.main_area .link a .red{
	color: #FF7E7E;
	font-weight: 800;
}
.main_area .link a::after{
  content: '\f0a9';
  font-family: 'FAsolid';
  font-weight: 900;
  font-size: 110%;
  position: absolute;
  top: 50%;
  right: .5em;
  transform: translateY(-50%);
}

.main_area .img_area{
	position: absolute;
	bottom: 0;
	left: clamp( 820px, 60%, 60vw );
	width: clamp( 400px, 40%, 600px );
}


section h2{
	font-size: clamp(1.875rem, 1.466rem + 2.05vw, 3rem);
	color: var(--c_blue);
	margin-bottom: 1.25em;
}


.front_about h2,
.front_column h2,
.front_faq h2,
.front_intro h3,
.front_type h2 .small{
	font-size: clamp(1.5rem, 1.227rem + 1.36vw, 2.25rem);
}

.front_intro h2{
	font-size: clamp(1.875rem, 0.739rem + 5.68vw, 5rem);
	margin-bottom: 1em;
}

.front_intro h2 .small{
	font-size: clamp(1.25rem, 0.341rem + 4.55vw, 3.75rem);
	font-weight: 400;
}


.front_type h2 .small{
	font-weight: 600;
}

.front_taiken h2{
	font-size: clamp(1.25rem, 1.023rem + 1.14vw, 1.875rem);
	color: initial;
}


.front_intro h3{
	text-align: left;
}
.front_about h3{
	font-size: clamp(1.125rem, 0.989rem + 0.68vw, 1.5rem);
	text-align: left;
}

.front_type h3{
	font-size: clamp(1rem, 0.886rem + 0.57vw, 1.313rem);
}



section h3{font-size: clamp(1.125rem, 0.852rem + 1.36vw, 1.875rem);margin-bottom: .5em;}
section h4{font-size: clamp(1rem, 0.682rem + 1.59vw, 1.875rem);margin-bottom: .75em;}




.front_intro h2 .txt_img{
	margin: .125em auto 0;
	width: 90%;
	max-width: 550px;
}
.front_intro h2 .txt_img img{
	display: block;
	width: 100%;
	height: auto;
}


.front_intro .box01,
.front_intro .box02{
	position: relative;
}
.front_intro .box01::after,
.front_intro .box02::after{
	content: "";
	width: 70%;
	height: 100%;
	position: absolute;
	bottom: 0;
}
.front_intro .box01::after{
	background: #FFE6E6;
	left: 0;
}
.front_intro .box02::after{
	background: #FFF6D6;
	right: 0;
}

.front_intro .txt_area{
	width: 50%;
	padding: 6em 5em;
	position: relative;
	z-index: 1;
}
.front_intro .img_area{
	width: 50%;
	max-width: 700px;
	position: relative;
	z-index: 1;
}





.front_about{
	position: relative;
}
.front_about h2{
	position: absolute;
	top: 1em;
	left: 50%;
	transform: translateX(-50%);
	margin: auto;
	width: 90%;
}
.front_about h2 .wrap{
	color: #fff;
	padding: .25em 1.5em;
}
.front_about .box_wrap{
	border: 2px solid var(--c_blue);
	padding: 5em 4em 3em;
}

.front_about .box01 .list{
	gap: 2em;
}
.front_about .box01 .list li{
	width: calc(100% / 5 - 2em);
}

.front_about .box01 figcaption{
	text-align: center;
}



.front_about .box02 .txt_area,
.front_method .txt_area,
.front_field .txt_area{
	width: 50%;
}
.front_about .box02 .img_area,
.front_method .img_area,
.front_field .img_area{
	width: 45%;
}




.front_type .box01 .list{
	width: 100%;
	max-width: 920px;
	margin: auto;
	gap: 3em 1.75em;
}
.front_type .box01 .list li{width: calc(100% / 2 - 1.75em);}
.front_type .box01 .list .img_area{margin-bottom: 1em;}


.front_type .box02{padding: 4em 5em;}
.front_type .box02 .list li{width: calc(100% / 2 - 1em); text-align: center;}

.front_type .list02{
	max-width: 1200px;
	margin: auto;
}

.front_type .list02{gap: 1em;}
.front_type .list02 li{width: calc(100% / 4 - 1em);}
.front_type .list02 li a{
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
	background: var(--c_blue);
	color: #fff;
	text-align: center;
	line-height: 1.4;
	padding: 1em 1.75em;
	border: 1px solid #fff;
}



.front_method .img_area{
	width: 40%;
}


.front_taiken h2::before{
	content: "";
	display: block;
	mask: url(../images/front/logo_taiken.svg);
	background-color: #E60013;
	mask-size: cover;
	width: 33vw;
	height: 12vw;
	max-width: 200px;
	max-height: 74px;
	margin: 0 auto 1.5em;
}
.front_taiken .bg_wt{
	padding: 5em 3em;
}
.front_taiken .img_area{
	width: 100%;
	max-width: 930px;
	margin: 0 auto 1.5em;
}
.front_taiken .bnr{
	width: 100%;
	max-width: 600px;
	margin: auto;
}



.front_column h2{
	margin-bottom: 2em;
}

.front_column .inner_section{
	position: relative;
	padding-top: 8em;
}
.front_column .more{
	background: none;
	padding: 0;
	margin-block: auto;
}

.front_column .more a{
	width: 90%;
	background: none;
	border: 2px solid #fff;
	margin: auto;
}

.front_column .img_list li{
	position: absolute;
}

.front_column .img_list li:nth-of-type(1){
	width: 23vw;
	max-width: 261px;
	top: 2em;
	left: 18%
}
.front_column .img_list li:nth-of-type(2){
	width: 18vw;
	max-width: 222px;
	top: 2em;
	right: 20%
}







@media (max-width: 1299px){

	.main_area { padding: 8vw 0;}
	.main_area .txt_area{ width: 62vw; padding: 0; font-size: inherit;}
	.main_area .img_area{ width: 45vw; max-width: 500px; left: 60%;}
	.main_area h1 { width: 45vw; margin-bottom: 0;}
	.main_area h2 { font-size: 10vw;}




.front_intro .txt_area{
	width: 50%;
	padding: 4vw 5vw;
}





}







@media (max-width: 799px){

	.main_area{ padding: 10vw 0;}
	.main_area .txt_area{ width: 70vw;}
	.main_area h1{ width: 60vw;}
	.main_area h2 { font-size: 11vw;}
	.main_area .img_area{ width: 50vw; left: 65%;}

.front_intro .txt_area{
	width: 100%;
}
.front_intro .img_area{
	width: 90%;
	margin: 1em auto 0;
}
.front_intro .box01::after,
.front_intro .box02::after{
	width: 100%;
	height: 70%;
}

.front_about .box_wrap{
	padding: 4em 2em 1.75em;
}




.front_type .box01 .list{gap: 3em 1em;}
.front_type .box01 .list li{width: calc(100% / 2 - 1em);}
.front_type .box02{padding: 2em 3em;}

.front_about .box02 .txt_area,
.front_method .txt_area,
.front_field .txt_area{
	width: 100%;
}
.front_about .box02 .img_area,
.front_method .img_area,
.front_field .img_area{
	width: 90%;
	max-width: 460px;
	margin: 0 auto 1.5em;
}


.front_about .box01 .list li{width: calc(100% / 3 - 2em);}

.front_type .list02{gap: 1em .5em}
.front_type .list02 li{width: calc(100% / 2 - .5em);}


.front_column .inner_section{
	padding-top: 10vw;
}

.front_taiken .bg_wt{
	padding: 8vw 6vw;
}

}



@media (max-width: 599px){



	.main_area .txt_area{width: 80%;}
	.main_area .link a{ padding: .5em 3em; letter-spacing: 0; max-width: 22em;}
	.main_area .link a::after{ font-size: 200%;}

.front_type .box01 .list{gap: 3em 0;}
.front_type .box01 .list li{width: 100%;}
.front_type .box02{padding: 1em 1.5em;}
.front_type .box02 .list { gap: 1em;}
.front_type .box02 .list li{width: 100%;}

.front_intro .box01::after,
.front_intro .box02::after{
	height: 80%;
}

.front_about .box01 .list li{width: calc(100% / 2 - 2em);}





.front_column h2{margin-bottom: 1em;}
.front_column .img_list li:nth-of-type(1){
	width: 26vw;
	top: 1em;
	left: 6%
}
.front_column .img_list li:nth-of-type(2){
	width: 22vw;
	top: 1em;
	right: 8%
}


}



@media (max-width: 399px){

	.main_area .txt_area { width: 100%;}
	.front_about h2 .wrap { padding-inline: .5em;}

}


.bread li:last-of-type{
	display: none;
}
