@charset "utf-8";

/* #cont1 */
#cont1{
	padding:min(2.5%,50px) 0 min(6%,100px);
	margin-right:calc(50% - 640px);
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: center;
	align-items: center;
	-webkit-flex-direction: row-reverse;
	flex-direction: row-reverse;
}
#cont1 section{
	width:58%;
	margin:0;
	text-align:left;
}
#cont1 section h2{
	font-size:min(4vw,50px);
}
#cont1 section p{
	margin-top:1.6em;
	font-size:clamp(13px,1.5vw,18px);
}
#cont1 figure{
	width:35%;
}

@media screen and (max-width:1320px){
	#cont1{
		margin-right:3%;
	}
}

@media screen and (max-width:768px){
	#cont1{
		padding:9% 0 12%;
		margin-ri12ght:0;
		display: block;
		position:relative;
	}
	#cont1:before{
		content:'';
		display:block;
		width:60%;
		height:20%;
		background-color:#005431;
		position:absolute;
		right:0;
		bottom:0;
		z-index:-1;
	}
	#cont1 section{
		width:auto;
		padding:0 7%;
	}
	#cont1 section h2{
		font-size:9vw;
	}
	#cont1 section p{
		font-size:3.4vw;
	}
	#cont1 figure{
		width:82%;
		margin-top:9%;
	}
}


/* #cont2 */
#cont2{
	text-align:left;
	position:relative;
}
#cont2:before{
	content:'';
	display:block;
	width:41%;
	height:30%;
	background-color:#005431;
	position:absolute;
	right:0;
	top:0;
	z-index:-1;
}
#cont2 .strength{
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
#cont2 .strength li{
	width:46%;
	margin-top:min(7%,70px);
}
#cont2 .strength li h3{
	line-height:1.6;
	margin-top:1em;
	font-size:min(1.8vw,24px);
	font-weight:bold;
	letter-spacing:0.09em;
}
#cont2 .strength li p{
	margin-top:1em;
}
#cont2 .more{
	font-size:14px;
}

@media screen and (max-width:768px){
	#cont2{
		position:static;
	}
	#cont2:before{
		content:none;
	}
	#cont2 .strength{
		display: block;
	}
	#cont2 .strength li{
		width:auto;
		margin-top:12%;
	}
	#cont2 .strength li h3{
		font-size:5.4vw;
	}
	#cont2 .more{
		font-size:3vw;
	}
}


/* #cont3 */
#cont3{
}
#cont3 .sec .service{
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
#cont3 .sec .service li{
	width:47.5%;
	margin-top:min(7%,70px);
	position:relative;
	padding:5% 3.5% 3.5%;
	background-color:#fff;
	border:1px solid #005431;
	text-align:left;
	position:relative;
}
#cont3 .sec .service li .num{
	line-height:4;
	padding:0 3.5em;
	display:inline-block;
	font-size:min(0.9vw,12px);
	letter-spacing:0;
	position:absolute;
	right:-1px;
	top:0;
	transform:translateY(-50%);
}
#cont3 .sec .service li .num .large{
	line-height:1.3;
	margin-left:0.15em;
	font-size:min(1.6vw,21px);
	vertical-align:-0.2em;
}
#cont3 .sec .service li h3{
	padding-bottom:0.5em;
	line-height:1.5;
	font-size:min(2vw,25px);
	border-bottom:1px solid;
	letter-spacing:0.05em;
}
#cont3 .sec .service li p{
	margin-top:1.5em;
}

@media screen and (max-width:768px){
	#cont3 .sec .service{
		display: block;
	}
	#cont3 .sec .service li{
		width:auto;
		margin-top:14%;
		position:relative;
		padding:12% 7% 7%;
	}
	#cont3 .sec .service li .num{
		font-size:2.3vw;
	}
	#cont3 .sec .service li .num .large{
		font-size:4.1vw;
	}
	#cont3 .sec .service li h3{
		font-size:5vw;
	}
}


/* #cont4 */
#cont4{
}
#cont4 .sec h2{
	line-height:1.5;
	padding:0.5em 0;
	font-size:min(2.3vw,30px);
}
#cont4 .sec .cont_wrapper{
	padding:3.5%;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}
#cont4 .sec .cont_wrapper figure{
	width:19%;
}
#cont4 .sec .cont_wrapper ul{
	width:78%;
}
#cont4 .sec .cont_wrapper ul li{
	line-height:1.3;
	padding:0.3em 0 0.3em 3.3em;
	text-indent:-3.3em;
	font-size:clamp(13px,1.5vw,18px);
	text-align:left;
}
#cont4 .sec .cont_wrapper ul li .num{
	margin-right:0.15em;
	font-size:min(2.3vw,29px);
	font-style:italic;
	vertical-align:-0.1em;
}

@media screen and (max-width:768px){
	#cont4 .sec h2{
		font-size:6vw;
	}
	#cont4 .sec .cont_wrapper{
		padding:9% 5%;
		display: block;
	}
	#cont4 .sec .cont_wrapper figure{
		width:65%;
		margin:auto;
	}
	#cont4 .sec .cont_wrapper ul{
		width:auto;
		margin-top:5%;
	}
	#cont4 .sec .cont_wrapper ul li{
		line-height:1.3;
		padding:0.5em 0 0.5em 3.1em;
		text-indent:-3.1em;
		font-size:3.9vw;
	}
	#cont4 .sec .cont_wrapper ul li .num{
		margin-right:0.15em;
		font-size:5.7vw;
		vertical-align:-0.1em;
	}
}


