/* ==========================================================================
   サイトマップ（page-sitemap.php。Figma 78:3299・SP 237:4826）
   PC: 4つのグループを横に並べる（高さをそろえる・見出しの高さもそろえる）＋法人ページの欄は下に横いっぱい。SP: 1列に縦に並べる
   ========================================================================== */
.p-sitemap__inner {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--space-lg);
	align-items: stretch;
	padding-block: 96px 140px; /* Figma の 96px・140px */
}

.p-sitemap__group {
	padding: 28px 28px 20px;
	border-radius: 20px;
	background: var(--color-bg-subtle);
}

/* 見出し（2行の見出しに合わせて高さをそろえる） */
.p-sitemap__row {
	display: flex;
	gap: 10px;
	align-items: center;
	min-height: 70px;
	padding-bottom: var(--space-sm);
	color: var(--color-text-primary);
	font: var(--text-h5);
	letter-spacing: var(--ls-h5);
}

.p-sitemap__dot {
	flex-shrink: 0;
	align-self: center;
	width: 10px;
	height: 10px;
	border-radius: var(--radius-full);
	background: var(--color-text-primary);
}

.p-sitemap__group--corporate .p-sitemap__dot {
	background: var(--color-bg-brand);
}

.p-sitemap__group--paint .p-sitemap__dot {
	background: var(--color-business-paint);
}

.p-sitemap__group--kanasa .p-sitemap__dot {
	background: var(--color-business-care);
}

.p-sitemap__group--teyll .p-sitemap__dot {
	background: var(--color-business-it);
}

/* 法人ページの欄：4つの事業の下に横いっぱいの帯（見出しの高さはそろえない・リンクは横に並べる） */
.p-sitemap__group--business {
	grid-column: 1 / -1;
}

.p-sitemap__group--business .p-sitemap__row {
	min-height: 0;
}

/* SP で「へ」だけが次の行に落ちないように */
.p-sitemap__group--business .p-sitemap__title {
	text-wrap: balance;
}

.p-sitemap__group--business .p-sitemap__list {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	column-gap: calc(var(--space-lg) + 56px); /* 上の4つの欄のリンクの列と位置をそろえる（欄の間 24＋左右の内側の余白 28×2） */
}

.p-sitemap__group--business .p-sitemap__dot {
	background: var(--color-text-navy);
}

.p-sitemap__meta {
	display: flex;
	gap: var(--space-xs);
	align-items: center;
	justify-content: space-between;
	min-height: 50px;
	padding-block: var(--space-sm);
	border-top: 1px solid var(--color-border-default);
	color: var(--color-text-primary);
	font: var(--text-body-s);
	letter-spacing: var(--ls-body-s);
	text-decoration: none;
}

a.p-sitemap__meta:hover .p-sitemap__label {
	color: var(--color-text-brand);
	text-decoration: underline;
	text-underline-offset: 4px;
}

.p-sitemap .p-sitemap__icon {
	flex-shrink: 0;
	width: 14px;
	height: 14px;
	color: var(--color-text-brand);
}

@media (max-width: 1199px) {
	.p-sitemap__inner {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 1199px) {
	.p-sitemap__group--business .p-sitemap__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.p-sitemap__group--business .p-sitemap__list {
		grid-template-columns: minmax(0, 1fr);
	}

	.p-sitemap__inner {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--space-md);
		padding-block: var(--space-2xl) var(--space-6xl);
	}

	.p-sitemap__group {
		padding: 20px;
	}

	.p-sitemap__row {
		min-height: 0;
		padding-block: var(--space-xs) var(--space-md);
	}

	.p-sitemap__meta {
		min-height: 55px;
		font: var(--text-body); /* SP/Body 15px（Figma 237:4930） */
		letter-spacing: var(--ls-body);
	}
}
