@charset "UTF-8";

/* =========================================================
  top
========================================================= */

/* site layout
----------------------------------------------- */
#main,
#content {
  max-width: 100%;
  margin: 0;
  padding: 0;
}

@media only screen and (min-width: 960px), print {
  #pageHeader {
    position: fixed;
    left: 50%;
    transform: translateX(-50%);
    box-shadow: none;
    background: transparent;
  }

  #container:not(.headMenuOpen) #pageHeaderUpper::before,
  #pageNav {
    background: none;
  }
}

/* visualWrapper
----------------------------------------------- */
.visualWrapper {
  display: flex;
  flex-direction: column;
  margin-bottom: 32px;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

.visualWrapper .upper {
  padding-top: 46%;
}

.visualWrapper .upper:has(#emergencyDocs) {
  padding-top: 0;
}

.visualWrapper .lower {
  display: flex;
  align-items: flex-start;
  gap: 15px;
  position: relative;
  width: 100%;
  max-width: 1230px;
  margin: 0 auto;
  padding: 15px 15px 20px;
}

.visualWrapper .lower::before {
  content: "";
  position: absolute;
  width: 100vw;
  top: 0;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  mix-blend-mode: multiply;
  background: #575757;
}

.visualWrapper .lower .piece {
  position: relative;
  color: var(--mono-color-9);
}

@media only screen and (max-width: 767px) {
  .visualWrapper {
    margin-bottom: 10px;
    background: none !important;
  }

  .visualWrapper .upper {
    padding-top: 0;
    background: var(--mono-color-9);
  }

  .visualWrapper .lower {
    flex-direction: column;
    gap: 0;
    padding: 0;
    background: var(--mono-color-9);
  }

  .visualWrapper .lower::before {
    background: #05212d;
  }
}

/* emergencyDocs
----------------------------------------------- */
#emergencyDocs {
  max-width: 1230px;
  margin: min(20%,240px) auto min(22%, 350px);
  padding: 0 15px;
  background: none !important;
}

#emergencyDocs .pieceContainer {
  display: flex;
  border-radius: 16px;
}

#emergencyDocs .pieceHeader {
  flex-shrink: 0;
  flex-basis: 180px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 16px 0 0 16px;
  background: var(--ac-color-red-1);
}

#emergencyDocs .pieceHeader h2 {
  padding: 60px 10px 14px;
  background: url(/_themes/site/images/ic-kinkyu.svg) center 12px no-repeat;
  color: var(--mono-color-9);
  font-weight: 400;
  font-size: 1.125rem;
  text-align: center;
}

#emergencyDocs .pieceBody {
  flex-grow: 1;
  flex-shrink: 1;
  padding: 15px 24px;
  border-left: none;
  border-radius: 0 16px 16px 0;
  background: var(--mono-color-9);
}

#emergencyDocs .pieceBody li {
  display: flex;
  gap: 2px 20px;
  position: relative;
  padding: 15px 0;
  border-bottom: 1px dotted #ccc;
}

#emergencyDocs .pieceBody li a::before {
  content: "";
  position: absolute;
  inset: 0;
  background: none;
}

#emergencyDocs .pieceBody li .update_date {
  flex-shrink: 0;
}

#emergencyDocs .pieceBody .more {
  padding-top: 20px;
  text-align: right;
}

#emergencyDocs .pieceBody .more a {
  padding-right: 20px;
  background: url(/_themes/site/images/arrow-emergency.svg) right center no-repeat;
}

@media only screen and (max-width: 767px) {
  #emergencyDocs {
    margin: 5px 0 20px;
  }

  #emergencyDocs .pieceContainer {
    display: block;
  }

  #emergencyDocs .pieceHeader {
    display: block;
    border-radius: 0;
  }

  #emergencyDocs .pieceHeader h2 {
    padding: 6px 10px 6px 50px;
    background-position: 5px center;
    background-size: 38px auto;
    text-align: left;
  }

  #emergencyDocs .pieceBody {
    padding: 0;
    border: none;
    border-radius: 0;
  }

  #emergencyDocs .pieceBody li {
    flex-direction: column;
    padding: 13px 0;
    line-height: 1.3;
  }

  #emergencyDocs .pieceBody .more {
    padding-top: 15px;
    text-align: right;
  }
}

/* mainVisual
----------------------------------------------- */
#mainVisual .pieceBody {
  max-width: 1230px;
  margin: 0 auto;
  padding: 10px 15px;
  text-align: right;
}

#mainVisual .pieceBody img {
  display: none;
}

#mainVisual .pieceBody .caption {
  font-size: 1.125rem;
  text-shadow: -1px -1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff, 1px 1px 0 #fff;
}

@media only screen and (max-width: 767px) {
  #mainVisual .pieceBody {
    position: relative;
    padding: 0;
  }

  #mainVisual .pieceBody img {
    display: block;
  }

  #mainVisual .pieceBody .caption {
    position: absolute;
    right: 12px;
    bottom: 5px;
    padding: 5px;
  }
}

/* searchKeyword
----------------------------------------------- */
#searchKeyword {
  flex-basis: 31.67%;
}

#searchKeyword .pieceHeader h2 {
  padding: 10px 0 10px 34px;
  background: url(/_themes/site/images/ic-keyword_search.svg) left center no-repeat;
  font-weight: 400;
  font-size: 1.125rem;
}

#searchKeyword .joruri-search-box .criteriaKeyword {
  width: 100%;
}

#searchKeyword .joruri-search-box .criteriaKeyword input[name=commit] {
  padding: 8px 21px 8px 35px;
  background-position: 16px center;
}

@media only screen and (max-width: 959px) {
  #searchKeyword {
    display: none;
  }
}

/* featuredKeyword
----------------------------------------------- */
#featuredKeyword {
  flex-grow: 1;
  flex-basis: calc(100% - 290px - 31.67%);
  padding-left: 10px;
}

#featuredKeyword .pieceHeader h2 {
  padding: 10px 0 10px 38px;
  background: url(/_themes/site/images/ic-keyword.svg) left 30% no-repeat;
  font-weight: 400;
  font-size: 1.125rem;
}

#featuredKeyword ul {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  overflow: hidden;
}

#featuredKeyword li {
  position: relative;
}

#featuredKeyword li::before {
  content: "#";
  margin-right: 5px;
}

#featuredKeyword li:not(:last-child)::after {
  content: "/";
  margin-left: 6px;
}

#featuredKeyword a {
  color: #b1f7ff;
}

@media only screen and (max-width: 959px) {
  #featuredKeyword {
    padding: 10px 10px 20px;
  }
}

/* featuredBanner
----------------------------------------------- */
#featuredBanner {
  flex-shrink: 0;
  align-self: center;
  text-align: center
}

#featuredBanner a {
  transition: opacity 0.25s ease-in-out;
}

#featuredBanner a:hover {
  opacity: 0.6;
}

@media only screen and (max-width: 767px) {
  #featuredBanner {
    width: 100%;
    padding: 15px;
    background: var(--mono-color-9);
  }
}

/* noticeSlider
----------------------------------------------- */
#noticeSlider {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 1248px;
  margin: 0 auto 48px;
  padding: 0 18px;
}

#noticeSlider::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  z-index: -1;
  transform: translateX(-50%);
  width: 100vw;
  max-width: 1600px;
  min-width: 1450px;
  margin-bottom: -10%;
  background: url(/_themes/site/images/background/background01.png) right 0% bottom 15% no-repeat;
}

#noticeSlider .slick-slider {
  min-width: 0;
}

#noticeSlider .slick-track {
  display: flex;
}

#noticeSlider .slick-slide {
  height: auto;
  padding: 2px 8px 6px;
}

#noticeSlider .slick-slide > div {
  overflow: hidden;
  border-radius: 10px;
  box-shadow: 0 0 8px rgba(0,0,0,.1);
  background: var(--mono-color-9);
}

#noticeSlider .slick-slide div,
#noticeSlider .slick-slide a {
  height: 100%;
}

#noticeSlider .slick-slide a {
  display: flex;
  flex-direction: column;
  color: inherit;
  text-decoration: none;
  outline-offset: -4px;
  transition: opacity 0.25s ease-in-out;
}

#noticeSlider .slick-slide a:hover {
  opacity: 0.6;
}

#noticeSlider .slick-slide a > span {
  display: block;
}

#noticeSlider .slick-slide span.img img {
  display: block;
  object-fit: cover;
  aspect-ratio: 388/255;
}

#noticeSlider .slick-slide span.txt {
  margin: auto;
  align-self: center;
  padding: 16px 5px;
  background: var(--mono-color-9);
  text-align: center;
}

#noticeSlider .slick-prev,
#noticeSlider .slick-next {
  position: absolute;
  top: 50%;
  z-index: 1;
}

#noticeSlider .slick-prev {
  left: 0;
  transform: translate(calc(-50% + 8px), -50%);
}

#noticeSlider .slick-next {
  right: 0;
  transform: translate(calc(50% - 8px),-50%);
}

#noticeSlider .slick-btn-wrapper {
  margin-top: 15px;
}

@media only screen and (max-width: 767px) {
  #noticeSlider {
    margin-bottom: 20px;
  }
}

/* importantDocs
----------------------------------------------- */
#importantDocs {
  position: relative;
  z-index: 1;
  max-width: 1230px;
  margin: 0 auto;
  padding: 0 15px;
}

#importantDocs .pieceContainer {
  display: flex;
  overflow: hidden;
  border: 1px solid #ccc;
  border-radius: 16px;
}

#importantDocs .pieceHeader {
  flex-shrink: 0;
  flex-basis: 230px;
  display: flex;
  align-items: center;
  border-radius: 16px 0 0 16px;
  background: var(--ac-color-red-2);
}

#importantDocs .pieceHeader h2 {
  padding: 36px 15px 36px 75px;
  background: url(/_themes/site/images/ic-important.svg) 28px center no-repeat;
  color: var(--mono-color-9);
  font-weight: 400;
  font-size: 1.125rem;
}

#importantDocs .pieceBody {
  flex-grow: 1;
  flex-shrink: 1;
  display: flex;
  align-items: center;
  padding: 15px 30px;
  border-radius: 0 16px 16px 0;
  background: var(--mono-color-9);
}

#importantDocs .pieceBody ul {
  width: 100%;
}

#importantDocs .pieceBody li {
  display: flex;
  gap: 2px 20px;
  padding: 15px 0;
}

#importantDocs .pieceBody li ~ li {
  border-top: 1px dotted #ccc;
}

#importantDocs .pieceBody li .update_date {
  flex-shrink: 0;
}

@media only screen and (max-width: 767px) {
  #importantDocs .pieceContainer {
    display: block;
    overflow: hidden;
  }

  #importantDocs .pieceHeader {
    border-radius: 0;
  }

  #importantDocs .pieceHeader h2 {
    padding: 6px 10px 6px 50px;
    background-position: 15px center;
    background-size: 25px auto;
  }

  #importantDocs .pieceBody {
    padding: 5px 15px 7px;
  }

  #importantDocs .pieceBody li {
    flex-direction: column;
    padding: 10px 0;
    line-height: 1.3;
  }
}

/* information ～　共通（タイトル）
----------------------------------------------- */
.piece:is(#information, #recentDocsTab, #sns, #city, #relationSite, #advertisement) .pieceHeader {
  display: flex;
  justify-content: center;
}

.piece:is(#information, #recentDocsTab, #sns, #city, #relationSite, #advertisement) .pieceHeader h2 {
  padding: 0 105px;
  background: url(/_themes/site/images/title-icon.svg) left center no-repeat, url(/_themes/site/images/title-icon.svg) right center no-repeat;
  font-weight: 400;
  font-size: 2.5rem;
  text-align: center;
}

@media only screen and (max-width: 534px) {
  .piece:is(#information, #recentDocsTab, #sns, #city, #relationSite, #advertisement) .pieceHeader {
    display: block;
  }

  .piece:is(#information, #recentDocsTab, #sns, #city, #relationSite, #advertisement) .pieceHeader h2 {
    padding: 0 75px;
    background-size: 70px auto;
    font-size: 1.75rem;
  }
}

/* information
----------------------------------------------- */
#information {
  position: relative;
  margin: 6.75% 0 45px;
  padding-bottom: 4.75%;
  background: var(--ac-color-blue-3);
}

#information::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  min-width: 1600px;
  margin-top: calc(-4.75% + 1px);
  background:
   url(/_themes/site/images/background/background01.svg) center 0 / 100% auto no-repeat,
   url(/_themes/site/images/background/background02.svg) center calc(100% + 2px) / 100% auto no-repeat;
}

#information::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100vw;
  max-width: 2000px;
  min-width: 1750px;
  margin-top: -8.5%;
  margin-bottom: -3%;
  background:
   url(/_themes/site/images/background/background02.png) 12% 0% no-repeat,
   url(/_themes/site/images/background/background05.png) 10% 22% no-repeat,
   url(/_themes/site/images/background/background-dots.svg) 2% 5% no-repeat,
   url(/_themes/site/images/background/background10.png) 6% 28% / 14% auto no-repeat,
   url(/_themes/site/images/background/background04.png) 10% 52% no-repeat,
   url(/_themes/site/images/background/background-dots.svg) 12% 46% no-repeat,
   url(/_themes/site/images/background/background08.png) left 6% bottom 0% no-repeat,
   url(/_themes/site/images/background/background03.png) right 8.5% top 26% no-repeat,
   url(/_themes/site/images/background/background-dots.svg) right 3% top 45% no-repeat,
   url(/_themes/site/images/background/background06.png) right 9.5% top 61.5% no-repeat,
   url(/_themes/site/images/background/background10.png) right 8% top 62% / 14% auto no-repeat,
   url(/_themes/site/images/background/background07.png) right 6% bottom 12% no-repeat,
   url(/_themes/site/images/background/background-dots.svg) right 13% bottom 18% no-repeat;
}

#information .pieceContainer {
  position: relative;
  z-index: 1;
  max-width: 1230px;
  margin: 0 auto;
  padding: 0 15px 45px;
}

#information .pieceHeader {
  margin-bottom: 38px;
  padding-top: 20px;
}

#information .pieceBody a {
  transition: all 0.25s ease-in-out;
}

#information .pieceBody a:hover {
  box-shadow: none;
  background-color: var(--ac-color-blue-1);
  color: var(--mono-color-9);
}

#information .upperMenu ul {
  display: flex;
  gap: 26px;
  margin-bottom: 43px;
}

#information .upperMenu li {
  flex: 1 1 0;
}

#information .upperMenu li a {
  display: flex;
  align-items: center;
  min-height: 100px;
  margin-bottom: 13px;
  padding: 8px 20px 8px 0;
  border-radius: 8px;
  box-shadow: 0 0 6px rgba(0,0,0,.1);
  background-color: var(--mono-color-9);
  color: inherit;
  font-weight: 700;
  font-size: 1.25rem;
  text-decoration: none;
}

#information .upperMenu li.net a > img {
  width: 16.23%;
  margin: 0 7.3% 0 9%;
}

#information .upperMenu li.madoguchi a > img {
  width: 19.65%;
  margin: 0 4.7% 0 7.8%;
}

#information .upperMenu li a img.external {
  display: inline-block;
  margin: 2px 5px 5px 5px;
  vertical-align: middle;
}

#information .upperMenu li span.about {
  display: block;
  padding: 0 8px;
}

#information .middleMenu {
  display: flex;
  flex-wrap: wrap;
  gap: 49px 29px;
  margin-bottom: 36px;
}

#information .middleMenu li a {
  display: flex;
  height: 100%;
  padding: 3px;
  border-radius: 8px;
  box-shadow: 0 0 6px rgba(0,0,0,.1);
  background-color: var(--mono-color-9);
  color: inherit;
  font-weight: 400;
  font-size: 1rem;
  text-decoration: none;
  text-align: center;
}

#information .middleMenu .middleMeu-lt {
  flex-basis: calc(100% - 37.084% - 29px);
}

#information .middleMenu .middleMeu-lt ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

#information .middleMenu .middleMeu-lt li {
  flex-basis: calc((100% - 32px) / 5);
}

#information .middleMenu .middleMeu-lt li a {
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  min-height: 139px;
}

#information .middleMenu .middleMeu-lt li a img {
  margin: auto;
}

#information .middleMenu .middleMeu-lt li a span {
  min-height: calc(100% - 80px);
}

#information .middleMenu .middleMeu-rt {
  flex-basis: 37.084%;
}

#information .middleMenu .middleMeu-rt ul {
  display: flex;
  gap: 8px;
  height: 100%;
}

#information .middleMenu .middleMeu-rt li {
  flex: 1 1 0;
}

#information .middleMenu .middleMeu-rt li a {
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  gap: 22px;
  padding-bottom: 28px;
}

#information .middleMenu .middleMeu-bt {
  flex-basis: 100%;
}

#information .middleMenu .middleMeu-bt ul {
  display: flex;
  gap: 25px;
}

#information .middleMenu .middleMeu-bt li {
  flex: 1 1 0;
}

#information .middleMenu .middleMeu-bt li a {
  align-items: center;
  min-height: 100px;
}

#information .middleMenu .middleMeu-bt li.jigyosha a img {
  width: 16.4%;
  margin: 0 13.28% 0 15.62%;
}

#information .middleMenu .middleMeu-bt li.easy a img {
  width: 18.22%;
  margin: 0 11.19% 0 18.22%;
}

#information .middleMenu .middleMeu-bt li.saiyo a img {
  width: 22.91%;
  margin: 0 15.1% 0 18.22%;
}

#information .middleMenu .middleMeu-bt li a span {
  margin-right: 10px;
}

#information .lowerMenu dt {
  margin-bottom: 15px;
  font-weight: 700;
  font-size: 1.25rem;
}

#information .lowerMenu ul {
  display: flex;
  flex-wrap: wrap;
  gap: 25px;
}

#information .lowerMenu li {
  flex: 1 1 0;
  min-width: 360px;
  min-height: 140px;
  padding: 11px 13px;
  background: var(--ac-color-blue-1);
}

#information .lowerMenu li a {
  display: block;
  position: relative;
  height: 100%;
  padding: 50px 10px 40px;
  border: 1px solid var(--mono-color-9);
  border-radius: 8px;
  box-shadow: 0 0 5px rgba(0,0,0,.1);
  background-color: var(--mono-color-9);
  color: inherit;
  font-size: 1.125rem;
  text-decoration: none;
  outline-offset: -4px;
}

#information .lowerMenu li.bosai a {
  padding-left: 58%;
}

#information .lowerMenu li.bosai a::before {
  content: "";
  position: absolute;
  top: 22px;
  bottom: 17px;
  left: 0;
  width: 58%;
  /*
  aspect-ratio: 143/82;
  */
  background: url(/_themes/site/images/info/ic-bosai.svg) center center / auto 100% no-repeat;
}

#information .lowerMenu li.shobo a {
  padding-left: 59%;
}

#information .lowerMenu li.shobo a::before {
  content: "";
  position: absolute;
  top: 30px;
  bottom: 27px;
  left: 0;
  width: 59%;
  /*
  aspect-ratio: 143/82;
  */
  background: url(/_themes/site/images/info/ic-kyukyu.svg) center center / auto 100% no-repeat;
}

#information .lowerMenu li.tobani a {
  padding-left: 42%;
}

#information .lowerMenu li.tobani a::before {
  content: "";
  position: absolute;
  top: 20px;
  bottom: 23px;
  left: 0;
  width: 42%;
  /*
  aspect-ratio: 143/82;
  */
  background: url(/_themes/site/images/info/ic-yakan.svg) center center / auto 100% no-repeat;
}

@media only screen and (max-width: 959px) {
  #information {
    margin: 12% 0 20px;
  }

  #information::before {
    min-width: 0;
  }

  #information .pieceContainer {
    padding-bottom: 30px;
  }

  #information .pieceHeader {
    margin-bottom: 13px;
  }

  #information .upperMenu ul {
    gap: 9px;
    margin-bottom: 16px;
  }

  #information .upperMenu li a {
    flex-direction: column;
    justify-content: flex-end;
    min-height: 170px;
    padding: 5px 5px 10px;
    line-height: 1.2;
    text-align: center;
  }

  #information .upperMenu li a > img {
    width: auto !important;
    max-width: 55%;
    max-height: 100px;
    margin: auto !important;
  }

  #information .upperMenu li a img.external {
    position: absolute;
  }

  #information .upperMenu li a span {
    min-height: 2em;
    padding-top: 5px;
  }

  #information .upperMenu li span.about {
    padding: 0;
  }

  #information .middleMenu {
    flex-direction: column;
    gap: 16px;
    margin-bottom: 20px;
  }

  #information .middleMenu li a {
    padding: 5px 5px 10px !important;
    line-height: 1.2;
  }

  #information .middleMenu .middleMeu-lt li {
    flex-basis: calc((100% - 16px) / 3);
  }

  #information .middleMenu .middleMeu-lt li a {
    min-height: 110px;
  }

  #information .middleMenu .middleMeu-lt li a img {
    max-height: 50px;
  }

  #information .middleMenu .middleMeu-lt li a span {
    padding-top: 5px;
    min-height: calc(100% - 60px);
  }

  #information .middleMenu .middleMeu-rt {
    flex-basis: 0;
    width: 100%;
  }

  #information .middleMenu .middleMeu-rt ul {
    height: auto;
  }

  #information .middleMenu .middleMeu-rt li a {
    gap: 0;
    min-height: 170px;
    font-size: 1.125rem;
  }

  #information .middleMenu .middleMeu-rt li a img {
    max-height: 100px;
    margin: auto;
  }

  #information .middleMenu .middleMeu-rt li a span {
    padding-top: 5px;
    min-height: calc(100% - 110px);
  }

  #information .middleMenu .middleMeu-bt ul {
    gap: 8px;
  }

  #information .middleMenu .middleMeu-bt li a {
    flex-direction: column;
    justify-content: flex-end;
    min-height: 110px;
    padding: 5px 5px 10px;
    line-height: 1.2;
    text-align: center;
  }

  #information .middleMenu .middleMeu-bt li a img {
    width: auto !important;
    max-width: 55%;
    max-height: 50px;
    margin: auto !important;
  }

  #information .middleMenu .middleMeu-bt li.jigyosha a img {
    max-height: 38px;
  }

  #information .middleMenu .middleMeu-bt li.easy a img {
    transform: translateX(20%);
  }

  #information .middleMenu .middleMeu-bt li.saiyo a img {
    max-width: 62%;
  }

  #information .middleMenu .middleMeu-bt li a span {
    min-height: calc(100% - 60px);
    margin: 0;
    padding-top: 5px;
  }
}

@media only screen and (max-width: 534px) {
  #information .lowerMenu ul {
    gap: 9px;
  }

  #information .lowerMenu li {
    flex: 0 0 calc((100% - 9px) / 2);
    min-width: 160px;
    min-height: 0;
    padding: 10px;
  }

  #information .lowerMenu li a {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    min-height: 150px;
    padding: 10px 3px 25px !important;
    font-size: 1.0625rem;
  }

  #information .lowerMenu li a::before {
    position: static !important;
    width: 100% !important;
    margin: auto;
  }

  #information .lowerMenu li.bosai a::before {
    height: 60px;
  }

  #information .lowerMenu li.shobo a::before {
    height: 52px;
  }

  #information .lowerMenu li.tobani a::before {
    height: 62px;
  }
}

/* recentDocsTab
----------------------------------------------- */
#recentDocsTab {
  position: relative;
  max-width: 1230px;
  margin: 0 auto 60px;
  padding: 0 15px;
}

#recentDocsTab::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  z-index: -1;
  transform: translateX(-50%);
  width: 100vw;
  max-width: 1800px;
  min-width: 1600px;
  margin-bottom: -5%;
  background:
   url(/_themes/site/images/background/background09.png) 6% 45% no-repeat;
}

#recentDocsTab .pieceHeader {
  margin-bottom: 38px;
}

#recentDocsTab .tabs ul {
  display: flex;
  gap: 6px;
  border-bottom: 2px solid var(--ac-color-blue-1);
}

#recentDocsTab .tabs li {
  flex: 1 1 0;
}

#recentDocsTab .tabs li a {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  min-height: 74px;
  padding: 10px;
  border: 1px solid var(--mono-color-7);
  border-radius: 8px 8px 0 0;
  background: var(--mono-color-7);
  color: inherit;
  font-weight: 400;
  font-size: 1.125rem;
  text-decoration: none;
  outline-offset: -4px;
  transition: all 0.25s ease-in-out;
}

#recentDocsTab .tabs li:not(.current) a:hover {
  opacity: 0.6;
}

#recentDocsTab .tabs li.current a {
  border-color: var(--ac-color-blue-1);
  background: var(--ac-color-blue-1);
  color: var(--mono-color-9);
}

#recentDocsTab .wrapper {
  padding: 15px 30px 30px;
  border: 2px solid var(--mono-color-5);
  border-top: none;
  border-radius: 0 0 8px 8px;
  box-shadow: 0 0 6px rgba(0,0,0,.1);
}

#recentDocsTab .content li {
  display: flex;
  gap: 2px 16px;
  position: relative;
  padding: 15px 0;
  border-bottom: 1px dotted #ccc;
}

#recentDocsTab .content li a::before {
  content: "";
  position: absolute;
  inset: 0;
  background: none;
}

#recentDocsTab .content li .update_date {
  flex-shrink: 0;
}

#recentDocsTab .links > div {
  display: flex;
  flex-direction: row-reverse;
  justify-content: center;
  align-items: center;
  padding-top: 30px;
}

#recentDocsTab .links .feed {
  position: absolute;
  transform: translateX(calc(100% + 28px));
  margin-left: 137px;
}

#recentDocsTab .links .more a {
  min-width: 274px;
}

@media only screen and (max-width: 959px) {
  #recentDocsTab {
    margin-bottom: 40px;
  }

  #recentDocsTab .pieceHeader {
    margin-bottom: 13px;
  }
}

@media only screen and (max-width: 767px) {
  #recentDocsTab .tabs ul {
    gap: 1px;
  }

  #recentDocsTab .tabs li a {
    min-height: 50px;
    box-shadow: 0 0 6px rgba(0,0,0,.1);
  }

  #recentDocsTab .wrapper {
    padding: 15px;
  }

  #recentDocsTab .links > div {
    gap: 0 20px;
    padding-top: 15px;
  }

  #recentDocsTab .links .feed {
    position: static;
    transform: none;
    margin-left: 0;
  }

  #recentDocsTab .links .more {
    flex-grow: 1;
  }

  #recentDocsTab .links .more a {
    width: 100%;
    min-width: 166px;
  }
}

@media only screen and (max-width: 534px) {
  #recentDocsTab .content li {
    flex-direction: column;
  }
}

/* column-block sns
----------------------------------------------- */
.column-block.sns {
  display: flex;
  flex-wrap: wrap;
  gap: 0 50px;
  position: relative;
  z-index: 1;
  max-width: 1230px;
  margin: 0 auto;
  padding: 0 15px;
}

@media only screen and (max-width: 959px) {
  .column-block.sns {
    flex-direction: column;
    align-items: center;
  }

  .column-block.sns > * {
    width: 100%;
  }
}

/* sns
----------------------------------------------- */
#sns {
  flex-basis: 100%;
  margin-bottom: 45px;
}

#sns .pieceHeader {
  margin-bottom: 38px;
}

#sns ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 15px 8px;
}

#sns ul li {
  flex-basis: 232px;
}

#sns ul li a {
  display: flex;
  align-items: center;
  gap: 5px;
  height: 100%;
  min-height: 84px;
  padding: 3px;
  border-radius: 8px;
  box-shadow: 0 0 6px rgba(0,0,0,.1);
  background-color: var(--mono-color-9);
  color: inherit;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.3;
  text-decoration: none;
  transition: background-color 0.25s ease-in-out, color 0.25s ease-in-out;
}

#sns ul li a:hover {
  background-color: var(--ac-color-blue-1);
  color: var(--mono-color-9);
}

#sns ul li.x a img {
  margin: 0 20px 0 20px;
}

#sns ul li.line a img {
  margin: 0 45px 0 20px;
}

#sns ul li.mail a img {
  margin: 0 25px 0 20px;
}

#sns ul li.youtube a img {
  margin: 0 30px 0 20px;
}

#sns ul li a strong {
  display: block;
  margin-bottom: 3px;
  padding: 4px 10px;
  border: 1px solid #d6f9de;
  border-radius: 15px;
  background: #d6f9de;
  color: var(--mono-color-0);
  font-weight: 400;
  font-size: 0.75rem;
}

@media only screen and (max-width: 959px) {
  #sns .pieceHeader {
    margin-bottom: 13px;
  }
}

@media only screen and (max-width: 534px) {
  #sns {
    margin-bottom: 20px;
  }

  #sns ul {
    justify-content: flex-start;
    gap: 6px;
  }

  #sns ul li {
    flex-basis: calc((100% - 12px)/ 3);
  }

  #sns ul li a {
    flex-direction: column;
    justify-content: flex-end;
    min-height: 110px;
    padding: 10px 3px;
    font-size: 0.8125rem;
    text-align: center;
  }

  #sns ul li a img {
    margin: auto !important;
  }

  #sns ul li a span {
    min-height: calc(100% - 55px);
    margin: 0;
    padding-top: 5px;
  }

  #sns ul li a strong {
    margin-bottom: 5px;
    padding: 5px 7px;
    font-size: 0.6875rem;
  }
}

/* facebook
----------------------------------------------- */
#facebook {
  flex-grow: 0;
  flex-shrink: 0;
  width: 380px;
}

#facebook .pieceHeader h2 {
  display: flex;
  gap: 3px 12px;
  margin-bottom: 10px;
  padding: 3px 0 3px 42px;
  background: url(/_themes/site/images/sns/sns-facebook.svg) left center no-repeat;
  font-weight: 700;
  font-size: 1.125rem;
}

#facebook .pieceHeader strong {
  padding: 3px 22px;
  border: 1px solid #d6f9de;
  border-radius: 15px;
  background: #d6f9de;
  color: var(--mono-color-0);
  font-weight: 400;
  font-size: 0.875rem;
  vertical-align: middle;
}

@media only screen and (max-width: 959px) {
  #facebook {
    width: auto;
    max-width: 500px;
    margin-bottom: 35px;
  }
}

/* instagram
----------------------------------------------- */
#instagram {
  flex-basis: calc(100% - 430px);
}

#instagram .pieceHeader h2 {
  margin-bottom: 10px;
  padding: 3px 0 3px 42px;
  background: url(/_themes/site/images/sns/sns-Instagram.png) left center no-repeat;
  font-weight: 700;
  font-size: 1.125rem;
}

#instagram .pieceBody .instagram {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

#instagram .pieceBody .instagram div {
  flex-basis: calc((100% - 30px) / 4);
  text-align: center;
}

#instagram .pieceBody .instagram a {
  display: block;
  aspect-ratio: 1/1;
  transition: opacity 0.25s ease-in-out;
}

#instagram .pieceBody .instagram a:hover {
  opacity: 0.6;
}

#instagram .pieceBody .instagram img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media only screen and (max-width: 534px) {
  #instagram .pieceBody .instagram {
    gap: 8px;
  }

  #instagram .pieceBody .instagram div {
    flex-basis: calc((100% - 8px) / 2);
  }
}

/* snsList
----------------------------------------------- */
#snsList {
  flex-basis: 100%;
  padding-top: 96px;
  text-align: center;
}

#snsList a {
  position: relative;
  min-width: 400px;
}

#snsList a::before {
  content: "";
  position: absolute;
  top: 22px;
  right: 22px;
  z-index: -1;
  transform: translate(-100%,-100%);
  width: 256px;
  aspect-ratio: 256/142;
  background: url(/_themes/site/images/sns/sns-text_toroku.svg) center center / cover no-repeat;
}

@media only screen and (max-width: 767px) {
  #snsList {
    padding-top: 84px;
  }

  #snsList a {
    min-width: 262px;
  }

  #snsList a::before {
    top: -3px;
    right: 50%;
    transform: translate(50%,-100%);
    width: 165px;
  }
}

/* city
----------------------------------------------- */
#city {
  position: relative;
  margin: 6.75% 0 45px;
  padding-bottom: 4.75%;
  background: var(--ac-color-blue-3);
}

#city::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  min-width: 1600px;
  margin-top: calc(-4.75% + 1px);
  background:
   url(/_themes/site/images/background/background01.svg) center 0 / 100% auto no-repeat,
   url(/_themes/site/images/background/background02.svg) center calc(100% + 2px) / 100% auto no-repeat;
}

#city::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100vw;
  max-width: 2200px;
  min-width: 1900px;
  margin-top: -10%;
  background:
   url(/_themes/site/images/background/background-dots.svg) 10% 0% no-repeat,
   url(/_themes/site/images/background/background10.png) 12% 18% / 14% auto no-repeat,
   url(/_themes/site/images/background/background-dots.svg) 20% 31% no-repeat,
   url(/_themes/site/images/background/background10.png) 5% 36% / 14% auto no-repeat,
   url(/_themes/site/images/background/background-dots.svg) right 8% top 56% no-repeat,
   url(/_themes/site/images/background/background10.png) right 12% top 71% / 14% auto no-repeat,
   url(/_themes/site/images/background/background-dots.svg) right 17% top 87% no-repeat;
}

#city .pieceContainer {
  position: relative;
  z-index: 1;
  max-width: 1230px;
  margin: 0 auto;
  padding: 0 15px 45px;
}

#city .pieceHeader {
  margin-bottom: 28px;
  padding-top: 20px;
}

#city .pieceBody .upperMenu {
  margin-bottom: 24px;
}

#city .pieceBody .middleMenu {
  margin-bottom: 38px;
}

#city .pieceBody .upperMenu ul,
#city .pieceBody .middleMenu ul {
  display: flex;
  gap: 24px;
}

#city .pieceBody .upperMenu li a,
#city .pieceBody .middleMenu li a,
#city .pieceBody .lowerMenu li a {
  display: block;
  overflow: hidden;
  border-radius: 8px;
  box-shadow: 0 0 8px rgba(0,0,0,.1);
  background: var(--mono-color-9);
  color: inherit;
  text-decoration: none;
  transition: all 0.25s ease-in-out;
}

#city .pieceBody .upperMenu li a:hover,
#city .pieceBody .middleMenu li a:hover,
#city .pieceBody .lowerMenu li a:hover {
  background-color: var(--ac-color-blue-1);
  color: var(--mono-color-9);
}

#city .pieceBody .upperMenu li,
#city .pieceBody .middleMenu li {
  flex: 1 1 0;
}

#city .pieceBody .upperMenu li span {
  display: block;
  padding: 17px 10px;
  text-align: center;
}

#city .pieceBody .middleMenu li a {
  display: flex;
  align-items: center;
  flex-direction: column;
  min-height: 220px;
}

#city .pieceBody .middleMenu li img {
  max-width: 95%;
  margin: auto;
}

#city .pieceBody .middleMenu li img[src$="shisei.svg"] {
  transform: translateY(8%);
}

#city .pieceBody .middleMenu li img[src$="furusato.svg"] {
  max-width: 100%;
}

#city .pieceBody .middleMenu li img[src$="jorei.svg"] {
  transform: translateY(10%);
}

#city .pieceBody .middleMenu li span {
  padding: 5px 10px 17px;
  text-align: center;
}

#city .pieceBody .lowerMenu {
  display: flex;
  gap: 24px;
  margin-bottom: 34px;
}

#city .pieceBody .lowerMenu .map a {
  transition: opacity 0.25s ease-in-out;
}

#city .pieceBody .lowerMenu .map a:hover {
  opacity: 0.6;
}

#city .pieceBody .lowerMenu ul {
  flex-shrink: 0;
  flex-basis: 282px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

#city .pieceBody .lowerMenu li a {
  display: flex;
  align-items: center;
  position: relative;
  min-height: 88px;
  padding: 10px 10px 10px 40%;
}

#city .pieceBody .lowerMenu li img {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

#city .pieceBody .lowerMenu li img[src$="naruto.svg"] {
  left: 0;
  width: 35.46%;
}

#city .pieceBody .lowerMenu li img[src$="info.svg"] {
  left: 5%;
  width: 25.53%;
}

#city .pieceBody .lowerMenu li img[src$="shisetsu.svg"] {
  left: 7.8%;
  width: 18.79%;
}

#city .pieceBody .lowerMenu li img[src$="nyaruhige.png"] {
  left: 5.6%;
  width: 21.98%;
}

#city .pieceBody .population dl {
  display: flex;
}

#city .pieceBody .population dt {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 135px;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 10px;
  border: 1px solid var(--mono-color-3);
  background: var(--mono-color-3);
  color: var(--mono-color-9);
  font-weight: 400;
  font-size: 1.125rem;
}

#city .pieceBody .population dd {
  flex-grow: 1;
  flex-shrink: 1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 15px 10px;
  padding: 20px 5px 20px 15px;
  border: 1px solid var(--mono-color-9);
  background: var(--mono-color-9);
}

#city .pieceBody .population tbody {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 0;
}

#city .pieceBody .population tbody th {
  padding: 3px 15px;
}

#city .pieceBody .population tbody th.male {
  background: #d9f7ff;
}

#city .pieceBody .population tbody th.female {
  background: #FFEBEB;
}

#city .pieceBody .population tbody th.total {
  background: #E8F9DE;
}

#city .pieceBody .population tbody th.household {
  background: #F4F1EC;
}

#city .pieceBody .population tbody td {
  padding: 3px 14px 3px 7px;
}

#city .pieceBody .population tbody tr:last-child td {
  padding-right: 0;
}

#city .pieceBody .population .date {
  font-size: 0.875rem;
}

#city .pieceBody .population a {
  padding: 13px 28px 13px 15px;
}

@media only screen and (max-width: 959px) {
  #city {
    margin: 18% 0 20px;
  }

  #city::before {
    min-width: 0;
  }

  #city .pieceHeader {
    margin-bottom: 20px;
  }

  #city .pieceBody .upperMenu {
    margin-bottom: 9px;
  }

  #city .pieceBody .middleMenu {
    margin-bottom: 16px;
  }

  #city .pieceBody .upperMenu ul,
  #city .pieceBody .middleMenu ul {
    flex-wrap: wrap;
    gap: 9px;
  }

  #city .pieceBody .upperMenu li a {
    position: relative;
    min-height: 170px;
  }

  #city .pieceBody .upperMenu li img {
    object-fit: cover;
    aspect-ratio: 170/142;
  }

  #city .pieceBody .upperMenu li span {
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    padding: 10px;
    background: var(--mono-color-9);
    transition: all 0.25s ease-in-out;
  }

  #city .pieceBody .upperMenu li:hover span {
    background-color: var(--ac-color-blue-1);
    color: var(--mono-color-9);
  }

  #city .pieceBody .middleMenu li {
    flex-basis: calc((100% - 9px) / 2);
  }

  #city .pieceBody .middleMenu li a {
    height: 100%;
    min-height: 160px;
    padding-top: 10px;
  }

  #city .pieceBody .middleMenu li img {
    max-width: 86%;
  }

  #city .pieceBody .middleMenu li img[src$="shisei.svg"] {
    max-height: 60%;
  }

  #city .pieceBody .lowerMenu {
    flex-direction: column;
    gap: 16px;
    margin-bottom: 16px;
  }

  #city .pieceBody .lowerMenu .map {
    text-align: center;
  }

  #city .pieceBody .lowerMenu ul {
    flex-basis: 0;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 9px;
  }

  #city .pieceBody .lowerMenu li {
    flex-basis: calc((100% - 9px) / 2);
  }

  #city .pieceBody .lowerMenu li a {
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
    gap: 10px;
    height: 100%;
    min-height: 160px;
    padding: 10px 0 15px;
  }

  #city .pieceBody .lowerMenu li img,
  #city .pieceBody .lowerMenu li picture {
    position: static;
    transform: none;
    margin: auto;
  }

  #city .pieceBody .lowerMenu li picture {
    width: 98%;
    margin-left: 0;
  }

  #city .pieceBody .lowerMenu li img[src$="naruto.svg"] {
    width: 100%;
  }

  #city .pieceBody .lowerMenu li img[src$="info.svg"] {
    width: 52%;
  }

  #city .pieceBody .lowerMenu li img[src$="shisetsu.svg"] {
    width: 37%;
  }

  #city .pieceBody .lowerMenu li img[src$="nyaruhige.png"] {
    width: 44%;
  }

  #city .pieceBody .lowerMenu li span {
    align-self: center;
    padding: 0 10px;
    text-align: center;
  }
}

@media only screen and (max-width: 534px) {
  #city .pieceBody .population dl {
    flex-direction: column;
  }

  #city .pieceBody .population dt {
    flex-basis: 0;
    display: block;
    padding: 7px 16px;
    font-size: 1rem;
    text-align: left;
  }

  #city .pieceBody .population dd {
    gap: 7px;
    padding: 16px 8px 20px;
  }

  #city .pieceBody .population tbody tr:nth-child(3),
  #city .pieceBody .population tbody tr:nth-child(4) {
    flex-basis: 100%;
  }

  #city .pieceBody .population tbody td {
    padding-right: 10px;
  }

  #city .pieceBody .population .date {
    width: 100%;
    font-size: 0.75rem;
    text-align: right;
  }

  #city .pieceBody .population a {
    margin: 5px auto 0;
  }
}

/* relationSite
----------------------------------------------- */
#relationSite {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 1260px;
  margin: 0 auto 100px;
  padding: 0 18px;
}

#relationSite .pieceHeader {
  margin-bottom: 15px;
}

#relationSite .slick-slider {
  min-width: 0;
}

#relationSite .slick-track {
  display: flex;
}

#relationSite .slick-slide {
  height: auto;
  padding: 0 12px;
}

#relationSite .slick-slide div,
#relationSite .slick-slide a {
  height: 100%;
}

#relationSite .slick-slide a {
  display: flex;
  justify-content: center;
  align-items: center;
  outline-offset: -4px;
  transition: opacity 0.25s ease-in-out;
}

#relationSite .slick-slide a:hover {
  opacity: 0.6;
}

#relationSite .slick-slide a img {
  border: 1px solid var(--mono-color-6);
  border-radius: 8px;
}

#relationSite .slick-prev,
#relationSite .slick-next {
  position: absolute;
  top: 50%;
  z-index: 1;
}

#relationSite .slick-prev {
  left: 0;
  transform: translate(calc(-50% + 12px), -50%);
}

#relationSite .slick-next {
  right: 0;
  transform: translate(calc(50% - 12px),-50%);
}

#relationSite .slick-btn-wrapper {
  margin: 25px 0 30px;
}

#relationSite .pieceBody .more {
  text-align: center;
}

#relationSite .pieceBody .more a {
  min-width: 380px;
}

@media only screen and (max-width: 534px) {
  #relationSite {
    margin-bottom: 35px;
  }

  #relationSite .pieceBody .more a {
    width: 100%;
    max-width: 380px;
    min-width: 0;
  }
}

/* advertisement
----------------------------------------------- */
#advertisement {
  position: relative;
  z-index: 1;
  max-width: 1230px;
  margin: 0 auto 100px;
  padding: 0 15px;
}

#advertisement .pieceHeader {
  margin-bottom: 15px;
}

#advertisement .bannerImages {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin-bottom: 35px;
}

#advertisement .bannerImages a {
  transition: opacity 0.25s ease-in-out;
}

#advertisement .bannerImages a:hover {
  opacity: 0.6;
}

#advertisement .pieceBody .more a {
  min-width: 380px;
}

#advertisement .pieceBody .more {
  text-align: center;
}

@media only screen and (max-width: 534px) {
  #advertisement {
    margin-bottom: 30px;
  }

  #advertisement .bannerImages {
    gap: 7px;
    margin-bottom: 15px;
  }

  #advertisement .bannerImages .banner {
    flex-basis: calc((100% - 7px) / 2);
  }

  #advertisement .pieceBody .more a {
    width: 100%;
    max-width: 380px;
    min-width: 0;
  }
}