@charset "UTF-8";
/* CSS Document */
/* ================================== */

/* TERMS */

/*
counter-reset ==>
decimal = 数字（初期値）
decimal-leading-zero = 0つき数字（例：01、02、03）
lower-roman = ローマ数字（小文字）（例：ⅰ、ⅱ、ⅲ）
upper-roman = ローマ数字（大文字）（例：Ⅰ、Ⅱ、Ⅲ）
lower-alpha = アルファベット（小文字）（例：a、b、c）
upper-alpha = アルファベット（大文字）（例：A、B、C）
cjk-ideographic = 漢数字（例：一、二、三）
hiragana = ひらがな（例：あ、い、う）
katakana = カタカナ（例：ア、イ、ウ）
katakana-iroha = イロハ順（例：イ、ロ、ハ）
*/
/* ================================== */
/* root */
:root {
	--terms-headline-size: var(--txt-lg);
	--terms-list-headline-size: var(--txt-md);
}
/* ======================
基礎設定 */
/* テキスト設定 */
.terms__headline {
	font-size: var(--terms-headline-size);
	font-weight: bold;
	line-height: 1.35;
	color: var(--color-bk-strong);
	text-align: justify;
}
.terms-list .terms__headline {
	font-size: var(--terms-list-headline-size);
}
.terms__txt {
	font-size: var(--txt-reg);
	line-height: 1.75;
	color: var(--color-bk);
	text-align: justify;
}
.terms-inner-list > li {
	line-height: 1.5;
	text-align: justify;
}
.terms__link {
	font-size: var(--txt-reg);
	color: var(--color-link);
	text-align: justify;
	text-decoration: underline;
}
/* ======================
マージン */
.terms-lead > * + .terms__txt {
	margin-top: 1.5em;
}
.terms-list {
	margin-top: 6em;
}
.terms-list__item + .terms-list__item {
	margin-top: 4em;
}
.terms-list__item > .terms__txt,
.terms-inner-list,
.terms-table {
	margin-top: 1em;
}
.terms-inner-list > li > .terms-inner-list {
	margin-top: .5em;
	margin-bottom: .5em;
}
/* ======================
連番設定 */
.terms-list {
	counter-reset: terms-headline;
}
.terms-list__item > .terms__headline {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;

	margin-bottom: .5em;
	padding-bottom: .5em;

	border-bottom: 1px solid var(--color-sub-line);

	list-style-type: decimal;
}
.terms-list__item > .terms__headline::before {
	text-align: right;

	content: "第 "counter(terms-headline)" 章";
	display: table-cell;

	min-width: 3.1em;
	padding-right: .5em;

	counter-increment: terms-headline;
}
/* ----------------
その他の連番 */
.terms-inner-list > li {
	display: table-row;

	margin: 0;
	padding: 0;

	list-style-type: decimal;
}
.terms-inner-list > li::before {
	text-align: right;

	display: table-cell;

	padding-right: .5em;
}
/* 数字 */
.terms-inner-list--number,
.terms-inner-list--number-brackets,
.terms-inner-list--number-half-brackets {
	counter-reset: terms-number;
}
.terms-inner-list--number > li::before {
	font-family: Arial, Helvetica, sans-serif;

	content: counter(terms-number) ".";

	counter-increment: terms-number;
}
/* 鉤括弧付き数字 */
.terms-inner-list--number-brackets > li::before {
	font-family: Arial, Helvetica, sans-serif;

	content: "(" counter(terms-number) ")";

	counter-increment: terms-number;
}
.terms-inner-list--number-half-brackets > li::before {
	font-family: Arial, Helvetica, sans-serif;

	content: counter(terms-number) ")";

	counter-increment: terms-number;
}
/* アルファベット */
.terms-inner-list--alphabet {
	counter-reset: terms-alphabet;
}
.terms-inner-list--alphabet > li::before {
	font-family: Arial, Helvetica, sans-serif;

	content: counter(terms-alphabet, lower-alpha)".";

	counter-increment: terms-alphabet;
}
/* ひらがな */
.terms-inner-list--hiragana {
	counter-reset: terms-hiragana;
}
.terms-inner-list--hiragana > li::before {
	content: counter(terms-hiragana, hiragana)"、";

	padding-right: 0;

	counter-increment: terms-hiragana;
}
/* カタカナ */
.terms-inner-list--katakana {
	counter-reset: terms-katakana;
}
.terms-inner-list--katakana > li::before {
	content: counter(terms-katakana, katakana)"、";

	padding-right: 0;

	counter-increment: terms-katakana;
}
/* いろは */
.terms-inner-list--hiragana-iroha {
	counter-reset: terms-hiragana-iroha;
}
.terms-inner-list--hiragana-iroha > li::before {
	content: counter(terms-hiragana-iroha, hiragana-iroha)"、";

	padding-right: 0;

	counter-increment: terms-hiragana-iroha;
}
/* イロハ */
.terms-inner-list--katakana-iroha {
	counter-reset: terms-katakana-iroha;
}
.terms-inner-list--katakana-iroha > li::before {
	content: counter(terms-katakana-iroha, katakana-iroha)"、";

	padding-right: 0;

	counter-increment: terms-katakana-iroha;
}
/* ======================
テーブル */
.terms-table {
	margin-top: 2em;

	border: 1px solid var(--color-sub-line);
}
.terms-table tr th,
.terms-table tr td {
	font-size: var(--txt-reg);
	font-weight: normal;
	vertical-align: top;

	padding: .5em min(5.5vw, 2em);
}
.terms-table tr:first-child th,
.terms-table tr:first-child td {
	padding-top: 1.5em;
}
.terms-table tr:last-child th,
.terms-table tr:last-child td {
	padding-bottom: 1.5em;
}
@media (max-width: 559px) {
	.terms-table {
		display: inline-block;

		padding: 1.5em min(5.5vw, 2em);
	}
	.terms-table tr {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
	}
	.terms-table tr th,
	.terms-table tr td {
		padding: 0;
	}
	.terms-table tr:first-child th,
	.terms-table tr:first-child td {
		padding-top: 0;
	}
	.terms-table tr:last-child th,
	.terms-table tr:last-child td {
		padding-bottom: 0;
	}
	.terms-table tr th {
		font-weight: bold;
	}
	.terms-table tr th + td {
		margin-top: .2em;
	}
	.terms-table tr + tr {
		margin-top: 1em;
	}
}