@charset "UTF-8";

:root {
	--margin-small: 2rem;
	--margin-medium: 4rem;
}

@media (width >=1080px) {
	:root {
		--margin-small: 4rem;
		--margin-medium: 8rem;
	}
}

.text-link {
	color: #0866FF;
	text-decoration: underline;
}

@media (hover:hover) and (pointer: fine) {
	.text-link:hover {
		color: #0866FF;
	}
}

/* reset */
main {
	font-weight: 400;

	a:hover {
		text-decoration: initial;
	}
}

/* utility */
@media (width >=480px) {
	.disp-xs {
		display: none;
	}
}

@media (width >=1080px) {
	.disp-s {
		display: none;
	}
}

@media (width < 1080px) {
	.disp-m {
		display: none;
	}
}

.mx-auto {
	margin-inline: auto;
}

.mt-s {
	margin-top: var(--margin-small);
}

.mt-m {
	margin-top: var(--margin-medium);
}

.max-il-l {
	max-inline-size: 86rem;
}

.mt-0-64em {
	margin-top: 0.64em;
}

.mt-0-8em {
	margin-top: 0.8em;
}

.mt-1em {
	margin-top: 1em;
}

.mt-1-6em {
	margin-top: 1.6em;
}

.mt-2em {
	margin-top: 2em;
}

.text-right {
	text-align: right;
}

.font-caption {
	font-size: 1.2rem;
}

.font-bold {
	font-weight: 700;
}

.text-center {
	text-align: center;
}

/* note-list */
.note-list {
	>li::before {
		content: "※";
		margin-right: 0.25em;
	}
}

.counter-note-list {
	counter-reset: note-counter;

	li {
		counter-increment: note-counter;
	}

	li::before {
		content: "※" counter(note-counter);
		margin-right: 0.25em;
	}
}

@media (width >=1080px) {

	.counter-note-list,
	.note-list {
		display: grid;
		grid-template-columns: max-content 1fr;
		gap: 0 0.5em;

		li {
			display: grid;
			grid-template-columns: subgrid;
			grid-column: 1 / -1;
		}

		li::before {
			grid-column: 1;
			margin-right: 0;
		}
	}
}

/* page */
.page-basic {
	padding-bottom: 4rem;
}

.page-header--padding {
	padding: 4rem 0;
}

.page-header__main-title {
	font-size: 2.2rem;
	font-weight: bold;
	text-align: center;
}

@media (width >=1080px) {
	.page-basic {
		padding-bottom: 10rem;
	}

	.page-header--padding {
		padding: 8rem 0 5rem;
	}

	.page-header__main-title {
		font-size: 3rem;
	}
}

/* section */
.section-title {
	padding: 0.5em 0;
	font-size: 1.8rem;
	font-weight: bold;
	border-bottom: 1px solid #959595;
}

.sitemap-anchor {
	display: inline-flex;
	gap: 0 0.5em;
	text-decoration: none;

	.ico-line-arrow {
		inline-size: 0.45em;
		block-size: 1lh;
		flex-shrink: 0;
	}
}

.section-sub-title {
	margin-bottom: 1em;
	font-size: 1.6rem;
	font-weight: bold;
}

@media (width >=768px) {
	.section-title {
		font-size: 2.2rem;
	}

	.section-sub-title {
		font-size: 1.8rem;
	}
}

@media (hover:hover) and (pointer: fine) {
	.sitemap-anchor:hover {
		color: var(--sharp-red);

		.ico-line-arrow {
			fill: var(--sharp-red);
		}
	}
}

/* sitemap */
.sitemap-item {
	&:not(:first-child) {
		margin-top: 4rem;
	}
}

.sitemap-list {
	font-size: 1.5rem;

	>li:not(:first-child) {
		margin-top: 0.6em;
	}
}

@media (width >=768px) {
	.sitemap {
		display: flex;
		flex-wrap: wrap;
		gap: 6rem 4%;
	}

	.sitemap-item {
		width: 48%;

		&:not(:first-child) {
			margin-top: 0;
		}
	}

	.sitemap-list {
		font-size: 1.6rem;
	}
}

@media (width >=1080px) {
	.sitemap {
		gap: 6rem 5%;
	}

	.sitemap-item {
		width: 30%;
	}
}