@charset "utf-8";

/* #cont1 */
#cont1{
}
#cont1 .flex{
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-flex-direction: row-reverse;
	flex-direction: row-reverse;
}
#cont1 .flex .sec{
	width:min(63%,812px);
}
#cont1 .flex .sec p{
	margin-top:1.9em;
}
#cont1 .flex .sec .lead{
	text-align:left;
}
#cont1 .flex .sec .lead .large{
	margin-bottom:0.5em;
	display:block;
	font-size:clamp(14px,1.5vw,18px);
}
#cont1 .flex .sec .text_right .position{
	margin-right:1em;
}
#cont1 .flex .sec .text_right img{
	width:6em;
	vertical-align:-0.1em;
}
#cont1 .flex .fig{
	width:min(28%,363px);
}

@media screen and (max-width:768px){
	#cont1 .flex{
		width:100%;
		display: block;
	}
	#cont1 .flex .sec{
		width:auto;
		padding:0 7%;
	}
	#cont1 .flex .sec .lead .large{
		font-size:3.6vw;
	}
	#cont1 .flex .sec .text_right{
		margin-top:1em;
	}
	#cont1 .flex .fig{
		width:100%;
		margin:9% auto 0;
		padding-top:9%;
		position:relative;
	}
	#cont1 .flex .fig:before{
		content:'';
		display:block;
		width:44%;
		height:86%;
		background-color:#005431;
		position:absolute;
		left:0;
		top:0;
		z-index:-1;
	}
	#cont1 .flex .fig img{
		width:67%;
	}
}


/* #cont1_1 */
#cont1_1{
	margin-top:min(12%,120px);
}
#cont1_1 h2{
	line-height:1.5;
	padding:0.5em 0;
	font-size:min(2.8vw,36px);
}
#cont1_1 .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;
}
#cont1_1 .cont_wrapper figure{
	width:19%;
}
#cont1_1 .cont_wrapper dl{
	width:78%;
	text-align:left;
}
#cont1_1 .cont_wrapper dl dt{
	margin-bottom:1em;
	font-size:min(1.9vw,25px);
}
#cont1_1 .cont_wrapper dl dd{
	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;
}
#cont1_1 .cont_wrapper dl dd .num{
	margin-right:0.15em;
	font-size:min(2.3vw,29px);
	font-style:italic;
	vertical-align:-0.1em;
}

@media screen and (max-width:768px){
	#cont1_1{
		margin-top:18%;
	}
	#cont1_1 h2{
		font-size:5.8vw;
	}
	#cont1_1 .cont_wrapper{
		padding:9% 5%;
		display: block;
	}
	#cont1_1 .cont_wrapper figure{
		width:65%;
		margin:auto;
	}
	#cont1_1 .cont_wrapper dl{
		width:auto;
		margin-top:7%;
	}
	#cont1_1 .cont_wrapper dl dt{
		font-size:5.1vw;
	}
	#cont1_1 .cont_wrapper dl dd{
		line-height:1.3;
		padding:0.5em 0 0.5em 3.1em;
		text-indent:-3.1em;
		font-size:3.9vw;
	}
	#cont1_1 .cont_wrapper dl dd .num{
		margin-right:0.15em;
		font-size:5.7vw;
		vertical-align:-0.1em;
	}
}


/* #cont2 */
#cont2{
	padding-top:min(3%,30px);
	position:relative;
}
#cont2:before{
	content:'';
	display:block;
	width:41%;
	height:52%;
	background-color:#005431;
	position:absolute;
	right:0;
	top:0;
	z-index:-1;
}
#cont2 .charm{
	margin-top:min(5%,50px);
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}
#cont2 .charm li{
	width:30%;
	text-align:left;
}
#cont2 .charm li h3{
	margin-top:1em;
	font-size:min(1.9vw,24px);
	font-weight:bold;
	letter-spacing:0.09em;
}
#cont2 .charm li p{
	margin-top:1.2em;
}

@media screen and (max-width:768px){
	#cont2:before{
		width:38%;
		height:14%;
	}
	#cont2 .charm{
		margin-top:0;
		display: block;
	}
	#cont2 .charm li{
		width:auto;
		margin-top:12%;
	}
	#cont2 .charm li h3{
		font-size:5.5vw;
	}
	#cont2 .charm li p{
		margin-top:0.6em;
	}
}


/* #cont3 */
#cont3{
}
#cont3 .sec .work{
	margin-top:min(5%,50px);
	text-align:left;
}
#cont3 .sec .work h3{
	line-height:4;
	padding:0 1.7em;
	font-size:min(1.8vw,23px);
	letter-spacing:0.12em;
}
#cont3 .sec .work h3:before{
	content:'';
	display:inline-block;
	vertical-align:0.1em;
	width:0.7em;
	height:0.7em;
	margin-right:0.7em;
	background-color:#c3940e;
}
#cont3 .sec .work .cont_wrapper{
	padding:9% 5% 5%;
	border:1px solid #005431;
}
#cont3 .sec .work .cont_wrapper .flow{
	width:min(70%,572px);
	margin:auto;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	position:relative;
}
#cont3 .sec .work .cont_wrapper .flow:before{
	content:'';
	display:block;
	width:94%;
	height:1px;
	background-color:#ccc;
	position:absolute;
	bottom:1.5em;
}
#cont3 .sec .work .cont_wrapper .flow li{
	text-align:center;
	color:#ccc;
	position:relative;
}
#cont3 .sec .work .cont_wrapper .flow li .item{
	display:block;
	white-space:nowrap;
	letter-spacing:0.12em;
	text-indent:0.12em;
	position:absolute;
	bottom:105%;
	left:50%;
	transform:translateX(-50%);
}
#cont3 .sec .work .cont_wrapper .flow li .num{
	display:block;
	width:3em;
	line-height:3em;
	margin:auto;
	color:#fff;
	letter-spacing:0.05em;
	text-indent:0.05em;
	background-color:#ccc;
	border-radius:50%;
}
#cont3 .sec .work .cont_wrapper .caution{
	margin-top:6%;
	font-size:min(1.4vw,18px);
}

#cont3 .sec .work .cont_wrapper h4{
	line-height:2.5;
	margin-top:5%;
	padding:0 1.5em;
	font-size:clamp(14px,1.5vw,18px);
	color:#fff;
	background:linear-gradient(90deg,#005431,#009245);
}
#cont3 .sec .work .cont_wrapper .tbl{
	width:100%;
}
#cont3 .sec .work .cont_wrapper .tbl tr{
	border-bottom:1px solid #e6e6e6;
}

#cont3 .sec .work .cont_wrapper .tbl th{
	width:25%;
	line-height:2.5;
	text-align:center;
}
#cont3 .sec .work .cont_wrapper .tbl td{
	line-height:2.5;
	padding:3% 5%;
}
#cont3 .sec .work .cont_wrapper .tbl td .indent{
	padding-left:1em;
	text-indent:-1em;
}
#cont3 .sec .work .cont_wrapper .tbl td .mt{
	margin-top:2.5em;
}
#cont3 .sec .btn{
	width:15em;
	margin:min(5%,50px) auto 0;
	font-size:min(1.6vw,21px);
	text-align:center;
	line-height:3.6;
	letter-spacing:0.2em;
	text-indent:0.2em;
	background:#005431 url(../img/arrow.png)no-repeat right 0.5em center;
	background-size:1.5em auto;
}

@media screen and (max-width:768px){
	#cont3 .sec .work{
		margin-top:12%;
	}
	#cont3 .sec .work h3{
		line-height:3.6;
		font-size:3.8vw;
	}
	#cont3 .sec .work .cont_wrapper{
		padding:15% 5% 5%;
	}
	#cont3 .sec .work .cont_wrapper .flow{
		width:90%;
	}
	#cont3 .sec .work .cont_wrapper .flow li .item{
		font-size:2.8vw;
	}
	#cont3 .sec .work .cont_wrapper .caution{
		margin-top:12%;
		font-size:3.2vw;
	}

	#cont3 .sec .work .cont_wrapper h4{
		line-height:3;
		margin-top:12%;
		font-size:3.5vw;
		text-align:center;
	}
	#cont3 .sec .work .cont_wrapper .tbl tr{
		border-bottom:none;
	}
	#cont3 .sec .work .cont_wrapper .tbl th{
		display:block;
		width:auto;
		line-height:2.8;
	}
	#cont3 .sec .work .cont_wrapper .tbl td{
		display:block;
		line-height:1.9;
		font-size:3.2vw;
		padding:5% 1%;
	}
	#cont3 .sec .work .cont_wrapper .tbl td .mt{
		margin-top:1.9em;
	}
	
	#cont3 .sec .btn{
		margin-top:9%;
		font-size:3.5vw;
	}
}
