/* ==========================================================================
   l-cta（Figma l-cta 13:22・SP l-cta-sp 162:317）— template-parts/corporate/cta.php
   - フッターの直前のお問い合わせの帯。4つの窓口のカードは高さをそろえる（grid）
   ========================================================================== */

.l-cta {
	padding-block: var(--space-6xl);
	color: var(--color-text-on-brand);
	background: var(--color-bg-brand);
	--focus-color: var(--neutral-0);
}

.l-cta__inner {
	display: flex;
	flex-direction: column;
	gap: 56px; /* Figma の値 */
}

.l-cta__head {
	display: flex;
	align-items: flex-end;
	gap: var(--space-4xl);
}

.l-cta__lead {
	max-width: 640px;
	font: var(--text-lead);
	letter-spacing: var(--ls-lead);
}

.l-cta__list {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--space-lg);
}

.l-cta__item {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--space-md);
	min-height: 352px; /* Figma の値（カードの高さ） */
	padding: var(--space-xl) 28px; /* 28 は Figma の値 */
	color: var(--color-text-primary);
	background: var(--color-bg-canvas);
	border-radius: var(--radius-lg);
	--focus-color: var(--color-border-brand);
}

.l-cta__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	font-size: 26px; /* アイコンの大きさ */
	color: var(--color-text-brand);
	background: var(--color-bg-muted);
	border-radius: var(--radius-full);
}

.l-cta__icon--line {
	overflow: hidden;
	background: none;
}

.l-cta__icon--line img {
	width: 56px;
	height: 56px;
}

.l-cta__title {
	font: var(--text-h4);
	letter-spacing: var(--ls-h4);
}

.l-cta__text {
	font: var(--text-body-s);
	letter-spacing: var(--ls-body-s);
	color: var(--color-text-secondary);
}

.l-cta__spacer {
	flex: 1;
}

.l-cta__tel {
	font: 600 38px / 1.1 var(--font-en); /* Figma の値（電話番号） */
	color: var(--color-text-brand);
	text-decoration: none;
	white-space: nowrap;
}

.l-cta__hours {
	font: var(--text-label-s);
	letter-spacing: var(--ls-label-s);
	color: var(--color-text-secondary);
}

@media (min-width: 768px) and (max-width: 1199px) {
	.l-cta__head {
		flex-direction: column;
		align-items: flex-start;
		gap: var(--space-xl);
	}
}

/* 4列ではボタンの文が2行になる幅（カードが Figma の 282px より狭い）は2列 */
@media (min-width: 768px) and (max-width: 1279px) {
	.l-cta__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.l-cta__item {
		min-height: 0;
	}
}

/* ---------- SP ---------- */
@media (max-width: 767px) {
	.l-cta {
		padding-block: var(--space-5xl); /* SP 56 */
	}

	.l-cta__inner {
		gap: var(--space-2xl); /* SP 32 */
	}

	.l-cta__head {
		flex-direction: column;
		align-items: flex-start;
		gap: var(--space-2xl);
	}

	.l-cta__list {
		grid-template-columns: minmax(0, 1fr); /* 中身より細い幅に縮められるように（1fr だと Safari で広い幅から縮めると横にはみ出す。2026-10-06） */
		gap: var(--space-sm);
	}

	.l-cta__item {
		gap: 10px; /* Figma の値 */
		min-height: 0;
		padding: var(--space-xl) var(--space-lg);
	}

	.l-cta__icon,
	.l-cta__icon--line img {
		width: 48px;
		height: 48px;
	}

	.l-cta__spacer {
		display: none;
	}

	.l-cta__tel {
		display: flex;
		align-items: center;
		min-height: 44px;
		font: var(--text-en-h3);
		letter-spacing: var(--ls-en-h3);
	}

	.l-cta__hours {
		font: var(--text-body-s);
		letter-spacing: var(--ls-body-s);
	}
}
