@charset "UTF-8";

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

.inline-icon-window {
	width: 1.6em;
	height: 1.6em;
	transform: translateY(-0.12em);
}

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

	&:hover {
		color: #0866FF;
	}
}

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

/* 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;
		}
	}
}

/* ordered-list */
.ordered-list {
	list-style-type: decimal;
	padding-left: 1.5em;

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

.ordered-list li::marker,
.ordered-list-ttl {
	font-weight: bold;
}

/* リスト:数字＋丸括弧 */
.list-num-parentheses>.list-item {
	list-style-type: none;
	counter-increment: number;
	padding-left: 1.5em;
	position: relative;
}

.list-num-parentheses>.list-item::before {
	content: counter(number) "）";
	position: absolute;
	left: 0;
	top: 0;
}

.list-num-parentheses>.list-item:not(:first-child) {
	margin-top: 1em;
}

/* 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;
	}

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

/* section */
.page-section {
	counter-reset: section-title-counter;
}

.section {
	margin-top: 4rem;
}

.section-title {
	margin-bottom: 0.8em;
	padding: 0.2em 0;
	font-size: 2.2rem;
	font-weight: bold;
	border-bottom: 1px dashed #959595;

	&.section-title-counter {
		counter-increment: section-title-counter;

		&::before {
			content: counter(section-title-counter) ".";
			margin-right: 0.25em;
		}
	}
}

.section-sub-title {
	margin-top: 2rem;
	font-weight: bold;
	font-size: 1.8rem;
}

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

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

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

/* charter */
.border-box {
	padding: 2rem 3.6%;
	border: 1px solid #D9D9D9;
}

.charter-title {
	margin-bottom: 0.2em;
	font-size: 1.6rem;
	text-align: center;
}

.charter-sub-title {
	margin-bottom: 1em;
	padding: 0.2em 0;
	font-size: 1.6rem;
	border-bottom: 1px dashed #959595;
}

.charter-sub-sub {
	padding: 0 0.5em;
}

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

@media (width >=1080px) {
	.charter-title {
		font-size: 2.4rem;
	}

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

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

/* organization */
.organization-img {
	max-width: 34rem;
}