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

#contentWrap {
	background-color: #edeae8;
	color: #000;
}
#contentWrap p,#contentWrap dd {
	font-size: 13px;
}
h3.h3-01 {
	color: #706b42;
	padding-bottom: 1em;
	max-width: 1000px;
	}
#sec01,#sec04,#sec03 {
	background-color: #fff;
	box-shadow: 3px 3px 10px rgba(0,0,0,0.5);
	padding: 30px;
	max-width: 1000px;
	margin-bottom: 30px;
}
#sec01 .titBox {
	width: 100%;
	padding: 30px 0;
}
#sec01 .titBox .mark {
	width: 46%;
	margin: 0 auto;
}
#sec01 .titBox h3 {
	font-size: 21px;
	padding: 0.3em 0;
	width: 40em;
	text-align: center;
	margin: 0 auto;
	border-top: #14753a solid 1px;
}
#sec01 .flex {

	padding-bottom: 2%;
}
#sec01 .flex > div {
	width: 48%;
}

#sec01 .flex p {
padding: 1em 0;
}
#sec01 .flex .leftBox .figBox {
	width: 90%;
	max-width: 380px;
	margin: 0 auto;
}
#sec01 .flex .rightBox .figBox {
	width: 80%;
	max-width: 310px;
	margin: 0 auto;
}
#sec01 .flex2 {
	max-width: 660px;
	margin: 0 auto;
	align-items: center;
}
#sec01 .flex2 .txtBox {
	width: 47%;
}
#sec01 .flex2 .txtBox h5 {
	background-color: #00783d;
	color: #ffff;
	font-family: 'Noto Sans JP', sans-serif;
	text-align: center;
	padding: 0.2em;
	margin-bottom: 0.5em;
	border-radius: 6px;
}
#sec01 .flex2 .figBox {
	width: 50%;
}



#sec03 {}
#sec03 .flex .item01 h5 {
	font-size: 20px;
	padding-bottom: 0.3em;
	color: #51b996;
}
#sec03 .flex .item01 {
	width: 60%;
}
#sec03 .flex p,#sec03 .flex dd {
	line-height: 1.4;
}
#sec03 .flex .item01 .leftBox {
	width: 52%;
	
}
#sec03 .flex .item01 .leftBox .figBox {
	padding: 10px 0;
}
#sec03 .flex .item01 .leftBox p.caption {
	font-size: 10px;
}
#sec03 .flex .item01 .rightBox {
	width: 45%;
}
#sec03 .flex .item02 {
	width: 30%;
}
#sec03 .flex .item02 dl {
	padding-bottom: 10px;
}
#sec03 .flex .item02 dt {
	font-size: 16px;
}
#sec03 .flex .lineBox {
	width: 1px;
	border-left: #999 solid 1px;
}

#sec04 {
	background-color: #edf4f5;
}
#sec04 .flex01 dl {
	width: 36%;
}
#sec04 .flex01 dt {
	font-size: 15px;
	padding-bottom: 0.5em;
}
#sec04 .flex01 .imgBox {
	width: 61%;
	max-width: 570px;
}
#sec04 h3 {
	width: 100%;
	font-size: 20px;
	text-align: center;
	color: #003893;
	padding: 0.3em 0;
	border-top: #003893 solid 1px;
	border-bottom: #003893 solid 1px;
	margin: 1em 0;
	line-height: 1.4;
}
#sec04 .flex04 {}
#sec04 .flex04 .itemBox {
	width: 22%;
}
#sec04 .flex04 .itemBox .imgBox {
	position: relative;
}
#sec04 .flex04 .itemBox .imgBox .merit {
	position: absolute;
	width: 50%;
	left: -5%;
	bottom: 8%;
}
#sec04 .flex04 .itemBox dl {
	padding-top: 20px;
}
#sec04 .flex04 .itemBox dl .caption {
	font-size: 10px;
	padding-top: 0.5em;
}


@media screen and (max-width: 959px){
	#sec01 .titBox h3 {
    font-size: clamp(18px, 2.5vw, 20px);
		line-height: 1.3;
    padding: 0.3em 0 0;
    width: 100%;
	}
	
	#sec01,#sec02,#sec03,#sec04 {
		max-width: 500px;
		padding: 30px;
		margin: 3% auto;
	}
	#sec01 .flex > div {
    width: 100%;
		margin-bottom: 20px;
	}
	#sec01 .flex2 .txtBox h5 {
		font-size: clamp(13px, 1.9vw, 15px);

	}
	#sec01 .flex2 .txtBox {
		width: 100%;
	}
	#sec01 .flex2 .figBox {
		width: 100%;
		max-width: 300px;
		margin: 20px auto 0;
	}
	#sec01 .flex .rightBox .figBox {
    max-width: 350px;
	}
	#sec02 h4 {
		font-size: clamp(14px, 2vw, 16px);
		text-align: center;
	}
	#sec02 .flex .box01 {
		width: 100%;
		margin-bottom: 20px
	}
	#sec02 .flex .box01 h5 {
		width: 60%;
		max-width: 200px;
		margin: 0 auto;
		padding: 10px 0;
	}
	#sec02 .flex .box01 p {
		text-align: justify;
		letter-spacing: -0.02em;
	}
	#sec02 .flex .box02 {
		width: 80%;
		max-width: 260px;
		margin: 0 auto 20px;

	}
	#sec02 .flex .box03 {
		width: 100%;
		max-width: 360px;
		margin: 0 auto;
	}
	#sec03 .flex .item01,#sec03 .flex .item02 {
		width: 100%;
	}
	#sec03 .flex .lineBox {
		border: none;
		width: 100%;
		border-bottom: #999 dotted 1px;
		padding-top: 20px;
		margin-bottom: 20px;
	}
	#sec03 .flex .item02 .imgBox {
		max-width: 260px;
		margin: 0 auto;
	}
	#sec04 .flex01 dl {
		width: 100%;

	}
	#sec04 .flex01 dt {
		font-size: 15px;
		padding-bottom: 0.5em;
		text-align: center;
	}
	#sec04 .flex01 dt span {
		font-size: 140%;
		line-height: 1.3;
	}
	#sec04 .flex01 .imgBox {
		width: 100%;
		margin: 0 auto;
	}
	#sec04 .flex04 .itemBox {
		width: 45%;
		margin-bottom: 30px;
	}
	.itemBox dt {
		max-width: 240px;
		margin-bottom: 10px;
	}

	
}

@media screen and (max-width: 599px){
	 #sec01, #sec02, #sec03, #sec04 {
    max-width: 500px;
    padding: 15px;
    margin: 3% auto;
  }

	#sec01 .titBox .mark {
		width: 100%;
		margin: 0 auto;
		padding-bottom: 10px;
	}
	 #sec01 .titBox h3 {
		 font-size: clamp(15px, 4.3vw, 17px);
	}
	#sec01 .flex p {
		font-size: 13px;
	}
	#sec01 .flex .leftBox .figBox,
	#sec01 .flex .rightBox .figBox {
		width: 100%;
	}
	#sec03 .flex .item01 .leftBox,#sec03 .flex .item01 .rightBox {
    width: 100%;
		max-width: 300px;
		margin: 0 auto;
	}

	#sec02 > div dt {
	font-size: clamp(15px, 4.3vw, 17px);
		line-height: 1.3;
	}
	/*#sec04 .flex01 dl {
		width: 100%;

	}
	#sec04 .flex01 dt {
		font-size: 15px;
		padding-bottom: 0.5em;
		text-align: center;
	}
	#sec04 .flex01 dt span {
		font-size: 140%;
		line-height: 1.3;
	}*/
	#sec04 .flex01 .imgBox {
		max-width: 340px;
	}
	
	#sec04 .flex04 {
			width: 90%;
		max-width: 300px;
		margin: 0 auto;
	}
	#sec04 .flex04 .itemBox {
		width: 100%;
	}

}

