@charset "utf-8";
/* CSS Document */

/*======================
main
======================*/
.top_mv{
	width: 100%;
	height: 100%;
	margin-top: 80px;
	position: relative;
}

.mv_wrap{
	width: 100%;
	min-height: 50rem;
	position: relative;
background: url( "images/mv_bg.jpg") no-repeat center/ cover;

}


.mv_catchcopy_wrap{
	width: 85rem;
	margin: 0 auto;
	padding-top: 5rem;
	padding-bottom: 3rem;
}


@media only screen and (max-width: 767px) {
.mv_wrap{
	min-height: 100%;
background: url( "images/mv_bg_tb.jpg") no-repeat center/ cover;

}
	.mv_catchcopy_wrap{
	width: 100%;
	max-width: 400px;
	margin: 0 auto;
		padding: 30px 20px;
}
	
}

@media only screen and (max-width: 480px) {
	.mv_wrap{
background: url( "images/mv_bg_sp.jpg") no-repeat top/ cover;

}
}



.catchcopy .copy01{
	font-size: 4.5rem;
	font-weight: 700;
	display: flex;
	justify-content: center;
}
.catchcopy .copy01 .small{
	font-size: 3.2rem;
}

.text-dot{
	background-position: top right; /* 点の位置 */
  background-repeat: repeat-x; /* 横方向に繰り返し */
  background-size: 1em 0.3em; /* 点の間隔とサイズ調整 */
}

.catchcopy .copy01 .text-dot{
	background-image: radial-gradient(circle at center, #2089B0 16%, transparent 16%); /* 点の色とサイズ調整 */
    padding-top: 1rem; 
}
.catchcopy .copy01 .small.text-dot{
	background-image: radial-gradient(circle at center, #2089B0 21%, transparent 21%); 
	padding-top: 2.4rem;
}


.catchcopy .copy02{
	display: inline-block;
	font-size: 8.4rem;
	font-weight: 600;
	background: linear-gradient(90deg,rgba(30, 52, 163, 1) 0%, rgba(40, 147, 229, 1) 50%, rgba(30, 52, 163, 1) 100%);
	-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
	line-height: 1.2;
}
.catchcopy .copy02 .small{
	font-size: 7rem;
}


@media only screen and (max-width: 767px) {
	.catchcopy{
		margin-bottom: 20px;
	}
.catchcopy .copy01{
	font-size: 26px;
	justify-content: flex-start;
	align-items: flex-end;
}
	.catchcopy .copy01 .small{
	font-size: 20px;
}
	.catchcopy .copy01 p:first-of-type{
	text-align: left;
}
	
	.catchcopy .copy02{
	font-size: 60px;
	line-height: 1.2;
		text-align: left;
		display: block;
		background: linear-gradient(0deg,rgba(31, 70, 176, 1) 0%, rgba(37, 122, 212, 1) 100%);
		-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
	.catchcopy .copy02 .small{
	font-size: 50px;
}
}


.mv_lead{
	display: flex;
	align-items: center;
	padding-left: 1.5rem;
	margin-top: -0.8rem;
}
.mv_lead .txt{
	font-size: 2.8rem;
	margin-left: 1rem;
}
.mv_lead .strong{
	font-size: 2.6rem;
	background-color: #1B4386;
	padding-left: 10px;
	padding-right: 10px;
	font-weight: 600;
	margin-right: 5px;
}
.mv_lead .strong .text-dot{
	background-image: radial-gradient(circle at center, #394583 21%, transparent 21%); /* 点の色とサイズ調整 */
    padding-top: 1.6rem; 
}

.mv_lead img{
	width: 11rem;
	height: auto;
}

@media only screen and (max-width: 767px) {
	.mv_lead{
	align-items: flex-start;
	padding-left: 0;
	margin-top: inherit;
		margin-bottom: 10px;
}
	.mv_lead .txt{
	font-size: 26px;
	margin-left: inherit;
}
	.mv_lead .strong{
	font-size: 24px;
	margin-right: 0;
		padding-bottom: 3px;
}
	.mv_lead img{
	width: 70px;
		margin-top: -12px;
}
	.mv_lead .strong .text-dot{
    padding-top: 10px; 
}
}


.mv_ttl{
	margin-top: -3%;
	margin-bottom: 2.5rem;
}
.mv_ttl .txt{
	display: inline-block;
	font-size: 2.2rem;
	font-weight: 700;
	letter-spacing: 3px;
	background: linear-gradient(90deg,rgba(30, 52, 163, 1) 0%, rgba(40, 147, 229, 1) 50%, rgba(30, 52, 163, 1) 100%);
	-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
	position: relative;
}
.mv_ttl .txt::before{
	content: "";
	width: 2.2rem;
	height: 2px;
	background-color: #204AB2;
	position: absolute;
	top: 50%;
	left: -8%;
	transform: translateY(-50%);
}
.mv_ttl .txt::after{
	content: "";
	width: 2.2rem;
	height: 2px;
	background-color: #204AB2;
	position: absolute;
	top: 50%;
	right: -8%;
	transform: translateY(-50%);
}

@media only screen and (max-width: 767px) {
	.mv_ttl{
	margin-top: 0;
	margin-bottom: 20px;
}
	.mv_ttl .txt{
	font-size: 18px;
	letter-spacing: 2px;
}
	.mv_ttl .txt::before{
	width: 15px;
}
	.mv_ttl .txt::after{
	width: 15px;
}
}


.mv_award{
	display: flex;
	justify-content: center;
}
.mv_award_item {
	width: 11.5rem;
	position: relative;
	margin-right: 20px;
}
.mv_award_item:last-of-type{
	margin-right: 0;
}

.mv_award_item .img_area img{
	width: 11.5rem;
	height: auto;
}

.mv_award_item .txt_area{
	position: absolute;
	left: 50%;
	top: 3.5rem;
	transform: translateX(-50%);
	display: flex;
	flex-direction: column;
	text-align: center;
}
.mv_award_item .txt_area p{
	line-height: 1;
	font-weight: 700;
}
.mv_award_item .txt_area p:nth-child(1){
	font-size: 1.5rem;
}
.mv_award_item .txt_area p:nth-child(2){
	display: flex;
	font-size: 1.4rem;
	margin-top: -3%;
}
.mv_award_item .txt_area p:nth-child(3){
	font-size: 1.5rem;
}
.mv_award_item .txt_area .strong{
	font-size: 4.8rem;
	color: #AA3C2A;
	font-weight: 600;
}

.mv_award_item:last-of-type .txt_area .strong{
	font-size: 4.2rem;
}
.mv_award_item:last-of-type .txt_area p:nth-child(3){
	font-size: 0.8rem;
}


@media only screen and (max-width: 767px) {
	.mv_award_item {
	width: 105px;
	margin-right: 10px;
}
	.mv_award_item .img_area img{
	width: 100%;
}
	
	.mv_award_item .txt_area{
	top: 28px;
}
	
	.mv_award_item .txt_area p:nth-child(1){
	font-size: 12px;
}
.mv_award_item .txt_area p:nth-child(2){
	font-size: 12px;
}
.mv_award_item .txt_area p:nth-child(3){
	font-size: 12px;
}
	.mv_award_item .txt_area .strong{
	font-size: 40px;
}
	.mv_award_item:last-of-type .txt_area .strong{
	font-size: 40px;
}
.mv_award_item:last-of-type .txt_area p:nth-child(3){
	font-size: 8px;
}
}


.mv_cta{
	width: 100%;
	height: 19rem;
	position: relative;
	background: linear-gradient(0deg,rgba(13, 68, 114, 1) 0%, rgba(65, 131, 196, 1) 100%);
}

.mv_cta_btn{
	position: absolute;
	top: 46%;
	left: 50%;
	transform: translate(-50%,-50%);
	    display: flex;
    flex-direction: column;
    align-items: center;
}

.mv_cta_btn a{
	position: relative;
	display: inline-block;
	padding-left: 4.5rem;
	padding-right: 6.5rem;
	margin-top: -0.9rem;
	    height: 7.5rem;
    padding-top: 0.7rem;
	font-size: 2.6rem;
	font-weight: 600;
	color: #fff;
	letter-spacing: 3px;
	border: 2px solid #fff;
	border-radius: 6px;
	background: linear-gradient(0deg,rgba(203, 72, 29, 1) 0%, rgba(253, 158, 38, 1) 100%);
}
.mv_cta_btn a::after{
	content: "";
	background: url( "images/icon/arrow_right_circle.svg") no-repeat center / contain;
	width: 2rem;
	height: 2rem;
	position: absolute;
	right: 2.5rem;
	top: 52%;
	transform: translateY(-50%);
		transition: all .3s;
}
.mv_cta_btn a span{
	font-size: 3.4rem;
}


.hukidasi_area{
	position: relative;
  max-width: 40rem;
  color: #555;
  font-size: 1.8rem;
  background: #fff;
	padding: 5px 25px;
	border-radius: 10px;
	z-index: 1;
}
.hukidasi_area:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -10px;
  border: 10px solid transparent;
  border-top: 10px solid #fff;
}

@media only screen and (max-width: 768px) {
.mv_cta_btn a{
	    height: 60px;
	font-size: 20px;
}
	.mv_cta_btn a span{
	font-size: 26px;
}
.hukidasi_area{
  max-width: 100%;
  font-size: 14px;
}
}

@media only screen and (max-width: 767px) {
	.mv_cta{
	height: 170px;
}
	.mv_cta_btn{
		width: 100%;
	padding-left: 20px;
		padding-right: 20px;
	}
.mv_cta_btn a{
	width: 100%;
	max-width: 350px;
	height: 100%;
	font-size: 19px;
	margin-top: -3px;
	text-align: center;
	padding-top: 10px;
	padding-bottom: 15px;
	letter-spacing: 1px;
	font-weight: 700;
}
		.mv_cta_btn a span{
	font-size: 22px;
}
	.mv_cta_btn a::after{
	width: 15px;
	height: 15px;
	position: absolute;
	right: 15px;
}
}

/*======================
main_head
======================*/
.main_head{
	margin-bottom: 5rem;
}

.main_head .ttl_en{
	font-size: 2rem;
	font-weight: 400;
	letter-spacing: 6px;
}
.main_head .ttl{
	font-size: 3.6rem;
	letter-spacing: 4px;
	font-weight: 700;
}


@media only screen and (max-width: 768px) {
.main_head{
	margin-bottom: 45px;
}
	.main_head .ttl_en{
	font-size: 16px;
}
	.main_head .ttl{
	font-size: 30px;
}
}

@media only screen and (max-width: 767px) {
	.main_head{
	margin-bottom: 35px;
}
		.main_head .ttl_en{
			letter-spacing: 3px;
}
	.main_head .ttl{
	font-size: 26px;
}
}


/*======================
shadow
======================*/
.shadow{
	box-shadow: 0 0 12px -6px rgba(0,0,0,0.3);
}
.shadow-3px{
	box-shadow: 3px 3px 12px -6px rgba(0,0,0,0.3);
}

@media only screen and (max-width: 1024px) {
	
}
@media only screen and (max-width: 767px) {

}


/*======================
section
======================*/
.section{
	padding-top: 8.5rem;
	padding-bottom: 8.5rem;
}

@media only screen and (max-width: 1024px) {

}

@media only screen and (max-width: 768px) {
.section{
	padding-top: 65px;
	padding-bottom: 65px;
}
}

@media only screen and (max-width: 767px) {
.section{
	padding-top: 45px;
}
}

/*======================
trouble
======================*/
.trouble{
	padding-top: 7.5rem;
	padding-bottom: 7.5rem;
	background:url( "images/trouble_bg.jpg") no-repeat center / cover;
}

.trouble_head {
	margin-bottom: 3rem;
}
.trouble_head .ttl{
	display: inline-block;
	font-size: 3.6rem;
background: linear-gradient(90deg,rgba(141, 109, 17, 1) 0%, rgba(205, 173, 76, 1) 50%, rgba(141, 109, 17, 1) 100%);
	-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
	position: relative;
}
.trouble_head .ttl::before,
.trouble_head .ttl::after{
	content: "";
		width: 2.6rem;
	height: 5rem;
	position: absolute;
		top: 50%;
		transform: translateY(-50%);
}


.trouble_head .ttl::before{
	content: "";
	background:url( "images/kakko_left.png") no-repeat center / contain;
	left: -16%;
}
.trouble_head .ttl::after{
	content: "";
	background:url( "images/kakko_right.png") no-repeat center / contain;
	right: -14%;
}

.trouble_head .ttl .small{
	font-size: 3rem;
}

@media only screen and (max-width: 767px) {
.trouble{
	padding-top: 65px;
	padding-bottom: 65px;
	background:url( "images/trouble_bg_sp.jpg") no-repeat center / cover;
}
	.trouble_head {
	margin-bottom: 20px;
}
	.trouble_head .ttl{
	font-size: 30px;
}
	.trouble_head .ttl .small{
	font-size: 26px;
}
.trouble_head .ttl::before,
.trouble_head .ttl::after{
		width: 23px;
	height: 45px;
}
}

/*trouble_hukidasi*/
.trouble_hukidasi {
	position: relative;
  width: fit-content;
  border-bottom: 2px solid #394583;
	z-index: 1;
	margin: 0 auto;
	margin-bottom: 7rem;
}
.trouble_hukidasi::before {
  content: "";
  position: absolute;
  bottom: -5px;
  left: 50%;
  width: 15px;
  height: 15px;
  box-sizing: border-box;
  background-color: #ffffff; /* 背景色と同じ色を指定 */
  rotate: 135deg;
  translate: -50%;
}
.trouble_hukidasi::after {
  content: "";
  position: absolute;
  top: calc(100% + 15px);
  left: calc(50% - 37px);
  z-index: -1;
  width: 35px;
  height: 2px;
  transform: rotate(-50deg);
  box-sizing: border-box;
  background-color: #394583;
  box-shadow: 0 2px 0 #ffffff, 0 -2px 0 #ffffff; /* 背景色と同じ色を指定 */
}


.trouble_hukidasi p:first-of-type{
	font-size: 3.2rem;
	padding-bottom: 1.5rem;
}
.trouble_hukidasi p:last-of-type{
	font-size: 3.8rem;
	position: relative;
}
.trouble_hukidasi p:last-of-type span{
	font-size: 5.6rem;
	color: #3446A5;
}
.trouble_hukidasi p:last-of-type .text-dot {
    background-image: radial-gradient(circle at center, #3446A5 16%, transparent 16%);
    padding-top: 10px;
}


@media only screen and (max-width: 767px) {
	.trouble_hukidasi::after {
    top: calc(100% + 9px);
    left: calc(50% - 25px);
    width: 22px;
}
	
.trouble_hukidasi p:first-of-type{
	font-size: 25px;
	padding-bottom: 20px;
}
	.trouble_hukidasi p:last-of-type{
	font-size: 25px;
		padding-bottom: 12px;
}
.trouble_hukidasi p:last-of-type span{
	font-size: 36px;
}
	
}


/*trouble_list_wrap*/
.trouble_list_wrap{
	max-width: 69rem;
	height: 100%;
	margin: 0 auto;
	padding: 5rem;
	background:url( "images/trouble_check_bg.jpg") no-repeat center / cover;
	box-shadow: 6px 6px 12px -6px rgba(0,0,0,0.3);
	position: relative;
}

.trouble_list{
	display: flex;
	flex-direction: column;
	align-items: center;
}
.trouble_list_wrap li{
	font-size: 2.2rem;
	margin-bottom: 2rem;
	position: relative;
	padding-left: 3.5rem;
}

.trouble_list_wrap li::before{
content: "";
	background: url("images/icon/icon_check.svg") no-repeat center / contain;
	width: 26px;
	height: 15px;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	
}

.trouble_list_wrap li:last-of-type{
	margin-bottom: 0;
}

.trouble_list_wrap .person {
	position: absolute;
	bottom: -7.5rem;
	left: -34%;
}
.trouble_list_wrap .person img{
	width: 34.6rem;
	height: auto;
}


@media only screen and (max-width: 767px) {
.trouble_list_wrap{
	max-width: 100%;
	padding: 30px;
	margin-top: -4%;
}
	.trouble_list_wrap li{
	font-size: 18px;
	margin-bottom: 15px;
	padding-left: 34px;
}
	.trouble_list_wrap li::before{
	width: 20px;
	height: 15px;	
	    top: 0.9em; 
}
	.trouble .person {
	position: relative;
	bottom: inherit;
	left: inherit;
		text-align: center;
		margin-top: 30px;
		z-index: 1;
}
		.trouble .person img{
	width: 128px;
}
}


/*arrow_btm*/
.arrow_btm{
	text-align: center;
	margin-top: -3rem;
}
.arrow_btm img{
	width: 16.5rem;
	height: auto;
}

@media only screen and (max-width: 767px) {
	.arrow_btm{
	margin-top: -6%;
}
.arrow_btm img{
	width: 120px;
	height: auto;
}
}

/*======================
solution
======================*/
.solution{
	padding-top: 3rem;
	padding-bottom: 6.5rem;
	position: relative;
}


.solution_bg_wrap{
	width: 100%;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: -1;
}
.solution_bg{
	width: 100%;
	height: 70%;
	position: relative;
}
.solution_bg::before{
	content: "";
	width: 100%;
	height: 195px;
	position: absolute;
	top: 0;
	left: 0;
	background: linear-gradient(0deg,rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%);

}
.solution_bg img{
	width: 100%;
	height: 100%;
	object-position: bottom;
	object-fit: cover;
}

.solution_head .head_top{
	font-size: 5.6rem;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 5rem;
}
.solution_head .head_top img{
	width: 30rem;
	height: auto;
}


@media only screen and (max-width: 767px) {
	.solution{
	padding-top: 20px;
	padding-bottom: 45px;
}
	.solution_bg_wrap{
		height: 80%;
}
	.solution_bg{
	height: 100%;
}
	
.solution_head .head_top{
	font-size: 36px;
	margin-bottom: 10px;
}
.solution_head .head_top img{
	width: 190px;
	height: auto;
}
}


/*solution_cross*/
.solution_cross{
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 4rem;
}
.solution_cross .txt{
	display: inline-block;
	background: linear-gradient(0deg,rgba(24, 33, 116, 1) 0%, rgba(73, 103, 187, 1) 100%);
	padding: 3px 10px;
	font-size: 4rem;
	margin: 0 2.5rem;
}
.solution_cross .txt .small{
	font-size: 3rem;
}
.solution_cross img{
	width: 8rem;
}

@media only screen and (max-width: 767px) {
	.solution_cross{
		flex-direction: column;
	margin-bottom: 30px;
}
	.solution_cross .txt{
	font-size: 26px;
		line-height: 1.2;
		padding-bottom: 7px;
		margin: 10px 0;
}
	.solution_cross .txt .small{
	font-size: 20px;
}
	.solution_cross img{
	width: 32px;
}
}


/*solution_lead*/
.solution_lead {
	margin-bottom: 3rem;
}
.solution_lead .lead01{
	font-size: 4.5rem;
}
.solution_lead .lead01 .small{
	font-size: 3.5rem;
}

.solution_lead .lead02{
	    display: inline-block;
    font-size: 8.4rem;
    font-weight: 600;
    background: linear-gradient(90deg, rgba(30, 52, 163, 1) 0%, rgba(40, 147, 229, 1) 50%, rgba(30, 52, 163, 1) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
	line-height: 1;
}
.solution_lead .lead02 .small{
	font-size: 7rem;
}

@media only screen and (max-width: 767px) {
	.solution_lead {
	margin-bottom: 35px;
}
	.solution_lead .lead01{
	font-size: 36px;
		margin-bottom: 10px;
}
.solution_lead .lead01 .small{
	font-size: 28px;
}

	.solution_lead .lead02{
	font-size: 60px;
		background: linear-gradient(0deg, rgba(31, 70, 176, 1) 0%, rgba(37, 122, 212, 1) 100%);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
}
.solution_lead .lead02 .small{
	font-size: 40px;
}
	.solution_lead .lead02:first-of-type{
		padding-right: 30px;
	}
}


/*solution_btm_txt*/
.solution_btm_txt p:first-of-type{
	font-size: 2.6rem;
}
.solution_btm_txt p:first-of-type .small{
	font-size: 2.2rem;
}

.solution_btm_txt p:last-of-type{
	font-size: 3rem;
	color: #0624C4;
	line-height: 1.4;
}
.solution_btm_txt p:last-of-type .small{
	font-size: 2.2rem;
	color: #000;
}


@media only screen and (max-width: 767px) {
	.solution_btm_txt p:first-of-type{
	font-size: 20px;
}
.solution_btm_txt p:first-of-type .small{
	font-size: 20px;
}
	.solution_btm_txt p:last-of-type{
	font-size: 20px;
}
.solution_btm_txt p:last-of-type .small{
	font-size: 20px;
}
}


/*======================
merit
======================*/
.merit{
	position: relative;
	overflow: hidden;
	z-index: 0;
}

.merit_bg_wrap .merit_bg{
	width: 100%;
	height: 49.5rem;
}
.merit_bg_wrap .merit_bg img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.merit .main_head{
	width: 100%;
	position: absolute;
	top: 8rem;
	left: 50%;
	transform: translateX(-50%);
}

.merit_subttl{
	line-height: 1;
}
.merit_subttl span:first-of-type{
	font-size: 10rem;
	font-style: italic;
}
.merit_subttl {
	font-size: 4.5rem;
}
.merit_subttl .small{
	font-size: 3.5rem;
}

.merit_subttl  .text-dot{
	background-image: radial-gradient(circle at center, #8D6D11 16%, transparent 16%); /* 点の色とサイズ調整 */
    padding-top: 10px; 
}

@media only screen and (max-width: 1200px) {
.merit_bg_wrap .merit_bg{
	height: 45.5rem;
}
}

@media only screen and (max-width: 768px) {

}

@media only screen and (max-width: 767px) {
.merit_bg_wrap .merit_bg{
	width: 100%;
	height: 480px;
}
	.merit .main_head{
	top: 45px;
}
	.merit_subttl span:first-of-type{
	font-size: 90px;
}
.merit_subttl {
	font-size: 32px;
}
.merit_subttl .small{
	font-size: 26px;
}
}


/*merit_item_wrap*/
.merit_item_wrap{
/*	background:url( "images/merit_bg02.jpg") no-repeat center / cover;
	width: 100%;
	height: 84rem;*/
	position: relative;
}
.merit_item_wrap_bg_wrap .merit_item_bg{
	width: 100%;
	height: 84rem;
}
.merit_item_wrap_bg_wrap .merit_item_bg img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}


.merit_item{
	display: flex;
	justify-content: flex-end;
	position: relative;
	z-index: 0;
}
.merit_item01{
	position: absolute;
	    right: 0;
    top: -17%;
}

.merit_item02{
	flex-direction: row-reverse;
	position: absolute;
	bottom: -12%;
	left: 0;
}



@media only screen and (max-width: 768px) {
	
.merit_item_wrap_bg_wrap {
	position: absolute;
	top: 0;
	left: 0;
}
	.merit_item_wrap_bg_wrap .merit_item_bg{
	height: 138rem;
}
	
	.merit_item{
		flex-direction: column-reverse;
}
	.merit_item01{
	position: inherit;
	    right: inherit;
    top: inherit;
		margin-bottom: 7%;
}

.merit_item02{
	position: inherit;
	bottom: inherit;
	left: inherit;
}
}

@media only screen and (max-width: 767px) {
	.merit_item_wrap_bg_wrap .merit_item_bg{
	height: 720px;
}
		.merit_item01{
		margin-bottom: 50px;
}

}


.merit_item .txt_area{
	width: 55rem;
	padding: 5rem 4rem;
	position: relative; 
}
.merit_item01 .txt_area{
	 margin-right: -14%;
    margin-top: 6%;
}
.merit_item02 .txt_area{
	 margin-left: -14%;
    margin-top: 10%;
}


.merit_item .txt_area .number {
	width: 13rem;
position: absolute;
}
.merit_item01 .txt_area .number {
	top: -16%;
    left: -4%;
}
.merit_item02 .txt_area .number {
	top: -16%;
    right: 0;
		text-align: right;
}

.merit_item .txt_area .number  img{
	width: 100%;
	height: auto;
}

.merit_item_head .subttl{
	font-size: 2rem;
}

.merit_item_head .ttl{
	font-size: 3rem;
}

@media only screen and (max-width: 1200px) {
.merit_item .txt_area{
	width: 500px;
	padding: 40px 30px;
}
	.merit_item_head .subttl{
	font-size: 18px;
}
	.merit_item_head .ttl{
	font-size: 26px;
}
	.merit_item .txt_area .number {
		width: 100%;
	}
	.merit_item .txt_area .number  img{
	width: 100px;
}
}

@media only screen and (max-width: 768px) {
	.merit_item .txt_area{
	width: 90%;
	margin: 0 auto;
		margin-top: -50px;
}
	.merit_item01 .txt_area .number {
	top: -16%;
}
.merit_item02 .txt_area .number {
	top: -9%;
}

}

@media only screen and (max-width: 767px) {
	.merit_item .txt_area{
	padding:  30px;
}
		.merit_item01 .txt_area .number {
	top: -12%;
}
	.merit_item .txt_area .number  img{
	width: 85px;
}
	.merit_item_head .ttl{
	font-size: 22px;
}
}



.merit_item .img_area{
	width: 90.5rem;
	height: 44.5rem;
}
.merit_item .img_area img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}


@media only screen and (max-width: 1200px) {
.merit_item .img_area{
	width: 60%;
	height: 360px;
}
}

@media only screen and (max-width: 768px) {
.merit_item01 .img_area{
	width: 90%;
	margin-left: auto;
	height: 290px;
	margin-top: -10%;
}
	.merit_item02 .img_area{
	width: 90%;
	height: 290px;
}
}


@media only screen and (max-width: 767px) {
.merit_item01 .img_area{
	width: 75%;
	height: 210px;
	margin-top:-190px;
}
		.merit_item02 .img_area{
			width: 75%;
	height: 210px;
}
}


.merit_item03_wrap{
	position: relative;
	z-index: -1;
	padding-top: 16rem;
	padding-bottom: 8.5rem;
	background:url( "images/merit_bg03.jpg") no-repeat top / 100% 70%;
}
.merit_item03_bg{
	width: 100%;
}
.merit_item03_bg img{
	width: 100%;
	height: auto;
}

@media only screen and (max-width: 1200px) {

}

@media only screen and (max-width: 768px) {
.merit_item03_wrap{
	padding-top: 65px;
	padding-bottom: 65px;
	background:url( "images/merit_bg03.jpg") no-repeat top / 100% 70%;
}
}

@media only screen and (max-width: 767px) {
.merit_item03_wrap{
	padding-top: 45px;
	padding-bottom: 45px;
	background:url( "images/merit_bg03.jpg") no-repeat top / contain;
}
}



.merit_item03 .head_wrap{
	display: flex;
	align-items: center;
	margin-bottom: 3rem;
}

.merit_item03 .head_wrap .number {
	margin-right: 30px;
}
.merit_item03 .head_wrap .number img{
	width: 12rem;
	height: auto;
}

.merit_item03 .txt_area{
	margin-bottom: 3rem;
}

.merit_item03 .img_area{
	max-width: 780px;
	height: auto;
	margin: 0 auto;
}

@media only screen and (max-width: 767px) {
	.merit_item03 .head_wrap{
		align-items: flex-start;
		margin-bottom: 20px;
	}
.merit_item03 .head_wrap .number {
	margin-right: 15px;
}
.merit_item03 .head_wrap .number img{
	width: 85px;
	height: auto;
}
	.merit_item03 .merit_item_head{
		width: 80%;
	}
	
	.merit_item03 .txt_area{
	margin-bottom: 20px;
}
}


/*======================
case
======================*/
.case{
	position: relative;
	z-index: 0;
}

.case_bg_wrap{
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}

.case_bg_wrap .case_bg{
	width: 100%;
	height: 47.5rem;
	position: relative;
}
.case_bg_wrap .case_bg::before{
	content: "";
    width: 100%;
    height: 195px;
    position: absolute;
    bottom: 0;
    left: 0;
background: linear-gradient(180deg,rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%);
}

.case_bg_wrap .case_bg img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}


@media only screen and (max-width: 767px) {
.case_bg_wrap .case_bg{
	height: 315px;
}
}


.case_list_wrap{
	display: flex;
	justify-content: center;
	column-gap: 3rem;
}

.case_item{
	width: 32.5rem;
	height: 100%;
	box-shadow: 3px 3px 12px -6px rgba(0,0,0,0.3);
}

.case_item .head{
	padding: 1.5rem;
	background: linear-gradient(0deg,rgba(89, 164, 238, 1) 0%, rgba(25, 94, 152, 1) 100%);
}
.case_item .head .ttl{
	font-size: 2.5rem;
	line-height: 1.2;
}
.case_item .head .ttl span{
	font-size: 2rem;
}

.case_item .img_area{
	width: 100%;
	height: 21.5rem;
}
.case_item .img_area img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.case_item .txt_area{
	padding: 2.2rem;
	padding-bottom: 3rem;
}
.case_item .txt_area .price{
	font-size: 2rem;
}
.case_item .txt_area .price span{
	font-size: 2.5rem;
}

.case_item .txt_area .rate{
	padding-top: 15px;
	border-top: 1px solid #ADADAD;
	margin-top: 15px;
	display: inline-block;
}
.case_item .txt_area .rate p:first-of-type{
	font-size: 2rem;
}
.case_item .txt_area .rate p:last-of-type{
	font-size: 2.6rem;
	line-height: 1.2;
}



@media only screen and (max-width: 768px) {
.case_item{
	width: 32%;
}
	.case_item .head .ttl{
	font-size: 20px;
}
.case_item .head .ttl span{
	font-size: 16px;
}
	
	.case_item .txt_area .price{
	font-size: 14px;
}
.case_item .txt_area .price span{
	font-size: 20px;
}
	.case_item .txt_area .rate p:first-of-type{
	font-size: 14px;
}
.case_item .txt_area .rate p:last-of-type{
	font-size: 20px;
}
}


@media only screen and (max-width: 767px) {
.case_list_wrap{
	display: block;
}
	.case_item{
		width: 100%;
	max-width: 350px;
		margin: 0 auto;
		margin-bottom: 45px;
}
		.case_item:last-of-type{
		margin-bottom: 0;
}
	.case_item .head{
	padding: 15px;
}
	.case_item .head .ttl{
		font-size: 22px;
		font-weight: 700;
	}

.case_item .img_area{
	width: 100%;
	height: 200px;
}

.case_item .txt_area{
	padding: 20px;
	padding-bottom: 25px;
	text-align: center;
}
.case_item .txt_area .price{
	font-size: 20px;
	display: inline-block;
	padding-bottom: 15px;
	border-bottom: 1px solid #ADADAD;
	margin-bottom: 15px;
}
.case_item .txt_area .price span{
	font-size: 25px;
}
	
	.case_item .txt_area .rate{
	padding-top: 0;
	border-top: none;
	margin-top: 0;
}
.case_item .txt_area .rate p:first-of-type{
	font-size: 16px;
}
.case_item .txt_area .rate p:last-of-type{
	font-size: 25px;
}
}


/*======================
CTA
======================*/
.cta{
	width: 100%;
	height: 43.5rem;
	display: flex;
	flex-direction: column;
	justify-content: center;
	background:url( "images/cta_bg.jpg") no-repeat center / cover;
}

.cta .head{
	margin-bottom: 4rem;
}
.cta .head h2{
	font-size: 4rem;
	letter-spacing: 0.3rem;
}
.cta .head .big{
	font-size: 4.5rem;
}
.cta .head .strong{
	font-size: 5.8rem;
}

.cta .flex_area{
	display: flex;
	justify-content: center;
	align-items: flex-end;
	column-gap: 5rem;
	padding-bottom: 3rem;
}

.cta_btn a{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 47.5rem;
	height: 10rem;
	font-size: 2.6rem;
	text-align: center;
	border: 2px solid #fff;
	border-radius: 6px;
	position: relative;
}
.cta_btn a::before{
	content: "";
	background: url( "images/icon/arrow_right_circle.svg") no-repeat center / contain;
	width: 2rem;
	height: 2rem;
	position: absolute;
	right: 30px;
	top: 50%;
	transform: translateY(-50%);
}

.cta_data .cta_btn a{
	margin-top: -1.3rem;
	background: linear-gradient(180deg,rgba(254, 160, 38, 1) 0%, rgba(201, 68, 28, 1) 100%);
}

@media only screen and (max-width: 768px) {
	.cta{
	height: 300px;
}
	
	.cta .head h2{
	font-size: 26px;
		letter-spacing: 2px;
}
	.cta .head .big{
	font-size: 30px;
}
	.cta .head .strong{
	font-size: 40px;
}
	
	.cta .flex_area{
	column-gap: 30px;
	padding-bottom: 20px;
}
.cta_btn a{
	width: 300px;
	height: 65px;
	font-size: 16px;
}
}

@media only screen and (max-width: 767px) {
.cta{
	height: 100%;
	padding-top: 45px;
	padding-bottom: 65px;
	background:url( "images/cta_bg_sp.jpg") no-repeat center / cover;
}
.cta .head{
	margin-bottom: 25px;
}
	.cta .flex_area{
	display: block;
		padding-bottom: 0;
}
	.cta .head h2{
	font-size: 22px;
}
	.cta_data{
		margin-bottom: 30px;
	}
	.cta_btn a{
		width: 100%;
	max-width: 350px;
		font-size: 20px;
		margin: 0 auto;
}
	.cta_btn a::before{
	width: 15px;
	height: 15px;
	right: 15px;
}
	.cta_data .cta_btn a{
	margin-top: -4px;
}
}


.cta_data .hukidasi_area{
	position: relative;
  max-width: 30.6rem;
  color: #555;
  font-size: 1.8rem;
  background: #fff;
	padding: 10px 25px;
	border-radius: 10px;
	z-index: 1;
	margin: 0 auto;
}
.cta_data .hukidasi_area:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -15px;
  border: 15px solid transparent;
  border-top: 15px solid #fff;
}


.cta_contact .cta_btn a{
	padding-right: 1rem;
	background: linear-gradient(180deg,rgba(55, 192, 228, 1) 0%, rgba(29, 119, 209, 1) 100%);
}
.cta_contact .cta_btn a img{
	width: 4rem;
	height: auto;
	margin-right: 1.6rem;
}


@media only screen and (max-width: 768px) {
	.cta_data .hukidasi_area{
  max-width: 210px;
  font-size: 14px;
	padding: 6px 15px;
	border-radius: 6px;
		text-align: center;
}
.cta_data .hukidasi_area:before {
    margin-left: -10px;
    border: 10px solid transparent;
    border-top: 8px solid #fff;
}
	.cta_contact .cta_btn a img{
	width: 20px;
	margin-right: 10px;
}
}

@media only screen and (max-width: 767px) {
	.cta_contact .cta_btn a img{
	width: 24px;
}
	.cta_contact .cta_btn a{
		padding-right: 10px;
	}
}


/*======================
about
======================*/
.about{
	position: relative;
	z-index: 0;
	padding-top: 8.5rem;
	padding-bottom: 6rem;
}

.about_bg_wrap{
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}

.about_bg_wrap .about_bg{
	width: 100%;
	height:64.5rem;
	position: relative;
}
.about_bg_wrap .about_bg::before{
	content: "";
    width: 100%;
    height: 195px;
    position: absolute;
    bottom: 0;
    left: 0;
background: linear-gradient(180deg,rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%);
}

.about_bg_wrap .about_bg img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}


@media only screen and (max-width: 1024px) {
.about{
	padding-bottom: 4rem;
}
}

@media only screen and (max-width: 767px) {
.about{
	padding-top: 45px;
	padding-bottom: 45px;
}
	
.about_bg_wrap .about_bg{
	height:475px;
}
}

.about .main_head{
	margin-bottom: 3rem;
}

.about .txt_area .txt{
	font-size: 2.5rem;
	margin-bottom: 6.5rem;
}
.about .txt_area .strong{
	font-size: 4.5rem;
}
.about .txt_area .text-dot{
	background-position: top center;
	background-image: radial-gradient(circle at center, #fff 16%, transparent 16%); /* 点の色とサイズ調整 */
    padding-top: 1rem; 
}

.about .img_area img{
	width: 93rem;
	height: auto;
}

@media only screen and (max-width: 768px) {
	.about .txt_area .txt{
	font-size: 20px;
	margin-bottom: 40px;
}
	.about .txt_area .strong{
	font-size: 30px;
}
.about .img_area img{
	width: 100%;
}
}

@media only screen and (max-width: 767px) {
.about .main_head{
	margin-bottom: 25px;
}
		.about .txt_area .txt{
	margin-bottom: 20px;
			line-height: 1.7;
}
	.about .txt_area .text-dot{
    padding-top: 0; 
}
}


/*======================
award
======================*/
.award{
	position: relative;
	z-index: 0;
	padding-top: 9rem;
	padding-bottom: 6rem;
	background:url( "images/award_bg.jpg") no-repeat center / cover;
}

.award::before{
	content: "";
    width: 100%;
    height: 195px;
    position: absolute;
    top: 0;
    left: 0;
    background: linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%);
	z-index: -1;
}

.award .head {
	position: relative;
	display: inline-block;
	margin-bottom: 4rem;
}

.award .head::before,.award .head::after{
		content: "";
		width: 5rem;
	height: 10rem;
	position: absolute;
	    top: 56%;
	transform: translateY(-50%);
}
.award .head::before{
	background: url("images/award_wing_left.png") no-repeat center / contain;
	    left: -16%;
}
.award .head::after{
	background: url("images/award_wing_right.png") no-repeat center / contain;
	    right: -16%;
}

.award .head .img_star{
	margin-bottom: 15px;
}
.award .head .img_star img{
	width: auto;
	height: 20px;
	object-fit: contain;
}
.award .head .ttl{
	font-size: 3.5rem;
}

@media only screen and (max-width: 1024px) {
.award{
	padding-top: 4rem;
}
}

@media only screen and (max-width: 768px) {
	.award{
		padding-top: 30px;
		padding-bottom: 45px;
}
	.award::before{
    height: 90px;
}
	.award .head {
	margin-bottom: 30px;
}
	.award .head::before,.award .head::after{
		width: 50px;
	height: 70px;
	    top:70%;
}
	.award .head::before{
	background: url("images/award_wing_left.png") no-repeat center / contain;
	    left: -20%;
}
	.award .head::after{
	background: url("images/award_wing_right.png") no-repeat center / contain;
	    right: -20%;
}

	.award .head .img_star img{
	height: 16px;
}
	.award .head .ttl{
	font-size: 26px;
}
}

@media only screen and (max-width: 767px) {
.award{
	padding-top: 0;
	padding-bottom: 30px;
	background:url( "images/award_bg_sp.jpg") no-repeat center / cover;
}
	.award .head .img_star{
	margin-bottom: 10px;
}
		.award .head .img_star img{
	height: 13px;
}
	.award .head .ttl{
	font-size: 22px;
}
}



.award_list ul{
	display: flex;
	align-items: flex-start;
	justify-content: center;
	column-gap: 5px;
}
.award_list li{
	width: 16rem;
}
.award_list img{
	width: 100%;
	height: auto;
}

@media only screen and (max-width: 768px) {
.award_list li{
	width: 120px;
}
}

@media only screen and (max-width: 767px) {
.award_list li{
	width: 82px;
}
}


.award_list .hukidasi .hukidasi_img{
	margin-top: 5px;
}
.award_list .hukidasi .hukidasi_img img{
	width: 17rem;
	height: auto;
}


@media only screen and (max-width: 768px) {
.award_hukidasi{
  padding: 3px 10px;
  max-width: inherit;
  font-size: 12px;
}
	.award_hukidasi .strong{
	font-size: 16px;
}
}

@media only screen and (max-width: 767px) {
.award_list .hukidasi .hukidasi_img img{
	width: 98px;
}
}



/*======================
features
======================*/
.features{
	background:url( "images/features_bg.jpg") no-repeat center / cover;
	position: relative;
	z-index: 0;
}


.features::before{
	content: "";
    width: 100%;
    height: 195px;
    position: absolute;
    top: 0;
    left: 0;
    background: linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%);
	z-index: -1;
}


@media only screen and (max-width: 767px) {
.features{
	background:url( "images/features_bg_sp.jpg") no-repeat center / cover;
}

}


.features_item_wrap{
	margin-top: 9rem;
}

.features_item {
	display: flex;
	justify-content: flex-end;
	box-shadow: 6px 6px 12px -6px rgba(0,0,0,0.3);
	width: 100rem;
	margin-left: auto;
	margin-bottom: 9rem;
}
.features_item:last-of-type{
	margin-bottom: 0;
}

.features_item .img_area{
	width: 50%;
	height: 33rem;
}
.features_item .img_area img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	margin-top: -3rem;
	margin-left: -3rem;
}

.features_item .txt_area{
	width: 50%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding-right: 3rem;
}

.features_item .txt_area .head{
	margin-bottom: 2rem;
}
.features_item .txt_area .head .ttl_en{
font-size: 1.5rem;
	letter-spacing: 6px;
	position: relative;
	padding-left: 30px;
}
.features_item .txt_area .head .ttl_en::before{
	content: "";
	width: 20px;
	height: 1px;
	background-color: #8D6D11;
	position: absolute;
	top: 50%;
		left: 0;
	transform: translateY(-50%);
}

.features_item .txt_area .head .ttl{
font-size: 3rem;
}


@media only screen and (max-width: 768px) {
.features_item {
	width: 95%;
	margin-left: auto;
	margin-bottom: 40px;
}
	.features_item .img_area{
	width: 40%;
	height: 200px;
}
	.features_item .txt_area{
		width: 60%;
		min-height: 245px;
	padding: 30px 30px 30px 15px;
}
	.features_item .txt_area .head .ttl{
font-size: 22px;
}
	.features_item .txt_area .head .ttl_en{
font-size: 14px;
	letter-spacing: 3px;
		margin-bottom: 10px;
}
}

@media only screen and (max-width: 767px) {
.features_item_wrap{
	margin-top: 45px;
}
.features_item {
	display: block;
	width: 100%;
	max-width: 350px;
	margin: 0 auto;
	margin-bottom: 45px;
}
	.features_item:last-of-type {
	margin-bottom: 0;
}
		.features_item .img_area{
	width: 100%;
	height: 210px;
}
	.features_item .img_area img{
	margin-top: 0;
	margin-left: 0;
}
	.features_item .txt_area .head{
	margin-bottom: 20px;
}
		.features_item .txt_area .head .ttl_en{
		margin-bottom: 5px;
}
		.features_item .txt_area{
		width: 100%;
		min-height: 100%;
	padding: 30px 25px;
}
}

/*======================
FAQ
======================*/
.faq{
	background:url( "images/faq_bg.jpg") no-repeat center / cover;
}

.faq_item{
	width: 96rem;
	margin: 0 auto;
	margin-bottom: 3rem;
}
.faq_item:last-of-type{
	margin-bottom: 0;
}

.faq_item .faq_q{
	padding: 2rem 3rem;
	background-color: #394583;
	color: #fff;
	display: table;
}
.faq_item .faq_q dt{
		font-family: "EB Garamond", serif;
	font-size: 3.5rem;
	font-weight: 400;
	margin-right: 2rem;
	line-height: 1;
}
.faq_item .faq_q dd{
	width: 100%;
	font-size: 2.5rem;
	font-weight: 600;
	display: table-cell;
	vertical-align: middle;
}


.faq_item .faq_a{
	background-color: #fff;
	padding: 2rem 3rem;
	padding-right: 4.5rem;
	display: table;
}
.faq_item .faq_a dt{
	color: #B6402D;
	font-size: 3.5rem;
	font-weight: 400;
	margin-right: 2rem;
	line-height: 1;
}
.faq_item .faq_a dd{
	width: 100%;
	font-size: 1.6rem;
	display: table-cell;
	vertical-align: middle;
}


@media only screen and (max-width: 768px) {
.faq_item{
	width: 100%;
	margin-bottom: 30px;
}
.faq_item .faq_q{
	padding: 20px 30px;
}
.faq_item .faq_q dt{
	font-size: 26px;
	margin-right: 15px;
}
.faq_item .faq_q dd{
	font-size: 20px;
}
	
	.faq_item .faq_a{
	padding: 20px 30px;
	padding-right: 30px;
}
.faq_item .faq_a dt{
	font-size: 26px;
	margin-right: 15px;
}
.faq_item .faq_a dd{
	font-size: 16px;
}
}

@media only screen and (max-width: 767px) {
.faq{
	background:url( "images/faq_bg_sp.jpg") no-repeat center / cover;
}
	.faq_item .faq_q{
	padding: 15px 20px;
}
		.faq_item .faq_a{
	padding: 15px 20px;
	padding-right: 20px;
}
}


/*======================
flow
======================*/
.flow{
	background:url( "images/flow_bg.jpg") no-repeat center / cover;
}

.flow_item_wrap{
width: 89rem;	
	margin: 0 auto;
}

.flow_item{
	display: flex;
	align-items: center;
	height: 20rem;
	margin-bottom: 4rem;
	position: relative;
	z-index: 0;
}
.flow_item::after{
	content: "";
	width: 2px;
	height: 100%;
	background-color: #857C65;
	position: absolute;
	    bottom: -20%;
    left: 6%;
	z-index: -1;
}
.flow_item:last-of-type{
	margin-bottom: 0;
}
.flow_item:last-of-type::after{
	content: none;
}


@media only screen and (max-width: 768px) {
.flow_item_wrap{
width: 100%;	
}
	.flow_item{
	height: 100%;
	margin-bottom: 30px;
		background-color: #857C65;
}

}

@media only screen and (max-width: 767px) {
.flow{
	background:url( "images/flow_bg_sp.jpg") no-repeat center / cover;
}
	.flow_item{
	display: block;
}
	.flow_item::after{
    left: 50%;
		transform: translateX(-50%);
}
}


.flow_item .img_area{
	width: 14%;
	height: 100%;
	background-color: #857C65;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
.flow_item .img_area img{
	width: 5rem;
	height: auto;
}

.flow_item .txt_area{
	width: 100%;
	height: 100%;
	padding: 3rem 4rem;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.flow_item .txt_area .ttl{
	font-size: 3rem;
	color: #513F0B;
}

.flow_item .txt_area .ttl span{
	font-size: 2.5rem;
}


@media only screen and (max-width: 768px) {
.flow_item .txt_area{
	padding: 30px;
}
	.flow_item .txt_area .ttl{
	font-size: 24px;
}
.flow_item .txt_area .ttl span{
	font-size: 20px;
}
}

@media only screen and (max-width: 767px) {
.flow_item .img_area{
	width: 100%;
	padding: 20px;
	display: flex;
	flex-direction: inherit;
}
	.flow_item .img_area{
		display: block;
		text-align: center;
	}
	.flow_item .img_area .ttl{
		position: relative;
		display: inline-block;
	}
	.flow_item .img_area .ttl img{
	width: 40px;
		position: absolute;
		top:50%;
		left: -60px;
		transform: translateY(-50%);
}
		.flow_item .img_area .ttl{
	font-size: 20px;
}
	.flow_item .img_area .ttl span{
	font-size: 16px;
}
	
	.flow_item .txt_area{
	padding: 20px;
}
	
	.flow_item02  .img_area{
		display: flex;
	}
	.flow_item02  .img_area .ttl{
		text-align: left;
		margin-left: 15px;
	}
		.flow_item02 .img_area img{
	width: 40px;
}
}


/*======================
voice
======================*/
.voice{
	position: relative;
	z-index: 0;
	background:url( "images/voice_bg.jpg") no-repeat center / cover;
}

.voice .main_head{
	margin-bottom: 2.5rem;
}

.voice .lead_txt{
	font-size: 2rem;
}
.voice .lead_txt .strong{
	font-size: 3rem;
}


@media only screen and (max-width: 768px) {
.voice .lead_txt{
	font-size: 20px;
}
.voice .lead_txt .strong{
	font-size: 30px;
}
}

@media only screen and (max-width: 767px) {
	.voice{
	background:url( "images/voice_bg_sp.jpg") no-repeat center / cover;
}
.voice .main_head{
	margin-bottom: 45px;
}
}


.voice_item_wrap{
	margin-top: 8rem;
}
.voice_item{
	display: flex;
}
.voice_item01{
	margin-bottom: 12rem;
}
.voice_item02{
	padding-right: 6rem;
	flex-direction: row-reverse;
}

@media only screen and (max-width: 1024px) {
.voice_item{
	justify-content: center;
}
	.voice_item02{
	padding-right: 0;
}
}

@media only screen and (max-width: 768px) {
.voice_item{
	justify-content:space-between;
}

}

@media only screen and (max-width: 767px) {
.voice_item_wrap{
	margin-top: inherit;
}
	.voice_item{
	display: block;
}
	.voice_item01{
	margin-bottom: 65px;
}
}


.voice_item .img_area{
	display: flex;
}
.voice_item02 .img_area{
	flex-direction: row-reverse;
}
.voice_item .img_area .number{
	font-size: 6rem;
	font-weight: 400;
	 writing-mode: vertical-rl;
	color:rgba(14,23,70,0.2);
	letter-spacing: 0.6rem;
}
.voice_item .img_area .number span{
	font-size: 6.4rem;
}

.voice_item .img_area img{
	    width: 33rem;
    height: 40rem;
	object-fit: cover;
}

.voice_item .txt_area{
	width:  45rem;
	margin-left: 4rem;
}
.voice_item02 .txt_area{
	margin-left: inherit;
	margin-right: 4rem;
}
.voice_item .txt_area .ttl{
	font-size: 3rem;
	margin-bottom: 2rem;
	letter-spacing: 0.3rem;
}

.voice_item .txt_area .txt{
	margin-bottom: 2rem;
}

@media only screen and (max-width: 768px) {
	.voice_item .img_area{
	width: 48%;
}
.voice_item .img_area img{
	    width: 100%;
    height: 340px;
	object-fit: cover;
}
	.voice_item .img_area .number{
	font-size: 36px;
	letter-spacing: 4px;
}
.voice_item .img_area .number span{
	font-size: 40px;
}
	
	.voice_item .txt_area{
	width:  50%;
	margin-left: 0;
		padding-left: 30px;
}
	.voice_item02 .txt_area{
	margin-left: inherit;
	margin-right: 0;
		padding-right: 30px;
}
	.voice_item .txt_area .ttl{
	font-size: 24px;
	margin-bottom: 20px;
	letter-spacing: 2px;
}
}

@media only screen and (max-width: 767px) {
	.txt_sp{
		margin-bottom:30px
	}
	.txt_sp .ttl{
		font-size: 24px;
		margin-bottom: 15px;
		letter-spacing: 2px;
	}
	.voice_item .img_area{
	width: 100%;
		justify-content: space-between;
		margin-bottom: 20px;
}
	.voice_item .img_area img{
		width: 80%;
    height: 330px;
}
		.voice_item .img_area .number{
	font-size: 46px;
			line-height: 1;
}
.voice_item .img_area .number span{
	font-size: 46px;
}
		.voice_item .txt_area{
	width:  100%;
		padding-left: 0;
}
		.voice_item02 .txt_area{
		padding-right: 0;
}
}


/*======================
contact
======================*/
.contact{
	padding-top: 8.5rem;
	padding-bottom: 2.5rem;
	background-color: #292F53;
	position: relative;
	z-index: 0;
}

.contact_bg_wrap{
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}
.contact_bg_wrap .contact_bg{
	width: 100%;
	height: 45rem;
	position: relative;
}
.contact_bg_wrap .contact_bg::after{
	content: "";
    width: 100%;
    height: 195px;
    position: absolute;
    bottom: 0;
    left: 0;
   background: linear-gradient(-1deg,rgba(41, 47, 83, 1) 0%, rgba(41, 47, 83, 0) 100%);
}
.contact_bg_wrap .contact_bg img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}


.contact .main_head .ttl span{
	font-size: 4rem;
}

@media only screen and (max-width: 768px) {
.contact{
	padding-top: 65px;
	padding-bottom: 25px;
}
	.contact_bg_wrap .contact_bg{
	height: 290px;
}
	
.contact .main_head .ttl span{
	font-size: 30px;
}
}

@media only screen and (max-width: 767px) {
.contact{
	padding-top: 45px;
}
	.contact .main_head .ttl span{
	font-size: 26px;
}
}


/*======================
contactform
======================*/
.contactform{
	padding-top: 8.5rem;
	padding-bottom: 2.5rem;
	margin-top: 80px;
	background-color: #292F53;
}

@media only screen and (max-width: 768px) {
	.contactform{
	padding-top: 65px;
		padding-bottom: 25px;
}
}


/*======================
thanks
======================*/
.thanks_wrap{
	padding-top: 8.5rem;
	padding-bottom: 8.5rem;
	margin-top: 80px;
	background:url( "images/thanks_bg.jpg") no-repeat center / cover;

}
.thanks_inner h2{
	font-size: 3rem;
	margin-bottom: 4rem;
}
.thanks_inner .txt_area{
	margin-bottom: 4rem;
	font-size: 1.6rem;
}

.txt_area_tel{
	width: 60rem;
	margin: 0 auto;
		margin-bottom: 6rem;
	font-size: 1.6rem;
	padding: 3rem;
}

.txt_area_tel .tel{
	font-size: 4rem;
	margin-right: 1.5rem;
}
.txt_area_tel .tel img{
	width: 3.3rem;
	    padding-bottom: 5px;
    margin-right: 8px;
}

@media only screen and (max-width: 768px) {
	.thanks_wrap{
		padding-top: 65px;
		padding-bottom: 65px;
}
.thanks_inner h2{
	font-size: 26px;
	margin-bottom: 30px;
}
.thanks_inner .txt_area{
	margin-bottom: 30px;
	font-size: 14px;
}

.txt_area_tel{
	width: 440px;
		margin-bottom: 40px;
	font-size: 16px;
	padding: 30px;
}

.txt_area_tel .tel{
	font-size: 36px;
		margin-right: 15px;
}
.txt_area_tel .tel img{
	width: 28px;
}
}

@media only screen and (max-width: 767px) {
	.thanks_wrap{
	background:url( "images/thanks_bg_sp.jpg") no-repeat center / cover;

}
	.txt_area_tel{
	max-width: 440px;
		width: 100%;
	font-size: 14px;
	padding: 25px;
		margin-bottom: 40px;
}
	.txt_area_tel .tel{
	font-size: 32px;
}
	.txt_area_tel .tel img{
	width: 26px;
}
}


/*======================
policy
======================*/
.policy{
	padding-top: 8.5rem;
	padding-bottom: 8.5rem;
	margin-top: 80px;
	background:url( "images/policy_bg.jpg") no-repeat center / cover;
}
.policy_inner{
	padding: 4rem 6rem;
	width: 86rem;
	margin:  auto;
}

.policy_item{
	margin-top: 6rem;
}
.policy_item h3{
	font-size: 1.8rem;
	margin-bottom: 10px;
}

@media only screen and (max-width: 768px) {
		.policy{
		padding-top: 65px;
		padding-bottom: 65px;
}
	.policy_inner{
		width: 100%;
	padding: 30px 40px;
}
	.policy_item{
	margin-top: 40px;
}
	.policy_item h3{
	font-size: 18px;
}
}
@media only screen and (max-width: 767px) {
	.policy{
	background:url( "images/policy_bg_sp.jpg") no-repeat center / cover;
}
		.policy_inner{
	padding: 30px;
}
		.policy_item{
	margin-top: 30px;
}
			.policy_item h3{
	font-size: 16px;
}
		.policy_inner .fo16{
	font-size: 14px!important;
}

}




/*======================
20251118追記
======================*/
/*======================
recruiting
======================*/
.recruiting {
	padding-top: 8.5rem;
	padding-bottom: 6.5rem;
	background:url( "images/recruiting_bg.jpg") no-repeat center / cover;
}
.recruiting .txt_area{
	margin-bottom: 4.5rem;
}

.recruiting_item_wrap{
	display: flex;
	justify-content: space-between;
	margin-bottom: 4.5rem;
}
.recruiting_item{
	width: 48%;
}
.recruiting_item .ttl_area{
	width: 100%;
/*	display: flex;*/
	position: relative;
	z-index: 1;
}
.recruiting_item .ttl_area .ttl_img{
	width: 10rem;
	position: absolute;
	top: 0;
	left: 0;
}
.recruiting_item .ttl_area .ttl{
	font-size: 2.3rem;
	padding-top: 18px;
	padding-left: 10rem;
}
.recruiting_item .ttl_area .ttl span{
	font-size:1.6rem;
}

.recruiting_item .img_area{
	padding: 1.8rem 2.5rem 2.5rem 2.5rem;
}

.recruiting .txt_btm{
	font-size: 3.4rem;
	letter-spacing: 4px;
}

@media only screen and (max-width: 768px) {
	.recruiting {
	padding-top: 65px;
	padding-bottom: 65px;
}
.recruiting .txt_area{
	margin-bottom: 45px;
}
	.recruiting_item_wrap{
	margin-bottom: 45px;
		display: block;
}
.recruiting_item{
	width: 100%;
	max-width: 500px;
	margin: 0 auto;
}
	.recruiting_item:first-of-type{
		margin-bottom: 30px;
	}
	.recruiting_item .ttl_area .ttl_img{
	width: 100px;
}
.recruiting_item .ttl_area .ttl{
	font-size: 23px;
	padding-top: 18px;
	padding-left: 100px;
	padding-right: 10px;
}
.recruiting_item .ttl_area .ttl span{
	font-size:16px;
}
	.recruiting_item .img_area{
	padding: 18px 25px 25px 25px;
}
	.recruiting .txt_btm{
	font-size: 26px;
	letter-spacing: 2px;
}
}

@media only screen and (max-width: 767px) {
		.recruiting {
	padding-top: 45px;
	padding-bottom: 45px;
			background:url( "images/recruiting_bg_sp.jpg") no-repeat center / cover;
}
	.recruiting .txt_area{
	margin-bottom: 35px;
}
		.recruiting_item_wrap{
	margin-bottom: 25px;
}
		.recruiting_item:first-of-type{
		margin-bottom: 20px;
	}
		.recruiting_item .ttl_area .ttl_img{
	width: 70px;
}
.recruiting_item .ttl_area .ttl{
	font-size: 22px;
	padding-left: 70px;
}
		.recruiting_item .img_area{
	padding: 18px;
}
		.recruiting .txt_btm{
	font-size: 24px;
}
}



/*======================
footer
======================*/
.footer{
	background-color: #292F53;
	padding-top: 4rem;
	padding-bottom: 4rem;
}

@media only screen and (max-width: 768px) {
.footer{
	padding-top: 45px;
	padding-bottom: 45px;
}

}

@media only screen and (max-width: 767px) {

}



/*======================
pagetop
======================*/
.fixed_btn {
	position: fixed;
	bottom: 30px;
	right: 30px;
	z-index: 99;
}
.fixed_btn img{
	width: 55px;
	height: auto;
}

@media only screen and (max-width: 767px) {
	.fixed_btn {
	bottom: 20px;
	right: 20px;
}
.fixed_btn img{
	width: 45px;
	height: auto;
}

}


/*======================
mokuzi
======================*/
#ez-toc-container {
    width: 100% !important;
    padding: 35px 40px !important;
	border: 1px solid #BBBBBB!important;
	background-color: #fff!important;
    border-radius: 10px !important;
    margin: 3em auto 5em !important;
}
.ez-toc-title-container {
    margin-bottom: 20px !important;
}
.ez-toc-title {
	font-family: "Marcellus", serif;
    font-size: 20px !important;
	color: #14315C!important;
	font-weight: 400!important;
	letter-spacing: 2px!important;
}

.ez-toc-heading-level-2 {
    padding-bottom: 20px !important;
    margin-bottom: 20px !important;
    border-bottom: 1px solid #BBBBBB;
}
.ez-toc-heading-level-2:last-of-type {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
    border-bottom: none !important;
}
.ez-toc-heading-level-2 > a {
    font-size: 18px !important;
    margin-bottom: 10px !important;
    position: relative;
    font-weight: 600 !important;
	color: #09132E!important
}
.ez-toc-list-level-3 li {
    font-size: 16px !important;
    margin-bottom: 5px !important;
    position: relative;
    padding-left: 14px !important;
}

.ez-toc-heading-level-3 > a{
	font-size: 16px!important;
}

.ez-toc-list-level-4 li{
	font-size: 16px!important;
}
.ez-toc-list-level-4 {
    margin-top: 5px !important;
	margin-left: 0!important;
}



@media only screen and (max-width: 767px) {
	#ez-toc-container {
    padding: 25px 30px !important;
}
}


