@charset "UTF-8";
/* ==========================================================================
   店舗情報ページ(Figma VD 7/3 > 店舗情報 準拠)
   ========================================================================== */

.page-hero__sub {
	font-weight: 500;
}

.store-container {
	max-width: 972px;
	margin-inline: auto;
	padding-inline: 20px;
}

.store {
	padding-block: 80px;
}

/* --------------------------------------------------------------------------
   エリア絞り込みタブ
   -------------------------------------------------------------------------- */
.store-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.store-tabs button {
	padding: 10px 22px;
	background: #ffffff;
	border: 1px solid #dddddd;
	border-radius: 4px;
	font-family: inherit;
	font-size: 14px;
	font-weight: 500;
	line-height: 17px;
	color: var(--color-text-sub);
	cursor: pointer;
}

.store-tabs button.is-active {
	background: var(--color-heading);
	border-color: var(--color-heading);
	color: #ffffff;
}

/* --------------------------------------------------------------------------
   店舗カードグリッド
   -------------------------------------------------------------------------- */
.store-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px;
	margin-top: 40px;
}

.store-card {
	padding: 28px;
	background: #ffffff;
	border: 1px solid #e4e4e4;
	border-radius: 6px;
}

.store-card.is-hidden {
	display: none;
}

.store-card__tag {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 60px;
	height: 24px;
	padding-inline: 12px;
	background: #f1f1f1;
	border-radius: 3px;
	font-size: 12px;
	font-weight: 500;
	line-height: 1;
	color: #555555;
}

.store-card__brand {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-top: 14px;
	padding-bottom: 14px;
	border-bottom: 1px solid #ededed;
}

.store-card__brand img {
	width: 146px;
	height: auto;
	flex: 0 0 146px;
}

.store-card__name {
	font-size: 18px;
	font-weight: 500;
	line-height: 26px;
	color: var(--color-heading);
}

.store-card__info {
	display: flex;
	gap: 16px;
	margin-top: 15px;
}

.store-card__info dt {
	flex: 0 0 40px;
	font-size: 12px;
	font-weight: 500;
	line-height: 21px;
	color: #666666;
}

.store-card__info dd {
	font-size: 13px;
	line-height: 21px;
	color: var(--color-text-sub);
}

.store-card__info--tel dd {
	font-family: var(--font-en);
	font-size: 16px;
	font-weight: 500;
	line-height: 19px;
	color: var(--color-heading);
}

.store-card__more {
	display: inline-block;
	margin-top: 14px;
	font-size: 14px;
	font-weight: 500;
	line-height: 17px;
	color: #a71427;
}

/* --------------------------------------------------------------------------
   レスポンシブ
   -------------------------------------------------------------------------- */
@media (max-width: 800px) {
	.store-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 768px) {
	.store {
		padding-block: 48px;
	}

	.store-tabs {
		gap: 8px;
	}

	.store-tabs button {
		padding: 9px 16px;
		font-size: 13px;
	}

	.store-grid {
		gap: 16px;
		margin-top: 28px;
	}

	.store-card {
		padding: 20px;
	}
}

@media (max-width: 480px) {
	/* ロゴと店名が横に並びきらないので折り返す */
	.store-card__brand {
		flex-wrap: wrap;
		gap: 10px;
	}

	.store-card__brand img {
		flex: 0 0 120px;
		width: 120px;
	}

	.store-card__name {
		font-size: 16px;
		line-height: 24px;
	}

	.store-card__info {
		gap: 12px;
		margin-top: 12px;
	}

	.store-card__info dt {
		flex-basis: 36px;
	}
}
