:root {
	--color-location-base: #3C3838;
	--color-location-grey: #E6E5E0;
	--color-location-bk: #616258;
	--font-cin: "Cinzel", serif;
}

.p-location {
	background-color: var(--color-location-base);
}
.p-location-intro {
	color: var(--color-white);
	padding-block: clamp(4rem, 3.2rem + 2.5vw, 8rem);
}
.p-location-intro dl {
	text-align: center;
	margin-block-end: clamp(3.5rem, 2.8rem + 2.1875vw, 7rem);
}
.p-location-intro dl dt {
	font-size: clamp(2rem, 1.8rem + 0.625vw, 3rem);
	margin-block-end: clamp(2rem, 1.6rem + 1.25vw, 4rem);
}
.p-location-intro dl dd {
	font-size: clamp(1.4rem, 1.36rem + 0.125vw, 1.6rem);
	line-height: 1.9;
}
.p-location-intro ul {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: clamp(1rem, 0.8rem + 0.625vw, 2rem) clamp(1rem, 0.6rem + 1.25vw, 3rem);
}
.p-location-intro ul li span {
	display: block;
	margin-block-start: 5px;
	font-size: clamp(1.3rem, 1.24rem + 0.1875vw, 1.6rem);
}
.p-location-area__title {
	position: relative;
}
.p-location-area__title h2 {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	flex-direction: column;
	justify-content: center;
	z-index: 2;
	color: var(--color-white);
	font-size: clamp(1.6rem, 1.36rem + 0.75vw, 2.8rem);
	font-weight: 400;
	text-align: center;
}
.p-location-area__title h2 span {
	display: block;
	font-family: var(--font-cin);
	font-weight: 400;
	font-size: clamp(3rem, 2.36rem + 2vw, 6.2rem);
}
.p-location-area__title figure {
	position: relative;
}
.p-location-area__title figure:after {
	content: "";
	background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgb(0, 0, 0) 50%, rgba(0, 0, 0, 0) 100%);
	opacity: 0.25;
	width: 100%;
	height: 50%;
	position: absolute;
	margin: auto;
	inset: 0;
}
@media screen and (max-width: 767px) {
	.p-location-area__title figure:after {
		height: 100%;
		opacity: 0.5;
	}
}
.p-location-area__box {
	padding-block: clamp(6rem, 4.8rem + 3.75vw, 12rem);
}
.p-location-area__box.-box1 {
	background-color: var(--color-location-grey);
}
.p-location-area__box.-box2 {
	background-color: var(--color-white);
	background-image: url(../img/location/location13.webp);
	background-size: cover;
	padding-block: clamp(6rem, 2.8rem + 10vw, 22rem);
}
.p-location-area__box.-box3 {
	background-image: url(../img/location/location18.webp);
	background-size: cover;
	color: var(--color-white);
	padding-block: clamp(6rem, 2.8rem + 10vw, 22rem);
}
.p-location-area__box h3 {
	text-align: center;
	font-weight: 400;
	font-size: clamp(2rem, 1.8rem + 0.625vw, 3rem);
	margin-block-end: clamp(2rem, 1.6rem + 1.25vw, 4rem);
}
.p-location-area__box p {
	text-align: center;
	font-size: clamp(1.4rem, 1.36rem + 0.125vw, 1.6rem);
	line-height: 2;
	margin-block-end: clamp(3.5rem, 2.8rem + 2.1875vw, 7rem);
}
.p-location-area__box ul {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(1rem, 0.5rem + 1.5625vw, 3.5rem) clamp(1rem, 0.8rem + 0.625vw, 2rem);
}
@media screen and (max-width: 767px) {
	.p-location-area__box ul {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		gap: 10px 4%;
	}
	.p-location-area__box ul li {
		width: 48%;
		text-align: center;
	}
}
.p-location-info {
	padding-block: clamp(4.5rem, 3.6rem + 2.8125vw, 9rem);
}
.p-location-info h2 {
	text-align: center;
	color: var(--color-white);
	font-weight: 400;
	font-family: var(--font-cin);
	font-size: clamp(2rem, 1.8rem + 0.625vw, 3rem);
	margin-block-end: clamp(2.5rem, 2rem + 1.5625vw, 5rem);
}
.p-location-info ul {
	margin-block-start: clamp(4.5rem, 3.6rem + 2.8125vw, 9rem);
	display: grid;
	gap: clamp(2rem, 1.6rem + 1.25vw, 4rem);
	grid-template-columns: repeat(3, 1fr);
}
@media screen and (max-width: 767px) {
	.p-location-info ul {
		display: flex;
		flex-direction: column;
		gap: 50px;
	}
}
.p-location [class*=__inner] {
	max-width: 1200px;
	width: 90%;
	margin: 0 auto;
}