@charset "utf-8";
/*************************************************
 style.css
**************************************************/

:root {

}


/* 基本スタイル */
*,
*::before,
*::after { box-sizing: border-box;}

.border_wh {text-shadow: #fff 2px 0px,  #fff -2px 0px, #fff 0px -2px, #fff 0px 2px, #fff 2px 2px , #fff -2px 2px, #fff 2px -2px, #fff -2px -2px, #fff 1px 2px,  #fff -1px 2px, #fff 1px -2px, #fff -1px -2px, #fff 2px 1px,  #fff -2px 1px, #fff 2px -1px, #fff -2px -1px;}
.border_bk {text-shadow: #000 2px 0px,  #000 -2px 0px, #000 0px -2px, #000 0px 2px, #000 2px 2px , #000 -2px 2px, #000 2px -2px, #000 -2px -2px, #000 1px 2px,  #000 -1px 2px, #000 1px -2px, #000 -1px -2px, #000 2px 1px,  #000 -2px 1px, #000 2px -1px, #000 -2px -1px;}


html {}
body { margin: 0; background: #ffffff; color: #333333; font-size: 100%; line-height: 1.6; font-family: "Hiragino Kaku Gothic ProN", "メイリオ", 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;} /* 30px */
textarea { max-width: 95%;}
fieldset { margin: 0 0 1em; padding: 0 0 5px; border: none;}
a { color: #0044cc; text-decoration: underline;}
a:visited { color: #465F64;} /* #61848B */
a:hover { color: #14205F;}
a:active { color: #5D0000;}
a:hover img{opacity: 0.8;}
img { border: none; vertical-align: middle;}

#Map,#Map *,#jump { padding: 0; overflow: visible;}
#jump a { position: absolute; width: 0; height: 0; overflow: auto; text-indent: -1000em;}
#jump a:focus { width: 12em; height: 1.5em; text-indent: 0; background: #FFFFFF; text-align: center;}


/* コンテンツの幅 */
body { min-width: 320px;}
#TOP { min-width: 1160px; padding-bottom: 0;}

.contents .wrap,
footer .wrap,
footer .nav ul { width: 1160px; margin: 0 auto;}

.contents_wrap {}
.contents_wrap:after { display: block; content: ""; clear: both;}
.contents article,
.contents .article{ float: left; width: 800px; margin-right: 40px;}
.contents nav { float: left; width: 320px;}

.no_nav .contents article,
.no_nav .contents .article,
.no_nav .contents nav { float: none; width: 100%; margin-left: auto; margin-right: auto;}
.no_nav .contents nav { display: none;}

/* ヘッダー */
header { padding-bottom: 0; position: relative;}
header .wrap { padding-bottom: 0;}
.haeder_sec { padding-bottom: 0;}

.sec_conf { height: 50px; margin-bottom: 115px; padding: 0; background-color: #E7F5CF;}
.haeder_sec_wrap { padding: 8px 0; }



/* タイトル */
header .title { position: absolute; top: 60px; left: 50%; width: 280px; height: 100px; margin: 0 0 0 -140px; padding: 0; font-size: 1em;}
header .title a { display: block; height: 100%;}
header .title img { max-width: 100%; height: auto;}


/* ページコントロール - 切り替えボタン */
.conf { margin: 0; padding: 0;}
.UD { float: left; margin: 0; padding: 0;}
.page_control { display: flex; justify-content: center; margin: 0; padding:0;}
.page_control dl,
.page_control dl dt,
.page_control dl dd { min-height:34px; margin:0; padding:0;font-size: 0.95em;}
.page_control dl{ float:left; display: flex; height:34px ; margin:0 0.5em 0 0; padding:0; overflow: hidden;}
.page_control dl dt{ width:34px;}
.page_control dl.color_change dt,
.page_control dl.textsize_change dt { display: flex; justify-content: center; align-items: center;}
.page_control dl.color_change dt { width: 60px;}
.page_control dl.textsize_change dt { width: 90px;}
.page_control dl dd a { display: block; width:30px; height:30px; margin: 2px; border: 2px solid #aaa;}
.page_control dl.color_change dd.default a { background-color: #fff;}
.page_control dl.color_change dd.high a { background-color: #000;}
.page_control dl.color_change dd.low a { background-color: #aaa;}
/**/
.page_control dl dd a { background-color: #fff;} /* ボタン色 */
.page_control dl dd a:hover,
.page_control dl dd a:focus { background-color: #BFE787; border-color: #3BBA7A;} /* ホバー色 */


/* ページコントロール - 翻訳ボタン */
.page_control .conf_bt { float: left; display: block; height: 34px; margin:0 1.5em 0; padding: 0; text-align: center;}
.page_control .conf_bt a { display: flex; justify-content: center; align-items: center; height: 100%; padding: 0 1em; color: #000; background-color: #fff; font-size: 0.8em; text-decoration: none; border: 2px solid #ccc;}

.page_control .voice { margin-left: 0;}
.page_control .voice a { color: #fff; background-color: #333333;}
.page_control .language a { padding-left: 32px; background: url("../img/icon_lead-speaker.png") left 6px center no-repeat #fff;}

.page_control .conf_bt a:hover,
.page_control .conf_bt a:focus { color: #000; background-color: #BFE787; border-color: #3BBA7A;}


/* ページコントロール - 検索 */
.page_control .search { width:250px; margin: 0; padding: 0; text-align: center;}
.page_control .search div { margin:0; padding:0; background-color: #fff; box-shadow: none;}
.page_control .search > div { box-shadow: inset 0 0 0 2px #aaa;}
.page_control .search label.search_txt{ float:left; display:flex; align-items: center; justify-content: center; height: 34px; width: 32px; font-size: 0%; overflow: hidden; background: url("../img/icon_search.png") center center no-repeat;}
.page_control .search .search_inner { width: calc(100% - 32px); border: 2px solid transparent;}
.page_control .search input#search_txt {display: block; height: 30px; width:calc(100% - 3.5em - 4px); margin: 0%; padding: 0px 0.3em; line-height: 36px; background-color: #fff; border:none;float:left;}
.page_control .search input#search_txt:focus {background-color:#FFFFFF;outline:1px solid #CCC;}
.page_control .search input.search_bt { display: block; width: 3.5em; height:26px; margin: 2px; padding: 0px 0; font-weight:bold;border:none;float:left;}
/**/
.page_control .search .search_inner { background-color: transparent;} /* 検索枠色 */
.page_control .search input.search_bt { color:#FFF; background-color: #333;} /* 検索ボタン色 */
.page_control .search input.search_bt:hover,
.page_control .search input.search_bt:focus { color: #000; background-color: #BFE787; box-shadow: inset 0 0 0 2px #3BBA7A;} /* 検索ボタン ホバー色 */


/* ハンバーガーメニュー・コンフィグメニュー */
.mb_global_menu { display: none; position: fixed; top: 0%; left: 0%; right: 0%; height: 52px; padding: 0; background-color: rgba(0,0,0,0.6); z-index: 110; }
.mb_global_menu ul { display: flex; justify-content: center; align-items: stretch; height: 100%; margin: 0; padding: 0;}
.mb_global_menu li { width: 33.3333333%; border-left: 1px solid rgba(255,255,255,0.6);}
.mb_global_menu li.mb_menu01 { border: none;}
.mb_global_menu a { position: relative; display: block; height: 100%; width: 100%; color: #fff; text-decoration: none;}
.mb_global_menu .mb_item { position: absolute;}
.mb_global_menu .mb_item.icon { width: 26px; height: 26px; top: 4px; left: 50%; margin-left: -13px; background: center center no-repeat transparent; background-size: contain; transition-duration: 0.2s;}
.mb_global_menu .mb_item.text { display: flex; justify-content: center; align-items: center; top: 30px; bottom: 0px; left: 0px; right: 0px; font-size: 0.65em; text-shadow: 0 0 6px #000, 0 0 3px #000;}

.mb_global_menu li.mb_menu01 .mb_item.icon { background-image: url("../img/mbmenu_icon01.png");}
.mb_global_menu li.mb_menu02 .mb_item.icon { background-image: url("../img/mbmenu_icon02.png");}
.mb_global_menu li.mb_menu03 .mb_item.icon { background-image: url("../img/mbmenu_icon03.png");}
.mb_global_menu li.mb_menu01.active .mb_item.icon,
.mb_global_menu li.mb_menu02.active .mb_item.icon,
.mb_global_menu li.mb_menu03.active .mb_item.icon { background-image: url("../img/mbmenu_icon00.png"); transform: rotate(360deg);}

.menu_bg,
.conf_bg,
.search_bg { display: none; position: fixed; top: 0px; bottom: 0px; left: 0px; right: 0px; background-color: rgba(64,64,64,0.85); z-index: 100;} /* スマートフォン時の背景 */




/* グローバルメニュー */
header nav { position: relative; padding-bottom: 0px;}
header nav:before { position: absolute; display: block; content: ""; bottom: 0px; left: 0%; right: 0%; height: 5px; background-color: #BFE787;}
#menu { position: relative; display: flex; justify-content: center; padding: 0;}
#menu li {}
#menu li a { display: flex; align-items: center; justify-content: center; height: 100%; transition-duration: 0.15s;}
/**/
#menu li a { color: #000; background-color: transparent;} /* ボタン色 */

#menu li.menu01 { width: calc(100% - 230px - 20% - 17% - 16% - 10%);} /* 17 */
#menu li.menu02 { width: calc(100% - 230px - 17% - 17% - 16% - 10%);} /* 20 */
#menu li.menu03 { width: calc(100% - 230px - 17% - 20% - 16% - 10%);} /* 17 */
#menu li.menu04 { width: calc(100% - 230px - 17% - 20% - 17% - 10%);} /* 16 */
#menu li.menu05 { width: calc(100% - 230px - 17% - 20% - 17% - 16%);} /* 10 */

#menu li.menu06 { position: relative; width: calc(190px + 40px);}
#menu li.menu06 a { position: absolute; left: 50%; top: 25%; width: 190px; height: 190px;  margin-top: -95px; margin-left: -95px; box-shadow: 0px 3px 10px 0px rgba(0,0,0,0.3); border-radius: 50%; z-index: 1001; overflow: hidden;}
#menu li.menu06 a img { max-width: 100%; height: auto; border-radius: 50%;}
#menu li.menu06 a:hover { transform: rotate(20deg);}
#menu li.menu06 a:hover img { opacity: 1;}

#menu li a:hover,
#menu li a:focus {} /* ホバー色 */

/* グローバルメニュー - 下階層 */
#menu li dt a {
  position: relative; display: flex; align-content: center; justify-content: center; flex-wrap: wrap;
  height: 100%; padding: 1.25em 0.3em; font-size: 1.25em; font-weight: bold; text-decoration: none;
  transition-duration: 0.15s;
}
#menu li dt a:before,
#menu li dt a:after { position: absolute; display: block; content: "";}
#menu li dt a:before { bottom: 0px; left: 0%; right: 0%; height: 10px; background: transparent;}
#menu li dt a:after { right: 0%; top: 50%; height: 3em; width: 0px; margin-top: -1.5em; border-left: 1px dotted #666;}
#menu li dt a:hover,
#menu li dt a:focus,
#menu dl:hover dt a,
#menu dl.focus dt a {} /* グローバル　ホバー色 */
#menu ul.sub_category { background: #F8DE6C;} /* サブカテゴリ　背景色 */

#menu li dt a:hover:before,
#menu li dt a:focus:before,
#menu dl:hover dt a:before,
#menu dl.focus dt a:before { background: linear-gradient( #FCEDAE, #FCEDAE 5px, #F8DE6C 5px, #F8DE6C);}


header nav,
#menu { overflow: visible;}
#menu { width: 1160px; margin: 0 auto;}
#menu dl { height: 100%; margin: 0px; padding: 0px; box-sizing: border-box; overflow: visible;}
#menu dl dt { height: 100%;} 
header nav ul li a,
#menu dl dt a { transition-duration: 0.2s;}
#menu dl dd { position: absolute; top: 100%; left: 0%; right: 230px; padding: 0px; margin: 0px; max-height: 0px; transition-duration: 0.4s; overflow: hidden; z-index: 1000;} /* サブカテゴリ */
header nav.active #menu dl dd { top: 100%;}

#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; height: auto; width: auto; margin: 0px; padding: 5px;}
#menu ul.sub_category li { flex-basis: 25%;}
#menu ul.sub_category li a { display: flex; height: calc(100% - 10px); margin: 5px; padding: 1em; padding-right: calc(1em + 14px); text-decoration: none; background: url("../img/arrow_green.png") right 10px center no-repeat #fff; border-radius: 0.3em; transition-duration: 0.15s; box-sizing: border-box;} /* サブカテゴリ項目 */

#menu ul.sub_category li a { position: relative;}
#menu ul.sub_category li a:hover,
#menu ul.sub_category li a:focus { background-color: #BFE787; background-position: right 5px center;} /* サブカテゴリ項目　ホバー色 */
#menu ul.sub_category li a:hover:before,
#menu ul.sub_category li a:focus:before { left: 1.3em;}
 

/* フッター */
footer { position: relative; padding: 166px 0 0; background: url("../img/footer_bg_tile.jpg") center top;}
footer:before { position: absolute; display: block; content: ""; top: 0px; left: 0%; right: 0%; height: 166px; background: url("../img/footer_bg_repeat.png") center top #fff repeat-x;}
footer .wrap { position: relative;}

footer dl{ float: left; margin:1em 0 0 0;padding:0 0 1em 0;}
footer dt{margin:0;padding:0; font-size: 1.3em; margin-bottom: 0.5em;}
footer dd{margin:0;padding:0;}

footer .nav { margin-bottom: 1em;}
footer .nav ul { display: flex; justify-content: center; align-items: center;}
footer .nav li { position: relative; padding: 0 1.8em;}
footer .nav li:before { position: absolute; display: block; content: ""; top: 0.2em; bottom: 0.3em; left: 0%; width: 0px; border-left: 1px solid #000;}
footer .nav li:first-of-type:before { display: none;}
footer .nav a { text-decoration: none; color: #000;}
footer .nav a:hover,
footer .nav a:focus { text-decoration: underline;}

.footer_buttons { position: absolute; top: 8px; left: 280px;}
.footer_buttons ul { display: flex; align-items: stretch; margin: 0;}
.footer_buttons li { margin: 16px; }
.footer_buttons a { display: flex; align-items: center; height: 100%; padding: 1em 1.5em 1em 52px; color: #000; text-decoration: none; background: left 16px center no-repeat #fff; border-radius: 0.6em; box-shadow: 0px 3px 3px rgba(64,64,64,0.3); transition-duration: 0.15s;}
.footer_buttons li.footer_access a { background-image: url("../img/icon_car_footer.png")}
.footer_buttons li.footer_inquiry a { background-image: url("../img/icon_mail_footer.png")}
.footer_buttons a:hover,
.footer_buttons a:focus { background-color: #CCF08B;}

footer .copyright { clear: both; margin: 0; padding: 0.8em; color: #fff; background-color: #7C765C; text-align: center;}
footer .copyright span { font-size: 0.9em;}
footer .reread_link{ width:138px; height: 138px; position:fixed; bottom: 10px; right:0; padding: 0; z-index: 100;}
footer .reread_link a { position: relative; display: flex; justify-content: center; align-items: flex-end; height:100%; width: 100%; padding: 0.5em 0.5em 2.5em; color: #000; font-size: 0.9em; text-align: center; text-decoration: none; line-height: 1.2; background:url(../img/reread_link.png) no-repeat; border-radius: 45%; background-size: contain; overflow: hidden;}
footer .reread_link a img { max-width: 100%; height: auto;}
footer .reread_link a:before { position: absolute; display: block; content: ""; top: 2em; left: 0%; right: 0%; height: 24px; background: url("../img/reread_link_arrow.png") center center no-repeat; transition-duration: 0.15s;}
footer .reread_link a:hover:before { top: 1.5em;}


/* パンくず */
div.locus { position: relative; background-color: #E7F5CF;}
div.locus:before { position: absolute; display: block; content: ""; top: 0%; left: 0%; right: 0%; height: 0.45em; background: linear-gradient( rgba(64,64,64,0.2), transparent);}
div.locus .wrap { padding-bottom: 0;}
p.locus { margin: 0; padding: 1em 0 0.5em; max-width: 950px;}
p.locus span {}


/* コンテンツ 見出し */
.contents h1 { margin-top: 0; background-color: #F9F5E3; font-weight: normal; font-size: 2.5em; font-family: "HGP創英角ｺﾞｼｯｸUB", "Hiragino Kaku Gothic ProN", "メイリオ", sans-serif;}
.contents h1 .heading { display: block; max-width: 1160px; margin: 0 auto; padding: 1.25em 0;}


/* コンテンツ */
.contents nav { overflow: visible;}
.contents nav ul,
.contents nav dl { padding:0;list-style:none;}
.contents nav dl { margin-bottom: 2rem;}

.contents nav dt { position: relative; padding: 1.2em 0.5em 1.4em; font-size: 1.3em; text-align: center; background-color: #BCE681; border-radius: 0.5em 0.5em 0 0;}
.contents nav dt:before { position: absolute; display: block; content: ""; bottom: 5px; left: 5px; right: 5px; height: 5px; background-color: #E4FFBD; }

.contents nav dd { margin: 0;} 
.contents nav dd a { position: relative; display: block; padding: 1.7em 38px 1.6em 1.2em; color: #000; text-decoration: none; background: url("../img/arrow_yellow-green.png") right 18px center no-repeat #F9F5E3; transition-duration: 0.15s;}
.contents nav dd a:before { position: absolute; display: block; content: ""; top: 0; left: 0.75em; right: 0.75em; height: 0px; border-bottom: 2px dotted #B5B5B5;}
.contents nav dd:first-of-type a:before { display: none;}

.contents nav dd a:hover,
.contents nav dd a:focus { background-color: #F1EBCF; background-position: right 14px center;}




/* 一覧ページ */
.menu_section { position: relative; margin-bottom: 1.5rem;}
.menu_section h2,
.article .menu_section h2 { margin-top: 0; padding: 0.4em 1em; font-size: 1.8em; border: none;}
.menu_section h2:before,
.article .menu_section h2:before { top: inherit; bottom: 0px; left: 0%; right: 0%; height: 5px; width: auto; background: linear-gradient( 90deg, #F8DE6C, #F8DE6C 8em, #E2E2E2 8em, #E2E2E2);}

.menu_list {}
.menu_list li { padding: 0; border-bottom: 5px solid #E4E8E9;}
.menu_list li a { position: relative; display: block; padding: 1.2em 0.5em 0.8em 2.5em; color: #000; font-size: 1.3em; text-decoration: none;}
.menu_list li a .menu_text { display: block; font-size: 0.75em;}
.menu_list li a:before { position: absolute; display: block; content: ""; top: 1.2em; left: 0.5em; width: 1.3em; height: 1.4em; background: url("../img/ico_page_2x.png") center center no-repeat; background-size: contain;}
.menu_list li a[href*="index.html"]:before { background-image: url("../img/ico_folder_2x.png");}
.menu_list li a:hover,
.menu_list li a:focus { text-decoration: underline;}

.news_more { position: absolute; top: 0.5em; right: 0; display: flex; align-items: stretch;}
.news_more li { margin-left: 1.5em;}
.news_more a { display: block; padding: 0.5em calc(2em + 22px) 0.5em 0.5em; text-decoration: none; color: #000; background: url("../img/arrow_light-green.png") right 10px center no-repeat #F9F5E3; border-radius: 0.3em; transition-duration: 0.15s;}
.news_more a:hover { background-color: #F5EABD; background-position: right 5px center;}
.news_more li.rss a { background-image: url("../img/arrow_beige.png");}

.news dd { border-bottom: 1px dashed #000;}


/* サブトップ */
.subtop .contents h1 { position: relative; background: #F9F5E3;}
.subtop .contents h1 .heading { position: relative; padding-top: 1.8em; padding-bottom: 1.8em; background: right center no-repeat; background-size: contain;}

.subtop .menu_section + .txtbox { margin-bottom: 2em;}

.subtop .category  { width: 48%;}
.subtop .category.left { margin-right: 2%;}
.subtop .category.right { margin-left: 2%;}
.subtop .section { margin-bottom: 1em; background-color: #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;}


.subtop .list {}
.subtop .category_list { display: flex; align-items: stretch; flex-wrap: wrap;}
.subtop .category_list li { width: 48%; margin: 0 0 1.5rem 4%;}
.subtop .category_list li:nth-child(2n+1) { margin-left: 0;} 
.subtop .category_list a {
  position: relative; display: flex; align-items: center; padding: 1.2em 34px 1.2em 28px;height: 100%; font-size: 1.2em; text-decoration: none; color: #000;
  border: 3px solid #e7e7e7; box-shadow: inset 0 0 0 4px #fff; border-radius: 0.5em;
  background: linear-gradient( -55deg, #F2F2F2, #F2F2F2 3.5em, #fff 3.5em, #fff);
}
.subtop .category_list a:before,
.subtop .category_list a:after { position: absolute; display: block; content: ""; }
.subtop .category_list a:before { top: 0%; bottom: 0%; right: 18px; width: 12px; background: url("../img/arrow_light-green.png") center center no-repeat; transition-duration: 0.15s;}
.subtop .category_list a:after { top: 0.7em; bottom: 0.7em; left: 10px; width: 7px; background: linear-gradient( #BFE787, #BFE787 50%, #88D480 50%, #88D480);}
.subtop .category_list a:hover { background: linear-gradient( -55deg, #E3F3CC, #E3F3CC 3.5em, #F1F9E5 3.5em, #F1F9E5); border-color: #CEEBA4;}
.subtop .category_list a:hover:before { right: 13px;}

.banner_image { padding-bottom: 0;}
.banner_image ul { margin: 0;}
.banner_image li { margin-bottom: 1.5rem;}
.banner_image a { display: block;}
.banner_image a img { max-width: 100%; height: auto;}


.banner_text { padding-bottom: 0;}
.banner_text ul { margin: 0;}
.banner_text li { margin-bottom: 1.5rem;}
.banner_text a {
  position: relative; display: flex; align-items: center; padding: 1.2em 34px 1.2em 28px;height: 100%; font-size: 1.1em; text-decoration: none; color: #000;
  border: 3px solid #E7E7E7; box-shadow: inset 0 0 0 4px #fff; border-radius: 0.5em;
  background: linear-gradient( -55deg, #F2F2F2, #F2F2F2 3.5em, #fff 3.5em, #fff);
}
.banner_text a:before,
.banner_text a:after { position: absolute; display: block; content: ""; }
.banner_text a:before { top: 0%; bottom: 0%; right: 18px; width: 12px; background: url("../img/arrow_blue.png") center center no-repeat; transition-duration: 0.15s;}
.banner_text a:after { top: 0.7em; bottom: 0.7em; left: 10px; width: 7px; background: linear-gradient( #A3DBDB, #A3DBDB 50%, #89C4D7 50%, #89C4D7);}
.banner_text a:hover { background: linear-gradient( -55deg, #BCEAEA, #BCEAEA 3.5em, #D4EEEE 3.5em, #D4EEEE); border-color: #BCEAEA;}
.banner_text a:hover:before { right: 13px;}


.life_menu { margin-bottom: 1.5rem; padding: 0;}
.contents nav .life_menu ul { display: flex; flex-wrap: wrap; align-items: stretch; margin-bottom: 0; padding: 10px; background-color: #FFF4C5; border-radius: 0.5em;}
.life_menu li { width: calc(50% - 20px); margin: 10px;}
.life_menu a { position: relative;display: flex; align-items: center; align-content: center; justify-content: center; height: 100%; padding: calc(1em + 62px + 0.75em) 0.5em 0.5em 0.75em; text-decoration: none; color: #000; text-align: center; border: 3px solid transparent; background-color: #fff; box-shadow: 0 4px 6px 0 rgba(0,0,0,0.2); border-radius: 0.5em;}
.life_menu a:hover { border-color: #28B472;}
.life_menu a:before { position: absolute; display: block; content: ""; left: 0%; right: 0%; top: 1em; height: 62px; background: center center no-repeat;}

.life_menu li.life_menu01 a:before { background-image: url("../img/life_ico01.png");}
.life_menu li.life_menu02 a:before { background-image: url("../img/life_ico02.png");}
.life_menu li.life_menu03 a:before { background-image: url("../img/life_ico03.png");}
.life_menu li.life_menu04 a:before { background-image: url("../img/life_ico04.png");}
.life_menu li.life_menu05 a:before { background-image: url("../img/life_ico05.png");}
.life_menu li.life_menu06 a:before { background-image: url("../img/life_ico06.png");}
.life_menu li.life_menu07 a:before { background-image: url("../img/life_ico07.png");}
.life_menu li.life_menu08 a:before { background-image: url("../img/life_ico08.png");}
.life_menu li.life_menu09 a:before { background-image: url("../img/life_ico09.png");}
.life_menu li.life_menu10 a:before { background-image: url("../img/life_ico10.png");}
.life_menu li.life_menu11 a:before { background-image: url("../img/life_ico11.png");}
.life_menu li.life_menu12 a:before { background-image: url("../img/life_ico12.png");}

.banner_ad { position: relative; margin-bottom: 2rem; padding: 1.5rem 1.5rem 0; background-color: #F2F2F2; border-radius: 0.5em;}
.banner_ad:before { position: absolute; display: block; content: ""; top: 0; left: 50%; width: 200px; height: 7px; margin-left: -100px; background:repeating-linear-gradient(90deg, #BFE787, #BFE787 25%, #88D480 25%, #88D480 50%);}
.banner_ad h2 { margin-bottom: 1rem; text-align: center; font-weight: normal;}
.banner_ad ul { margin: 0 auto;}
.banner_ad li { margin-bottom: 1.5rem; text-align: center;}
.banner_ad a { display: inline-block;}
.banner_ad a img { max-width: 100%; height: auto;}


/* ----
カレンダー 追記
---- */
.pager { margin-bottom: 1em;}
.pager:after { display: block; content:""; clear: both;}
.pager ul { margin: 0 auto 1em;}
.pager ul li:before { display: none;}
table.calendar { width: 100%; margin: 0 auto 1em;}

/* 共通 */
.evet_wrap { display: flex; align-items: center; flex-wrap: wrap; width: 100%; padding: 0.3em;}
.evet_wrap.focus { background-color: #EDEDBA;}
/*
table.calendar .evet_wrap { max-width: 165px;}
*/
table.calendar.list .evet_wrap { max-width: inherit;}
table.calendar td dl dd a,
table.calendar.list td dl dd a { margin: 2px 0.5em 2px 0; padding: 0.25em 0.5em 0.25em 0em; text-decoration: none;}
table.calendar td dl dt { color: #333333;}
table.calendar td dl dd a:hover,
table.calendar td dl dd a:focus { background-color: transparent;}


/* 本日の・もうすぐ締切 */
.txtbox .event_calendar_wrap ul > li:before { top: 0.7em;}
.event_calendar_wrap { margin-bottom: 2em; background-color: #E8E8E8; overflow: visible;}
.event_calendar_wrap h2,
.event_calendar_wrap h2:first-child { margin-bottom: 0.3em; padding-left: 60px; background: transparent left 8px center no-repeat;}
.event_calendar_wrap ul a { margin-right: 0.75em;}
.todays_event_wrap h2,
.todays_event_wrap h2:first-child { background-image: url("../img/ico_cal_today.png");}
.deadline_event_wrap h2,
.deadline_event_wrap h2:first-child { background-image: url("../img/ico_cal_deadline.png");}


/* イベント検索 */
.event_search_wrap { padding-bottom: 0; background-color: #E7F5CF; margin-bottom: 2em; overflow: visible;}
.event_search_wrap h2,
.event_search_wrap h2:first-child { margin-bottom: 0.3em; padding-left: 60px; background: url("../img/top_search_ico@2x.png")transparent left 20px center no-repeat; background-size: 1.2em 1.2em;}

.event_search { padding: 0 2em 2em 2em; overflow:auto; }

.search_words { float: left; width: 25em; margin-right: 2em;}
.search_words_label { display: block; padding: 0.5em 0.5em 0.5em 0; font-size: 1.1em;}
form input[type="text"].event_search_txt { width: 100%; height: 3em; padding: 0.5em; font-size: 1.2em;}

.search_category {}
.search_category legend { float: left; margin-right: 0.5em; padding: 0.5em 0; font-size: 1.1em;}
.category_chk { padding-top: 0.25em;}
.category_chk label,
.category_chk input { cursor: pointer;}
.category_chk label { margin-left: 0.3em;}
.search_category span { display: inline-block; margin: 0 0.5em 1em; padding: 0.5em 1em 0.5em 0.5em; color: #000;}


.event_search_form { margin: 0; padding: 0;}
.event_search_bt_wrap { padding: 1.5em;}
form input[type="button"].event_search_bt { display: block; width: 8em; margin: 10px auto; padding: 0.5em 2em 0.4em; color: #fff; font-size: 1.3em; text-align: center; border: 3px solid #333; background-color: #333; cursor: pointer;}
form input[type="button"].event_search_bt:hover,
form input[type="button"].event_search_bt:focus { border-color: #333; box-shadow: inset 0 0 0 3px #FC9A9F;}


/* テーブル表示 */
table.calendar .cal_ico { width: 32px; height: auto; margin: 1px 1px 1px 0; vertical-align: middle;}
.cal_tag { display: none; margin: 2px 0.25em; padding: 0.25em 0.5em; background-color: #ddd;}

table.calendar:not(.list) .evet_wrap { display: block; padding: 0; border-bottom: 2px solid #d5d5d5;}
table.calendar:not(.list) .evet_wrap a { display: block; width: 100%; margin-right: 0; padding: 0.3em;}
table.calendar:not(.list) td:last-of-type .evet_wrap { border-bottom: none;}



/* リスト表示 */
table.calendar.list .cal_ico { display: none;}

table.calendar.list .cal_tag { display: block;}
.cal_tag01 { background-color: #E962A3;} /* タグ01 イベント・祭り */
.cal_tag02 { background-color: #9488BD;} /* タグ02 講座・教室 */
.cal_tag03 { background-color: #499EC5;} /* タグ03 相談 */
.cal_tag04 { background-color: #DBA50F;} /* タグ04 スポーツ・健康づくり */
.cal_tag05 { background-color: #9E7547;} /* タグ05 分劇・芸術 */
.cal_tag06 { background-color: #87C540;} /* タグ06 子育て */
.cal_tag07 { background-color: #9A9A9A;} /* タグ07 その他 */
.cal_tag99 { padding-left: 2em; background: url("../img/calendar_event_ico99.png") left 0.2em center no-repeat #fff; background-size: 1.6em auto; box-shadow: inset 0 0 0 2px #D5D5D5;} /* 事前申込必要 */
.cal_tag100 { background-color: #D2D1B3;} /* 締切日 */
.cal_deadline { background-color: transparent;} /* 締切日時 */


table.calendar.list {}
table.calendar.list td { margin: 0;}
table.calendar.list td dl { display: flex; align-items: stretch; font-size: 2.5em;}
table.calendar.list td dl dt,
table.calendar.list td dl dd { display: flex; align-items: center; margin: 4px; background-color: #E8E8E8;}
table.calendar.list td dl dt { position: relative; justify-content: flex-end; width: 6em; padding: 0.3em 4em 0.2em 0.5em; text-align: right;}
table.calendar.list td dl dd { flex-wrap: wrap; width: calc(100% - 6em);}
table.calendar.list td dl dt:after { display: flex; justify-content: center; align-items: center; position: absolute; top: 0%; bottom: 0%; right: 0%; width: 8em; background: linear-gradient( 90deg, transparent, transparent 2.25em, #D4D4D4 2.25em, #D4D4D4 );}

table.calendar.list td.sat dl dt,
table.calendar.list td.sat dl dd { background-color: #C4EBF2;}
table.calendar.list td.sat dl dt:after { background: linear-gradient( 90deg, transparent, transparent 2.25em, #7ED1E3 2.25em, #7ED1E3 );}
table.calendar.list td.sun dl dt,
table.calendar.list td.sun dl dd { background-color: #FED2D1;}
table.calendar.list td.sun dl dt:after { background: linear-gradient( 90deg, transparent, transparent 2.25em, #FEAEAD 2.25em, #FEAEAD );}

table.calendar.list td dl dt:after,
table.calendar.list td dl dd a { font-size: 0.5em;}
table.calendar.list td dl dd .cal_tag { color: #000; font-size: 0.45em;}





/*************************************************
 CMS用テンプレート  .txtbox内部
**************************************************/
.txtbox { word-break: break-word;}
.txtbox,
article section .section_wrap,
.article section .section_wrap { margin-left: 1rem; margin-right: 1rem; overflow: visible;}

.txtbox ul,
.txtbox ol { margin-left: 0.5em; margin-right: 0.5em;}
.txtbox ul.box-image,
.txtbox ul.image_box { margin-left: auto; margin-right: auto;}

.txtbox ul.file_list li:before { background-color: transparent; border-radius: 0;}


/* 見出し */
.txtbox h2 { font-size: 1.5em; margin-top: 1.5em; padding: 0.5em 1em 0.7em; border-radius: 0.4em 0.4em 0 0; background-color: #D2F09E;}
.txtbox h2:first-child { margin-top: 0;}
article section h2,
.article section h2,
.txtbox h3 { font-size: 1.4em; padding: 0.4em 1em 0.3em 1.1em; margin-top: 1.5em; margin-bottom: 0.6em; border-bottom: 5px solid #E4E8E9;}
.txtbox h4 { font-size: 1.3em; padding: 0.6em 1em 0.6em 1.2em; margin-top: 1em; margin-bottom: 0.6em;}
.txtbox h5 { font-size: 1.2em; padding: 0.3em 1em 0.3em 1.5em; margin-top: 1em; margin-bottom: 0.1em;}
.txtbox h6 { font-size: 1.1em; padding: 0 1em 0 1.7em; margin-top: 1.2em; margin-bottom: 0.1em;}

.txtbox h2:before { bottom: 5px; left: 0%; right: 0%; height: 3px; background-color: #fff;}
article section h2:before,
.article section h2:before,
.txtbox h3:before { top: 0.3em; bottom: 0.3em; left: 0%; height: auto; width: 7px; background: linear-gradient( #BFE787, #BFE787 50%, #88D480 50%, #88D480);}
.txtbox h4:before { bottom: 0px; left: 0%; right: 0%; height: 7px; background: repeating-linear-gradient( 45deg, #D2F09E, #D2F09E 3px, transparent 3px, transparent 7px);}
.txtbox h5:before { top: 0.55em; left: 0.2em; width: 1em; height: 1em; background: url("../img/heading_h5_2x.png") center center no-repeat; background-size: contain;}
.txtbox h6:before { top: 0.4em; left: 0.35em; width: 0.8em; height: 0.8em; background: #D9D9D9;}

.txtbox h2,
article section h2,
.article section h2,
.txtbox h3,
.txtbox h4,
.txtbox h5,
.txtbox h6 { position: relative; margin-left: -1rem; margin-right: -1rem; font-weight: normal; font-family: "HGP創英角ｺﾞｼｯｸUB", "Hiragino Kaku Gothic ProN", "メイリオ", sans-serif;}
article section h2:before,
.article section h2:before{ background: linear-gradient( #D6D39C, #D6D39C 50%, #B0AF9A 50%, #B0AF9A);}

.txtbox h2:before,
article section h2:before,
.article section h2:before,
.txtbox h3:before,
.txtbox h4:before,
.txtbox h5:before,
.txtbox h6:before { position: absolute; display: block; content: "";}


/* list */
.txtbox ul > li:before { background-color: #88D480;}

.txtbox .aform-content form dt, 
.txtbox .aform-content form .dt { border: none;}
.txtbox .aform-content ul > li { padding-left: 0;}
.txtbox .aform-content ul > li:before { display: none;}


/* table */
.txtbox table th,
.txtbox table td { border: 2px solid #BCE681;} /* テーブル線の色 */
.txtbox table th { background: #E7F5CF;} /* THの色 */

/* acrobat */
.acrobat {}
.acrobat_wrap { padding: 1em 2em; background-color: #F2F2F2;}
.acrobat_icon { padding: 0; width: 170px;}
.acrobat_icon a { display: flex; justify-content: center; align-items: center; align-content: center; flex-wrap: wrap; height: 100%; padding: 0.5em 0; text-decoration: none; color: #000; border: 4px solid #ddd; box-shadow: inset 0 0 0 2px #fff; background: linear-gradient( -60deg, #f3f3f3, #f3f3f3 4em, #fff 4em, #fff); transition-duration: 0.15s;}
.acrobat_icon a img { margin: 0.3em 0;}
.acrobat_icon a span { display: block; padding: 0 0.3em; text-align: center; font-size: 0.9em;}
.acrobat_comment { width: calc(100% - 180px - 1em); margin-left: 0; margin-right: 1em; margin-bottom: 0; padding-bottom: 0;}

.acrobat_icon a:hover,
.acrobat_icon a:focus { border-color: #BCE681;}
.acrobat_icon a:hover img,
.acrobat_icon a:focus img { opacity: 1;}

/* info section*/
.info_section { margin-top: 0px; margin-top: 2em; margin-bottom: 2em; padding: 0 1.5em 1em; background-color: #F9F5E3;}
.info_section .section_wrap { }
.info_section .section_wrap > div { display: flex; justify-content: space-between; align-items: flex-end;}

.info_section h2,
.article .info_section h2 { margin-top: 0; margin-bottom: 0.8em; padding: 1em 0.5em 0.5em; font-weight: normal; font-family: "Hiragino Kaku Gothic ProN", "メイリオ", sans-serif; border-bottom: 1px dashed #000;}
.info_section h2:before,
.article .info_section h2:before { top: 0%; bottom: inherit; left: 0.5em; width: 7em; height: 8px; background: #BCE681;}

.info_section .info_button { overflow: visible; margin: 4px;display: inline-block;}
.info_section .info_button a { position: relative; display: block; padding: 1.3em 34px 1.2em 58px; font-size: 1.1em; color: #000; text-decoration: none; background: url("../img/icon_mail.png") left 12px center no-repeat #fff; border: 5px solid #EBE4C2; border-radius: 0.5em; transition-duration: 0.15s;}
.info_section .info_button a:before { position: absolute; display: block; content: ""; top: 0px; bottom: 0px; right: 10px; width: 18px; background:url("../img/arrow_yellow-green.png") center center no-repeat; transition-duration: 0.15s;}
.info_section .info_button a:hover,
.info_section .info_button a:focus { border-color: #BCE681;}
.info_section .info_button a:hover:before,
.info_section .info_button a:focus:before { right: 6px;}

.info_section.info_list { background-color: transparent;}

/* news 翻訳 */
html.translated-ltr .news dt { width:auto; float:none; padding-bottom: 0.2em; }
html.translated-ltr .news dd { padding-left:1em; padding-top:0;}


/*************************************************
 レスポンシブ　1160 + 20 
**************************************************/
@media screen and (max-width:1180px) {
  
  html { min-height: 568px;}
  
	#TOP,
	header .wrap,
	header nav ul,
	.contents .wrap,
	.contents article,
	.contents .article,
	.contents nav,
	footer .wrap,
	footer .nav ul { position: static; width: auto; min-width: 0; max-width: 100%; float: none;}
	.contents_wrap { display: block;}

	.contents article,
	.contents .article { margin-right: 0;}	
	header .wrap,
  div.locus .wrap,
  .contents h1 .heading,
	.wrap.contents_wrap,
	footer .wrap { margin-left: 2.5%; margin-right: 2.5%;}
	
/* グローバルメニュー */
	header { position: relative;}
	header nav { 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; padding: 0; background-color: transparent; overflow: auto; }
	#menu li { width: auto!important; border-bottom: 2px dotted #fff;}
	#menu li a { color: #fff;}
	#menu li dt a { background-color: rgba(0,0,0,0.3); padding-top: 0.5em; padding-bottom: 0.5em;}
	#menu li dt a:before { display: none;}
	#menu li dt a:hover,
	#menu li dt a:focus { background-color: #534610;}
	#menu ul.sub_category li a { color: #000;}

	#menu li.menu06 { position: static; border: none;}
	#menu li.menu06 a { position: static; top: inherit; left: inherit; right: inherit; margin: 0.75em auto;}


/* グローバルメニュー　サブカテゴリ */
	#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 h1,
	header .title {}
.sec_conf {margin-bottom: 100px;}
header .title {width: 220px;height: 80px;margin: 0 0 0 -110px;}
	
/* ページコントロール */
  .sec_conf { background-color: transparent;}
  
  .conf,
  .page_control .search { display: none;}
  .page_control { color: #fff; padding: 0;}
  
  .page_control .search,
  .UD {margin-left:2%;margin-right:2%;}
  .page_control dl.textsize_change,
  .page_control dl.color_change { width: 100%; margin: 10px auto;}
  
  .page_control .conf_bt { float: none; max-width: 280px; margin: 30px auto; font-size: 1.2em;}

  .conf { position: fixed; top: 50%; left: 2.5%; right: 2.5%; min-height: 150px; margin-top: calc( -266px / 2); padding-top: 25px; z-index: 105;}
  .UD { float: none;}
  .UD noscript { color: #fff; background-color: #000;}
  .page_control dl { justify-content: center;}
  .page_control dl dd a { margin-left: 0.75em; margin-right: 0.75em;}
  .page_control dl.textsize_change dt,
  .page_control dl.color_change dt { width: 7em; text-shadow: 0 0 2px #000, 0 0 4px #000, 0 0 4px #000; font-size: 1.2em; background-color: rgba(0,0,0,0);}

  .page_control .search > div { border: none; box-shadow: none; background-color: transparent;}
  
  .page_control .search { position: fixed; top: 50%; left: 2.5%; right: 2.5%; min-height: 150px; width: auto; margin-top: -75px; padding-top: 25px; z-index: 105;}
  .page_control .search label.search_txt{ height: auto; width: 100%; padding: 0.5em; font-size: 1.2em; overflow: auto; text-shadow: 0 0 2px #000, 0 0 4px #000, 0 0 4px #000; background-color: rgba(0,0,0,0);}
  .page_control .search .search_inner { display: flex; align-items: stretch; width: 100%;}
  .page_control .search input#search_txt { height: 44px; width:calc(100% - 4.5em); line-height: 44px; font-size: 1.2em;}
  .page_control .search input.search_bt { width: 4.5em; height: 44px; margin: 0; font-size: 1.2em; border: none;}

  form input#search_txt[type="text"] { max-width: none;}
  
  
/* コンテンツ */
  .contents h1 { font-size: 2em;}
  .contents h1 .heading { padding-top: 0.75em; padding-bottom: 0.75em;}


/* イベント検索 */
  .search_words { float: none;width: 100%; margin-right: 0; margin-bottom: 1em;}


/* サブトップ */
  .subtop .contents h1 .heading { margin-left: 0; margin-right: 0; padding-left: 2.5%; padding-right: 2.5%; }
  
  .banner_image ul { text-align: center;}
  .banner_image li { display: inline-block; margin-left: 0.75rem; margin-right: 0.75rem;}

  .banner_ad ul { text-align: center;}
  .banner_ad li { display: inline-block; margin-left: 0.75rem; margin-right: 0.75rem;}

  .life_menu li { width: calc(25% - 20px);}
  
  
/* フッター */
  footer .copyright { padding-bottom: 80px;} /* ハンバーガー分の余白 */
  footer dl { float: none; }
  footer .nav ul { flex-wrap: wrap;}
  footer .nav li { margin: 10px 0;}
  
  .footer_buttons { position: static;}  
  .footer_buttons ul { justify-content: center; flex-wrap: wrap;}
  .footer_buttons li a { min-width: 14em;}

}

/*************************************************
 レスポンシブ　768 + 20 
**************************************************/
@media screen and (max-width:788px) {

/* acrobat */
  .acrobat_comment { width: 100%; margin-right: 0em; margin-bottom: 1em;}
  
/* info section*/
  .info_section .section_wrap > div { display: block;}
  .info_section .info_button { display: inline-block;}
  
  
/* サブトップ */
  .subtop .contents h1 .heading { padding-top: 1.2em; padding-bottom: 1.2em; background-size: cover; background-position: center center;}

  .news_more { position: relative; justify-content: center;}
  
  .subtop .category_list li { width: 100%;}
  .subtop .category_list li,
  .subtop .category_list li:nth-child(2n+1) { margin-left: 0; margin-right: 0;} 
  
  .life_menu li { width: calc(33.333333% - 20px);}
  
}


/*************************************************
 レスポンシブ　560 + 20 
**************************************************/
@media screen and (max-width:580px) {
	
	
/* サブトップ */
	.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: #eee;}
	.subtop .section ul { display: none;}
  
	.life_menu li { width: calc(50% - 20px);}


/* コンテンツ */

/**/
	.contents article .overview_list dt,
	.form .contents .article .overview_list dt,
	.contents .article .event_section .event dt { width:auto;float:none;text-align:left;padding-left:.5em;}
	.contents article .overview_table { width:100%;border:none;}
	.contents article .overview_table th,
	.contents article .overview_table td { display:block; width:auto; text-align:left;}
	.contents article .overview_table td{ padding-top:0;padding-bottom:.7em;}
	.contents article .overview_table th,
	.contents .article .overview_list dt { border:none; margin-bottom:.8em; padding:.3em; font-weight:bold; background:#E7F5CF;}
	.contents article .overview_table td,
	.form .contents .article .overview_list dd,
	.contents article .overview_list dd {border:none;padding-left:0;margin-bottom:0;}
	.contents article .event_section .event dd {width:auto;padding-left:1em;}


/* フッター */
  footer .nav ul { display: block;}
  footer .nav li { text-align: center; margin: 0; padding: 10px;}  
  footer .nav li:before { top: 0em; bottom: inherit; left: 10%; right: 10%; width: auto; height: 1px; border-left: none; border-bottom: 1px dotted #000;}

  footer .reread_link { width: 69px; height: 68px;}
  footer .reread_link a { font-size: 0em;}
  footer .reread_link a:before { top: 45%; margin-top: -12px;}
  footer .reread_link a:hover:before { top: 30%;}

      

/* イベント検索 */
  .search_category legend { float: none;}
  
  
/* ----
カレンダー 追記
---- */
  table.calendar.list td dl { display: block;}
/*
  table.calendar:not(.list) th,
  table.calendar:not(.list) td { min-width: 10em; }
*/
  table.calendar td { width: auto;}

  table.calendar.list td dl dt { justify-content: flex-start; width: calc(100% - 8px); padding-top: 0.2em; padding-bottom: 0.2em; font-size: 0.85em;}
  table.calendar.list td dl dt:after { right: inherit; position: static; padding-top: 0.4em; padding-bottom: 0.4em; font-size:0.6em;}
  table.calendar.list td dl dd,
  table.calendar.list td.sat dl dd,
  table.calendar.list td.sun dl dd { width: calc(100% - 8px); background-color: transparent;}
  table.calendar.list .evet_wrap { border-top: 2px dotted #aaa;}
  table.calendar.list td dl dd .evet_wrap:first-child { border: none;}
   
  
}


@media screen and (min-width:1181px) {
	html body #menu {display:flex!important;} 
	.conf,
	.UD,
	.page_control .search { display:block!important;}
	.menu_bg,
	.conf_bg ,
	.search_bg{display: none!important;}
}


@media screen and (-ms-high-contrast:active) {
* {text-indent:0em !important;}
}

