/* ===============================
   access-info: 店舗基本情報・末尾導線
   =============================== */

.access-info {
	padding-block: 14px 32px;
	background: var(--color-page-bg);
}

.access-info__inner {
	padding-inline: 18px;
}

.access-info__title {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 17px;
	font-size: 18px;
	letter-spacing: 0.08em;
	white-space: nowrap;
}

.access-info__title::before,
.access-info__title::after {
	content: "";
	flex: 1;
	height: 1px;
	background: var(--color-main);
}

.access-info__list {
	margin-top: 0;
}

.access-info__layout {
	display: grid;
	gap: var(--space-5);
}

.access-info__map {
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border: 1px solid var(--color-border-soft);
	background: var(--color-bg-subtle);
}

.access-info__iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

.access-info__row {
	display: grid;
	grid-template-columns: 86px minmax(0, 1fr);
	align-items: center;
	min-height: 32px;
	border-bottom: 1px solid var(--color-border);
}

.access-info__term,
.access-info__description {
	font-size: 11px;
	line-height: var(--lh-body);
	letter-spacing: 0.03em;
}

.access-info__term {
	padding-left: 10px;
}

.access-info__description {
	padding: 3px 8px;
}

.access-info__hours {
	display: grid;
}

.access-info__hours b {
	display: inline-block;
	min-width: 50px;
	font-weight: var(--fw-normal);
}

@media (max-width: 767px) {
	.access-info {
		padding-block: var(--space-8);
	}

	.access-info__inner {
		padding-inline: var(--space-5);
	}

	.access-info__title {
		gap: var(--space-4);
		font-size: var(--fs-h2-mobile);
		line-height: var(--lh-tight);
	}

	.access-info__list {
		margin-top: 0;
	}

	.access-info__layout {
		gap: var(--space-5);
		margin-top: var(--space-5);
	}

	.access-info__row {
		grid-template-columns: var(--space-10) minmax(0, 1fr);
		min-height: 64px;
	}

	.access-info__term,
	.access-info__description {
		font-size: var(--fs-body-pc);
		line-height: var(--lh-body);
	}

	.access-info__term {
		padding-left: var(--space-1);
		font-size: var(--fs-body);
	}

	.access-info__description {
		padding: var(--space-2) var(--space-1);
	}

	.access-info__description a {
		display: inline-flex;
		align-items: center;
		min-height: 48px;
	}

	.access-info__address-part {
		display: block;
	}

	.access-info__hours {
		gap: var(--space-1);
	}

	.access-info__hours b {
		min-width: 72px;
	}

}

@media (min-width: 768px) {
	.access-info {
		padding-block: 0 43px;
	}

	.access-info__inner {
		max-width: var(--container-max);
		margin-inline: auto;
		padding-inline: 0;
	}

	.access-info__title {
		gap: 22px;
		font-size: 38px;
		transform: translateY(-13px);
	}

	.access-info__title::before,
	.access-info__title::after {
		flex: 0 0 180px;
	}

	.access-info__list {
		margin: 0;
		border: 1px solid var(--color-border);
	}

	.access-info__layout {
		grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
		gap: var(--space-8);
		align-items: start;
		margin-top: var(--space-4);
	}

	.access-info__map {
		aspect-ratio: 16 / 9;
	}

	.access-info__row {
		grid-template-columns: var(--space-13) minmax(0, 1fr);
		min-height: var(--space-10);
	}

	.access-info__row:last-child {
		min-height: var(--space-12);
		border-bottom: 0;
	}

	.access-info__term,
	.access-info__description {
		font-size: var(--fs-body-pc);
		letter-spacing: 0.05em;
	}

	.access-info__term {
		align-self: stretch;
		display: flex;
		align-items: center;
		justify-content: center;
		padding-left: 0;
		background: var(--color-bg-subtle);
	}

	.access-info__description {
		padding: var(--space-3) var(--space-5);
	}

	.access-info__hours {
		display: grid;
	}

	.access-info__hours span {
		display: grid;
		grid-template-columns: var(--space-13) minmax(0, 1fr);
		align-items: center;
	}

	.access-info__hours b {
		min-width: auto;
		margin-right: 0;
	}

}
