@charset "UTF-8";
body {
  color: #222;
}

a,
a:link,
button {
  color: #008250;
  text-decoration: underline;
}

a:hover,
button:hover {
  text-decoration: none;
  transition: all 0.3s;
  cursor: pointer;
  color: #d23250;
}

#no_script {
  position: relative;
  width: 100%;
  background: #f00;
  color: #fff;
  text-align: center;
  padding: 5px 10px;
  margin: 0;
  font-size: 14px;
  z-index: 100;
}

/* sp */
.sp_only {
  display: none !important;
}

/* structure
====================================================================================================================================== */
html,
body {
  width: 100%;
}

html {
  height: 100%;
}

body {
  overflow-y: scroll;
  overflow-x: hidden;
  min-width: 1200px;
}

#container {
  width: 100%;
  line-height: 2em;
  overflow: hidden;
}

.wrapper {
  margin: 0 auto;
  width: 1020px;
  overflow: hidden;
}

.wrapper:after {
  content: "";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}

img.blue, input.blue, img.black, input.black {
  display: none !important;
}

img.white, input.white {
  display: inline !important;
}

/* 中ページ
====================================================================================================================================== */
.page_title_wrap {
  background: linear-gradient(to bottom, #d2e6d9 0%, #ffffff 100%);
}

.page_title_wrap .wrapper {
  padding-bottom: 1.5em;
}

.subtop .page_title_wrap .wrapper {
  min-height: 175px;
  position: relative;
}

.subtop .page_title_wrap .wrapper .icon_image {
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 0;
  width: 260px;
}

.subtop .page_title_wrap .wrapper .icon_image img {
  width: 100%;
  height: auto;
}

.subtop .page_title_wrap .page_title {
  position: relative;
  z-index: 1;
}

.subtop .page_title_wrap .comment_text {
  position: relative;
  z-index: 1;
}

.page_title_wrap .comment_text, .page_title_wrap .comment_text p {
  color: #333;
  margin-bottom: 0;
}

#navibar {
  padding-top: 1em;
  margin-bottom: 1em;
}

#navibar p {
  font-size: 0.875em;
  text-align: left;
  margin-bottom: 0;
}

/* header
====================================================================================================================================== */
#header .wrapper {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
  overflow: visible;
}

#header .wrapper:after {
  display: none;
}

#site_title {
  margin-bottom: 0;
  padding-top: 25px;
  margin-left: -5px;
}

#site_title a:hover {
  opacity: 0.7;
}

#sp_menu_back {
  display: none;
}

.sp_menu_button {
  display: none;
}

.menu_wrapper {
  margin-bottom: 24px;
}

#header_menu {
  margin-bottom: 23px;
}

#header_menu .menu_inner {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-end;
}

#search_menu .menu_inner {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-end;
  align-items: center;
}

#search_menu .search_title {
  font-size: 0.9375em;
  background: url(../images/icon_doublearrow_r.png) no-repeat right center;
  padding-right: 28px;
  margin: 0;
  white-space: nowrap;
}

.sns_box {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
}

.sns_box li img {
  vertical-align: top;
}

.sns_box li:hover {
  opacity: 0.7;
}

.sns_box li + li {
  margin-left: 3px;
}

/* 文字大きさ、背景色変更
====================================================================================================================================== */
.text_property_box {
  margin-left: 20px;
  font-size: 15px;
  height: 34px;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
}

/*-- 文字サイズ --*/
#textsize,
#bg_color {
  height: 100%;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
}

#textsize li,
#bg_color li {
  display: block;
  height: 100%;
}

#textsize li a,
#bg_color li a {
  display: block;
  height: 100%;
  line-height: 34px;
  background: #fff;
  border: 1px solid #bcbcb3;
  border-top: none;
  border-radius: 0 0 5px 5px;
  text-align: center;
  font-weight: bold;
  padding: 0 8px;
  text-decoration: none;
  color: #222;
  font-size: 1em;
}

#textsize li + li,
#bg_color li + li {
  margin-left: 3px;
}

#textsize .title,
#bg_color .title {
  padding-right: 8px;
  line-height: 34px;
}

#textsize .small a:hover, #textsize .small_on a, #textsize .middle a:hover, #textsize .middle_on a, #textsize .large a:hover, #textsize .large_on a,
#bg_color .small a:hover,
#bg_color .small_on a,
#bg_color .middle a:hover,
#bg_color .middle_on a,
#bg_color .large a:hover,
#bg_color .large_on a {
  background: #008250;
  border-color: #008250;
  color: #fff;
}

/*-- 背景色 --*/
#bg_color {
  margin-left: 18px;
}

#bg_color li.standard a {
  background: #fff;
}

#bg_color li.blue a, #bg_color li.blue_on a {
  background: #00f;
  color: #fcee21;
}

#bg_color li.black a, #bg_color li.black_on a {
  background: #000;
  color: #fff;
}

#bg_color li.standard a:hover, #bg_color li.standard_on a:hover {
  background: #ddd;
}

#bg_color li.blue a:hover {
  background: #36f;
}

#bg_color li.black a:hover {
  background: #333;
}

/*--- さがす ---*/
.search_links {
  margin-left: 5px;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-end;
}

.search_links a {
  display: block;
  max-width: 150px;
  background-color: #ecece6;
  background-repeat: no-repeat;
  background-position: left 1em center;
  font-size: 0.9375em;
  font-weight: bold;
  color: #222;
  padding: 0.64em 1em 0.64em 3em;
  line-height: 1.3em;
  border-radius: 1.28em;
  text-decoration: none;
}

.search_links a.link_soshiki {
  background-image: url(../images/icon_soshiki.png);
}

.search_links a.link_sitemap {
  background-image: url(../images/icon_sitemap.png);
}

.search_links a:hover {
  opacity: 0.7;
}

.search_links a + a {
  margin-left: 5px;
}

.search_box {
  margin-left: 10px;
}

.search_box form {
  position: relative;
}

.search_box form .search_form {
  width: 12em;
  height: 38px;
  line-height: 38px;
  border-radius: 19px;
  background-color: #fff;
  border: 2px solid #bcbcb3;
  font-size: 0.9375em;
  color: #222;
  padding: 0 2.8em 0 0.7em;
}

.search_box form .search_form:placeholder-shown {
  color: #222;
}

.search_box form .search_form::-webkit-input-placeholder {
  color: #222;
}

.search_box form .search_form:-moz-placeholder {
  color: #222;
  opacity: 1;
}

.search_box form .search_form::-moz-placeholder {
  color: #222;
  opacity: 1;
}

.search_box form .search_form:-ms-input-placeholder {
  color: #222;
}

.search_box form .search_btn {
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  width: 41px;
  background-image: url(../images/icon_search.jpg);
  background-repeat: no-repeat;
  background-position: right center;
  background-size: contain;
  border: none;
  color: transparent;
}

.search_box form .search_btn:hover {
  opacity: 0.8;
}

/* globalnavi
====================================================================================================================================== */
#globalnavi {
  background: url(../images/bg_stripe.jpg) repeat center top;
  padding: 1em 0 1.5em;
  position: relative;
  border-bottom: 8px solid #008250;
}

#globalnavi:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 8px;
  background: url(../images/wave_top.png) repeat-x center top;
}

#globalnavi ul.nav_list {
  margin-bottom: 0;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
  overflow: visible;
}

#globalnavi ul.nav_list:after {
  display: none;
}

#globalnavi ul.nav_list li {
  margin-bottom: 0 !important;
}

#globalnavi ul.nav_list li:nth-child(-n+4), #globalnavi ul.nav_list li:nth-child(n+5) {
  width: 140px;
}

#globalnavi ul.nav_list li a {
  background-color: transparent;
  border-radius: 0;
  box-shadow: none;
  overflow: visible;
}

#globalnavi ul.nav_list li a:hover {
  transform: translate(0, 3px);
  background-color: transparent;
}

#globalnavi ul.nav_list li a:hover > span:last-child {
  box-shadow: 3px 3px 0 #005e33 inset;
}

#globalnavi ul.nav_list li a > span:first-child {
  padding: 0;
}

#globalnavi ul.nav_list li a > span:last-child {
  height: 3.5em;
  border-radius: 6px;
  box-shadow: 0 3px 0 rgba(188, 188, 179, 0.5);
}

#globalnavi ul.nav_list.type02 li:nth-child(-n+4), #globalnavi ul.nav_list.type02 li:nth-child(n+5) {
  width: 12%;
}

#globalnavi ul.nav_list.type02 li a > span:last-child {
  font-size: 1em;
}

/* contents
====================================================================================================================================== */
#conts {
  width: 100%;
}

#conts.in {
  padding: 0 0 4em;
}

#conts.in #articles_wrap {
  padding-top: 0;
}

#conts .wrapper {
  overflow: visible;
}

#conts .wrapper:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}

#articles_wrap {
  padding: 2.5em 0 1.5em;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
}

#articles_wrap #main_articles {
  width: 710px;
}

#articles_wrap aside {
  width: 260px;
}

#side_nav {
  margin-bottom: 1.5em;
  border-radius: 6px;
  border: 2px solid #008250;
}

#side_nav .big_category_name {
  background-color: #008250;
  margin: 0;
}

#side_nav .big_category_name a {
  font-size: 1.25em;
  font-weight: bold;
  text-align: center;
  color: #fff;
  line-height: 1.3em;
  color: #fff;
  text-decoration: none;
  padding: 0.6em 0.5em;
  min-height: 3.3em;
  display: flex;
  justify-content: center;
  align-items: center;
}

#side_nav .big_category_name a:hover {
  opacity: 0.7;
  text-decoration: underline;
}

#side_nav ul {
  margin: 0;
  padding: 0 15px 5px !important;
}

#side_nav ul li {
  margin: 0;
  border-bottom: 2px dotted #bcbcb3;
}

#side_nav ul li:last-child {
  border-bottom: none;
}

#side_nav ul li a {
  display: block;
  text-decoration: none;
  color: #222;
  font-size: 1.125em;
  font-weight: bold;
  background: url(../images/icon_arrow_green_r.png) no-repeat left 7px center;
  padding: 0.95em 0.5em 0.95em 1.6em;
}

#side_nav ul li a:hover {
  opacity: 0.7;
  background-position: left 10px center;
}

#side_nav.top {
  position: relative;
  z-index: 1;
  background-color: #008250;
  padding: 7px 15px;
}

#side_nav.top ul {
  margin: 0;
  padding: 0 !important;
}

#side_nav.top ul li {
  margin: 0;
  border-bottom: 2px dotted #fff;
}

#side_nav.top ul li:last-child {
  border-bottom: none;
}

#side_nav.top ul li a {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  color: #fff;
  text-decoration: none;
  font-size: 1.125em;
  font-weight: bold;
  line-height: 1.4em;
  padding: 0;
  padding-left: 2.5em;
  height: 3.6em;
  background-repeat: no-repeat;
  background-position: left center;
}

#side_nav.top ul li a:hover {
  opacity: 0.7;
}

#side_nav.top ul li a.calendar {
  background-image: url(../images/icon_side_calendar.png);
}

#side_nav.top ul li a.disaster_radio {
  background-image: url(../images/icon_side_disasterradio.png);
}

#side_nav.top ul li a.reserve {
  background-image: url(../images/icon_side_reserve.png);
}

#side_nav.top ul li a.download {
  background-image: url(../images/icon_side_download.png);
}

#side_nav.top ul li a.subsidy {
  background-image: url(../images/icon_side_subsidy.png);
}

#side_nav.top ul li a.shinsei {
  background-image: url(../images/icon_side_shinsei.png);
}

#side_nav.top ul li a.rule {
  background-image: url(../images/icon_side_rule.png);
}

.side_button {
  margin-bottom: 1.8em;
}

.side_button a {
  display: block;
  margin: 5px;
  box-shadow: 0 0 0 4px #fff, 0 0 0 5px #bcbcb3;
  background-color: #d3edf0;
  background-repeat: no-repeat;
  background-position: right center;
  background-size: contain;
  text-decoration: none;
  font-size: 1.25em;
  color: #222;
  line-height: 1;
}

.side_button a:hover {
  opacity: 0.7;
}

.side_button a:hover span {
  background-position: left 16px center;
}

.side_button a.soncho {
  background-image: url(../images/icon_side_soncho.png);
}

.side_button a.trash {
  background-image: url(../images/icon_side_trash.png);
}

.side_button a.immigration {
  background-image: url(../images/icon_side_immigration.png);
}

.side_button a.furusato_tax {
  background-image: url(../images/icon_side_furusatotax.png);
}

.side_button a.recruit {
  background-image: url(../images/icon_side_recruit.png);
}

.side_button a span {
  display: block;
  background-image: url(../images/icon_arrow_gray_r.png);
  background-repeat: no-repeat;
  background-position: left 13px center;
  padding: 1.75em 0 1.75em 1.6em;
  transition: .3s;
}

#slider_nav_area {
  background: url(../images/bg_stripe.jpg) repeat center top;
  padding: 3.5em 0 2.5em;
  position: relative;
}

#slider_nav_area:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 8px;
  background: url(../images/wave_top.png) repeat-x center top;
}

#slider_nav_area:after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 8px;
  background: url(../images/wave_bottom.png) repeat-x center bottom;
}

#slider_nav_area .wrapper {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: flex-start;
  position: relative;
}

#slider_nav_area .wrapper .illst_flare {
  position: absolute;
  bottom: -140px;
  left: -112px;
  z-index: 1;
}

#slider_nav_area .wrapper .illst_grass {
  position: absolute;
  bottom: -90px;
  right: -180px;
  z-index: 1;
}

#slider_nav_area .wrapper #main_slider {
  width: 510px;
  position: relative;
  z-index: 10;
}

#slider_nav_area .wrapper .nav_list {
  width: 485px;
  margin-right: -10px;
  position: relative;
  z-index: 10;
}

#slider_nav_area .wrapper:after {
  display: none;
}

#main_slider {
  position: relative;
  background-color: #fff;
  border-radius: 3px;
  padding: 6px;
}

#main_slider .en_title {
  position: absolute;
  top: -20px;
  left: 50%;
  transform: translateX(-50%);
  margin: 0;
  z-index: 60;
}

#conts .nav_list {
  margin-bottom: 0;
}

#conts .nav_list li {
  margin-bottom: 0.5em;
  padding: 0;
}

#conts .nav_list li:before {
  display: none;
}

.nav_list {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
}

.nav_list li {
  margin-bottom: 0.6em !important;
}

.nav_list li:nth-child(-n+4) {
  width: 23.5%;
}

.nav_list li:nth-child(n+5) {
  width: 32%;
}

.nav_list li a {
  display: block;
  background-color: #fff;
  border-radius: 5px;
  text-align: center;
  text-decoration: none;
  height: 100%;
  overflow: hidden;
  box-shadow: 3px 3px 0 rgba(188, 188, 179, 0.5);
}

.nav_list li a:hover {
  transform: translate(3px, 3px);
  box-shadow: -3px -3px 0 rgba(0, 0, 0, 0.08);
  background-color: #eee;
}

.nav_list li a:hover > span:last-child {
  background-color: #006e3c;
  background-position: right 3px center;
}

.nav_list li a > span {
  display: block;
}

.nav_list li a > span:first-child {
  padding: 7.5% 0;
}

.nav_list li a > span:last-child {
  transition: .3s;
  font-size: 1.0625em;
  font-weight: bold;
  color: #fff;
  line-height: 1.3em;
  height: 3em;
  padding-right: 0.5em;
  background: #008250 url(../images/icon_arrow_white_r.png) no-repeat right 6px center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.nav_list li a > span:last-child .smaller {
  font-size: 0.8em;
  font-weight: normal;
  line-height: 1.5em;
}

.nav_list.type02 li:nth-child(-n+4), .nav_list.type02 li:nth-child(n+5) {
  width: 23.5%;
}

.nav_list.type02 li > a .link_text {
  background-position: right 4px center;
  background-size: 8px auto;
  padding-right: 7px;
  font-size: 0.875em;
}

.nav_list.type02 li > a:hover .link_text {
  background-position: right 1px center;
}

#info_tab {
  position: relative;
  z-index: 1;
  margin-bottom: 5.5em;
}

#info_tab .tab {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: slex-start;
  border-bottom: 3px solid #008d5e;
  margin-bottom: 2.2em;
}

#info_tab .tab li {
  margin-left: 6px;
  margin-bottom: 0;
  position: relative;
  top: 3px;
}

#info_tab .tab li a {
  line-height: 1;
  border-radius: 6px 6px 0 0;
  background-color: #ecece6;
  border: 3px solid #ecece6;
  border-bottom: none;
  min-width: 8.7em;
  padding: 0.8em 1em !important;
  font-size: 1.0625em;
  font-weight: bold;
  text-align: center;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  color: #222;
}

#info_tab .tab li a:before {
  display: block;
  content: "";
  position: absolute;
  bottom: 0;
  left: -3px;
  height: 3px;
  width: calc(100% + 6px);
  background-color: #008d5e;
}

#info_tab .tab li.select a, #info_tab .tab li:hover a {
  border-color: #008d5e;
  border-bottom: none;
  background-color: #fff;
  position: relative;
}

#info_tab .tab li.select a:before, #info_tab .tab li:hover a:before {
  display: none;
}

#info_tab .tab_bottom {
  text-align: right;
  letter-spacing: -.4em;
}

#info_tab .tab_bottom a {
  text-align: left;
}

#info_tab .tab_bottom a + a {
  margin-left: 0.6em;
}

#info_tab .tab_bottom a.button_rss {
  background-image: url(../images/icon_rss.png);
  background-position: left 20px center;
  padding-left: 3em;
}

h2.title_top {
  background: none;
  padding: 0;
  text-indent: 0;
  color: #222;
  text-align: center;
  font-size: 2.2em;
  font-weight: bold;
  letter-spacing: 0.08em;
  margin-bottom: 0.9em;
}

h2.title_top .smaller {
  font-size: 0.75em;
  vertical-align: bottom;
}

h2.title_top:before {
  display: none;
}

#life_event {
  position: relative;
  border: 3px solid #008d5e;
  border-radius: 6px;
  padding: 2em 1.65em 1em;
  margin-bottom: 2em;
}

#life_event .en_title {
  position: absolute;
  top: -14px;
  left: 50%;
  transform: translateX(-50%);
}

#life_event h2.title_top {
  margin-bottom: 0.6em;
}

#life_event ul {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 0 !important;
}

#life_event ul li {
  width: 23.3%;
}

#life_event ul li a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background-color: #008250;
  border-radius: 6px;
  padding: 0.6em 0 0.9em;
}

#life_event ul li a span {
  line-height: 1;
}

#life_event ul li a span:first-child {
  margin-bottom: 0.45em;
}

#life_event ul li a span:last-child {
  color: #fff;
  font-size: 1.125em;
  font-weight: bold;
}

#life_event ul li a:hover {
  opacity: 0.7;
}

.subtop #life_event {
  margin-bottom: 4em;
}

.subtop #life_event ul li {
  width: 15.8%;
}

#hiezu_info {
  background: url(../images/bg_pattern.png) repeat center top;
  padding: 2.5em 0 2.5em;
  position: relative;
}

#hiezu_info:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 8px;
  background: url(../images/wave_top.png) repeat-x center top;
}

#hiezu_info:after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 8px;
  background: url(../images/wave_bottom.png) repeat-x center bottom;
}

#hiezu_info .wrapper:after {
  display: none;
}

#hiezu_info .wrapper > ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}

#hiezu_info .wrapper > ul > li {
  margin-bottom: 0;
}

#hiezu_info h2 {
  position: relative;
  z-index: 1;
}

#hiezu_info .illst_flare {
  position: absolute;
  top: -12px;
  left: 50%;
  z-index: 0;
  transform: translateX(-50%);
}

#hiezu_info .info_box {
  background-color: #fff;
  border-radius: 6px;
  padding: 1.3em 1em 1.3em;
  height: 100%;
}

#hiezu_info .info_box h3 {
  font-size: 1.375em;
  border-bottom: 2px dotted #333;
  padding-bottom: 0.4em;
}

#hiezu_info .info_box h3 span {
  display: block;
  padding-left: 1.7em;
  background-repeat: no-repeat;
  background-position: left center;
}

#hiezu_info .info_box .inner {
  padding: 0 6px;
}

#hiezu_info .info_box.instagram {
  background-color: #d23250;
}

#hiezu_info .info_box.instagram .title_area {
  position: relative;
}

#hiezu_info .info_box.instagram a.insta_link {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  color: #fff;
  font-size: 0.9625em;
  text-decoration: none;
  background: url(../images/icon_arrow_white_r.png) no-repeat right center;
  padding-right: 1.3em;
}

#hiezu_info .info_box.instagram a.insta_link:hover {
  opacity: 0.7;
}

#hiezu_info .info_box.instagram h3 {
  color: #fff;
  border-color: #fff;
}

#hiezu_info .info_box.instagram h3 span {
  background-image: url(../images/icon_instagram.png);
}

#hiezu_info .info_box.instagram ul.instagram_box {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4px;
  margin-bottom: 0;
}

#hiezu_info .info_box.instagram ul.instagram_box li {
  margin-bottom: 0;
}

#hiezu_info .info_box.instagram ul.instagram_box li a {
  display: block;
  aspect-ratio: 1;
}

#hiezu_info .info_box.instagram ul.instagram_box li img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#hiezu_info .info_box.publicity h3 {
  margin-bottom: 1em;
}

#hiezu_info .info_box.publicity h3 span {
  background-image: url(../images/icon_publicinfo.png);
}

#hiezu_info .info_box.publicity .inner {
  text-align: center;
}

#hiezu_info .info_box.publicity figure {
  margin-bottom: 1.5em;
}

#hiezu_info .info_box.publicity .publicity_image {
  text-align: center;
  margin-bottom: 1em;
}

#hiezu_info .info_box.publicity .publicity_image a img {
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
}

#hiezu_info .info_box.publicity .publicity_image a:hover {
  opacity: 0.7;
}

#hiezu_info .info_box.publicity figcaption {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
}

#hiezu_info .info_box.publicity .button_green {
  letter-spacing: 0.08em;
}

#hiezu_info .info_box.publicity .link_backnumber {
  font-size: 1.0625em;
  font-weight: bold;
  color: #222;
  text-decoration: none;
  line-height: 1;
  padding-left: 1.1em;
  margin-bottom: 0.4em;
  background: url(../images/icon_arrow_green_r.png) no-repeat left top;
}

#hiezu_info .info_box.publicity .link_backnumber:hover {
  opacity: 0.7;
  background-position: left 3px top;
}

#hiezu_info .info_box.population h3 span {
  background-image: url(../images/icon_people.png);
}

#hiezu_info .info_box.population table {
  margin-bottom: 0.5em;
}

#hiezu_info .info_box.population table caption {
  display: none;
}

#hiezu_info .info_box.population table th, #hiezu_info .info_box.population table td {
  font-size: 0.9375em;
  font-weight: normal;
  line-height: 1.3;
}

#hiezu_info .info_box.population table th strong, #hiezu_info .info_box.population table td strong {
  font-size: 1.125em;
}

#hiezu_info .info_box.population table thead th {
  text-align: center;
}

#hiezu_info .info_box.population table thead th:nth-child(1) {
  width: 30%;
}

#hiezu_info .info_box.population table thead th:nth-child(2) {
  width: 38%;
}

#hiezu_info .info_box.population table thead th:nth-child(3) {
  width: 32%;
}

#hiezu_info .info_box.population table tbody tr td:nth-child(1) {
  text-align: right;
}

#hiezu_info .info_box.population table tbody tr td:nth-child(2) {
  text-align: right;
  padding-right: 9%;
}

#hiezu_info .info_box.population table tbody tr td:nth-child(3) {
  text-align: center;
}

#hiezu_info .info_box.population table + p {
  font-size: 1em;
  font-weight: bold;
  text-align: center;
  color: #d23250;
  margin-bottom: 0;
}

@media (hover: hover) {
  #hiezu_info .info_box.instagram ul.instagram_box li a:hover {
    opacity: 0.7;
  }
}

/* banner
====================================================================================================================================== */
#banner_slide {
  padding: 2.5em 0 0;
}

#banner_slide h2 {
  background: none;
  padding: 0;
  margin-bottom: 0.6em;
  text-indent: 0;
  position: relative;
}

#banner_slide h2:before {
  display: block;
  position: absolute;
  left: 0;
  top: 50%;
  z-index: 1;
  width: 100%;
  height: 1px;
  border-top: 3px dotted #333;
}

#banner_slide h2 span {
  position: relative;
  z-index: 2;
  background-color: #fff;
  color: #222;
}

#banner_slide h2 span:first-child {
  font-size: 1.0625em;
}

#banner_slide h2 span:last-child {
  font-size: 0.7em;
  font-weight: normal;
  padding: 0 1em;
}

#banner_slide ul li a:hover {
  opacity: 0.7;
}

/* footer
====================================================================================================================================== */
#footer #pagetop {
  text-align: right;
  padding-top: 35px;
  line-height: 1;
  position: relative;
  z-index: 1;
}

#footer #pagetop p {
  cursor: pointer;
  display: inline-block;
  margin-bottom: 0;
  font-size: 1em;
  font-weight: bold;
  padding-left: 1.8em;
  line-height: 1;
  background: url(../images/icon_arrow_gray_up.png) no-repeat left top;
  transition: .3s;
}

#footer #pagetop p:hover {
  opacity: 0.7;
}

#footer .footer_illst {
  margin-top: -65px;
}

#footer .footer_illst img {
  width: 100%;
}

#footer .footer_bottom {
  margin-top: -20px;
  padding: 2em 0 2em;
  background: url(../images/bg_stripe.jpg) repeat left center;
}

#footer .footer_bottom .wrapper {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
  flex-direction: row-reverse;
}

#footer .footer_bottom .wrapper:after {
  display: none;
}

#footer .info_area {
  width: 700px;
  padding-top: 25px;
}

#footer .footer_info {
  border-radius: 6px;
  background-color: #fff;
  margin-bottom: 2em;
  padding: 2em 1.6em;
}

#footer .footer_info .facility_name {
  font-size: 1.275em;
  font-weight: bold;
  line-height: 1;
  margin-bottom: 0.5em;
}

#footer .footer_info address, #footer .footer_info p {
  font-size: 1.0625em;
  line-height: 1.9em;
  margin-bottom: 0;
}

#footer .footer_info address br, #footer .footer_info p br {
  display: none;
}

#footer .footer_info .tel {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
}

#footer .footer_info .tel p {
  margin-right: 1.7em;
}

#footer .footer_info .tel .larger {
  font-size: 1.6em;
  font-weight: bold;
}

#footer .footer_info .buttons_area {
  margin-top: 1.5em;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
}

#footer .footer_info .buttons_area a {
  width: 20%;
}

#footer .footer_info .buttons_area a:last-child {
  width: 35.55%;
}

#footer .footer_links {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
}

#footer .footer_links li {
  line-height: 1;
  border-right: 1px solid #424944;
}

#footer .footer_links li:first-child a {
  padding-left: 0;
}

#footer .footer_links li:last-child {
  border-right: none;
}

#footer .footer_links li a {
  font-size: 0.9375em;
  text-decoration: none;
  color: #222;
  padding: 0 1em;
}

#footer .footer_links li a:hover {
  color: #d23250;
  text-decoration: underline;
}

#footer .map_area {
  width: 290px;
}

#footer .map_area p {
  margin-bottom: 0.5em;
}

#footer .map_area p img {
  width: 100%;
}

#footer small {
  display: block;
  text-align: right;
  font-size: 0.8125em;
  line-height: 1;
}

/* side_fixed_box
====================================================================================================================================== */
.top_page {
  display: block;
  position: fixed;
  right: 7px;
  bottom: 15px;
  z-index: 9999;
}

.top_page:hover {
  opacity: 0.8;
}

/* サブトップ
====================================================================================================================================== */
.sub_list .sub_list_box {
  float: left;
  width: 31%;
  margin-right: 3.3%;
  margin-bottom: 2.5em;
}

.sub_list .sub_list_box:nth-of-type(3n) {
  margin-right: 0;
}

.sub_list .sub_list_box h3 {
  background-color: #008250;
  background-image: url(../images/icon_arrow_white_r.png);
  background-repeat: no-repeat;
  background-position: left 20px center;
  border-radius: 6px;
  padding: 0.6em 0.3em 0.6em 1.9em;
  color: #fff;
  margin-bottom: 0.8em;
  border: none;
}

.sub_list .sub_list_box h3 a {
  color: #fff;
  text-decoration: none;
}

.sub_list .sub_list_box h3 a:hover {
  opacity: 0.7;
}

.sub_list .sub_list_box ul {
  margin-bottom: 0 !important;
}

.sub_list .sub_list_box ul li {
  margin-bottom: 0.85em !important;
  line-height: 1.6em;
}

.sub_list .sub_list_box ul li a {
  display: block;
  font-size: 1.125em;
  background: url(../images/icon_arrow_green_r.png) no-repeat left top 0.3em;
  padding-left: 1em;
}

/* 緊急情報
====================================================================================================================================== */
#emergency_info {
  padding-top: 1em;
  margin-bottom: 2em;
}

#emergency_info .box_wrap {
  border: 3px solid #d61518;
  border-radius: 5px;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
}

#emergency_info h2 {
  padding: 0;
  margin: 0;
  text-indent: 0;
  width: 5.5em;
  background-color: #d61518;
  color: #fff;
  font-size: 1.875rem;
  font-weight: bold;
  text-align: center;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}

#emergency_info h2 span {
  width: 100%;
  display: block;
  padding-top: 55px;
  background: url(../images/icon_emergency.png) no-repeat center top;
}

#emergency_info h2:before {
  display: none;
}

#emergency_info .list_area {
  width: calc(100% - 5.5em);
  padding: 2em 1.5em 0.8em;
}

#emergency_info .article_list {
  margin-bottom: 1.2em;
}

#emergency_info .article_list li {
  margin-bottom: 1.7em;
}

#emergency_info .article_list li:last-child {
  margin-bottom: 0;
}

#emergency_info .article_list li time {
  width: 8.5em;
}

#emergency_info .article_list li a {
  width: calc(100% - 8.5em);
  color: #a60508;
  font-weight: bold;
}

#emergency_info .show_all {
  text-align: right;
}

#emergency_info .show_all a {
  display: inline-block;
  font-size: 1.275rem;
  font-weight: bold;
  color: #fff;
  background-color: #a60508;
  background-image: url(../images/icon_arrow_white_r.png);
  background-repeat: no-repeat;
  background-position: left 22px center;
  text-decoration: none;
  line-height: 1;
  padding: 0.5em 1.2em 0.5em 2.2em;
  border-radius: 21px;
}

#emergency_info .show_all a:hover {
  opacity: 0.7;
  background-position: left 26px center;
}

/* リニューアルお断り
====================================================================================================================================== */
.maintenance_message {
  padding-top: 1em;
  margin-bottom: 2em;
}

.maintenance_message .box {
  border: 3px solid #d61518;
  border-radius: 5px;
  padding: 1.2em;
}

.maintenance_message .box p {
  margin-bottom: 0;
  text-align: center;
  font-weight: bold;
  line-height: 1.7;
}

/* イベントカレンダー
====================================================================================================================================== */
.cal_box {
  margin-bottom: 2em;
}

.cal_box .month {
  display: block;
  text-align: center;
  position: relative;
  font-size: 2.1em;
  font-weight: bold;
  line-height: 1;
  margin-bottom: 0.7em;
}

.cal_box .month span:first-of-type {
  margin-right: 0.25em;
}

.cal_box .month span:last-of-type {
  font-size: 1.5em;
  margin-left: 0.15em;
}

.cal_box .month .prev, .cal_box .month .next {
  display: block;
  position: absolute;
  font-size: 0.62em;
  font-weight: normal;
  text-decoration: none;
  line-height: 26px;
  bottom: 0;
  background-size: contain;
}

.cal_box .month .prev:hover, .cal_box .month .next:hover {
  opacity: 0.7;
}

.cal_box .month .prev {
  left: 0;
  padding-left: 40px;
  background: url(../images/icon_arrow_green_l_b.png) no-repeat left 10px center;
}

.cal_box .month .next {
  right: 0;
  padding-right: 40px;
  background: url(../images/icon_arrow_green_r_b.png) no-repeat right 10px center;
}

.cal_box .table02 th, .cal_box .table02 td {
  vertical-align: middle;
}

.cal_box .table02 th {
  padding: 0.72em;
  font-size: 1.7em;
  line-height: 1;
  white-space: nowrap;
  color: #333;
}

.cal_box .table02 td {
  padding: 0.7em 5px;
  font-size: 1.125em;
  line-height: 1.5;
  width: 100%;
}

.cal_box .table02 td p {
  font-size: 1em;
}

.cal_box .table02 th span {
  font-size: 0.7em;
  padding: 0 5px;
  font-weight: normal;
}

.cal_box .table02 .sat {
  background-color: #e6f1f7;
}

.cal_box .table02 .sat th {
  color: #007da5;
}

.cal_box .table02 .sun {
  background-color: #fcecef;
}

.cal_box .table02 .sun th {
  color: #ea3b36;
}

.cal_box .table02 .today {
  background-color: #e7f2ed;
}

.cal_box .table02 .today th {
  border-left: 6px solid #008250;
}

/* フォーム画面
====================================================================================================================================== */
form#inputForm {
  text-align: center;
}

form input,
form button {
  font-size: 14px;
}

form button {
  font-size: 18px;
}

form input[type="text"],
form input[type="email"],
form textarea {
  background: #e6e6e6;
  border: solid 2px #e6e6e6;
  color: #333;
  box-shadow: none !important;
  outline: none;
  padding: 13px 18px;
  font-size: 16px;
  font-weight: normal;
  border-radius: 0;
  transition: background-color 0.3s, color 0.3s;
}

form input[type="text"],
form input[type="email"] {
  width: 100%;
}

form textarea {
  width: 100%;
  height: 220px;
  line-height: 1.6;
}

form select {
  -webkit-appearance: button;
  -moz-appearance: button;
  appearance: button;
  width: calc(100% - 2em);
  border: 1px solid #ccc;
  background: #fff url(../images/icon_pulldown.png) no-repeat right center;
  border-radius: 0;
  font-size: 1rem;
  height: 2.9em;
  padding-left: 0.8em;
  padding-right: 0.8em;
}

form .button_area {
  margin-bottom: 2em;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: center;
}

.form_btn {
  display: inline-block;
  width: 300px;
  background: #bbb url(../images/icon_arrow_white_l.png) no-repeat left 20px center;
  background-size: 15px auto;
  padding: 1em 0;
  font-size: 1.125rem;
  font-weight: bold;
  color: #fff;
  line-height: 1.2;
  text-align: center;
  border: 0;
  border-radius: 0;
  cursor: pointer;
}

.form_btn + input.form_btn {
  margin-left: 1em;
}

.form_btn:hover {
  opacity: 0.8;
  color: #fff;
}

input.form_btn.btn_submit,
a.form_btn.go_home {
  background: #64bc41 url(../images/icon_arrow_white_r.png) no-repeat right 20px center;
  background-size: 15px auto;
}

/*confilm*/
.error {
  color: #f33;
  font-weight: normal;
}

.error:before {
  content: "※";
}

/*確認*/
form table {
  margin-bottom: 2em;
}

.form_send h2 {
  margin-top: 1.5em;
  margin-bottom: 1em;
}

form .column02 {
  overflow: hidden;
}

/*form .column02 dt { float:left; width:27%; margin-bottom:0; }
form .column02 dd { float:left; width:73%; }*/
form .form_file_group {
  margin-bottom: 20px;
  overflow: hidden;
}

form .file_list {
  margin-bottom: 10px;
  overflow: hidden;
}

form .form_tit {
  clear: both;
  letter-spacing: 0.2em;
  padding-right: 10px;
}
