@charset "UTF-8";
/* CSS Document */
#captionBox {
    background-color: #fff;
}
#btnswrap {
    background-color: #fff;

}
#contentsWrap {
    background-image: url(../img/bg.jpg);
    background-position: center center;
    background-size: cover;
	color: #fff;
}


#pageTit {
	background: #000;
  padding: 0;
	position: relative;
	container-type: inline-size;
}
#pageTit .h2Box {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	color: #fff;
	text-align: center;
}
#pageTit .h2Box .engTxt {
	letter-spacing: 0.2em;
	text-align: center;
	display: inline-block;
	margin: 0 auto;
	border-bottom: #fff solid 2px;
	margin-bottom: 0.5em;
	font-size: 1.4cqw;
	font-size: clamp(18px, 1.4cqw, 28px);
}
#pageTit .h2Box h2 {
	text-align: center;
	padding: 1em 0;
	letter-spacing: 0.2em;
	font-size: 1.3cqw;
	font-size: clamp(18px, 1.3cqw, 26px);
}
#pageTit .h2Box .lead {
	text-align: center;
	font-size: 0.9cqw;
	font-size: clamp(14px, 0.9cqw, 18px);
	line-height: 2;
}
.sec .titBox {
	align-items: center;
}
.sec .titBox .engTxt {
	font-size: 26px;
	color: #b3a263;
	letter-spacing: 0.1em;
	display: inline-block;
	padding: 0 0.1em;
	line-height: 1.1;
	border-bottom: #b3a263 solid 2px;
	width: auto;
	position: relative;
	left: 50%;
	transform: translateX(-50%);
}

.sec .titBox h3 {
	font-size: 22px;
	/*border-bottom: #888467 solid 3px;*/
	text-align: center;
	line-height: 1.3;
	padding: 1em 0;
}
.sec .lead {
	/*padding: 1.5em 0;*/
	font-size: 16px;
	line-height: 2;
	text-align: center;
}
#sec01 {
	padding: 5% 0;
}
#sec01 .sikichiWrap {
	position: relative;
	width: 96%;
	max-width: 1300px;
	margin: 0 auto;
	container-type: inline-size;
}
#sec01 .sikichiWrap .titBox {
	position: absolute;
	left: 50%;
	top: 0%;
	transform: translateX(-50%);
}
#sec01 .sikichiWrap .titBox .lead {
	font-size: clamp(14px, 1.4cqw, 16px);
}

#sec02 {
	letter-spacing: 0em;
	max-width: 1100px;
	padding-bottom: 5%;
}
#sec02 .flex01 {
	background-color: #fff;
	padding: 20px;
	color: #000;
	
}
#sec02 .flex01 .leftBox {
	width: 60%;
	align-items: flex-start;
}
#sec02 .flex01 .leftBox .imgBox {
	width: 42%;
	max-width: 270px;
}
#sec02 .flex01 .leftBox dl {
	width: 55%;
}
#sec02 .flex01 .leftBox dd {
	font-size: 16px;
	padding-top: 1em;
}
#sec02 .flex01 .leftBox dd .caption {
	font-size: 80%;
}
#sec02 .flex01 .lineBox {
	width: 1px;
	background-color: #000;
}
#sec02 .flex01 .rightBox {
	width: 35%;
	align-items: flex-start;
	align-items: stretch;
}
#sec02 .flex01 .rightBox .imgBox {
	width: 60%;
}
#sec02 .flex01 .rightBox .imgBox img{
	vertical-align: top;
}
#sec02 .flex01 .rightBox .fig {
	flex: 1;
	background-color: #b3a263;
	padding: 25px 20px 0;
}
#sec02 .flex01 .rightBox p {
	width: 100%;
	font-size: 16px;
	padding-top: 0.3em;
}

#sec02 .flex02 {
	gap: 30px 0;
	padding-top: 5%;
}
#sec02 .flex02 .itemBox {
	width: 29.1%;
	max-width: 320px;
	container-type: inline-size;
}
#sec02 .flex02 .itemBox dl {
	
}
#sec02 .flex02 .itemBox dt {
	text-align: center;
	border-bottom: #b3a263 solid 2px;
	font-size: clamp(13px, 6.2cqw, 20px);
	padding: 0.6em 0 0.2em;
}
#sec02 .flex02 .itemBox dt sup {
	font-size: 60%;
}
#sec02 .flex02 .itemBox dd {
	font-size: clamp(13px, 4.6cqw, 16px);
	padding-top: 0.5em;
}


.parse {
	position: relative;
}
.parse p {
	position: absolute;
	font-size: 21px;
	bottom: 0.2em;
	right: 1em;
	color: #fff;
}
#sec03 {
	margin-bottom: 20px;
}
#sec04.parse p {
	right: auto;
	left: 1em;
}

@media screen and (max-width : 959px ){
	.sec .titBox .engTxt {
		font-size: clamp(18px, 3.0vw, 24px);
	}

	.sec .titBox h3 {
		font-size: clamp(16px, 2.2vw, 18px);
	}
	.sec .lead,
	#sec03 .flex01 .leftBox .p01 {
		font-size: clamp(12px, 1.9vw, 15px);
		letter-spacing: 0em;
	}
	#sec01 .sikichiWrap {
		padding-top: 10%;
	}
	#sec02 .flex01 .leftBox {
		width: 100%;
	}
	#sec02 .flex01 .lineBox {
		width: 100%;
		height: 1px;
		margin: 20px 0;
	}
	#sec02 .flex01 .rightBox {
		width: 100%;
		max-width: 360px;
		margin: 0 auto;
	}
	#sec02 .flex01,
	#sec02 .flex02 {
		max-width: 650px;
		margin: 0 auto;
	}
	#sec02 .flex02 .itemBox {
    width: 47%;
    max-width: 320px;
}
}


@media screen and (max-width : 599px ){
	#contentsWrap .sec {
		padding: 30px 0;
	}
	#pageTit .h2Box h2 {
		text-align: center;
		padding: 1em 0;
		letter-spacing: 0.2em;
		font-size: 4.5cqw;
		font-size: clamp(13px, 4.5cqw, 18px);
	}
	#pageTit .h2Box .lead {
		text-align: center;
		font-size: 3.2cqw;
		font-size: clamp(10px, 3.2cqw, 14px);
		line-height: 2;
		letter-spacing: 0em;
	}
		#sec01 .sikichiWrap {
		padding-top: 46%;
	}
	 .sec .titBox h3 {
      font-size: clamp(16px, 4.6vw, 18px);

    }
	#sec01 .sikichiWrap .titBox .lead {
    font-size: clamp(11px, 3.4cqw, 15px);
		/*font-size: 3.4cqw;*/
	}
	#sec02 .flex01 {
		max-width: 420px;
		padding: 20px 20px;
		container-type: inline-size;
	}
	#sec02 .flex01 .leftBox .imgBox {
		width: 80%;
		max-width: 270px;
		margin: 0 auto;
		margin-bottom: 20px;
	}
	#sec02 .flex01 .leftBox dl {
		width: 100%;
	}
	#sec02 .flex01 .leftBox dt {
		width: 100%;
		max-width: 300px;
		margin: 0 auto;
	}
	#sec02 .flex01 .leftBox dd,
	#sec02 .flex01 .rightBox p{
		font-size: clamp(14px, 4.5cqw, 16px);

	}
	#sec02 .flex01 .rightBox .fig {
    padding: 20px 10px 0;
}
	#sec02 .flex02 {
        max-width: 300px;
		padding-top: 50px;
		padding-bottom: 50px;
    }
	#sec02 .flex02 .itemBox {
        width: 100%;
        max-width: 320px;
    }
	.parse p {
   font-size: 16px;
		font-size: clamp(15px, 4.3vw, 17px);
		bottom: 0;
}


	
	
	
}


