@charset "utf-8";

h1 { font-size: 1.8rem;}
h2 { font-size: 1.6rem;}
h3 { font-size: 1.4rem;}
h4 { font-size: 1.2rem;}
h5 { font-size: 1.0rem; font-weight: normal;}
h2, h3, h4, dt, strong, em {		/* -------- h1 は対応しない！ */
	font-weight: bold;
}
h1, h2, h3 {		/* -------- h3 h4 は対応しない！ */
	font-family: 'M PLUS Rounded 1c', sans-serif;
}
a {
	text-decoration: none;
	transition: .3s;
	color: #33f;
}
a:link, a:visited, a:active, a:focus {
	text-decoration: none;
	color: #33f;
}
div a:hover, p a:hover, li a:hover, dd a:hover {
	text-decoration: none;
	color: #f63;
}
a img:hover {
	transition: .3s;
	opacity: 0.6;
}
/* ------------------
------------------ */
html, footer {
	background-color: #6d8764;
}
body {
	color: #444;
}
header {
	background-color: #fff;
	border-top: 8px solid #fdd;
	padding: 20px 0;
	}
#h1_cover {
	text-align: center;
	margin-bottom: 10px;
}
#headline {
	line-height: 1.2;
}
@media (min-width: 768px) {
	#h1_cover {
		text-align: right;
		background: url(../images/logomark.png) no-repeat left center white;
		background-size: contain;
	}
}
#header_nav ul {
	display: flex;
}
#header_nav ul li {
	flex: 1;
	text-align: center;
}
@media (min-width: 768px) {
	#header_nav ul li br {
		display: none;
	}
}
#header_nav ul li a {
	display: block;
	width: 100%;
	height: 100%;
	border: 4px solid #eee;
	border-width: 4px 0;
	padding: 6px 0;
	line-height: 1.2;
	color: #444;
}
#header_nav ul li.curpage a {
	border-color: red;
	color: red;
}
#header_nav ul li a:hover {
	background-color: #eee;
	color: red;
}
#header_nav ul li a i { /* アイコンと HOME の間を開けるためだけの定義 */
	display: inline-block;
	width: 2.5rem;
	text-align: center;
}
footer {
	color: #fff;
	padding: 20px 0 40px 0;
	text-align: center;
}
.footer_CopyRight {
}
#footer_nav {
	margin-bottom: 20px;
	line-height: 1.2;
}
#footer_nav ul {
	display: flex; /* リストを横並びにする */
	list-style: none; /* 最初についている黒丸を消す */
	justify-content:center;
	padding: 0;
	gap: 1.2rem; /* リストとリストの間のすきま */
}
#footer_nav ul li br {
	display: none;
}
#footer_nav ul li a {
	color: #ff0;
}
#footer_nav ul li.curpage a {
	color: orange;
	font-weight: bold;
}
#footer_nav ul li a:hover {
	color: orange;
}
#GoTop {
	position: fixed;
	right: 20px;
	bottom: 20px;
	width: 80px;
	height: 80px;
	line-height: 84px;
	text-align: center;
	border-radius: 40px;
	background-color: rgba(102,102,102,0.5);
	color: #fff;
	transition: .3s;
}
#GoTop:hover {
	background-color: pink;
}
/* ------------------
------------------ */
.contents {
	background-color: #fee;
}
#page_title + .contents {
	padding-top: 30px;
}
#page_title {
	background: url(../images/bg_h1.jpg) repeat-x center center;
	height: 60px;
}
#page_title h1 {
	line-height: 60px;
	color: white;
	-webkit-text-stroke: 3px black;
	text-stroke: 3px black;
	paint-order: stroke;
	text-shadow: 0 0 12px #09f;
	text-align: center;
}
@media (min-width: 768px) {
	#page_title {
		height: 80px;
	}
	#page_title h1 {
		line-height: 80px;
		text-align: left;
	}
}
#TopImage0 {
	position: relative;
	background: url(../images/img-top0.png) no-repeat center center;
	background-size: cover;
	border-radius: 8px;
}
#TopImage0_msg {
	position: absolute;
	width: 100%;
	text-align: center;
	top: 40px;
}
#TopImage0_msg h1, #TopImage0_msg p {
	font-weight: bold;
	color: white;
	-webkit-text-stroke: 3px black;
	text-stroke: 3px black;
	paint-order: stroke;
	text-shadow: 0 0 12px #09f;
}
#TopImage0_msg p {
	display: none;
	font-size: 1.2rem;
}
@media (min-width: 768px) {
	#TopImage0_msg {
		position: absolute;
		text-align: left;
		width: auto;
		left: 40px;
	}
	#TopImage0_msg p {
		display: block;
	}
}
/* ------------------
------------------ */
section {
	margin-bottom: 30px;
}
article {
	background-color: white;
	border: 1px solid #ddd;
	border-radius: 8px;
	padding: 14px;
	margin-bottom: 30px;
}
article > h2 {
	line-height: 1.2;
}
article h2:first-child, article h4 {
	color: mediumseagreen;
}
article * + p {
	margin-top: 10px;
}
article h4 + p {
	margin-top: 0;
}
article h3:first-child {
	background-color: darkseagreen;
	background-color: #489E48;
	background-color: #6d8764;
	color: white;
	padding: .6rem;
	margin: -14px -14px 0 -14px;
	border-radius: 8px 8px 0 0;
	font-size: 1.2rem;
	font-weight: normal;
	text-align: center;
}
article h4 {
	margin-top: 20px;
}
article h4.p_plus {
	margin-top: 0;
}
article.bg_logo {
	background: url(../images/bg-logo.png) no-repeat right bottom white;
}
.sp_article {
	border: 2px solid #999;
	background-color: #f6f6ff;
	color: black;
}
.sp_article h3:first-child {
	background-color: #999;
}

/* ------------------
記事内の補助画像（300☓300）
------------------ */
.pic_in_article {
	width: 160px;
	height: auto;
}
@media (min-width: 768px) {
	.pic_in_article { 	width: 200px; }
}
@media (max-width:399px) {	/* 旧スマホ */
	.pic_in_article { 	width: 120px; }
}
.va-middle {
	vertical-align: middle;
}
.center_to_right {
	display: block;
	text-align: center;
}
@media (min-width: 768px) {
	.center_to_right {
		float: right;
		margin-left: 20px;
	}
}
/* --------------
-------------- */
.UsuallyTable {
	margin: 20px 0;
}
.UsuallyTable th, .UsuallyTable td {
	padding: 4px 8px;
}
.UsuallyTable th {
	border: 2px solid white;
}
.UsuallyTable th {
	color: black;
	background-color: #e9e9e9;
	font-weight: normal;
	text-align: left;
	vertical-align: top;
}
td i {
	display: inline-block;
	text-align: center;
	width: 2rem;
	color: darkblue;
}

/* ------------------
開閉記事
------------------ */
.dsp_onof {
	border: 1px solid #ccc;
	border-radius: 6px;
	padding: 10px;
	margin-bottom: 40px;
}
.dsp_onof_control {
	cursor: pointer;
	color: #33f;
	transition: .3s;
	position: relative;
}
.dsp_onof_control::after {
	position: absolute;
	top: 0;
	right: 0.1em;
	font-family: 'FontAwesome';
	content: "\f196";
}
.dsp_onof_control.is_open::after {
	position: absolute;
	top: 0;
	right: 0.1em;
	font-family: 'FontAwesome';
	content: "\f147";
}
.dsp_onof_control:hover {
	color: #f63;
}
.dsp_onof_body, .dsp_onof_body2 {
	display: none;
	margin-top: 20px;
}
.dsp_onof_body dd:after, .dsp_onof_body dd:after {
	content: "";
	display: block;
	clear: both;
}


