@charset "utf-8";
/* CSS Document */
/* body > main > article 内の設定 */



/*---------------------------------------------------------------------------------- 特定のブラウザのみ表示するアラート */

.firefoxonly,
.chromeonly,
.edgeonly,
.safarionly {
	display: none;
	border: none;
}

@media screen and (-webkit-min-device-pixel-ratio: 0) {		/* Chrome, Opera, Safari */
	.safarionly {
		display: block;
	}
}

@media screen and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm) {	/* Chrome, Opera */
	.safarionly {
		display: none;
	}
	.chromeonly {
		display: block;
	}
}

@-moz-document url-prefix() {
	.chromeonly {
		display: none;
	}
	.firefoxonly {
		display: block;
	}
}

@supports (-ms-ime-align: auto) {
	section.edgeonly {
		display: block;
	}
}

p.chuui {
	color: red;
	text-align: center;
	border: 1px solid red;
	border-radius: 4px;
}

/*---------------------------------------------------------------------------------- header */

header#articleheader h1 {
	margin: 20px 0 16px 0;
	padding: 16px 0;
	font-size: 24px;
	line-height: 24px;
	text-align: center;
	border-width: 2px;
	border-style: solid;
}

header#articleheader h1 span.uppercategory {
	display: block;
	margin: 0 0 4px 0;
	font-size: 13px;
	font-weight: normal;
}

/*---------------------------------------------------------------------------------- article(共通) */

article {
	line-height: 1.7;
}

/*---------------------------------------------------------------------------------- セクション(囲み記事) */

article section {
	padding: 0;
}
article > section {
	margin: 0 0 16px 0;
}
article > section:last-of-type {
	margin: 0;
}

article section section {
	margin: 7px 0;
	padding: 0 7px 7px 7px;
	border-width: 1px;
	border-style: solid;
	border-radius: 4px;
}
section.kyoukaitem > details.detailChapter,
section.chapter > details.detailChapter {
	background-color: transparent;
}
section.chapter > details > div > section {
	margin: 16px 0 7px 0;
}
section.chapter > details > div > section:nth-child(1) {
	margin: 7px 0;
}

article div.kakomi,
article p.kakomi,
article span.kakomi {
	display: block;
	margin: 7px 0;
	padding: 0 7px 7px 7px;
	border-width: 1px;
	border-style: solid;
	border-radius: 4px;
}

/*------------------------------------------ 見出し */
/*
section.kyoukaitem > details.detailChapter > summary,
section.chapter > details.detailChapter > summary {
	list-style: none;
	padding: 0;
	background-color: transparent;
}
section.kyoukaitem > details.detailChapter > summary::-webkit-details-marker,
section.chapter > details.detailChapter > summary::-webkit-details-marker{
	display: none;
}
section.kyoukaitem > details.detailChapter > summary::before,
section.chapter > details.detailChapter > summary::before {
	content: "";
}
*/
section.chapter > details.detailChapter summary h1,
section.kyoukaitem > details.detailChapter summary h1 {
	display: inline;
	font-size: 18px;
}
section.chapter > details.detailChapter summary h1 span,
section.kyoukaitem > details.detailChapter summary h1 span {
	display: inline;
	padding: 0 4px;
	cursor: pointer;
}

article section h1 span {
	display: block;
	padding: 0 8px;
}

article section section h1 {
	margin: 0 -7px 8px -7px;
	padding: 0 8px;
	font-size: 14px;
/*	border-radius: 6px 6px 0 0;*/
	border-bottom-width: 1px;
	border-bottom-style: solid;
}

article section h2,
article section h2.level2,
article section h3 {
	margin: 8px 0;
	padding: 0 8px;
	font-size: 14px;
	border-width: 1px;
	border-style: solid;
}

/*------------------------------------------ 本文 */

article section p {
	margin: 0 0 8px 0;
	padding: 0;

	break-inside: avoid;
}

/*------------------------------------------ 解説参照先 */

section.kaisetsusanshou h1 {
	padding: 6px 0 5px 27px;
	line-height: 1;
	font-size: 18px;
}
section.kaisetsusanshou p {
	padding: 8px 8px 0 8px;
}

/*---------------------------------------------------------------------------------- リスト */

/* マーカーは● */
article .ulset {
	position: relative;
	display: block;
	margin: 0;
	padding: 0 0 0 1.5em;
	break-inside: avoid;
}
article .ulset:before {
	position: absolute;
	left: 0;
	top: 0;
	content: "● ";
	color: darkgray;
}
article .ulset .ulset:before {
	content: "◎ ";
	color: darkgray;
}
article .ulset .ulset .ulset:before {
	content: "○ ";
	color: darkgray;
}
article .nomarker:before {
	color: transparent;
}
article .marker_top:before {
	color: crimson;
}
article .marker_high:before {
	color: darkorange;
}
article .marker_review:before {
	color: royalblue;
}

/* マーカー指定 */
article .ulsetm {
	position: relative;
	display: block;
	margin: 0;
	padding: 0 0 0 1.5em;
	break-inside: avoid;
}
article .ulsetm .marker {
	position: absolute;
	left: 0;
	top: 0;
}
article span.ulsetm span.widemarker,
article div.ulsetm span.widemarker,
article div.ulsetm p.widemarker,
article div.ulsetm div.widemarker {
	position: relative;
	margin-left: -1.5em;
}
article span.ulsetm span.linemarker,
article div.ulsetm span.linemarker,
article div.ulsetm p.linemarker,
article div.ulsetm div.linemarker {
	position: relative;
	margin-left: -1.5em;
	display: block;
}

/* 左ライン */
article div.pointl,
article span.pointl {
	position: relative;
	display: block;
	margin: 4px 0 4px 8px;
	padding: 0 0 0 0.5em;
	border-left: 3px solid lightsalmon;
	break-inside: avoid;
}
article div.pointl_gy,
article span.pointl_gy {
	position: relative;
	display: block;
	margin: 4px 0 4px 8px;
	padding: 0 0 0 0.5em;
	border-left: 3px solid darkgray;
	break-inside: avoid;
}

/*---------------------------------------------------------------------------------- リンク*/

article section a, main header a {
	display: inline-block;
	padding: 0 4px;
	color: white;
	background-color: royalblue;
	border-radius: 4px;
}
article section a:visited, main header a:visited {
	background-color: slateblue;
}
article section a.external:after {
	content: "";
	display: inline-block;
	width: 14px;
	height: 14px;
	margin: 2px 4px;
	background: url("../_image/external_link_14.svg") no-repeat;
	background-size: contain;
	vertical-align: middle;
}


/*---------------------------------------------------------------------------------- 図 */

article span.caption {
	display: block;
	margin: 0 auto;
	color: tomato;
	text-align: center;
}

article figure {
	break-inside: avoid;
	background-color: transparent;
}
article figure.center {
	margin: 0 0 10px 0;
	text-align: center;
}
article figure.left {
	margin: 0 7px 10px 0;
	float: left;
}
article figure.right {
	margin: 0 0 10px 7px;
	float: right;
}
article figure.ib {/* 後で確認 */
	display: inline-block;
}

article figcaption {
	padding: 0;
	text-align: center;
	color: tomato;
}

/*----------------------------------------------------------------------------------  表 */

article table {
/*	margin: 0 0 10px 0;*/
	margin: 0 auto 10px auto;
	break-inside: avoid;
}

article table th {
/* widthなど細かい設定はそれぞれのページ用のcssで */
	border: 1px solid gray;
	background-color: gainsboro;
	text-align: center;
	font-weight: normal;
}
article table td {
/* widthなど細かい設定はそれぞれのページ用のcssで */
	border: 1px solid gray;
	text-align: center;
}

article table th.wakugai,
article table td.wakugai {
	border: none;
	background-color: transparent;
}

article table caption {
	text-align: center;
	color: tomato;
}

/*---------------------------------------------------------------------------------- 区切り線 */

article hr {
	width: calc(100% - 80px);
	margin: 16px auto;
	border-top: 3px double darkgray;
}

article hr.level2 {
	border-top: 1px dashed gray;
}

article hr.level3 {
	border-top: 1px dashed darkgray;
}

/*---------------------------------------------------------------------------------- 段組 */

/*------------------------------------------ レスポンシブに段組 */
article div.maxcol2,
article div.maxcol3 {
	margin: 0 0 8px 0;
}

div.break2, div.break3 {
	break-after: auto;
}

/*------------------------------------------ すべての画面サイズで段組 */
article span.alwayscolumn, article div.alwayscolumn {
	display: -webkit-flex;
	display: flex;

	-webkit-justify-content: space-between;
	justify-content: space-between;

	-webkit-align-items: stretch;
	align-items: stretch;

	margin: 0;

	border-top: 1px dashed gray;
	border-bottom: 1px dashed gray;

	break-inside: avoid;
}

article span.alwayscolumn > span, article div.alwayscolumn > div {
	display: block;

	-webkit-flex: 1;
	flex: 1;

	margin: 0 4px;
	border-right: 1px solid silver;
}
article span.alwayscolumn > span:nth-child(1), article div.alwayscolumn > div:nth-child(1), article span.alwayscolumn > span.noborder {
	margin: 0 4px 0 0;
}
article span.alwayscolumn > span:nth-last-child(1), article div.alwayscolumn > div:nth-last-child(1), article span.alwayscolumn > span.noborder {
	margin: 0 0 0 4px;
	border-right: none;
}

/* センター寄せ */
article div.alwayscolumn.centering {
	-webkit-justify-content: center;
	justify-content: center;
}
article div.alwayscolumn.centering > * {
	margin-left: 10px;
	margin-right: 10px;
}




/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
/*■ スマートフォン：～666px   ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/


/*---------------------------------------------------------------------------------- セクション(囲み記事) */

article > section > h1 {
	border-width: 1px;
	border-style: solid;
}

article section p {
/*	margin: 7px 0;*/
}

/*---------------------------------------------------------------------------------- 図表の固定 */
div.fixFig {
	position: relative;
	width: 100%;
/*	background-color: white;*/
	z-index: 100;
}
section div.chapterBody details div.fixFig { /* 「途中式」「詳しく」 の中の図は背景がgainsboro */
/*	background-color: gainsboro;*/
}
div.fixFig label.fixFig {
	position: relative;
	float: right;
	z-index: 120;
	user-select: none;
	color: cornflowerblue;
}
div.fixFig label.fixFig + figure {
	z-index: 110;
}
div.fixFig label.fixFig + figure figcaption {
	padding-top: 4px;
	padding-left: 80px;
}
div.fixFig label.fixFig + figure img,
div.fixFig label.fixFig + figure table {	/* safariで表示が崩れる対策 */
	clear: both;
}


/*---------------------------------------------------------------------------------- 年度インディックスページの段組 */

div.kyoukalist {
	display: block;
}
section.kyoukaitem {
	width: 100%;
	margin: 4px 0;
}






/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
/*■ タブレット：667px～884px ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
@media (min-width: 667px) {

/*---------------------------------------------------------------------------------- 段組 */

/*------------------------------------------ レスポンシブに段組 */

article div.maxcol2,
article div.maxcol3 {
	-moz-column-count: 2;
	-webkit-column-count: 2;
	column-count: 2;

	-moz-column-gap: 15px;
	-webkit-column-gap: 15px;
	column-gap: 15px;

	-moz-column-rule: dashed silver 1px;
	-webkit-column-rule: dashed silver 1px;
	column-rule: dashed silver 1px;
}

/*------------------------------------------ レスポンシブに段組用改段位置コンロトール */

article div.nobreak,
article section.nobreak,
article div.fixFig,
article figure {
	break-inside: avoid;
}

div.maxcol2 div.break2:nth-child(1 of .break2),
div.maxcol3 div.break2:nth-child(1 of .break2) {
	break-after: column;
}

/*---------------------------------------------------------------------------------- 図表の固定 */

div.fixFig {
	position: relative;
	padding-bottom: 0;
	border-bottom: none;
}
div.fixFig label.fixFig {
	display: none;
}
div.fixFig label.fixFig + figure figcaption {
	padding: 0;
}

/*---------------------------------------------------------------------------------- 年度インディックスページの段組 */

div.kyoukalist {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
section.kyoukaitem {
	width: calc((100% - 15px)/2);
}

}



/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
/*■ デスクトップ小：885px～1201px   ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
@media (min-width: 885px) {


/*---------------------------------------------------------------------------------- セクション(囲み記事) */

article > section div.chapterBody {
	padding: 7px;
}

article > section {
	border-width: 1px;
	border-style: solid;
	border-radius: 4px;
}
article > section > h1 {
	border-top: none;
	border-right: none;
	border-left: none;
}

/*------------------------------------------ 見出し */

article section > h2 {
	border-radius: 3px 3px 0 0;
}

}




/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
/*■ デスクトップ中：1202px～1501px   ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
@media (min-width: 1202px) {

/*---------------------------------------------------------------------------------- 段組 */

/*------------------------------------------ レスポンシブに段組 */

article div.maxcol3 {
	-moz-column-count: 3;
	-webkit-column-count: 3;
	column-count: 3;
}

article div.colleft,
article div.colcenter {
	width: calc((((100% - (15px * 2)) / 3) *2 ) + 15px);
}
article div.colleft {
	padding-right: 7px;
	border-right: dashed silver 1px;
}
article div.colcenter {
	margin-left: auto;
	margin-right: auto;
	padding-left: 7px;
	padding-right: 7px;
	border-left: dashed silver 1px;
	border-right: dashed silver 1px;
}

/*------------------------------------------ レスポンシブに段組用改段位置コンロトール */

div.maxcol3 div.break2:nth-child(1 of .break2) {
	break-after: auto;
}
div.maxcol3 div.break3:nth-child(-n+2 of .break3) {
	break-after: column;
}

/*---------------------------------------------------------------------------------- 区切り線 */

article hr {
	margin: 24px auto;
}

}




/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
/*■ デスクトップ大：1502px～ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
@media (min-width: 1502px) {


}
