@charset "UTF-8";
/* ============================== */
/*  SPORTSPLAZA TOP PAGE */
/* ============================== */
main > section {
	margin: var(--y-margin-l) var(--x-margin)
}
/* overview */
.overview {
	border-radius: var(--rad-s);
	background-color: var(--white);
	margin-top: var(--y-margin-l);
}
.overview .copy {
	font-size: 14px;
	line-height: 1.75;
	padding: 20px 15px;
	text-align: justify;
}
.overview .copy h2 {
	font-size: 2.3em;
	line-height: 1;
	block-size: 1em;
	margin: 0 0 0.5em;
}
.overview .copy h2 img {
	block-size: 1em;
	inline-size: auto;
}
.overview .photo img {
	border-radius: var(--rad-s) var(--rad-s) 0 0;
}
@media screen and (min-width: 992px), print {
	.overview {
		display: flex;
		width: min(94.66666666%, 1400px);
		margin: 90px auto var(--y-margin-l);
	}
	.overview .photo {
		width: 42%;
		flex: 0 0 auto;
	}
	.overview .photo img {
		object-fit: cover;
		inline-size: 100%;
		block-size: 100%;
		border-radius: var(--rad-s) 0 0 var(--rad-s);
	}
	.overview .copy {
		font-size: 16px;
		line-height: 1.65;
		padding: 35px 35px;
	}
	.overview .copy h2 {
		font-size: 40px;
	}
}
.section-heading {
	font-size: 30px;
	font-weight: var(--font-bold);
	letter-spacing: 0;
	margin: 0 0 20px;
	color: #333333;
}
.section-heading .en {
	color: var(--theme-color);
	display: block;
}
.section-heading .ja {
	display: block;
	font-size: 12px;
	font-weight: var(--font-regular);
}
@media screen and (min-width: 768px), print {
	.section-heading {
		font-size: 40px;
	}
}
@media screen and (min-width: 1232px), print {
	.section-heading {
		font-size: 50px;
		margin: 0 0 32px;
	}
	.section-heading .ja {
		font-size: 16px;
	}
}
/* facility-guide */
.facility-cards {
	display: flex;
	flex-direction: column;
	gap: var(--y-margin-m);
}
a.facility-card {
	text-decoration: none;
	color: inherit;
	display: block;
	background-color: var(--white);
	border-radius: var(--rad-s);
}
.facility-card .copy {
	padding: 20px 15px;
}
.facility-card .card-heading {
	font-size: 32px;
	line-height: 1;
}
.facility-card .card-heading img {
	height: 1em;
	width: auto;
}
.facility-card .photo {
	border-radius: var(--rad-s) var(--rad-s) 0 0;
	overflow: hidden;
}
.facility-card .photo img {}
@media screen and (min-width: 1032px), print {
	.facility-cards {
		flex-direction: row;
		gap: 2.2%;
	}
	.facility-card {
		width: calc(calc(100% - 2.2% * 2) / 3);
	}
	.facility-card .copy {
		padding: 20px 20px 25px;
	}
}
@media (any-hover: hover) {
	.facility-card {
		transition: opacity 300ms;
	}
	.facility-card:hover {
		opacity: 0.8;
	}
	.facility-card .photo img {
		transition: scale 300ms;
	}
	.facility-card:hover .photo img {
		scale: 1.1;
	}
}
/* access */
.access {
	margin-bottom: var(--y-margin-xl);
}
.access-card {
	border-radius: var(--rad-s);
	background-color: var(--white);
}
.access-card iframe {
	border: none;
	width: 100%;
	height: min(50vw, 470px);
	border-radius: var(--rad-s) var(--rad-s) 0 0;
}
.access-card .text {
	padding: 20px 15px;
}
.access-card .card-heading {
	font-size: 32px;
	line-height: 1;
}
.access-card .card-heading img {
	height: 1em;
	width: auto;
}
@media screen and (min-width: 1032px), print {
	.access-card {
		display: flex;
		height: 500px;
	}
	.access-card .map {
		flex: 1 1 auto;
	}
	.access iframe {
		border: none;
		width: 100%;
		height: 100%;
		border-radius: var(--rad-s) var(--rad-s) 0 0;
	}
	.access-card .text {
		padding: 50px 30px;
		width: calc(24em + 30px * 2);
		flex: 0 0 auto;
	}
	.access-card .card-heading {
		font-size: 42px;
	}
}