@charset "utf-8";
#crumb{
	margin-top: 0;
}
#mainVisual{
	background: url("/assets/business/img/mv_bg.webp") no-repeat left top / cover;
	width: 100%;
	aspect-ratio: 1366 / 929;
	max-height: 829px;
	min-height: 670px;
}

#mainVisual .inner{
	padding-top: 134px;
	text-align: left;
	max-width: 1208px;
	margin: 0 auto;
	width: calc(100% - 40px);
	position: relative;
}

#mainVisual .image{
	background: url("/assets/business/img/mv_point.webp") no-repeat center / contain;
	max-width: 635px;
	width: 53%;
	aspect-ratio: 635/1044;
	position: absolute;
	top: 230px;
	right: 0;
	margin-right: -20px;
	z-index: 10;
}

@media screen and (max-width: 1200px){
	#mainVisual{
		background-position: center bottom;
	}
	#mainVisual .image{
		top: 90px;
		
	}
	
	#mainVisual .txt{
		width: 47%;
	}
}
@media screen and (max-width: 1024px){
	#mainVisual .image{
		top: 0;
		width: 50%;
	}
}
@media screen and (max-width: 767px){
	#mainVisual{
		min-height: 400px;
	}
	#mainVisual .inner{
		padding-top: 13%;
	}
	#mainVisual .txt{
		width: 83%;
	}
	#mainVisual .image{
		top: 42%;
		width: 38%;
		max-width: 280px;
	}
}
@media screen and (max-width: 588px){
	#mainVisual .inner{
		padding-top: 76px;
	}
}
@media screen and (max-width: 480px){
	#mainVisual .image{
		top: 200px;
	}
	#mainVisual .txt {
		width: 87%;
	}
}

/* ------------------------------------------------------------------------ */

/*  #sec_01～#sec_03

/* ------------------------------------------------------------------------ */
[id^="sec"] .box{
	text-align: left;
	background: #003289;
	color: #fff;
	padding: 76px 140px 76px 160px;
	margin: 0 0 0 auto;
	max-width: 980px;
	position: relative;
}
[id^="sec"] .box .inner{
	position: relative;
	z-index: 1;
}
[id^="sec"] .box .lead{
	font-size: 1.8rem;
	line-height: 2;
	margin-top: 40px;
}
[id^="sec"] .box .ttl{
	font-size: 4rem;
	font-weight: 900;
	position: relative;
}
[id^="sec"] .box .ttl .label{
	content: "";
	display: block;
	position: absolute;
}
[id^="sec"] .imgBox{
	display: block;
	max-width: 680px;
	width: 100%;
	aspect-ratio: 34 / 19;
	position: relative;
	z-index: 1;
}
[id^="sec"] .box a.com-btn{
	background: #fff;
	color: #003289;
	padding: 13px 53px 14px 36px;
	margin-top: 60px;
	border-radius: 35px;
}
[id^="sec"] .box a.com-btn::after{
	background-color: #E60012;
	background-image: url("/common/img/icon_arrow_wht.svg");
}
[id^="sec"] .box a.com-btn:hover{
	background: #E60012;
	color: #fff;
}
[id^="sec"] .box a.com-btn:hover::after{
	background-color: #fff;
	background-image: url("/common/img/icon_arrow_red.svg");
}


#sec_01{
	margin-top: -186px;
}

#sec_01 > .contents{
	max-width: 1366px;
	width: 100%;
}

#sec_01 .box{
	color: inherit;
	background: #F7F9FF;
	max-width: 960px;
	width: 72%;
	padding: 94px 140px 140px;
	margin: 0 auto 0 0;
}

#sec_01 .box h2{
	color: #003289;
	font-size: 4.4rem;
	font-weight: 900;
	line-height: 1.591;
}
#sec_01 .box p .big{
	font-size: 1.11111em;
	font-weight: 700;
	border-bottom: solid 4px #378CFA;
}

#sec_02{
	max-width: 1366px;
	margin: 143px auto 0;
}
#sec_02 .contents{
	max-width: 1208px;
}
#sec_02 .box{
	min-height: 800px;
}
	#sec_02 .box::before{
		content: "";
		display: block;
		width: 100%;
		height: 100%;
		background: url("/assets/business/img/point_bg_01.webp") no-repeat right bottom / cover;
		position: absolute;
		bottom: 0;
		left: 0;
		mix-blend-mode: soft-light;
	}

#sec_02 .box .ttl .label{
	top: 7px;
	right: calc(100% + 103px);
}

#sec_02 .box .businessCont{
	margin-top: 43px;
	display: flex;
	justify-content: flex-start;
	align-items: stretch;
}
	#sec_02 .box .businessCont p{
		color: #fff;
		background: #003289;
		display: flex;
		justify-content: center;
		align-items: center;
		padding: 0 32px;
		margin-right: 23px;
		font-size: 2.6rem;
		font-weight: 700;
		flex-shrink: 0;
	}
	#sec_02 .box .businessCont ul li{
		text-indent: -1em;
		padding-left: 1em;
		line-height: 2;
	}


#sec_02 .detailList{
	display: flex;
	justify-content: center;
	align-items: stretch;
	flex-wrap: wrap;
	gap: 50px 33px;
	margin-top: -100px;
	position: relative;
	z-index: 5;
}
	#sec_02 .detailList li{
		text-align: left;
		max-width: 380px;
		width: calc(100% / 3 - 22px);
	}
		#sec_02 .detailList li h3{
			font-size: 2rem;
			font-weight: 700;
			color: #003289;
			margin-top: 14px;
			letter-spacing: 0.05em;
		}
		#sec_02 .detailList li p{
			margin-top: 10px;
		}
		#sec_02 .detailList li .min{
			font-size: 0.875em;
			line-height: 1.429;
		}


#sec_03 {
	max-width: 1366px;
	margin: 136px auto 0;
}
#sec_03 .box{
	min-height: 750px;
	margin: 0 auto 0 0;
	padding: 76px 207px 76px 140px;
}
	#sec_03 .box::before{
		content: "";
		display: block;
		width: 100%;
		height: 100%;
		background: url("/assets/business/img/point2_bg_01.webp") no-repeat left bottom / cover;
		position: absolute;
		bottom: 0;
		left: 0;
		mix-blend-mode: soft-light;
	}

#sec_03 .box .ttl .label{
	top: 7px;
	left: calc(100% + 152px);
}

#sec_03 .imgBox {
	background: url("/assets/business/img/point2_img_01.webp") no-repeat center / contain;
	margin: -294px 0 0 auto;
}

#sec_04 {
	max-width: 1366px;
	margin: 140px auto 0;
}
#sec_04 .box{
	min-height: 750px;
}
	#sec_04 .box::before{
		content: "";
		display: block;
		width: 100%;
		height: 100%;
		background: url("/assets/business/img/point3_bg_01.webp") no-repeat left bottom / cover;
		position: absolute;
		bottom: 0;
		left: 0;
		mix-blend-mode: soft-light;
	}

#sec_04 .box .ttl .label{
	top: 7px;
	right: calc(100% + 102px);
}

#sec_04 .imgBox {
	background: url("/assets/business/img/point3_img_01.webp") no-repeat center / contain;
	margin: -161px auto 0 0;
}

@media screen and (max-width: 1200px){
	[id^="sec"] .box .ttl .label{
		width: 200px;
	}
	#sec_01 {
		margin-top: -146px;
	}
	#sec_01 .box h2{
		font-size: 3.2rem;
	}
	#sec_02 .box .ttl .label{
		top: auto;
		right: auto;
		bottom: calc(100% + 30px);
		left: -140px;
	}
	#sec_02 .detailList li h3 br{
		display: none;
	}
	#sec_03 .box .ttl .label{
		top: -170px;
		left: calc(100% - 13px);
	}
	#sec_04 .box .ttl .label {
		top: auto;
		right: auto;
		bottom: calc(100% + 30px);
		left: -140px;
	}

}
@media screen and (max-width: 1024px){
	[id^="sec"] .box,
	#sec_03 .box{
		padding: 76px 40px;
	}
	#sec_01 .box{
		padding: 94px 40px 140px;
		width: 100%;
	}
	
	#sec_02 .box .ttl .label{
		left: -10px;
	}
	#sec_03 .box .ttl .label{
		left: auto;
		right: -20px;
	}
	#sec_04 .box .ttl .label {
		left: -10px;
	}
}
@media screen and (max-width: 767px){
	[id^="sec"] .box,
	#sec_03 .box{
		padding: 76px 23px;
	}
	[id^="sec"] .box .ttl{
		font-size: 3rem;
	}
	[id^="sec"] .box .ttl .label{
		width: 120px;
	}
	[id^="sec"] .box .lead{
		font-size: 1.6rem;
	}
	#sec_01{
		margin-top: 0;
	}
	#sec_01 .box{
		padding: 64px 23px 100px;
	}
	
	
	#sec_02 .box{
		min-height: 590px;
	}
	#sec_02 .box .ttl .label{
		bottom: calc(100% + 50px);
	}
	#sec_02 .box .businessCont{
		flex-direction: column;
	}
	#sec_02 .box .businessCont p{
		font-size: 1.8rem;
		margin: 0 0 10px;
	}
	#sec_02 .detailList{
		flex-direction: column;
		margin-top: 40px;
		gap: 40px;
	}
	#sec_02 .detailList li{
		display: flex;
		justify-content: flex-start;
		align-items: flex-start;
		width: 100%;
		max-width: inherit;
	}
	#sec_02 .detailList li figure{
		max-width: 200px;
		width: 30%;
		margin-right: 20px;
	}
	#sec_02 .detailList li .txtBox{
		max-width: 68%;
	}
	#sec_02 .detailList li h3{
		margin-top: 0;
		font-size: 1.8rem;
	}
	
	
	#sec_03 .box,
	#sec_04 .box{
		min-height: fit-content;
	}
	#sec_03 .box .ttl .label{
		top: -130px;
	}
	#sec_03 .imgBox,
	#sec_04 .imgBox{
		margin-top: -44px;
	}
	
	#sec_04 .box .ttl .label {
		bottom: calc(100% + 50px);
	}
}

/* ------------------------------------------------------------------------ */

/*  #sec_service

/* ------------------------------------------------------------------------ */

#sec_service{
	background: #F7F9FF;
	margin-top: 254px;
	padding-top: 1px;
	padding-bottom: 184px;
}

#sec_service > .contents{
	max-width: 1366px;
	width: 100%;
}

#sec_service h2{
	font-size: 4.4rem;
	font-weight: 900;
	color: #003289;
	line-height: 1.591;
	position: relative;
	margin-top: -100px;
	padding: 0 23px;
}
#sec_service h2::before{
	content: "";
	display: block;
	background: url("/assets/business/img/p_service.svg") no-repeat center / contain;
	max-width: 1194px;
	width: calc(100% - 210px);
	aspect-ratio: 1194 / 226;
	margin: 0 auto 67px;
}

#sec_service .serviceList{
	margin-top: 38px;
	display: flex;
	justify-content: center;
	align-items: stretch;
	gap: 23px;
}

#sec_service .serviceList li{
	max-width: 440px;
	width: calc(100% /3 - 15px);
}

#sec_service .serviceList .en{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	aspect-ratio: 440 / 480;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	font-size: 4rem;
	font-weight: 900;
	line-height: 1.15;
	color: #fff;
	padding-bottom: 78px;
}
	#sec_service .serviceList .li01 .en{
		background-image: url("/assets/business/img/service_img_01.webp");
	}
	#sec_service .serviceList .li02 .en{
		background-image: url("/assets/business/img/service_img_02.webp");
	}
	#sec_service .serviceList .li03 .en{
		background-image: url("/assets/business/img/service_img_03.webp");
	}

#sec_service .serviceList .txtBox{
	max-width: 340px;
	width: calc(100% - 40px);
	background: #fff;
	box-shadow: 4px 4px 10px 0 rgba(55,140,250,0.5);
	padding: 31px 30px 44px;
	margin: -96px auto 0;
	position: relative;
	z-index: 1;
}

#sec_service .serviceList .txtBox .lead{
	color: #003289;
	font-size: 1.8rem;
	font-weight: 900;
	line-height: 1.611;
}

#sec_service .serviceList .txtBox .ttl{
	font-size: 2.6rem;
	font-weight: 900;
	margin-top: 29px;
}

#sec_service .serviceList .txtBox .txt{
	margin-top: 25px;
}

#sec_service .serviceList .txtBox .btn{
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: 46px;
	font-size: 1.8rem;
	font-weight: 700;
	color: #003289;
	position: relative;
	transition: 0.3s ease;
	font-family: "Dosis", "Noto Sans JP", sans-serif
}
	#sec_service .serviceList .txtBox .btn:hover{
		color: #1E4ED8;
	}

	#sec_service .serviceList .txtBox .btn::after{
		content: "";
		display: block;
		width: 40px;
		height: 40px;
		border: solid 1px #E60012;
		background: #E60012 url("/common/img/icon_arrow_wht.svg") no-repeat center / 12px 13px;
		border-radius: 50%;
		margin-left: 19px;
		transition: 0.3s ease;
	}
		#sec_service .serviceList .txtBox .btn:hover::after{
			background-color: #fff;
			background-image: url("/common/img/icon_arrow_red.svg");
		}

	#sec_service .serviceList .txtBox .btn span{
		border-bottom: solid 1px #003289;
		transition: 0.3s ease;
	}
		#sec_service .serviceList .txtBox .btn:hover span{
			border-color: transparent;
		}


@media screen and (max-width: 1024px){
	#sec_service h2{
		margin-top: -7%;
	}
}

@media screen and (max-width: 1023px){
	#sec_service .serviceList{
		flex-direction: column;
	}
	#sec_service .serviceList li{
		display: flex;
		justify-content: flex-start;
		align-items: center;
		width: 100%;
		max-width: inherit;
	}
	#sec_service .serviceList .en{
		padding-bottom: 0;
		max-width: 440px;
		aspect-ratio: 1/1;
	}
	#sec_service .serviceList .txtBox{
		margin: 0;
		margin-left: -30px;
		width: calc(100% - 440px);
		max-width: 460px;
	}
	#sec_service .serviceList li.li02{
		flex-direction: row-reverse;
	}
	#sec_service .serviceList li.li02 .txtBox{
		margin-left: auto;
		margin-right: -30px;
	}
}

@media screen and (max-width: 767px){
	#sec_service{
		margin-top: 150px;
	}
	#sec_service h2{
		font-size: 2.9rem;
		margin-top: -8%;
	}
	#sec_service h2::before{
		width: calc(100% - 60px);
	}
	#sec_service .serviceList{
		gap: 40px;
	}
	#sec_service .serviceList li,
	#sec_service .serviceList li.li02{
		flex-direction: column;
	}
	#sec_service .serviceList .en{
		font-size: 3rem;
		padding: 20px 20px 60px;
		aspect-ratio: inherit;
		width: 100%;
		max-width: inherit;
	}
	#sec_service .serviceList .txtBox,
	#sec_service .serviceList li.li02 .txtBox{
		padding: 31px 23px 44px;
		margin: -40px auto 0;
		width: calc(100% - 46px);
		max-width: inherit;
	}
}

