@charset "UTF-8";

/* ============================================================
 * 店舗案内（/shop/）
 * 読み込み順： reset.css → common.css → shop.css → drawer-nav.css
 * リード・電車アクセス・CTAは common.css の .srv-* を使用。
 * このファイルには店舗詳細まわりのみ書く。
 * ========================================================== */


/* ------------------------------------------------------------
 * 店舗詳細
 * ---------------------------------------------------------- */
.shop-list {
	padding: 0 0 96px;
	background: var(--color-white);
}

.shop-detail + .shop-detail {
	margin-top: 80px;
	padding-top: 80px;
	border-top: 1px solid var(--color-line);
}

.shop-detail__head {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.shop-detail__label {
	color: var(--color-accent);
	font-size: 16px;
	letter-spacing: .1em;
	line-height: 1;
}

.shop-detail__name {
	font-size: 26px;
	font-weight: 900;
	line-height: 1.4;
}

.shop-detail__lead {
	color: var(--color-body);
	font-size: 16px;
	line-height: 1.9;
}

.shop-detail__body {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: start;
	gap: 40px;
	margin-top: 32px;
}

.shop-detail__photo {
	overflow: hidden;
	max-width: 100%;
	aspect-ratio: 3 / 2;
	border-radius: 10px;
	background: var(--color-bg);
}

.shop-detail__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.shop-detail__info {
	min-width: 0;
	border-top: 1px solid var(--color-line);
}

.shop-detail__row {
	display: flex;
	gap: 20px;
	padding: 16px 0;
	border-bottom: 1px solid var(--color-line);
}

.shop-detail__row dt {
	flex: 0 0 90px;
	font-size: 14px;
	font-weight: 700;
}

.shop-detail__row dd {
	flex: 1 1 auto;
	min-width: 0;
	color: var(--color-body);
	font-size: 14px;
	line-height: 1.8;
}

.shop-detail__tel {
	font-size: 22px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
}

.shop-detail__map {
	overflow: hidden;
	margin-top: 32px;
	border-radius: 10px;
	background: var(--color-bg);
	line-height: 0;
}

.shop-detail__map iframe {
	display: block;
	width: 100%;
	height: 400px;
	border: 0;
}

@media (hover: hover) {
	.shop-detail__tel:hover {
		text-decoration: underline;
	}
}


/* ------------------------------------------------------------
 * ~1199px
 * ---------------------------------------------------------- */
@media screen and (max-width: 1199px) {
	.shop-detail__body {
		gap: 32px;
	}

	.shop-detail__name {
		font-size: 26px;
	}
}

/* ------------------------------------------------------------
 * ~959px
 * ---------------------------------------------------------- */
@media screen and (max-width: 959px) {
	.shop-list {
		padding: 0 0 72px;
	}

	.shop-detail + .shop-detail {
		margin-top: 56px;
		padding-top: 56px;
	}

	.shop-detail__body {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.shop-detail__map iframe {
		height: 320px;
	}
}

/* ------------------------------------------------------------
 * ~767px
 * ---------------------------------------------------------- */
@media screen and (max-width: 767px) {
	.shop-list {
		padding: 0 0 56px;
	}

	.shop-detail + .shop-detail {
		margin-top: 48px;
		padding-top: 48px;
	}

	.shop-detail__name {
		font-size: 22px;
	}

	.shop-detail__lead {
		font-size: 14px;
	}

	.shop-detail__body {
		margin-top: 24px;
	}

	.shop-detail__row {
		gap: 12px;
		padding: 12px 0;
	}

	.shop-detail__row dt {
		flex: 0 0 72px;
		font-size: 12px;
	}

	.shop-detail__row dd {
		font-size: 14px;
	}

	.shop-detail__tel {
		font-size: 20px;
	}

	.shop-detail__map {
		margin-top: 24px;
	}

	.shop-detail__map iframe {
		height: 260px;
	}
}
