@charset "utf-8";
/*************************************************
 草津温泉　移住応援サイト
 style.css
**************************************************/


/* ===========================
 代入指定
=========================== */
:root {
/* コンテンツ幅 */
  --width-contents-def: 1160px;
  --width-contents-nav: 300px;



/* リンク文字色 */
  --color-link-def: #0044cc;
  --color-link-visited: #527076;
  --color-link-hover: #14205F;
  --color-link-active: #5D0000;

  --color-btn-def: #000;


/* 背景色 */
    --color-primary: #4072B3;
    --color-secondary: #AEC4E5;

/* spacec */
	--space-side-common: 10px;
}



/* ===========================
 基本スタイル
=========================== */
body { margin: 0; background: #fff; color: #000; 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;}
textarea { max-width: 95%;}
fieldset { margin: 0 0 1em; padding: 0 0 5px; border: none;}
a { color: var(--color-link-def); text-decoration: underline;}
a:visited { color: var(--color-link-visited);}
a:hover { color: var(--color-link-hover);}
a:active { color: var(--color-link-active);}
a:hover img{ opacity: 0.8;}
img { border: none; vertical-align: middle;}



/* ===========================
 コンテンツの幅
=========================== */
body,
#TOP { min-width: 320px; padding-bottom: 0;}

/* コンテンツ幅 */
.sec_conf .header_sec_wrap,
.sec_title .header_sec_wrap,
.locus_wrap,
.contents_wrap,
/*.footer_wrap,*/
.menu_footer,
.copyright_wrap { max-width: var(--width-contents-def); margin: 0 auto;}
.copyright_wrap { display: block;}

/* GNAV幅
.menu_global { max-width: var(--width-contents-def); margin: 0 auto;}
*/

/* コンテンツ内部、サイドメニュー幅 */
/*.contents_wrap article { width: calc(100% - var(--width-contents-nav));}*/
.contents_wrap .menu_contents { width: var(--width-contents-nav);}


/* nonav、サイドメニュー不要 */
.no_nav .contents_wrap article,
.menu .contents_wrap article
{ float: none; width: 100%;}

.no_nav .contents_wrap .menu_contents,
.menu  .contents_wrap .menu_contents
{ float: none; display: none;}


/*************************************************
 ヘッダー
**************************************************/
header { padding-bottom: 0; position: relative;}
.header_wrap { padding-bottom: 0; overflow: visible;}
.header_wrap:after { display: block; content: ""; clear: both;}

/* ===========================
 タイトル
=========================== */
header h1,
header .title { font-size: 1em;}
header .title {width: 220px;
    margin: 0;
    border: none;
    background-color: #F1F0EC;
    overflow: visible;
    height: 125px;
}
header .title a { display: block; margin-top: -60px;
    background-color: #f0f0f0;
    padding-top: 15px;
    text-align: center;
    padding-bottom: 20px;}
header .title img { max-width: 100%; height: auto;}



/* ===========================
 ヘッダー セクション
=========================== */
.header_sec {}
.header_sec_wrap {}


/* ヘッダー ページコントロール大枠 */
.sec_conf { padding-bottom: 0; background-color: #292929;}
.sec_conf .header_sec_wrap { padding: 0.8em 0;}


/* ヘッダー タイトル・gnav大枠 */
.sec_title { padding-bottom: 0; overflow: visible;}
.sec_title .header_sec_wrap { overflow: visible; display: flex; justify-content: space-between; align-items: center; padding-bottom: 0;}




/* ===========================
 ハンバーガーメニュー
=========================== */
.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;
} 



/* ===========================
 ページコントロール
=========================== */
.page_control { display: flex; justify-content: flex-end; margin: 0; padding: 0;}

.page_control .conf,
.page_control .UD { float: left ;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 { float:left; display: flex; height: 34px ; margin: 0 0.5em 0 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; justify-content: center; align-items: center;}
.page_control dl dt { padding: 0 0.5em;color: #fff;}
.page_control dl dd {}
.page_control dl dd a { display: block; width: 30px; height: 30px; margin: 2px;padding: 1px; border: 1px solid #fff;}
.page_control dl dd a:hover { border: 1px solid #808000;}

/* 表示色 */
.page_control dl.color_change dd a { background-color: #fff;}
.page_control dl.color_change dd.high a { background-color: #000;} /* ハイコントラスト */
.page_control dl.color_change dd.default a { background-color: #fff;} /* 標準 */
.page_control dl.color_change dd.low a { background-color: #ccc;} /* ローコントラスト */

/* 文字サイズ */
.page_control dl.textsize_change dd a { background-color: #fff;}
.page_control dl.textsize_change dd.smaller a {} /* 小 */
.page_control dl.textsize_change dd.default a {background-color: #000;} /* 中 */
.page_control dl.textsize_change dd.larger a {} /* 大 */



/* ===========================
 ページコントロール - 翻訳・読み上げ
=========================== */
.page_control .conf_language,
.page_control .conf_voice { float: left; display: block; height: 34px; margin:0 0.5em 0 0; padding: 0; text-align: center; font-size: 0.8em;}

.page_control .conf_language a,
.page_control .conf_voice a { display: flex; justify-content: center; align-items: center; height: 100%; padding: 0 0.5em; text-decoration: none;}


/* 翻訳ボタン */
.page_control .conf_language a { border: 2px solid #ccc;}
.page_control .conf_language a:hover,
.page_control .conf_language a:focus { background-color: #ccc;}


/* 読み上げボタン */
.page_control .conf_voice a { border: 2px solid #ccc;}
.page_control .conf_voice a:hover,
.page_control .conf_voice a:focus { background-color: #ccc;}



/* ===========================
  ページコントロール - 検索
=========================== */
.blc_search { width: 260px; margin: 0 0 0 4em; padding: 0; font-size: 0.8em; text-align: center; float: right;}

.blc_search .search_wrap,
.blc_search .search_wrap_inner { padding-bottom: 0;}


.search_wrap .search_wrap_inner { display: flex; align-items: stretch;}

.blc_search .search_wrap {}
.blc_search input.search_txt { padding-left: 30px; border-color: transparent; background: url("../img/ico_search.png") left center no-repeat #fff;}
.blc_search label.search_txt { display: block; width: 0; height: 0; overflow: hidden;}
.blc_search .search_wrap_inner { height: 34px; width: calc(100% - 0em); border: 2px solid #fff;}

/* ヘッダー検索 追記　※ レスポンシブ有 */
.blc_search .search_wrap_inner { position: relative;}
.blc_search .search_wrap_inner:before { position: absolute; display: block; content: ""; top: 0px; bottom: 0px; left: 0px; width: 42px; background: left top no-repeat url("../img/momichan.png"); background-size: 42px auto; transition-duration: 0.15s;}
.blc_search .search_wrap_inner:hover:before { background-position: left top -4px;}
.blc_search input.search_txt { padding-left: 40px; background-image: none;}



/* ===========================
  グローバルメニュー
=========================== */
.menu_global { /* float: right; */ padding-bottom: 0; overflow: visible;width: calc(100% - 200px);}


/* グローバルメニュー - 直下 */
#menu { position: relative; display: flex; margin: 0; padding: 0; overflow: visible;}
#menu li {width: 16.6%;}
#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: flex-start; align-content: center; justify-content: center;
	height: 100%; padding: calc(1em + 60px + 0.5em) 1em 0.7em; transition-duration: 0.15s;
	color: var(--color-btn-def); background-color: transparent; border-bottom: 5px solid transparent;
}
#menu li a:before { position: absolute; display: block; content: ""; height: 60px; width: 60px; top: 1em; left: 50%; margin-left: -30px; background: center center no-repeat; border-radius: 50%;}
#menu li dl:after { position: absolute; display: block; content: ""; top: 1.5em; bottom: 1.5em; border-left: 1px dashed #888;}
#menu li:first-of-type dl:after{display: none;}
#menu li.menu01 dt a:before { background-image: url("../img/menu01.png")}
#menu li.menu02 dt a:before { background-image: url("../img/menu02.png")}
#menu li.menu03 dt a:before { background-image: url("../img/menu03.png")}
#menu li.menu04 dt a:before { background-image: url("../img/menu04.png")}
#menu li.menu05 dt a:before { background-image: url("../img/menu05.png")}
#menu li.menu06 dt a:before { background-image: url("../img/menu06.png")}

#menu li.menu01 a:hover,
#menu li.menu01 a:focus { border-bottom-color: #F6A8C7;}
#menu li.menu02 a:hover,
#menu li.menu02 a:focus { border-bottom-color: #F8D572;}
#menu li.menu03 a:hover,
#menu li.menu03 a:focus { border-bottom-color: #FEA57A;}
#menu li.menu04 a:hover,
#menu li.menu04 a:focus { border-bottom-color: #ABE273;}
#menu li.menu05 a:hover,
#menu li.menu05 a:focus { border-bottom-color: #94C2E2;}
#menu li.menu06 a:hover,
#menu li.menu06 a:focus { border-bottom-color: #CBA6DD;}


/* グローバルメニュー - 下階層 */
#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 dt a:hover,
#menu li dt a:focus,
#menu dl:hover dt a,
#menu dl.focus dt a { background-color: yellow;}*/ /* グローバル ホバー色 */
#menu ul.sub_category { background: #f0f0f0;} /* サブカテゴリ 背景色 */

#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: 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;}
#menu ul.sub_category li { flex-basis: 25%;}
#menu ul.sub_category li a { display: flex; height: calc(100% - 10px); margin: 5px; padding: 1em;	text-decoration: none; background: #fff; 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: red;}*/ /* サブカテゴリボタン ホバー色 */
#menu ul.sub_category li a:hover:before,
#menu ul.sub_category li a:focus:before {}




/*************************************************
 フッター
**************************************************/
footer { position: relative; /*padding-top: calc(24px + 1.5em);*/ }
/*footer:before { position: absolute; display: block; content: ""; top: 0px; left: 0%; right: 0%; height: 24px; background: center top repeat-x url("../img/menu01.png");}*/

.menu_footer {}
.menu_footer ul { float: left; display: flex; justify-content: center;}
.menu_footer li {}
.menu_footer li a {}

.footer_wrap_bg{background: url("../img/footer_bg.png");background-size: cover;}
.footer_wrap { clear: both; display: flex; justify-content: flex-start; align-items: center;}
.footer_wrap dl { text-align: center; /*background-color: #fff; border-radius: 0.6em;*/width: 1160px;justify-content: flex-start;    margin: 0 auto;display: flex;padding-top: 2em;}
.footer_wrap dt { padding: 1em 3em;}
.footer_wrap dd { margin-left: 0; padding: 1em 3em;text-align: left;color: #fff;}

.copyright { clear: both; margin: 0; padding: 0 1em 1em; text-align: right;color: #fff;font-size: 0.8em;}
.copyright_wrap {}

/* ページトップに戻る */
.reread_link { width: 120px; height: 120px; position: fixed; bottom: 80px; right: 40px; padding: 0; z-index: 99; overflow: visible;}
.reread_link a { position: relative; display: block; height: 100%; width: 100%; font-size: 1em; text-align: center; text-decoration: none; overflow: visible;opacity: 0.8;}
.reread_link a .reread_link_wrap { position: relative; display: flex; justify-content: center; align-items: center; height: 100%; width: 100%; padding-top: 2em;  background-color: #fff; border: 4px solid #E4E4E4; border-radius: 50%; z-index: 2;}
.reread_link a .reread_link_wrap:before { position: absolute; display: block ; content: ""; top: 16px; left: 0px; right: 0px; height: 21px; background: url(../img/pagetop_arrow.png) center center no-repeat; transition-duration: 0.15s;}
.reread_link a .reread_link_chr { position: absolute; top: -75px; left: 0px; right: 0px; height: 140px; background: url(../img/momichan.png) center top no-repeat; transition-duration: 0.15s; z-index: 1;}
.reread_link a .reread_link_wrap:hover:before,
.reread_link a .reread_link_wrap:focus:before {}
.reread_link a:hover .reread_link_chr,
.reread_link a:focus .reread_link_chr{ top: -125px;opacity: 1.0;}
.reread_link a:hover{ opacity: 1.0;}
footer .sitemap { display: flex; justify-content: center; flex-wrap: wrap; padding: 1.6em; background-color: #f0f0f0;}
footer .sitemap a.sitemapopen { display: flex; justify-content: center; padding: 0.75em 4em; background: #fff; border-radius: 0.3em; transition-duration: 0.15s;text-decoration: none;color: #000;}
footer .sitemap a.sitemapopen span { position: relative; margin-left: 8px;}
footer .sitemap a.sitemapopen span:before { position: absolute; display: block; content: ""; top: 50%; bottom: 0px; left: -26px; width: 16px; height: 16px; margin-top: -8px; background: url("../img/sitemap_arrow.png") center center no-repeat; /*transform: rotate(90deg);*/ transition-duration: 0.15s;}

/**/
footer .sitemap .sitemap_close { display: none;}
footer .sitemap .sitemap_close:before { transform: rotate(90deg);}
footer .sitemap a.sitemapopen.active .sitemap_open { display: none;}
footer .sitemap a.sitemapopen.active .sitemap_close { display: block;}
footer .sitemap .sitemap_wrap { display: none; width: 100%; margin: 1em 0 2em;}
footer .sitemap .sitemap_frame { display: flex; justify-content: space-around;}
footer .sitemap .sitemap_frame > ul,
footer .sitemap dl { text-align: left; overflow: hidden; margin: 0 0.5em 0.5em;}
footer .sitemap .sitemap_frame > ul li,
footer .sitemap dt {
	margin-bottom: .5em;
}
footer .sitemap .sitemap_frame > ul li {
	margin-bottom: 1em;
	font-size: 1.3em;
}
footer .sitemap dd {
	padding-left: 5px;
    margin-left: 10px;
}
footer .sitemap .sitemap_frame > ul li a,
footer .sitemap dt a { display: block; padding: 0 0 0 1em;  background: url("../img/common_arrow.png") left top 0.25em no-repeat; transition-duration: 0.15s;}
footer .sitemap dd a { display: block; float: left; clear: both; padding: 0.2em 0 0.2em 1.5em; background: url("../img/arrow_right_brown_2.png") left 0.2em top 0.55em no-repeat; background-size: 9px 13px; transition-duration: 0.15s; font-size: 90%;}
footer .sitemap .sitemap_frame > ul li a:hover,
footer .sitemap .sitemap_frame > ul li a:focus,
footer .sitemap dt a:hover,
footer .sitemap dt a:focus { background-position: left 0.3em top 0.25em; text-decoration: underline;}
footer .sitemap dd a:hover,
footer .sitemap dd a:focus { background-position: left 0.45em top 0.55em; text-decoration: underline;}

footer .sitemap a.sitemapopen .sitemap_close:before { transform: rotate(-90deg);}

footer .inquiry {display: flex;margin-top: 1em;}
footer .inquiry li{width:9em;border: 1px solid rgba(255,255,255,1.00);text-align: center;color: #fff;margin-right: 1em;}
footer .inquiry li a{ color: #fff; text-decoration: none; display: flex; justify-content: center;  height: 100%; align-items: center; padding: 0.5em;}
footer .inquiry li a:hover {background: #000;}

footer .sitemap a.sitemapopen.active .sitemap_open { display: none;}
footer .sitemap a.sitemapopen.active .sitemap_close { display: block;}
footer .sitemap a.sitemapopen .sitemap_close:before { transform: rotate(-180deg);}


/*************************************************
 パンくずリスト
**************************************************/
div.locus { padding-bottom: 0;    background: #292929;color: #fff;}
.locus_wrap { padding-bottom: 0;}
p.locus {}
div.locus a{color:#fff;}

/*************************************************
 コンテンツ
**************************************************/

 body.page.no_nav h1 {position: relative;padding: 50px 200px;background: #EAE6DB;font-size: 2em;text-align: center;margin-bottom: 0;}

body.page.no_nav h1 .page_ttl::after {content: "";position: absolute;left: 0;right: 0;bottom: 20px;width: 320px;margin: auto;border-bottom: 2px dashed #888;}

body.no_nav.menu h1{ width: 100%; margin-bottom: 0 auto; padding: calc(60px + 1.4em) 1.5em 1em ; font-size: 2em;text-align: center;color: #fff;position: relative;letter-spacing: 0.1em;line-height: 0.9em;}
body.no_nav.menu h1.heading_01{background:url("../img/bg_01.png") no-repeat;background-size: cover;}
body.no_nav.menu h1.heading_02{background:url("../img/bg_02.png") no-repeat;background-size: cover;}
body.no_nav.menu h1.heading_03{background:url("../img/bg_03.png") no-repeat;background-size: cover;}
body.no_nav.menu h1.heading_04{background:url("../img/bg_04.png") no-repeat;background-size: cover;}
body.no_nav.menu h1.heading_05{background:url("../img/bg_05.png") no-repeat;background-size: cover;}
body.no_nav.menu h1.heading_06{background:url("../img/bg_06.png") no-repeat;background-size: cover;}

body.no_nav.menu h1 .en{font-size: 0.4em;margin-top: 3em;font-weight: 100;}
body.no_nav.menu h1 .menu_ttl_txt{font-size: 0.8em;line-height:0.1em;}

body.menu h1:before {position: absolute;display: block;content: "";height: 60px;width: 60px;top: 1em;left: 50%;margin-left: -30px;background: center center no-repeat;}
body.menu h1.heading_01:before {background-image: url("../img/menu01.png");}
body.menu h1.heading_02:before {background-image: url("../img/menu02.png");}
body.menu h1.heading_03:before {background-image: url("../img/menu03.png");}
body.menu h1.heading_04:before {background-image: url("../img/menu04.png");}
body.menu h1.heading_05:before {background-image: url("../img/menu05.png");}
body.menu h1.heading_06:before {background-image: url("../img/menu06.png");}


.contents { padding-bottom: 2em; background-color: #f0f0f0;}

.contents_inside {}

.contents_wrap { display: flex; align-items: stretch; padding-bottom: 0; background-color: #fff;}

.menu_contents { background-color: #e7e7e7;}


/* メニュー右 */
.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: #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;}


/*************************************************
 一覧ページ
**************************************************/
.menu {}
.menu .list { display: flex; flex-wrap: wrap;}

/*.menu .contents h1 { display: flex; justify-content: center; align-items: center; padding: 1.5em 0.5em; background-color: #ccc;}*/
.menu .contents h1 .heading { position: relative; display: block; padding-top: 80px;}
.menu .contents h1 .heading:before { position: absolute; display: block; content: ""; top: 0px; left: 50%; width: 70px; height: 70px; margin-left: -35px; background: center center no-repeat #fff; border-radius: 50%;}
.menu .contents h1 .heading:before { background-image: url("../img/menu01.png");}

.menu_section {}

.menu_list { padding: 3em 1.5em 1em;}
.menu_list ul { display: flex; flex-wrap: wrap; align-items: stretch;}
.menu_list li { width: 45%; margin: 1em 2.5% 1em; }
.menu_list a { display: block; height: 100%; padding: 0.2em; background-color: #E8E7E5; transition-duration: 0.15s;font-size: 1.2em;}

.menu_list a .menu_list_title { position: relative; display: flex; align-items: center; height: 100%; padding:1em calc(2.3em + 45px) 1em 1em; /*background-color: #fff; */transition-duration: 0.15s;background-image: linear-gradient( -45deg, #EAE6DB, #EAE6DB 5em, #F1F0EC 5em, #F1F0EC);border: 2px solid #fff;}
.menu_list a .menu_list_title:before { position: absolute; display: block; content: ""; top: 0%; bottom: 0%; right: 2em; width: 45px; background: url("../img/menu_more_arrow.png") center center no-repeat; transition-duration: 0.15s;}

.menu_list a:hover,
.menu_list a:focus { background-color: #ACACAC;}
.menu_list a:hover .menu_list_title,
.menu_list a:focus .menu_list_title {background-image: linear-gradient( -45deg, #E3DED3, #E3DED3 5em, #EBE6DB 5em, #EBE6DB);}
.menu_list a:hover .menu_list_title:before,
.menu_list a:focus .menu_list_title:before { right: 1.8em;}


.menu_section {background-color: #fff;}




/*************************************************
 お知らせページ
**************************************************/

.news_section.inner_wrap {
    width: 100%;
    padding: 28px 21px;
}

.page .txtbox .news_section { padding-left: 0; padding-right: 0;}
.page .txtbox .news_section .news { padding-left: 0;}

.news_section .news {
    max-width: 998px;
    margin-right: auto;
    margin-left: auto;
}

.news_section .news dt {
    width:calc(10em + 0px);
    padding-left: 1.5em;
}

.news_section .news dt, .news_section .news dd {
    padding: 1.5em 0 1em;
}

.tab_show_hide .show_hide dl dt, .news_section .news dt {
    float: left;
    width: calc(10em + 0px);
    padding-left: 0.6em;
    font-weight: normal;
    margin-bottom: 0;
}
.news_section .news dd {
    padding-left: calc(10em + 0px);
    border-bottom: 1px #CDCDCB solid;
}



.nodata {
    border: 2px solid #CCCCCC;
    padding: 0.5em;
}



.pager ul li:before {display: none;}


/*************************************************
 移住者の声ページ
**************************************************/

.izyu .contents_wrap{background-color:transparent;}
.voice_section{margin-top: 30px;}
.contents_wrap .voice_section ul{display: flex; justify-content: flex-start ;flex-wrap: wrap;}
.voice_section ul li{ width: calc((100% / 3) - 2em - 1px); margin: 50px 1em 0;}
.voice_section ul li a {background: #fff;display: block; text-decoration: none;display: block;box-shadow: 0 3px 6px 0 rgba(189,189,189,0.8);}
.voice_section ul li a:hover {box-shadow: 0 3px 6px 0 rgba(255,255,255,0.8)}
.voice_section ul li dl{margin-bottom: 0;}
.voice_section ul li dl dt {padding: 0.8em;color: #000;font-size: 1.2em;}
.voice_section ul li dl dd {padding: 0.8em;color: #000;font-size: 0.9em;    margin-left: 0;}
.voice_section ul li img {width: 100%;} 

.voice_section div.turn {overflow: auto;margin-top: 1em;padding: 0.3em 2em 0.3em 0;}


.voice_section .turn_ribbon { display: inline-block; padding: 0.3em 2em 0.3em 1.5em;margin: top;color: #000;position: relative;}  
.voice_section .i_turn {background: #E2D579;}  
.voice_section .u_turn {background: #90D6E0;}  

.voice_section .turn_ribbon:after { position: absolute; content: ''; width: 0px; /*height: 0px;*/ z-index: 1; top: 0px; bottom: 0px; right: 0px; border-width: 1em 0.5em 1em 0px;border-color: transparent #fff transparent transparent;border-style: solid;}

.voice_section .name_more{display: flex;justify-content: space-between;padding-bottom: 0.8em;}
.voice_section .name_more .name{margin: 0.5em 1em;color: #000;}
.voice_section .name_more .more{margin: 0.5em 1em;padding-right: 3em; color: #000;position: relative;}
.voice_section .name_more .more:after{position: absolute;content: '';display: block;width: 132px;height: 13px;bottom: 0;right: 0;background: url(../img/izyu_more_arrow_s.png);}

/*検索システム用*/
.works_section ul li a:hover{ box-shadow: 0 0 8px 2px rgb(185 185 240 / 80%); }
.voice_section.works_section .name_more{justify-content: flex-end;}


/*************************************************
 CMS用テンプレート  .txtbox内部
**************************************************/

article h1 + p.right { padding: 0 1.5em;}
.txtbox {padding: 0 3em 2em;}

/* 見出し */
.txtbox h2 {padding: 0.6em 1em;background: #F1F0EC;font-size: 1.6em;font-weight: normal;}
.txtbox h3 {padding: 0.6em 1em;margin-top: 1.5em;margin-bottom: 0.6em;border-bottom: 2px dotted #747474;position: relative;font-size: 1.5em;font-weight: normal;}
.txtbox h4 {font-size: 1.4em;padding: 0.3em 1em 0.3em 1.5em;margin-top: 1em;margin-bottom: 0.1em;font-weight: normal;position: relative;}
.txtbox h5 {position: relative;padding: 4px 10px 4px 26px;font-weight: normal;font-size: 1.3em;margin-top: 1em;}
.txtbox h6 {position: relative;padding: 4px 10px 4px 27px;font-weight: normal;font-size: 1.2em;margin-top: 1em;}

.txtbox h3:before {top: 0.3em;bottom: 0.3em;left: 0%;height: auto;width: 7px;background: linear-gradient( #D1C9BC, #D1C9BC 50%, #B5AD9A 50%, #B5AD9A);}
.txtbox h4: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 h5::before {
    top: 0;
    bottom: 0;
    left: 3px;
    width: 8px;
    height: 100%;
    margin: auto;
    background: #D1C9BC;
}
.txtbox h6::before {
    top: 0;
    bottom: 0;
    left: 3px;
    width: 14px;
    height: 14px;
    margin: auto;
    background: #C6C6C6;
}
.txtbox h3:before,
.txtbox h4:before,
.txtbox h5::before,
.txtbox h6::before { position: absolute; display: block; content: "";}



.file_section .section_wrap h2,
.link_section .section_wrap h2,
.map_section .section_wrap h2{padding: 0.6em 1em;background: #F1F0EC;font-size: 1.6em;font-weight: normal;}

/*.file_section .section_wrap,
.link_section .section_wrap,
.map_section .section_wrap {padding: 0 3em 2em;}*/

.file_section,
.link_section,
.map_section{padding: 0 3em 2em;}

.acrobat .acrobat_wrap{margin: 0 3em 2em;  padding:1em;background:#F1F0EC;}



/* table */
.txtbox table th,
.txtbox table td { border: 3px solid #E4DED0;} /* テーブル線の色 */
.txtbox table th { background: #F4F0E7;} /* THの色 */


/* カテゴリ検索部分 */
#cate h2 { margin-top: 1.5em; clear: both;}
#cate .cate_word { display: flex; align-items: stretch; padding: 0; }
#cate .cate_word input[type="text"] { height: auto; line-height: 2em; font-size: 1em; }
#cate .cate_wrap { display: flex; flex-wrap: wrap; justify-content: flex-start; }
#cate .cate_wrap label { display: block; margin: 0.5em 0.75em 0.5em;}
#cate #searchbtn { margin: 2em auto 0; padding: .6em 1.1em; display: block; font-size: 1.5em; border-radius: 10px; }
@media all and (-ms-high-contrast:none){
  #cate .cate_word input[type='text']{height:2.2em;}
}

.works_section .works_tag { float: left; margin: 0.75em 1.1em; padding: 0.1em 0.5em; font-size: 0.85em; background-color: #DFDFDF; border: 3px solid #DFDFDF;border-radius: 3px;}
.word{width:100%;max-width:480px;}
#pickup_list ul li.hidden{display:none;}  

.shigoto_s #cate .check-image{position: absolute;white-space: nowrap;width: 1px;height: 1px;overflow: hidden;border: 0;padding: 0;clip: rect(0 0 0 0);clip-path: inset(50%); margin: -1px;}
.shigoto_s #cate .check-image + .icon {position:relative;height:100px;width:100px;padding-left:10px;display:inline-block;text-indent:-999px;}
.shigoto_s #cate .check-image + .icon:before{display:block;content:"";top:0;bottom:0;left:0;margin:auto;position:absolute;width:100px;height:100px;background:none no-repeat center;background-size:contain;border:3px solid #8F8F9D;border-radius:4px;}
.shigoto_s #cate .check-image:checked + .icon:before{border-color:#6723d3; box-shadow: 0 0 0 1px #6723d3; background-color: #e4defc;}
.shigoto_s #cate .check-image:focus + .icon:before{outline: 2px solid #0044cc;}

/* 専用画像横ボックス */
.iv_image_box { display: flex; justify-content: space-between; margin: 3em 0;}

.iv_image_box .iv_image_box_txtbox { width: 55%;}
.iv_image_box .iv_image_box_image { width: 45%; padding-top: 0;}
.iv_image_box .iv_image_box_image img { max-width: 100%; height: auto;}

.iv_image_box.left {}
.iv_image_box.left .iv_image_box_image  { order: 1; margin-right: 2em;}
.iv_image_box.left .iv_image_box_txtbox  { order: 2;}

.iv_image_box.right {}
.iv_image_box.right .iv_image_box_image  { order: 2; margin-left: 2em;}
.iv_image_box.right .iv_image_box_txtbox  { order: 1;}


/*************************************************
 汎用ボタン
**************************************************/
/* 右に＞ */
#menu ul.sub_category li a
{ position: relative;}

#menu ul.sub_category li a:before
{ position: absolute; display: block; content: ""; top: 0%; bottom: 0%; right: 12px; width: 13px; background-position: center center; background-repeat: no-repeat; transition-duration: 0.15s;}

#menu ul.sub_category li a:hover:before,
#menu ul.sub_category li a:focus:before
{ right: 8px;}



/* 文字リンク　色を変えない */
#menu li a,
.menu_list a,
.menu_footer li a,
.reread_link a
{ color: var(--color-txt-def); text-decoration: none;}

.menu_footer li a:hover,
.menu_footer li a:focus
{ text-decoration: underline;}



/**************************************************************************************************
 レスポンシブ　タブレット 1160px + 20px
***************************************************************************************************/
@media screen and (max-width: 1180px) {

	/* ===========================
	 代入指定
	=========================== */
	:root {
	/* コンテンツ幅 */
	  --width-contents-def: none; /* max-widthの値 */
	}
  
  body { padding-top: calc(52px/* + 1em*/);} /* ハンバーガーメニュー分の余白 */

	#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 {background: #f0f0f0;}
	.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: 1.5em; background: #fff;}
  
	#menu li a { align-items: center; height: 80px; padding-left: 80px; padding-right: 80px;}
	#menu li a:before { top: 50%; left:50%; margin-top: -30px; margin-left: calc(-30px - 5em); width: 60px; height: 60px; }

	#menu li dl:after { display: none;}
  
	/* グローバルメニュー サブカテゴリ */
	#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 {width: 100%;margin: 0;border: none;background-color: #F1F0EC;overflow: visible;height: 120px;}
  
    header .title a {display: block;background-color: #f0f0f0;padding-top: 15px;text-align: center;margin: 0;padding-bottom: 0;}
    
    header .title img {max-width: 100%;height: auto;width: 110px;}
    body.no_nav.menu h1 {padding: calc(60px + 1em) 5% 1em;}
    
    
  /* ヘッダー ページコントロール大枠 */
  .sec_conf .header_sec_wrap { padding: 0;}


	/* ページコントロール */
	.conf,
	.blc_search { display: none;}
	.page_control { color: #fff; padding: 0;}

	.blc_search,
	.page_control .UD {margin-left:2%;margin-right:2%;}
	.page_control dl.textsize_change,
	.page_control dl.color_change { width: 100%; margin: 1em auto;}
	.page_control .voice { width: 100%; margin-left: auto; margin-right: auto;}
	.page_control .voice a { border: 2px solid #fff;}
	
	.page_control .conf { position: fixed; top: 50%; left: 2.5%; right: 2.5%; min-height: 240px; margin-top: -120px; padding-top: 25px; z-index: 105;}
	.page_control .conf_language,
	.page_control .conf_voice { float: none; width: 20em; height: auto; margin: 1em auto;}
	.page_control .conf_language a,
	.page_control .conf_voice a { padding: 0.5em; font-size: 1.1em; background-color: #fff;}
	.page_control .UD { float: none;}
	.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;}

	.blc_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;}
	.blc_search .search_wrap { display: block;}
	.blc_search .search_wrap_inner { width: 100%; height: 48px;}
	.blc_search label.search_txt { display: block; height: auto; width: 100%; padding: 0.5em; font-size: 1.3em; text-shadow: 0 0 2px #000, 0 0 4px #000, 0 0 4px #000;}
	.blc_search input.search_txt,
	.blc_search input.search_bt { height: 44px; font-size: 1.2em;}
	.blc_search input.search_txt { width: calc(100% - 4.5em); /* padding-left: 0.5em; */ padding-right: 0.5em; line-height: 44px;}
	.blc_search input.search_bt { width: 4.5em;}

  /* ヘッダー検索 追記　※ レスポンシブ有 */
  .blc_search .search_wrap_inner:before { background-position: left top 12px;}
  .blc_search .search_wrap_inner:hover:before { background-position: left top -5px;}
  

	/* フッター */
	/*footer { padding-bottom: 80px;} *//* ハンバーガー分の余白 */
.footer_wrap_bg {padding-bottom: 80px;}


/* メニュー */
.menu_list li {width: 100%;}
}

/*************************************************
 レスポンシブ　960px + 20px
**************************************************/
@media screen and (max-width: 980px) {

    body.page.no_nav h1 {padding: 50px 50px;}

.voice_section ul li{ width: calc((100% / 2) - 2em - 1px);}
    
body.no_nav.menu_02 h1 {padding: 2.8em 1em 1em;}

/*しごと情報検索*/
#cate .cate_wrap label { margin: 0.5em 0.3em; }
#searchbtn { margin: 1em auto 0; }

.footer_wrap dl {display: block;}
.copyright {text-align: center;}
footer .inquiry {justify-content: center;}
footer .inquiry li {margin: 0.5em;}
    
footer .sitemap .sitemap_frame {flex-wrap: wrap; justify-content: flex-start;}
footer .sitemap .sitemap_frame > ul, footer .sitemap .sitemap_frame dl {
    width: calc(33.33333333% - 1em);
}
footer .footer_wrap dt img{width: 165px;height: 135px;}
footer .footer_wrap dd a{
    color:#FFF;
}

  /* 専用画像横ボックス */
  .iv_image_box { display: block;}

  .iv_image_box .iv_image_box_txtbox { width: 100%;}
  .iv_image_box .iv_image_box_image { width: calc(100% - 2em);}
  
  .iv_image_box .iv_image_box_image { max-width: inherit; text-align: center;}
  .iv_image_box.left .iv_image_box_image,
  .iv_image_box.right .iv_image_box_image { margin-right: 1em; margin-left: 1em;}

}


/*************************************************
 レスポンシブ　660px + 20px
**************************************************/
@media screen and (max-width: 680px) {

  body.page.no_nav h1 { font-size: 1.75em; padding-left: 25px; padding-right: 25px;}
  
  /* txtbox */
  .txtbox,
  .file_section,
  .link_section,
  .map_section { padding-left: 1.2em; padding-right: 1.2em;}
  
  .acrobat .acrobat_wrap { margin-left: 1.2em; margin-right: 1.2em;}
  
  .voice_section ul li{width:100%;}
  
}




/*************************************************
 レスポンシブ　タブレット 600px + 20px
**************************************************/
@media screen and (max-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: #eee;}
	.subtop .section ul { display: none;}

/*************************************************
 お知らせページ
**************************************************/
.page .txtbox .news_section .news dt { width: auto; padding-bottom: 0.3em;}
.page .txtbox .news_section .news dd { padding-top: 0;}

/**********************************
  検索画面
**********************************/
    .shigoto_s #cate .cate_wrap label { width: calc(33.333333% - 1em); margin: 0.5em;}
    .check-image + .icon,
    .shigoto_s #cate .check-image + .icon { width:100%; height: 80px;}
    .check-image + .icon:before,
	.shigoto_s #cate .check-image + .icon:before { width: 100%; height: 100%;}

/**********************************
 ページトップへ
**********************************/

    .reread_link a .reread_link_chr {display: none;}
.reread_link {width: 80px;height: 80px;bottom: 30px;right: 10px;}
    .reread_link_text{font-size: 0.6em;}
    .reread_link a .reread_link_wrap:before {height: 15px;background-size: contain;}
    
  /**********************************
 メニュー
**********************************/  
    .news_section .news dt {float: none;}
   .news_section .news dd {padding-left: calc(1em + 0px);} 
    
    
     /**********************************
 フッタ
**********************************/   
    
    footer .sitemap .sitemap_frame > ul, footer .sitemap .sitemap_frame dl { width: calc(50% - 1em);}
    

    
}



@media screen and (min-width:1181px) {
	html body #menu {display:flex!important;justify-content: space-evenly;} 
	.page_control .conf,
	.page_control .UD,
	.blc_search { display: block!important;}

	.menu_bg,
	.conf_bg ,
	.search_bg { display: none!important;}

}




@media screen and (-ms-high-contrast:active) {
* {text-indent: 0em !important;}
}




