@charset "UTF-8";
@font-face {
  font-family: "Kanata-kanji";
  src: url("../font/Kanata-kanji.otf") format("opentype");
  font-weight: normal;
  font-style: normal;
}
:root {
  --scale: 0.0694444444vw;
  --max: 1;
}
@media screen and (max-width: 767px) {
  :root {
    --scale: 0.2666666667vw;
    --max: 10;
  }
}

/* ===============================
  サイトマップ
=============================== */
.sitemap {
  position: relative;
}
.sitemap::before {
  z-index: 8;
}
@media (min-width: 768px) {
  .sitemap {
    overflow: visible;
  }
  .sitemap::after {
    content: "";
    position: absolute;
    background: #fff;
    width: 100%;
    max-height: 510px;
    aspect-ratio: 1440/510;
    top: 0;
    left: 0%;
  }
}
@media (max-width: 767px) {
  .sitemap {
    overflow: visible;
  }
  .sitemap::after {
    content: "";
    position: absolute;
  }
}

/*------------------------------
sitemap__header
------------------------------*/
.sitemap__header {
  margin-top: min(calc(16 * var(--scale)), calc(16px * var(--max)));
}

.sitemap__title {
  font-size: min(calc(45 * var(--scale)), calc(45px * var(--max)));
  font-weight: 700;
  color: #00685f;
  text-align: center;
  padding-bottom: 0.4em;
  position: relative;
  letter-spacing: -0.05em;
}
.sitemap__title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  background: #5aaf7e;
  border-radius: min(calc(50 * var(--scale)), calc(50px * var(--max)));
  width: 2.1em;
  height: 0.1em;
}
@media (max-width: 767px) {
  .sitemap__title {
    font-size: min(calc(30 * var(--scale)), calc(30px * var(--max)));
  }
}

.sitemap__lead {
  margin-top: min(calc(20 * var(--scale)), calc(20px * var(--max)));
  font-size: min(calc(22 * var(--scale)), calc(22px * var(--max)));
  color: #00685f;
  text-align: center;
}
@media (max-width: 767px) {
  .sitemap__lead {
    font-size: min(calc(18 * var(--scale)), calc(18px * var(--max)));
  }
}

/*------------------------------
sitemap__regional
------------------------------*/
.sitemap__regional {
  margin-top: calc(min(calc(60 * var(--scale)), calc(60px * var(--max))) * -1);
  padding-top: calc(min(calc(144 * var(--scale)), calc(144px * var(--max))) + min(calc(46 * var(--scale)), calc(46px * var(--max))));
  position: relative;
}
.sitemap__regional::before {
  content: "";
  position: absolute;
  background: #fdfbf9;
  width: 100%;
  aspect-ratio: 1439/144;
  left: 0%;
  top: 0%;
  display: none;
}
.sitemap__regional::after {
  pointer-events: none;
  content: "";
  position: absolute;
  background: url(../img/sitemap/line01.png) no-repeat center center/100%;
  aspect-ratio: 2880/5703;
  transform: translate(-50%, -11.6%);
  width: 100%;
  left: 50%;
  top: 0%;
  display: none;
}
.sitemap__regional > * {
  position: relative;
  z-index: 10;
}
@media (max-width: 767px) {
  .sitemap__regional {
    margin-top: min(calc(70 * var(--scale)), calc(70px * var(--max)));
    padding-top: calc(min(calc(88 * var(--scale)), calc(88px * var(--max))) + min(calc(0 * var(--scale)), calc(0px * var(--max))));
  }
}

@media (min-width: 768px) {
  .sitemap__regional__inner {
    width: min(calc(1030 * var(--scale)), calc(1030px * var(--max)));
    padding-right: min(calc(14 * var(--scale)), calc(14px * var(--max)));
  }
}

.sitemap__heading {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  font-size: min(calc(36 * var(--scale)), calc(36px * var(--max)));
  position: relative;
  padding-left: 0.9em;
}
.sitemap__heading::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  background: #f86534;
  width: 0.6em;
  aspect-ratio: 1/1;
}
@media (max-width: 767px) {
  .sitemap__heading {
    font-size: min(calc(28 * var(--scale)), calc(28px * var(--max)));
  }
}

.sitemap__regional-content {
  display: flex;
  gap: 0 min(calc(45 * var(--scale)), calc(45px * var(--max)));
  margin-top: min(calc(90 * var(--scale)), calc(90px * var(--max)));
}
@media (max-width: 767px) {
  .sitemap__regional-content {
    flex-direction: column;
    gap: min(calc(30 * var(--scale)), calc(30px * var(--max))) 0;
    margin-top: 10%;
  }
}

.sitemap__map {
  width: 51%;
}
@media (max-width: 767px) {
  .sitemap__map {
    width: 100%;
  }
}

.sitemap__regional-body {
  width: calc(450 / 1120 * 100%);
  width: 44.5%;
}
@media (max-width: 767px) {
  .sitemap__regional-body {
    width: 100%;
  }
}

.sitemap__areas {
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: min(calc(50 * var(--scale)), calc(50px * var(--max))) min(calc(40 * var(--scale)), calc(40px * var(--max)));
}
@media (max-width: 767px) {
  .sitemap__areas {
    flex-direction: column;
  }
}

.sitemap__area {
  width: min(calc(204 * var(--scale)), calc(204px * var(--max)));
  width: min(calc(205 * var(--scale)), calc(205px * var(--max)));
}
.sitemap__area--nationwide {
  --area-color: #f86534;
}
.sitemap__area--hokkaido {
  --area-color: #a2c168;
}
.sitemap__area--tohoku {
  --area-color: #f18f69;
}
.sitemap__area--oita {
  --area-color: #e49f00;
}
.sitemap__area--okinawa {
  --area-color: #52bcae;
}
@media (max-width: 767px) {
  .sitemap__area {
    width: 100%;
  }
}

.sitemap__area-title {
  width: 100%;
  font-size: min(calc(25 * var(--scale)), calc(25px * var(--max)));
  color: #fff;
  padding: 0.4em 0;
  text-align: center;
  background-color: var(--area-color);
  -webkit-mask: url("../img/sitemap/area-title-bg.png") center/100% 100% no-repeat;
  mask: url("../img/sitemap/area-title-bg.png") center/100% 100% no-repeat;
}

.sitemap__area-list {
  margin-top: min(calc(20 * var(--scale)), calc(20px * var(--max)));
}
.sitemap__area-list li a {
  display: inline-block;
  font-size: min(calc(18 * var(--scale)), calc(18px * var(--max)));
  line-height: 1.6666666667;
  text-indent: -1em;
  padding-left: 1em;
}
.sitemap__area-list li a::before {
  content: "・";
  color: var(--area-color);
}

.sitemap__regional-bottom {
  margin-top: min(calc(60 * var(--scale)), calc(60px * var(--max)));
}

/*------------------------------
sitemap__common
------------------------------*/
.sitemap__common {
  padding: min(calc(80 * var(--scale)), calc(80px * var(--max))) 0 min(calc(290 * var(--scale)), calc(290px * var(--max)));
  position: relative;
}
@media (max-width: 767px) {
  .sitemap__common {
    padding-bottom: min(calc(230 * var(--scale)), calc(230px * var(--max)));
  }
}

.sitemap__common-content {
  background: #fff;
  border-radius: min(calc(26 * var(--scale)), calc(26px * var(--max)));
  display: flex;
  gap: 0 min(calc(90 * var(--scale)), calc(90px * var(--max)));
  padding: 4% 5%;
  padding-right: 0;
  width: 94%;
  margin: 3% auto 0;
}
@media (max-width: 767px) {
  .sitemap__common-content {
    flex-direction: column;
    gap: min(calc(40 * var(--scale)), calc(40px * var(--max))) 0;
    padding: min(calc(50 * var(--scale)), calc(50px * var(--max))) min(calc(16 * var(--scale)), calc(16px * var(--max)));
  }
}

.sitemap__group-title {
  font-size: min(calc(25 * var(--scale)), calc(25px * var(--max)));
  color: #00685f;
}
@media (max-width: 767px) {
  .sitemap__group-title {
    font-size: min(calc(22 * var(--scale)), calc(22px * var(--max)));
  }
}

.sitemap__group-list {
  padding-left: min(calc(16 * var(--scale)), calc(16px * var(--max)));
  margin-top: min(calc(20 * var(--scale)), calc(20px * var(--max)));
  border-left: min(calc(3 * var(--scale)), calc(3px * var(--max))) solid #00685f;
  margin-left: min(calc(6 * var(--scale)), calc(6px * var(--max)));
}
.sitemap__group-list li a, .sitemap__group-list li span {
  display: inline-block;
  font-size: min(calc(18 * var(--scale)), calc(18px * var(--max)));
  line-height: 1.65;
}
.sitemap__group-list li a::before, .sitemap__group-list li span::before {
  content: "・";
}
.sitemap__group-list li span {
  padding-left: 1em;
}
.sitemap__group-list li span::before {
  display: none;
}
@media (max-width: 767px) {
  .sitemap__group-list li a, .sitemap__group-list li span {
    font-size: min(calc(16 * var(--scale)), calc(16px * var(--max)));
  }
}
/*# sourceMappingURL=sitemap.css.map */