@charset "UTF-8";
/******************** CSS RESET ********************/
*, *::before, *::after {
	box-sizing: border-box;
}
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
img {
	max-width: 100%;
	vertical-align: bottom;
}
hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #ccc;
	margin: 1em 0;
	padding: 0;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
address {
	font-style: normal;
}
input:not([type="radio"]):not([type="checkbox"]), button, textarea {
	padding: 0;
	margin: 0;
	background: none;
	border: none;
	border-radius: 0;
	-webkit-appearance: none;
}
input[type="radio"]{
	margin-top: 0;
	padding-top: 0;
}
input,
label{
	vertical-align: middle;
}
legend{
	width: 100%;
}
/******************** 共通設定 ********************/
html{
	scroll-behavior: smooth;
	scroll-padding-top: 97px;
	overflow: auto;
}
body {
	font-family: "UD新ゴ R", "UD Shin Go Regular", arial, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	line-height: 1.5;
	letter-spacing: 0.1em;
	color: #333;
	font-size: 100%;
	-webkit-text-size-adjust: 100%;
	-webkit-overflow-scrolling: touch;
}
	@media (min-width: 1025px) {
		body{
			position: static !important;
			width: 100% !important;
		}
	}
@media (max-width: 1024px){
	html{
		scroll-padding-top: 0;
	}
}
/**** テキスト ****/
p, li {
	margin-top: 12px;
}
.small {
	font-size: 85%;
}
strong{
	color: #B50000;
}
/**** リンク ****/
a:link {
	text-decoration: underline;
	color: #2b3095;
}
a:visited {
	text-decoration: underline;
	color: #791e78;
}
a:hover {
	text-decoration: none;
	color: #860000;
}
a:hover strong{
	color: #860000;
}
a:active {
	text-decoration: none;
	color: #860000;
}
.link_white:link {
	text-decoration: underline;
	color: #fff;
}
.link_white:visited {
	text-decoration: underline;
	color: #eee;
}
.link_white:hover {
	text-decoration: underline;
	color: #ffff00;
}
.link_white:active {
	text-decoration: underline;
	color: #ffff00;
}
a:link > strong{
	color: #2b3095;
}
a:visited > strong {
	text-decoration: underline;
	color: #791e78;
}
a:hover > strong {
	text-decoration: none;
	color: #9f0000;
}
a:active > strong {
	text-decoration: none;
	color: #9f0000;
}

/**** 別ウィンドウで開く ****/
.window {
	display: inline-block;
	font-size: 62.5%;
	font-weight: normal;
	background: #e8fff4;
	color: #333;
	border-radius: 4px;
	padding: 1px 4px;
	margin: 0.3em 4px;
	border: 1px solid #a4d5be;
	vertical-align: text-bottom;
	word-wrap: break-word;
}
h2 .window{
	font-size: 56.25%;
}
.main_naka h2 .window{
	font-size: 49%;
}
/**** 本文へ_スキップ用リンク ****/
.skip {
	position: relative;
	text-align: center;
	width: 100%;
	margin: 0;
}
.skip a {
	background-color: #fff;
	width: 1px;
	font-size: 0.1%;
	line-height: 0.1;
	position: absolute;
	top: auto;
	left: -3000px;
	z-index: 9999;
	padding: 4px 0;
}
.skip a:active, .skip a:focus {
	display: block;
	width: 100%;
	margin: 0 auto;
	font-size: 100%;
	left: 0;
	right: 0;
	top: 0;
	line-height: 1.5;
}

/**** フォーム ****/
#body input, header button, #main_outline button, footer button, #body textarea {
	background: #fff;
	border: 1px solid #999;
	font-size: 85%;
}
/* text,textarea */
#body input[type="text"], #body input[type="file"], #body textarea ,#body input[type="password"] {
	font-family: "UD新ゴ R", "UD Shin Go Regular", arial, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	background: #fff;
	border: 1px solid #999;
	padding: 8px 6px;
}
/* select */
#body select[size], #body select[multiple], #body select[size][multiple] {
	padding: 6px;
}
/* submit,reset,button */
#body input[type="submit"], #body input[type="reset"],header button[type="button"],#main_outline button[type="button"],footer button[type="button"], header button, #main_outline button, footer button, #body #shelter_search, #body #reset, #body .print input[type="button"]{
	background: #316745;
	border-radius: 4px;
	cursor: pointer;
	color: #fff;
	display: inline-block;
	text-align: center;
	padding: 6px 16px;
	border: none;
}
#body input[type="submit"]:hover, #body input[type="reset"]:hover,header button[type="button"]:hover,#main_outline button[type="button"]:hover,footer button[type="button"]:hover, header button:hover, #main_outline button:hover, footer button:hover {
	background: #1f4a2f;
}
/**** 見出し等のフォント ****/
h1, h2, h3, h4, h5, h6, strong, th, em, b {
  font-family: "UD新ゴ M", "UD Shin Go Medium";
}
/**** その他 ****/
.anchor, .notit {
	display: block;
	height: 1px;
	margin-top: -1px;
}
.date {
	font-size: 85%;
	color: #555;
	display: inline-block;
	margin-left: 12px;
}
.noscript {
	font-size: 85%;
	color: #a90000;
}
.none {
	display: none;
}
/******************** レイアウトCSS ********************/

/********************************************
2カラムの場合ここにliguid.cssをの中身をコピーして、
liguid.cssは削除する
********************************************/

.design{
	clear: both;
}
.inner{
	padding: 0 12px;
	margin: 0 auto;
	max-width: 1224px;
}

/********************** ヘッダー **********************/
.main_header {
	background: #fff;
	width: 100%;
}
	@media only screen and (max-width: 1024px) {
		.main_header{
			margin-bottom: -4px;
			position: relative;
		}
	}
/**** ヘッダー上段リンク ****/
.h_top_wrap {
	font-size: 85%;
}
.h_top {
	max-width: 1224px;
	width: 100%;
	margin: 0 auto;
	padding: 28px 12px 4px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
}
.h_toplist {
	display: flex;
		align-items: center;
		justify-content: flex-end;
	margin: 4px 0 4px auto;
}
.h_toplist > li {
	margin: 0 0 0 8px;
}
.h_toplist > li a {
	display: block;
	border: 2px solid #A3D6CC;
	background: #fff;
	text-decoration: none;
	padding: 10px 8px 4px;
}
.h_toplist > li a:hover{
	background: #E8FFF4;
}
.h_toplist > li a img{
	display: block;
	margin: 0 auto 4px;
}
	@media only screen and (max-width: 1024px) {
		.h_top{
			display: block;
			padding: 0;
		}
		.h_toplist{
			display: none;
		}
	}
/* 色の反転 */
.bg_color{
	padding: 4px;
}
.bg_tit{
	padding: 0;
	margin: 0 0 4px;
}
.bg_list li{
	padding: 0;
	margin: 0 0 4px;
}
.bg_list li a{
	display: block;
	border: 1px solid #ccc;
	border-radius: 4px;
	background: #fff;
	text-decoration: none;
	padding: 0 4px;
	text-align: center;
}
.bg_list li:last-child a{
	background: #000;
}
.bg_list li:last-child a > strong {
	color: #fff;
}
	@media only screen and (max-width: 1024px) {
		.bg_color{
			padding: 12px 4px 8px;
		}
		.bg_list{
			display: flex;
		}
		.sp_nav .sidr_navi_sub .bg_list li a{
			display: block;
		  border: 1px solid #ccc;
		  border-radius: 4px;
		  background: #fff;
		  text-decoration: none;
		  padding: 8px 4px;
		  text-align: center;
		}
		.sp_nav .sidr_navi_sub .bg_list li:last-child a {
		  background: #000;
		}
	}

/* 文字サイズ */
.font_size {
	padding: 4px;
}
.font_tit {
	margin: 0 0 4px;
}
.font_list li {
	margin: 0 0 4px;
}
.font_list li a{
	display: block;
  border: 1px solid #ccc;
  border-radius: 4px;
  background: #fff;
  text-decoration: none;
  padding: 0 4px;
  text-align: center;
}
	@media only screen and (max-width: 1024px) {
		.font_list{
			display: flex;
		}
		.sp_nav .sidr_navi_sub .font_list li a{
			display: block;
		  border: 1px solid #ccc;
		  border-radius: 4px;
		  background: #fff;
		  text-decoration: none;
		  padding: 8px 4px;
		  text-align: center;
		}
	}
/* 音声読み上げ */
.shien_list > li.yomiage{
	padding: 4px;
}
.shien_list > li.yomiage .font_tit{
	font-size: 95%;
}

/**** 検索 ****/
.src_box_h{
	max-width: 300px;
	margin: 12px 0 0 auto;
}
.src_box.src_box_h .q{
	height: 40px !important;
}
.src_box.src_box_h #search_button_h{
	min-height: 40px;
}
/**** ヘッダーメイン ****/
.h_main {
	display: flex;
		align-items: center;
}
.h_main .h1 {
	margin: 0;
	width: 480px;
	position: relative;
}
.h_main .h1 span{
	position: absolute;
	top: 112px;
	left: calc(50% - 50px);
	text-decoration: none;
	background: #316745;
	color: #fff;
	padding: 2px 4px;
	font-size: 85%;
	min-width: 100px;
	text-align: center;
}
.h_main .h1 a:hover span{
	background: #1f4a2f;
}
.sp_lang{
	display: none;
}
.sp_lang .language > .lang_btn a{
	width: 62px;
	min-height: 62px;
	padding: 0;
	font-size: 85%;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	border: 2px solid #dff0ed;
}
.sp_lang .lang_btn a span{
	display: block;
}
.sp_lang .lang_btn a span img{
	position: absolute;
	top: 10px;
  left: calc(50% - 10px);
}
.sp_lang .lang_btn a span:nth-of-type(2){
	padding-top: 20px;
	word-break: break-all;
}
.sp_lang .language > div{
	width: calc(100vw - 24px);
	right: 0;
	top: calc(100% + 12px);
	border: 1px solid #316745;
	left: auto;
}
.sp_lang .language > div::before{
	display: block;
  content: '';
  position: absolute;
  top: -14px;
  right: 24px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 8px 0 8px 11px;
  border-color: transparent transparent transparent #316745;
  transform: rotate(-90deg);
}
.sp_lang .lang_list{
	display: flex;
	flex-wrap: wrap;
}
.sp_lang .lang_list li{
	width: 50%;
	margin: 0;
	border-right: 1px solid #ccc;
}
.sp_lang .lang_list li:last-child{
	border: none;
	border-right: 1px solid #ccc;
}
.sp_lang .lang_list li:nth-of-type(2n){
	border-right: none;
}
.sp_lang .lang_list li a{
	background: #fff;
	border: none;
	padding: 8px;
	display: block;
	text-decoration: none;
}
.sp_lang .language .lang_btn.close a{
	border: none;
	border-top: 1px solid #ccc;
	display: block;
	padding: 12px 8px 12px 8px;
}
.sp_lang .lang_btn.close a::before,
.sp_lang .lang_btn.close a::after{
	top: auto;
	bottom: 1em;
	bottom: 1.5em;
}
	@media only screen and (max-width: 1024px) {
		.head_in{
			padding: 0;
			width: 100%;
		}
		.h_main{
			padding: 8px 70px 8px 12px;
			z-index: 1;
			position: relative;
			overflow: unset;
		}
		.h_main .h1 {
			width: 280px;
		}
		.h_main .h1 span{
			top: 68px;
		}
		.sp_lang{
			display: block;
			position: absolute;
	    right: 12px;
	    top: 8px;
		}
	}
	@media only screen and (max-width: 360px){
		.h_main .h1 span{
			top: 19vw;
		}
	}

/* 言語選択 */
.language{
	position: relative;
}
.lang_btn{
	margin: 0;
}
.lang_btn a{
	background: #fff;
	display: inline-block;
	border: 1px solid #ccc;
	border-radius: 2px;
	text-decoration: none;
	padding: 4px 10px;
	letter-spacing: 0;
	transition: all 0.2s;
}
.lang_btn a:hover{
	background: #efefef;
	transition: all 0.2s;
}
.language > div{
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	background: rgba(255,255,255);
	border: 1px solid #ccc;
	border-top: 0;
	border-bottom: 0;
	width: 100%;
	z-index: 100;
	font-size: 85%;
}
.lang_list li{
	border-bottom: 1px solid #ccc;
	padding: 0;
	margin: 0;
}
.h_top .h_toplist .lang_list li a{
	display: inline-block;
	padding: 2px;
	text-align: center;
	width: 100%;
	border: none;
}
.h_top .lang_btn.close a{
	padding: 2px 6px 2px 20px;
	position: relative;
	border-radius: 0 0 4px 4px;
	border: none;
	border-bottom: 1px solid #ccc;
	text-align: center;
}
.lang_btn.close a::before,
.lang_btn.close a::after {
	content: '';
	background: #3B4043;
	height: 1px;
	width: 12px;
	position: absolute;
	left: 5px;
	top: 50%;
	margin-top: 0;
	transform: rotate(-45deg);
}
.lang_btn.close a::after{
	transform: rotate(45deg);
}
/* 閲覧支援 */
.shien{
	position: relative;
}
.shien_btn{
	margin: 0;
}
.shien_btn a{
	background: #fff;
	display: inline-block;
	border: 1px solid #ccc;
	border-radius: 2px;
	text-decoration: none;
	padding: 4px 10px;
	letter-spacing: 0;
	transition: all 0.2s;
	position: relative;
}
.shien_btn a:hover{
	background: #efefef;
	transition: all 0.2s;
}
.shien .shien_in{
	display: none;
	position: absolute;
  top: calc(100% + 6px);
  left: calc(50% - 50px);
  background: rgba(255,255,255);
  border: 1px solid #ccc;
	z-index: 100;
  width: 100px;
  border-bottom: 0;
  border-radius: 0 0 6px 6px;
}
.shien .shien_in.active::before{
	display: block;
  content: '';
  position: absolute;
  top: -11px;
  left: calc(50% - 4px);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px 0 6px 8px;
  border-color: transparent transparent transparent #c4c4c4;
  transform: rotate(-90deg);
  z-index: 1;
}
.shien_list > li{
	border-bottom: 1px solid #ccc;
	padding: 0;
	margin: 0;
}
.h_top .shien_btn.close a{
	padding: 2px 6px 2px 20px;
	position: relative;
	border-radius: 0 0 4px 4px;
	border: none;
	border-bottom: 1px solid #ccc;
	text-align: center;
}
.shien_btn.close a::before,
.shien_btn.close a::after {
	content: '';
	background: #3B4043;
	height: 1px;
	width: 12px;
	position: absolute;
	left: 5px;
	top: 50%;
	margin-top: 0;
	transform: rotate(-45deg);
}
.shien_btn.close a::after{
	transform: rotate(45deg);
}
	@media only screen and (max-width: 1024px) {
		.shien .shien_in{
			width: calc(100vw - 24px);
			left: 0;
			position: relative;
			top: 8px;
			margin-bottom: 8px;
		}
		.sp_nav .sidr_navi_sub .shien_list > li{
			width: 100%;
		}
		.sp_nav .sidr_navi_sub .shien_btn.close a{
			background: #fff;
			border: none;
			border-top: 1px solid #ccc;
			border-bottom: 1px solid #ccc;
			border-radius: 0 0 6px 6px;
			text-decoration: none;
			padding: 4px 10px;
			letter-spacing: 0;
			transition: all 0.2s;
			position: relative;
		}
		.shien .shien_in.active::before{
			left: calc(25% - 4px);
		}
	}
/* 検索ボックス */
.src_box .q {
	float: left;
	width: calc(100% - 80px) !important;
	margin: 0;
	height: 60px !important;
	padding: 0 6px!important;
	border: 2px solid #316745 !important;
	border-right: none;
	background: #fff !important;
}
.src_box #search_button_h,
.src_box #search_button,
.src_box #search_button_sp,
.src_box #search_button_id{
	width: 80px;
	min-height: 60px;
	margin: 0;
	padding: 0 12px 0 28px;
  background: #316745 url(img/src_img.svg) no-repeat 12px center;
	color: #fff;
	cursor: pointer;
	border: 2px solid #316745;
	border-left: none;
	white-space: normal;
	border-radius: 0;
	display: block;
}
.src_box #search_button_h:hover,
.src_box #search_button:hover,
.src_box #search_button_sp:hover,
.src_box #search_button_id:hover{
	background: #1f4a2f url(img/src_img.svg) no-repeat 12px center;
}
	@media only screen and (max-width: 1024px) {
		.h_main .src_box{
			display: none;
		}
		.src_box .q{
			width: calc(100% - 60px) !important;
		}
		.src_box #search_button,
		.src_box #search_button_sp,
		.src_box #search_button_id,
		.src_box #search_button:hover,
		.src_box #search_button_sp:hover,
		.src_box #search_button_id:hover{
			width: 60px;
		  padding: 0 4px 0 18px;
		  background-position-x: 4px;
		}
	}
/**** グローバルナビ ****/
.g_navi {
	letter-spacing: 0.1em;
	position: relative;
	overflow: hidden;
	z-index: 1;
	margin-top: 8px;
}
.g_navi_in {
	max-width: 1224px;
	width: 100%;
	margin: 0 auto;
	padding: 0 12px;
	display: flex;
}
.g_navi_in > li {
	position: relative;
  display: flex;
  width: 100%;
  border-bottom: 2px solid #316745;
  margin: 0 4px;
}
.g_navi_in > li:nth-of-type(1):hover{border-color: #F79696}
.g_navi_in > li:nth-of-type(2):hover{border-color: #FFBE54}
.g_navi_in > li:nth-of-type(3):hover{border-color: #6EDE6E}
.g_navi_in > li:nth-of-type(4):hover{border-color: #74DFFF}
.g_navi_in > li:nth-of-type(5):hover{border-color: #C6A8F5}
.g_navi_in > li:nth-of-type(6):hover{border-color: #020080}
.g_navi_in > li::before{
	content: "";
  display: block;
  position: absolute;
  height: 32px;
  right: -4px;
  border-right: 1px solid #C4C4C4;
  top: calc(50% - 16px);
}
.g_navi_in > li:nth-of-type(1)::after {
	content: "";
	display: block;
	position: absolute;
	height: 32px;
	left: -4px;
	border-right: 1px solid #C4C4C4;
	top: calc(50% - 16px);
}
.g_navi_in > li > a {
  position: relative;
  z-index: 2;
  text-align: center;
  text-decoration: none;
  line-height: 1.5;
  font-size: 120%;
  padding: 13px 4px 11px;
  width: 100%;
}
.g_navi_in > li > a img{
	width: 32px;
}
.g_navi_in > li > a b{
	color: #333;
	text-align: center;
	display: block;
  margin: 8px 0 0;
}
.g_navi_in > li > a:hover,.g_navi_in > li.active > a{
	background: #E8FFF4;
}
.g_navi_in > li > a:hover b, .g_navi_in > li.active > a b{
	color: #316745;
}
	@media only screen and (max-width: 1024px) {
		.g_navi{
			display: none;
		}
	}

/* 追従メニュー */
.clone-nav.is-show {
	background: rgba(255,255,255,0.9);
	position: fixed !important;
	right: 0;
	top: 0;
	width: 100%;
	z-index: 9999;
	box-shadow: 0 0 10px rgba(0,0,0,0.2);
	margin: 0;
	padding: 10px;
	max-width: 320px;
}
.clone-nav:focus-within{
	transform: translateY(0);
}
	@media only screen and (max-width: 998px) {
		.clone-nav-in{
			flex-wrap: wrap;
			padding: 10px 0 0;
		}
	}
	@media only screen and (max-width: 1024px) {
		.clone-nav {
			display: none;
		}
	}

/**** スマホメニューに関するスタイル ****/
#body.scloll_off{
	overflow: hidden;
}
.sp_nav{
	position: fixed;
	bottom: 0;
	z-index: 10000;
	display: flex;
	width: 100%;
}
.sp_nav li{
	width: 25%;
	margin: 0;
	border-right: 1px solid #fff;
}
.sp_nav li:last-child{
	border: none;
}
.sp_nav li.sp_nav_home a{
	background: #316745 url(img/sp_home.svg) no-repeat center 82%/24px;
  display: flex;
  height: 100%;
  color: #fff;
  text-decoration: none;
  justify-content: center;
  padding: 6px 16px 34px;
  min-height: 54px;
  font-size: 85%;
  position: relative;
  z-index: 10000;
  align-items: center;
  font-size: 75%;
}
	@media print, screen and (min-width: 1025px) {
		#body.scloll_off{
			overflow: unset !important;
		}
		.sp_nav {
			display: none !important;
		}
	}
.sp_nav .menu_button{
	position: relative;
  text-decoration: none;
	padding: 6px 8px 34px;
  min-height: 54px;
  width: 100%;
  z-index: 10000;
  color: #fff;
  border: none;
  border-radius: 0;
  background: #316745;
  height: 100%;
  letter-spacing: inherit;
  font-size: 75%;
}
.sp_nav_src .menu_button{
	background: #316745 url(img/src_img.svg) no-repeat center 82%/20px;
}
.menu2 .icon_ham{
	position: absolute;
	bottom: 10px;
	left: 50%;
	margin-left: -15px;
	display: inline-block;
	background: #fff;
	height: 3px;
	width: 30px;
}
.menu2 .icon_ham:before,
.menu2 .icon_ham:after{
	content: '';
	position: absolute;
	left: 50%;
	margin-left: -15px;
	background: #fff;
	height: 3px;
	width: 30px;
}
.menu2 .icon_ham:before{
	bottom: 8px;
}
.menu2 .icon_ham:after{
	bottom: 16px;
}
	@media print, screen and (min-width: 1025px) {
		.menu_button,
		#lan_drop{
			display: none !important;
		}
	}
.sidr{
	z-index: 1001;
  position: absolute;
  bottom: 0;
  width: 100%;
  padding: 12px 12px 120px;
  padding: 12px 12px 20svh;
  height: 100svh;
  left: 0;
  background: #fff;
  overflow-y: scroll;
}
	@media print, screen and (min-width: 1025px) {
		.sidr {
			display: none !important;
		}
	}
.d-close{
	margin: 12px 0;
	display: inline-block;
	padding: 14px 32px;
	position: relative;
	width: 100%;
}
.d-close:before,
.d-close:after{
	content: '';
	background: #fff;
	height: 2px;
	width: 16px;
	position: absolute;
	left: 10px;
	top: 50%;
	margin-top: 0;
	transform: rotate(-45deg);
}
.d-close:after{
	transform: rotate(45deg);
}
/* 検索ボックス */
.sp_nav_src p{
	margin: 0 0 8px;
}
.sp_nav .src_box input{
	border: 1px solid #102e40 !important;
	border-right: 0;
}
.sp_nav .src_box button{
	background: #102e40;
}
/* メニュー */
.side_sitenavi .home{
	margin-top: 0;
}
.side_sitenavi .home a{
	text-decoration: none;
	margin: 0 0 10px 0;
	border-bottom: 2px solid #316745;
	text-align: center;
	display: block;
	padding: 10px 10px 16px;
}
.sidr_navi{
	display: flex;
	flex-wrap: wrap;
}
.sp_nav .sidr_navi li{
	width: calc(50% - 4px);
  margin: 0 8px 8px 0;
  border-bottom: 2px solid #316745;
  text-align: center;
  border-right: none;
}
.sidr_navi li:nth-of-type(2n){
	margin-right: 0;
}
.sidr_navi li a{
	display: block;
	text-decoration: none;
	padding: 8px 0;
}
.sidr_navi li img{
	max-width: 24px;
	display: block;
  margin: 0 auto 4px;
}
.sidr_navi_sub{
	display: flex;
	flex-wrap: wrap;
	margin: 16px 0 0;
}
.sp_nav .sidr_navi_sub li{
	width: calc(50% - 4px);
  margin: 0 8px 8px 0;
  text-align: center;
}
.sp_nav .sidr_navi_sub li:nth-of-type(2n){
	margin-right: 0;
}
.sp_nav .sidr_navi_sub li a{
	border: 2px solid #dff0ed;
	display: block;
	text-decoration: none;
	padding: 12px 8px 12px 8px;
	font-size: 85%;
	border-radius: 0;
}
/* ページの先頭 */
.sp_nav_top a{
	background: #316745;
  display: block;
  height: 100%;
  color: #fff;
  text-decoration: none;
  text-align: center;
  min-height: 54px;
	padding: 6px 16px 28px;
	font-size: 75%;
  position: relative;
  z-index: 10000;
}
.sp_nav_top a::before{
	content: "";
  display: block;
  position: absolute;
  background: url(img/arrow04.svg) no-repeat 0 0/contain;
  width: 9px;
  height: 15px;
  transform: rotate(270deg);
  bottom: 10px;
  left: calc(50% - 6px);
}
.sp_nav_top a span{
	display: block;
}
.sp_modori{
	height: 100%;
}
.sp_nav_top .modoriin{
	margin: 0;
	height: 100%;
}

/********************** フッター **********************/
.main_footer {
	background: #e8fff4;
	overflow: hidden;
	width: 100%;
	margin-top: 80px;
}
	@media only screen and (max-width: 1024px) {
		.main_footer {
			min-width: 100%;
			padding-bottom: 6em;
		}
	}
/**** トップへ戻る ****/
.foot_modori {
	position: fixed;
  right: 0;
  bottom: 0;
  z-index: 10000;
  display: block;
}
.foot_modori .modoriin {
	margin: 12px;
}
.foot_modori a {
	display: block;
	text-decoration: none;
	background: #BEEFD7;
	border: 2px solid #A4D5BE;
	line-height: 1;
	padding: 12px 12px 12px 14px;
	font-size: 85%;
	position: relative;
	text-align: center;
  max-height: 150px;
}
.foot_modori a:hover{
	background: #E8FFF4;
}
.foot_modori a::before{
	content: "";
	display: inline-block;
	background: url(img/arrow01.svg) no-repeat 0 0/contain;
	width: 9px;
	height: 15px;
	transform: rotate(270deg);
	margin-right: 10px;
}
	@media only screen and (max-width: 1024px) {
		.foot_modori{
			display: none !important;
		}
		.foot_modori .modoriin {
			padding: 0 10px;
			width: 100%;
		}
	}
/**** AIチャット ****/
.aichat{
	position: fixed;
	left: 0;
	bottom: 0;
	width: 145px;
	margin: 10px;
	z-index: 1000;
}
.aichat a:hover{
	opacity: 0.8;
}
.aichat button{
	padding: 6px 2px 6px 22px !important;
  background: rgba(255,255,255,0.8) !important;
  color: #2b3095 !important;
  font-size: 75% !important;
  position: relative !important;
  top: 2em !important;
  z-index: 1 !important;
}
.aichat button::before,
.aichat button::after{
	content: '';
  background: #3B4043;
  height: 1px;
  width: 12px;
  position: absolute;
  left: 5px;
  top: 50%;
  margin-top: 0;
  transform: rotate(-45deg);
}
.aichat button::after {
  transform: rotate(45deg);
}
.aichat button:hover{
	background: #fff;
	color: #860000;
}
	@media only screen and (max-width: 1024px){
		.aichat{
			margin: 0px 4px 4.7em;
		}
		.main_footer .aichat{
			display: none;
		}
		.sidr .aichat{
			position: relative;
			margin: 16px auto 8px;
		}
	}
/**** メインフッター ****/
.foot_wrap {
	background: #E8FFF4;
	padding: 40px 0 0;
}
.foot_wrap .inner{
	position: relative;
	padding: 0 12px 130px;
}
.foot_wrap .inner::before{
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	left: calc(50% - 668px);
	background: url(img/foot_bg.png) no-repeat 0 0/contain;
	width: 1337px;
	height: 138px;
}
.foot_logo{
	width: 136px;
	position: absolute;
}
.foot_logo p{
	margin-top: 0;
}
.foot_link{
	padding-left: 184px;
}
.foot_link li {
	padding: 0;
	display: inline-block;
	position: relative;
	margin: 0 10px 10px 0;
	width: calc(25% - 8px);
}
.foot_link li:nth-of-type(4n){
	margin-right: 0;
}
.foot_link li a{
	background: #fff;
	border: 2px solid #A3D6CC;
	display: block;
	position: relative;
	text-decoration: none;
	padding: 8px 24px 8px 12px;
}
.foot_link li a:hover{
	background: #BEEFD7;
}
.foot_link li a::before{
	display: block;
  content: '';
  position: absolute;
  top: calc(50% - 5px);
  right: 10px;
  width: 6px;
  height: 10px;
  background: url(img/arrow01.svg) no-repeat;
}
.foot_id {
	margin-top: 10px;
	padding-left: 184px;
}
.foot .address {
	margin-top: 8px;
	line-height: 1.8;
}
.foot .address b{
	font-size: 120%;
}
.foot .address a[href^="tel:"]{
	cursor: default;
	color: #222;
	text-decoration: none;
}
.foot_copy {
	font-size: 75%;
	padding: 8px 12px;
	text-align: center;
	margin-top: 16px;
}
.foot_copyin {
	width: 1000px;
	margin: 0 auto;
}
	@media only screen and (max-width: 1024px) {
		.foot_wrap .inner{
			padding: 0 12px 14vw;
		}
		.foot_wrap .inner::before{
			width: 100%;
			height: 11vw;
			left: 0;
		}
		.foot_logo{
			width: 90px;
		}
		.foot_link{
			padding-left: 110px;
		}
		.foot_link li{
			width: auto;
		}
		.foot_id{
			padding-left: 110px;
		}
		.foot_copy{
			padding: 8px 12px 2em;
		}
		.foot_copyin{
			padding: 0 10px;
			width: 100%;
		}
		.foot .address a[href^="tel:"]{
			cursor: pointer;
			color: #2b3095;
			text-decoration: underline;
		}
		.foot .address b{
			font-size: 85%;
		}
	}
	@media only screen and (max-width: 480px){
		.foot_link{
			min-height: 107px;
			display: flex;
			flex-wrap: wrap;
			padding-left: 100px;
		}
		.foot_link li{
			width: calc(50% - 4px);
			margin: 0 8px 8px 0;
		}
		.foot_link li:nth-of-type(2n){
			margin-right: 0;
		}
		.foot_link li a{
			padding: 4px 18px 4px 8px;
			height: 100%;
			font-size: 85%;
		}
		.foot_id{
			padding-left: 0;
		}
	}
/********************** 領域共通のスタイル **********************/
/**** アコーディオンのスタイル ****/
.ac_display{
	display: none;
}
.ac_box02{
	position: relative;
}
.ac_display03{
		display: inline-block;
		position: absolute;
		top: 32px;
		margin: -14px 0 0;
		right: 12px;
		font-size: 72%;
		background: #fff;
		border: 1px solid #ccc;
		z-index: 100;
}
.ac_display03 a{
		display: inline-block;
		position: relative;
		text-decoration: none;
		padding: 4px 4px 4px 18px;
}
.ac_display03::before,
.ac_display03::after {
		content: '';
		background: #555;
		position: absolute;
		left: 4px;
		top: 13px;
		height: 2px;
		width: 10px;
}
.ac_display03::after{
		transform: rotate(90deg);
}
.ac_box02_in{
		display: none;
}
.ac_box02_wrap.active .ac_box02_in{
	display: block;
}
.ac_box02_wrap.active .ac_display03::after {
		display: none;
}
.ac_box02_in .ac_box02{
	text-align: center;
	margin-top: 20px;
}
#main_outline .ac_box02_in .ac_box02 button{
	background: #fff;
	border: 1px solid #ccc;
	border-radius: 0;
	color: #2b3095;
	position: relative;
	padding: 6px 16px 6px 32px;
}
#main_outline .ac_box02_in .ac_box02 button:hover{
	color: #860000;
	background: #E8FFF4;
}
#main_outline .ac_box02_in .ac_box02 button::before,
#main_outline .ac_box02_in .ac_box02 button::after {
  content: '';
  background: #3B4043;
  height: 1px;
  width: 12px;
  position: absolute;
  left: 5px;
  top: 50%;
  margin-top: 0;
  transform: rotate(-45deg);
}
#main_outline .ac_box02_in .ac_box02 button::after {
  transform: rotate(45deg);
}
@media print, screen and (min-width: 1025px) {
	.ac_box{
		pointer-events: none !important;
	}
	.ac_box + div{
		display: block !important;
	}
}
@media only screen and (max-width: 1024px) {
	.ac_box h2{
		padding-right: 72px;
	}
	.main .ac_box h2,
	.main_naka .ac_box02 h2{
		padding-right: 92px;
	}
	.ac_display{
		display: inline-block;
		position: absolute;
		top: 50%;
		margin: -14px 0 0;
		right: 12px;
		font-size: 72%;
		background: #fff;
		border: 1px solid #ccc;
		z-index: 100;
	}
	.main .ac_display{
		margin-top: -24px;
	}
	.ac_display a{
		display: inline-block;
		position: relative;
		text-decoration: none;
		padding: 4px 4px 4px 18px;
	}
	.ac_display::before,
	.ac_display::after{
		content: '';
		background: #555;
		position: absolute;
		left: 4px;
		top: 11px;
		height: 2px;
		width: 10px;
	}
	.ac_display::after{
		transform: rotate(90deg);
	}
	.ac_box + div{
		display: none;
	}
	.ac_box{
		position: relative;
		width: 100%;
		overflow: hidden;
	}
	.ac_box.active p::after{
		display: none;
	}
}
/**** RSSアイコンのスタイル ****/
.rss_icon,
a.rss_icon,
a.rss_icon2{
	background: #FF8F21;
	display: inline-block;
	color: #fff;
	text-decoration: none;
	text-shadow: 1px 1px 1px #b45c00,-1px 1px 1px #b45c00,1px -1px 1px #b45c00,-1px -1px 1px #b45c00,1px 0 1px #b45c00,0px 1px 1px #b45c00,-1px 0 1px #b45c00,0 -1px 1px #b45c00;
	vertical-align: middle;
	padding: 5px 5px 5px 7px;
	line-height: 1.1;
	position: relative;
	vertical-align: middle;
	text-align: left;
	min-height: 30px;
}
.rss_icon,
a.rss_icon{
	font-size: 90%;
}
a.rss_icon2{
	font-size: 68.75%;
	padding: 3px 28px 1px 6px;
}
a.rss_icon img{
	margin-left: 4px;
	margin-top: -3px;
	height: auto;
	width: 16px;
	vertical-align: middle;
}
.rss_icon img{
	margin-left: 4px;
	margin-top: -3px;
	height: auto;
	width: 16px;
	vertical-align: middle;
}
a.rss_icon2 img{
	position: absolute;
	top: 50%;
	margin-top: -9px;
	right: 6px;
	height: auto;
	width: 16px;
	vertical-align: middle;
}
/*** 伝えるWEB ***/
/* .tsutaeru01-menu */
.tsutaeru01-menu{
display:none;
}
.tsutaeru01-menu ul{
margin:0px;
padding:0px;
text-align:right;
}
.h_toplist02 .tsutaeru01-button-ruby{
	margin-left: 8px;
}
/* .tsutaeru01-speech */ .tsutaeru01-speech{ padding:0;
margin:0;
position: relative;
}
.tsutaeru01-speech *{ vertical-align:middle; }
#body button.tsutaeru01-button.tsutaeru01-button-speech-start, #body button.tsutaeru01-button.tsutaeru01-button-speech-control{ 
	background: #fff;
  border: 1px solid #ccc;
  border-radius: 4px;
  display: block;
  text-align: center;
  color: #2b3095;
  text-decoration: none;
  cursor: pointer;
  margin: 0 0 4px;
  padding: 4px 6px;
  font-size: 100%;
  width: 100%;
}
#body button.tsutaeru01-button.tsutaeru01-button-config.tsutaeru01-button-speech-config{
	background: #fff;
  border: 1px solid #ccc;
  border-radius: 4px;
  display: block;
  text-align: center;
  color: #2b3095;
  text-decoration: none;
  cursor: pointer;
  margin: 0;
  padding: 4px 6px;
  font-size: 100%;
  width: 100%;
}
#body button.tsutaeru01-button.tsutaeru01-button-speech-start:hover, #body button.tsutaeru01-button.tsutaeru01-button-speech-control:hover, #body button.tsutaeru01-button.tsutaeru01-button-config.tsutaeru01-button-speech-config:hover {
text-decoration: none;
color: #9f0000;
background: #E8FFF4;
}
#body button.tsutaeru01-button.tsutaeru01-button-speech-start:visited, #body button.tsutaeru01-button.tsutaeru01-button-speech- control:visited, #body button.tsutaeru01-button.tsutaeru01-button- config.tsutaeru01-button-speech-config:visited {
color: #791d78;
}
#body button.tsutaeru01-button.tsutaeru01-button-speech-start, #body button.tsutaeru01-button.tsutaeru01-button-speech-control{
/*margin-right:10px;*/ }
.tsutaeru01-speech .tsutaeru01-button:disabled{ opacity:0.8;
}
.tsutaeru01-speech-buttons{
font-size: 85%;
} .tsutaeru01-speech-audio-container{ padding:5px 0px; /*position:relative;*/ position:absolute;
top:26px;
left:0;
}
.tsutaeru01-speech-audio { border-radius:3px; max-width:220px;
height:32px;
}
.tsutaeru01-speech-error{ color:#C00;
}
/* .tsutaeru01-config */ .tsutaeru01-config{ font-size:90%;

 position:fixed;
z-index:99999;
top:50%;
left:50%;
transform:translate(-50%,-50%); box-shadow:0px 10px 30px 0px rgba(0,0,0,0.75); border-radius:5px;
max-width:90%; width:600px; text-align:left;
outline:none !important;
} .tsutaeru01-config-header{ padding:1em;
color:#FFF; background:#467605; text-align:center; font-weight:bold; position:relative; border-radius:5px 5px 0px 0px; border:1px solid #FFF;
}
.tsutaeru01-config-header button{
	display: none;
}
.tsutaeru01-config-body{ color:#000;
background:#FFF; padding:1.5em; max-height:50vh; overflow:auto;
}
.tsutaeru01-config-body dl, .tsutaeru01-config-body dl dt, .tsutaeru01-config-body dl dd{ margin:0px;
padding:0px;
font-size:100%;
}
.tsutaeru01-config-body dl{ overflow:hidden;
}
.tsutaeru01-config-body dl dt{ font-weight:bold;
float:left;
clear:left;
width:6.8em;

 text-align:right;
}
.tsutaeru01-config-body dl dd{ margin:0px 0px 1em 1.2em; white-space:nowrap;
}
.tsutaeru01-config-body dl dd:last-child{
margin-bottom:0px;
}
.tsutaeru01-config-body dl dd label{
margin:0px 1em 0.8em 0px;
padding:0px;
font-size:100%;
white-space:nowrap;
display:inline-block;
}
.tsutaeru01-config-body dl dd label input{
margin:0px 0.3em 0px 0px;
}
.tsutaeru01-config-footer{
color:#000;
background:#FFF;
border-top:1px solid #CCC;
text-align:right;
padding:0.5em;
border-radius:0px 0px 5px 5px;
}
#body .tsutaeru01-config .tsutaeru01-config-footer .tsutaeru01-config-button-close{
font-size:100%;
border:none;
color:#FFF;
background:#467605;
font-weight:normal;
padding:0.5em 1em;
border-radius:3px;
cursor:pointer;
}
.tsutaeru01-config-overlay{
position:fixed;
z-index:99998;
top:0px;
left:0px;
right:0px;

 bottom:0px; background:#000; opacity:0.75;
}
#body .tsutaeru01-config .tsutaeru01-config-header .tsutaeru01-config- close{
font-size:100%;
display:block;
position:absolute;
top:50%;
right:1em; transform:translateY(-50%); width:1em;
height:1em; overflow:hidden; text-indent:-1000px; background:none; padding:0px; border:none; cursor:pointer;
}
#body .tsutaeru01-config .tsutaeru01-config-header .tsutaeru01-config- close:before,
#body .tsutaeru01-config .tsutaeru01-config-header .tsutaeru01-config- close:after{
content:"";
display:block;
position:absolute;
top:50%;
width:100%;
height:2px;
margin-top:-1px;
background:#FFF;
}
#body .tsutaeru01-config .tsutaeru01-config-header .tsutaeru01-config- close:before{
transform:rotate(45deg);
}
#body .tsutaeru01-config .tsutaeru01-config-header .tsutaeru01-config- close:after{
transform:rotate(-45deg);
}
/* .tsutaeru01-text */

 .tsutaeru01-text{ position:fixed; bottom:0px; left:0px;
right:0px; background:#000; color:#FFF; text-align:left; font-size:100%; padding:20px; z-index:99000;
}
.tsutaeru01-text-inner{
line-height:1.5;
max-height:10em;
overflow:auto;
padding:5px;
}
.tsutaeru01-text-inner rt,
.tsutaeru01-text-inner rp{
font-size:50%;
}
#body .tsutaeru01-text .tsutaeru01-text-close{ font-size:100%;
display:block;
position:absolute;
top:5px;
right:5px;
width:1em;
height:1em;
overflow:hidden;
text-indent:-1000px;
background:none;
padding:0px;
border:none;
cursor:pointer;
}
#body .tsutaeru01-text .tsutaeru01-text-close:before, #body .tsutaeru01-text .tsutaeru01-text-close:after{ content:"";
display:block;
position:absolute;
top:50%;
width:100%;

 height:2px; margin-top:-1px; background:#FFF; }
#body .tsutaeru01-text .tsutaeru01-text-close:before{ transform:rotate(45deg);
}
#body .tsutaeru01-text .tsutaeru01-text-close:after{ transform:rotate(-45deg);
}
@media (max-width:1024px){
.tsutaeru01-menu{
overflow:auto;
}
.tsutaeru01-menu ul{
/*text-align:center;
font-size:12px;
white-space:nowrap;*/
}
.tsutaeru01-menu ul li{
margin:0px 0.1em;
}
.tsutaeru01-menu ul li .tsutaeru01-button{
border:none;
}
.tsutaeru01-speech{
font-size:100%;
position:static;
}
.tsutaeru01-speech-audio-container{
position: static;
}
.sidr_navi03 .sidr_navi03_sub{
border-bottom:3px solid #a52e5a;
}
#body button.tsutaeru01-button.tsutaeru01-button-speech-start, #body button.tsutaeru01-button.tsutaeru01-button-speech-control, #body button.tsutaeru01-button.tsutaeru01-button-config.tsutaeru01-button-speech-config{
	width: calc(50% - 4px);
	padding: 8px 4px;
	margin: 0 8px 0 0;
	text-decoration: none;
	position: relative;
	text-align: center;
}
#body button.tsutaeru01-button.tsutaeru01-button-config.tsutaeru01-button-speech-config{
	margin-right: 0;
}
#body button.tsutaeru01-button.tsutaeru01-button-speech-start::before, #body button.tsutaeru01-button.tsutaeru01-button-speech- control::before, #body button.tsutaeru01-button.tsutaeru01-button- config.tsutaeru01-button-speech-config::before {
	display: none;
}
.tsutaeru01-speech-buttons{ white-space:nowrap; overflow:auto;display: flex;
}
.tsutaeru01-speech-audio { margin-left:8px;
}
.tsutaeru01-config-body dl dt{ font-weight:bold;
float:none;
width:auto;
margin:0px 0px 0.5em 0px; text-align:left;
}
.tsutaeru01-config-body dl dd{ margin:0px 0px 1em 0px; white-space:normal;
}
.tsutaeru01-text{ font-size:86%;
}
}
/* .tsutaeru01-form */ .tsutaeru01-search-form{

 margin:0px 0px 20px 0px;
} .tsutaeru01-search-form-query{ margin:0.3em 0px; display:inline-block; max-width:100%;
}
.tsutaeru01-search-form-query input{ width:15em;
max-width:100%; box-sizing:border-box;
padding:0.5em;
line-height:1;
}
.tsutaeru01-search-form-and_or{ margin:0.3em 0.3em; white-space:nowrap; display:inline-block;
}
.tsutaeru01-search-form-submit{ margin:0.3em 0.3em; display:inline-block;
}
/*.tsutaeru01-search-form-submit input{ font-size:100%;
line-height:1;
display:inline-block;
padding:0.5em 1em;
border:1px solid #05203a; border-radius:3px; text-decoration:none; background:#05203a;
color:#FFF;
cursor:pointer;
}*/
.tsutaeru01-search-list{
font-size:100%;
margin:0px 0px 30px 0px;
padding:0px 20px;
list-style:none;
}
.tsutaeru01-search-list li{ font-size:100%;
margin:0px 0px 15px 0px;

 padding:0px;
}
.tsutaeru01-search-list-header{ margin:0px 0px 5px 0px;
}
.tsutaeru01-search-list-body{ font-size:90%;
margin:0px 0px 0px 0px; padding:0px 0px 0px 20px;
}
.tsutaeru01-search-pager{ margin:20px 0px 20px 0px; padding:0px;
text-align:center;
}
.tsutaeru01-search-pager li{ display:inline-block;
margin:0px 0.25em;
padding:0px;
}
.tsutaeru01-search-pager li a, .tsutaeru01-search-pager li span, .tsutaeru01-search-pager li em{ display:inline-block;
border:1px solid #05203a; line-height:1.0;
padding:0.5em;
border-radius:3px; text-decoration:none; background:#FFF;
min-width:1em;
}
.tsutaeru01-search-pager li em{ font-style:normal;
}