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

#contentsWrap {
	padding-bottom: 5%;
}
#contentsWrap p {
	letter-spacing: 0em;
	font-size: 1.2cqw;
}
#contentsWrap p.caption {
	font-size: 12px;
}
#bgWrap {
	/*background-color: #f8f9fe;*/
	/*background-image:url("../img/bg-main.jpg");
	background-position: left top;
	background-repeat: no-repeat;
	background-size: 100%;*/
	padding-bottom: 6%;
	position: relative;
	background: #EFF1F8;
background: linear-gradient(180deg, rgba(239, 241, 248, 1) 0%, rgba(239, 241, 248, 1) 50%, rgba(248, 249, 254, 1) 100%);
}
#bgWrap::after {
	content: "";
	position: absolute;
	/*z-index: -1;*/
	width: 100%;
	height: 100%;
	left: 0;
	bottom: 0;
	
	background-image:url("../img/bg-main.jpg");
	background-position: left center;
	background-repeat: no-repeat;
	background-size: 100%;
	
}
.boxWidth {
	container-type: inline-size;
}
#sec01 {
	padding-top: 6%;
	position: relative;
	z-index: 1;
}
#sec01 .h2-01 {
	margin: 0 auto;
	width: 46%;
}
#sec01 h3 {
	font-size: 1.8vw;
	font-size: clamp(22px, 1.8vw, 80px);
	text-align: center;
	padding: 2em 0 1em;
	color: #5882a7;
	
}
#sec01 .lead {
	font-size: 1.0vw;
	font-size: clamp(15px, 1.0vw, 80px);
	text-align: center;
	padding: 1.5em 0;
	line-height: 2.2;
	
}
#sec01 .about {
	width: 80%;
	max-width: 900px;
	margin: 0 auto;
	background-color: rgba(255,255,255,0.6);
	padding: 20px;
}
#sec01 .lineTate {
	width: 1px;
	background-color: #777;
}
#sec01 .about .leftBox {
	width: 30%;
	
}
#sec01 .about .rightBox {
	width: 68%;
}
#sec01 .about .rightBox p {
	font-size: 0.80vw;
	font-size: clamp(12px, 0.8vw, 13px);
}

#sec02 {
	background-color: rgba(255,255,255,0.9);
	padding: 2.5% 5%;
	margin-top: 35%;
	position: relative;
	z-index: 1;
}
#sec02 .box01 {
	border-bottom: #aaa solid 1px;
	padding-bottom: 20px;
}
#sec02 .box01 h3 {
	font-size: 2.7cqw;
	text-align: center;
	padding-bottom: 1em;
}
#sec02 .box02 {
	padding-top: 30px;
}
#sec02 .box02 h3 {
	font-size: 2cqw;
	text-align: center;
	padding-bottom: 1em;
}

#sec03 {
	padding: 5% 0;
}
#sec03 h3 {
	font-size: 2.5cqw;
	text-align: center;
}
#sec03 .fig01 {
	padding: 30px 0;
}
.org {
	color: #cc8944;
}
.ble {
	color: #5882a7;
}
#sec03 h4 {
	width: 100%;
	background-color: #cc8944;
	color: #fff;
	text-align: center;
	font-size: 1.4cqw;
	padding: 0.5em;
	letter-spacing: 0em;
}
#sec03 h4 span {
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
	font-size: 120%;
}
#sec03 h4 span::after {
	content: "▼";
	font-size: 70%;
	display: inline-block;
	transform: rotateZ(-90deg);
	margin: 0 0.5em;
}

#sec03 .box01 {
	
}

#sec03 .lineTate {
	width: 1px;
	border-left: #aaa dotted 1px;
	margin: 20px 0;
}
#sec03 .itemBox {
	margin: 20px 0;
}
#sec03 .itemBox dt {
	font-size: 1.8cqw;
	color: #cc8944;
	padding: 0.3em 0;
}
#sec03 .itemBox dd {
	font-size: 1.25cqw;
	letter-spacing: 0em;
}
#sec03 .itemBox dt span {
	width: 1.2em;
	display: inline-block;
	margin-right: 0.3em;
	position: relative;
	top: -0.2em;
}
#sec03 .box01 .itemBox {
	width: 48%;
}
#sec03 .box01 .itemBox dl {
	width: 50%;
}
#sec03 .box01 .itemBox .imgBox {
	width: 47%;
}
#sec03 .box02 h4 {
	background-color: #5882a7;
}
#sec03 .box02 .itemBox dt {
	color: #5882a7;
}
#sec03 .item03 {}
#sec03 .item03 .leftBox {
	width: 38%;
	position: relative;
}
#sec03 .item03 .leftBox dd {
width: 65%;
}
#sec03 .item03 .leftBox .imgBox {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 50%;
	z-index: -1;
}
#sec03 .item03 .centerBox {
	width: 26%;
}
#sec03 .item03 .rightBox {
	width: 29%;
}
#sec03 .item03,#sec03 .item04,#sec03 .item05 {
	margin-bottom: 0;
	padding-bottom: 30px;
	border-bottom: #999 solid 1px;
}
#sec03 .item04 {
	align-items: flex-end;
}
#sec03 .item04 .leftBox {
	width: 77%;
}
#sec03 .item04 .leftBox dt i {
	font-style: normal;
	font-size: 80%;
}
#sec03 .item04 .imgBox {
	width: 20%;
}
#sec03 .item04 .leftBox .flex01 {}
#sec03 .item04 .leftBox h5 {
	font-size: 1.5cqw;
	background-color: #d3dfe8;
	text-align: center;
	padding: 0.2em;
	color: #5882a7;
	margin: 15px 0;
}
#sec03 .item04 .leftBox .flex01 dl {
	width: 23%;
}
#sec03 .item04 .leftBox .flex01 dt {
	font-size: 1.5cqw;
	text-align: center;
	padding: 0.2em;
	background-color: #5882a7;
	color: #fff;
}
#sec03 .item04 .leftBox .flex01 dd {
	font-size: 1.2cqw;
	line-height: 1.3;
	padding-top: 0.5em;
}
#sec03 .item05 .item, #sec03 .item06 .item {
	width: 47%;
	align-items: flex-start;
}
#sec03 .item05 .item dl, #sec03 .item06 .item dl {
	width: 54%;
}
#sec03 .item05 .item .imgBox, #sec03 .item06 .item .imgBox {
	width: 43%;
	max-width: 240px;
}
#sec03 .item05 .item dt i {
	font-style: normal;
	font-size: 70%;
	letter-spacing: -0.05em;
}

#sec04 {}
#sec04 h3 {
	padding: 0.3em 0;
	font-size: 1.8cqw;
	text-align: center;
	border-top: #798c9f solid 5px;
	border-bottom: #798c9f solid 5px;
}
#sec04 h3 span {
	color: #148a8d;
	font-size: 150%;
}
#sec04 .flex {
	padding: 20px 0;
	align-items: center;
}
#sec04 .flex h4 {
	background-color: #5882a7;
	padding: 2%;
	width: 15%;
}
#sec04 .flex dl {
	width: 83%;
}
#sec04 dt {
	color: #5882a7;
	font-size: 2cqw;
	padding-bottom: 0.6em;
}
#sec04 dd {
	font-size: 1.3cqw;
	letter-spacing: 0;
}
#sec04 .flex01 {
	padding-bottom: 20px;
}
#sec04 h5 {
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
	font-weight: normal;
	color: #5882a7;
	font-size: 1.7cqw;
	background-color: #e6ecf2;
	text-align: center;
	padding: 0.2em;
	width: 100%;
	margin-bottom: 20px;
}
#sec04 .flex01 .itemBox {
	width: 48%;
	text-align: center;
}
#sec04 .flex01 .itemBox img {
	max-width: 450px;
}
#sec04 .dotline {
	width: 100%;
	height: 3px;
	background-image: url("../img/dotline.svg");
	background-position: center center;
	background-repeat: repeat-x;
	background-size: 5%;
}

#sec04 .box02 .flex01 {
}
#sec04 h6 {
	font-size: 1.5cqw;
	letter-spacing: 0em;
	font-weight: 500;
	padding: 0.3em 0;
}
#sec04 h6::before {
	content: "■";
	color: #5882a7;
	margin-right: 0.2em;
	
}
#sec04 .box02 .flex01 .leftBox {
	width: 48%;
}
#sec04 p {
	font-size: 1.2cqw;
}
#sec04 .box02 .flex01 .leftBox p {
	padding: 1em 0;
}
#sec04 .box02 .flex01 .rightBox {
	width: 48%;
}
#sec04 .box02 .flex01 .rightBox .imgBox {
	margin-top: -8%;
}

#sec04 .box02 .flex02 {
	padding: 40px 0 20px 0;
}

#sec04 .box02 .flex02 .imgBox {
	width: 70%;
}
#sec04 .box02 .flex02 > p {
	flex: 1;
	margin-left: 15px;
}

#sec04 .box03 .flex01 {
	align-items: flex-end;
}
#sec04 .box03 .flex01 .leftBox {
	width: 75%;
}
#sec04 .box03 .flex01 .caption {
	flex: 1;
	margin-left: 20px;
}
#sec04 .box03 dl {
	padding: 30px 0;
}
#sec04 .box03 .item02 .caption {
	margin-top: -3em;
}
#sec04 .box04 dd span {
	width: 48%;
}
#sec04 .box04 dd .imgBox {
	width: 48%;
	margin-top: -6%;
}
#sec04 .box04 .flex01 p {
	width: 17%;
}
#sec04 .box04 .flex01 .fig01 {
	width: 40%;
}
#sec04 .box04 .flex01 .fig02 {
	width: 37%;
}

@media screen and (max-width : 959px ){
	#bgWrap {
		padding-top: 25%;
		/*padding-bottom: 6%;
		background-position: center center;*/
	}
	.boxWidth {
		container-type: inline-size;
	}
	#sec01 {
		padding-top: 0%;
		margin-top: -18%;
		container-type: inline-size;
	}
	#sec01 .h2-01 {
		margin: 0 auto;
		width: 40%;
	}
	#sec01 h3 {
		font-size: 2.4cqw;

	}
	#sec01 .lead {
		font-size: 1.8cqw;

	}
	#sec03 h4 {
		text-align: center;
		font-size: 13px;
		padding: 0.5em;
		letter-spacing: 0em;
		line-height: 1.3;
	}
	#sec03 h4 span {
		font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
		font-size: 120%;
		display: block;
	}
	#sec03 h4 span::after {
		content: "▼";
		font-size: 70%;
		display: block;
		transform: rotateZ(0deg);
	}
	#sec03 .box01 .itemBox {
		width: 100%;
	}
	#sec03 .lineTate {
		width: 100%;
		border-left: #aaa dotted 0px;
		border-top: #999 solid 1px;
		margin: 0px 0;
		display: none;
	}
	#sec03 .itemBox {
		margin: 20px auto;
		padding-bottom: 20px;
		max-width: 500px;
	}
	#sec03 .item01,#sec03 .item02,#sec03 .item03 {
		
		
	}
	#sec03 .item01,#sec03 .item03 {
		border-bottom: #999 solid 1px;
		padding-bottom: 20px;
	}
	#sec03 .itemBox dt {
		font-size: 16px;
	}
	#sec03 .itemBox dd {
		font-size: 13px;
		letter-spacing: 0em;
	}
	#sec03 .item03 .leftBox {
		width: 100%;
		position: relative;
		display: flex;
		justify-content:space-between;
		margin-bottom: 20px;
	}
	#sec03 .item03 .leftBox dl {
		width: 56%;
	}
	#sec03 .item03 .leftBox dd {
	width: 100%;
	}
	#sec03 .item03 .leftBox .imgBox {
		position: relative;
		right: 0;
		bottom: 0;
		width: 40%;
		z-index: -1;
	}
	#sec03 .item03 .centerBox {
		width: 46%;
	}
	#sec03 .item03 .rightBox {
		width: 49%;
	}
	#sec03 .item04,#sec03 .item05,#sec03 .item06 {
		margin-top: 0;
	}
	#sec03 .item04 .leftBox {
		width: 100%;
	}
	#sec03 .item04 .imgBox {
		width: 100%;
		max-width: 240px;
		margin: 10px auto
	}
	#sec03 .item04 .leftBox h5 {
		font-size: 14px;
	}
	#sec03 .item04 .leftBox .flex01 dl {
		width: 23%;
	}
	#sec03 .item04 .leftBox .flex01 dt {
		font-size: 13px;
	}
	#sec03 .item04 .leftBox .flex01 dd {
		font-size: 12px;
		letter-spacing: -0.05em;
	}
	#sec03 .item05 .item, #sec03 .item06 .item {
		width: 100%;
	}
	#sec03 .item05 .leftBox,#sec03 .item06 .leftBox {
		padding-bottom: 20px;
		border-bottom: #999 solid 1px;
		margin-bottom: 20px;
	}
	
	#contentsWrap p.caption {
    font-size: 11px;
	}
	#sec04 h3 {
    font-size: 14px;
	}
	#sec04 .flex {
		align-items: flex-start;
	}
	#sec04 dt {
		font-size: 14px;
		padding-bottom: 0.3em;
		letter-spacing: 0em;
	}
	#sec04 dd {
		font-size: 13px;
		line-height: 1.4;
	}
	#sec04 h5 {
    font-size: 14px;
	}
	#sec04 h6 {
    font-size: 14px;
	}
	#sec04 .box02 .flex01 .leftBox,#sec04 .box02 .flex01 .rightBox {
    width: 100%;
	}
	#sec04 p {
		font-size: 12px;
	}
	#sec04 .box02 .flex01 {
		max-width: 500px;
		margin: 0 auto;
	}
	#sec04 .box02 .flex01 .imgBox {
		max-width: 400px;
		margin: 0 auto;
	}
	#sec04 .box02 .flex01 .rightBox {
		margin-top: 8%;
	}
	#sec04 .box02 .flex02 .imgBox {
    width: 100%;
		max-width: 600px;
		margin: 0 auto;
	}
	#sec04 .box02 .flex02 > p {
		width: 100%;
    flex: none;
    margin-left: 0px;
	}
	#sec04 .box03 .flex01 .leftBox {
		width: 100%;
	}
	#sec04 .box03 .flex01 .caption {
		width: 100%;
    flex: none;
    margin-left: 0px;
	}
	#sec04 .box03 dl {
    padding: 0px 0;
}
	
	#sec04 .box03 .item02 .caption {
		margin-top: -0em;
	}
	#sec04 .box04 .flex01 p {
		width: 100%;
	}
	#sec04 .box04 .flex01 .fig01 {
		width: 60%;
		margin: 30px auto;
	}
	#sec04 .box04 .flex01 .fig02 {
		width: 60%;
		margin: 0 auto;
	}

}
@media screen and (max-width : 599px ){
	#bgWrap {

		
	}
	#bgWrap::after {
height: 70%;

	}

	#sec01 {

	}
	#sec01 .h2-01 {
		margin: 0 auto;
		width: 70%;
		padding-top: 0%;
	}
	#sec01 h3 {
		font-size: 4.6cqw;

	}
	#sec01 .lead {
		font-size: 3.8cqw;
		line-height: 1.8;
	}
	#sec01 .about {
		width: 90%;
		max-width: 900px;
		margin: 0 auto;
		background-color: rgba(255,255,255,0.6);
		padding: 20px;
		display: block;
	}
	#sec01 .lineTate {
		width: 100%;
		height: 1px;
		background-color: #777;
	}
	#sec01 .about .leftBox {
		width: 60%;
		margin: 0 auto 20px;

	}
	#sec01 .about .rightBox {
		width: 100%;
	}
	#sec01 .about .rightBox p {
		font-size: 0.80vw;
		font-size: clamp(12px, 0.8vw, 13px);
	}
	
	#sec02 .box01 {
    padding-bottom: 0px;
	}
	#sec02 .box02 {
    padding-top: 10px;
	}
	#sec02 .box01 h3,#sec02 .box02 h3 {
    font-size: 4.2cqw;
		font-size: clamp(13px, 4.2cqw, 17px);
    text-align: center;
    padding-bottom: 1em;
		letter-spacing: 0em;
	}
	#sec03 h3 {
    font-size: 3.8cqw;
		font-size: clamp(13px, 4.2cqw, 17px);
	}
	#sec03 .box01 .itemBox {
		flex-direction: column-reverse;
	}
	#sec03 .box01 .itemBox dl {
    width: 100%;
	}
	#sec03 .box01 .itemBox .imgBox {
    width: 75%;
		max-width: 300px;
		margin: 0 auto;
	}
	#sec03 .box02 .item03 {
		
	}
	#sec03 .box02 .item03 .leftBox {
		flex-wrap: wrap;
	}
	#sec03 .box02 .item03 .leftBox dl {
		width: 100%;
	}
	#sec03 .box02 .item03 .leftBox .imgBox {
		width: 70%;
		max-width: 300px;
		margin: 0 auto;
	}
	#sec03 .item03 .centerBox,#sec03 .item03 .rightBox {
		width: 80%;
		max-width: 400px;
		margin: 0 auto 20px;
	}
	#sec03 .item04 .leftBox .flex01 dl {
    width: 48%;
		margin-bottom: 15px;
  }
	#sec03 .item05 .item dl, #sec03 .item06 .item dl {
		width: 100%;
	}
	#sec03 .item05 .item .imgBox, #sec03 .item06 .item .imgBox {
		width: 75%;
		max-width: 300px;
		margin: 20px auto 0;
	}
	#sec04 .flex h4 {
		padding: 2%;
		width: 30%;
		margin: 0 auto 15px;
	}
	#sec04 .flex dl {
		width: 100%;
	}
	#sec04 dt {
    font-size: 16px;
		text-align: center;
	}
	#sec04 .box02 .flex01 .rightBox .imgBox {
    margin-top: 0%;
	}
	#sec04 .box04 dd span {
		width: 100%;
	}
	#sec04 .box04 dd .imgBox {
		width: 100%;
		margin-top: 0%;
	}
	#sec04 .box04 .flex01 .fig01,
	#sec04 .box04 .flex01 .fig02{
    width: 100%;
		max-width: 400px;
    margin: 30px auto;
  }
	#sec04 .flex01 .itemBox {
    width: 100%;
		padding: 10px 0;
}
	
	
}
