@charset "UTF-8";

/* =========================================================
　　Fix Layout Entrance
========================================================= */
body {
  font-size: 100%;
}
#container {
  position: relative;
  overflow-x: hidden;
}
.backgroundContainer {
  display: flex;
}
#keyvisual .slick-control {
  display: none;
}
@media only screen and (min-width: 1160px), print {
  #container {
    display: flex;
    flex-wrap: wrap;
    min-height: 100vh;
    overflow-y: hidden;
  }
  .backgroundContainer {
    position: relative;
  }
  #keyvisual {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    max-width: 100%;
    margin: 0;
    visibility: hidden;
  }
  #keyvisual * {
    width: 100%;
    height: 100%;
  }
  #keyvisual .slide {
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
  }
  #keyvisual img {
    display: none;
  }
  #pageHeader {
    position: relative;
    align-items: flex-start;
    flex-basis: 260px;
    z-index: 1000;
  }
  #row {
    position: relative;
    flex-basis: calc(100vw - 260px);
    height: 100vh;
    min-height: 605px;
    padding-bottom: 80px;
    z-index: 1000;
  }
  .recent #row {
    min-height: 945px;
  }
  #content {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    height: 100%;
    padding: 20px;
  }
  #pageFooter {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 80px;
    z-index: 1100;
  }
}
@media only screen and (max-width: 1160px) {
  .backgroundContainer {
    flex-wrap: wrap;
  }
  #keyvisual {
    max-width: 100vw;
    margin-bottom: 10px;
  }
  #keyvisual .slide {
    background: none !important;
    text-align: center;
  }
  #keyvisual img {
    display: inline-block;
    width: auto;
    max-height: 380px;
  }
}

/* =========================================================
  Piece
========================================================= */
/* entranceHeader
----------------------------------------------- */
#pageHeader {
  display: block;
  text-align: center;
}
#entranceHeader li {
  margin: 0 auto;
}
#entranceHeader li a {
  display: block;
  line-height: 50px;
  border-radius: 8px;
  color: #fff;
  font-size: 130%;
  text-decoration: none;
  overflow: hidden;
}
#entranceHeader li.corona a {
  background-color: #c10000;
}
#entranceHeader li.emergency a {
  background-color: #cc4000;
}
#entranceHeader li.prevention a {
  background-color: #cc4000;
}
#entranceHeader li.fukko a {
  /*background-color: #b8860b;*/  /* 3.25 */
  background-color: #9f6d01;  /* 4.5 */
}
#entranceHeader li.toppage a {
  background-color: #4169e1;
}
#entranceHeader li.gyoseijimu a {
  line-height: 1.2;
  height: 50px;
  padding: 9px 2px 0;
  background-color: #34675C;
}
#entranceHeader li.engan-gomi a {
  line-height: 1.2;
  height: 50px;
  padding: 9px 2px 0;
  background-color: #486B00;
}
@media only screen and (min-width: 1160px), print {
  #pageHeader {
    background-color: rgba(0,0,0,0.4);
  }
  #entranceHeader h1 a {
    display: block;
    line-height: 130px;
    padding: 0 30px;
    background-color: #fff;
    text-align: center;
  }
  #entranceHeader ul {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 30px 30px 0;
  }
  #entranceHeader li {
    margin: 0 0 10px;
    flex-basis: 95px;
  }
  #entranceHeader li.toppage,
  #entranceHeader li.corona {
    flex-basis: 200px;
  }
  #entranceHeader li a {
    font-size: 90%;
  }
  #entranceHeader li a:hover,
  #entranceHeader li a:focus {
    opacity: 0.9;
  }
}
@media only screen and (max-width: 1160px) {
  #pageHeader {
    display: flex;
    flex-basis: 100%;
  }
  #entranceHeader .pieceBody {
    display: flex;
    align-items: flex-start;
    padding: 10px 10px 0;
  }
  #entranceHeader h1 {
    margin-right: 10px;
  }
  #entranceHeader h1 a {
    display: inline-block;
    width: 140px;
  }
  #entranceHeader h1 a img {
    max-height: 42px;
    filter: drop-shadow(0 0 10px rgba(255,255,255,0.9));
  }
  #entranceHeader ul {
    display: flex;
    flex-wrap: wrap;
    margin-left: auto;
  }
  #entranceHeader li {
    flex-basis: calc(33% - 10px);
    margin: 0 6px 6px 0;
  }
  #entranceHeader li:last-child {
    margin-right: 0;
  }
  #entranceHeader li a {
    line-height: 1.2;
    padding: 8px 5px;
    font-size: 90%;
    text-align: center;
  }
  #entranceHeader li.gyoseijimu a {
    height: auto;
    padding: 8px 5px;
  }
  #entranceHeader li.engan-gomi a {
    height: auto;
    padding: 8px 5px;
  }
}
@media only screen and (max-width: 640px) {
  #entranceHeader li {
    flex-basis: calc(50% - 10px);
    margin: 0 6px 6px 0;
  }
  #entranceHeader li.toppage,
  #entranceHeader li.corona {
    flex-basis: calc(100% - 14px);
  }
}

/* joruriSearch
----------------------------------------------- */
#joruri-search-box {
  flex-basis: 100%;
}
.criteriaBox .criteriaBasic {
  margin: 0 auto;
}

@media only screen and (min-width: 1160px) {
  .criteriaBox .criteriaBasic {
    min-width: 660px;
  }
}

@media only screen and (max-width: 1160px) {
  .criteriaBox .criteriaBasic {
    width: 600px;
  }
}

@media only screen and (max-width: 600px) {
  .criteriaBox .criteriaBasic {
    width: 100%;
  }
}

/* entranceSearch
----------------------------------------------- */
#entranceSearch {
  flex-basis: 100%;
}
#entranceSearch .pieceHeader {
  position: absolute;
  right: 0;
  top: 0;
}
#entranceSearch .pieceHeader a {
  display: block;
  width: 42px;
  height: 42px;
  background: #0172c0 url("../images/ic-search.svg") no-repeat center center;
  background-size: auto 60%;
  cursor: pointer;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}
#entranceSearch .pieceBody {
  padding: 0 20px;
}
@media only screen and (min-width: 1160px), print {
  #entranceSearch .pieceHeader {
    display: none;
  }
}
@media only screen and (max-width: 1160px) {
  #entranceSearch .pieceBody {
    display: none;
    position: absolute;
    left: 0;
    top: 54px;
    width: 100%;
    height: 58px;
    padding: 0 10px;
    background-color: #fff;
  }
}

/* hometownLink
----------------------------------------------- */
#hometownLink .pieceBody {
  position: relative;
  padding: 0 30px;
}
#hometownLink a {
  display: block;
  border-radius: 8px;
  background-color: rgba(236,233,219,0.9);
  color: #42210b;
  font-size: 130%;
  text-decoration: none;
  overflow: hidden;
}
#hometownLink a div {
  line-height: 1.2;
  padding: 5px;
  font-size: 65%;
  white-space: nowrap;
}
#hometownLink a h2 {
  font-size: 150%;
}
@media only screen and (min-width: 1160px), print {
  #hometownLink .pieceBody::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -300px;
    width: 100%;
    height: 300px;
    background: url("../images/location-map.png") no-repeat center bottom;
    background-size: 80%;
    opacity: 0.75;
  }
}
@media only screen and (max-width: 1160px) {
  .backgroundContainer {
    position: relative;
    padding-bottom: 136px;
  }
  #hometownLink {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
  }
  #hometownLink .pieceBody {
    padding: 0 10px;
  }
  #hometownLink a {
    display: inline-block;
    padding: 0 0 10px;
  }
  #hometownLink a div {
    padding: 10px 0 0;
  }
}

@media only screen and (min-width: 1160px), print {
  #emergencyDocs {
      min-width: 660px;
  }
}
@media only screen and (max-width: 1160px) {
  #emergencyDocs {
    margin: 0 auto 20px;
  }
}

@media only screen and (max-width: 960px) {
  #emergencyDocs {
    margin: 0 10px;
  }
}

/* entranceNavi
----------------------------------------------- */
#entranceNavi ul {
  display: flex;
}
#entranceNavi li a {
  display: block;
  border: 4px solid transparent;
  background-color: #fff;
  color: #333;
  font-weight: 500;
  text-decoration: none;
}
#entranceNavi .tourism a,
#entranceNavi .tourism h2 {
  border-color: #009245;
}
#entranceNavi .life a,
#entranceNavi .life h2 {
  border-color: #0172c0;
}
#entranceNavi .business a,
#entranceNavi .business h2 {
  border-color: #e385b6;
}
#entranceNavi .child-rearing a,
#entranceNavi .child-rearing h2 {
  border-color: #fc9485;
}
#entranceNavi .move a,
#entranceNavi .move h2 {
  border-color: #b377c7;
}
#entranceNavi .administration a,
#entranceNavi .administration h2 {
  border-color: #f7b51e;
}
#entranceNavi .decidim h2,
#entranceNavi .inquiry-form h2 {
  line-height: 1.4;
  padding: 0 0 5px;
  border-color: #fff;
}
#entranceNavi .decidim a,
#entranceNavi .inquiry-form a {
  background-color: #4467D2;
  color: #fff;
}

@media only screen and (min-width: 1160px), print {
  #entranceNavi {
    flex-basis: 100%;
  }
  #entranceNavi .pieceBody {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-end;
  }
  #entranceNavi .pieceBody > div {
    flex-basis: 100%;
  }
  #entranceNavi ul {
    flex-wrap: wrap;
    justify-content: center;
  }
  #entranceNavi li {
    margin-top: 15px;
  }
  #entranceNavi li:not(:first-child) {
    margin-left: 15px;
  }
  #entranceNavi li a {
    width: 200px;
    height: 200px;
    padding: 20px;
    border-radius: 50%;
    box-shadow: 0 0 10px rgb(0,0,0,0.5);
    text-align: center;
  }
  #entranceNavi li a:hover,
  #entranceNavi li a:focus {
    background-color: rgba(255,255,255,0.9);
  }
  #entranceNavi .inquiry-form a:hover,
  #entranceNavi .inquiry-form a:focus,
  #entranceNavi .decidim a:hover,
  #entranceNavi .decidim a:focus {
    background-color: rgba(68,103,210,0.9);
  }
  #entranceNavi li h2 {
    margin-bottom: 10px;
    padding: 20px 0 10px;
    font-size: 130%;
    border-bottom: 1px solid transparent;
  }
  #entranceNavi li p {
    font-size: 90%;
  }
  #entranceNavi #___gcse_0 {
    width: 100%;
    min-height: 48px;
  }
  .cse .gsc-search-button-v2,
  .gsc-search-button-v2 {
    width: 100px !important;
    padding: 0 !important;
  }
  .gsc-input-box,
  table.gsc-search-box td {
    height: 48px !important;
  }
}
@media only screen and (min-width: 1160px) and (max-width: 1220px) {
  #entranceNavi #___gcse_0 {
    width: calc(100vw - 300px);
  }
}
@media only screen and (max-width: 1160px) {
  #entranceNavi #___gcse_0 {
    padding: 20px 20px 0;
  }
  #entranceNavi ul {
    flex-wrap: wrap;
    padding: 20px 10px;
  }
  #entranceNavi li {
    flex-basis: 100%;
  }
  #entranceNavi li:not(:last-child) {
    margin-bottom: 15px;
  }
  #entranceNavi li a {
    display: flex;
    align-items: center;
    border-radius: 10px;
    box-shadow: 0 0 5px rgb(0,0,0,0.5);
  }
  #entranceNavi li h2,
  #entranceNavi li p {
    margin: 20px 0;
    padding: 0 15px;
  }
  #entranceNavi li h2 {
    flex-basis: 10rem;
    border-right: 1px solid transparent;
    color: #333;
    text-align: left;
    white-space: nowrap;
  }
  #entranceNavi li p {
    flex-basis: calc(100% - 10rem);
  }
  #entranceNavi .tourism h2 {
    border-color: #009245;
  }
  #entranceNavi .life h2 {
    border-color: #0172c0;
  }
  #entranceNavi .business h2 {
    border-color: #e385b6;
  }
  #entranceNavi .child-rearing h2 {
    border-color: #fc9485;
  }
  #entranceNavi .move h2 {
    border-color: #b377c7;
  }
  #entranceNavi .administration h2 {
    border-color: #f7b51e;
  }
  #entranceNavi .decidim h2,
  #entranceNavi .inquiry-form h2 {
    line-height: 1.4;
    padding: 0 0 5px;
    border-color: #fff;
    color: #fff;
  }
  #entranceNavi .decidim a,
  #entranceNavi .inquiry-form a {
    background-color: #4467D2;
    color: #fff;
  }

  .cse .gsc-search-button-v2,
  .gsc-search-button-v2,
  .gsc-input-box,
  table.gsc-search-box td {
    height: 48px !important;
    padding-top: 0 !important;
  }
}

/* commonFooter
----------------------------------------------- */
#commonFooter .pieceBody {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  max-width: 100%;
  padding: 15px 10px;
}
#commonFooter .address {
  padding: 0;
  background: none;
}
@media only screen and (max-width: 1160px) {
  #pageFooter {
    margin-top: 10px;
  }
  #commonFooter .pieceBody {
    flex-wrap: wrap;
  }
  #commonFooter ul {
    flex-wrap: nowrap;
  }
  #commonFooter li {
    margin: 0 5px 5px 0;
  }
  #commonFooter li:first-child {
    flex-basis: auto;
  }
  #commonFooter .pieceBody > p {
    flex-basis: 100%;
    padding-top: 5px;
  }
  #commonFooter small {
    font-size: 100%;
  }
}
@media only screen and (max-width: 480px) {
  #commonFooter ul {
    flex-wrap: wrap;
  }
  #commonFooter li:first-child {
    flex-basis: 100%;
  }
  #commonFooter li:not(:first-child) {
    flex-basis: calc(33.33% - 3.33px);
  }
  #commonFooter li:last-child {
    margin-right: 0;
  }
  #commonFooter a {
    display: block;
    padding: 0 5px;
    white-space: nowrap;
    text-align: center;
  }
}