@charset "UTF-8";

/* =====  ロゴ  ===== */
body {
	position: relative;
	background: #f1f1f1;
}

/* =====  ボディ  ===== */
article {
	padding: 1rem;
	flex-grow: 1;
}

/* ===== パンくずリスト ===== */
article nav#breadcrumb {}

article nav#breadcrumb ol {
	display: flex;
	align-items: center;
	margin-bottom: 1rem;
}

article nav#breadcrumb ol li {
	float: left;
	margin-right: 10px;
	padding-left: 20px;
	background: url(../images/bc_allow.png) no-repeat 0 50%;
}

article nav#breadcrumb ol li a {
	text-decoration: underline;
}

article nav#breadcrumb ol li a:hover {
	text-decoration: underline;
}

article nav#breadcrumb ol li#bc_home {
	padding-left: 0;
	background: none;
}

article nav#breadcrumb ol li#bc_home a {
	display: block;
	background: url(../images/bc_home.png) no-repeat 0 0;
	width: 14px;
	height: 13px;
	text-indent: -9999px;
}

article section {
	background: #fff;
}

article section#main {
	width: 75%;
	float: left;
	box-sizing: border-box;
	border-right: 25px solid #f1f1f1;
}

article section#menu {
	width: 25%;
	float: right;
}

/* ===== 下層ページ（共通項目） ===== */
article section#main div.inner {
	margin: 40px 40px 80px;
}

article section#menu div.inner {
	margin: 40px 20px 80px;
}

/* ===== メイン ===== */
article section#main h1 {
	font-size: 2.2em;
	font-weight: bold;
	color: #17458f;
	border-bottom: 5px #17458f solid;
	margin-bottom: .25em;
}

article section#main h2 {
	position: relative;
	display: inline-block;
	font-size: 1.8em;
	background: linear-gradient(transparent 50%, #d8e4f8 50%);
	padding: .5em;
	padding-bottom: .25em;
	margin-bottom: 1em;
}

article section#main h3 {
	font-size: 1.4em;
	border-left: 5px #fde4b5 solid;
	border-bottom: 2px #e7e7eb dashed;
	padding: .5em;
	margin-bottom: 1em;
}

article section#main h3 a {
	display: inline-block;
	background: url(../images/btn_h3_right_open.png) no-repeat 0 / 1rem;
	padding-left: 1.2em;
}

article section#main h3 a:not(:hover) {
	color: #333333;
	text-decoration: none;
}

article section#main h3 a:hover {
	text-decoration: underline;
}

article section#main h3 span.date {
	float: right;
	font-size: .7em;
	color: #666;
	line-height: 1.8em;
}

article section#main h3 a.open {
	display: block;
	font-weight: normal;
	background: url(../images/btn_h3_right_open.png) no-repeat 0 / 1rem;
	padding-left: 1.2em;
}

article section#main h3 a.close {
	display: block;
	font-weight: normal;
	background: url(../images/btn_h3_right_close.png) no-repeat 0 / 1rem;
	padding-left: 1.2em;
}

article section#main .mtg_article h4 {
	font-size: 1.2em;
	padding: .5em 0;
	margin-bottom: 0;
}

article section#main .mtg_article table {
	border-top: 2px #17458f solid;
	width: 100%;
	margin-bottom: 3em;
}

article section#main .mtg_article table th,
article section#main .mtg_article table td {
	font-size: 1.2em;
	border-bottom: 1px #17458f solid;
	padding: 12px;
	vertical-align: top;
}

article section#main .mtg_article table th {
	font-size: 1.2em;
	border-bottom: 1px #17458f solid;
	font-weight: normal;
	text-align: left;
	width: 20%;
}

/* ===== メニュー ===== */
article section#menu h1 {
	font-size: 1.8em;
	font-weight: normal;
	color: #fff;
	background-color: #17458f;
	padding: .5em;
	margin-bottom: 1em;
}

article section#menu h2 {
	font-size: 1.2em;
	border-bottom: 3px #17458f solid;
	padding: .5em;
	margin-bottom: 1em;
}

/* ===== メニュー ===== */
article section#menu ul {
	font-size: 1.2em;
	margin-bottom: 40px;
}

article section#menu ul li {
	line-height: 1.8;
	background: url(../images/menu_bullet_li.png) no-repeat 0 12px;
	padding-left: 12px;
}

article section#menu ul li.current {
	font-weight: bold;
}

@media screen and (max-width: 768px) and (min-width: 481px) {
	article {
		padding: 20px;
	}

	article section#main {
		width: 100%;
		float: none;
		border-right: none;
		box-sizing: border-box;
		padding: 5px 0;
	}

	article section#menu {
		width: 100%;
		float: none;
		padding: 5px 0;
		border-bottom: 20px solid #f1f1f1;
	}

	article section#main div.inner {
		margin: 20px;
	}

	article section#menu div.inner {
		margin: 20px 20px 0;
	}

	article section#menu div.blg_menu {
		display: none;
	}
}

@media screen and (max-width: 480px) {
	article {
		padding: 20px;
	}

	article section#main {
		width: 100%;
		float: none;
		border-right: none;
		box-sizing: border-box;
		padding: 5px 0;
	}

	article section#menu {
		width: 100%;
		float: none;
		padding: 5px 0;
		border-bottom: 20px solid #f1f1f1;
	}

	article section#main div.inner {
		margin: 20px;
	}

	article section#menu div.inner {
		margin: 20px 20px 0;
	}

	article section#menu div.blg_menu {
		display: none;
	}
}
