@charset "utf-8";
/*************************************************
 style.css
**************************************************/
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');

/* ===========================
 基本スタイル
=========================== */
body { margin: 0; background: #fff; color: #000; font-size: 100%; line-height: 1.6; font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif; -webkit-text-size-adjust:100%;}
header,article,footer,section,h1,h2,h3,hr { clear: both;} /*-clear-*/
article ,section ,nav ,dl,ul,div { padding: 0 0 5px; overflow: auto;} /*-hasLayout-*/
input [type="text"],
input [type="button"],
input [type="submit"] { -webkit-appearance: none; -moz-appearance: none; appearance: none; border-radius: 0;}
input [type="button"],
input [type="submit"] { cursor: pointer;} /*-formAppearanceClear-*/

h1,h2,h3,h4,h5,p,dl,ul,ol { margin-top: 0;}
ul { list-style: none;}
ul,ol { padding-left: 0px;}
textarea { max-width: 95%;}
fieldset { margin: 0 0 1em; padding: 0 0 5px; border: none;}

a { color: #0044cc; text-decoration: underline;}

a:visited { color: #527076;}
a:hover { color: #14205F;}
a:active { color: #5D0000;}
a:hover img{ opacity: 0.8;}

img { border: none; vertical-align: middle;}



/* ===========================
 コンテンツの幅
=========================== */
body,
#TOP { min-width: 320px; padding-bottom: 0;}

/* コンテンツ幅 */
.header_wrap,
.locus_wrap,
.contents_wrap,
.footer_wrap,
.copyright_wrap { max-width: 1160px; margin: 0 auto;}
.copyright_wrap { display: block;}


/* コンテンツ内部、サイドメニュー幅 */
.contents_wrap article { width: calc(1160px - 300px - 20px);}
.contents_wrap .menu_contents { width: 300px;}


/* no_nav - サイドメニュー不要時にbodyのclassにno_navを追記 */
.no_nav .contents_wrap article { float: none; width: 100%; max-width: 100%;}
.no_nav .contents_wrap .menu_contents { float: none; display: none;}


/*************************************************
 ヘッダー
**************************************************/
header { position: relative; padding-top: 2rem; box-shadow: 0 0 8px 2px rgba(192,192,192,.8);}
.header_wrap { position: relative;}

/* ===========================
 タイトル
=========================== */
header h1,
header .title,
footer .title { font-size: 1em; min-width: 13em; padding: 2px;}
header .title,
footer .title { width: 100%; max-width: 13.5em; border: none;}
header .title a,
footer .title a { display: block; height: 100%; padding-top: .1em; padding-left: 4.2em; color: var(--rep-tgt-fntclr-001-000001); /* #1B1466 */ text-decoration: none; background: url(../img/title.png) left center no-repeat; background-size: 3.9em auto;}
header .title a span,
footer .title a span { display: block;}
header .title a .title_main,
footer .title a .title_main { font-size: 2.6em; line-height: 1.15em; letter-spacing: .1em; font-weight: 500;}
header .title a .title_sub,
footer .title a .title_sub { 
  padding-left:   .27rem; /* 検索窓追加前 padding-left:   .3em; */
  font-size:      .72rem; /* 検索窓追加前 font-size:      .8em; */
  letter-spacing: .18rem; /* 検索窓追加前 letter-spacing: .2em; */
}
header .title img { max-width: 100%; height: auto;}

footer .title a { color: var(--rep-tgt-fntclr-001-000002); background-image: url(../img/title_w.png);}



/***************************************/
/* ドロワーメニュー   */
/***************************************/
.button_drawer {
  z-index: 100; position: fixed; top: 1rem; left: calc((1160px - 82px - 20px) + ((100% - 1160px) / 2));
  display: flex; justify-content: center; align-items: flex-end; height: 82px; width: 82px; transition-duration: .15s;
  background: url(../img/ico_menu.png) center top 1rem no-repeat var(--rep-tgt-bgclr-CON1-bl-4); background-size: 80% auto; border-radius: .4em; cursor: pointer;
}
.button_drawer.active { background-color: transparent; background-image: url(../img/ico_close.png); background-size: 2rem auto; border-color: transparent;}
.button_drawer span { margin-bottom: .3rem; color: var(--rep-tgt-fntclr-001-000002); /* #fff */ font-size: .8em;}
.button_drawer .toggle_close,
.button_drawer.active .toggle_text { display: none;}
.button_drawer.active .toggle_close { display: block; color: var(--rep-tgt-fntclr-com1-bk-000002); /* #000; */ }

.button_drawer:hover,
.button_drawer:focus { box-shadow: 0 0 0 3px var(--rep-tgt-bgclr-HV1-bl-1);}

.drawer_body {
  display: none; position: fixed; z-index: 99; top: 0px; left: 0px; right: 0px;
  background-color: var(--rep-tgt-bgclr-CON1-bl-5); box-shadow: 0 0 8px 2px rgba(192,192,192,.8);
}

.drawer_wrap { display: flex; justify-content: space-between; align-items: flex-start; width: 100%; max-width: 1160px; margin: 0 auto; padding-top: 2rem; padding-right: 2rem;}

.drawer_body .title,
.drawer_body .nav { margin-right: 2rem;}

.drawer_body .title { float: none;}
.drawer_body .nav { width: 100%; max-width: 20em;}
.drawer_body .nav ul { padding: 2px;}
.drawer_body .nav li { margin-bottom: .5em; border-bottom: 1px solid var(--rep-tgt-brdclr-com1-bll-000001);}
.drawer_body .nav li a { position: relative; display: flex; align-items: center; min-height: 3em; margin-bottom: .3em; padding: .2em 3em .2em .5em; color: var(--rep-tgt-fntclr-com1-bk-000002); /* #000 */ font-size: 1.25em; text-decoration: none; transition-duration: .15s;}
.drawer_body .nav li a:before { position: absolute; display: block; content: ""; background: center center no-repeat;}
.drawer_body .nav li a:before { top: cacl(50% - 1rem); right: 1rem; width: 2rem; height: 2rem; background-image: url(../img/arrow_mainmenu.png); background-size: .9rem auto; border: 1px solid var(--rep-tgt-brdclr-com1-bll-000001); border-radius: 50%;}
.drawer_body .nav li a:hover,
.drawer_body .nav li a:focus { background-color: var(--rep-tgt-bgclr-HV1-bl-2);}


/* ===========================
 ページコントロール
=========================== */
.page_control { margin: 0; padding: 0;}

.page_control .conf { margin: 4px 0; padding: 0;}
.page_control .UD { margin: 0; padding: 0;}

.page_control dl,
.page_control dl dt,
.page_control dl dd { min-height: 34px; margin: 0; padding: 0;}

.page_control dl { display: flex; height: 38px ; margin: 1.2rem 1.2rem 1.2rem 0; padding: 0; font-size: 0.8em; overflow: hidden;}
.page_control dl.color_change dt {}
.page_control dl.textsize_change dt {}

.page_control dl dt,
.page_control dl dd { display: flex; align-items: center;}
.page_control dl dt { justify-content: flex-start; width: 7em; padding: 0 0.5em; font-size: 1.1em;}
.page_control dl dd { justify-content: center;}
.page_control dl dd a {
  display: flex; justify-content: center; align-items: center; min-width: 34px; height: 34px; margin: 6px; padding: 0 0.2em;
  text-decoration: none; font-size: 1.2em; border: 2px solid var(--rep-tgt-brdclr-com1-bll-000001);
}
.page_control dl dd a:hover,
.page_control dl dd a:focus { border-color: var(--rep-tgt-brdclr-HV1-gry-000003); box-shadow: 0 0 0 1px var(--rep-tgt-brdclr-HV1-gry-000003);}

/* 表示色 */
.page_control dl.color_change dd a { background-color: #fff;}
.page_control dl.color_change dd.high a { color: #fff; background-color: #000;} /* ハイコントラスト */
.page_control dl.color_change dd.default a { color: #000; background-color: #fff;} /* 標準 */
.page_control dl.color_change dd.low a { color: #000; background-color: #ccc;} /* ローコントラスト */

/* 文字サイズ */
.page_control dl.textsize_change dd a { color: var(--rep-tgt-fntclrancbf-bk-000001); /* #000; */ background-color: var(--rep-tgt-bgclr-com1-wht-000001);/* #fff; */ }
.page_control dl.textsize_change dd.smaller a {} /* 小 */
.page_control dl.textsize_change dd.default a {} /* 中 */
.page_control dl.textsize_change dd.larger a {} /* 大 */


/* ===========================
  ページコントロール - 検索
=========================== */
.drawer_body .blc_search .search_wrap { margin-top: 2rem; padding: 0 .3em; font-size: 1em;}
.drawer_body .blc_search .search_wrap_inner { width: 24em; min-width: 340px; max-width: 100%; padding: 4px; background-color: var(--rep-tgt-bgclr-com1-wht-000001); /* #fff; */ border: 1px solid var(--rep-tgt-brdclr-com1-bll-000001);}
.drawer_body .blc_search .search_wrap_inner input[type="submit"] { width: 5rem; padding: .3rem; font-size: 1.3rem; color: var(--rep-tgt-fntclr-001-000002); /* #fff */ background-color: var(--rep-tgt-bgclr-001-000001); border: none;}
.drawer_body .blc_search label.search_txt { display: block; padding: .75rem 0;}
.drawer_body .blc_search input.search_txt { height: 4em; padding-left: 2.8rem; border: none; background: url(../img/icon_feather-search.png) center left .4rem no-repeat; background-size: 2rem auto;}

.blc_search .search_wrap_inner.active { background-color: var(--rep-tgt-bgclr-HV1-bl-2);}
.drawer_body .blc_search .search_wrap_inner input[type="submit"]:hover,
.drawer_body .blc_search .search_wrap_inner input[type="submit"]:focus { box-shadow: 0 0 0 2px var(--rep-tgt-brdclr-HV1-gry-000003);}

/* ===========================
  グローバルメニュー
=========================== */
.menu_global { padding-bottom: 0; overflow: visible;}

/* グローバルメニュー - 直下 */
#menu { position: relative; display: flex; justify-content: center; padding: 0; overflow: visible;}
#menu li { min-height: 4.3rem; }
#menu li.menu01 {}
#menu li.menu02 {}
#menu li.menu03 {}
#menu li.menu04 {}
#menu li.menu05 {}
#menu li.menu06 {}
#menu li a {
	position: relative; display: flex; align-items: center; justify-content: center; height: 100%; padding: .3em 2.1em; font-size: 1.1em; text-decoration: none; text-align: center;
	color: var(--rep-tgt-fntclr-com1-bk-000002); /* #000 */ background-color: transparent; transition-duration: 0.15s;
}
#menu li a:hover,
#menu li a:focus { border-bottom-width: .4em;}

#menu li > a:before,
#menu li > a:after,
#menu li dt a:before,
#menu li dt a:after { position: absolute; display: block; content: ""; }
#menu li > a:before,
#menu li dt a:before { top: calc(50% - .7em); left: 0px; height: 1.4em; width: 1px; background-color:var(--rep-tgt-bgclr-CON1-bl-4);}
#menu li:first-of-type > a:before,
#menu li:first-of-type dt a:before { display: none;}
#menu li > a:after,
#menu li dt a:after { bottom: 0px; left: 0px; right: 0px; height: 0px; background-color: var(--rep-tgt-bgclr-HV1-bl-1); transition-duration: 0.15s;}

/* グローバルメニュー - 下階層 */
#menu li dt a { position: relative; display: flex; align-content: center; justify-content: center; height: 100%; transition-duration: 0.15s; flex-wrap: wrap;}
#menu li > a:hover:after,
#menu li > a:focus:after,
#menu li dt a:hover:after,
#menu li dt a:focus:after,
#menu dl:hover dt a:after,
#menu dl.focus dt a:after { height: .3em;} /* グローバル ホバー */
#menu ul.sub_category { background-color: var(--rep-tgt-bgclr-CON1-bl-3);} /* サブカテゴリ 背景色 */
#menu ul.sub_category a:before,
#menu ul.sub_category a:after { display: none;}

#menu dl { height: 100%; margin: 0px; padding: 0px; box-sizing: border-box; overflow: visible;}
#menu dl dt { height: 100%;} 
#menu dl dd { position: absolute; top: 100%; left: 0%; right: 0%; padding: 0; margin: 0; max-height: 0px; transition-duration: 0.4s; overflow: hidden; z-index: 98;}

#menu dl:hover dd,
#menu dl.focus dd { height: auto; max-height: 600px; margin: 0px;}
#menu ul.sub_category { display: flex; flex-wrap: wrap; justify-content: flex-start; align-items: stretch; width: 100%; max-width: 72em; height: auto; margin: 0 auto; padding: .5em;}
#menu ul.sub_category li { flex-basis: calc(25% - 1em); margin: .5em;}
#menu ul.sub_category li a {
  display: flex; justify-content: flex-start; height: calc(100% - 10px); margin: 5px; padding: .5em 2rem .5em .5em;	text-decoration: none; border: 1px solid var(--rep-tgt-brdclr-com1-bll-000001);
  background: url(../img/arrow_nv.png) right .8rem center no-repeat var(--rep-tgt-bgclr-com1-wht-000001); transition-duration: 0.15s; box-sizing: border-box; background-size: .6rem auto;
} /* サブカテゴリ項目 */

#menu ul.sub_category li a { position: relative;}
#menu ul.sub_category li a:hover,
#menu ul.sub_category li a:focus { background-color: var(--rep-tgt-bgclr-HV1-bl-2); /* #E6EBFD */ } /* サブカテゴリボタン ホバー色 */
#menu ul.sub_category li a:hover:before,
#menu ul.sub_category li a:focus:before {}


@media screen and (width <= 1180px) {
  header { padding-top: 1rem; padding-bottom: .5rem;}
  header h1,
  header .title { font-size: .9em;}

  .button_drawer { top: .5rem; left: inherit; right: 1rem; transform: scale(.8,.8);}
  .drawer_wrap { display: block; margin: 0 2.5%; padding: 1rem 0; max-width: calc(100% - 5%);}

  .drawer_body .nav { margin: 1rem 1rem 0; float: left;}
  .page_control { margin: 1rem;}
  .drawer_body .blc_search .search_wrap_inner { min-width: initial;}

}

@media screen and (width <= 840px) {
  .drawer_body { bottom: 0px;}
  .drawer_body .nav { float: none; max-width: 480px; margin: 1rem auto 0;}
  .drawer_body .nav ul { margin-bottom: 0;}
  .drawer_body .nav li a { min-height: 2.5em;}
  .page_control { width: 100%; max-width: 480px; margin: 0 auto;}
  .page_control dl { justify-content: center; margin-left: auto; margin-right: auto;}
  .drawer_body .blc_search .search_wrap { margin-top: 0;}
  .drawer_body .blc_search .search_wrap_inner { width: 100%;}
  .drawer_body .blc_search label.search_txt { padding-top: 0;}
}

@media screen and (width <= 640px) {
  header h1,
  header .title { font-size: .7rem;}
  .button_drawer { top: .1rem; right: .1rem; transform: scale(.7,.7);}
  
}



/*************************************************
 フッター
**************************************************/
footer { margin-top: 3em; padding: 3em 2.5% 2rem; color: var(--rep-tgt-fntclr-001-000002); background-color: var(--rep-tgt-bgclr-001-000001);}

.footer_wrap { display: flex; align-items: flex-start;}
.footer_wrap.upper { justify-content: space-between; margin-bottom: 2em;}

.footer_nav {}
.footer_nav ul { display: flex; justify-content: center; align-items: stretch; padding: .5em 0;}
.footer_nav li { position: relative;}
.footer_nav li:before { position: absolute; display: block; content: ""; top: calc(50% - .5em); bottom: 0; left: 0px; width: 1px; height: 1em; background-color: var(--rep-tgt-bgclr-com1-wht-000001);}
.footer_nav li:first-of-type:before { display: none;}
.footer_nav a { display: block; font-size: 1.1em; padding: .5em 1.5em; color: var(--rep-tgt-fntclr-001-000002); text-decoration: none;}
.footer_nav a:hover,
.footer_nav a:focus { text-decoration: underline;}

.footer_wrap.under {}
.phone { display: flex; align-items: center; flex-wrap: wrap; width: 18em; margin-bottom: 0; font-size: 1.1em;}
.phone dt { width: 6em; padding: .2em .3em .2em 1.5em; text-align: left; background: left center no-repeat; background-size: 1.1em auto;}
.phone dd { width: calc(100% - 6em); margin: 0; padding: .2em .3em;}
.phone dd span { font-size: 1.3em;}
.phone dt.phone_name { background-image: url(../img/ico_tel.png);}
.phone dt.fax_name { background-image: url(../img/ico_fax.png);}

.footer_wrap .address { padding: .4em .3em;}
.footer_wrap .address span:first-of-type { padding-right: 1em;}
.footer_wrap .sns { display: flex; align-items: center; margin-bottom: 0;}
.footer_wrap .sns li { display: flex; align-items: center;}
.footer_wrap .sns a { display: block; width: 2.5em; margin: .3em;}
.footer_wrap .sns img { max-width: 100%; height: auto;}

.copyright { text-align: center;}
.copyright_wrap {}


.reread_link { width:72px; height: 72px; position:fixed; bottom: 10px; right: 10px; padding: 0; z-index: 98; border-radius: 50%; overflow: visible;}
.reread_link a {
	display: flex; justify-content: center; align-items: center; height:100%; width: 100%;
	font-size: 0.8em; text-decoration: none; text-indent: -1000em; border: 1px solid var(--rep-tgt-brdclr-com1-wht-000001);/* #fff; */ border-radius: 50%;
	background: url(../img/arrow_pagetop.png) center center no-repeat var(--rep-tgt-bgclr-001-000001); overflow: hidden; background-size: 1.8em;
}
.reread_link a img { max-width: 100%; height: auto;}
.reread_link a:hover,
.reread_link a:focus { border-color: var(--rep-tgt-brdclr-HV1-gry-000003); box-shadow: 0 0 0 2px var(--rep-tgt-brdclr-HV1-gry-000003);}


@media screen and (width <= 1180px) {
  footer { padding-top: 2rem;}
  .footer_wrap.upper { flex-wrap: wrap; margin-bottom: .5em;}
  .footer_wrap .title { order: 2; margin: 0 auto; font-size: .75em;}
  .footer_nav { width: 100%; order: 1;}
  .footer_nav ul { display: block; width: 100%; max-width: 240px; margin: 0 auto;}
  .footer_nav a { margin-bottom: 1em; font-size: .95em; text-align: center; border: 1px solid var(--rep-tgt-brdclr-com1-gry-000001);}

  .footer_wrap.under { flex-wrap: wrap;}
  .footer_left,
  .footer_right { width: 100%; max-width: 620px; margin: 0 auto;}
  .phone { width: 15em; margin: 0 auto;}
  .footer_wrap .sns { justify-content: center;}
  .footer_wrap .sns a { width: 3em; margin-left: .5em; margin-right: .5em;}
  .footer_wrap .address { line-height: 2.2;}
  .footer_wrap .address span { display: block;}
  .footer_wrap .address br { display: none;}

}


@media screen and (width <= 620px) {
  .reread_link { width:60px; height: 60px;}
  .reread_link a { background-size: 1.4em;}
}



/*************************************************
 コンテンツ
**************************************************/
/* メニュー右 */
.menu_left .contents_wrap article { float: right;}
.menu_left .contents_wrap .menu_contents { float: left;}

/* メニュー左 */
.menu_right .contents_wrap article { float: left;}
.menu_right .contents_wrap .menu_contents { float: right;}



/*************************************************
 サブトップ
**************************************************/
.subtop .list { display: flex; flex-wrap: wrap;}
.subtop .category  { width: 48%;}
.subtop .category.left { margin-right: 2%;}
.subtop .category.right { margin-left: 2%;}
.subtop .section { margin-bottom: 1em; background-color: var(--rep-tgt-bgclr-001-000003);/* #eee; */ }
.subtop .section ul { display: none;}
.subtop .section li.more { margin-top: 1em;}

.subtop .listopen.active .text_open,
.subtop .listopen .text_close { display: none;}
.subtop .listopen .text_open,
.subtop .listopen.active .text_close { display: block;}


.news { margin-bottom: 2em; font-size: 1.1em;}
.news dl { padding: .3em 0 .8em ; border-bottom: 1px dashed var(--rep-tgt-brdclr-com1-gry-000006); /* #898989; */ }
.news dt .news_date { min-width: 9.5em;}
.news dd a:hover { text-decoration: none;}

/* NEWS */
.news dl { margin-bottom: 0;}
.news dt,
.news dd { padding:.8em 0 0.7em;}
.news dt { width:10em;padding-left:.5em;float:left;}
.news dd { margin-left:0;padding-left:6.5em; border: none;}
.nodata { border:2px solid var(--rep-tgt-brdclr-com1-gry-000005); /* #CCCCCC; */ padding:.5em;}

.subtop .news dt,
.subtop .news dd { padding:1em 0 1.2em;}
.subtop .news dd { border-bottom: 1px dotted #aaa;}


/*************************************************
 CMS用テンプレート  .txtbox内部
**************************************************/
/* 見出し */
.txtbox h2 {}
.txtbox h3 {}
.txtbox h4 {}
.txtbox h5 {}
.txtbox h6 {}

/* table */
.txtbox table th,
.txtbox table td { border: 1px solid var(--rep-tgt-brdclr-com1-bll-000008); /* #8888bb; */ } /* テーブル線の色 */
.txtbox table th { background: var(--rep-tgt-brdclr-com1-bll-000009); /* #eeeeff; */ } /* THの色 */



/*************************************************
 レスポンシブ　タブレット 1160px + 20px
**************************************************/
@media screen and (width <= 1180px) {

	#TOP,
	.global_wrap,
	.header_wrap,
	#menu,
	.locus_wrap,
	.contents_wrap,
	.contents_wrap article,
	.contents_wrap .menu_contents,
	.menu_footer,
	.footer_wrap { float: none; position: static; width: auto;}

	.contents_wrap { display: block;}
	.menu_left .contents_wrap article,
	.menu_left .contents_wrap .menu_contents,
	.menu_right .contents_wrap article,
	.menu_right .contents_wrap .menu_contents { float: none; width: 100%; max-width: none;}

	.header_wrap,
	.locus_wrap,
	.contents_wrap,
	.menu_footer ul,
	.footer_wrap,
	.copyright_wrap { margin-left: 2.5%; margin-right: 2.5%;}



	/* ===========================
	 グローバルメニュー
	=========================== */
	header {}
	.menu_global { position: fixed; top: 0px; left: 0px; right: 0px; height: 0; z-index: 110; overflow: visible;}
	#menu { display: none; position: fixed; top: 52px; bottom: 0px; left: 0px; right: 0px; margin: 0; padding: 0; background-color: transparent; overflow: auto; }
	#menu li { width: auto;}
	#menu li a,
	#menu li dt a { padding: 1em; background: var(--rep-tgt-bgclr-com1-wht-000001); /* #fff; */ }
	


	/* グローバルメニュー サブカテゴリ */
	#menu dl dd { display: none!important;} /* サブカテゴリ非表示 */


	/* ハンバーガーメニュー */
	.menu_button,
	.mb_global_menu { display: block; transition-duration: 0.3s;}


	/* コンフィグメニュー*/
	.conf_button { display :block; padding-bottom: 0; transition-duration: 0.3s;}
	.conf_button.active { box-shadow: 0px 0px 0px 2px rgba(255,255,255,0.9);}
	
	
	/* ホームメニュー*/
	.home_button { display: block; padding-bottom: 0; transition-duration: 0.3s;}
	.home_button.active { box-shadow: 0px 0px 0px 2px rgba(255,255,255,0.9);}


	/* タイトル */
	header .title {}



	/* フッター */
	footer { padding-bottom: 80px;} /* ハンバーガー分の余白 */


}



/*************************************************
 レスポンシブ　タブレット 600px + 20px
**************************************************/
@media screen and (width <= 620px) {
/**********************************
 サブトップ
**********************************/
	.subtop .list {}
	.subtop .category  { width: 100%;}
	.subtop .category.left { margin-right: 0;}
	.subtop .category.right { margin-left: 0;}
	.subtop .section { margin-bottom: 1em; background-color: var(--rep-tgt-bgclr-001-000003); /* #eee; */ }
	.subtop .section ul { display: none;}

}



@media screen and (width > 1180px) {

}




@media screen and (-ms-high-contrast:active) {
* {text-indent: 0em !important;}
}


/**************************************************/
/* 本番からもってきたdetailにはない要素なので追加 */
/**************************************************/

.info_section_inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.info_section_text {
}

.info_section_button {
    margin-left: 1em;
}

.info_section_button a {
    position: relative;
    display: flex
;
    padding: 1.5em calc(1.5em + 11px) 1.5em calc(1.5em + 37px);
    color: var(--rep-tgt-fntclrancbf-bk-000001); /* #000; */
    text-decoration: none;
    background: url(../img/ico_inquiry.png) left 1em center no-repeat var(--rep-tgt-bgclr-com1-gry-000004); /* #ddd; */
}

.info_section_button a:before {
    position: absolute;
    display: block;
    content: "";
    top: 0px;
    bottom: 0px;
    right: 0.5em;
    width: 11px;
    background: url(../img/arrow_common.png) center center no-repeat;
}

:root {
/* 変数置き換えゾーン[START] */

  --rep-tgt-bgclr-CON1-bl-1 : #1B1466; /* 背景＞青系 */
  --rep-tgt-bgclr-CON1-bl-2 : #8D8AB3; /* 背景＞青系 */
  --rep-tgt-bgclr-CON1-bl-3 : #EDF1FD; /* 背景＞青系 */
  --rep-tgt-bgclr-CON1-bl-4 : #1B1464; /* 背景＞青系 */
  --rep-tgt-bgclr-CON1-bl-5 : #F5F6F9; /* 背景＞青系 */
  --rep-tgt-bgclr-CON1-bl-6 : #296acc; /* 背景＞青系 */

  --rep-tgt-bgclr-CON1-grn-1 : #deeff1; 

  --rep-tgt-bgclr-com1-gry-000001 : #FBF9F8; /* 背景＞灰系 */
  --rep-tgt-bgclr-com1-gry-000002 : #F3F3F3; /* 背景＞灰系 */
  --rep-tgt-bgclr-com1-gry-000003 : #F1F1F1; /* 背景＞灰系 */
  --rep-tgt-bgclr-com1-gry-000004 : #dddddd; /* 背景＞灰系 */

  --rep-tgt-bgclr-com1-pnk-000001 : #FDDFDF; /* 背景＞桃色系 */

  --rep-tgt-bgclr-com1-wht-000001 : #FFFFFF; /* 背景＞白系 */
  --rep-tgt-bgclr-com1-blk-000001 : #000000; /* 背景＞黒系 */

  --rep-tgt-bgclr-001-000001 : #1B1466; /* 背景色 */
  --rep-tgt-bgclr-001-000002 : #222222; /* 背景色 */
  --rep-tgt-bgclr-001-000003 : #eeeeee; /* 背景色 */
  --rep-tgt-bgclr-001-000004 : #E6EBFD; /* 背景色 */
  --rep-tgt-bgclr-001-000005 : #222222; /* 背景色 */
  --rep-tgt-bgclr-001-000006 : #222222; /* 背景色 */
  --rep-tgt-bgclr-001-000007 : #222222; /* 背景色 */

  --rep-tgt-bgclr-HV1-bl-1 : #BAC8F2; /* 背景＞ホバー＞青系 */
  --rep-tgt-bgclr-HV1-bl-2 : #E6EBFD; /* 背景＞ホバー＞青系 */
  --rep-tgt-bgclr-HV1-bl-3 : #EDF1FD; 

  --rep-tgt-bgclr-HV1-gry-1 : #F3F3F3; /* 背景＞ホバー＞灰系 */
  --rep-tgt-bgclr-HV1-grn-1 : #eeffee; /* 背景＞ホバー＞緑系 */

  --rep-tgt-fntclr-com1-bl-000001 : #1B1464; /* 文字色＞青系1 */
  --rep-tgt-fntclr-com1-bl-000002 : #2222ff; /* 文字色＞青系2 */
  --rep-tgt-fntclr-com1-bk-000001 : #111100; /* 文字色＞黒系1 */
  --rep-tgt-fntclr-com1-bk-000002 : #000000; /* 文字色＞黒系2 */

  --rep-tgt-fntclr-001-000001 : #1B1466; /* 文字色 青系 */
  --rep-tgt-fntclr-001-000002 : #FFFFFF; /* 文字色 白系 */
  --rep-tgt-fntclr-001-000003 : #222222; /* 文字色 黒系 */
  --rep-tgt-fntclr-001-000004 : #333333; /* 文字色 黒系 */
  --rep-tgt-fntclr-001-000005 : #333366; /* 文字色 青系 */
  --rep-tgt-fntclr-001-000006 : #A91C1C; /* 文字色 赤系  */
  --rep-tgt-fntclr-001-000007 : #222222; /* 文字色 */

  --rep-tgt-fntclrinp-ph-gr-000001 : #999999; 
  --rep-tgt-fntclrancbf-bk-000001 : #000000; 
  --rep-tgt-fntclranchvfc-wh-000001 : #ffffff; 

  --rep-tgt-brdclr-com1-bll-000001 : #1B1466; /* 境界色＞青系1 */
  --rep-tgt-brdclr-com1-bll-000002 : #211A68; /* 境界色＞青系2 */
  --rep-tgt-brdclr-com1-bll-000003 : #28216D; /* 境界色＞青系3 */
  --rep-tgt-brdclr-com1-bll-000004 : #1B1464; /* 境界色＞青系4 */
  --rep-tgt-brdclr-com1-bll-000005 : #8480AC; /* 境界色＞青系5 */
  --rep-tgt-brdclr-com1-bll-000006 : #333366; /* 境界色＞青系6 */
  --rep-tgt-brdclr-com1-bll-000007 : #296acc; /* 境界色＞青系7 */
  --rep-tgt-brdclr-com1-bll-000008 : #8888bb; /* 境界色＞青系8 */
  --rep-tgt-brdclr-com1-bll-000009 : #eeeeff; /* 境界色＞青系9 */

  --rep-tgt-brdclr-com1-gry-000001 : #E2E2E2; /* 境界色＞灰系1 */
  --rep-tgt-brdclr-com1-gry-000002 : #DFDDDD; /* 境界色＞灰系2 */
  --rep-tgt-brdclr-com1-gry-000003 : #c7c7c7; /* 境界色＞灰系3 */
  --rep-tgt-brdclr-com1-gry-000004 : #dddddd; /* 境界色＞灰系4 */
  --rep-tgt-brdclr-com1-gry-000005 : #CCCCCC; /* 境界色＞灰系5 */
  --rep-tgt-brdclr-com1-gry-000006 : #898989; /* 境界色＞灰系6 */

  --rep-tgt-brdclr-com1-rd-000001 : #A91C1C; /* 境界色＞赤系1 */

  --rep-tgt-brdclr-com1-wht-000001 : #FFFFFF; /* 境界色＞白系1 */

  --rep-tgt-brdclr-HV1-gry-000003 : #7771C0; /* 境界色＞ホバー＞青系1 */
  --rep-tgt-brdclr-HV1-bl-000004 : #AF8DE8; /* 境界色＞ホバー＞青系2 */
  --rep-tgt-brdclr-HV1-bl-000005 : #8d8ab3; /* 境界色＞ホバー＞青系3 */

/* 変数置き換えゾーン[END] */
}

/************/
/* 共通系   */
/************/
/* （ここから）detailを本番のもをつかうために最新テンプレートから取込 */
*, *::before, *::after {
    box-sizing: border-box;
}
#Map, #Map *, #jump {
    padding: 0;
    overflow: visible;
}
/* （ここまで）detailを本番のもをつかうために最新テンプレートから取込 */

/****************************/
/* ヘッダー　＞　検索領域   */
/****************************/

/* （ここから）detailを本番のもをつかうために最新テンプレートから取込 */

.blc_search .search_wrap_inner {
    display: flex;
    align-items: stretch;
    width: calc(100% - 8em);
}

.blc_search .search_wrap_inner input[type="text"] {
    width: calc(100% - 4em);
}


form input[type="text"], form input[type="email"], form input[type="tel"] {
    border: 1px solid var(--rep-tgt-brdclr-com1-gry-000005); /* #CCCCCC */
    -webkit-appearance: none;
}

form input[type="submit"] {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0;
    border-radius: 0;
    -webkit-appearance: none;
    margin: 0 auto;
    padding: 0.5em 1em;
}
.blc_search .search_wrap_inner input[type="submit"] {
    width: 4em;
}
/* （ここまで）detailを本番のもをつかうために最新テンプレートから取込 */

/*********************************************/
/* H1 ページタイトルのデザイン修正(250317)   */
/*********************************************/
.contents h1 {
  height           : auto;
  min-height       : 2.685em; /* 51.19px */
  border-top       : solid 2px var(--rep-tgt-brdclr-com1-wht-000001);
  border-left      : solid 2px var(--rep-tgt-brdclr-com1-wht-000001);
  border-right     : solid 2px var(--rep-tgt-brdclr-com1-wht-000001);
  border-bottom    : solid 2px var(--rep-tgt-bgclr-CON1-bl-2);
  margin-bottom    : 1.5em;
  padding          : 0 0 1em;
  background-color : var(--rep-tgt-bgclr-com1-wht-000001);
  color            : var(--rep-tgt-fntclr-001-000001);
}

.contents h1 span.heading {
  display  : block;
  width    : 100%;
  max-width: 1160px;
  margin   : 0 auto;
}

.txtbox h1:before {
  position: absolute;
  content: "";
  display: block;
  top: 0.4em;
  bottom: 0.4em;
  left: 0.2em;
  width: 0.2em;
  background-color: var(--rep-tgt-bgclr-com1-wht-000001);
}

.txtbox h1:before {
  display: none; /* 見た目上削除 */ 
}

/*************************************/
/* H2 見出し２のデザイン修正(250317)   */
/*************************************/
.txtbox h2 {
  position         : relative;
  height           : auto;
  min-height       : 2.8em;
  background-color : var(--rep-tgt-bgclr-com1-gry-000002);
  padding-left     : 0.9em; /* 1.2em => 0.9em */

  display: flex;
  align-items: center;
  margin-top: 2em;
  font-weight: 500;
}
.txtbox h2:first-child {
  margin-top: 0;
}

.article > section.file_section h2
,article > section.link_section h2
,article > section.map_section h2
,article > section.form_section h2{
  color            : var(--rep-tgt-fntclr-001-000001);
}

.txtbox h2:before { /* 修正ポイント */
  position         : absolute;
  content          : "";
  display          : block;
  top              : .4em;
  bottom           : 0.4em;
  left             : 0; /* 0.3em => 0 */
  width            : 5px;
  background-color : var(--rep-tgt-bgclr-CON1-bl-4);
}

/*************************************/
/* H2 見出し３のデザイン修正(250317)   */
/*************************************/
.txtbox h3 { /* 修正ポイント */
  position         : relative;
  height           : auto;
  min-height       : 3em;
  border-top       : solid 2px var(--rep-tgt-brdclr-com1-wht-000001);
  border-left      : solid 2px var(--rep-tgt-brdclr-com1-wht-000001);
  border-right     : solid 2px var(--rep-tgt-brdclr-com1-wht-000001);
  border-bottom    : solid 2px var(--rep-tgt-brdclr-com1-bll-000002);
  background-color : var(--rep-tgt-bgclr-com1-wht-000001);
  color            : var(--rep-tgt-fntclr-001-000001);
  font-size        : 1.3em;

  display: flex;
  align-items: center;
  font-weight: 500;

}

.txtbox h3:before { /* 修正ポイント */
  position         : absolute;
  content          : "";
  display          : block;
  top              : .3em;
  bottom           : .3em;
  left             : 0.0em;
  width            : 5px;
  background-color : var(--rep-tgt-bgclr-CON1-bl-4);
}

.txtbox h3 { /* 修正ポイント */
  padding-left: 15px;
}

/***************************************/
/* H3 見出し３のデザイン修正(250317)   */
/***************************************/


/***************************************/
/* リンクアイコンのデザイン修正(250317)   */
/***************************************/

/* （ここから）detailを本番のもをつかうために最新テンプレートから取込 */
/* ===========================
 file type view
=========================== */

a.sizeview { padding-left: 1.75em; background: 4px center no-repeat; background-size: auto 100%;}
a.sizeview { background-image:url(../img/file_list_mark.png);}
a.sizeview[href$=".PDF"], 
a.sizeview[href$=".pdf"] { background-image:url(../img/file_list_mark_pdf.png);}
a.sizeview[href$=".DOC"],
a.sizeview[href$=".DOCX"] ,
a.sizeview[href$=".doc"],
a.sizeview[href$=".docx"] { background-image:url(../img/file_list_mark_doc.png);}
a.sizeview[href$=".XLS"],
a.sizeview[href$=".XLSX"] ,
a.sizeview[href$=".xls"],
a.sizeview[href$=".xlsx"] { background-image:url(../img/file_list_mark_xls.png);}


/* ===========================
 outside link
=========================== */
a.outside,a.sizeview {padding-right: 0.2em; }
a.outside:after, a.sizeview:after{ display: inline-block; content: ""; width: 1em; height: 1em; margin-left: 0.2em; background: center center no-repeat url("../img/ico_outside.png"); background-size: contain;}

/* （ここまで）detailを本番のもをつかうために最新テンプレートから取込 */



/***************************************/
/* リンクアイコンのデザイン修正(250317)   */
/***************************************/


/***************************************/
/* 外部リンク指定classを持つa要素のデザイン修正(250317)   */
/***************************************/



/***************************************/
/* H4 見出し４のデザイン修正(250317)   */
/***************************************/
.txtbox h4 {
  position         : relative;
  height           : auto;
  min-height       : 2em;
  padding-left     : 18px;

  font-size        : 1.3em;
  color            : var(--rep-tgt-fntclr-001-000001);

  margin-top: 1.5em;
  margin-bottom: .5em;
  font-weight: 500;

}

.txtbox h4:before {
  position: absolute;
  content: "";
  display: block;
  top    : -1px;
  bottom : 0.4em;
  left   : 0.3em;
  width  : 5px;
  height : 34px;
  background-color: var(--rep-tgt-brdclr-com1-bll-000002);

  font-weight: 500;
}

/***************************************/
/* H5 見出し５のデザイン修正(250317)   */
/***************************************/
.txtbox h5 {
  position         : relative;
  height           : auto;
  min-height       : 1.2em;
  padding-left     : 24px;

  font-size        : 1.15em;
  color            : var(--rep-tgt-fntclr-001-000001);

  margin-bottom: .5em;
  font-weight: 500;
}

.txtbox h5:before {
  position: absolute;
  content: "";
  display: block;
  top   : .4em;

  left  : 0.2em;
  width : .8em;
  height: .8em;
  background-color: var(--rep-tgt-brdclr-com1-bll-000002);
}

/***************************************/
/* H6 見出し５のデザイン修正(250317)   */
/***************************************/
.txtbox h6 {
  position         : relative;
  height           : auto;

  padding-left     : 18px;

  font-size        : 1.05em;
  color            : var(--rep-tgt-fntclr-001-000001);

  margin-top: 1em;
  margin-bottom: .5em;
}
.txtbox h6:before {
  position: absolute;
  content: "";
  display: block;
  top    : 0em;
  bottom :  0.0em;
  left   :  6px;
  width  :  4px;
  height : 1.5em;
  background-color: var(--rep-tgt-brdclr-com1-bll-000002);
}

/**********************************/
/* リストのデザイン修正(250317)   */
/*  20241115151520.html           */
/**********************************/
.txtbox ul.list2 > li:before {

}

/**********************************/
/* 表全体のデザイン修正(250317)   */
/**********************************/
tbody {
  border-color : solid 2px var(--rep-tgt-bgclr-CON1-bl-4);
}

.txtbox table th,
.txtbox table td {
  border       : solid 1px var(--rep-tgt-bgclr-CON1-bl-4);;
}

/* 表のヘッダのデザイン修正(250317)   */
.txtbox table th {
  background-color: var(--rep-tgt-bgclr-com1-gry-000002);
}

/* リンクセクションのデザイン修正 */
section.link_section {
  background-color: var(--rep-tgt-bgclr-com1-wht-000001);
  border: 3px solid var(--rep-tgt-brdclr-com1-wht-000001);
}

/* リストタグの色 */
.txtbox ul > li:before { top: .4em; background-color: var(--rep-tgt-fntclr-001-000001);}

/**************************************************************************/
/* テンプレート                                                           */
/**************************************************************************/

/**************************************************************************/
/* セクション（画像右）のデザイン修正(250317)                             */
/**************************************************************************/
div.image_box .image_box_right {
}


/**************************************************************************/
/* セクション（画像左）のデザイン修正(250317)                             */
/**************************************************************************/
div.image_box .image_box_left {
}


/**************************************************************************/
/* セクション（画像N枚並び）のデザイン修正(250317)                        */
/**************************************************************************/
/* （ここから）detailを本番のもをつかうために最新テンプレートから取込 */
.txtbox .box-image {
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    flex-wrap: wrap;
    list-style: none;
}

.txtbox ul {
    padding-left: 0;
}
/* （ここまで）detailを本番のもをつかうために最新テンプレートから取込 */

/**************************************************************************/
/* セクション（画像1枚並び）のデザイン修正(250317)                        */
/**************************************************************************/
ul.box-image.single {
}



/**************************************************************************/
/* セクション（画像2枚並び）のデザイン修正(250317)                        */
/**************************************************************************/
ul.box-image.double {
}

/**************************************************************************/
/* セクション（画像3枚並び）のデザイン修正(250317)                        */
/**************************************************************************/
ul.box-image.triple {
}

/**************************************************************************/
/* セクション（画像4枚並び）のデザイン修正(250317)                        */
/**************************************************************************/
ul.box-image.quadruple {
}

/**************************************************************************/
/* セクション（画像5枚並び）のデザイン修正(250317)                        */
/**************************************************************************/
ul.box-image.pentadruple {
}

/**************************************************************************/
/* セクション（画像6枚並び）のデザイン修正(250317)                        */
/**************************************************************************/
ul.box-image.hexatruple {
}

/**************************************************************************/
/* セクション（画像6枚並び）のデザイン修正(250317)                        */
/**************************************************************************/
ul.box-image.hexatruple {
}

/**************************************************************************/
/* セクション（画像6枚並び）のデザイン修正(250317)                        */
/**************************************************************************/
ul.box-image.hexatruple {
}

/**************************************************************************/
/* セクション（関連ファイル）のデザイン修正(250317)                        */
/**************************************************************************/

article > section.file_section {
    margin-bottom   : 1.5em;
}

article > section.file_section h2 {
  position         : relative;
  border-top       : solid 2px var(--rep-tgt-brdclr-com1-wht-000001);;
  border-left      : solid 2px var(--rep-tgt-brdclr-com1-wht-000001);;
  border-right     : solid 2px var(--rep-tgt-brdclr-com1-wht-000001);;
  border-bottom    : solid 2px var(--rep-tgt-bgclr-CON1-bl-4);
  padding-left     : 15px; 
  background-color : var(--rep-tgt-bgclr-com1-wht-000001);;
  padding-top: .3em;
  padding-bottom: .3em;

  color            : var(--rep-tgt-fntclr-com1-bl-000001);
}

article > section.file_section h2:before {
  position: absolute;
  content: "";
  display: block;
  top    : -0.2em;
  bottom :  0.5em;
  left   : 0.2em;
  width  : 0.2em;
  height           : 1.6em; /* 38.39px */
  /* background-color : var(--rep-tgt-bgclr-CON1-bl-4); */

}

/**************************************************************************/
/* セクション（PDFファイルをご覧いただくには…）のデザイン修正(250317)    */
/**************************************************************************/

/* （ここから）detailを本番のもをつかうために最新テンプレートから取込 */
.acrobat_wrap {
    display: flex;
    justify-content: space-around;
    align-items: center;
}

.acrobat_text {
    margin-left: 1em;
    font-size: 0.9em;
}

.acrobat_button {
    min-width: 11em;
    margin-left: 1em;
    padding: 0;
}
.acrobat_button a {
    display: block;
    width  : 100%;

    padding: 0.6em;

    border: 3px solid var(--rep-tgt-brdclr-com1-gry-000002);
    background-color: var(--rep-tgt-bgclr-com1-wht-000001); 

    color: var(--rep-tgt-fntclrancbf-bk-000001); /* #000; */
    text-decoration: none;
}
.acrobat_button a:hover,
.acrobat_button a:focus {
  border: 3px solid var(--rep-tgt-brdclr-HV1-bl-000004);
}

.acrobat_button a img {
    width  :  100px;
    height :  35px;
}

.acrobat_bt_image, .acrobat_bt_text {
    display: block;
    text-align: center;
}
.acrobat_bt_image {
    margin: 0.3em auto;
}
.acrobat_bt_text {
    font-size  : 1.0em;
    font-weight: bold;
}
/* （ここまで）detailを本番のもをつかうために最新テンプレートから取込 */

article > div.acrobat {
  background-color: var(--rep-tgt-bgclr-com1-gry-000001);   /* 修正ポイント */
}

.acrobat_button {
    border-radius : 4px;  /* 修正ポイント */
}

/**************************************************************************/
/* セクション（関連リンク）のデザイン修正(250317)                         */
/**************************************************************************/

article > section.link_section {
    margin-bottom   : 1.5em;
}

/* （ここから）detailを本番のもをつかうために最新テンプレートから取込 */
ul.file_list, ul.link_list {
    padding-left: 0;
}

ul.file_list li, ul.link_list li {
    position: relative;
    padding-left: 2em;
}
ul.file_list li, ul.link_list li {
    margin-bottom: .3em;
}

ul.file_list li:before { content:"";position:absolute;display:block;top:0.1em;left:4px;width:1.2em;height:1.2em; background: url("../img/file_list_mark.png") center center no-repeat; background-size: contain;}
ul.file_list li.pdf:before { background-image: url("../img/file_list_mark_pdf.png");}
ul.file_list li.doc:before { background-image: url("../img/file_list_mark_doc.png");}
ul.file_list li.xls:before { background-image: url("../img/file_list_mark_xls.png");}


/* （ここまで）detailを本番のもをつかうために最新テンプレートから取込 */

/*
  https://miyattiblog.com/solution-when-the-pseudo-element-is-not-displayed/

  1.擬似要素はデフォルトがインライン要素。
  　インライン要素の状態では、width、height、margin、transform などは効かない。
  　＝＞「display: block;」もしくは、「display: inline-block;」を指定
  2.疑似要素に「position: absolute;」を指定している場合、
  　基準となる親要素（基本的には疑似要素を付けた要素）に「position: relative;」を指定する必要がある
*/
article > section.link_section h2 {
  position         : relative;
  border-top       : solid 2px var(--rep-tgt-brdclr-com1-wht-000001);
  border-left      : solid 2px var(--rep-tgt-brdclr-com1-wht-000001);
  border-right     : solid 2px var(--rep-tgt-brdclr-com1-wht-000001);
  border-bottom    : solid 2px var(--rep-tgt-bgclr-CON1-bl-4);
  padding-left     : 0.5em; /* 15px; */
  background-color: var(--rep-tgt-bgclr-com1-wht-000001);;
  padding-top: .3em;
  padding-bottom: .3em;
}
article > section.link_section h2:before {
  position: absolute;
  content: "";
  display: block;
  top   : -0.2em;
  bottom:  0.5em;
  left  :  0.2em;
  width :  0.2em;
  height           : 1.6em; /* 38.39px */
  /* background-color : var(--rep-tgt-bgclr-CON1-bl-4); */
}

ul.link_list li {
  margin-left        : 7px;
}
article > section.link_section ul.link_list li {
  margin-left        : 0.45em;
}

ul.link_list li:before {
  content            : "";
  position           : absolute;
  display            : block;
  width              : 10px;
  height             : 1.0em;
  left               : 1.2em;
  top                : 0.3em;
  background-image   : url("../img/r_facing_eq_triangle.png");
  background-repeat  : no-repeat;
  background-position: center center;
  background-size    : 10px 12px;
}

/********************************/
/* セクション（【周辺案内図】）   */
/********************************/

article > section.map_section {
    margin-bottom   : 1.5em;
}
article > section.map_section h2 {
  position: relative;
  border-top       : solid 2px var(--rep-tgt-brdclr-com1-wht-000001);
  border-left      : solid 2px var(--rep-tgt-brdclr-com1-wht-000001);
  border-right     : solid 2px var(--rep-tgt-brdclr-com1-wht-000001);
  border-bottom    : solid 2px var(--rep-tgt-bgclr-CON1-bl-4);
  padding-left     : 0.5em; /* 15px; */
  background-color: var(--rep-tgt-bgclr-com1-wht-000001);
  padding-top: .3em;
  padding-bottom: .3em;
}
article > section.map_section h2:before {
  position: absolute;
  content: "";
  display: none;
  top   :  .2em;
  bottom:  .2em;
  left  :  0;
  width :  0.2em;
  background-color : var(--rep-tgt-bgclr-CON1-bl-4);

}


/************************************************/
/* セクション（【メールフォーム系】）   */
/************************************************/

form div.form_field_set {
  display: block;
  margin: 0 0 1em;
  padding: 0 0 5px;
  border: none;
}

/************************************************/
/* セクション（【このページに関するアンケート】）   */
/************************************************/

/* （ここから）detailを本番のもをつかうために最新テンプレートから取込 */
article > section.form_section {
    margin-bottom   : 1.5em;
}
.wcf {
    padding-left: 2.5%;
    padding-right: 2.5%;
}

form input[type="submit"] {
    display: flex
;
    justify-content: center;
    align-items: center;
    margin: 0;
    border-radius: 0;
    -webkit-appearance: none;
    margin: 0 auto;
    padding: 0.5em 1em;
}
/* （ここまで）detailを本番のもをつかうために最新テンプレートから取込 */

article > section.form_section h2 {
  position: relative;
  border-top       : solid 2px var(--rep-tgt-brdclr-com1-wht-000001);
  border-left      : solid 2px var(--rep-tgt-brdclr-com1-wht-000001);
  border-right     : solid 2px var(--rep-tgt-brdclr-com1-wht-000001);
  border-bottom    : solid 2px var(--rep-tgt-bgclr-CON1-bl-4);

  padding-left     : 0.5em; /* 15px; */
  background-color : var(--rep-tgt-bgclr-com1-wht-000001);
}
article > section.form_section h2:before {
  position: absolute;
  content: "";
  display: block;
  top   : -0.2em;
  bottom:  0.5em;
  left  :  0.2em;
  width :  0.2em;

  height           : 1.6em; /* 38.39px */
  background-color : var(--rep-tgt-bgclr-CON1-bl-4);
}

/************************************************/
/* セクション（【このページに関する問い合わせ先】） */
/************************************************/
article > section.info_section {
    margin-bottom   : 1.5em;
    border          : solid 2px var(--rep-tgt-brdclr-com1-gry-000003);
}

article > section.info_section h2 {
    /* height          : 3.0em; */ /* 72px; */
    height          : auto;

    padding-left    : 1.25em; /* 20px; */
    padding-top     : 0.5em;
    padding-bottom  : 0.5em;
    
    background-color: var(--rep-tgt-bgclr-com1-gry-000002);

    color           : var(--rep-tgt-fntclr-001-000003);

    font-size       : 1.5em;  /* 24px; */
    /* line-height     : 3.0em; */ /* 72px; */
    line-height     : 2.0em;
}

section.info_section .info_section_text {
    padding-left    : 2.0em;
}

section.info_section .info_section_text p {
    padding-left    : 1.25em; /* 20px; */
}

article > section.info_section .info_section_button {
    margin-right    : 1.75em; /* 28px; */
}

section.info_section a.mail {
    border          : solid 3px var(--rep-tgt-brdclr-com1-gry-000001);
    border-radius   : 6px;
    background-color: var(--rep-tgt-bgclr-com1-wht-000001);

    background-image   : url("../img/ico_mail.png");
    background-repeat  : no-repeat;
/*    background-position: left 14px center; */
/*    background-size    : 38px 26px; */
    background-position: left 0.875em center;
    background-size    : 2.375em 1.625em;
}

section.info_section a.mail:hover,
section.info_section a.mail:focus {
  background-color: var(--rep-tgt-bgclr-HV1-bl-3); /* #EDF1FD */
}

/**************************************/
/* セクション（【カテゴリータイトル】）  */
/**************************************/
nav.menu_contents {
  --leftZone-width     : 0.68em;   /* 11px; */
  --rightZone-width    : 0.68em;   /* 11px; */

  --dt-innerTextHeight : 0.9375em; /* 15px; */
  --dd-innerTextHeight : 0.875em;  /* 14px; */

  --dd-padding-left    : 0.9375em; /* 15px; */
  --dd-padding-right   : 1.875em;  /* 30px; */

  --dd-padding-top     : 29px;
  --dd-padding-btm     : 25px;
  --dd-height          : calc( var(--dd-padding-top) + var(--dd-innerTextHeight) + var(--dd-padding-btm) );

  --allowWidth         : 0.625em; /* 10px; */

  --allowZoneRight     : calc( var(--rightZone-width) + var(--allowWidth) ); 

  overflow: visible;
  height  : auto;
}

nav.menu_contents a:visited {
  color       : var(--rep-tgt-fntclr-001-000001);
  font-weight : bold;
}

nav.menu_contents dl {
  border         : solid 2px var(--rep-tgt-brdclr-com1-bll-000004);
  padding-bottom : 0;

  overflow: visible;
  height  : auto;
}

/* カテゴリタイトル(表題) */
nav.menu_contents dt {
  height          : 71px; /* 27 + 20 + 24 */
  padding-top     : 22px;
  padding-bottom  : 19px;
  background-color: var(--rep-tgt-bgclr-CON1-bl-1);
  color           : var(--rep-tgt-fntclr-001-000002);
  text-align      : center;

  line-height     : 1;
  font-size       : 1.25em; /* 20px; */
}
/* カテゴリメニュー */
nav.menu_contents dd {
  position           : relative;
  min-height         : 74px; /* 32 + 18 + 24 */
  margin-inline-start: 0px;

  line-height        : 1.4;
  font-size          : 1.2em;
}
nav.menu_contents dd:before { /* 矢印（＞） */
  position        : absolute;
  content         : "";
  height          : calc( var(--dd-height) );
  width           : var(--dd-innerTextHeight);
  right           : var(--allowZoneRight);
}

nav.menu_contents dd::after { /* 境界枠線(borderの代役) */
  position        : absolute;
  content         : "";
  height          : 1px;
  width           : calc( 100% - 22px);
  left            : var(--leftZone-width);
  bottom          : 0;
  background-color: var(--rep-tgt-brdclr-com1-gry-000003);
}

nav.menu_contents dd:last-child::after { /* 最後の要素には境界枠線(borderの代役)をつけない */
  height          : 0px;
}

nav.menu_contents dd a {
  display         : flex;
  align-items: center;
  position        : relative;

  width           : 100%;
  height          : 100%;
  min-height      : 74px;

  padding-left    : var(--dd-padding-left);
  padding-right   : var(--dd-padding-right);
  padding-top     : .5em;
  padding-bottom  : .5em;
  text-decoration : none;

  background-image   : url("../img/arrow_nv.png");
  background-repeat  : no-repeat;
  background-position: right calc( var(--allowWidth) + 1px ) center;
  background-size    : var(--allowWidth);

  white-space      : pre-wrap;
  word-break       : break-all;
  color            : var(--rep-tgt-fntclr-com1-bl-000001);
}

/*
nav.menu_contents dd a:after {
  position  : absolute;
  content   : "";
  display   : block                         ;
  height    : 100%;
  left      : calc(100%);
  top       : 0;
  width     : var(--rightZone-width);
}
*/

nav.menu_contents dd a:hover,
nav.menu_contents dd a:focus {
  background-color   : var(--rep-tgt-bgclr-HV1-gry-1);

  background-image   : url("../img/arrow_nv.png");
  background-repeat  : no-repeat;
  background-position: right calc( var(--allowWidth) + 1px ) center;
  background-size    : var(--allowWidth);
}

/*
nav.menu_contents dd a:hover:before {
  position : absolute;
  content  : "";
  display  : block;
  height   : 100%;
  left     : calc( var(--leftZone-width) * -1 );
  top      : 0;
  width    : var(--leftZone-width);
  background-color: var(--rep-tgt-bgclr-HV1-bl-3);
}


nav.menu_contents dd a:hover:after {
  position  : absolute;
  content   : "";
  display   : block;
  height    : 100%;
  left      : calc(100%);
  top       : 0;
  width     : var(--rightZone-width);
  background-color   : var(--rep-tgt-bgclr-HV1-bl-3);
}
*/

/********************/
/* サブトップページ  */
/********************/
.subtop {}
/*********************************/
/* サブトップページ　＞　新着情報  */
/*********************************/

article > section.menu_section .news_title {
  display: flex;
}

article > section.menu_section h2 {
  color : var(--rep-tgt-fntclr-com1-bl-000001);
}
article > section.menu_section span.eng {
  padding-left : 0.625em;  /* 0.625em; 10px; */
  padding-top  : 0.43em;  /* 0.43em;  7px;  */
  color        : var(--rep-tgt-fntclr-com1-bk-000002);
}

article > section.menu_section dt {
  color : var(--rep-tgt-fntclr-com1-bl-000001);
}

article > section.menu_section dd a {
  color : var(--rep-tgt-fntclr-com1-bl-000001);
  text-decoration : none;
}

article > section.menu_section dd a:hover,
article > section.menu_section dd a:focus {
  color : var(--rep-tgt-fntclr-com1-bl-000001);
  text-decoration : underline;
}

/**********************************************/
/* サブトップページ　＞　新着情報一覧を見る   */
/**********************************************/
.subtop section.menu_section {
  position          : relative;
  --allowWidth      : 0.625em ; /* 10px; */
}

.subtop ul.to_news_list {
  position         : absolute;
  border           : solid 2px var(--rep-tgt-brdclr-com1-bll-000001);
  top              : 0;
  right            : 0; 
  background-color : var(--rep-tgt-bgclr-com1-wht-000001);
}
.subtop ul.to_news_list {
  width            : auto;
  min-width        : 220px;
  padding          : 0;
}
.subtop ul.to_news_list li {
  width              : auto;
  min-width          : 100%;
  margin: 0;
  padding: 0;
  font-size         : 1em;     /* 16px; */
  line-height       : 1.375em; /* 22px; */
}

.subtop ul.to_news_list a {
  display            : block;
  position           : relative;
  width              : auto;
  min-width          : 100%;
  /* padding-top        : 0.75em;  0.75em; 12px; */
  /* padding-bottom     : 0.56em;  0.56em;  9px; */
  padding-top        : 0.67em;
  padding-bottom     : 0.64em;  

  padding-left       : 0.75em; /* 0.75em; 12px; */
  padding-right      : 1.5em;  /* 1.5em;  24px; */
  background-image   : url("../img/arrow_nv.png");
  background-repeat  : no-repeat;
  background-position: right calc( var(--allowWidth) + 1px ) center;
  background-size    : var(--allowWidth);

  font-size          : 1em; /* 16px; */

  color              : var(--rep-tgt-fntclr-com1-bl-000001);
  text-decoration    : none;
}

.subtop ul.to_news_list a:hover,
.subtop ul.to_news_list a:focus {

  background-color : var(--rep-tgt-bgclr-HV1-bl-3); /*  */
  color            : var(--rep-tgt-fntclr-com1-bl-000001);
  text-decoration  : none;
}

/********************************/
/* サブトップページ　＞　メニュー  */
/********************************/
.subtop div.list {
  --allowWidth     : 0.625em ; /* 10px; */
}

.subtop div.list .category .section {
  padding-bottom   : 0;
  border           : solid 2px var(--rep-tgt-brdclr-com1-bll-000001);
  background-color : var(--rep-tgt-bgclr-com1-wht-000001);
}
.subtop div.list .category .section h2 {
  margin-bottom  : 0;
  padding-bottom : 0;

  font-size      : 1em;     /* 16px; */  
  line-height    : 1.375em; /*  22px; */
}

.subtop div.list .category .section a {
  display         : block;
  position        : relative;

  width           : 100%;
  padding-top     : 27px;     /* 1.6875em; 27px; */
  padding-bottom  : 27px;     /* 1.6875em; 27px; */
  padding-left    : 1.25em;   /* 1.25em;   20px; */
  padding-right   : 1.875em;  /* 1.675em;  30px; */

  background-image   : url("../img/arrow_nv.png");
  background-repeat  : no-repeat;
  background-position: right calc( var(--allowWidth) + 1px ) center;
  background-size    : var(--allowWidth);

  color            : var(--rep-tgt-fntclr-com1-bl-000001);
  text-decoration  : none;
}
.subtop div.list .category .section a.listopen { /**/
  display: none;
}

.subtop div.list .category .section a:hover,
.subtop div.list .category .section a:focus {
  background-color : var(--rep-tgt-bgclr-HV1-bl-3); /* #EDF1FD */
}

.subtop div.openedList {
    width       :100%;
    --allowWidth: 0.625em;
}
.subtop div.openedList .menuList,
.subtop div.openedList .menuList .section {
    width       :100%;
}
.subtop .openedList {
    display  : flex;
    flex-wrap: wrap;
}
.subtop div.openedList .section {
  width :100%;
  background-color : var(--rep-tgt-bgclr-com1-wht-000001);
}
.subtop div.openedList .section .category.leftToRight {
    display   : flex;
    flex-wrap : wrap;
    width     :100%;
    align-items: stretch;
}
/* .subtop div.list .category .section h2 */
.subtop div.openedList .section .category.leftToRight li {
    width          : 48%;
    box-sizing     : border-box;
    margin-bottom  : 1em;
    padding-bottom : 0;

    border: solid 2px var(--rep-tgt-brdclr-com1-bll-000001);
    background-color: var(--rep-tgt-bgclr-com1-wht-000001);
    white-space    : pre-wrap;
    word-break     : break-all;
    font-size      : 1em;
    line-height    : 1.375em;
}
/* 奇数番号 */
.subtop div.openedList .section .category.leftToRight li:nth-child(odd){
    margin-right   : 2%;
}
/* 偶数番号 */
.subtop div.openedList .section .category.leftToRight li:nth-child(even){
    margin-left    : 2%;
}
.subtop div.openedList .section .category.leftToRight a {
    display: flex;
    align-items: center;
    position: relative;
    width: 100%;
    height: 100%;
    padding-top: 27px;
    padding-bottom: 27px;
    padding-left: 1.25em;
    padding-right: 1.875em;
    background-image: url(../img/arrow_nv.png);
    background-repeat: no-repeat;
    background-position: right calc(var(--allowWidth) + 1px) center;
    background-size: var(--allowWidth);
    font-weight: bold;
    color: var(--rep-tgt-fntclr-com1-bl-000001);
    text-decoration: none;
}
.subtop div.openedList .section .category.leftToRight a:hover,
.subtop div.openedList .section .category.leftToRight a:focus {
    background-color: var(--rep-tgt-bgclr-HV1-bl-3); /* #EDF1FD */
}

/*************/
/* 一覧ページ */
/*************/

/**************************/
/* ページタイトル（リスト） */
/**************************/
article > section.page_section ul.page_list,
article > section.menu_section ul.menu_list {
  height            : auto;
  margin-bottom     : 0;
  padding-bottom    : 40px;    /* 2.5em; 40px; */

  --allowWidth      : 0.625em; /* 0.625em; 10px; */
}

article > section.page_section ul.page_list li,
article > section.menu_section ul.menu_list li {
  position        : relative;
  height          : auto;
  padding-top     : 0;
  padding-bottom  : 0;
  border          : none;
}
article > section.page_section ul.page_list li:after,
article > section.menu_section ul.menu_list li:after { /* 境界枠線(borderの代役) */
  position        : absolute;
  content         : "";
  height          : 3px;
  width           : calc( 100% - 60px);
  left            : 0;
  top             : calc( 100% + 4px);
  background-color: var(--rep-tgt-brdclr-com1-bll-000005);
}

article > section.page_section ul.page_list a,
article > section.menu_section ul.menu_list a {
  display         : block;
  position        : relative;

  width           : calc( 100% - 60px);
  border          : none;
  min-height      : 3.458em; /* 83px;(24) */

  /* padding-top     : 1.666em;  40px;(24) */
  /* padding-bottom  : 0.83em;   20px;(24) */

  padding-top     : 1.25em;
  padding-bottom  : 1.24em; 
  padding-left    : 2.5em;   /* 60px;(24) */
  padding-right   : 1.25em;  /* 30px;(24) */

  background-image   : url("../img/arrow_nv.png");
  background-repeat  : no-repeat;

  /* background-position: left 30px center; */

  background-position: left 1.25em center;
  background-size    : var(--allowWidth);

  font-size        : 1.5em; /* 24px;(24) */
  color            : var(--rep-tgt-fntclr-com1-bl-000001);
  text-decoration  : none;
}

article > section.page_section ul.page_list a:hover,
article > section.page_section ul.page_list a:focus,
article > section.menu_section ul.menu_list a:hover,
article > section.menu_section ul.menu_list a:focus {
  background-color: var(--rep-tgt-bgclr-HV1-bl-3); /* #EDF1FD */
}

/**************/
/* 二列表示用 */
/**************/
article > section.page_section.leftToRightWrap,
article > section.menu_section.leftToRightWrap {
    width: calc(100% - 60px);

    --allowWidth      : 0.625em; /* 0.625em; 10px; */
}

article > section.page_section.leftToRightWrap .elementsList.leftToRight,
article > section.menu_section.leftToRightWrap .elementsList.leftToRight {
    display   : flex;
    flex-wrap : wrap;
    width     : 100%;
    align-items: stretch;
}

article > section.page_section.leftToRightWrap .elementsList.leftToRight li,
article > section.menu_section.leftToRightWrap .elementsList.leftToRight li {
    width          : 48%;
    box-sizing     : border-box;
    margin-bottom  : 1em;
    padding-bottom : 0;

    /* border: solid 2px var(--rep-tgt-brdclr-com1-bll-000001); */
    background-color: var(--rep-tgt-bgclr-com1-wht-000001);
    white-space    : pre-wrap;
    word-break     : break-all;
    font-size      : 1em;
    line-height    : 1.375em;
}
/* 奇数番号 */
article > section.page_section.leftToRightWrap .elementsList.leftToRight li:nth-child(odd),
article > section.menu_section.leftToRightWrap .elementsList.leftToRight li:nth-child(odd){
    margin-right   : 2%;
}
/* 偶数番号 */
article > section.page_section.leftToRightWrap .elementsList.leftToRight li:nth-child(even),
article > section.menu_section.leftToRightWrap .elementsList.leftToRight li:nth-child(even){
    margin-left    : 2%;
}
article > section.page_section.leftToRightWrap .elementsList.leftToRight a,
article > section.menu_section.leftToRightWrap .elementsList.leftToRight a{
    display: flex;
    align-items: center;
    position: relative;
    width: 100%;
    height: 100%;

    padding-top     : 1.25em;
    padding-bottom  : 1.24em; 
    padding-left    : 2.5em;   /* 60px;(24) */
    padding-right   : 1.25em;  /* 30px;(24) */

    background-image   : url("../img/arrow_nv.png");
    background-repeat  : no-repeat;

    /* background-position: left 30px center; */

    background-position: left 1.25em center;
    background-size    : var(--allowWidth);

    font-size        : 1.5em; /* 24px;(24) */
    color            : var(--rep-tgt-fntclr-com1-bl-000001);
    text-decoration  : none;
}

article > section.page_section.leftToRightWrap .elementsList.leftToRight a:hover,
article > section.page_section.leftToRightWrap .elementsList.leftToRight a:focus,
article > section.menu_section.leftToRightWrap .elementsList.leftToRight a:hover,
article > section.menu_section.leftToRightWrap .elementsList.leftToRight a:focus {
    background-color: var(--rep-tgt-bgclr-HV1-bl-3); /* #EDF1FD */
}

/* 境界枠線(borderの代役) */
article > section.page_section.leftToRightWrap .elementsList.leftToRight a:after,
article > section.menu_section.leftToRightWrap .elementsList.leftToRight a:after { 
    position        : absolute;
    content         : "";
    height          : 3px;
    width           : 100%;
    left            : 0;
    top             : calc( 100% + 4px);
    background-color: var(--rep-tgt-brdclr-com1-bll-000005);
}

/* （内部テキストに日付ありの）アンカー用 */
article > section.menu_section a span.update_date {
    color       : var(--rep-tgt-fntclr-com1-bk-000002); /* #000; */
    padding-left: 1em;
    font-size: 0.7em;
}

@media screen and (width <= 620px) {
  /*********************/
  /* H1 ページタイトル */
  /*********************/
  .contents h1 span.heading {
    padding-left  : 0.2em;
    padding-right : 0.2em;
    line-height   : 1.25em;
  }

  /******************************************/
  /* h2系【関連ファイル】 */
  /******************************************/
  article > section.file_section h2 {
    padding-left: 0.1em;
  }

  /******************************************/
  /* h2系【関連リンク】 */
  /******************************************/
  article > section.link_section h2 {
    padding-left: 0.1em;
  }
  article > section.link_section ul.link_list li {
    margin-left        : 0;
    padding-left       : 1.5em;
  }
  article > section.link_section ul.link_list li:before {
    left               : 0.3em;
  }

  /******************************************/
  /* h2系【このページに関する問い合わせ先】 */
  /******************************************/
  article > section.info_section h2 {
    padding-left  : 0.25em;
    line-height   : 1.25em;
  }

  article > section.info_section .info_section_inner {
    display   : flex;
    flex-wrap : wrap;
  }

  section.info_section .info_section_text {
    width          : 98%;
    box-sizing     : border-box;
  }
  article > section.info_section .info_section_button {
    width          : 98%;
    box-sizing     : border-box;
  }

  /******************************************/
  /* h2系【このページに関するアンケート】 */
  /******************************************/
  article > section.form_section h2 {
    padding-left   : 0.3em;
  }
  article > section.form_section h2::before {
    left           : 0;
  }

  /**********************************************/
  /* サブトップページ　＞　新着情報一覧を見る   */
  /**********************************************/

  .subtop .menu_section {
    padding-left: 1rem;
    padding-right: 1rem;  
  }

  .subtop .news_title {
    text-align: center;
  }

  .subtop .news {
    padding: 1em 0em 1em;
    margin-bottom: 1em;
  }

  .subtop .news dl {
    display: flex;
    flex-wrap: wrap;
    padding: 1.2em 0.5em 0;
  }
  
  .subtop .news dt {
    padding-left: 0.5em;
    float: left;
    width: 100%;
    margin-bottom: 0.3rem;
    padding-bottom: 0;
  }

  .subtop .news dd {
    width: 100%;
    margin: 0;
    padding: 0 0 0.4em 0.5rem;
    border-width: initial;
    border-style: none;
    border-color: initial;
    border-image: initial;
  }
  .subtop .news dd a{
    position: relative;
    display: inline-block;
    text-decoration: none;
  }

  .subtop ul.to_news_list {
    position: static;
  }

  /**************/
  /* 二列表示用 */
  /**************/

  article > section.page_section.leftToRightWrap,
  article > section.menu_section.leftToRightWrap {
      width          : 100%;
  }

  .subtop div.openedList .section .category.leftToRight li {
    box-sizing     : border-box;
    margin-bottom  : 1em;
    padding-bottom : 0;
    /*    font-size      : 1em; */
    /*    line-height    : 1.375em; */
  }

  /* 偶数番号 */
  .subtop div.openedList .section .category.leftToRight li:nth-child(odd),
  article > section.page_section.leftToRightWrap .elementsList.leftToRight li:nth-child(odd),
  article > section.menu_section.leftToRightWrap .elementsList.leftToRight li:nth-child(odd){
      width          : 100%;
      margin-right   :   0;
  }

  /* 偶数番号 */
  .subtop div.openedList .section .category.leftToRight li:nth-child(even),
  article > section.page_section.leftToRightWrap .elementsList.leftToRight li:nth-child(even),
  article > section.menu_section.leftToRightWrap .elementsList.leftToRight li:nth-child(even){
      width         : 100%;
      margin-left   :   0;
  }

  article > section.page_section ul.page_list a,
  article > section.menu_section ul.menu_list a {
      width          : 100%;
  }

  /* 境界枠線(borderの代役) */
  article > section.page_section ul.page_list li:after,
  article > section.menu_section ul.menu_list li:after {
      width          : 100%;
  }
}

/**********************************/
/* 主な用途：動画タグ等の中央寄せ用 */
/**********************************/
.txtbox iframe {
    aspect-ratio: 16 / 9;
    max-width: 100%;
    margin: 0 auto;
    width: 640px;
    display: block;
}

/******************************/
/* 主な用途：イベントページ用 */
/******************************/

@media screen and (width > 620px) {
    .txtbox .event_table.left {
        float: left;
        width: 60%;
    }
    
    .txtbox .event_image.right {
        float: right;
        width: calc(40% - 16px);
        padding-top: 0;
    }
}

/******************************/
/* 主な用途：メールフォーム用 */
/******************************/

.mailsend.confirm input[type="button"]{
    /* ブラウザのデフォルト「ネイティブなスタイル」を解除 */
    appearance: none;
    border-radius: 0px;
    margin: 0px auto;
    padding: 0.5em 1em;
}
.mailsend.confirm .buttons {
    text-align: center; 
}

.mailsend.confirm input[type="submit"],
.mailsend.confirm input[type="button"]{
    display: inline-block;
}

@media screen and (max-width: 620px) {
    form.mailsend.confirm dd {
        padding-left: 0;
    }
}

/******************************/
/* 緊急情報 */
/******************************/
.header_wrap { overflow: visible;}

.button_emergency {
  display: flex; justify-content: center; align-items: center; position: absolute;
  min-width: 8em; padding: 0 0 0 1.5rem;
  font-size: 1.1rem; /* 検索窓追加前はfont-size: 1.1em; */
  color: var(--rep-tgt-fntclr-001-000006); /* #A91C1C; */ border: 1px solid var(--rep-tgt-brdclr-com1-rd-000001); /* #A91C1C */;  
  background-color: var(--rep-tgt-bgclr-com1-wht-000001); cursor: pointer; transition-duration: .15s;
}
.button_emergency {
  top: .2rem; 
  right: 25.3em; /* 検索窓追加前はright:140px; */
}
.button_emergency span { position: relative; display: block; margin: 0 auto; padding: .5em .5em .5em 1em;}
.button_emergency span::before {
  position: absolute; display: block; content: "";
  top: 0px; bottom: 0px; left: -1em; width: 1.5em;
  background: url(../img/ico_emergency.png) center center no-repeat; background-size: contain;
}
.button_emergency.active,
.button_emergency:hover,
.button_emergency:focus { background-color: var(--rep-tgt-bgclr-com1-pnk-000001); /* #FDDFDF; */ }

.emergency {
  display: none;
  position: absolute; width: 100%; max-width: 1160px; padding: .5em 1em; top: 4.6em; left: calc(50% - (1160px / 2)); 
  background-color: var(--rep-tgt-bgclr-com1-wht-000001);
  border: 1px solid var(--rep-tgt-brdclr-com1-rd-000001); /* #A91C1C; */
  box-shadow: 0 0 0 2px #fff;
  z-index: 99;
}
.emergency_box { display: flex; align-items: center; width: calc(100% - 2rem); margin: 1rem;}
.emergency_box h2 {
  width: 9em; margin: 0; padding: .5em 1.5em .5em 3.3rem;
  font-size: 1.2em; font-weight: 500; color: var(--rep-tgt-fntclr-001-000006); /* #A91C1C */
  background: url(../img/ico_emergency.png) left 1.2rem center no-repeat;
  background-size: 1.5rem;
}

.emergency_box .news { width: calc(100% - 10em); margin-bottom: 0;}
.emergency_box .news dl { display: flex; align-items: flex-start;}
.emergency_box .news dt,
.emergency_box .news dd { margin: 0; padding: .5em; float: none;}
.emergency_box .news dt { width: 9em;}
.emergency_box .news dd { width: calc(100% - 9em);}
.emergency_box .news dt .news_date { min-width: inherit;}


@media screen and (max-width: 1180px) {
  .button_emergency { font-size: .9rem; top: 2rem; } /* 検索窓追加前 font-size:9em */
  .button_emergency { right: 25.5rem;} /* 検索窓追加前 right:100px */

  .emergency { top: 5.5rem; left: 2.5%; right: 2.5%; max-width: calc(100% - 5%);} /* 検索窓追加前 top:5.5em */
  .emergency_box { width: 100%; margin: 0;}
  .emergency_box .news dl { display: block;}
  .emergency_box .news dd { width: 100%; padding-top: 0;}

}

@media screen and (max-width: 740px) {
  /* 検索窓を表示から消すために位置を移動 */
  .button_emergency { right:100px;} /* 検索窓追加前 right:100px */
}

@media screen and (max-width: 640px) {
  .button_emergency { font-size: .7rem; top: 1.9rem; right: 80px; min-width: 7.5em; padding-left: 1rem;}

  .emergency { top: 4.8rem;}
  .emergency_box { display: block; margin-bottom: .5em;}
  .emergency_box h2 { width: 10em; margin-left: auto; margin-right: auto;}
  .emergency_box .news { padding-top: 0;}

  .emergency_box .news { width: 100%;}
  .emergency_box .news:first-of-type dl { margin-top: 0; padding-top: 0;}
}

/******************************/
/* 検索窓 */
/******************************/
.outer_page_control_area {
  display: flex; justify-content: center; align-items: center; position: absolute; 
  height : 45px;
  top: 0.2rem; right: 6.4rem;
  min-width: 8rem; padding: 0;
}

.outer_page_control_area .blc_search .search_wrap { padding: 0 .3rem; font-size: 1rem;}
.outer_page_control_area .blc_search .search_wrap_inner { min-width: 330px; max-width: 100%; padding: 2px; background-color: var(--rep-tgt-bgclr-com1-wht-000001); /* #fff; */ border: 1px solid var(--rep-tgt-brdclr-com1-bll-000001);}
.outer_page_control_area .blc_search .search_wrap_inner input[type="text"] { height: 2.4rem; font-size: 0.7rem; }
.outer_page_control_area .blc_search .search_wrap_inner input[type="submit"] { width: 5rem; padding: .3rem; font-size: 1.3rem; color: var(--rep-tgt-fntclr-001-000002); /* #fff */ background-color: var(--rep-tgt-bgclr-001-000001); border: none;}
.outer_page_control_area .blc_search label.search_txt { display: block; padding: .75rem 0;}
.outer_page_control_area .blc_search input.search_txt { padding-left: 2.8rem; border: none; background: url(../img/icon_feather-search.png) center left .4rem no-repeat; background-size: 2rem auto;}

@media screen and (max-width: 1180px) {
  .outer_page_control_area { 
    height : 37px; 
    top: 2rem; right: 94px; /* right: 5.7rem; */ 
  }
  .outer_page_control_area .blc_search .search_wrap_inner { min-width: 300px; }
  .outer_page_control_area .blc_search .search_wrap_inner input[type="text"] { height: 1.93rem; }
  .outer_page_control_area .blc_search .search_wrap_inner input[type="submit"] { height: 1.93rem; font-size: 1rem; padding: 0; }
  .outer_page_control_area .blc_search input.search_txt { background-size: 1.5rem auto; padding-left: 2.3rem; }
}

@media screen and (max-width: 740px) {
  /* 緊急情報が板倉町のロゴにかかられないように検索窓を非表示にする */
  .outer_page_control_area { display: none; }
}


/******************************/
/* サブトップ ライフメニュー */
/******************************/
.subtop .search-icons { display: flex; flex-wrap: wrap; padding: 0; border: 2px solid var(--rep-tgt-brdclr-com1-bll-000001); border-right: none; border-bottom: none;}
.subtop .search-icons .icon-item { width: calc(100% / 3); border: 0px solid var(--rep-tgt-brdclr-com1-bll-000001); border-right-width: 2px; border-bottom-width: 2px;}
.subtop .icon-item {
    padding: 1rem 0 1rem;
    line-height: 1;
    transition: background-color 0.3s ease, box-shadow 0.3s ease;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}
.subtop .icon-item a {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	color: inherit;
	width: 100%;
	height: 100%;
	text-decoration: none;
}
.subtop .icon-item:hover,
.subtop .icon-item:focus { background-color: var(--rep-tgt-bgclr-HV1-bl-2); /* #e6ebfd */ }
.subtop .icon-item img {
    width: 4rem;
    height: 4rem;
    margin-bottom: 0.2rem;
}

@media screen and (width <= 1180px) {
	.subtop .search-icons .icon-item { width: calc(100% / 6);}
}

@media screen and (width <= 860px) {
	.subtop .search-icons .icon-item { width: calc(100% / 5);}
}

@media screen and (width <= 640px) {
	.subtop .search-icons .icon-item { width: calc(100% / 3);}
}
