@charset "UTF-8";
/*-----------------------------------
    サイトマップ全体レイアウト (#sitemap_block)
-----------------------------------*/
#sitemap_block {
	padding: 6vw 0;
}

.sitemap_contents {
	max-width: 960px;
	margin: 0 auto;
}

.sitemap_group_list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 4vw 6vw;
}

/*-----------------------------------
    項目ブロック (.sitemap_group)
-----------------------------------*/
.sitemap_group_title {
	position: relative;
	padding-bottom: 16px;
	margin-bottom: 20px;
	font-family: var(--font-jp-serif);
	font-weight: 700;
	font-size: 22px;
	color: var(--c-text);
	border-bottom: 2px solid var(--c-brown);
}

.sitemap_group_title a {
	color: inherit;
}

.sitemap_link_list li:not(:first-child) {
	margin-top: 12px;
}

.sitemap_link_list a {
	position: relative;
	display: inline-block;
	padding-left: 1.2em;
	font-size: 1.4rem;
	line-height: 1.9em;
	color: var(--c-text);
}

.sitemap_link_list a::before {
	content: "・";
	position: absolute;
	left: 0;
}

.sitemap_link_list a:hover {
	color: var(--c-brown);
	text-decoration: underline;
}

.sitemap_sub_list {
	margin-top: 8px;
	margin-left: 1.2em;
}

.sitemap_sub_list li:not(:first-child) {
	margin-top: 8px;
}

.sitemap_sub_list a {
	font-size: 1.3rem;
}

/*-----------------------------------
    レスポンシブ: タブレット (max-width: 840px)
-----------------------------------*/
@media screen and (max-width: 840px) {
	.sitemap_group_title {
		font-size: 2rem;
	}
}

/*-----------------------------------
    レスポンシブ: スマートフォン (max-width: 640px)
-----------------------------------*/
@media screen and (max-width: 640px) {
	#sitemap_block {
		padding: 80px 0;
	}
	.sitemap_group_list {
		grid-template-columns: 1fr;
		gap: 8vw;
	}
	.sitemap_link_list {
		margin-top: 20px;
	}
	.sitemap_group_title {
		font-size: 1.8rem;
		margin-bottom: 10px;
	}

	.sitemap_link_list a,
	.sitemap_sub_list a {
		font-size: 1.3rem;
	}
}
