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


#titWrap {
	padding: 0;
	position: relative;
	h1 span {
		position: absolute;
		width: 100%;
		text-align: center;
		left: 0;
		top: 50%;
		transform: translateY(-50%);
		font-size: 40px;
		font-style: italic;
		color: #fff;
	}
}
#pageWrap {
    padding: 0% 0;
}
#sec01 {
	background-color: #231815;
	padding: 5% 0;
}
.h2Wrap {
	color: #fff;
	text-align: center;
	.engTxt {
		display: inline-block;
		font-size: 32px;
		text-align: center;
		color: #988550;
		letter-spacing: 0.2em;
		padding: 0.2em 1em;
		border-bottom: #988550 solid 1px;
	}
	h2 {
		font-size: 24px;
		line-height: 1.8;
		padding: 1em 0;
		letter-spacing: 0.1em;
	}
	.lead {
		font-size: 14px;
		letter-spacing: 0.1em;
		text-align: center;
		padding:1em 0;
		line-height: 2.4;
	}
}
#sec01 .figBox {
	position: relative;
	display: block;
	flex-wrap: wrap;
	margin-top: 50px;
	.bg {
		width: 100%;
	}
	.flex {
		position: absolute;
		top: 0;
		right: 0;
		width: 87.6%;
		height: 100%;
		
		> div {
			display: flex;
			flex-wrap: wrap;
			width: 34.3%;
			max-width: 360px;
			height: 100%;
			align-content: space-between;
		}
		.box03 {
			width: 15.3%;
			max-width: 160px;
			align-content: flex-start;
		}
	}
}
#sec01 .figBox .sclBox {
	width: 100%;
	position: relative;
}

#sec02 {
	padding: 5% 0;
	background-color: #fff;
	.h2Wrap {
	color: #000;
	}
	.mapBox {
		max-width: 1000px;
		padding: 30px 0 50px 0;
	}
}

.phWrap {
	max-width: 1000px;
	padding-top: 30px;
	h3 {
		color: #887847;
		position: relative;
		&::after {
			content: "";
			position: absolute;
			width: 100%;
			height: 1px;
			background-color: #887847;
			right: 0;
			top:50%;
		}
		.engTxt {
			font-size: 25px;
			background-color: #fff;
			z-index: 1;
			position: relative;
			display: inline-block;
			padding-right: 1em;
			letter-spacing: 0.2em;
		}
		i {
			font-style: normal;
			font-size: 18px;
			position: absolute;
			right: 0;
			bottom: 50%;
		}
	}
}
.phWrap .itemBox {
	width: 17%;
	container-type: inline-size;
	dl {
		dt {
			font-size: 8cqw;
			letter-spacing: -0.05em;
			line-height: 1.3;
			text-align: center;
			display: flex;
justify-content: center;
align-items: center;
			height: 3em;
		}
		dd {
			text-align: center;
			color: #887847;
			font-size: 8cqw;
			span {
				font-size: 160%;
				line-height: 0;
			}
		}
	}
}
#sec03 {
	background-color: #fff;
	padding: 0 0 5% 0;
}
#sec03 .infoWrap {
	max-width: 1000px;
	h3 {
		color: #887847;
		position: relative;
		text-align: center;
		&::after {
			content: "";
			position: absolute;
			width: 100%;
			height: 1px;
			background-color: #887847;
			right: 0;
			top:50%;
		}
		.engTxt {
			font-size: 25px;
			background-color: #fff;
			z-index: 1;
			position: relative;
			display: inline-block;
			padding: 0 1em;
			letter-spacing: 0.2em;
		}
	}
}
#sec03 .infoWrap {
	.tableBox {
		width: 48%;
		table {
			margin-top: 20px;
			width: 100%;
			border-collapse: collapse; 
		}
		th,td {
			
		}
		th {
			text-align: left;
			padding: 0.5em 0;
			position: relative;
			span {
				background-color: #fff;
				display: inline-block;
				position: relative;
				z-index: 1;
				padding-right: 0.6em;
			}
			&::after {
				content: "";
				position: absolute;
				width: 100%;
				height: 1px;
				left: 0;
				top: 50%;
				border-bottom: #000 dotted 1px;

			}
		}
		td {
			text-align: right;
			padding: 0.5em 0;
		}
		td:nth-child(2) {
			width: 2.4em;
		}
		td:nth-child(3) {
			width: 2.2em;
		}
		td:nth-child(4) {
			width: 1.8em;
		}
		td:nth-child(5) {
			width: 4.2em;
		}
		th.category {
			color: #fff;
			text-align: center;
			font-size: 16px;
			padding: 0.5em;
			background: linear-gradient(143deg, rgba(106, 80, 52, 1) 0%, rgba(0, 0, 0, 1) 30%);
			&::after {
				display: none;
			}
		}
	}
}

@media screen and (max-width : 959px ){
	.boxWidth {
		container-type: inline-size;
	}
	.h2Wrap {
		.engTxt {
			font-size: clamp(13px, 1.7cqw, 16px);
			font-size: 5cqw;
		}
		h2 {
			font-size: 5cqw;
			font-size: clamp(14px, 5cqw, 18px);
		}
		.lead {
			font-size: 3.8cqw;
			font-size: clamp(12px, 3.8cqw, 14px);
		}
	}
	#sec03 .infoWrap {
    .tableBox {
        width: 100%;
			max-width: 450px;
			margin: 0 auto;
    }
	}
	.phWrap .flex {
		justify-content: center;
		gap: 20px 20px;
	}
	.phWrap .itemBox {
	width: 30%;
		max-width: 170px;
	}
	#sec01 .figBox {
		overflow-x: scroll;
	}
	#sec01 .figBox .sclBox {
    width: 160%;
	}
}

@media screen and (max-width : 599px ){
	#sec01 {
    padding: 50px 0;
	}
	#sec01 .figBox .sclBox {
    width: 220%;
	}
	#sec02 {
    .mapBox {
        padding: 20px 0;
    }
	}
	.phWrap {
		padding-top: 30px;
		h3 {
			margin-bottom: 15px;
			&::after {
				top:98%;
			}
			.engTxt {
				font-size: clamp(14px, 6cqw, 18px);
				background-color: transparent;
				padding-right: 0em;
				letter-spacing: 0.1em;
			}
			i {
				font-size: clamp(13px, 4.6cqw, 16px);
				bottom: 5%;
			}
		}
	}
	    .phWrap .flex {
        justify-content: center;
        gap: 20px 10px;
    }
	
	.phWrap .itemBox {
		width: 100%;
		max-width: 250px;
		container-type: inline-size;
		dl {
			dt {
				font-size: 5.6cqw;
				height: auto;
				padding: 0.3em 0 0.3em;
				letter-spacing: 0em;
				br {
					display: none;
				}
				br.brSp {
					display: inline;
				}
			}
			dd {
				font-size: 5.6cqw;

			}
		}
	}
	#sec03 .infoWrap {
			& h3 {
				margin-top: 2em;
					.engTxt {
							font-size: clamp(14px, 6cqw, 24px);
					}
			}
	}

	#sec03 .infoWrap {
			& .tableBox {
					th.category {
							font-size: 14px;
					}
			}
	}
}
