@charset "utf-8";

/* ------------------------------
 サイトマップ（PC）
------------------------------ */
.cms_block.sitemap h2 a[target="_blank"]::after,
.cms_block.sitemap ul li p a[target="_blank"]::after,
 .cms_block.sitemap ul li a[target="_blank"]::after{
	content: "";
	display: inline-block;
	width: 14px;
    height: 14px;
	margin: -4px 0 0 5px;
	background: url(../img/icon_blank.svg) no-repeat center / cover;
    vertical-align: middle;
	transition: .3s ease-in-out;
}
.cms_block.sitemap ul + h2,
.cms_block.sitemap h2 + h2 {
	margin-top: 40px;
}
/* 第3階層以降 */
.sitemap > ul li {
	position: relative;
	display: flex;
}
.sitemap > ul > li,
.sitemap > ul > li > ul > li:not(:last-child) {
	margin-bottom: 20px;
	padding-bottom: 20px;
	border-bottom: var(--dotline);
}
/* Firefox */
@-moz-document url-prefix() {
	.sitemap > ul > li,
	.sitemap > ul > li > ul > li:not(:last-child) {
		border-bottom: var(--dotline-ff);
	}
}
/* 第3階層 */
.sitemap > ul > li {
	padding-left: 18px;
}
.sitemap > ul > li::before {
	content: "";
	position: absolute;
	top: .65em;
	left: 0;
	width: 12px;
	height: 12px;
	border-radius: 100%;
	background: url(../img/icon_list.png) no-repeat 0 0 / cover;
}
.sitemap > ul > li > p > a {
	font-size: 2rem;
	font-weight: 600;
}
/* 第4階層以降 */
.sitemap > ul > li > ul li {
	padding-left: 1em;
}
.sitemap > ul > li > ul li::before {
	content: "●";
	position: absolute;
	top: .6em;
	left: 0;
	color: var(--health-color);
	font-size: 60%;
	width: auto;
	height: auto;
	background: none;
}
/* 第4階層 */
.sitemap > ul > li > ul > li > p > a {
	font-weight: 600;
}
/* 第5階層 */
.sitemap > ul > li > ul > li > ul > li:not(:last-child) {
	margin-bottom: 5px;
}
.sitemap > ul > li > ul > li > ul > li::before {
	color: #d1dce5;
}
@media print, screen and (min-width: 768px) {
	/* 第3階層以降 */
	.sitemap ul li {
		justify-content: space-between;
	}
	.sitemap > ul > li:has(ul) > p,
	.sitemap > ul > li > ul > li > ul {
		width: 350px;
	}
	/* 第4階層 */
	.sitemap > ul > li > ul {
		width: 745px;
		padding-top: 2px;
	}
}
/* ------------------------------
 サイトマップ（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	/* 第3階層以降 */
	.sitemap ul li {
		flex-direction: column;
	}
	.sitemap > ul > li,
	.sitemap > ul > li > ul > li:not(:last-child) {
		padding-bottom: 10px;
		margin-bottom: 10px;
	}
	/* 第3階層 */
	.sitemap > ul > li::before {
		width: 9px;
		height: 9px;
		top: 11px;
	}
	.sitemap > ul > li > p > a {
		font-size: 1.7rem;
	}
	/* 第4階層以降 */
	.sitemap > ul > li ul {
		margin-top: 5px;
	}
}