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

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


#sec01 .h3Box {
	width: 100%;
	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;
}
#sec01 .flex01 {
	
}
#sec01 .flex01 .box {
	width: 50%;

}
#sec01 .flex01 .box01 {
	background-color: #615444;
}
#sec01 .flex01 .box02 {
	background-color: #927f3e;
	
}

#sec01 .flex01 dl {
	width: 100%;
	padding: 30px 50px;
	color: #fff;
	display: flex;
justify-content: center;
align-items: center;
	flex-wrap: wrap;
}
#sec01 .flex01 dt,
#sec01 .flex01 dd{
	width: 100%;
	max-width: 420px;
}
#sec01 .flex01 dt {
	font-size: 15px;
	padding-bottom: 0.5em;
}
#sec01 .flex01 dd {
	font-size: 13px;
}
#sec01 .flex01 dd .cap {
	display: block;
	font-size: 10px;
	line-height: 1.3;
	padding-top: 0.5em;
}
#sec01 .flex01 .box01 dl {
	justify-content: flex-end;
}
#sec01 .flex01 .box02 dl {
	justify-content: flex-start;
	background-image: url("../img/img01-3.jpg");
	background-size: contain;
	background-position: right top;
	background-repeat: no-repeat;
}

#sec01 .items {
	gap:50px 0;
	padding: 100px 0 50px;
	
}
#sec01 .items .itemBox {
	width: 22%;
	max-width: 260px;
}
#sec01 .items .itemBox p {
	text-align: center;
}



#sec02 {
	background-color: #fff;
	padding: 5% 0;
	position: relative;
	background-image: url("../img/bg-02.jpg");
	background-position: left center;
	background-size: 50%;
	background-repeat: no-repeat;
}
#sec02 .h3Box {
	padding-bottom: 5%;
}

#sec02 .flex01 {
	justify-content: flex-end;
	gap:0 5%;
}
#sec02 .flex01 .item {
	width: 31%;
}
#sec02 .flex01 .item h5 {
	font-size: 18px;
	padding-bottom: 0.3em;
}
#sec02 .flex01 .item dt {
	background: #A25D65;
	font-size: 16px;
background: linear-gradient(90deg, rgba(162, 93, 101, 1) 70%, rgba(255, 255, 255, 1) 100%);
	color: #fff;
	padding: 0.2em 0.5em;
	position: relative;
}
#sec02 .flex01 .item dt div {
	position: absolute;
	width: 20%;
	right: 5%;
	top: 0;
}
#sec02 .flex01 .item dd {}
#sec02 .flex01 .item dd .imgBox {
	width: 32%;
}
#sec02 .flex01 .item dd p {
	width: 65%;
	font-size: 13px;
	padding-top: 1em;
	letter-spacing: -0.02em;
}
#sec02 .flex01 .item dd p .cap {
	display: block;
	font-size: 10px;
	padding-top: 0.3em;
}

#sec02 .flex02 {
	padding-top: 3%;
	justify-content: flex-end;
	gap:0 3.5%;
}
#sec02 .flex02 .itemBox {
	width: 20%;
	max-width: 240px;
}



@media screen and (max-width: 959px) {

	#sec01 {
		padding-bottom: 50px;
	}
	#sec01 .h3Box {
		width: 90%;
	}
	#sec01 .flex01 .box dl {
		background-size: cover;
		background-position: center center;
		padding: 10% 50px;
	}
	#sec01 .items {
		
		justify-content: center;
	}
	#sec01 .items .itemBox,
	#sec02 .flex01 .item,
	#sec02 .flex02 .itemBox {
		width: 45%;
		max-width: 300px;

	}
	#sec02 {
    background-position: left top;
}
	#sec02 .h3Box {
    padding: 10% 0;
}
	#sec02 .flex01,#sec02 .flex02 {
    justify-content: center;
    gap:30px 5%;
		
}

	
}

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


	.sec .lead br {
		display: none !important;
	}
	#sec01 .items {
    gap: 30px 0;
    padding: 50px 0 50px;
	}
	#sec01 .flex01 .box {
    width: 100%;
}
	#sec01 .items .itemBox, #sec02 .flex01 .item, #sec02 .flex02 .itemBox {
        width: 100%;
        max-width: 300px;
    }
	#sec01 .items .item01 .imgBox {
		max-width: 200px;
		margin: 0 auto;
	}
	#sec02 {
    /*background-image: none;*/
		background-size: 100%;
	}
	#sec02 .flex01 .item dd .imgBox {
		margin: 0 auto;
	}
	#sec02 .flex01 .item dd p {
		width: 100%;
		font-size: clamp(12px, 3.5vw, 14px);
	}
	#sec02 .flex01, #sec02 .flex02 {
		padding: 50px 0;
		padding-top: 25%;
	}

}

