/* -----------------------------------------------
= page-title
----------------------------------------------- */
.page-title {
	height: 260px;
	color: var(--black);
}
.page-title .set {
	bottom: 60px;
}
.page-title img {
	height: 260px;
	border-radius: 0;
}
@media print, screen and (min-width: 768px) {/* PC */
.page-title {
	height: 400px;
}
.page-title .set {
	bottom: 104px;
}
.page-title img {
	height: 400px;
}
}/* @media */
/* -----------------------------------------------
= sitemap
----------------------------------------------- */
.sitemap {
	padding: 60px 30px 100px;
}
.sitemap .item + .item {
	margin-top: 60px;
}
.sitemap .item.no-sub {
	margin-top: 40px;
}
.sitemap .item h2,
.sitemap .item p {
	position: relative;
	margin-bottom: 10px;
	padding-left: 22px;
	font-size: calc(2.2rem / 1.6);
	font-weight: 600;
}
.sitemap .item h2::before,
.sitemap .item p::before {
	content: "";
	position: absolute;
	top: 6px;
	left: 0;
	width: 4px;
	height: 24px;
	background: var(--red);
}
.sitemap .item li {
	border-bottom: 1px solid var(--border-gray);
	font-size: calc(1.4rem / 1.6);
	line-height: calc(22 / 14);
}
.sitemap .item li a {
	padding: 20px 20px 20px 0;
}
.sitemap .item a {
	display: block;
	position: relative;
	padding-right: 20px;
}
.sitemap .item a::after {
	content: "";
	position: absolute;
	right: 0;
	border-top: 1px solid var(--red);
	border-right: 1px solid var(--red);
	transform: rotate(45deg);
}
.sitemap .item p a::after {
	top: 14px;
	width: 8px;
	height: 8px;
}
.sitemap .item li a::after {
	top: 28px;
	width: 6px;
	height: 6px;
}
@media print, screen and (min-width: 768px) {/* PC */
.sitemap {
	max-width: 1010px;
	margin-inline: auto;
	padding: 115px 20px 200px;
}
.sitemap .item + .item {
	margin-top: 70px;
}
.sitemap .item.no-sub {
	margin-top: 70px;
}
.sitemap .item h2,
.sitemap .item p {
	font-size: calc(2.4rem / 1.6);
}
.sitemap .item p {
	width: calc(1 / 3 * 100% - 45px);
}
.sitemap .item h2::before,
.sitemap .item p::before {
	top: 6px;
	width: 6px;
}
.sitemap .item ul {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0 32px;
}
.sitemap .item li {
	font-size: calc(1.5rem / 1.6);
	line-height: calc(22 / 15);
}
}/* @media */
@media print, screen and (min-width: 1050px) {
.sitemap .item li a {
	padding-right: 40px;
}
}/* @media */
@media (hover:hover) {
.sitemap a {
	transition: color .3s;
}
.sitemap a:hover {
	color: var(--red);
}
}/* @media */
