@charset "UTF-8";
/* CSS Document */
#pageWrap {
    background-color: #fff;
    padding: 0% 0;
}
#pageWrap .boxWidth {
/*	max-width: 1000px;*/
}
.rankBox {
	display: none;
}
#contactWrap .contactBox {
	background-color: #d9dfe0;
	width: 100%;
	max-width: 100%;
}
#sec01 {
	position: relative;
	background-color: #000;
	container-type: inline-size;
	overflow: hidden;
}

#sec01 .imgBox {
	transition: 3s 1.3s;
	transform: scale(1.2) translateY(0);
}
#sec01 .imgBox.active {
	transform: scale(1) translateY(0);
}
#sec01 .svgWrap {
	position: absolute;
	width: 40%;
	left: 30%;
	top: 10%;
}
#sec01 h2 {
	position: absolute;
	top: 23%;
	width: 100%;
	font-size:1.8cqw;
	letter-spacing: 0.2em;
	padding-left: 1.0em;
	text-align: center;
	color: #fff;
	text-align: center;
	opacity: 0;
	transition: 3s 1.5s;
	filter: blur(10px);
}
#sec01 h2.active {
	opacity: 1;
	filter: blur(0px);
}
#sec01 .names {
	position: absolute;
	width: 67%;
  left: 21.3%;
  bottom: 20%;
}
#sec01 .names.active {
	transition: 1s 4s;
}

#sec02 {
	background-image: url("../img/j-map.png");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 100%;
	padding: 5% 0;
}
#sec02 .titBox,#sec03 .titBox {
	text-align: center;
}
#sec02 .titBox h5 {
	color: #8e8d5c;
	width: 6em;
	font-size: 30px;
	margin: 0 auto;
	border-bottom: #8e8d5c solid 1px;
	letter-spacing: 0.2em;
}
#sec02 .titBox h3,#sec03 .titBox h3 {
	font-size: 21px;
	line-height: 1.8;
	padding: 1em 0;
	letter-spacing: 0.05em;
}
#sec02 .titBox .lead,#sec03 .titBox .lead {
	text-align: center;
	font-size: 14px;
	line-height: 2;
}
#sec02 .flex01,#sec03 .flex01 {
	padding-top: 3%;
}
#sec02 .flex01 .imgBox,#sec03 .flex01 .imgBox {
	width: calc(100% / 3);
	position: relative;
	overflow: hidden;
}
#sec02 .flex01 .imgBox img,#sec03 .flex01 .imgBox img {
	 transform: scale(1.2);
	
}
#sec02 .flex01 .imgBox.active img,#sec03 .flex01 .imgBox.active img {
	transition: 4s;
	 transform: scale(1.0);
}
#sec02 .flex01 .imgBox p,#sec03 .flex01 .imgBox p {
	color: #fff;
	position: absolute;
	left: 0.6em;
	bottom: 0em;
	font-size: 20px;
}
#sec02 .figBox {
	padding-top: 3%;
}

#sec03 {
	padding: 5% 0;
	background-color: #000;
	color: #fff;
}
#sec03 .titBox {}
#sec03 .titBox h3 {}
#sec03 .titBox .lead {}
#sec03 .flex01 .imgBox p {
	font-size: 15px;
	padding-bottom: 0.3em;
}
#sec03 h4 {
	text-align: center;
	padding: 1.5em 0;
	font-size: 18px;
	letter-spacing: 0.05em;
}
#sec03 .flex02 {
	gap:30px 4%;
}
#sec03 .flex02 .itemBox {
	width: 16.7%;
	max-width: 200px;
	container-type: inline-size;
}
#sec03 .flex02 .itemBox p {
	padding: 0.5em 0;
	letter-spacing: -0.00em;
	font-size: clamp(10px, 6.6cqw, 14px);
	line-height: 1.3;

}
#sec04 {
	background: #000;
background: linear-gradient(180deg, rgba(0, 0, 0, 1) 50%, rgba(0, 0, 0, 0) 50%);
}

#sec05 {
	padding: 3% 0;
}
#sec05 h5.engTxt {
	position: relative;
	text-align: center;
}
#sec05 h5.engTxt span {
	background-color: #fff;
	font-size: 24px;
	position: relative;
	z-index: 1;
	padding: 0 1em;
}
#sec05 h5.engTxt::before {
	content: "";
	position: absolute;
	width: 100%;
	height: 1px;
	background-color: #000;
	left: 0;
	top: 50%;
}

#sec05 .tableWrap {
	padding-top: 20px;
}
#sec05 .tableBox {
	width: 31%;
}
#sec05 .tableBox h5 {
	width: 100%;
	background-color: #66717c;
	color: #fff;
	font-size: 16px;
	padding: 0.2em;
	text-align: center;
}
#sec05 .tableBox table {
	margin: 1em 0;
	width: 100%;
	container-type: inline-size;
}
#sec05 .tableBox th, #sec05 .tableBox td {
	font-weight: 300;
	padding: 0.3em 0;
	font-size: clamp(11px, 1.12cqw, 14px);
	letter-spacing: 0em;
}
#sec05 .tableBox th {
	text-align: left;
	padding-right: 0.2em;
}
#sec05 .tableBox td {
	text-align: right;
}

#sec05 .tableBox td:nth-child(2) {
	width: 2.2em;
}
#sec05 .tableBox td:nth-child(3) {
	width: 2.3em;
}
#sec05 .tableBox td:nth-child(4) {
	width: 1.8em;
}
#sec05 .tableBox td:nth-child(5) {
	width: 4.2em;
}

@media screen and (max-width: 959px) {
	#sec01 .svgWrap {
		width: 60%;
		left: 20%;
		top: 10%;
	}
	#sec01 h2 {
		font-size:2.4cqw;
	}
	#sec03 .flex01 {
		container-type: inline-size;
	}
	#sec03 .flex01 .imgBox p {
    font-size: 1.6cqw;
	}
	#sec03 .flex02 {
		max-width: 700px;
	}
	#sec03 .flex02 .itemBox {
    width: 30%;
	}
	#sec05 .tableWrap {
		max-width: 500px;
	}
	#sec05 .tableBox {
    width: 100%;
	}
	#sec05 .tableBox th, #sec05 .tableBox td {
		font-size: clamp(11px, 3.3cqw, 15px);
	}
}
@media screen and (max-width: 599px) {
	#sec01 .svgWrap {
		width: 90%;
		left: 5%;
		top: 10%;
	}
	#sec01 h2 {
		font-size:3.8cqw;
		top: 26%;
	}
	#sec01 .names {
	position: absolute;
	width: 100%;
  left: 0%;
  bottom: 20%;
}
	#sec02 .titBox h5 {
		font-size:clamp(20px, 5.8cqw, 28px);
		margin: 1em auto;
	}
	#sec02 .titBox h3, #sec03 .titBox h3,#sec03 h4 {
    font-size:clamp(16px, 4.6cqw, 22px);
	}
	#sec02 .titBox .lead, #sec03 .titBox .lead {
    text-align: justify;
    font-size: 13px;
    line-height: 2;
		
	}
	#sec02 .titBox .lead br, #sec03 .titBox .lead br {
		display: none;
	}
	#sec02 .titBox .lead br.brSp, #sec03 .titBox .lead br.brSp {
		display: inline;
	}
	#sec02 .flex01 .imgBox, #sec03 .flex01 .imgBox {
    width: 100%;
    position: relative;
    overflow: hidden;
}
	    #sec03 .flex01 .imgBox p {
        font-size: clamp(13px, 4.6cqw, 16px);
    }
	    
	#sec03 .flex02 {
		gap:15px 4%;
		width: 70%;
		max-width: 300px;
	}
	#sec03 .flex02 .itemBox {
        width: 100%;
		max-width: 100%;
    }
	#sec03 .flex02 .itemBox p {
		padding: 0.5em 0;
		letter-spacing: -0.00em;
		font-size: clamp(10px, 8.6cqw, 15px);
		line-height: 1.3;

	}
	#sec05 h5.engTxt span {
    font-size:clamp(16px, 6cqw, 22px);
	}
}


