@charset "utf-8";

/*@media print,screen and (min-width: 769px) {*/
@media print,screen {

	/** サイトマップ **/
	.sitemap_contents {
		display: flex;
		max-width: 1120px;      /* ★ 修正：固定幅 → max-width */
		width: 100%;
		padding: 0 16px 120px; /* ★ SP余白対策 */
		margin: 0 auto;
		flex-direction: column;
		align-items: center;
		gap: 32px;
	}

	.sitemap_contents_box {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 64px;
		align-self: stretch;
	}

	.sitemap_contents_item {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 32px;
		align-self: stretch;
	}

	.sitemap_contents_item_title{
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
		align-self: stretch;
	}

	.sitemap_contents_item_title h2{
		font-size: 24px;
		font-style: normal;
		font-weight: 700;
		line-height: 160%;
	}

	.sitemap_contents_item_title h2 a {
		text-decoration: none;
		color: var(--text, #000);
		font-size: 24px;
		font-style: normal;
		font-weight: 700;
		line-height: 160%;
	}

	.sitemap_contents_item_title hr{
		height: 2px;
		align-self: stretch;
		background: #B0BFC8;
		width: 100%;
		border-style: hidden;
	}

	.sitemap_contents_item_details {
		display: flex;
		align-items: flex-start;
		gap: 32px;
		align-self: stretch;
		flex-wrap: wrap; /* ★ SPで折り返し */
	}

	.sitemap_contents_item_details a {
		text-decoration: none;
		color: var(--text, #000);

		font-family: "Noto Sans CJK JP";
		font-size: 16px;
		font-style: normal;
		font-weight: 400;
		line-height: 180%;

		min-width: 250px;
	}
}

/* ==========================
   SP対応（768px以下）
========================== */
@media screen and (max-width: 768px) {

	.sitemap_contents {
		padding: 0 16px 80px;
	}

	.sitemap_contents_box {
		gap: 48px;
	}

	.sitemap_contents_item {
		gap: 24px;
	}

	.sitemap_contents_item_title h2,
	.sitemap_contents_item_title h2 a {
		font-size: 20px;
	}

	.sitemap_contents_item_details {
		flex-direction: column; /* ★ 横並び → 縦並び */
		gap: 12px;
	}

	.sitemap_contents_item_details a {
		min-width: auto;        /* ★ 固定解除 */
		width: 100%;
	}
}