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

#sec01 {
	margin-top: 200vh;
	background-color: #fff;
	color: #000;
	padding: 6vh 0 3vh;
	position: relative;
/*	background-image:url("../img/bg-01.jpg");
	background-position: right top;
	background-repeat: no-repeat;
	background-size: 50%;*/
}


#sec01 .h3Box {

	/*padding-bottom: 6%;*/
}
.h3Box .engTxt {
    font-size: 24px;
}
.h3Box h2 {
    font-size: 26px;
    padding: 0.6em 0;
}
.h3Box p {
	font-size: 14px;
	text-align: center;
	line-height: 2.4;
	padding-top: 1em;
}

.bg {
	background-color: #fff;
}
#sec02 {
	
}
#sec02 h3,#sec03 h3 {
	background-color: #e4edd3;
	color: #005831;
	font-size: 24px;
	padding: 0.2em 0.6em;
	margin-bottom: 0.6em;
}
#sec02 .flex01 {
}
#sec02 .flex01 .leftBox {
	background-color: #e3eaef;
	padding: 15px 30px;
	width: 56%;
}
#sec02 .flex01 .leftBox .flex02 {
}
#sec02 .flex01 .leftBox .flex02 .imgBox {
	width: 30%;
	max-width: 180px;
	position: relative;
}
#sec02 .flex01 .leftBox .flex02 .imgBox .ico {
	position: absolute;
	width: 25%;
	left: -10%;
	top: -5%;
}
#sec02 .flex01 .leftBox .flex02 .figBox {
	width: 66%;
}
#sec02 .flex01 .leftBox p {
	font-size:13px;
	padding: 1em 0;
}
#sec02 .flex01 .leftBox .fig02 {
}
#sec02 .flex01 .leftBox .cap,
#sec03 .cap {
	font-size: 10px;
	padding: 1em 0 0;
}
#sec02 .flex01 .rightBox {
	width: 40%;
}
#sec02 .flex01 .rightBox .imgBox {
}
#sec02 .flex01 .rightBox dl {
}
#sec02 .flex01 .rightBox dt {
}
#sec02 .flex01 .rightBox dd {
}
.itemBox dl {
	padding-top: 10px;
}

#sec03 {
	padding-bottom: 6%;
}
#sec03 .flex02 {}
#sec03 .flex02 .leftBox {
	width: 58%;
}
#sec03 .flex02 .leftBox .item {
	width: 48%;
}
#sec03 .flex02 .leftBox .fig {
	width: 48%;
}
#sec03 .flex02 .rightBox {
	width: 38%;
}

#sec04 {
	padding: 4% 0;
	background-color: #e2f0eb;
}
#sec04 .flex {
	background-color: #fff;
	padding: 30px;
}
#sec04 .flex dl {
	width: 22%;
}
#sec04 .flex dt {
	font-size: 24px;
	color: #005831;
	padding: 1em 0;
}
#sec04 .flex dd {
	font-size: 13px;
}

#sec04 .flex .img {
	width: 50%;
	max-width: 580px;
}
#sec04 .flex .fig {
	width: 20%;
	max-width: 280px;
}


@media screen and (max-width: 959px) {
	
	#sec02 h3, #sec03 h3 {
    font-size: clamp(16px, 2.2vw, 18px)!important;
		text-align: center;
		padding: 0.5em;
	}
	#sec02 .flex01 .leftBox {
		width: 100%;
	}
	#sec02 .flex01 .rightBox {
		width: 100%;
		max-width: 400px;
		padding-top: 30px;
		margin: 0 auto;
	}
	#sec03 .flex02 .leftBox {
    width: 100%;
	}
	#sec03 .flex02 .rightBox {
    width: 100%;
		max-width: 400px;
		padding-top: 30px;
		margin: 0 auto;
	}
	#sec04 .flex dl {
    width: 100%;
		padding-bottom: 30px;
}
	#sec04 .flex dt {
		font-size: clamp(16px, 2.2vw, 18px);
	}
	#sec04 .flex dt br {
		display: none;
	}
	#sec04 .flex .img {
		width: 65%;
	}
	#sec04 .flex .fig {
		width: 28%;
	}
	
}

@media screen and (max-width: 599px) {
	#sec02 .flex01 .leftBox {
    padding: 15px;
	}
	
	#sec02 .flex01 .leftBox .flex02 .imgBox{
		width: 100%;
		max-width: 200px;
		margin: 0 auto;
	}
	#sec02 .flex01 .leftBox .flex02 .figBox {
    width: 100%;
	}
	#sec03 .flex02 .leftBox {
		max-width: 400px;
		margin: 0 auto;
	}
	#sec03 .flex02 .leftBox .item {
    width: 100%;
}
	#sec03 .flex02 .leftBox .fig {
    width: 100%;
		padding-top: 30px;
}
	#sec04 .flex {
    background-color: #fff;
    padding: 20px;
	}
	    #sec04 .flex .img {
        width: 100%;
    }
	    #sec04 .flex .fig {
        width: 80%;
				margin: 20px auto 0;
    }
	#sec04 .flex dt {
        font-size: clamp(16px, 5.1vw, 20px);
    }
}

}

