@charset "utf-8";
/* CSS Document */


/*---------------------------------------------------------------------------------- メインナビ */

/*------------------------------------------ h1 */

nav#nav_main {
	border: 1px solid darkgray;
	border-radius: 4px;
}
nav#nav_main > h1 {
	border-bottom: 1px solid darkgray;
}
nav#nav_main > h1 {
	padding: 3px 0 0 0;
	text-align: center;
	font-size: 16px;
}
nav#nav_main > h1 span.uppercategory {
	display: block;
	font-size: 10px;
}

/*------------------------------------------ 目次 */

nav#nav_main dl {
	margin: 0 7px 7px 7px
}
nav#nav_main dl dt {
	margin: 6px 0 0 0;
	text-align: center;
}

/*---------------------------------- unit 用 */

nav#nav_main dl.subjects a {
	margin: 0 0 4px 0;
	display: block;
	padding: 4px 0;
	text-align: center;
	line-height: 1.2;
	border-width: 2px;
	border-style: solid;
	border-radius: 4px;
}

/*---------------------------------- dnk, center 用 */

nav#nav_main dl.years dd ul {
	width: calc(100% - 4px);
	margin: 0 2px;

	display: -webkit-flex;
	display: flex;

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

	-webkit-flex-wrap: nowrap;
	flex-wrap: nowrap;
}

nav#nav_main dl.years dd li {
	display: block;
	margin: 0 2px 4px 2px;
	width: calc((100% - 16px) / 3);
	flex-grow: 1;
}
nav#nav_main dl.years dd a {
	display: block;
	padding: 7px 0 5px 0;
	border-width: 2px;
	border-style: solid;
	border-radius: 4px;
	line-height: 1.2;
	text-align: center;
}


/*---------------------------------------------------------------------------------- main */

/*------------------------------------------------------------------ unit用 */

article img {
	vertical-align: middle;
}

/*------------------------------------------ section */

article section {
	margin:0 0 12px 0;
	background-color: transparent;
	border-width: 1px;
	border-style: solid;
	border-radius: 4px;
}
article section h1 {
	padding: 0;
	font-size: 20px;
	font-weight: normal;
}
article section div.sectionbody {
	padding: 4px;
}

/*------------------------------------------ リンクボタン */

article dl.contents dt {
	margin: 6px 0 0 0;
	text-align: center;
}

article dl.contents dt.contentsnote {
	margin: 4px;
	padding: 4px 7px;
	text-align: left;
	border-width: 1px;
	border-style: solid;
	border-radius: 4px;
}
article dl.contents dt.contentsnote div.maxcol2,
article dl.contents dt.contentsnote div.maxcol3 {
	margin-top: 6px;
	-moz-column-rule: solid silver 1px;
	-webkit-column-rule: solid silver 1px;
	column-rule: solid silver 1px;
}

article dl.contents dd {
	width: calc(100% - 4px);
	margin: 0 2px;

	display: -webkit-flex;
	display: flex;

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

	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}

article dl.contents dd a {
	display: block;
	margin: 0 2px 4px 2px;
	padding: 8px 0;
	width: calc((100% - 16px) / 3);
	min-width: 220px;
	border-radius: 4px;
	flex-grow: 1;
	line-height: 1.2;
	text-align: center;
}

/*------------------------------------------------------------------ dnk, center用 */

/*------------------------------------------ section */

main section.kyoukaitem {
	border: none;
}

/*------------------------------------------ table型目次 */
/* colspan に widthを指定すると表示がおかしくなるのを回避するために変な設定になっている*/

/* 全体 */
main table.contents {
	margin: 4px 0 16px 0;
	width: 100%;
}

/* 250303 comment out
main table.contents caption {
	margin: 10px 0 6px 0;
	padding: 0 10px;
	color: royalblue;
	border: 1px solid royalblue;
}*/


/* セル */
main table.contents th, main table.contents td {
	color: dimgray;
	border: 1px solid gray;
	text-align: center;
	vertical-align: middle;
	font-weight: normal;
}

main table.contents th {
	height: 28px;
	background-color: whitesmoke;
}
main table.contents td {
	height: 60px;
	background-color: transparent;
}

main table.contents thead th.question1a {
	width: 50px;
	border-right: transparent;
}
main table.contents thead th.question1b {
	width: 27px;
	border-right: transparent;
	border-left: transparent;
	text-align: right;
}
main table.contents thead th.commentary {
	width: 82px;
	border-left: transparent;
	text-align: left;
}
main table.contents thead th.subject {
	width: 34px;
}
main table.contents thead th.unit {
	width: auto;
}

main table.contents th.question2 {
	width: auto;
}

/* リンク */
main table.contents a {
	display: inline-block;
	margin: 4px auto;
	padding: 5px 0 3px 0;
	width: calc(100% - 8px);
	line-height: 1.2;
	border-radius: 4px;
}

main td.commentary a {
	background-color: maroon;
}
main td.commentary a:visited {
/*	background-color: brown;*/
}
main td.commentary a + a,
main td.unit a + a {
	margin-top: -2px;
}

/*------------------------------------------ タイトル下の説明・リンク */

div.titleshita {
	display: flex;
	justify-content: space-between;
}
div.titleshita p {
	line-height: 1.2;
	text-align: right;
}
div.titleshita p.titleshita_l {
	margin-right: 30px;
	text-align: left;
}
div.titleshita  span.kaisetsubtn {	/* [解説] ボタンの凡例 */
	display: inline-block;
	padding: 2px 8px 0 8px;
	margin: 0 2px;
	color: white;
	background-color: maroon;
	border-radius: 4px;
}
div.titleshita a {
	display: inline-block;
	padding: 2px 4px 0 4px;
	color: white;
	background-color: royalblue;
	border-radius: 4px;
}
div.titleshita a:visited {
/*	background-color: slateblue;*/
}


/* Edgeの表示エラー回避用 *//*
main table.contents tr.invisible th, main table.contents tr.invisible td {
	border: none;
	background-color: transparent;
}*/




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

/* Edgeの表示エラー回避用 *//*
table.contents tr.invisible {
	display: none; 
}*/




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


/* Edgeの表示エラー回避用 *//*
table.contents tr.invisible {
	display: table-row;
}*/


}
