@charset "utf-8";


/*** Webフォント ***/
@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-weight-main:350;
	--font-weight-bold:700;
	--font-weight-thinner:300;
	--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;
}
* { -webkit-text-size-adjust:100%; max-height:999999px; }
::selection {
	background-color:#3390FF;
	color:white;
}
body {
	color:var(--color-main);
	font-family:var(--font-main),sans-serif;
	font-weight:var(--font-weight-main);
	font-size:12pt;
	line-height:15pt;
	background:var(--color-background);
	margin:0 auto;
	padding:20px 10px 50px 10px;
	min-height:calc(100vh - 70px);
}
@media all and (-webkit-min-device-pixel-ratio:0) and (min-resolution: .001dpcm){
	body {
		-webkit-font-smoothing:antialiased;
	}
}
.only_paneview {
	display:none;
}
a { color:var(--color-anchor); }
a img { border:0; }
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;
}
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;
}
em {
	font-family:var(--font-bold),sans-serif;
	font-weight:var(--font-weight-bold);
	font-style:normal;
}
img {
	color:var(--color-main);
}

/* 汎用 */
.onlysp { display:none; }
.onlydk, .onlydk.leftmargin, .onlydk.align { display:none; }
.scrollx { width:100%; overflow-x:auto; }
.normal {
	font-family:var(--font-main),sans-serif;
	font-weight:var(--font-weight-main);
}
.bold {
	font-family:var(--font-bold),sans-serif;
	font-weight:var(--font-weight-bold);
}
.nobr, .nowrap { white-space:nowrap; }
.wbr { white-space:normal; }
.normalsize { font-size:12pt; line-height:15pt; }
.small { font-size:10pt; line-height:12pt; }
.large { font-size:16pt; line-height:18pt; }
.huge { font-size:32pt; line-height:32pt; }
.left { text-align:left; }
.center { text-align:center; }
.right { text-align:right; }
.strike { text-decoration:line-through; }
.normalcolor { color:var(--color-normalcolor); }
.red { color:var(--color-red); }
.green { color:var(--color-green); }
.blue { color:var(--color-blue); }
.gray { color:var(--color-gray); }
.latin-emph { font-family:"Crimson Text"; font-style:italic; font-size:14pt; }
.serif { font-family:var(--font-serif),serif; font-weight:var(--font-weight-thinner); }
.ipa { font-family:"Charis SIL",serif; }
.monospace { font-family:var(--font-monospace),monospace; }
.smallcaps { font-variant:small-caps; }
.grayout { background-color:var(--color-grayout); }
*:lang(ja-Jpan){ font-family:var(--font-main),sans-serif; }
*: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; }
*: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; }
*:lang(ko), *:lang(ja-Kore){ font-family:"Open Sans","Nanum Gothic",var(--font-main),sans-serif; }
*:lang(ar):not(:lang(ar-Kana)), *:lang(he):not(:lang(he-Kana)) { direction:rtl; unicode-bidi:bidi-override; text-align:right; }

/* 見出し */
h1 {
	color:white;
	font-family:var(--font-serif),serif;
	font-weight:var(--font-weight-bold);
	font-size:24pt;
	line-height:24pt;
	background-color:var(--color-primary);
	margin:0 0 20px 0;
	padding:3px 0 5px 5px;
	text-spacing-trim:trim-start;
}
h2 {
	color:var(--color-main);
	font-family:var(--font-main),sans-serif;
	font-weight:var(--font-weight-main);
	font-size:18pt;
	line-height:18pt;
	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-top:25pt;
	padding:7.5px 0 5px 7px;
	text-spacing-trim:trim-start;
}
h3 {
	color:var(--color-main);
	font-family:var(--font-bold),sans-serif;
	font-weight:var(--font-weight-bold);
	font-size:14pt;
	line-height:14pt;
	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;
}
h4 {
	color:var(--color-main);
	font-family:var(--font-bold),sans-serif;
	font-weight:var(--font-weight-bold);
	font-size:13pt;
	line-height:13pt;
	margin:1.1em 0 1.1em 0;
	padding:2px;
	text-spacing-trim:trim-start;
}
h1 + h2 { margin-top:0; }
h2 + h3 { margin-top:0; }
h1 small { font-size:60%; font-weight:var(--font-weight-main); }
h2 small { font-size:12pt; line-height:12pt; margin-left:0.5em; }
h3 small { font-size:11pt; line-height:11pt; margin-left:0.5em; }

/* パンくずリスト */
div.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:0pt;
}
div.breadcrumbs ol {
	margin:1px 0;
	padding:0;
	list-style-type:none;
}
div.breadcrumbs ol > li {
	display:inline-block;
	vertical-align:bottom;
	margin:0;
	padding:0;
	font-size:10pt;
}
div.breadcrumbs ol > li:before {
	content:'>';
	margin:0;
	padding:0 5px;
	font-family:var(--font-main),sans-serif;
	font-weight:var(--font-weight-main);
}
div.breadcrumbs ol > li:first-child:before {
	content:'';
	margin:0;
	padding:0;
}
div.breadcrumbs ol > li:last-child {
	font-family:var(--font-bold),sans-serif;
	font-weight:var(--font-weight-bold);
}
div.breadcrumbs ol > li a { text-decoration:none; }
div.breadcrumbs ol > li a.external {
	padding-right:0;
	background:none;
}
h1 + div.breadcrumbs { margin-top:-10px; }
div.breadcrumbs + table,
div.breadcrumbs + div.only_paneview + table,
div.breadcrumbs + div.only_paneview + div.only_paneview + table,
div.breadcrumbs + div,
div.breadcrumbs + div.only_paneview + div,
div.breadcrumbs + div.only_paneview + div.only_paneview + div,
div.breadcrumbs + h2,
div.breadcrumbs + div.only_paneview + h2,
div.breadcrumbs + div.only_paneview + div.only_paneview + h2 { margin-top:20pt; }

/* 前頁・次頁 */
div.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;
}
div.prevnext ol {
	display:grid;
	grid-template: auto / 1fr 1fr 1fr;
	margin:1px 0;
	padding:0;
	list-style-type:none;
	font-size:10pt;
}
div.prevnext ol > li {
	vertical-align:bottom;
	margin:0;
	padding:0;
}
div.prevnext ol > li:nth-child(1) {
	text-align:left;
}
div.prevnext ol > li:nth-child(2) {
	text-align:center;
	font-family:var(--font-bold),sans-serif;
	font-weight:var(--font-weight-bold);
}
div.prevnext ol > li:nth-child(3) {
	text-align:right;
}

/* 本文・脚注等 */
p { margin:1em 0.5em; }
p.footer, footer { margin:2em 0 -10px 0.5em; clear:both; }
.edit { color:var(--color-blue); font-size:12px; margin:1em 0; display:block; }
.annot { font-size:8pt; vertical-align:baseline; position:relative; bottom:1.2ex; text-decoration:none; margin:0 3px 0 0; white-space:nowrap; }
p.footnote { margin-top:2em; font-size:10pt; }
ul.footnote { padding-left:1em; font-size:10pt; list-style:none; }
ul.footnote li:before { content:none; margin:0; }
dl.footnote {
	margin-left:0;
	padding-left:1em;
	font-size:10pt;
	display:grid;
	grid-template: auto / minmax(2em, max-content) 1fr;
}
dl.footnote dt { margin: 0 0.5em 0 0; }
dl.footnote dd { margin: 0 0 0.2em 0; }
.footnote .mathtext { font-size:10pt; }
footer ul { margin:0; padding:0; list-style:none; }
footer ul li:before { content:none; margin:0; }

/* 注意書き */
p.info:before {
	content:'お知らせ';
	font-family:var(--font-bold),sans-serif;
	font-weight:var(--font-weight-bold);
	font-size:13pt;
	color:var(--color-info-title);
	position:absolute;
	top:10px;
	left:20px;
}
p.info {
	background:var(--color-info-background);
	padding:35px 20px 10px 40px;
	position:relative;
	left:0;
	top:0;
}
p.notice:before {
	content:'注意';
	font-family:var(--font-bold),sans-serif;
	font-weight:var(--font-weight-bold);
	font-size:13pt;
	color:var(--color-notice-title);
	position:absolute;
	top:10px;
	left:20px;
}
p.notice {
	background:var(--color-notice-background);
	padding:35px 20px 10px 40px;
	position:relative;
	left:0;
	top:0;
}
p.warn:before {
	content:'警告';
	font-family:var(--font-bold),sans-serif;
	font-weight:var(--font-weight-bold);
	font-size:13pt;
	color:var(--color-warn-title);
	position:absolute;
	top:10px;
	left:20px;
}
p.warn {
	background:var(--color-warn-background);
	padding:35px 20px 10px 40px;
	position:relative;
	left:0;
	top:0;
}
p.apology:before {
	content:'お詫び';
	font-family:var(--font-bold),sans-serif;
	font-weight:var(--font-weight-bold);
	font-size:13pt;
	color:var(--color-warn-title);
	position:absolute;
	top:10px;
	left:20px;
}
p.apology {
	background:var(--color-warn-background);
	padding:35px 20px 10px 40px;
	position:relative;
	left:0;
	top:0;
}

/* 表 */
table { border-spacing:0; border-collapse:collapse; margin-left:0.75em; }
th {
	padding:2px 6px;
	vertical-align:center;
	text-align:center;
	font-weight:var(--font-weight-main);
}
table:not(.notbold) tr:not(.notbold) th:not(.notbold):not(.code) {
	font-family:var(--font-bold),sans-serif;
	font-weight:var(--font-weight-bold);
}
table:not(.math) tr:not(.math) td:not(.math) {
	padding:2px 6px;
	vertical-align:center;
}
table:not(.math):not(.bold) tr:not(.math):not(.bold) td:not(.math):not(.code):not(.bold) {
	font-family:var(--font-main),sans-serif;
	font-weight:var(--font-weight-main);
}
table.xytable { border:2px solid var(--color-table-border); }
table.xytable th { border:1px solid var(--color-table-border); background:var(--color-table-header-background); }
table.xytable td { border:1px solid var(--color-table-border); }
table.xytable          tr:nth-of-type(1) th                    { border-bottom-width:2px; }
table.xytable.xheader2 tr:nth-of-type(1) th:not([rowspan="2"]) { border-bottom-width:1px; }
table.xytable.xheader2 tr:nth-of-type(2) th                    { border-bottom-width:2px; }
table.xytable.xheader3 tr:nth-of-type(1) th:not([rowspan="3"]) { border-bottom-width:1px; }
table.xytable.xheader3 tr:nth-of-type(2) th[rowspan="2"]       { border-bottom-width:2px; }
table.xytable.xheader3 tr:nth-of-type(3) th                    { border-bottom-width:2px; }
table.xytable          tr th:nth-of-type(1)                    { border-right-width:2px; }
table.xytable.yheader2 tr th:nth-of-type(1):not([colspan="2"]) { border-right-width:1px; }
table.xytable.yheader2 tr th:nth-of-type(2)                    { border-right-width:2px; }
table.xytable.yheader3 tr th:nth-of-type(1):not([colspan="3"]) { border-right-width:1px; }
table.xytable.yheader3 tr th:nth-of-type(2)[colspan="2"]       { border-right-width:2px; }
table.xytable.yheader3 tr th:nth-of-type(3)                    { border-right-width:2px; }
table.columntable { border:2px solid var(--color-table-border); }
table.columntable th { border-style:solid; border-color:var(--color-table-border); border-width:1px 1px 2px 1px; background:var(--color-table-header-background); }
table.columntable td { border:1px solid var(--color-table-border); }
table.headertable { border:2px solid var(--color-table-border); }
table.headertable th { border-style:solid; border-color:var(--color-table-border); border-width:2px 1px 2px 1px; background:var(--color-table-header-background-secondary); color:var(--color-background); }
table.headertable td { border:1px solid var(--color-table-border); }
table.headertable th.category, table.headertable tr.category th { background:var(--color-table-header-background); color:var(--color-main); text-align:left; }
table.headertable tr.gap { border-width:2px; border-style:solid hidden; border-color:var(--color-table-border); height:5px; }
table.remark tr td:last-child { text-align:left; }
th.left { text-align:left; }
td.left, table.algintable tr td.left { text-align:left; }
td.center { text-align:center; vertical-align:center; }
th.right, table.headertable tr.category th.right { text-align:right; }
td.right { text-align:right; }
.allcenter th { text-align:center; vertical-align:center; }
.allcenter td { text-align:center; vertical-align:center; }
.allnobr * { white-space:nowrap; }

/* リスト */
ul { padding-left:40px; }
li { margin-bottom:5px; }
ul li {
	list-style:none;
	position:relative;
}
ul li:before {
	content:'';
	display:inline-block;
	position:absolute;
	left:-1em;
	top:6px;
	width:5px;
	height:5px;
	background-color:var(--color-main);
	border-radius:100%;
}
ul li.varheight:before {
	top:20px;
}
ul li.varheight2:before {
	top:1em;
}
ul li ul,
ul li ol,
ol li ul,
ol li ol {
	margin-top:5px;
}
dl { margin-left:15px; }
dt { margin:3px 0; }
dl:not(.notbold):not(.code):not(.math) dt:not(.notbold):not(.code):not(.math) {
	font-family:var(--font-bold),sans-serif;
	font-weight:var(--font-weight-bold);
}
dl:not(.notbold) dt:not(.notbold) { font-weight:var(--font-weight-bold); }
dd { margin:2px 0 10px 30px; }
dd + dd { margin-top:-3px; }
dl.horizontal { margin-left:1.5em; }
dl.horizontal dt { float:left; clear:both; margin:0 1em 0 0; }
dl.horizontal dd { overflow:hidden; margin:0 0 3px 0; }
dl.horizontal:not(.notbold) dd { margin-bottom:2px; padding-top:1px; }
dl.horizontal:after { content:''; clear:both; }
dl.bullet > dt { display:list-item; margin-left:1em; }
.counter-reset { counter-reset:general-counter; }
.counter:after { counter-increment:general-counter; content:counter(general-counter); }

/* 引用・強調 */
blockquote, .blockemph {
	display: block;
	margin-top: 1em;
	margin-bottom: 1em;
	margin-left: 40px;
	margin-right: 40px;
}
blockquote.quote {
	border-top:none;
	border-right:none;
	border-bottom:none;
	border-left:8px solid var(--color-quote);
	background:url(common/quote.svgz?date=20240605) no-repeat;
	min-height:32px;
	overflow:visible;
	margin:0 2em;
	padding:5px 0 5px 15px;
}
blockquote.quote p  { margin:5px; }
blockquote.quote dl { margin:5px; }
blockquote.block {
	border-top:none;
	border-right:none;
	border-bottom:none;
	border-left:8px solid var(--color-quote);
	min-height:32px;
	overflow:visible;
	margin:0 2em;
	padding:5px 0 5px 15px;
}
blockquote.block p  { margin:5px; }
blockquote.block dl { margin:5px; }

/* 囲み */
.bracket, .mathfloor, .mathceil {
	position: relative;
	display: inline-block;
	padding: 0 calc(0.3em + 2px);
}

.bracket::before, .bracket::after, .mathfloor::before, .mathfloor::after, .mathceil::before, .mathceil::after {
	content: '';
	width: 0.25em;
	height: 100%;
	position: absolute;
}

.bracket::before, .mathfloor::before {
	margin-left: 2px;
	border-left: 2px solid var(--color-main);
	border-bottom: 1px solid var(--color-main);
	bottom: 0;
	left: 0;
}

.bracket::after, .mathfloor::after {
	margin-right: 2px;
	border-right: 2px solid var(--color-main);
	border-bottom: 1px solid var(--color-main);
	bottom: 0;
	right: 0;
}

.bracket::before, .mathceil::before {
	margin-left: 2px;
	border-left: 2px solid var(--color-main);
	border-top: 1px solid var(--color-main);
	bottom: 0;
	left: 0;
}

.bracket::after, .mathceil::after {
	margin-right: 2px;
	border-right: 2px solid var(--color-main);
	border-top: 1px solid var(--color-main);
	bottom: 0;
	right: 0;
}

/* ソースコード */
.code { font-family:var(--font-monospace),monospace; font-size:10pt; }
.code b, .code .bold, .code.bold { font-family:var(--font-monospace),monospace; font-size:10pt; }
pre.code {
	border-top:none;
	border-right:none;
	border-bottom:none;
	border-left:8px solid #808080;
	margin:0 1em;
	padding:3px 0 3px 10px;
}
.code .comment { color:chocolate; }
.code .keyword { color:mediumorchid; font-weight:var(--font-weight-bold); }
.code .string  { color:darkmagenta; }
.code .class   { color:forestgreen; }
pre.output {
	font-family:var(--font-monospace),monospace;
	background-color:silver;
	color:black;
	font-size:10pt;
	padding:10px;
	white-space:pre-wrap;
}

/* 図等 */
figure { text-align:center; margin-left:1em; margin-right:0; }
figure figcaption { text-align:center; }
.lfloat { float:left; margin:5px 10px 5px 0; }
.rfloat { float:right; margin:5px 0 5px 10px; }
.lclear { clear:left; }
.rclear { clear:right; }
.lclear.rclear { clear:both; }
.leftmargin { display:block; margin-left:1em; }
.vertmargin { display:block; margin-top:1em; margin-bottom:1em; }
.nooverflow { max-width:100%; height:auto; }
.flagicon {
	border:solid 1px var(--color-flag-border);
	background-color:var(--color-flag-border);
	margin:0 1px 0 1px;
	vertical-align:-3px;
}

/* ルビ */
ruby[data-ruby] {
	display:inline-block;
	position:relative;
	line-height:17pt;
	vertical-align:baseline;
}
ruby[data-ruby]::before {
	content:attr(data-ruby);
	display:inline-block;
	position:absolute;
	top:1.75pt;	/* 親要素の (line-height - font-size) / 2 */
	left:50%;
	transform:translate(-50%, -90%);
	font-size:7pt;
	letter-spacing:-1pt;
	padding-right:1pt;
	line-height:7pt;
	text-align:center;
	white-space:nowrap;
}
ruby[data-ruby] rt {
	display: none;
}
h2 ruby[data-ruby] {
	line-height:20pt;
}
h2 ruby[data-ruby]::before {
	top:0.75pt;
	font-size:8pt;
}
h3 ruby[data-ruby] {
	line-height:19pt;
}
h3 ruby[data-ruby]::before {
	font-size:8pt;
}

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

/* ツールチップ */
.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:25px;
	left:3px;
	padding:3px 8px;
	background:var(--color-tooltip-background);
	color:var(--color-tooltip-text);
	text-align:left;
	font-size:10pt;
	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:-5px;
	left:10px;
	border:5px transparent solid;
	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:1px solid 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:1px solid var(--color-table-border);
	border-bottom:1px solid 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; }

/* 読込中 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: 1.5em solid rgba(96, 155, 255, 0.2);
	border-right: 1.5em solid rgba(96, 155, 255, 0.2);
	border-bottom: 1.5em solid rgba(96, 155, 255, 0.2);
	border-left: 1.5em solid 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);
	}
}

/* 旧HTMLとの互換用 */
b { font-family:var(--font-bold),sans-serif; font-weight:var(--font-weight-bold); }
i { font-style:italic; }
u { text-decoration:underline; }
s, del, strike { text-decoration:line-through; }
nobr { white-space:nowrap; }
small { font-size:10pt; }
sup { font-size:80%; position:relative; vertical-align:baseline; top:-1ex; }
sub { font-size:80%; position:relative; vertical-align:baseline; bottom:-0.5ex; }

/* IE/Edgeの不具合対策 */
@media all and (-ms-high-contrast:none){ sup, sub { font-size:100%; } }
@supports (-ms-ime-align:auto){ sup, sub { font-size:100%; } }

/* Safariの不具合対策 */
::-webkit-full-page-media, :future, :root .safari-background {
	@media (prefers-color-scheme: dark){
		background-color:white;
		--isDarkmode:'';
		color-scheme:light;
	}
}

/* 数式 */
.math, .chemistry {
	font-family:"Computer Modern Serif","NewComputerModernMath","Latin Modern Math",var(--font-serif),serif;
	text-shadow:0px 0px 1px rgba(0, 0, 0, 0.3);
	font-size:110%;
	line-height:14pt;
	font-weight:var(--font-weight-main);
	overflow: visible;
}
.align {
	font-family:"Computer Modern Serif","NewComputerModernMath","Latin Modern Math",var(--font-serif),serif;
	text-shadow:0px 0px 1px rgba(0, 0, 0, 0.3);
	font-size:110%;
	line-height:18pt;
	font-weight:var(--font-weight-main);
	display:block;
	position:relative;
	margin:0.3em 0 0.4em 2em;
}
table.math {
	margin:0.3em 0 0.4em 2em;
}
table.algintable td {
	padding:0.75ex 0;
	vertical-align:top;
}
table.algintable td:nth-child(1) { text-align:right; }
table.algintable td:nth-child(2n) { text-align:center; padding-left:0.35em; padding-right:0.35em; }
table.algintable td:nth-child(2n+1):not(:first-child) { text-align:left; }
.align .tag { float:right; margin-right:0.5em; }
.math.red,  .chemistry.red,  .align.red  { text-shadow:0px 0px 1px rgba(255, 0, 0, 0.3); }
.red .math, .red .chemistry, .red .align { text-shadow:0px 0px 1px rgba(255, 0, 0, 0.3); }
.math .red, .chemistry .red, .align .red { text-shadow:0px 0px 1px rgba(255, 0, 0, 0.3); }
.math.bold, .chemistry.bold, .align.bold, .math b, .math .bold, .chemistry b, .chemistry .bold, .align b, .align .bold {
	font-family:"Computer Modern Serif","NewComputerModernMath","Latin Modern Math",var(--font-serif),serif;
	font-weight:var(--font-weight-bold);
}
.normalsize .math, .normalsize .chemistry, .normalsize .align,
.math .normalsize, .chemistry .normalsize, .align .normalsize { font-size:13.2pt; }
.math sub, .chemistry sub, .align sub { font-size:70%; }
.math sup, .chemistry sup, .align sup { font-size:70%; 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; }
.sqrt .nth { position:absolute; left:-10pt; font-size:70%; line-height:0.4em; }
.vec {
	display:inline-block;
	position:relative;
	line-height:12pt;
	vertical-align:baseline;
}
.vec::before {
	content:'→';
	display:inline-block;
	position:absolute;
	top:1pt;
	left:50%;
	transform:translate(-50%, -90%);
	font-size:7pt;
	letter-spacing:-1pt;
	padding-right:1pt;
	line-height:7pt;
	text-align:center;
	white-space:nowrap;
}
.fraction { display:inline-block; text-align:center; vertical-align:middle; }
.fraction > .numerator { text-align:center; white-space:nowrap; padding:0 2px; display:block; border-bottom:solid 1px currentColor; margin:1px 0 3px 0; }
.fraction > .denominator { text-align:center; white-space:nowrap; padding:0 2px; display:block; }
.mathop { display:inline-block; position:relative; vertical-align:middle; text-align:center; font-size:18pt; line-height:20pt; top:-2pt; }
.mathop sub { display:block; text-align:center; white-space:nowrap; position:absolute; width:5em; left:calc(50% - 2.5em); line-height:12pt; top:21pt; font-size:10pt; vertical-align:bottom; }
.mathop sup { display:block; text-align:center; white-space:nowrap; position:absolute; width:5em; left:calc(50% - 2.5em); line-height:12pt; top:-10pt; font-size:10pt; vertical-align:bottom; }
.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; }
.math.fraction > .numerator, .math .fraction > .numerator, .align.fraction > .numerator, .align .fraction > .numerator { margin-bottom:0px; }
.math.fraction > .denominator, .math .fraction > .denominator, .align.fraction > .denominator, .align .fraction > .denominator { margin-top:-1px; margin-bottom:2px }
.atop { display:inline-block; text-align:center; vertical-align:middle; }
.atop > .numerator { text-align:center; white-space:nowrap; padding:0 2px; display:block; margin:1px 0 3px 0; }
.atop > .denominator { text-align:center; white-space:nowrap; padding:0 2px; display:block; }
.math.atop > .numerator, .math .atop > .numerator, .align.atop > .numerator, .align .atop > .numerator { margin-bottom:0px; }
.math.atop > .denominator, .math .atop > .denominator, .align.atop > .denominator, .align .atop > .denominator { margin-top:-1px; margin-bottom:2px }
.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:0.15em solid var(--color-main);
}
.paren:after {
	right:0;
	border-top-right-radius:50%;
	border-bottom-right-radius:50%;
	border-right:0.15em solid var(--color-main);
}
.mbox {
	color:var(--color-main);
	font-family:var(--font-main),sans-serif;
	font-weight:var(--font-weight-main);
	font-size:12pt;
	line-height:15pt;
	background:var(--color-background);
	margin:20px 10px 50px 10px;
	text-shadow:none;
}
.mathtext {
	color:var(--color-main);
	font-family:var(--font-main),sans-serif;
	font-weight:var(--font-weight-main);
	font-size:12pt;
	line-height:15pt;
	text-shadow:none;
}
.mathtext.bold, .mathtext .bold, .bold .mathtext {
	font-family:var(--font-bold),sans-serif;
	font-weight:var(--font-weight-bold);
}
.mathtext.red, .mathtext .red, .red .mathtext {
	color:var(--color-red);
	text-shadow:none;
}
.remark {
	background:var(--color-remark-background);
	padding:10px 20px 10px 20px;
	margin-left:2em;
	margin-right:2em;
	position:relative;
	left:0;
	top:0;
}

/* JavaScript 無効環境対応 */
.ifscript { display:none; }
.script_enabled div.ifscript { display:block; }


/*** ページ固有 ***/
/* トップページ */
.toppage h1 { font-size:36pt; line-height:36pt; }
.toppage .kiriban { font-size:150%; color:var(--color-red); }

/* ポータル */
div.portal_container {
	display:flex;
	flex-direction:row;
	flex-wrap:wrap;
}
div.portal_container .portal_content {
	box-sizing:border-box;
	flex:0 0 calc((100% - 4px) / 3);
	height:50px;
	border:1px solid gray;
	border-radius:5px;
	margin:1px 2px 0 0;
	color:var(--color-main);
	text-decoration:none;
	display:grid;
	grid-template-rows:19pt 1fr;
	grid-template-columns:min(max(16%, 37px), 45px) 1fr;
}
div.portal_container .portal_content:nth-of-type(3n) {
	margin-right:0;
}

div.portal_container .portal_content {
	box-sizing:border-box;
	flex:0 0 calc((100% - 4px) / 3);
	border:1px solid gray;
	border-radius:5px;
	margin:1px 2px 0 0;
	color:var(--color-main);
	text-decoration:none;
	display:grid;
	grid-template-rows:20px 1fr;
	grid-template-columns:min(max(16%, 37px), 45px) 1fr;
}
div.portal_container .portal_content:nth-of-type(3n) {
	margin-right:0;
}
@media (hover: hover) and (pointer: fine){
	div.portal_container .portal_content:hover {
		opacity:0.7;
	}
}
div.portal_container .portal_content span.icon {
	grid-row:1/3;
	grid-column:1/2;
	padding:0 3px 0 2px;
	text-align:center;
}
div.portal_container .portal_content span.icon img {
	position:relative;
	top:calc(50% - 16px);
}
div.portal_container .portal_content span.name {
	grid-row:1/2;
	grid-column:2/3;
	padding:3px 0 0 0;
	font-size:13pt;
	line-height:16px;
	letter-spacing:-0.3px;
	color:var(--color-blue);
	white-space: nowrap;
	overflow:hidden;
	font-family:var(--font-bold),sans-serif;
	font-weight:var(--font-weight-bold);
}
div.portal_container .portal_content span.description {
	grid-row:2/3;
	grid-column:2/3;
	height:10px;
	font-size:10pt;
	line-height:12px;
	margin:0 0 6px 0;
	padding:2px 0 0 0;
}

/* 法令 */
dl.law { margin:0.5em; }
dl.law dt { margin:7px 0 2px 0; }
dl.law dd { margin:0 0 3px 2em; }
dl.law dd b { margin-right:0.2em; }
dl.law dd dl.law { margin:3px 0 3px 1em; }
dl.law dd dl.law dt { float:left; margin:0 1em 0 0; }
dl.law blockquote { margin-left:4em; margin-right:0; font-size:10pt; }

/* スーパー正男 */
.masao { text-align:center; }

/* 更新履歴 */
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;
}

/* 掲示板 */
.bbs dl.form { margin:0.5em 0 0 1em; }
.bbs dl.form dt { float:left; clear:both; margin:0 3px 0 0; padding:3px; width:5em; background:linear-gradient(transparent 60%, var(--color-primary) 100%); }
.bbs dl.form dd { overflow:hidden; margin:0 0 3px 0; padding:3px; }
.bbs dl.form input.submit { padding:1px 1em; text-indent:1em; letter-spacing:1em; }
.bbs dl.form:after { content:''; clear:both; }
.bbs div.pages { text-align:right; border-top:solid 2px #A0A0A0; border-bottom:solid 2px #A0A0A0; padding:5px; margin:20px 0; }
.bbs dl.res_title { font-size:14pt; line-height:14pt; margin:20px 0 3px 0; border-bottom:solid 2px var(--color-primary); background:var(--color-primary); overflow:hidden; }
.bbs dl.res_title dt { float:left; clear:both; margin:0; padding:5px 7px 0 7px; color:white; }
.bbs dl.res_title dd { background:var(--color-secondary); color:var(--color-main); margin:0; padding:4px 0 4px 7px; overflow:hidden; }
.bbs div.res_info { font-size:10pt; color:var(--color-res-info); }
.bbs .res_name { font-size:12pt; color:var(--color-res-info); padding:1px 0px; }
.bbs p.res_message { margin:0.5em; /* font-family:"IPAMonaPGothic",var(--font-main),sans-serif; font-size:12pt; line-height:13.5pt; */ }
.bbs dl.delform { margin:0 0 0 0.5em; display:inline-block; border:3px ridge silver; padding:5px 8px; white-space:nowrap; }
.bbs dl.delform dt { float:left; clear:both; margin:0 3px 0 0; padding:3px; width:5em; background:linear-gradient(transparent 60%, var(--color-primary) 100%); }
.bbs dl.delform dd { float:left; overflow:hidden; margin:3px 0; padding:3px; }

/* リンク集 */
div.link {
	max-width:800px;
	min-width:550px;
	margin:15px 50px 5px 1em;
	padding:0;
	border:1px solid var(--color-main);
	background:var(--color-link-background);
}
div.link div.banner {
	box-sizing:border-box;
	width:220px;
	height:55px;
	display:inline-block;
	float:left;
	text-align:center;
	border-left:9px solid var(--color-link-banner);
	border-right:9px solid var(--color-link-banner);
	border-top:7px solid var(--color-link-banner);
	border-bottom:6px solid var(--color-link-banner);
	background:white;
	margin-right:12px;
}
div.link div.banner img {
	display:inline-block;
	vertical-align:middle;
}
div.link div.banner a.pseudo_banner {
	box-sizing:border-box;
	display:inline-block;
	vertical-align:middle;
	width:202px;
	height:42px;
	padding:5px 0;
	font-size:24px;
	line-height:30px;
	text-decoration:none;
	border:1px solid var(--color-link-banner);
	font-family:var(--font-bold),sans-serif;
	font-weight:var(--font-weight-bold);
}
@media (hover: hover) and (pointer: fine){
	div.link div.banner img:hover,
	div.link div.banner a.pseudo_banner:hover {
		opacity:0.7;
	}
	div.link div.banner img:hover *,
	div.link div.banner a.pseudo_banner:hover * {
		opacity:1;
	}
}
div.link div.title {
	font-family:var(--font-bold),sans-serif;
	font-weight:var(--font-weight-bold);
	margin:0;
	padding-top:8px;
}
div.link div.webmaster {
	margin:0;
}
div.link div.comment {
	clear:left;
	margin:0;
	padding:10px 15px;
}
div.mybanner {
	max-width:800px;
	min-width:550px;
	margin:5px 50px 5px 1em;
	padding:3px;
	background:var(--color-link-mybanner);
}
div.mybanner img.banner_200, div.mybanner img.banner_88 {
	vertical-align:middle;
	margin-right:5px;
}
div.mybanner .banner_title {
	margin-left:10px;
}


/*** ペインビュー ***/
@media all and (min-width:1000px){
	html:not(.nopaneview) {
		background-color:var(--color-background-pane);
		scrollbar-gutter:stable;
		overflow-y:scroll;
	}
	html:not(.nopaneview) body {
		padding:20px 15px 50px 15px;
		border-left:1px solid var(--color-primary);
		border-right:1px solid var(--color-primary);
		width:calc(100% - 432px);	/* 左右 200px ずつ空ける */
		max-width:994px;	/* 中央が最大 1024px */
	}
	html.onlyleftpane body {
		margin-right:0;
		border-right:none;
		width:calc(100% - 231px);
		max-width:calc(50% + 482px);
	}
	html:not(.nopaneview) div.left_pane,
	html:not(.nopaneview) div.right_pane {
		display:block;
		box-sizing:border-box;
		position:fixed;
		top:0px;
		width:max(200px, (100% - 1024px) / 2);
		height:100vh;
		margin:0;
		padding:18pt 6pt 36pt 12pt;
	}
	html:not(.nopaneview) div.left_pane {
		left:0px;
		overflow-y:auto;
	}
	html:not(.nopaneview) div.right_pane {
		right:0px;
	}
	html:not(.nopaneview) div.breadcrumbs + div.left_pane,
	html:not(.nopaneview) div.breadcrumbs + div.right_pane,
	html:not(.nopaneview) div.breadcrumbs + div.left_pane + div.right_pane {
		margin-top:0px;
	}
	html:not(.nopaneview) div.breadcrumbs + div.left_pane + table,
	html:not(.nopaneview) div.breadcrumbs + div.right_pane + table,
	html:not(.nopaneview) div.breadcrumbs + div.left_pane + div.right_pane + table,
	html:not(.nopaneview) div.breadcrumbs + div.left_pane + div:not(.right_pane),
	html:not(.nopaneview) div.breadcrumbs + div.right_pane + div,
	html:not(.nopaneview) div.breadcrumbs + div.left_pane + div.right_pane + div,
	html:not(.nopaneview) div.breadcrumbs + div.left_pane + h2,
	html:not(.nopaneview) div.breadcrumbs + div.right_pane + h2,
	html:not(.nopaneview) div.breadcrumbs + div.left_pane + div.right_pane + h2 {
		margin-top:20pt;
	}
	html:not(.nopaneview) div.left_pane h2,
	html:not(.nopaneview) div.right_pane h2 {
		background:none;
		border:none;
		margin:0 0 1.5ex 0;
		padding:0;
	}
	html:not(.nopaneview) div.left_pane > ul,
	html:not(.nopaneview) div.right_pane > ul,
	html:not(.nopaneview) div.left_pane > dl,
	html:not(.nopaneview) div.right_pane > dl {
		margin-left:0;
		padding-left:0;
	}
	html:not(.nopaneview) div.left_pane > ul > li,
	html:not(.nopaneview) div.right_pane > ul > li {
		padding-bottom:0.8ex;
	}
	html:not(.nopaneview) div.left_pane > ul li::before,
	html:not(.nopaneview) div.right_pane > ul li::before {
		display:none;
	}
	html:not(.nopaneview) div.left_pane > ul ul,
	html:not(.nopaneview) div.right_pane > ul ul {
		padding-left:1em;
	}
	html:not(.nopaneview) div.left_pane > dl dd,
	html:not(.nopaneview) div.right_pane > dl dd {
		margin-left:0;
	}
	html:not(.nopaneview) .hide_paneview {
		display:none;
	}
	html:not(.nopaneview) .only_paneview {
		display:block;
	}
}


/*** ダークモード ***/
@media (prefers-color-scheme: dark){
	:root {
		--isDarkmode: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;
	}

	.onlylt, .onlylt.leftmargin { display:none; }
	.onlydk { display:initial; }
	.onlydk.leftmargin, .onlydk.align { display:block; }
	.sqrt::before { background-image:url('/math/sqrt_dark.svg?date=20240605'); }
	a.external { background-image:url(/icon/external_dark.svg?date=20240605); }
	a.external_twitter { background-image:url(/icon/external_twitter_dark.svg?date=20240605); }
}


/*** スマートフォン用 ***/
@media all and (max-width:599px){
	/*** 共通 ***/
	/* 全頁共通 */
	body {
		padding:5px 5px 50px 5px;
		font-size:11pt;
		line-height:13pt;
	}
	sup { top:-0.5ex; }
	.math sup, .chemistry sup, .align sup { top:-1.5ex; }

	/* 汎用 */
	.onlysp { display:initial; }
	div.onlysp { display:block; }
	.onlypc { display:none; }
	.spbr { visibility:collapse; display:block; line-height:0; margin:0; padding:0; overflow:hidden; }
	.normalsize { font-size:11pt; line-height:13pt; }
	.small { font-size:9pt; line-height:11pt; }

	/* レスポンシブ対応ページ */
	body.responsive p:not(.force) br:not(.force),
	body.responsive dl.law:not(.force) dt > br:not(.force),
	body.responsive dl.law:not(.force) dd > br:not(.force) { display:none; }

	/* 見出し */
	h1 {
		margin:0 0 5px 0;
		font-size:20pt;
		line-height:20pt;
	}
	h2 {
		font-size:14pt;
		line-height:14pt;
		margin-block-end:10px;
	}
	h3 {
		font-size:12.5pt;
		line-height:12pt;
		padding:6px 0 4px 7px;
	}
	h4 {
		font-size:12pt;
		line-height:12pt;
	}
	h2 small { font-size:11pt; line-height:11pt; margin-left:0.5em; }
	h2 br ~ small { margin-left:0; }
	h3 small { font-size:10pt; line-height:10pt; margin-left:0.5em; }
	.toppage h1 { font-size:24pt; line-height:24pt; }

	/* パンくずリスト */
	div.breadcrumbs {
		padding:2px 0 2px 8px;
	}
	h1 + div.breadcrumbs { margin-top:0; }
	div.breadcrumbs + h2 { margin-top:15px; }

	/* 本文・脚注等 */
	p { margin:1em 5px; }
	p.footer, footer { margin:2em 0 -10px 5px; clear:both; }
	h1 + p { margin-top:0.8em; }
	.annot { bottom:5pt; }

	/* 注意書き */
	p.info:before, p.notice:before, p.warn:before, p.apology:before {
		font-size:12pt;
		top:6px;
		left:10px;
	}
	p.info, p.notice, p.warn, p.apology {
		padding:28px 10px 6px 20px;
	}

	/* 表 */
	table { margin-left:5px; }
	table.dltable, table.dltable tr, table.dltable th, table.dltable td {
		padding:0;
		border:none;
		background:none;
		display:block;
		text-align:left;
		width:auto;
	}
	table.dltable { margin:1ex 0 1ex 1em; }
	table.dltable tr + tr { margin-top:1ex; }
	table.dltable tr th:nth-of-type(1) {
		font-family:var(--font-bold),sans-serif;
		font-weight:var(--font-weight-bold);
	}
	table.dltable tr td, table.dltable tr th ~ th {
		margin-left:1em;
		font-family:var(--font-main),sans-serif;
		font-weight:var(--font-weight-main);
	}

	/* リスト */
	ul { padding-left:1.2em; }
	ol { padding-left:2.5em; }
	ul li:before { left:-0.8em; }
	dl, dl.horizontal { margin-left:10px; }
	dt, dl.horizontal dt { float:none; clear:none; margin:3px 0; }
	dd, dl.horizontal dd { overflow:visible; margin:2px 0 10px 10px; }
	dd + dd { margin-top:-5px; }
	dl.bullet > dd { margin-left:1.5em; }

	/* 引用 */
	blockquote, .blockemph {
		margin:1em 0 1em 2em;
	}
	blockquote.quote {
		margin:0 0 0 1em;
		padding:5px 0 5px 15px;
	}

	/* ルビ */
	ruby[data-ruby] {
		line-height:17pt;
	}
	ruby[data-ruby]::before {
		top:3pt;	/* 親要素の (line-height - font-size) / 2 */
		font-size:5.5pt;
		line-height:5.5pt;
	}
	h2 ruby[data-ruby] {
		line-height:14pt;
	}
	h2 ruby[data-ruby]::before {
		top:-0.5pt;	/* 親要素の (line-height - font-size) / 2 */
		font-size:7.5pt;
	}
	h3 ruby[data-ruby] {
		line-height:18pt;
	}
	h3 ruby[data-ruby]::before {
		font-size:7.5pt;
	}

	/* 図等 */
	figure { margin-left:5px; }
	.lfloat, .rfloat {
		float:none;
		display:block;
		max-width:100%;
		margin:5px 0;
		text-align:center;
	}
	.leftmargin { margin-left:5px; }

	/* 数式 */
	.align { margin-left:1em; }
	.mbox, .mathtext {
		font-size:11pt;
		line-height:13pt;
	}

	/* ポータル */
	div.portal_container .portal_content {
		flex:0 0 calc((100% - 2px) / 2);
	}
	div.portal_container .portal_content:nth-of-type(3n) {
		margin-right:2px;
	}
	div.portal_container .portal_content:nth-of-type(2n) {
		margin-right:0;
	}


	/*** ページ固有 ***/
	/* 法令 */
	dl.law { margin-right:0; }
	dl.law dd { margin:0 0 3px 10px; }
	dl.law dd dl.law { margin:3px 0 3px 1em; }
	dl.law dd dl.law dt { float:left; margin:0 0.5em 0 0; }
	dl.law dd dl.law dd { margin:0 0 3px 1.5em; }
	dl.law blockquote { margin-left:1em; }

	/* スーパー正男 */
	.masao canvas { max-width:100%; height:auto; }

	/* 更新履歴 */
	table.history { margin-left:0; }
	table.history th { padding:2px 5px 2px 0; }
	table.history td { padding:2px 0; }

	/* 掲示板 */
	.bbs dl.form { margin:0.5em 0 0 5px; }
	.bbs dl.form dt {
		float:none;
		clear:none;
		border-top:none;
		border-right:none;
		border-bottom:none;
		border-left:solid 8px var(--color-primary);
		margin:5px 0 2px 0;
		padding:4px 0 2px 4px;
		background:none;
	}
	.bbs dl.form dd {
		margin:0;
		padding:0;
	}
	.bbs dl.form input, .bbs dl.form textarea {
		margin-right:5px;
		max-width:95%;
	}
	.bbs dl.res_title {
		font-size:12pt;
		line-height:12pt;
	}
	.bbs dl.res_title dt { padding:4px 5px 0 5px; }
	.bbs dl.res_title dd { padding:3px 0 3px 7px; }
	.bbs div.res_info { font-size:9pt; }
	.bbs .res_name { font-size:11pt; }
	.bbs p.res_message { margin:0.5em 0 0.5em 5px; }
	.bbs dl.delform {
		display:inline-block;
		margin:5px;
		padding:5px 8px;
		border:3px ridge silver;
		white-space:nowrap;
	}
	.bbs dl.delform dt {
		float:none;
		clear:none;
		display:block;
		border-top:none;
		border-right:none;
		border-bottom:none;
		border-left:solid 8px var(--color-primary);
		margin:0 0 3px 0;
		padding:4px 0 2px 4px;
		background:none;
	}
	.bbs dl.delform dd {
		float:none;
		clear:none;
		display:block;
		margin:0;
		padding:1px 0;
		background:none;
	}
	.bbs dl.delform input.submit {
		padding:1px 1em;
		text-indent:1em;
		letter-spacing:1em;
	}

	/* リンク集 */
	div.link, div.mybanner {
		max-width:initial;
		min-width:initial;
		margin:0 0 1.5em 10px;
		padding:0;
		border:none;
		background:none;
	}
	div.link div.banner {
		display:block;
		width:auto;
		height:auto;
		float:none;
		text-align:left;
		background:none;
		margin:0;
		border:0;
	}
	div.link div.banner a {
		text-align:center;
	}
	div.link div.title, div.link div.webmaster { margin-left:5px; }
	div.link div.comment { margin:10px 0 10px 1em; padding:0; }
	div.mybanner {
		display:flex;
		flex-direction:column;
		max-width:initial;
		min-width:initial;
		margin:0 0 1.5em 0;
		padding:0;
		background:none;
	}
	div.mybanner .banner_title {
		order:1;
		display:block;
		font-size:12pt;
		line-height:12pt;
		border-top:none;
		border-right:none;
		border-bottom:none;
		border-left:solid 8px var(--color-primary);
		margin:0 0 10px 0;
		padding:6px 0 4px 7px;
	}
	div.mybanner img.banner_200, img.banner_88 {
		order:2;
		display:block;
		margin:0 0 5px 1em;
	}
	div.mybanner_onlytext {
		display:block;
	}
}
