@charset "utf-8";


/*** 外部ファイル読込 ***/
@import "https://cdn.jsdelivr.net/npm/kiso.css@latest/kiso.css";
@import "fonts.css?date=20241123";



/*** 共通定義 ***/
/* 定数 */
:root {
	--font-main: "Open Sans", "M PLUS 1", "Noto Sans CJK JP", "Noto Sans JP";
	--font-bold: "Open Sans", "M PLUS 1", "Noto Sans CJK JP", "Noto Sans JP";
	--font-monospace: "M PLUS 1 Code", "Noto Sans Mono", "Noto Sans Mono CJK JP";
	--font-serif: "Noto Serif CJK JP", "Noto Serif JP";
	--font-math: "Computer Modern Serif", "NewComputerModernMath", "Latin Modern Math", "Noto Serif CJK JP", "Noto Serif JP";
	--font-weight-main: 350;
	--font-weight-bold: 700;
	--font-weight-thinner: 300;
	--font-size-main: 12pt;
	--font-size-small: 10pt;
	--font-size-large: 16pt;
	--font-size-huge: 32pt;
	--line-height-main: 15pt;
	--line-height-small: 12pt;
	--line-height-large: 18pt;
	--line-height-huge: 32pt;
	--color-main: black;
	--color-background: white;
	--color-background-pane: #EEF7FF;
	--color-primary: #609BFF;
	--color-secondary: #DEEEFF;
	--color-anchor: #0060FF;
	--color-info-title: #538135;
	--color-info-background: #E2F0D9;
	--color-notice-title: #BF9000;
	--color-notice-background: #FFF2CC;
	--color-warn-title: #953734;
	--color-warn-background: #F2DCDB;
	--color-remark-background: #E2F0D9;
	--color-table-border: #999999;
	--color-table-header-background: #EEEEEE;
	--color-table-header-background-secondary: #555555;
	--color-link-background: #F0F0F0;
	--color-link-banner: #A0A0A0;
	--color-link-mybanner: #E0E0E0;
	--color-res-info: #555555;
	--color-quote: #C0C0C0;
	--color-tooltipparent: #A2DDA6;
	--color-tooltip-background: rgba(34, 34, 34, 0.75);
	--color-tooltip-text: white;
	--color-grayout: #D0D0D0;
	--color-normalcolor: var(--color-main);
	--color-flag-border: #E0E0E0;
	--color-red: #FF0000;
	--color-green: #008000;
	--color-blue: #0000FF;
	--color-gray: #808080;
	--color-gray2: #555555;
}
@media all and (max-width:599px) {
	:root {
		--font-size-main: 11pt;
		--font-size-small: 9pt;
		--line-height-main: 13pt;
		--line-height-small: 11pt;
	}
}
@media (prefers-color-scheme: dark) {
	:root {
		--is-dark-mode: True;
		--color-main: white;
		--color-background: black;
		--color-background-pane: #000911;
		--color-primary: #003C9F;
		--color-secondary: #00142B;
		--color-anchor: #80AFFF;
		--color-info-title: #AFD394;
		--color-info-background: #253C17;
		--color-notice-title: #BF9000;
		--color-notice-background: #533F00;
		--color-warn-title: #D38381;
		--color-warn-background: #3D1816;
		--color-remark-background: #253C17;
		--color-table-border: #666666;
		--color-table-header-background: #222222;
		--color-table-header-background-secondary: #AAAAAA;
		--color-link-background: #0F0F0F;
		--color-link-banner: #5F5F5F;
		--color-link-mybanner: #1F1F1F;
		--color-res-info: #AAAAAA;
		--color-tooltipparent: #2E7C34;
		--color-tooltip-background: rgba(221, 221, 221, 0.85);
		--color-tooltip-text: black;
		--color-grayout: #2F2F2F;
		--color-flag-border: #303030;
		--color-red: #FF5555;
		--color-green: #00AA00;
		--color-blue: #5555FF;
		--color-gray: #808080;
		--color-gray2: #AAAAAA;
	}
}


/* 表示の調整 */
* {
	-webkit-text-size-adjust: 100%;
	max-height: 999999px;
	box-sizing: border-box;
}
@media all and (-webkit-min-device-pixel-ratio:0) and (min-resolution: .001dpcm) {
	body {
		-webkit-font-smoothing: antialiased;
	}
}


/* フォントと色 */
::selection {
	background-color: #3390FF;
	color: white;
}
:where(:lang(ja-Jpan)) { font-family: var(--font-main), sans-serif; }
:where(:lang(zh-Hans)) { font-family: "Open Sans", "Noto Sans CJK SC", "Noto Sans SC", "Noto Sans CJK TC", "Noto Sans TC", var(--font-main), sans-serif; }
:where(:lang(zh-Hant)) { font-family: "Open Sans", "Noto Sans CJK TC", "Noto Sans TC", "Noto Sans CJK SC", "Noto Sans SC", var(--font-main), sans-serif; }
:where(:lang(ko), :lang(ja-Kore)) { font-family: "Open Sans", "Nanum Gothic", var(--font-main), sans-serif; }
:where(:lang(ar):not(:lang(ar-Kana)), :lang(he):not(:lang(he-Kana))) { direction: rtl; unicode-bidi: bidi-override; text-align: right; }


/* 基準単位 */
html {
	font-size: var(--font-size-main);
}



/*** HTML要素毎の共通定義 ***/
/* 強い定義 */
b {
	font-weight: var(--font-weight-bold);
}
i {
	font-style: italic;
}


/* 一般 */
:where(p) {
	margin: 1rem 0.5rem;
}
:where(a) {
	color: var(--color-anchor);
	text-decoration: underline;
}
:where(a img) {
	border: 0;
}
:where(a.external) {
	padding-right: 0.7em;
	background: url(/icon/external.svg?date=20240605) no-repeat;
	background-position: right 0.1em top 50%;
	background-size: 0.5em;
}
:where(a.external_twitter) {
	padding-right: 0.72em;
	background: url(/icon/external_twitter.svg?date=20240605) no-repeat;
	background-position: right 0.1em top 50%;
	background-size: 0.6em;
}
@media (prefers-color-scheme: dark) {
	:where(a.external) {
		background-image: url(/icon/external_dark.svg?date=20240605);
	}
	:where(a.external_twitter) {
		background-image: url(/icon/external_twitter_dark.svg?date=20240605);
	}
}
:where(em) {
	font-family: var(--font-bold), sans-serif;
	font-weight: var(--font-weight-bold);
	font-style: normal;
}
:where(u) {
	text-decoration: underline;
}
:where(s, del, strike) {
	text-decoration: line-through;
}
:where(nobr) {
	white-space: nowrap;
}
:where(small) {
	font-size: var(--font-size-small);
	line-height: var(--line-height-small);
}
:where(sup) {
	font-size: 80%;
	line-height: 1em;
	position: relative;
	vertical-align: baseline;
	top: -1ex;
}
@media all and (max-width:599px) {
	:where(.sup) {
		top: -0.5ex;
	}
}
:where(sub) {
	font-size: 80%;
	line-height: 1em;
	position: relative;
	vertical-align: baseline;
	bottom: -0.5ex;
}
@media all and (max-width:599px) {
	:where(p) {
		margin: 1rem 0 1rem 0.3rem;
	}
	:where(p):not(.force) :where(br):not(.force),
	:where(dl):not(.force) :where(dt, dd):not(.force) > :where(br):not(.force) {
		display: none;
	}
}


/* 見出し */
:where(h1) {
	color: white;
	font-family: var(--font-serif), serif;
	font-weight: var(--font-weight-bold);
	font-size: 2rem;
	line-height: 1em;
	background-color: var(--color-primary);
	margin: 0 0 20px 0;
	padding: 3px 0 5px 5px;
	text-spacing-trim: trim-start;
}
:where(h1 small) {
	font-size: 1.2rem;
	font-weight: var(--font-weight-main);
}
:where(h2) {
	color: var(--color-main);
	font-family: var(--font-main), sans-serif;
	font-weight: var(--font-weight-main);
	font-size: 1.5rem;
	line-height: 1em;
	background-color: var(--color-secondary);
	border-top: none;
	border-right: none;
	border-left: solid 15px var(--color-primary);
	border-bottom: solid 2px var(--color-primary);
	margin: 25pt 0 12pt 0;
	padding: 7.5px 0 5px 7px;
	text-spacing-trim: trim-start;
}
:where(h2 small) {
	font-size: 1rem;
	margin-left: 0.5em;
}
:where(h3) {
	color: var(--color-main);
	font-family: var(--font-bold), sans-serif;
	font-weight: var(--font-weight-bold);
	font-size: 1.17rem;
	line-height: 1em;
	border-top: none;
	border-right: none;
	border-bottom: none;
	border-left: solid 8px var(--color-primary);
	margin: 1.2em 0 1em 0;
	padding: 8px 0 5px 7px;
	text-spacing-trim: trim-start;
}
:where(h3 small) {
	font-size: 0.9rem;
	margin-left: 0.5em;
}
:where(h4) {
	color: var(--color-main);
	font-family: var(--font-bold), sans-serif;
	font-weight: var(--font-weight-bold);
	font-size: 1.08rem;
	line-height: 1em;
	margin: 1.1em 0 1.1em 0.2em;
	padding: 2px;
	text-spacing-trim: trim-start;
}
:where(h1 + h2, h2 + h3) {
	margin-top: 0;
}
@media all and (max-width:599px) {
	:where(h1) {
		margin: 0 0 5px 0;
	}
	:where(h2) {
		font-size: 1.273rem;
		line-height: 1em;
		margin-block-end: 10px;
	}
	:where(h2 br ~ small) {
		margin-left: 0;
	}
	:where(h3) {
		padding: 6px 0 4px 7px;
	}
	:where(h4) {
		margin-left: 0.15rem;
	}
	:where(.toppage h1) {
		font-size: 24pt;
	}
}


/* 表 */
:where(table) {
	border-spacing: 0;
	border-collapse: collapse;
	margin-left: 0.75rem;
}
:where(table caption) {
	text-align: center;
}
:where(table th) {
	padding: 2px 6px;
	vertical-align: center;
	text-align: center;
	font-family: var(--font-bold), sans-serif;
	font-weight: var(--font-weight-bold);
}
:where(table td) {
	padding: 2px 6px;
	vertical-align: center;
	font-family: var(--font-main), sans-serif;
	font-weight: var(--font-weight-main);
}
:where(table.xytable) {
	border: solid 2px var(--color-table-border);
}
:where(table.xytable tr th) {
	background: var(--color-table-header-background);
}
:where(table.xytable tr :is(th, td)) {
	border: solid 1px var(--color-table-border);
}
:where(table.xytable:not(.xheader0):not(.xheader2):not(.xheader3)
                              tr:nth-child(1) :is(th, td),
       table.xytable.xheader2 tr:nth-child(1) :is(th, td)[rowspan="2"],
       table.xytable.xheader2 tr:nth-child(2) :is(th, td),
       table.xytable.xheader3 tr:nth-child(1) :is(th, td)[rowspan="3"],
       table.xytable.xheader3 tr:nth-child(2) :is(th, td)[rowspan="2"],
       table.xytable.xheader3 tr:nth-child(3) :is(th, td),
) {
	border-bottom-width: 2px;
}
:where(table.xytable:not(.yheader0):not(.yheader2):not(.yheader3)
                              tr :is(th, td):nth-child(1),
       table.xytable.yheader2 tr :is(th, td):nth-child(1)[colspan="2"],
       table.xytable.yheader2 tr :is(th, td):nth-child(2),
       table.xytable.yheader3 tr :is(th, td):nth-child(1)[colspan="3"],
       table.xytable.yheader3 tr :is(th, td):nth-child(2)[colspan="2"],
       table.xytable.yheader3 tr :is(th, td):nth-child(3),
) {
	border-right-width: 2px;
}
:where(table.xytable th.category, table.xytable tr.category th) {
	background: var(--color-table-header-background);
	color: var(--color-main);
	text-align: left;
	border-top-width: 2px;
	border-bottom-width: 2px;
}
:where(table.xytable tr.superheader th) {
	background: var(--color-table-header-background-secondary);
	color: var(--color-background);
}
:where(table.xytable tr.gap) {
	border-left-style: hidden;
	border-right-style: hidden;
	border-top-width: 2px;
	border-bottom-width: 2px;
	height: 5px;
}
:where(table.xytable tr.gap :is(th, td)) {
	border-left-style: hidden;
	border-right-style: hidden;
	border-top-width: 2px;
	border-bottom-width: 2px;
}
.allleft :is(th, td) {
	text-align: left;
}
.allcenter :is(th, td) {
	text-align: center;
}
.allmiddle :is(th, td) {
	vertical-align: middle;
}
:where(table.notecolumn tr td:last-child) {
	text-align: left;
}
:where(.allnobr :is(th, td)) {
	white-space: nowrap;
}
@media all and (max-width:599px) {
	:where(table) {
		margin-left: 5px;
	}
	:where(table.dltable, table.dltable tr, table.dltable :is(th, td)) {
		padding: 0;
		border: none;
		background: none;
		display: block;
		text-align: left;
		width: auto;
	}
	:where(table.dltable) {
		margin: 1ex 0 1ex 1em;
	}
	:where(table.dltable tr + tr) {
		margin-top: 1ex;
	}
	:where(table.dltable tr) :where(th, td):not(:first-child) {
		margin-left: 1em;
	}
}
.counter-reset {
	counter-reset: general-counter;
}
.counter::after {
	counter-increment: general-counter;
	content: counter(general-counter);
}


/* リスト */
:where(dl) {
	margin-left: calc(1rem + 0.5em);
}
:where(dl dt) {
	margin: 0.3em 0;
	font-family: var(--font-bold), sans-serif;
	font-weight: var(--font-weight-bold);
}
:where(dl dd) {
	margin: 0.2em 0 0.6em 2em;
}
:where(dl dd + dd) {
	margin-top: -0.2em;
}
:where(dl.horizontal) {
	display: grid;
	grid-template: auto / minmax(2em, max-content) 1fr;
}
:where(dl.horizontal > dt) {
	margin: 0 1em 0 0;
}
:where(dl.horizontal > dd) {
	margin: 0 0 0.3em 0;
}
:where(ul, ol, dl.bullet) {
	margin: 1rem 0;
	padding-left: 2.5em;
}
:where(ol) {
	list-style-type: decimal;
}
:where(ul, ol) > :where(li) {
	margin-bottom: 0.3em;
}
:where(ul) > :where(li),
:where(dl.bullet) > :where(dt) {
	list-style: none;
	position: relative;
}
:where(ul) > :where(li)::before,
:where(dl.bullet) > :where(dt)::before {
	content: '';
	display: inline-block;
	position: absolute;
	left: -1em;
	top: 0.475em;
	width: 0.3em;
	height: 0.3em;
	background-color: var(--color-main);
	border-radius: 100%;
}
:is(ul > li, dl.bullet > dt).varheight::before {
	top: 1em;
}
:where(ul, ol, dl) > :where(li, dd) > :where(ul, ol, dl) {
	margin-top: 5px;
	margin-bottom: 0;
	padding-left: 1.5em;
}
@media all and (max-width:599px) {
	:where(dl) {
		display: block;
		margin-left: 0.7em;
	}
	:where(dl > dt) {
		margin: 0.3em 0;
	}
	:where(dl > dt.dummy) {
		display: none;
	}
	:where(dl > dd) {
		margin: 0.2em 0 0.6em 1em;
	}
	:where(dl > dd + dd, dl > dd + dt.dummy + dd) {
		margin-top: -0.2em;
	}
	:where(ul, ol, dl.bullet) {
		padding-left: 2rem;
	}
	:where(dl.bullet > dd) {
		margin-left: 1.5em;
	}
	:where(ul) > :where(li)::before {
		left: -0.8em;
	}
}


/* 引用・強調 */
:where(blockquote, .blockemph) {
	display: block;
	margin: 1em 40px;
}
:where(blockquote.quote, blockquote.block) {
	border-left: solid 0.5rem var(--color-quote);
	min-height: 32px;
	overflow: visible;
	margin: 0 2rem;
	padding: 0.3rem 0 0.3rem 1rem;
}
:where(blockquote.quote) {
	background: url(common/quote.svgz?date=20240605) no-repeat;
}
:where(blockquote.quote, blockquote.block) :where(p, dl) {
	margin: 0.3rem 0 0.3rem 0.3rem;
}
@media all and (max-width:599px) {
	:where(blockquote, .blockemph) {
		margin: 1em 0 1em 2em;
	}
	:where(blockquote.quote, blockquote.block) {
		margin: 0 0 0 1em;
	}
	:where(blockquote.quote, blockquote.block) :where(p, dl) {
		margin-left: 0.2rem;
	}
}


/* 図等 */
:where(figure) {
	text-align: center;
	margin-left: 1em;
	margin-right: 0;
}
:where(figure figcaption) {
	text-align: center;
}
@media all and (max-width:599px) {
	:where(figure) {
		margin-left: 0.5em;
	}
}

/* ソースコード */
:where(pre.code) {
	border-left: solid 0.5rem var(--color-quote);
	margin: 0 1rem;
	padding: 3px 0 3px 10px;
}
:where(.code .comment) {
	color: chocolate;
}
:where(.code .keyword) {
	color: mediumorchid;
	font-weight: var(--font-weight-bold);
}
:where(.code .string) {
	color: darkmagenta;
}
:where(.code .class) {
	color: forestgreen;
}
:where(pre.output) {
	font-family: var(--font-monospace), monospace;
	background-color: silver;
	color: black;
	font-size: 0.833rem;
	padding: 10px;
	white-space: pre-wrap;
}


/* ルビ */
:where(ruby[data-ruby]) {
	position: relative;
	line-height: 1.583em;
	vertical-align: baseline;
}
:where(ruby[data-ruby])::before {
	content: attr(data-ruby);
	display: inline-block;
	position: absolute;
	font-size: 0.583em;
	letter-spacing: -0.1rem;
	padding-right: 0.1rem;
	top: -0.583em;
	left: 50%;
	transform: translate(-50%, 0);
	line-height: 1em;
	text-align: center;
	white-space: nowrap;
}
:where(ruby[data-ruby] rt) {
	display: none;
}
:where(h1, h2, h3, h4) :where(ruby[data-ruby]) {
	line-height: 1em;
}


/* ユーザ入力 */
:where(input[type=text], textarea) {
	background-color: var(--color-background);
	font-family: monospace;
}
:where(kbd.key) {
	font-family: var(--font-monospace), monospace;
	font-weight: var(--font-weight-main);
	font-size: 0.833rem;
	line-height: 1em;
	padding: 0 0.4em;
	border-radius: 0.5em;
	border: solid 1px #A0A0A0;
	background: #F0F0F0;
	color: black;
}



/*** ページ全体 ***/
/* 全体レイアウト */
body {
	display: grid;
	grid-template-rows: 0 1fr 0;	/* 将来用の予約 */
	grid-template-columns: 1fr calc(min(1024px, 100% - 400px)) 1fr;
	margin: 0;
	padding: 0;
	height: 100vh;
	overflow: hidden;
	color: var(--color-main);
	font-family: var(--font-main), sans-serif;
	font-weight: var(--font-weight-main);
	line-height: var(--line-height-main);
}
body:where(.nopaneview) {
	grid-template-columns: 0 1fr 0;
	height: auto;
	overflow: auto;
}
body:where(.onlyleftpane) {
	grid-template-columns: 1fr calc(min(50% + 512px, 100% - 200px)) 0;
}
body:where(.nopaneview) > aside {
	display: none;
}
body.onlyleftpane > aside#rightpane {
	display: none;
}
body > header {	/* 将来用の予約 */
	grid-row: 1 / 2;
	grid-column: 1 / 4;
	display: none;
}
body > footer {	/* 将来用の予約 */
	grid-row: 3 / 4;
	grid-column: 1 / 4;
	display: none;
}
body > aside {
	background-color: var(--color-background-pane);
	padding: 1.5rem 0.5rem 3rem 1rem;
}
body > aside#leftpane {
	grid-row: 2 / 3;
	grid-column: 1 / 2;
	height: 100%;
	overflow-y: auto;
	border-right: solid 1px var(--color-primary);
}
body > aside#rightpane {
	grid-row: 2 / 3;
	grid-column: 3 / 4;
	height: 100%;
	overflow-y: auto;
	border-left: solid 1px var(--color-primary);
}
body > aside h2 {
	background: none;
	border: none;
	margin: 0 0 1.5ex 0;
	padding: 0;
}
body > aside > :is(ul, dl) {
	margin-left: 0;
	padding-left: 0;
}
body > aside > ul > li {
	padding-bottom: 0.8ex;
}
body > aside > ul li::before {
	display: none;
}
body > aside > ul ul {
	padding-left: 1em;
}
body > aside > dl dd {
	margin-left: 0;
}
body > main {
	grid-row: 2 / 3;
	grid-column: 2 / 3;
	height: 100%;
	overflow-y: auto;
	background: var(--color-background);
	margin: 0;
	padding: 20px 15px 50px 15px;
}
@media all and (min-width:1000px) {
	body:not(.nopaneview) .only_nopane {
		display: none;
	}
}
@media all and (max-width:999px) {
	body {
		grid-template-columns: 0 1fr 0;
		height: auto;
		overflow: auto;
	}
	body > aside {
		display: none;
	}
	body > main {
		padding: 20px 10px 50px 10px;
	}
}


/* スマートフォン用 */
@media all and (min-width:600px) {
	:where(.onlysp) {
		display: none;
	}
}
@media all and (max-width:599px) {
	:where(.onlypc) {
		display: none;
	}
	body > main {
		padding: 5px 5px 50px 5px;
	}
}


/* ライトモードとダークモード */
@media (prefers-color-scheme: light) {
	:where(.onlydk) {
		display: none;
	}
}
@media (prefers-color-scheme: dark) {
	:where(.onlylt) {
		display: none;
	}
}


/* 読込中 https://projects.lukehaas.me/css-loaders/ */
div#loader {
	position: fixed;
	left: 0px;
	top: 0px;
	width: 100vw;
	height: 100vh;
	z-index: 100;
	background-color: rgba(224, 224, 224, 0.1);
}
div#loader #loader_inner,
div#loader #loader_inner::after {
	border-radius: 50%;
	width: 10em;
	height: 10em;
	z-index: 101;
}
div#loader #loader_inner {
	margin: 0;
	font-size: 10px;
	position: fixed;
	left: calc(50vw - 6.5em);
	top: calc(50vh - 6.5em);
	text-indent: -9999em;
	border-top: solid 1.5em rgba(96, 155, 255, 0.2);
	border-right: solid 1.5em rgba(96, 155, 255, 0.2);
	border-bottom: solid 1.5em rgba(96, 155, 255, 0.2);
	border-left: solid 1.5em var(--color-primary);
	-webkit-transform: translateZ(0);
	-ms-transform: translateZ(0);
	transform: translateZ(0);
	-webkit-animation: loader_load8 1.1s infinite linear;
	animation: loader_load8 1.1s infinite linear;
}
@-webkit-keyframes loader_load8 {
	0% {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
	}
	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}
@keyframes loader_load8 {
	0% {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
	}
	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}



/*** 記事構成要素 ***/
/* フッタ */
:where(main footer) {
	margin: 2rem 0 -10px 0.5rem;
	clear: both;
}
:where(main footer .edit) {
	display: block;
	color: var(--color-blue);
	font-size: 0.75rem;
	margin: 1em 0;
}
:where(main footer ul) {
	list-style: none;
	margin: 0;
	padding: 0;
}
:where(main footer ul li)::before {
	content: none;
	margin: 0;
}


/* パンくずリスト */
:where(nav.breadcrumbs) {
	background-color: var(--color-secondary);
	border-bottom: solid 1px var(--color-primary);
	padding: 3px 0 3px 10px;
	margin: 0 0 1ex 0;
	font-size: 0px;
}
:where(nav.breadcrumbs ol) {
	margin: 1px 0;
	padding: 0;
	list-style-type: none;
}
:where(nav.breadcrumbs ol > li) {
	display: inline-block;
	vertical-align: bottom;
	margin: 0;
	padding: 0;
	font-size: 0.833rem;
}
:where(nav.breadcrumbs ol > li)::before {
	content: '>';
	margin: 0;
	padding: 0 0.5em;
	font-family: var(--font-main), sans-serif;
	font-weight: var(--font-weight-main);
}
:where(nav.breadcrumbs ol > li:first-child)::before {
	content: '';
	margin: 0;
	padding: 0;
}
:where(nav.breadcrumbs ol > li:last-child) {
	font-family: var(--font-bold), sans-serif;
	font-weight: var(--font-weight-bold);
}
:where(nav.breadcrumbs ol > li a) {
	text-decoration: none;
}
:where(nav.breadcrumbs ol > li a.external) {
	padding-right: 0;
	background: none;
}
:where(h1) + :where(nav.breadcrumbs) {
	margin-top: -10px;
}
:where(nav.breadcrumbs) + :where(h2, table) {
	argin-top: 1.667rem;
}
@media all and (max-width:599px) {
	:where(nav.breadcrumbs) {
		padding: 2px 0 2px 8px;
	}
	:where(h1) + :where(nav.breadcrumbs) {
		margin-top: 0;
	}
	:where(nav.breadcrumbs) + :where(h2, table) {
		margin-top: 15px;
	}
}


/* 前頁・次頁 */
:where(nav.prevnext) {
	background-color: var(--color-secondary);
	border-top: solid 1px var(--color-primary);
	border-bottom: solid 1px var(--color-primary);
	padding: 3px 5px;
	margin: 2ex 0;
}
:where(nav.prevnext ol) {
	display: grid;
	grid-template: auto / 1fr 1fr 1fr;
	margin: 1px 0;
	padding: 0;
	list-style-type: none;
	font-size: 0.833rem;
}
:where(nav.prevnext ol > li) {
	vertical-align: bottom;
	margin: 0;
	padding: 0;
}
:where(nav.prevnext ol > li:nth-child(1)) {
	text-align: left;
}
:where(nav.prevnext ol > li:nth-child(2)) {
	text-align: center;
	font-family: var(--font-bold), sans-serif;
	font-weight: var(--font-weight-bold);
}
:where(nav.prevnext ol > li:nth-child(3)) {
	text-align: right;
}


/* 脚注・参考文献 */
:where(.annot) {
	position: relative;
	vertical-align: baseline;
	font-size: 0.667em;
	line-height: 1em;
	bottom: 1.2ex;
	text-decoration: none;
	margin: 0 3px 0 0;
	white-space: nowrap;
}
:where(dl.footnote) {
	display: grid;
	grid-template: auto / max-content 1fr;
	margin: 1rem 0 0 0.5rem;
	font-size: 0.833rem;
}
:where(dl.footnote dt) {
	margin: 0 0.5em 0 0;
	font-family: var(--font-main), sans-serif;
	font-weight: var(--font-weight-main);
}
:where(dl.footnote dt a) {
	text-decoration: none;
}
:where(dl.footnote dd) {
	margin: 0 0 0.2em 0;
}


/* 注意書き */
:where(p.info, p.notice, p.warn, p.apology) {
	position: relative;
	padding: 2.4rem 1em 0.8rem 2.5em;
	font-size: 1rem;
}
:where(p.info, p.notice, p.warn, p.apology)::before {
	font-family: var(--font-bold), sans-serif;
	font-weight: var(--font-weight-bold);
	font-size: 1.083rem;
	position: absolute;
	top: 10px;
	left: 20px;
}
:where(p.info)            { background: var(--color-info-background); }
:where(p.info)::before    { content: 'お知らせ'; color: var(--color-info-title); }
:where(p.notice)          { background: var(--color-notice-background); }
:where(p.notice)::before  { content: '注意';     color: var(--color-notice-title); }
:where(p.warn)            { background: var(--color-warn-background); }
:where(p.warn)::before    { content: '警告';     color: var(--color-warn-title); }
:where(p.apology)         { background: var(--color-warn-background); }
:where(p.apology)::before { content: 'お詫び';   color: var(--color-warn-title); }
@media all and (max-width:599px) {
	:where(p.info, p.notice, p.warn, p.apology) {
		padding: 28px 10px 6px 20px;
	}
	:where(p.info, p.notice, p.warn, p.apology)::before {
		top: 6px;
		left: 10px;
	}
}



/*** 汎用クラス ***/
:where(.scrollx) {
	width: 100%;
	overflow-x: auto;
}
:where(.normal) {
	font-family: var(--font-main), sans-serif;
	font-weight: var(--font-weight-main);
}
:where(.bold) {
	font-family: var(--font-bold), sans-serif;
}
.bold, .bold * {
	font-weight: var(--font-weight-bold);
}
:where(.notbold) {
	font-family: var(--font-main), sans-serif;
}
.notbold, .notbold * {
	font-weight: var(--font-weight-normal);
}
:where(.latin-emph) {
	font-family: "Crimson Text";
	font-style: italic;
	font-size: 1.2em;
}
:where(.serif) {
	font-family: var(--font-serif), serif;
	font-weight: var(--font-weight-thinner);
}
:where(.ipa) {
	font-family: "Charis SIL", serif;
}
:where(.monospace) {
	font-family: var(--font-monospace), monospace;
}
:where(.code) {
	font-family: var(--font-monospace), monospace;
	font-size: 0.833rem;
}
:where(.nobr) {
	white-space: nowrap;
}
:where(.wbr) {
	white-space: normal;
}
.left {
	text-align: left;
}
.center {
	text-align: center;
}
.right {
	text-align: right;
}
:where(.strike) {
	text-decoration: line-through;
}
:where(.normalcolor) {
	color: var(--color-normalcolor);
}
:where(.red) {
	color: var(--color-red);
}
:where(.green) {
	color: var(--color-green);
}
:where(.blue) {
	color: var(--color-blue);
}
:where(.gray) {
	color: var(--color-gray);
}
:where(.smallcaps) {
	font-variant: small-caps;
}
:where(.grayout) {
	background-color: var(--color-grayout);
}
:where(.normalsize) {
	font-size: var(--font-size-main);
	line-height: var(--line-height-main);
}
:where(.small) {
	font-size: var(--font-size-small);
	line-height: var(--line-height-small);
}
:where(.large) {
	font-size: var(--font-size-large);
	line-height: var(--line-height-large);
}
:where(.huge) {
	font-size: var(--font-size-huge);
	line-height: var(--line-height-huge);
}
@media all and (max-width:599px) {
	:where(.spbr) {
		visibility: collapse;
		display: block;
		line-height: 0;
		margin: 0;
		padding: 0;
		overflow: hidden;
	}
}



/*** 個別要素 ***/
/* スクリーンリーダ等への対応 */
.alttext {
	position: absolute;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	width: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
}


/* ツールチップ */
.tooltipparent {
	position: relative;
	text-decoration: none;
	background: linear-gradient(transparent 75%, var(--color-tooltipparent) 75%, var(--color-tooltipparent) 90%, transparent 90%);
}
.tooltipparent .tooltip {
	display: none;
}
.tooltipparent:hover .tooltip {
	display: block;
	position: absolute;
	top: 1.8em;
	left: 0.3em;
	padding: 0.225em 0.6em;
	background: var(--color-tooltip-background);
	color: var(--color-tooltip-text);
	text-align: left;
	font-size: 0.833rem;
	font-family: var(--font-main), sans-serif;
	font-weight: var(--font-weight-main);
	white-space: nowrap;
	z-index: 10;
}
.tooltipparent:hover .tooltip::before {
	content: '';
	display: block;
	position: absolute;
	height: 0;
	width: 0;
	top: -0.4em;
	left: 0.75em;
	border: solid 0.5em transparent;
	border-top-width: 0;
	border-bottom-color: var(--color-tooltip-background);
	z-index: 9;
}


/* 樹形図 */
ul.tree {
	margin: 0 0 0 1em;
	padding: 0;
	line-height: 1.5em;
	list-style: none;
}
ul.tree ul {
	margin: 0;
	padding: 0;
	line-height: 1.5em;
	list-style: none;
}
ul.tree ul li {
	margin: 0 0 0 0.5em;
	padding: 0 0 0 1.1em;
	border-left: solid 1px var(--color-table-border);
}
ul.tree li::before {
	content: none;
	margin: 0;
}
ul.tree ul li::before {
	content: '';
	position: absolute;
	top: 0;
	left: -1px;
	margin: 0 0.5em 0 0;
	border-left: solid 1px var(--color-table-border);
	border-bottom: solid 1px var(--color-table-border);
	float: left;
	width: 1em;
	height: 0.75em;
	background-color: var(--color-background);
	border-radius: 0;
}
ul.tree ul li:last-child {
	border: none;
	padding-bottom: 0.8ex;
}
ul.tree ul li:last-child::before {
	left: 0;
}
ul.tree ul li ul {
	margin: 0 0 0 1.5em;
}
ul.tree + h2 { margin-top: 10pt; }
ul.tree + p { margin-top: 0; }

.tree_label {
	color: var(--color-table-border);
	cursor: pointer;
}
ul.tree input + label {
	font-size: 9pt;
	line-height: 9pt;
	color: var(--color-table-border);
	cursor: pointer;
}
ul.tree input + label + ul li {
	display: block;
	transition:
		height .3s ease,
		line-height .3s ease,
		margin-top .3s ease,
		margin-bottom .3s ease,
		padding-top .3s ease,
		padding-bottom .3s ease,
		border .3s ease,
		opacity .5s ease;
}
ul.tree input + label .expand { display: none; }
ul.tree input + label .contract { display: inline; }
ul.tree input:checked + label + ul li {
	height: 0;
	line-height: 0;
	margin-top: 0;
	margin-bottom: 0;
	padding-top: 0;
	padding-bottom: 0;
	border: none;
	visiblity: false;
	overflow: hidden;
	opacity: 0;
	transition:
		height .3s ease,
		line-height .3s ease,
		margin-top .3s ease,
		margin-bottom .3s ease,
		padding-top .3s ease,
		padding-bottom .3s ease,
		border .3s ease,
		opacity .1s ease;
}
ul.tree input:checked + label .expand { display: inline; }
ul.tree input:checked + label .contract { display: none; }


/* 数式 */
:where(.math, .chemistry) {
	font-family: var(--font-math), serif;
	text-shadow: 0px 0px 1px rgba(0, 0, 0, 0.3);
	font-size: 110%;
	line-height: 1.06em;
	font-weight: var(--font-weight-main);
	overflow: visible;
}
:where(.math, .chemistry) :where(th, td) {
	font-family: var(--font-math), serif;
	text-shadow: 0px 0px 1px rgba(0, 0, 0, 0.3);
	line-height: 1.06em;
	font-weight: var(--font-weight-main);
	overflow: visible;
}
:where(.align) {
	font-family: var(--font-math), serif;
	text-shadow: 0px 0px 1px rgba(0, 0, 0, 0.3);
	font-size: 110%;
	line-height: 1.36em;
	font-weight: var(--font-weight-main);
	display: block;
	position: relative;
	margin: 0.3em 0 0.4em 2em;
}
@media all and (max-width:599px) {
	:where(.align) {
		margin-left: 1em;
	}
}
:where(table.math) {
	margin: 0.3em 0 0.4em 2em;
}
:where(table.aligntable td) {
	padding: 0.75ex 0;
	vertical-align: middle;
}
:where(table.aligntable td:nth-child(1)) {
	text-align: right;
}
:where(table.aligntable td:nth-child(2n)) {
	text-align: center;
	padding-left: 0.35em;
	padding-right: 0.35em;
}
:where(table.aligntable td:nth-child(2n+1):not(:first-child)) {
	text-align: left;
}
:where(.align .tag) {
	float: right;
	margin-right: 0.5em;
}
:where(.math, .chemistry, .align):where(.red),
:where(.math, .chemistry, .align) :where(.red),
:where(.red) :where(.math, .chemistry, .align) {
	text-shadow: 0px 0px 1px rgba(255, 0, 0, 0.3);
}
:where(.math, .chemistry, .align):where(.blue),
:where(.math, .chemistry, .align) :where(.blue),
:where(.red) :where(.math, .chemistry, .align) {
	text-shadow: 0px 0px 1px rgba(0, 0, 255, 0.3);
}
:where(.math, .chemistry, .align):where(.normalsize),
:where(.math, .chemistry, .align) :where(.normalsize),
:where(.normalsize) :where(.math, .chemistry, .align) {
	font-size: 1.1rem;
}
:where(.math, .chemistry, .align) :where(sub, sup, .sub, .sup) {
	font-size: 70%;
}
:where(.math, .chemistry, .align) :where(sup, .sup) {
	top: -1.5ex;
}
.sqrt {
	display: inline-block;
	position: relative;
	border-top: solid 0.07em currentColor;
	margin-left: 0.9em;
}
.sqrt::before {
	content: '';
	position: absolute;
	top: -0.07em;
	left: -0.85em;
	width: 0.9em;
	height: 1.1em;
	background-image: url('/math/sqrt.svg?date=20240605');
	background-repeat: no-repeat;
	background-size: contain;
}
@media (prefers-color-scheme: dark) {
	.sqrt::before { background-image: url('/math/sqrt_dark.svg?date=20240605'); }
}
.sqrt .nth {
	position: absolute;
	left: -10pt;
	font-size: 70%;
	line-height: 0.4em;
}
.vec {
	display: inline-block;
	position: relative;
	line-height: 1em;
	vertical-align: baseline;
}
.vec::before {
	content: '→';
	display: inline-block;
	position: absolute;
	top: 1pt;
	left: 50%;
	transform: translate(-50%, -90%);
	font-size: 0.6em;
	line-height: 1em;
	text-align: center;
	white-space: nowrap;
}
:is(.fraction, .atop) {
	display: inline-block;
	position: relative;
	text-align: center;
	vertical-align: middle;
}
:is(.fraction, .atop) > :is(.numerator, .denominator) {
	text-align: center;
	white-space: nowrap;
	padding: 0 2px;
	display: block;
}
:is(.fraction, .atop) > .numerator {
	margin: 1px 0 3px 0;
}
.fraction > .numerator {
	border-bottom: solid 1px currentColor;
}
:is(.math, .align):is(.fraction, .atop) > .numerator,
:is(.math, .align) :is(.fraction, .atop) > .numerator {
	margin-bottom: 0px;
}
:is(.math, .align):is(.fraction, .atop) > .denominator,
:is(.math, .align) :is(.fraction, .atop) > .denominator {
	margin-top: -1px;
	margin-bottom: 2px;
}
.inline_fraction {
	display: inline-block;
	position: relative;
	text-align: center;
}
.inline_fraction > .numerator {
	display: inline-block;
	position: relative;
	font-size: 70%;
	line-height: 100%;
	vertical-align: top;
}
.inline_fraction > .numerator::after {
	content: '/';
	position: absolute;
	font-size: 143%;
	line-height: 100%;
	vertical-align: baseline;
	right: -0.3em;
}
.inline_fraction > .denominator {
	position: relative;
	font-size: 70%;
	line-height: 100%;
	margin-left: 0.15em;
	bottom: -1px;
}
.mathop {
	display: inline-block;
	position: relative;
	vertical-align: middle;
	text-align: center;
	font-size: 1.5em;
	line-height: 1.1em;
	top: -0.2em;
}
.mathop sub {
	display: block;
	text-align: center;
	white-space: nowrap;
	position: absolute;
	width: 5em;
	left: calc(50% - 2.5em);
	font-size: 0.5em;
	line-height: 2em;
	top: 2em;
	vertical-align: bottom;
}
.mathop sup {
	display: block;
	text-align: center;
	white-space: nowrap;
	position: absolute;
	width: 5em;
	left: calc(50% - 2.5em);
	font-size: 0.5em;
	line-height: 2em;
	top: -1em;
	vertical-align: bottom;
}
.paren {
	display: inline-block;
	position: relative;
	max-width: 100%;
	box-sizing: border-box;
	padding: 0 0.5em;
}
.paren::before, .paren::after {
	content: '';
	position: absolute;
	top: 0;
	width: 1em;
	height: 100%;
	box-sizing: border-box;
}
.paren::before {
	left: 0;
	border-top-left-radius: 50%;
	border-bottom-left-radius: 50%;
	border-left: solid 0.15em var(--color-main);
}
.paren::after {
	right: 0;
	border-top-right-radius: 50%;
	border-bottom-right-radius: 50%;
	border-right: solid 0.15em var(--color-main);
}
:is(.bracket, .mathfloor, .mathceil) {
	position: relative;
	display: inline-block;
	padding: 0 calc(0.3em + 2px);
}
:is(.bracket, .mathfloor, .mathceil)::before, :is(.bracket, .mathfloor, .mathceil)::after {
	content: '';
	width: 0.3em;
	height: 100%;
	position: absolute;
}
:is(.bracket, .mathfloor, .mathceil)::before {
	margin-left: 2px;
	border-left: solid 2px var(--color-main);
	left: 0;
}
:is(.bracket, .mathfloor, .mathceil)::after {
	margin-right: 2px;
	border-right: solid 2px var(--color-main);
	right: 0;
}
:is(.bracket, .mathfloor)::before, :is(.bracket, .mathfloor)::after {
	border-bottom: solid 1px var(--color-main);
}
:is(.bracket, .mathceil)::before, :is(.bracket, .mathceil)::after {
	border-top: solid 1px var(--color-main);
}
.mbox {
	font-family: var(--font-main), sans-serif;
	font-weight: var(--font-weight-main);
	font-size: var(--font-size-main);
	line-height: var(--line-height-main);
	background: var(--color-background);
	margin: 20px 10px 50px 10px;
	text-shadow: none;
}
.mathtext {
	font-family: var(--font-main), sans-serif;
	font-weight: var(--font-weight-main);
	font-size: var(--font-size-main);
	line-height: var(--line-height-main);
	text-shadow: none;
}
:is(.mathtext.bold, .mathtext .bold, .bold .mathtext) {
	font-family: var(--font-bold), sans-serif;
	font-weight: var(--font-weight-bold);
}
.remark {
	background: var(--color-remark-background);
	padding: 10px 20px 10px 20px;
	margin-left: 2em;
	margin-right: 2em;
	position: relative;
	left: 0;
	top: 0;
}


/* table による波括弧 */
td.brace-open-top,
td.brace-open-middle,
td.brace-open-straight,
td.brace-open-bottom {
	position: relative;
	padding-right: 1em;
}
td.brace-close-top,
td.brace-close-middle,
td.brace-close-straight,
td.brace-close-bottom {
	position: relative;
	padding-left: 1em;
}
td.brace-open-top::before,
td.brace-open-middle::before,
td.brace-open-middle::after,
td.brace-open-straight::before,
td.brace-open-bottom::after,
td.brace-close-top::before,
td.brace-close-middle::before,
td.brace-close-middle::after,
td.brace-close-straight::before,
td.brace-close-bottom::after {
	content: '';
	position: absolute;
	display: inline-block;
	width: 0.5em;
}
td.brace-open-top::before {
	height: 80%;
	right: 0;
	bottom: -1px;
	border-top: solid 0.5px currentColor;
	border-left: solid 3px currentColor;
	border-top-left-radius: 0.5em;
}
td.brace-open-bottom::after {
	height: 80%;
	right: 0;
	top: -1px;
	border-bottom: solid 0.5px currentColor;
	border-left: solid 3px currentColor;
	border-bottom-left-radius: 0.5em;
}
td.brace-open-middle::before {
	height: calc(50% + 1px);
	right: calc(0.5em - 3px);
	bottom: 50%;
	border-bottom: solid 0.5px currentColor;
	border-right: solid 3px currentColor;
	border-bottom-right-radius: 0.5em;
}
td.brace-open-middle::after {
	height: calc(50% + 1px);
	right: calc(0.5em - 3px);
	top: calc(50% - 0.5px);
	border-top: solid 0.5px currentColor;
	border-right: solid 3px currentColor;
	border-top-right-radius: 0.5em;
}
td.brace-open-straight::before {
	height: calc(100% + 2px);
	right: 0;
	top: -1px;
	border-left: solid 3px currentColor;
}
td.brace-close-top::before {
	height: 80%;
	left: 0;
	bottom: -1px;
	border-top: solid 0.5px currentColor;
	border-right: solid 3px currentColor;
	border-top-right-radius: 0.5em;
}
td.brace-close-bottom::after {
	height: 80%;
	left: 0;
	top: -1px;
	border-bottom: solid 0.5px currentColor;
	border-right: solid 3px currentColor;
	border-bottom-right-radius: 0.5em;
}
td.brace-close-middle::before {
	height: calc(50% + 1px);
	left: calc(0.5em - 3px);
	bottom: 50%;
	border-bottom: solid 0.5px currentColor;
	border-left: solid 3px currentColor;
	border-bottom-left-radius: 0.5em;
}
td.brace-close-middle::after {
	height: calc(50% + 1px);
	left: calc(0.5em - 3px);
	top: calc(50% - 0.5px);
	border-top: solid 0.5px currentColor;
	border-left: solid 3px currentColor;
	border-top-left-radius: 0.5em;
}
td.brace-close-straight::before {
	height: calc(100% + 2px);
	left: 0;
	top: -1px;
	border-right: solid 3px currentColor;
}


/* 国旗アイコン */
.flagicon {
	border: solid 1px var(--color-flag-border);
	background-color: var(--color-flag-border);
	margin: 0 1px 0 1px;
	vertical-align: -3px;
}


/* <object> でSVG画像を読み込むときのラッパ */
.object_img {
	display: inline-block;
}
.object_img > object {
	pointer-events: none;
}


/* ピッチアクセント */
.pitchaccent {
	display: inline-block;
	position: relative;
	white-space: nowrap;
	margin: 0 calc(1em * tan(20deg));
}
.pitchaccent::before, .pitchaccent::after {
	content: '';
	display: inline-block;
	position: absolute;
	bottom: 0;
	width: 0;
	height: calc(1em / cos(20deg));
	border-right: solid 1px currentColor;
	transform-origin: top right;
}
.pitchaccent::before {
	transform: rotate(20deg);
}
.pitchaccent::after {
	transform: translate(calc(1em * tan(20deg) - 1px), 0) rotate(20deg);
}
.pitchaccent .fall, .pitchaccent .flat {
	border-style: solid;
	border-width: 1px 1px 0 0;
	border-image-source: linear-gradient(to bottom, currentColor 0%, currentColor 40%, transparent 40%, transparent 100%);
	margin-right: 0.5px;
	padding-right: 0.5px;
}
.pitchaccent .fall {
	border-image-slice: 1 1 0 0;
}
.pitchaccent .flat {
	border-image-slice: 1 0 0 0;
}
.pitchacctype {
	display: inline-block;
	font-size: 0.8em;
	width: 1.2em;
	height: 1.2em;
	text-align: center;
	vertical-align: baseline;
	line-height: 1em;
	margin: 0 0.025em;
	border: solid 1px currentColor;
	border-radius: 25%;
	transform: translateY(-0.12em);
}



/*** 特定ページの要素 ***/
/* 法令 */
dl.law {
	margin: 0.5em 0 0.5em 0.5em;
}
dl.law dt {
	margin: 0.5em 0 0.1em 0;
}
dl.law dd {
	margin: 0 0 0.2em 2em;
}
dl.law dd b {
	margin-right: 0.2em;
}
dl.law dd dl.law {
	display: grid;
	grid-template: auto / minmax(1em, max-content) 1fr;
	margin: 0.2em 0;
}
dl.law dd dl.law dt {
	margin: 0 0.5em 0 0;
}
dl.law dd dl.law dd {
	margin-left: 0;
}
dl.law blockquote {
	margin-left: 4em;
	margin-right: 0;
	font-size: var(--font-size-small);
}
@media all and (max-width:599px) {
	dl.law dd {
		margin-left: 1em;
	}
	dl.law blockquote {
		margin-left: 1em;
	}
}


/* 更新履歴 */
table.history {
	margin-left: 0.5em;
}
table.history th {
	font-family: var(--font-main),sans-serif;
	font-weight: var(--font-weight-main);
	font-size: 10pt;
	vertical-align: top;
	text-align: right;
	white-space: nowrap;
}
table.history td {
	font-size: 10pt;
	vertical-align: top;
}


/* 訪問マップ */
.visit_container {
	margin: 1em 0 1em 10px;
}
.visit_horizontal {
	display: flex;
	flex-diretion: row;
	align-items: center;
	width: 100%;
	max-width: 965px;
}
.visit_figure {
	flex: 450;
	vertical-align: middle;
	padding: 0 15px 0 0;
}
.visit_list {
	flex: 500;
	vertical-align: middle;
	font-size: 10pt;
}
.visit_list .score_total {
	text-align: center;
	padding: 0 0 15px 0;
	white-space: nowrap;
}
.visit_list .header {
	box-sizing: border-box;
	border-left: 40px solid black;
	border-bottom: 2px solid black;
	min-height: 23px;
	white-space: normal;
}
.visit_list .header .left {
	box-sizing: border-box;
	display: inline-block;
	width: 30%;
	height: 100%;
	line-height: 100%;
	text-align: left;
	white-space: nowrap;
	margin: 0;
	padding-left: 5px;
}
.visit_list .header .right {
	box-sizing: border-box;
	display: inline-block;
	width: 70%;
	height: 100%;
	line-height: 100%;
	text-align: right;
	white-space: nowrap;
	margin: 0;
	padding-right: 5px;
}
.visit_list .items {
	box-sizing: border-box;
	display: inline-block;
	width: 100%;
	margin: 0;
	padding: 2px 3px 15px 3px;
	white-space: normal;
}
.visit_list .visit5 .header { border-color: #E87AFD; }
.visit_list .visit4 .header { border-color: #F56D64; }
.visit_list .visit3 .header { border-color: #FAFF79; }
.visit_list .visit2 .header { border-color: #BBF59D; }
.visit_list .visit1 .header { border-color: #B7DDFD; }
.visit_list .visit0 .header { border-color: #F5F5F5; position: relative; }
.visit_list .visit0 .header::before {
	content: '白';
	width: 40px;
	height: 100%;
	line-height: 23px;
	position: absolute;
	left: -40px;
	top: 0;
	text-align: center;
	color: gray;
	font-weight: bold;
}
@media all and (max-width:899px){
	.visit_container { margin: 1em 0 1em 0; }
	.visit_figure { padding-right: 5px; }
}
@media all and (min-width:600px) and (max-width:768px){
	.visit_figure { flex: 55; }
	.visit_list { flex: 45; min-width: 275px; font-size: 9.5pt; }
	.visit_list .header { border-left-width: 30px; }
	.visit_list .header .right { padding: 0; }
	.visit_list .visit0 .header::before { width: 30px; left: -30px; }
}
@media all and (max-width:599px){
	.visit_container { margin: 1em 0.5em 1em 0.5em; }
	.visit_horizontal { display: block; width: 100%; }
	.visit_figure { display: block; width: 100%; text-align: center; padding-bottom: 1ex; }
	.visit_list { display: block; max-width: 100%; font-size: 9.5pt; }
	.visit_list .header { min-height: 20px; }
	.visit_list .visit0 .header::before { line-height: 20px; }
	.visit_list .provinces { padding-bottom: 1em; }
}
@media all and (max-width:480px){
	.visit_list .provinces { font-size: 9pt; }
}
@media all and (max-width:449px){
	.visit_container .alert_container .alert_preview nobr { margin: 0; }
	.visit_container .alert_container .alert_preview nobr span { display: none; }
}
@media all and (max-width:400px){
	.visit_list .provinces { font-size: 8.5pt; }
}
@media (prefers-color-scheme: dark) {
	.visit_list .visit0 .header { border-color: #303030; }
	.visit_list .visit0 .header::before {
		content: '黒';
	}
}


