/* ### レイアウト（全体） ### */
#contents_container {}
#contents_container #header {
	position: relative;
	z-index: 2;
	height: 80px;
	margin-bottom: 40px;
	background-color: #197912;
	background-image: -webkit-linear-gradient(top, #319629, #197912);
	background-image: linear-gradient(to bottom, #319629, #197912);
	box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.25);
}
#contents_container #top_image {
	margin-bottom: 40px;
	background-color: #0a2908;
	background-image: url(../images/bg_top_image.png), -webkit-linear-gradient(top, #144e10, #0a2908);
	background-image: url(../images/bg_top_image.png), linear-gradient(to bottom, #144e10, #0a2908);
	background-position: bottom;
	background-repeat: repeat-x;
	border-bottom: 1px solid rgba(0, 0, 0, 0);
}
#contents_container #contents {
	width: 960px;
	margin: 0 auto 40px;
}
#contents_container #contents #column_main {
	float: right;
	width: 640px;
}
#contents_container #contents #column_sub {
	float: left;
	width: 280px;
}
#contents_container #footer {
	width: 100%;
	height: 40px;
	background-color: #197912;
	background-image: -webkit-linear-gradient(top, #319629, #197912);
	background-image: linear-gradient(to bottom, #319629, #197912);
	box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.25) inset;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
/* ### レイアウト（個別） ### */
/* ヘッダータイトル */
#header #header_title {
	width: 960px;
	margin: auto;
	padding-top: 15px;
}
#header #header_title h1 {
	margin-bottom: 8px;
	padding-left: 40px;
	font-size: 30px;
	font-weight: bold;
	letter-spacing: 2px;
	text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.4);
	background-image: url(../images/school_badge.png);
	background-repeat: no-repeat;
	background-position: left center;
	background-size: auto 30px;
}
#header #header_title h1 a {
	color: #fff;
	text-decoration: none;
}
#header #header_title p {
	color: #eee;
	font-size: 11px;
}
/* フッター */
#footer p.copyright {
	text-align: center;
	color: #eee;
	font-size: 11px;
	line-height: 40px;
}
/* ### コンテンツメイン ### */
#column_main .contents_body {
	margin-bottom: 40px;
	padding: 20px;
	border: 1px solid #ccc;
	border-radius: 0 0 4px 4px;
}
/* 文字設定 */
#column_main h2 {
	padding: 10px 20px;
	color: #fff;
	font-size: 20px;
	line-height: 24px;
	border-radius: 4px 4px 0 0;
	background-color: #197912;
	background-image: -webkit-linear-gradient(top, #319629, #197912);
	background-image: linear-gradient(to bottom, #319629, #197912);
}
#column_main .text, #column_main .text li {
	font-size: 14px;
	line-height: 20px;
}
#column_main p.text {
	margin-bottom: 20px;
}
#column_main ol.text {
	margin-left: 30px;
	margin-bottom: 20px;
}
#column_main ol.text li {
	list-style-type: decimal;
	margin-bottom: 5px;
}
#column_main ul.text {
	margin-left: 20px;
	margin-bottom: 20px;
}
#column_main ul.text li {
	list-style-type: disc;
	margin-bottom: 5px;
}
#column_main .text_red {
	color: #f00;
}
#column_main ol.text ul.text, #column_main ul.text ol.text {
	margin-top: 10px;
}
#column_main p.text_indent {
	padding-left: 1em;
	text-indent: -1em;
}
/* その他設定 */
#column_main hr {
	margin-bottom: 30px;
	border: none;
	border-bottom: 1px solid #ccc;
}
/* トップイメージ（スライドイメージ） */
.bx-wrapper {
	width: 960px;
}
/* トップぺージ　同窓会開催報告のバナー */
#column_main div.banner_report {
	width: 100%;
	margin-bottom: 30px;
	background-image: url(../images/bg_title_banner_fes.jpg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: auto;
	border: 1px solid rgba(34, 47, 176, 0.5);
	border-radius: 4px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
#column_main div.banner_report h3 {
	padding: 50px 1em;
	color: #fff;
	text-align: center;
	font-size: 28px;
	line-height: 1.5em;
}
#column_main div.banner_report h3 a {
	display: block;
	color: #fff;
	text-decoration: none !important;
}
#column_main div.banner_report h3 a:hover {
	color: rgba(255, 255, 255, 0.75);
}
/* トップページ　同窓会開催報告のバナー　２行の場合 */
#column_main div.banner_report div.link_list {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 50px 25px;
}
#column_main div.banner_report ul {}
#column_main div.banner_report ul li {
	margin-bottom: 20px;
}
#column_main div.banner_report ul li:last-child {
	margin-bottom: 0;
}
#column_main div.banner_report ul li a {
	display: block;
	position: relative;
	padding-left: 1.15em;
	color: #fff;
	font-size: 24px;
	line-height: 1.25em;
	text-decoration: none !important;
}
#column_main div.banner_report ul li a:before {
	display: block;
	position: absolute;
	content: '';
	top: 0.25em;
	left: 0;
	width: 0.5em;
	height: 0.5em;
	border: 2px solid;
	border-color: #fff #fff transparent transparent;
	transform: rotate(45deg);
}
#column_main div.banner_report ul li a:hover, #column_main div.banner_report ul li a:hover:before {
	opacity: 0.75;
}
/* トップページ　タウンニュース特集 */
div.town_news {
	margin-bottom: 30px;
	padding: 1em;
	border: 2px solid rgba(17, 163, 4, 0.5);
	border-radius: 8px;
}
div.town_news h3 {
	color: #319629;
	font-size: 1.25em;
	font-weight: bold;
	line-height: 1.25em;
}
/* トップページ　お知らせ */
#column_main div.info_list {}
#column_main div.info_list p.caution {
	margin-bottom: 20px;
	padding-bottom: 10px;
	border-bottom: 1px dotted #ccc;
}
#column_main div.info_list ul li {
	position: relative;
	margin-bottom: 10px;
	padding: 0 10px 16px 100px;
	color: #666;
	font-size: 14px;
	line-height: 20px;
	border-bottom: 1px dotted #ccc;
}
#column_main div.info_list ul li:last-child {
	margin-bottom: 0;
	border-bottom: none;
}
#column_main div.info_list ul li span.info_date {
	display: block;
	position: absolute;
	width: 90px;
	padding: 4px 10px;
	top: 0;
	left: 0;
	color: #fff;
	text-align: center;
	font-size: 11px;
	line-height: 11px;
	background-color: #319629;
	background-image: -webkit-linear-gradient(top, #5abd52, #319629);
	background-image: linear-gradient(to bottom, #5abd52, #319629);
	border-radius: 2px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
#column_main div.info_list ul li h3 {
	margin-bottom: 0.5em;
	padding-top: 0.25em;
	font-size: 1.1em;
	font-weight: bold;
}
/* 年度チェッカー */
#column_main div.checker h2 {
	background-color: #4698d1;
	background-image: -webkit-linear-gradient(top, #59bbd7, #4698d1);
	background-image: linear-gradient(to bottom, #59bbd7, #4698d1);
}
#column_main div.checker div.column_checker {
	padding: 20px;
	text-align: center;
	background-image: -webkit-linear-gradient(top, #fff, #ecfff4);
	background-image: linear-gradient(to bottom, #fff, #ecfff4);
	border: 1px solid #baeaf6;
	border-radius: 8px;
}
#column_main div.checker div.column_checker form {
	font-size: 14px;
	line-height: 40px;
}
#column_main div.checker div.column_checker form input {
	border: 0;
	padding: 2px 4px;
	color: #666;
	font-size: 14px;
	font-family: arial, sans-serif;
	text-align: right;
	border: solid 1px #ccc;
	border-radius: 2px;
}
#column_main div.checker div.column_checker form input.button {
	padding: 5px 20px;
	color: #fff;
	text-align: center;
	background-image: -webkit-linear-gradient(top, #59bbd7, #4698d1);
	background-image: linear-gradient(to bottom, #59bbd7, #4698d1);
	border-color: #3784b0;
	border-radius: 4px;
}
/* お知らせページ */
#column_main div.info_contents {}
#column_main div.info_contents h2 span.info_date {
	display: block;
	width: 100px;
	margin-bottom: 10px;
	padding: 4px 10px;
	color: #319629;
	text-align: center;
	font-size: 12px;
	font-weight: bold;
	line-height: 12px;
	background-color: #fff;
	background-image: -webkit-linear-gradient(top, rgba(255, 255, 255, 0.85), rgba(255, 255, 255, 1));
	background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.85), rgba(255, 255, 255, 1));
	border-radius: 2px;
}
/* 前後のナビ */
nav.before_and_after {
	margin-bottom: 10px;
	background-color: #fff;
	border: 1px solid rgba(17, 163, 4, 0.5);
	border-radius: 5px;
}
nav.before_and_after ul li.none {
	float: left;
	width: 33.3%;
	height: 36px;
	border-right: 1px solid rgba(17, 163, 4, 0.5);
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
nav.before_and_after ul li a {
	float: left;
	display: block;
	position: relative;
	width: 33.3%;
	padding: 10px;
	text-align: center;
	font-size: 14px;
	border-right: 1px solid rgba(17, 163, 4, 0.5);
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
nav.before_and_after ul li.next a {
	border-right: none;
}
nav.before_and_after ul li.prev a::after {
	display: block;
	position: absolute;
	top: 50%;
	left: 5px;
	content: '';
	width: 5px;
	height: 5px;
	margin-top: -4px;
	border-top: 1.5px solid rgba(17, 163, 4, 0.5);
	border-right: 1.5px solid rgba(17, 163, 4, 0.5);
	-webkit-transform: rotate(-135deg);
	transform: rotate(-135deg);
}
nav.before_and_after ul li.next a::after {
	display: block;
	position: absolute;
	top: 50%;
	right: 5px;
	content: '';
	width: 5px;
	height: 5px;
	margin-top: -4px;
	border-top: 1.5px solid rgba(17, 163, 4, 0.5);
	border-right: 1.5px solid rgba(17, 163, 4, 0.5);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
/* 表組 */
#column_main table.text {
	width: 100%;
	margin-bottom: 20px;
}
#column_main table.text th, #column_main table.text td {
	padding: 8px;
	color: #666;
	text-align: center;
	font-size: 14px;
	line-height: 20px;
	border-bottom: 1px solid #ccc;
}
#column_main table.text th {
	vertical-align: top;
	background-color: #e3f9ec;
}
#column_main table.text tr:first-child th {
	color: #fff;
	background-image: -webkit-linear-gradient(top, #319629, #197912);
	background-image: linear-gradient(to bottom, #319629, #197912);
}
/* お問い合わせフォーム */
#column_main table.mail_form {
	width: 100%;
	margin-bottom: 20px;
	border-top: 1px solid #ccc;
}
#column_main table.mail_form th, #column_main table.mail_form td {
	margin-bottom: 10px;
	padding: 8px;
	color: #666;
	font-size: 14px;
	line-height: 20px;
	border-bottom: 1px solid #ccc;
}
#column_main table.mail_form th {
	width: 30%;
	text-align: center;
	background-color: #e3f9ec;
}
#column_main table.mail_form input, #column_main table.mail_form textarea {
	width: 100%;
	padding: 5px;
	font-size: 14px;
	color: #666;
	border: 1px solid #ccc;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
}
#column_main table.mail_form td.form_bottom {
	text-align: center;
	background-color: #cfe4d7;
}
/* メールフォームのボタン */
#column_main button {
	margin: 10px 5px;
	padding: 5px 20px;
	color: #666;
	font-size: 13px;
	background-image: -webkit-linear-gradient(top, #fff, #e3f9ec);
	background-image: linear-gradient(to bottom, #fff, #e3f9ec);
	border: 1px solid #999;
	border-radius: 8px;
}
/* メールフォームのメッセージ（CGI） */
#column_main div.mail_form_message {
	margin: 40px 20px;
	text-align: center;
}
#column_main div.mail_form_message p {
	font-size: 16px;
	line-height: 2em;
}
#column_main span.msg {
	color: #f00;
}
/* ### メインナビ ### */
#column_sub nav {
	width: 100%;
	border: 2px solid rgba(17, 163, 4, 0.5);
	border-radius: 8px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
#column_sub nav li a {
	display: block;
	position: relative;
	border-bottom: 1px solid rgba(17, 163, 4, 0.75);
}
#column_sub nav li:first-child a {
	border-radius: 6px 6px 0 0;
}
#column_sub nav li:last-child a {
	border-bottom: none !important;
	border-radius: 0 0 6px 6px;
}
/* メインボタン */
#column_sub nav li.button_main a {
	padding: 20px 20px 20px 24px;
	font-size: 16px;
	line-height: 16px;
	background-image: url(../images/icon_button_main.png), -webkit-linear-gradient(top, #fff, #e3f9ec);
	background-image: url(../images/icon_button_main.png), linear-gradient(to bottom, #fff, #e3f9ec);
	background-repeat: no-repeat, repeat;
	background-position: 8px center;
	background-size: 12px auto, auto;
}
#column_sub nav li.button_main a::after {
	display: block;
	position: absolute;
	top: 50%;
	right: 10px;
	content: '';
	width: 5px;
	height: 5px;
	margin-top: -4px;
	border-top: 2px solid rgba(17, 163, 4, 0.5);
	border-right: 2px solid rgba(17, 163, 4, 0.5);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
/* サブボタン */
#column_sub nav li.button_sub a {
	padding: 12px 20px 12px 24px;
	font-size: 14px;
	line-height: 14px;
	background-image: url(../images/icon_button_sub.png), -webkit-linear-gradient(top, #fff, #e3f9ec);
	background-image: url(../images/icon_button_sub.png), linear-gradient(to bottom, #fff, #e3f9ec);
	background-repeat: no-repeat, repeat;
	background-position: 8px center;
	background-size: 12px auto, auto;
}
#column_sub nav li.button_sub a::after {
	display: block;
	position: absolute;
	top: 50%;
	right: 10px;
	content: '';
	width: 5px;
	height: 5px;
	margin-top: -4px;
	border-top: 2px solid rgba(17, 163, 4, 0.5);
	border-right: 2px solid rgba(17, 163, 4, 0.5);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
/* アクティブ */
#column_sub nav li.active a {
	padding: 20px 20px 20px 24px;
	color: #fff;
	font-size: 16px;
	line-height: 16px;
	text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.75);
	background-image: url(../images/bg_button_active.png) !important;
	background-position: center !important;
	background-size: 100% !important;
}
#column_sub nav li.active a::after {
	border-top: none;
	border-right: none;
}