@charset "UTF-8";
@-webkit-keyframes blink_animation {
  0% {
    opacity: 0;
  }
  10% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes blink_animation {
  0% {
    opacity: 0;
  }
  10% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/*
リセット
/***********************/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  vertical-align: baseline;
}

html {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}

q, blockquote {
  quotes: none;
}

q:before, q:after, blockquote:before, blockquote:after {
  content: "";
  content: none;
}

a, a:hover {
  text-decoration: none;
}

a > img, nav > img, li > img, div > img {
  width: 100%;
  height: auto;
}

a img {
  border: none;
}

a {
  cursor: pointer;
  text-decoration: none;
  color: #000;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block;
}

button {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  border: none;
  padding: 0;
}
.clearfix:after {
  font-size: 0;
}

.clearfix {
  zoom: 1;
}

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

body {
  position: absolute;
  background-color: #fff;
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
}

body * {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

div, h1, h2, h3, h4, h5, ul, ol, li, dl, dt, dd {
  position: relative;
}

h1, h2, h3, h4, h5 {
  margin: 0;
  padding: 0;
  line-height: 1;
}

p, div, span {
  margin: 0;
  padding: 0;
  line-height: 1.5;
}

ul, ol, li, dl, dt, dd {
  margin: 0;
  padding: 0;
  list-style: none;
  line-height: 1;
}

img,
a img {
  border: none;
  display: inline-block;
}

img {
  width: 100%;
  height: auto;
}

#wrapper {
  position: relative;
  width: 100%;
  height: auto;
}

.sp {
  display: none !important;
}
@keyframes blink_animation {
  0% {
    opacity: 0;
  }
  10% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
html {
  font-size: 1.25vw;
}

body {
  font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-optical-sizing: auto;
  font-style: normal;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  text-rendering: optimizespeed;
  letter-spacing: 0.05em;
}

body.win{
  font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
}

body.noscroll {
  overflow: hidden;
}

.inter {
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
}

.wrapper {
  position: relative;
  overflow: clip;
  width: 100%;
  -webkit-transition: opacity 0.5s ease-out;
  -o-transition: opacity 0.5s ease-out;
  transition: opacity 0.5s ease-out;
  background-color: #E8E8E8;
}

.box-inner {
  width: 77.14%;
  margin: 0 auto;
}

.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 50;
  padding: 2em 1.9em;
  pointer-events: none;
  -webkit-transition: opacity 1s ease-out;
  -o-transition: opacity 1s ease-out;
  transition: opacity 1s ease-out;
  opacity: 0;
}
.header.show {
  opacity: 1;
}
.header.bk .header-logo img {
  opacity: 0;
}
.header.bk .header-logo img.bk {
  opacity: 1;
}
.header.bk .header-logo__text {
  color: #000;
}
.header.bk .header-logo__text a, .header.bk .header-logo__text a:link, .header.bk .header-logo__text a:visited {
  color: #000;
}
.header-logo-area {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2em;
  pointer-events: all;
}
.header-logo {
  width: 5.93em;
}
.header-logo img {
  width: 100%;
  height: auto;
  display: block;
}
.header-logo img.bk {
  position: absolute;
  left: 0;
  top: 0;
  -webkit-transition: opacity 0.3s ease-out;
  -o-transition: opacity 0.3s ease-out;
  transition: opacity 0.3s ease-out;
  opacity: 0;
}
.header-logo__text {
  color: #fff;
  font-weight: 300;
  line-height: 1;
  -webkit-transition: color 0.3s ease-out;
  -o-transition: color 0.3s ease-out;
  transition: color 0.3s ease-out;
}
.header-logo__text a,
.header-logo__text a:link,
.header-logo__text a:visited {
  color: #fff;
}

.kv {
  position: relative;
  height: 100vh;
  overflow: hidden;
}
.kv-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.kv-bg img {
  width: 50%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.kv-inner {
  position: absolute;
  left: 50%;
  top: 41%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 1;
}
.kv-content {
  position: relative;
  z-index: 2;
  text-align: center;
  color: #fff;
  -webkit-transition: opacity 1s ease-out, -webkit-transform 1s ease-out, -webkit-filter 1s ease-out;
  transition: opacity 1s ease-out, -webkit-transform 1s ease-out, -webkit-filter 1s ease-out;
  -o-transition: transform 1s ease-out, filter 1s ease-out, opacity 1s ease-out;
  transition: transform 1s ease-out, filter 1s ease-out, opacity 1s ease-out;
  transition: transform 1s ease-out, filter 1s ease-out, opacity 1s ease-out, -webkit-transform 1s ease-out, -webkit-filter 1s ease-out;
  -webkit-transform: scale(0.98);
      -ms-transform: scale(0.98);
          transform: scale(0.98);
  -webkit-filter: blur(0.5em);
          filter: blur(0.5em);
  opacity: 0;
}
.kv-content.show {
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
  -webkit-filter: blur(0);
          filter: blur(0);
  opacity: 1;
}
.kv-logo {
  width: 28.75em;
}
.kv-copy-area {
  width: 75%;
  color: #fff;
  text-align: left;
  position: absolute;
  left: 11.5%;
  bottom: 6.4%;
  z-index: 1;
}
.kv-copy__sub {
  font-weight: 400;
  margin-bottom: 1.1em;
  letter-spacing: 0.03em;
}
.kv-copy__main {
  font-size: 3.62em;
  font-weight: 400;
  letter-spacing: -0.01em;
  line-height: 1.37;
}
.kv-copy__main span:nth-child(3) {
  left: 0.3vw;
  position: relative;
}
.kv-copy {
  font-size: 1.5em;
  line-height: 1.6;
}

img {
  max-width: 100%;
  height: auto;
}

.box {
  position: relative;
  z-index: 20;
  padding: 5em 0;
}

.box1 {
  background-color: #E8E8E8;
  padding-top: 13.24em;
  margin-bottom: 5.3em;
  padding-top: 15.2vw;
  margin-bottom: 6.1vw;
  z-index: auto;
}
.box1-bg {
  position: absolute;
  left: 22.57%;
  top: 20em;
  top: 22.85vw;
  width: 77.42%;
  height: auto;
}
.box1-bg img {
  width: 100%;
  height: auto;
  display: block;
}
.box1-navi {
  width: 1vw;
  position: absolute;
  left: -8.9vw;
  top: 0;
}
.box1-title {
  width: 18.43em;
  margin-bottom: 27.7em;
  width: 21.06vw;
  margin-bottom: 31.64vw;
}
.box1-title__main {
  margin-bottom: 0.6em;
  margin-bottom: 1vw;
}
.box1-title__main svg {
  width: 100%;
  height: auto;
}
.box1-title__sub {
  width: 15.5vw;
}
.box1-title__sub svg {
  width: 100%;
  height: auto;
}
.box1-pics {
  width: 100%;
  position: absolute;
  left: 0;
  top: 0;
}
.box1-pics img {
  width: 100%;
}
.box1-pic1 {
  width: 28.76%;
  position: absolute;
  right: -9.2%;
  top: -3.17em;
  top: -3.62vw;
  top: 7.38vw;
  -webkit-transition: opacity 1s ease-out, -webkit-filter 1s ease-out;
  transition: opacity 1s ease-out, -webkit-filter 1s ease-out;
  -o-transition: opacity 1s ease-out, filter 1s ease-out;
  transition: opacity 1s ease-out, filter 1s ease-out;
  transition: opacity 1s ease-out, filter 1s ease-out, -webkit-filter 1s ease-out;
  -webkit-filter: blur(2vw);
          filter: blur(2vw);
  opacity: 0;
}
.box1-pic1.show {
  -webkit-filter: blur(0);
          filter: blur(0);
  opacity: 1;
}
.box1-pic2 {
  width: 28.57%;
  position: absolute;
  left: -8.9%;
  top: 25.85em;
  top: 33.54vw;
  -webkit-transition: opacity 1s ease-out, -webkit-filter 1s ease-out;
  transition: opacity 1s ease-out, -webkit-filter 1s ease-out;
  -o-transition: opacity 1s ease-out, filter 1s ease-out;
  transition: opacity 1s ease-out, filter 1s ease-out;
  transition: opacity 1s ease-out, filter 1s ease-out, -webkit-filter 1s ease-out;
  -webkit-filter: blur(2vw);
          filter: blur(2vw);
  opacity: 0;
}
.box1-pic2.show {
  -webkit-filter: blur(0);
          filter: blur(0);
  opacity: 1;
}
.box1-desc {
  width: 36.66%;
  left: 32.8%;
  font-size: 1em;
  line-height: 1.8;
  color: #fff;
  padding-bottom: 14.1em;
  position: relative;
  font-size: 1.14vw;
  padding-bottom: 16.07vw;
}
.box1-desc h3 {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-size: 1.25em;
  line-height: 1.5;
  letter-spacing: 0.1em;
  margin-bottom: 2.2em;
  font-size: 1.42vw;
  margin-bottom: 3.12vw;
  -webkit-transition: opacity 1s ease-out, -webkit-transform 1s ease-out;
  transition: opacity 1s ease-out, -webkit-transform 1s ease-out;
  -o-transition: opacity 1s ease-out, transform 1s ease-out;
  transition: opacity 1s ease-out, transform 1s ease-out;
  transition: opacity 1s ease-out, transform 1s ease-out, -webkit-transform 1s ease-out;
  -webkit-transform: translateY(1em);
      -ms-transform: translateY(1em);
          transform: translateY(1em);
  opacity: 0;
}
.box1-desc h3.show {
  -webkit-transform: translateY(0em);
      -ms-transform: translateY(0em);
          transform: translateY(0em);
  opacity: 1;
}
.box1-desc .text-area {
  letter-spacing: 0.1em;
  -webkit-transition: opacity 1s ease-out, -webkit-transform 1s ease-out;
  transition: opacity 1s ease-out, -webkit-transform 1s ease-out;
  -o-transition: opacity 1s ease-out, transform 1s ease-out;
  transition: opacity 1s ease-out, transform 1s ease-out;
  transition: opacity 1s ease-out, transform 1s ease-out, -webkit-transform 1s ease-out;
  -webkit-transform: translateY(1em);
      -ms-transform: translateY(1em);
          transform: translateY(1em);
  opacity: 0;
}
.box1-desc .text-area.show {
  -webkit-transform: translateY(0em);
      -ms-transform: translateY(0em);
          transform: translateY(0em);
  opacity: 1;
}
.box1-desc p {
  line-height: 1.87;
  text-align: justify;
  margin-bottom: 1.9em;
  margin-bottom: 2.16vw;
}
.box1-desc p:last-child {
  margin-bottom: 0;
}
.box1-fog-top {
  width: 100%;
  position: absolute;
  left: 0;
  top: 0;
}
.box1-fog-top.show .box1-fog-top__pic1 {
  -webkit-transform: translateX(15%);
      -ms-transform: translateX(15%);
          transform: translateX(15%);
  -webkit-filter: blur(0.2vw);
          filter: blur(0.2vw);
  opacity: 0;
}
.box1-fog-top.show .box1-fog-top__pic2 {
  -webkit-transform: translateX(-18%);
      -ms-transform: translateX(-18%);
          transform: translateX(-18%);
  -webkit-filter: blur(0.2vw);
          filter: blur(0.2vw);
  opacity: 0;
}
.box1-fog-top.show .box1-fog-top__pic3 {
  -webkit-transform: translateX(6%);
      -ms-transform: translateX(6%);
          transform: translateX(6%);
  -webkit-filter: blur(0.2vw);
          filter: blur(0.2vw);
  opacity: 0;
}
.box1-fog-top__pic1 {
  width: 100%;
  position: absolute;
  right: 0;
  top: -5.5vw;
  -webkit-transition: opacity 4s ease-out, -webkit-transform 4s ease-in-out, -webkit-filter 3s cubic-bezier(0.13, 0.38, 0.12, 1);
  transition: opacity 4s ease-out, -webkit-transform 4s ease-in-out, -webkit-filter 3s cubic-bezier(0.13, 0.38, 0.12, 1);
  -o-transition: transform 4s ease-in-out, opacity 4s ease-out, filter 3s cubic-bezier(0.13, 0.38, 0.12, 1);
  transition: transform 4s ease-in-out, opacity 4s ease-out, filter 3s cubic-bezier(0.13, 0.38, 0.12, 1);
  transition: transform 4s ease-in-out, opacity 4s ease-out, filter 3s cubic-bezier(0.13, 0.38, 0.12, 1), -webkit-transform 4s ease-in-out, -webkit-filter 3s cubic-bezier(0.13, 0.38, 0.12, 1);
}
.box1-fog-top__pic1 img {
  -webkit-animation: fog1 5s linear infinite;
          animation: fog1 5s linear infinite;
}
.box1-fog-top__pic2 {
  width: 100%;
  position: absolute;
  left: 0;
  top: -5.8vw;
  -webkit-transition: opacity 5s ease-out, -webkit-transform 5s ease-in-out, -webkit-filter 2.5s cubic-bezier(0.13, 0.38, 0.12, 1);
  transition: opacity 5s ease-out, -webkit-transform 5s ease-in-out, -webkit-filter 2.5s cubic-bezier(0.13, 0.38, 0.12, 1);
  -o-transition: transform 5s ease-in-out, opacity 5s ease-out, filter 2.5s cubic-bezier(0.13, 0.38, 0.12, 1);
  transition: transform 5s ease-in-out, opacity 5s ease-out, filter 2.5s cubic-bezier(0.13, 0.38, 0.12, 1);
  transition: transform 5s ease-in-out, opacity 5s ease-out, filter 2.5s cubic-bezier(0.13, 0.38, 0.12, 1), -webkit-transform 5s ease-in-out, -webkit-filter 2.5s cubic-bezier(0.13, 0.38, 0.12, 1);
  -webkit-transition-delay: 0.2s;
       -o-transition-delay: 0.2s;
          transition-delay: 0.2s;
}
.box1-fog-top__pic2 img {
  -webkit-animation: fog1 10s linear infinite;
          animation: fog1 10s linear infinite;
  -webkit-animation-delay: -5s;
          animation-delay: -5s;
}
.box1-fog-top__pic3 {
  width: 100%;
  position: absolute;
  left: 0;
  top: 0;
  -webkit-transition: opacity 4.5s ease-out, -webkit-transform 4.5s ease-in-out, -webkit-filter 3.5s cubic-bezier(0.13, 0.38, 0.12, 1);
  transition: opacity 4.5s ease-out, -webkit-transform 4.5s ease-in-out, -webkit-filter 3.5s cubic-bezier(0.13, 0.38, 0.12, 1);
  -o-transition: transform 4.5s ease-in-out, opacity 4.5s ease-out, filter 3.5s cubic-bezier(0.13, 0.38, 0.12, 1);
  transition: transform 4.5s ease-in-out, opacity 4.5s ease-out, filter 3.5s cubic-bezier(0.13, 0.38, 0.12, 1);
  transition: transform 4.5s ease-in-out, opacity 4.5s ease-out, filter 3.5s cubic-bezier(0.13, 0.38, 0.12, 1), -webkit-transform 4.5s ease-in-out, -webkit-filter 3.5s cubic-bezier(0.13, 0.38, 0.12, 1);
  -webkit-transition-delay: 0.1s;
       -o-transition-delay: 0.1s;
          transition-delay: 0.1s;
}
.box1-fog-top__pic3 img {
  -webkit-animation: fog1 8s linear infinite;
          animation: fog1 8s linear infinite;
  -webkit-animation-delay: -10s;
          animation-delay: -10s;
}
.box1-fog-bottom {
  width: 100%;
  position: absolute;
  left: 0;
  bottom: 0;
  pointer-events: none;
  z-index: 21;
}
.box1-fog-bottom.show .box1-fog-bottom__pic1 {
  -webkit-transform: translateX(-15%);
      -ms-transform: translateX(-15%);
          transform: translateX(-15%);
  -webkit-filter: blur(0.2vw);
          filter: blur(0.2vw);
  opacity: 0;
}
.box1-fog-bottom.show .box1-fog-bottom__pic2 {
  -webkit-transform: translateX(17%);
      -ms-transform: translateX(17%);
          transform: translateX(17%);
  -webkit-filter: blur(0.2vw);
          filter: blur(0.2vw);
  opacity: 0;
}
.box1-fog-bottom.show .box1-fog-bottom__pic3 {
  -webkit-transform: translateX(-6%);
      -ms-transform: translateX(-6%);
          transform: translateX(-6%);
  -webkit-filter: blur(0.2vw);
          filter: blur(0.2vw);
  opacity: 0;
}
.box1-fog-bottom img {
  -webkit-transition: none;
  -o-transition: none;
  transition: none;
}
.box1-fog-bottom__pic1 {
  width: 100%;
  position: absolute;
  left: 0%;
  bottom: -27vw;
  z-index: 1;
  -webkit-transition: opacity 4.5s ease-out, -webkit-transform 4s ease-in-out, -webkit-filter 3s cubic-bezier(0.13, 0.38, 0.12, 1);
  transition: opacity 4.5s ease-out, -webkit-transform 4s ease-in-out, -webkit-filter 3s cubic-bezier(0.13, 0.38, 0.12, 1);
  -o-transition: transform 4s ease-in-out, opacity 4.5s ease-out, filter 3s cubic-bezier(0.13, 0.38, 0.12, 1);
  transition: transform 4s ease-in-out, opacity 4.5s ease-out, filter 3s cubic-bezier(0.13, 0.38, 0.12, 1);
  transition: transform 4s ease-in-out, opacity 4.5s ease-out, filter 3s cubic-bezier(0.13, 0.38, 0.12, 1), -webkit-transform 4s ease-in-out, -webkit-filter 3s cubic-bezier(0.13, 0.38, 0.12, 1);
}
.box1-fog-bottom__pic1 img {
  -webkit-animation: fog1 5s linear infinite;
          animation: fog1 5s linear infinite;
}
.box1-fog-bottom__pic2 {
  width: 100%;
  position: absolute;
  right: 0;
  bottom: -27vw;
  z-index: 1;
  -webkit-transition: opacity 6s cubic-bezier(0.13, 0.38, 0.12, 1), -webkit-transform 5.5s ease-in-out, -webkit-filter 2.5s cubic-bezier(0.13, 0.38, 0.12, 1);
  transition: opacity 6s cubic-bezier(0.13, 0.38, 0.12, 1), -webkit-transform 5.5s ease-in-out, -webkit-filter 2.5s cubic-bezier(0.13, 0.38, 0.12, 1);
  -o-transition: transform 5.5s ease-in-out, opacity 6s cubic-bezier(0.13, 0.38, 0.12, 1), filter 2.5s cubic-bezier(0.13, 0.38, 0.12, 1);
  transition: transform 5.5s ease-in-out, opacity 6s cubic-bezier(0.13, 0.38, 0.12, 1), filter 2.5s cubic-bezier(0.13, 0.38, 0.12, 1);
  transition: transform 5.5s ease-in-out, opacity 6s cubic-bezier(0.13, 0.38, 0.12, 1), filter 2.5s cubic-bezier(0.13, 0.38, 0.12, 1), -webkit-transform 5.5s ease-in-out, -webkit-filter 2.5s cubic-bezier(0.13, 0.38, 0.12, 1);
  -webkit-transition-delay: 0.2s;
       -o-transition-delay: 0.2s;
          transition-delay: 0.2s;
}
.box1-fog-bottom__pic2 img {
  -webkit-animation: fog1 10s linear infinite;
          animation: fog1 10s linear infinite;
  -webkit-animation-delay: -5s;
          animation-delay: -5s;
}
.box1-fog-bottom__pic3 {
  width: 100%;
  position: absolute;
  left: 0;
  bottom: -27vw;
  z-index: 1;
  -webkit-transition: opacity 5.5s cubic-bezier(0.13, 0.38, 0.12, 1), -webkit-transform 5s ease-in-out, -webkit-filter 3.5s cubic-bezier(0.13, 0.38, 0.12, 1);
  transition: opacity 5.5s cubic-bezier(0.13, 0.38, 0.12, 1), -webkit-transform 5s ease-in-out, -webkit-filter 3.5s cubic-bezier(0.13, 0.38, 0.12, 1);
  -o-transition: transform 5s ease-in-out, opacity 5.5s cubic-bezier(0.13, 0.38, 0.12, 1), filter 3.5s cubic-bezier(0.13, 0.38, 0.12, 1);
  transition: transform 5s ease-in-out, opacity 5.5s cubic-bezier(0.13, 0.38, 0.12, 1), filter 3.5s cubic-bezier(0.13, 0.38, 0.12, 1);
  transition: transform 5s ease-in-out, opacity 5.5s cubic-bezier(0.13, 0.38, 0.12, 1), filter 3.5s cubic-bezier(0.13, 0.38, 0.12, 1), -webkit-transform 5s ease-in-out, -webkit-filter 3.5s cubic-bezier(0.13, 0.38, 0.12, 1);
  -webkit-transition-delay: 0.1s;
       -o-transition-delay: 0.1s;
          transition-delay: 0.1s;
}
.box1-fog-bottom__pic3 img {
  -webkit-animation: fog1 8s linear infinite;
          animation: fog1 8s linear infinite;
  -webkit-animation-delay: -10s;
          animation-delay: -10s;
}

@-webkit-keyframes fog1 {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0.95;
  }
  100% {
    opacity: 1;
  }
}

@keyframes fog1 {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0.95;
  }
  100% {
    opacity: 1;
  }
}
.box2 {
  padding: 10.1em 0 30.8em;
  padding: 11.54vw 0 35.2vw;
  background-image: url(../img/box2-bg.webp);
  background-size: cover;
  background-repeat: no-repeat;
}
.box2 .box-inner {
  width: 77.14%;
}
.box2-header {
  text-align: center;
  margin-bottom: 3em;
  margin-bottom: 3.42vw;
}
.box2-navi {
  width: 1.1vw;
  position: absolute;
  left: -8.9vw;
  top: 0;
}
.box2-title {
  margin-bottom: 2.8em;
  margin-bottom: 3.2vw;
}
.box2-title__main {
  width: 23.25em;
  margin-bottom: 0.6em;
  width: 26.57vw;
  margin-bottom: 1.2vw;
}
.box2-title__main svg {
  width: 100%;
  height: auto;
}
.box2-title__sub {
  width: 20.07vw;
}
.box2-title__sub svg {
  width: 100%;
  height: auto;
}
.box2-textarea {
  text-align: left;
  margin-bottom: 13.4em;
  margin-bottom: 15.31vw;
  letter-spacing: 0.1em;
  -webkit-transition: opacity 1s ease-out, -webkit-transform 1s ease-out;
  transition: opacity 1s ease-out, -webkit-transform 1s ease-out;
  -o-transition: opacity 1s ease-out, transform 1s ease-out;
  transition: opacity 1s ease-out, transform 1s ease-out;
  transition: opacity 1s ease-out, transform 1s ease-out, -webkit-transform 1s ease-out;
  -webkit-transform: translateY(1em);
      -ms-transform: translateY(1em);
          transform: translateY(1em);
  opacity: 0;
}
.box2-textarea.show {
  -webkit-transform: translateY(0em);
      -ms-transform: translateY(0em);
          transform: translateY(0em);
  opacity: 1;
}
.box2-textarea p {
  font-size: 1.14vw;
}
.box2-map-area {
  width: 48.4%;
  position: absolute;
  right: 9.7%;
  top: 0;
  -webkit-transition: opacity 1s ease-out, -webkit-filter 1s ease-out;
  transition: opacity 1s ease-out, -webkit-filter 1s ease-out;
  -o-transition: opacity 1s ease-out, filter 1s ease-out;
  transition: opacity 1s ease-out, filter 1s ease-out;
  transition: opacity 1s ease-out, filter 1s ease-out, -webkit-filter 1s ease-out;
  -webkit-filter: blur(1em);
          filter: blur(1em);
  opacity: 0;
}
.box2-map-area.show {
  -webkit-filter: blur(0);
          filter: blur(0);
  opacity: 1;
}
.box2-map-btn {
  font-size: 0.75em;
  font-size: 0.85vw;
  position: absolute;
  right: 0;
  top: 0;
  display: block;
  letter-spacing: 0;
  cursor: pointer;
}
.box2-map-btn span {
  font-size: 1.5em;
  font-weight: 600;
}
.box2-map-btn-1 {
  right: -9.5%;
  top: 12.4%;
}
.box2-map-btn-2 {
  right: -9.5%;
  top: 20.5%;
}
.box2-map-btn-3 {
  right: -9.5%;
  top: 30.5%;
}
.box2-map-btn-4 {
  right: 81.9%;
  top: 39.7%;
}
.box2-map-btn-5 {
  right: 81.9%;
  top: 34%;
}
.box2-map-btn-6 {
  right: 81.9%;
  top: 28.5%;
}
.box2-map-pin-area {
  width: 0.37em;
  width: 0.42vw;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: #DE4747;
  position: absolute;
  right: 0;
  top: 0;
}
.box2-map-pin-area-1 {
  right: 34%;
  top: 7.3%;
}
.box2-map-pin-area-2 {
  right: 57%;
  top: 12.8%;
}
.box2-map-pin-area-3 {
  right: 45%;
  top: 20.8%;
}
.box2-map-pin-area-4 {
  right: 53.3%;
  top: 19.9%;
}
.box2-map-pin-area-5 {
  right: 50.8%;
  top: 19.2%;
}
.box2-map-pin-area-6 {
  right: 51.3%;
  top: 21.1%;
}
.box2-map-pin-animation {
  width: 3vw;
  aspect-ratio: 1/1;
  border-radius: 50%;
  position: absolute;
  overflow: hidden;
  -webkit-transition: opacity 0.3s ease-out;
  -o-transition: opacity 0.3s ease-out;
  transition: opacity 0.3s ease-out;
  opacity: 0;
}
.box2-map-pin-animation.active {
  opacity: 1;
}
.box2-map-pin-animation__inner {
  width: 100%;
  height: 100%;
  border-radius: 50%;
}
.box2-map-pin-animation__inner:nth-child(1) {
  background-color: red;
  -webkit-transition: none;
  -o-transition: none;
  transition: none;
}
.box2-map-pin-animation-1 {
  left: 61.4%;
  top: 4.8%;
}
.box2-map-pin-animation-2 {
  left: 38.4%;
  top: 10.4%;
}
.box2-map-pin-animation-3 {
  left: 50.3%;
  top: 18.3%;
}
.box2-map-pin-animation-4 {
  left: 44%;
  top: 18.7%;
}
.box2-map-pin-animation-5 {
  left: 44.6%;
  top: 16.8%;
}
.box2-map-pin-animation-6 {
  left: 42.1%;
  top: 17.5%;
}
@-webkit-keyframes zoonanime {
  0% {
    -webkit-transform: scale(0.15);
            transform: scale(0.15);
    opacity: 0.8;
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 0;
  }
}
@keyframes zoonanime {
  0% {
    -webkit-transform: scale(0.15);
            transform: scale(0.15);
    opacity: 0.8;
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 0;
  }
}
.box2-list {
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 2.2em 2.5em 1.1em;
  border-radius: 0.5em;
  background-color: rgba(255, 255, 255, 0.6);
  padding: 2.51vw 2.85vw 1.25vw;
  border-radius: 0.57vw;
  -webkit-box-shadow: 0px 0px 1.14vw 0 rgba(35, 74, 136, 0.08);
          box-shadow: 0px 0px 1.14vw 0 rgba(35, 74, 136, 0.08);
  -webkit-transition: opacity 1s ease-out, -webkit-transform 1s ease-out;
  transition: opacity 1s ease-out, -webkit-transform 1s ease-out;
  -o-transition: opacity 1s ease-out, transform 1s ease-out;
  transition: opacity 1s ease-out, transform 1s ease-out;
  transition: opacity 1s ease-out, transform 1s ease-out, -webkit-transform 1s ease-out;
  -webkit-transform: translateY(1em);
      -ms-transform: translateY(1em);
          transform: translateY(1em);
  opacity: 0;
}
.box2-list.show {
  -webkit-transform: translateY(0em);
      -ms-transform: translateY(0em);
          transform: translateY(0em);
  opacity: 1;
}
.box2-list__item {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 31.2%;
      -ms-flex: 0 0 31.2%;
          flex: 0 0 31.2%;
  border-bottom: 1px dotted #000;
  padding-bottom: 0.7em;
  margin-bottom: 1.7em;
  padding-bottom: 0.8vw;
  margin-bottom: 1.94vw;
  position: relative;
  cursor: pointer;
}
.box2-list__item .arrow {
  width: 2.5%;
  display: block;
  position: absolute;
  right: 0;
  bottom: 1.3em;
  bottom: 1.48vw;
  -webkit-transition: -webkit-transform 0.3s ease-out;
  transition: -webkit-transform 0.3s ease-out;
  -o-transition: transform 0.3s ease-out;
  transition: transform 0.3s ease-out;
  transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;
}
.box2-list__num {
  font-size: 0.75em;
  text-align: left;
  margin-bottom: 0.5em;
  font-size: 0.85vw;
  margin-bottom: 0.42vw;
}
.box2-list__area {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.75em;
  text-align: left;
  margin-bottom: 0.5em;
  font-size: 0.85vw;
  margin-bottom: 0.42vw;
}
.box2-list__text {
  font-size: 1.14vw;
  font-weight: bold;
  text-align: left;
}

.box3 {
  padding: 0;
  padding-top: 9.9em;
  padding-top: 11.31vw;
  background-color: #fff;
}
.box3-bg {
  width: 200vw;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-transition: none;
  -o-transition: none;
  transition: none;
  -webkit-animation: box3slider 60s linear infinite;
          animation: box3slider 60s linear infinite;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  will-change: transform;
}
.box3-bg img {
  width: 50%;
  display: block;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}
.box3-bg__inner {
  -webkit-transition: opacity 1s ease-out, -webkit-transform 1s ease-out;
  transition: opacity 1s ease-out, -webkit-transform 1s ease-out;
  -o-transition: opacity 1s ease-out, transform 1s ease-out;
  transition: opacity 1s ease-out, transform 1s ease-out;
  transition: opacity 1s ease-out, transform 1s ease-out, -webkit-transform 1s ease-out;
  -webkit-transform: translateY(1em);
      -ms-transform: translateY(1em);
          transform: translateY(1em);
  opacity: 0;
}
.box3-bg__inner.show {
  -webkit-transform: translateY(0em);
      -ms-transform: translateY(0em);
          transform: translateY(0em);
  opacity: 1;
}

@-webkit-keyframes box3slider {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(-50%, 0, 0);
            transform: translate3d(-50%, 0, 0);
  }
}

@keyframes box3slider {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(-50%, 0, 0);
            transform: translate3d(-50%, 0, 0);
  }
}
.box4 {
  background-color: #fff;
  padding-top: 9.7em;
  padding-bottom: 10em;
  padding-top: 13.9vw;
  padding-bottom: 11.42vw;
}
.box4 .box-inner {
  width: 77.14%;
}
.box4-grid {
  margin-bottom: 3em;
}
.box4-grid img {
  width: 100%;
}
.box4-title {
  margin-bottom: 2.76em;
  margin-bottom: 3.15vw;
}
.box4-title__main {
  width: 14.93em;
  margin-bottom: 2em;
  width: 17.06vw;
  margin-bottom: 2.28vw;
}
.box4-title__main svg {
  width: 100%;
  height: auto;
}
.box4-title__sub {
  width: 16.42vw;
}
.box4-title__sub svg {
  width: 100%;
  height: auto;
}
.box4-column .column-subtitle {
  font-size: 1.2em;
  font-weight: bold;
  margin-bottom: 0.5em;
}
.box4-column .box4-textarea {
  margin-bottom: 4.69em;
  margin-bottom: 5.36vw;
  letter-spacing: 0.1em;
  -webkit-transition: opacity 1s ease-out, -webkit-transform 1s ease-out;
  transition: opacity 1s ease-out, -webkit-transform 1s ease-out;
  -o-transition: opacity 1s ease-out, transform 1s ease-out;
  transition: opacity 1s ease-out, transform 1s ease-out;
  transition: opacity 1s ease-out, transform 1s ease-out, -webkit-transform 1s ease-out;
  -webkit-transform: translateY(1em);
      -ms-transform: translateY(1em);
          transform: translateY(1em);
  opacity: 0;
}
.box4-column .box4-textarea.show {
  -webkit-transform: translateY(0em);
      -ms-transform: translateY(0em);
          transform: translateY(0em);
  opacity: 1;
}
.box4-column .box4-textarea p {
  font-size: 1.14vw;
}
.box4-column .column-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-transition: opacity 1s ease-out, -webkit-transform 1s ease-out;
  transition: opacity 1s ease-out, -webkit-transform 1s ease-out;
  -o-transition: opacity 1s ease-out, transform 1s ease-out;
  transition: opacity 1s ease-out, transform 1s ease-out;
  transition: opacity 1s ease-out, transform 1s ease-out, -webkit-transform 1s ease-out;
  -webkit-transform: translateY(1em);
      -ms-transform: translateY(1em);
          transform: translateY(1em);
  opacity: 0;
}
.box4-column .column-list.show {
  -webkit-transform: translateY(0em);
      -ms-transform: translateY(0em);
          transform: translateY(0em);
  opacity: 1;
}
.box4-column .column-list li {
  width: 22.77%;
  text-align: left;
}
.box4-column .column-list li .column-list__label {
  font-size: 0.8em;
  font-weight: 600;
  border-top: 2px solid #000;
  padding-top: 1.4em;
  margin-bottom: 2.67em;
  font-size: 0.85vw;
  padding-top: 1.2vw;
  margin-bottom: 2.58vw;
}
.box4-column .column-list li .column-list__pic {
  width: 100%;
  margin-bottom: 1.6em;
  margin-bottom: 2.6vw;
  overflow: hidden;
}
.box4-column .column-list li .column-list__pic img {
  -webkit-transition: -webkit-transform 0.5s ease-out;
  transition: -webkit-transform 0.5s ease-out;
  -o-transition: transform 0.5s ease-out;
  transition: transform 0.5s ease-out;
  transition: transform 0.5s ease-out, -webkit-transform 0.5s ease-out;
  display: block;
}
.box4-column .column-list li .column-list__subtitle {
  font-size: 0.85vw;
  font-weight: bold;
  line-height: 160%;
  color: #9A9A9A;
  margin-bottom: 0.7vw;
}
.box4-column .column-list li .column-list__title {
  font-size: 1.25em;
  font-weight: bold;
  line-height: 160%;
  margin-bottom: 2.55em;
  font-size: 1.42vw;
  margin-bottom: 3.62vw;
  letter-spacing: 0.02em;
}
.box4-column .column-list li .link {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: bold;
  text-decoration: none;
  color: #000;
  border-bottom: 1px dotted #000;
  font-size: 1.14vw;
  padding-bottom: 1.1em;
  padding-bottom: 1.25vw;
}
.box4-column .column-list li .link span {
  -webkit-transition: opacity 0.3s ease-out;
  -o-transition: opacity 0.3s ease-out;
  transition: opacity 0.3s ease-out;
}
.box4-column .column-list li .link img {
  width: 1em;
  width: 1.14vw;
  margin: 0;
  -webkit-transition: opacity 0.3s ease-out;
  -o-transition: opacity 0.3s ease-out;
  transition: opacity 0.3s ease-out;
}

.footer {
  position: relative;
  text-align: center;
  color: #fff;
  z-index: 20;
}
.footer-bg {
  width: 100%;
}
.footer-bg img {
  width: 100%;
  height: auto;
  display: block;
}
.footer-inner {
  width: 77.14%;
  margin: 0 auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  position: absolute;
  left: 50%;
  bottom: 7.4em;
  bottom: 8.45vw;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 1;
}
.footer-logo {
  width: 6em;
  width: 6.85vw;
}
.footer-logo img {
  display: block;
}
.footer-pic {
  width: 5.87em;
  width: 6.71vw;
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.footer-pic img {
  display: block;
}
.footer .copyright {
  font-size: 0.75em;
  font-size: 0.85vw;
}

.modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 100;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.4s, visibility 0.4s;
  -o-transition: opacity 0.4s, visibility 0.4s;
  transition: opacity 0.4s, visibility 0.4s;
  background-color: rgba(91, 105, 125, 0.8);
  overflow-y: auto;
  /* JSで生成するカスタムスクロールバーのスタイル */
}
.modal.is-active {
  opacity: 1;
  visibility: visible;
}
.modal__inner {
  width: 100%;
  position: relative;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
}
.modal-close__inner {
  width: 77.14%;
  height: 3em;
  margin: 0 auto 1.25em;
}
.modal__close {
  position: absolute;
  right: 0;
  top: 0;
  width: 3em;
  height: 3em;
  cursor: pointer;
  z-index: 101;
  -webkit-transition: -webkit-transform 0.6s cubic-bezier(0.5, 0.1, 0.2, 1);
  transition: -webkit-transform 0.6s cubic-bezier(0.5, 0.1, 0.2, 1);
  -o-transition: transform 0.6s cubic-bezier(0.5, 0.1, 0.2, 1);
  transition: transform 0.6s cubic-bezier(0.5, 0.1, 0.2, 1);
  transition: transform 0.6s cubic-bezier(0.5, 0.1, 0.2, 1), -webkit-transform 0.6s cubic-bezier(0.5, 0.1, 0.2, 1);
}
.modal__close span {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 1px;
  background-color: #fff;
}
.modal__close span:first-child {
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
      -ms-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg);
}
.modal__close span:last-child {
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
      -ms-transform: translate(-50%, -50%) rotate(-45deg);
          transform: translate(-50%, -50%) rotate(-45deg);
}
.modal__wrap-content {
  width: 77.14%;
  margin: 0 auto;
  background-color: #F7F8FA;
  overflow: hidden;
  position: relative;
}
.modal__wrap-content:before {
  content: " ";
  display: block;
  width: 100%;
  height: 4.55em;
  height: 4.21vw;
  background-color: #F7F8FA;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 3;
}
.modal__wrap-content:after {
  content: " ";
  display: block;
  width: 100%;
  height: 4.55em;
  height: 4.21vw;
  background-color: #F7F8FA;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 3;
}
.modal__wrap {
  width: 100%;
  overflow-y: scroll;
  max-height: 80vh;
  margin: 0 auto;
  padding: 4.55em 5.7% 2.8em;
  padding: 4.55em 0 2.8em;
  padding: 4.21vw 0 3.21vw;
  /* 独自のスクロールバーをJSで作るためにネイティブを非表示 */
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.modal__wrap::-webkit-scrollbar {
  display: none;
}
.modal .custom-scrollbar {
  position: absolute;
  top: 4.55em; /* padding-topに合わせて調整 */
  right: 1.5vw;
  width: 0.6vw;
  border-radius: 1vw;
  height: calc(100% - 7.35em); /* 上下padding分を引く */
  background: rgba(193, 193, 193, 0.3);
  z-index: 10;
}
.modal .custom-scrollbar-thumb {
  width: 100%;
  background-color: #ccc;
  border-radius: 10px;
  cursor: pointer;
  -webkit-transition: background-color 0.2s;
  -o-transition: background-color 0.2s;
  transition: background-color 0.2s;
}
.modal .custom-scrollbar-thumb:hover {
  background-color: #999;
}
.modal__content {
  padding: 0 7.3%;
  overflow: hidden;
}
.modal__content.modal__content-2 .modal-map-pin-area {
  right: 50.5%;
  top: 12.5%;
}
.modal__content.modal__content-2 .modal-map-line {
  width: 52.2%;
  right: -0.6%;
  top: 12.9%;
}
.modal__content.modal__content-2 .modal-map-text {
  right: -13.6%;
  top: 10.6%;
}
.modal__content.modal__content-2 .timeline-bar {
  width: 4.89%;
  left: -2.8%;
}
.modal__content.modal__content-2 .timeline-bg.timeline-bg-6 {
  display: none;
}
.modal__content.modal__content-3 .modal-map-pin-area {
  right: 36.4%;
  top: 20.6%;
}
.modal__content.modal__content-3 .modal-map-line {
  width: 39%;
  right: -2%;
  top: 21%;
}
.modal__content.modal__content-3 .modal-map-text {
  right: -15%;
  top: 18.7%;
}
.modal__content.modal__content-3 .modal-pic-title {
  font-size: 1.14vw;
  margin-bottom: 0.8vw;
  display: block;
}
.modal__content.modal__content-3 .modal-pics {
  margin-bottom: 2.4vw;
}
.modal__content.modal__content-3 .modal-pics.modal-pics-1 {
  margin-bottom: 7.08vw;
}
.modal__content.modal__content-3 .timeline-bg.timeline-bg-4 {
  left: -8.8%;
  top: 45.9%;
}
.modal__content.modal__content-3 .timeline-bg.timeline-bg-5 {
  top: 52.7%;
}
.modal__content.modal__content-3 .timeline-bg.timeline-bg-6 {
  display: none;
}
.modal__content.modal__content-4 .timeline-bar {
  width: 5.75%;
  left: -3.2%;
}
.modal__content.modal__content-4 .modal-area {
  margin-bottom: 0.2vw;
}
.modal__content.modal__content-4 .modal-title {
  line-height: 1.33;
  margin-bottom: 1.7vw;
}
.modal__content.modal__content-4 .timeline-bg.timeline-bg-3 {
  top: 29.5%;
}
.modal__content.modal__content-4 .timeline-bg.timeline-bg-4 {
  top: 32.1%;
}
.modal__content.modal__content-4 .timeline-bg.timeline-bg-5 {
  right: -10.5%;
  top: 62.3%;
}
.modal__content.modal__content-4 .timeline-bg.timeline-bg-6 {
  bottom: 12.8%;
}
.modal__content.modal__content-4 .modal-map-pin-area {
  right: 44.5%;
  top: 21.3%;
}
.modal__content.modal__content-4 .modal-map-line {
  width: 49%;
  top: 21.7%;
}
.modal__content.modal__content-4 .modal-map-text {
  top: 19.2%;
}
.modal__content.modal__content-5 .modal-map-pin-area {
  right: 43.6%;
  top: 19.3%;
}
.modal__content.modal__content-5 .modal-map-line {
  width: 45%;
  right: -1%;
  top: 19.7%;
}
.modal__content.modal__content-5 .modal-map-line img {
  width: 100%;
  height: auto;
}
.modal__content.modal__content-5 .modal-map-text {
  top: 17.3%;
}
.modal__content.modal__content-5 .timeline-bar {
  width: 5%;
  left: -2.8%;
}
.modal__content.modal__content-5 .timeline-bg.timeline-bg-3 {
  right: -8.9%;
  top: 33%;
}
.modal__content.modal__content-5 .timeline-bg.timeline-bg-4 {
  left: -14.6%;
  top: 40.2%;
}
.modal__content.modal__content-5 .timeline-bg.timeline-bg-5 {
  right: -9.5%;
  top: 60.9%;
}
.modal__content.modal__content-5 .timeline-bg.timeline-bg-6 {
  display: none;
}
.modal__content.modal__content-6 .modal-map-pin-area {
  right: 46%;
  top: 19.8%;
}
.modal__content.modal__content-6 .modal-map-text {
  top: 17.6%;
}
.modal__content.modal__content-6 .modal-map-line {
  width: 50%;
  top: 20.2%;
}
.modal__content.modal__content-6 .modal-map-line img {
  height: auto;
}
.modal__content.modal__content-6 .timeline-bar {
  width: 4.78%;
  left: -2.8%;
}
.modal__content.modal__content-6 .timeline-bg.timeline-bg-3 {
  right: -9.4%;
  top: 32.4%;
}
.modal__content.modal__content-6 .timeline-bg.timeline-bg-4 {
  left: -14.5%;
  top: 39%;
}
.modal__content.modal__content-6 .timeline-bg.timeline-bg-5 {
  right: -11.5%;
  top: 49.5%;
}
.modal__content.modal__content-6 .timeline-bg.timeline-bg-6 {
  left: -8.7%;
  bottom: 18.8%;
}
.modal-top {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 1vw;
  margin-bottom: 4.9em;
  margin-bottom: 5.6vw;
}
.modal-top__left {
  width: 50%;
}
.modal-top__right {
  width: 40%;
  position: relative;
  text-align: right;
}
.modal-pic-title {
  display: none;
}
.modal-area {
  margin-bottom: 0.8em;
  font-size: 1.14vw;
  margin-bottom: 0.91vw;
}
.modal-title {
  font-size: 2.25em;
  font-weight: 500;
  margin-bottom: 0.8em;
  font-size: 2.57vw;
  margin-bottom: 2.05vw;
}
.modal-subtitle {
  font-size: 1.5em;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  line-height: 1;
  position: absolute;
  right: 0;
  top: 4em;
  font-size: 1.71vw;
  top: 6.85vw;
}
.modal-desc p {
  font-size: 1.14vw;
  line-height: 2;
  text-align: justify;
}
.modal-no {
  width: 9vw;
  position: absolute;
  right: 0;
  top: 0.3vw;
}
.modal-map {
  width: 104.88%;
  position: absolute;
  right: 33.2%;
  top: 5.3em;
  top: 6.05vw;
}
.modal-map-text {
  font-size: 0.8vw;
  font-weight: bold;
  position: absolute;
  right: -15%;
  top: 6%;
  display: block;
  letter-spacing: -0.02em;
}
.modal-map-text span {
  font-size: 1.5em;
  font-weight: bold;
}
.modal-map-line {
  width: 28%;
  position: absolute;
  right: -3%;
  top: 7.9%;
}
.modal-map-line img {
  display: block;
}
.modal-map-pin-area {
  width: 0.37em;
  width: 0.42vw;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: #FF3300;
  position: absolute;
  right: 24%;
  top: 7.5%;
}
.modal-pics {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 6.2em;
  margin-bottom: 7.08vw;
}
.modal-pics img {
  width: 50%;
  -o-object-fit: cover;
     object-fit: cover;
}
.modal-process {
  position: relative;
}
.modal-process__header {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -webkit-align-items: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  margin-bottom: 3.5em;
  margin-bottom: 4vw;
}
.modal-process-title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-align: end;
  -webkit-align-items: end;
      -ms-flex-align: end;
          align-items: end;
  gap: 1.5em;
  gap: 1.71vw;
}
.modal-process-title__main {
  width: 7.43em;
  width: 8.5vw;
}
.modal-process-title__main img {
  display: block;
}
.modal-process-title__sub {
  font-size: 0.875em;
  font-size: 1vw;
  line-height: 1;
}
.modal-process__body {
  position: relative;
}
.modal .process-current {
  font-size: 1em;
  margin-bottom: 3em;
  font-size: 1.14vw;
  margin-bottom: 3.42vw;
  letter-spacing: 0.04em;
}
.modal .process-timeline {
  position: relative;
}
.modal .timeline-start {
  width: 5.37em;
  margin: 0 auto 1.6em;
  width: 6.14vw;
  margin: 0 auto 1.82vw;
}
.modal .timeline-start img {
  display: block;
}
.modal .timeline-start:before {
  content: " ";
  display: block;
  width: 0.78vw;
  aspect-ratio: 1/1;
  border-radius: 50%;
  position: absolute;
  background-color: #ff3300;
  left: 45%;
  bottom: -2.5vw;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 1;
}
.modal .timeline-bg-area {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
}
.modal .timeline-bg {
  position: absolute;
  pointer-events: all;
}
.modal .timeline-bg.timeline-bg-1 {
  width: 42.57%;
  right: -9%;
  top: -4.8%;
}
.modal .timeline-bg.timeline-bg-2 {
  width: 34.41%;
  left: -8.5%;
  top: -1%;
}
.modal .timeline-bg.timeline-bg-3 {
  width: 14.95%;
  right: -8.5%;
  top: 30%;
}
.modal .timeline-bg.timeline-bg-4 {
  width: 44.66%;
  left: -8.6%;
  top: 30.4%;
}
.modal .timeline-bg.timeline-bg-5 {
  width: 42.36%;
  right: -8.6%;
  top: 77.66%;
}
.modal .timeline-bg.timeline-bg-6 {
  width: 56.69%;
  left: -8.6%;
  bottom: 5.6%;
}
.modal .timeline-bar {
  width: 5.3%;
  margin: 0 auto;
  left: -3%;
}
.modal .timeline-bar img {
  display: block;
}
.modal .timeline-row {
  width: 100%;
  position: absolute;
  left: 0;
  top: 0;
}
.modal .timeline-item {
  width: 34.99%;
  position: relative;
  left: 59.7%;
  margin-bottom: 6.8em;
  margin-bottom: 7.71vw;
}
.modal .timeline-item.empty {
  background: none;
}
.modal .timeline-item::before {
  content: "";
  position: absolute;
  top: 0.2vw;
  width: 0.34em;
  width: 0.42vw;
  aspect-ratio: 1/1;
  background-color: #FF3300;
  border-radius: 50%;
  z-index: 2;
}
.modal .timeline-item:after {
  content: "";
  display: block;
  height: 1px;
  position: absolute;
  top: 0.4vw;
  background-color: #E3E3E4;
}
.modal .timeline-item:nth-child(2n) {
  left: 5.1%;
  position: absolute;
  margin-bottom: 0;
}
.modal .timeline-item:last-child {
  margin-bottom: 0;
}
.modal .timeline-date {
  font-size: 0.875em;
  font-size: 1vw;
  font-weight: 500;
  margin-bottom: 1.5em;
  margin-bottom: 1.5vw;
  line-height: 1;
}
.modal .timeline-pic {
  margin-bottom: 1em;
  margin-bottom: 1.14vw;
}
.modal .timeline-pic img {
  width: 100%;
}
.modal .timeline-title {
  font-size: 1.25em;
  font-weight: bold;
  margin-bottom: 0.67em;
  font-size: 1.42vw;
  margin-bottom: 0.95vw;
}
.modal .timeline-desc {
  font-size: 0.875em;
  font-size: 1vw;
  line-height: 200%;
  text-align: justify;
}
.modal-other__header {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -webkit-align-items: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  margin-bottom: 3em;
  margin-bottom: 3.42vw;
}
.modal-other__title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-align: end;
  -webkit-align-items: end;
      -ms-flex-align: end;
          align-items: end;
  gap: 1.5em;
  gap: 1.71vw;
}
.modal-other-title__main {
  width: 7em;
  width: 8vw;
}
.modal-other-title__main img {
  display: block;
}
.modal-other-title__sub {
  font-size: 0.875em;
  line-height: 1;
  top: -0.8em;
  font-size: 1vw;
  top: -0.8vw;
}
.modal-other__list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.modal-other__list li.modal-other__item {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 31.2%;
      -ms-flex: 0 0 31.2%;
          flex: 0 0 31.2%;
  border-bottom: 1px dotted #000;
  padding-bottom: 0.7em;
  margin-bottom: 2.3em;
  padding-bottom: 0.8vw;
  margin-bottom: 2.8vw;
  position: relative;
  cursor: pointer;
}
.modal-other__list li.modal-other__item.nolink {
  opacity: 0.2;
  pointer-events: none;
}
.modal .other-no {
  font-size: 0.75em;
  text-align: left;
  margin-bottom: 0.5em;
  font-size: 0.85vw;
  margin-bottom: 0.42vw;
}
.modal .other-area {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.75em;
  text-align: left;
  margin-bottom: 0.5em;
  font-size: 0.85vw;
  margin-bottom: 0.42vw;
}
.modal .other-title {
  font-size: 1.14vw;
  font-weight: bold;
  text-align: left;
}
.modal .other-arrow {
  width: 2.5%;
  display: block;
  position: absolute;
  right: 0;
  bottom: 1.3em;
  bottom: 1.48vw;
}

.box1-navi, .box2-navi, .box4-navi {
  left: -9.4%;
  z-index: 10;
  width: 0.9vw;
  height: 1px;
  height: auto;
  margin-left: 11.43vw;
  margin-bottom: -1px;
}
.box1-navi img, .box2-navi img, .box4-navi img {
  width: 100%;
  height: auto;
  display: block;
}

.box1-navi {
  width: 1.1vw;
  height: auto;
  margin-left: 11.2vw;
}

.box2-navi {
  width: 1.06vw;
  height: auto;
  margin-left: 11.3vw;
}

.fade-char {
  opacity: 0;
}

span.fade-char {
  display: inline-block;
  will-change: transform, filter, opacity;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  -webkit-font-smoothing: antialiased;
}

.show .fade-char, svg.show .fade-char {
  -webkit-animation: fadeInChar 0.5s ease-out forwards;
          animation: fadeInChar 0.5s ease-out forwards;
}

@-webkit-keyframes fadeInChar {
  0% {
    opacity: 0;
    -webkit-transform: translateX(1em) translateZ(0);
            transform: translateX(1em) translateZ(0);
    -webkit-filter: blur(0.5em);
            filter: blur(0.5em);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0) translateZ(0);
            transform: translateX(0) translateZ(0);
    -webkit-filter: blur(0px);
            filter: blur(0px);
  }
}

@keyframes fadeInChar {
  0% {
    opacity: 0;
    -webkit-transform: translateX(1em) translateZ(0);
            transform: translateX(1em) translateZ(0);
    -webkit-filter: blur(0.5em);
            filter: blur(0.5em);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0) translateZ(0);
            transform: translateX(0) translateZ(0);
    -webkit-filter: blur(0px);
            filter: blur(0px);
  }
}

@media screen and (min-width: 769px) {
  .sp_only {
    display: none !important;
  }
  .header-logo:hover {
    -webkit-animation: blink_animation 0.6s ease-out;
            animation: blink_animation 0.6s ease-out;
  }
  .header-logo__text a:hover,
.header-logo__text a:link:hover,
.header-logo__text a:visited:hover {
    -webkit-animation: blink_animation 0.6s ease-out;
            animation: blink_animation 0.6s ease-out;
  }
  .box2-map-pin-animation__inner:nth-child(1) {
    -webkit-animation: zoonanime 1.5s ease-out infinite;
            animation: zoonanime 1.5s ease-out infinite;
  }
  .box2-list__item:hover .box2-list__num,
.box2-list__item:hover .box2-list__area,
.box2-list__item:hover .box2-list__text {
    -webkit-animation: blink_animation 0.6s ease-out;
            animation: blink_animation 0.6s ease-out;
  }
  .box2-list__item:hover .arrow {
    -webkit-transform: translateX(-1em);
        -ms-transform: translateX(-1em);
            transform: translateX(-1em);
  }
  .box4-column .column-list li:hover .column-list__pic img {
    -webkit-transform: scale(1.1);
        -ms-transform: scale(1.1);
            transform: scale(1.1);
  }
  .box4-column .column-list li:hover .column-list__subtitle,
.box4-column .column-list li:hover .column-list__title,
.box4-column .column-list li:hover .link {
    -webkit-animation: blink_animation 0.6s ease-out;
            animation: blink_animation 0.6s ease-out;
  }
  .footer-logo:hover {
    -webkit-animation: blink_animation 0.6s ease-out;
            animation: blink_animation 0.6s ease-out;
  }
  .footer-pic:hover {
    -webkit-animation: blink_animation 0.6s ease-out;
            animation: blink_animation 0.6s ease-out;
  }
  .modal__close:hover {
    -webkit-transform: rotateZ(270deg);
        -ms-transform: rotate(270deg);
            transform: rotateZ(270deg);
  }
  .modal__content.modal__content-2 .timeline-item:nth-child(1)::before {
    left: -30.7%;
  }
  .modal__content.modal__content-2 .timeline-item:nth-child(2) {
    top: 16.2%;
  }
  .modal__content.modal__content-2 .timeline-item:nth-child(2)::before {
    right: -22.6%;
  }
  .modal__content.modal__content-2 .timeline-item:nth-child(2)::after {
    width: 19%;
    right: -21.6%;
  }
  .modal__content.modal__content-2 .timeline-item:nth-child(3) {
    margin-bottom: 9.3vw;
  }
  .modal__content.modal__content-2 .timeline-item:nth-child(3):before {
    left: -42%;
  }
  .modal__content.modal__content-2 .timeline-item:nth-child(3):after {
    width: 38%;
    left: -41%;
  }
  .modal__content.modal__content-2 .timeline-item:nth-child(4) {
    top: 56.1%;
  }
  .modal__content.modal__content-2 .timeline-item:nth-child(4)::before {
    right: -20.6%;
  }
  .modal__content.modal__content-2 .timeline-item:nth-child(4):after {
    width: 16.5%;
    right: -19%;
  }
  .modal__content.modal__content-2 .timeline-item:last-child::before {
    left: -32.8%;
  }
  .modal__content.modal__content-2 .timeline-item:last-child:after {
    width: 29%;
    left: -32%;
  }
  .modal__content.modal__content-2 .timeline-bg.timeline-bg-3 {
    right: -10.7%;
    top: 32.8%;
  }
  .modal__content.modal__content-2 .timeline-bg.timeline-bg-4 {
    top: 34.2%;
  }
  .modal__content.modal__content-2 .timeline-bg.timeline-bg-5 {
    top: 63.7%;
  }
  .modal__content.modal__content-2 .modal-other {
    margin-top: -5.3vw;
  }
  .modal__content.modal__content-3 .modal-process {
    margin-bottom: -10.7vw;
  }
  .modal__content.modal__content-3 .timeline-item:nth-child(1) {
    margin-bottom: 13.4vw;
  }
  .modal__content.modal__content-3 .timeline-item:nth-child(2) {
    top: 19.9%;
  }
  .modal__content.modal__content-3 .timeline-item:nth-child(2):before {
    right: -20.8%;
  }
  .modal__content.modal__content-3 .timeline-item:nth-child(2):after {
    width: 16%;
    right: -20%;
  }
  .modal__content.modal__content-3 .timeline-item:nth-child(3) {
    margin-bottom: 29.2vw;
  }
  .modal__content.modal__content-3 .timeline-item:nth-child(3):before {
    left: -43.6%;
  }
  .modal__content.modal__content-3 .timeline-item:nth-child(4) {
    top: 63.1%;
  }
  .modal__content.modal__content-3 .timeline-item:nth-child(4):before {
    right: -23.1%;
  }
  .modal__content.modal__content-3 .timeline-item:nth-child(4):after {
    width: 19.5%;
    right: -22%;
  }
  .modal__content.modal__content-3 .timeline-item:last-child:before {
    left: -31.2%;
  }
  .modal__content.modal__content-3 .timeline-item:last-child::after {
    left: -30%;
  }
  .modal__content.modal__content-4 .modal-process {
    margin-bottom: -8.8vw;
  }
  .modal__content.modal__content-4 .timeline-item:nth-child(1):before {
    left: -30.5%;
  }
  .modal__content.modal__content-4 .timeline-item:nth-child(2) {
    top: 13.9%;
  }
  .modal__content.modal__content-4 .timeline-item:nth-child(2):before {
    right: -23.7%;
  }
  .modal__content.modal__content-4 .timeline-item:nth-child(3) {
    margin-bottom: 16.4vw;
  }
  .modal__content.modal__content-4 .timeline-item:nth-child(3):before {
    left: -45.5%;
  }
  .modal__content.modal__content-4 .timeline-item:nth-child(3):after {
    width: 41.4%;
    left: -45%;
  }
  .modal__content.modal__content-4 .timeline-item:nth-child(4) {
    top: 54.9%;
  }
  .modal__content.modal__content-4 .timeline-item:nth-child(4):before {
    right: -18.3%;
  }
  .modal__content.modal__content-4 .timeline-item:nth-child(4):after {
    width: 15.7%;
    right: -18%;
  }
  .modal__content.modal__content-4 .timeline-item:last-child:before {
    left: -32.1%;
  }
  .modal__content.modal__content-4 .timeline-item:last-child:after {
    width: 27%;
    left: -31%;
  }
  .modal__content.modal__content-5 .modal-process {
    margin-bottom: -6.5vw;
  }
  .modal__content.modal__content-5 .timeline-item:nth-child(1) {
    margin-bottom: 6vw;
  }
  .modal__content.modal__content-5 .timeline-item:nth-child(2) {
    top: 15.6%;
  }
  .modal__content.modal__content-5 .timeline-item:nth-child(2):before {
    right: -23.3%;
  }
  .modal__content.modal__content-5 .timeline-item:nth-child(2):after {
    width: 20%;
    right: -22%;
  }
  .modal__content.modal__content-5 .timeline-item:nth-child(3) {
    margin-bottom: 7.5vw;
  }
  .modal__content.modal__content-5 .timeline-item:nth-child(3):before {
    left: -42.5%;
  }
  .modal__content.modal__content-5 .timeline-item:nth-child(3):after {
    width: 38%;
    left: -42%;
  }
  .modal__content.modal__content-5 .timeline-item:nth-child(4) {
    top: 55.5%;
  }
  .modal__content.modal__content-5 .timeline-item:nth-child(4):before {
    right: -19.5%;
  }
  .modal__content.modal__content-5 .timeline-item:nth-child(4):after {
    width: 16.5%;
    right: -19%;
  }
  .modal__content.modal__content-5 .timeline-item:last-child:before {
    left: -31.2%;
  }
  .modal__content.modal__content-5 .timeline-item:last-child:after {
    width: 28%;
    left: -31%;
  }
  .modal__content.modal__content-6 .modal-process {
    margin-bottom: -3vw;
  }
  .modal__content.modal__content-6 .timeline-item:nth-child(1) {
    margin-bottom: 8vw;
  }
  .modal__content.modal__content-6 .timeline-item:nth-child(2) {
    top: 15.7%;
  }
  .modal__content.modal__content-6 .timeline-item:nth-child(2):before {
    right: -22.7%;
  }
  .modal__content.modal__content-6 .timeline-item:nth-child(3) {
    margin-bottom: 7.6vw;
  }
  .modal__content.modal__content-6 .timeline-item:nth-child(3):before {
    left: -42.5%;
  }
  .modal__content.modal__content-6 .timeline-item:nth-child(3):after {
    width: 38%;
    left: -41%;
  }
  .modal__content.modal__content-6 .timeline-item:nth-child(4) {
    top: 53%;
  }
  .modal__content.modal__content-6 .timeline-item:nth-child(4):before {
    right: -20%;
  }
  .modal__content.modal__content-6 .timeline-item:nth-child(4):after {
    width: 16.5%;
    right: -20%;
  }
  .modal__content.modal__content-6 .timeline-item:last-child:before {
    left: -31.1%;
  }
  .modal__content.modal__content-6 .timeline-item:last-child:after {
    width: 27%;
    left: -30%;
  }
  .modal .timeline-item:nth-child(2n) .timeline-title,
.modal .timeline-item:nth-child(2n) .timeline-date {
    text-align: right;
  }
  .modal .timeline-item:nth-child(1) {
    margin-top: 8.8%;
  }
  .modal .timeline-item:nth-child(1)::before {
    left: -30.6%;
  }
  .modal .timeline-item:nth-child(1):after {
    width: 26%;
    left: -29%;
  }
  .modal .timeline-item:nth-child(2) {
    top: 13.4%;
  }
  .modal .timeline-item:nth-child(2)::before {
    right: -24%;
  }
  .modal .timeline-item:nth-child(2):after {
    width: 20%;
    right: -23%;
  }
  .modal .timeline-item:nth-child(3)::before {
    left: -44.2%;
  }
  .modal .timeline-item:nth-child(3):after {
    width: 40%;
    left: -43%;
  }
  .modal .timeline-item:nth-child(4) {
    top: 47.5%;
  }
  .modal .timeline-item:nth-child(4)::before {
    right: -16.6%;
  }
  .modal .timeline-item:nth-child(4):after {
    width: 12.5%;
    right: -15%;
  }
  .modal .timeline-item:last-child::before {
    left: -29.7%;
  }
  .modal .timeline-item:last-child:after {
    width: 26%;
    left: -29%;
  }
  .modal-other__list li.modal-other__item:nth-child(4) .other-arrow {
    bottom: 2.2vw;
  }
  .modal-other__list li.modal-other__item:nth-child(5), .modal-other__list li.modal-other__item:nth-child(6) {
    padding-bottom: 1.6vw;
  }
  .modal-other__list li.modal-other__item:nth-child(5) .other-area, .modal-other__list li.modal-other__item:nth-child(6) .other-area {
    margin-bottom: 1.3vw;
  }
  .modal-other__list li.modal-other__item:nth-child(5) .other-arrow, .modal-other__list li.modal-other__item:nth-child(6) .other-arrow {
    bottom: 2.2vw;
  }
}

@media screen and (min-width: 1281px) {
  html {
    font-size: 16px;
  }
}

@media screen and (max-width: 768px) {
  body {
    font-size: 3.73vw;
  }
  .pc_only {
    display: none !important;
  }
  body {
    font-size: 3.73vw;
  }
  #wrapper {
    min-width: 100%;
    overflow: hidden;
  }
  .pc {
    display: none !important;
  }
  .sp {
    display: block !important;
  }
  html {
    font-size: 4.26vw;
    -webkit-text-size-adjust: 100%;
  }
  .box-inner {
    width: 90%;
  }
  .header {
    padding: 5.3vw 5vw;
  }
  .header-logo-area {
    width: 100%;
    gap: 0;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .header-logo {
    width: 14.93vw;
  }
  .header-logo__text {
    font-size: 2.93vw;
  }
  @supports (-webkit-touch-callout: none) {
    .kv {
      height: 100svh;
    }
  }
  .kv-bg {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .kv-bg img {
    width: 100%;
    height: 50%;
  }
  .kv-inner {
    top: 42%;
    top: 50%;
    width: 100%;
  }
  .kv-logo {
    width: clamp(150px, 40vh, 58.33vw);
    display: block;
    margin: 0 auto;
  }
  .kv-copy-area {
    width: 88%;
    left: 5%;
    bottom: clamp(15px, 5vh, 6.6vw);
  }
  .kv-copy__sub {
    font-size: clamp(10px, 2vh, 3.2vw);
    margin-bottom: clamp(5px, 2vh, 3vw);
  }
  .kv-copy__main {
    font-size: clamp(18px, 5vh, 7vw);
    letter-spacing: -0.08em;
    line-height: 1.45;
  }
  .kv-copy {
    font-size: 4vw;
  }
  .box {
    padding: 10vw 0;
  }
  .box1 {
    padding-top: 19.7vw;
    margin-bottom: 30.3vw;
  }
  .box1-bg {
    left: 0;
    top: 84.3vw;
    width: 100%;
  }
  .box1-title {
    width: 60vw;
    margin-bottom: 114.7vw;
    position: relative;
    z-index: 2;
  }
  .box1-title__main {
    margin-bottom: 3.7vw;
  }
  .box1-title__sub {
    width: 43.5vw;
  }
  .box1-pics img {
    width: 100%;
  }
  .box1-pic1 {
    width: 40.93vw;
    right: -5vw;
    top: 52.3vw;
    top: 69.3vw;
  }
  .box1-pic2 {
    width: 38.66vw;
    left: 0;
    top: 130.2vw;
  }
  .box1-desc {
    font-size: 4vw;
    width: 88%;
    left: 5.5%;
    padding-bottom: 41.5vw;
    z-index: 2;
  }
  .box1-desc h3 {
    font-size: 5.06vw;
    margin-bottom: 10.8vw;
  }
  .box1-desc p {
    font-size: 3.73vw;
    margin-bottom: 8.4vw;
  }
  .box1-fog-bottom__pic1 {
    bottom: -44vw;
  }
  .box1-fog-bottom__pic2 {
    bottom: -40vw;
  }
  .box1-fog-bottom__pic3 {
    bottom: -41vw;
  }
  .box2 {
    padding: 35.8vw 0 55vw;
    background-image: url(../img/box2-bg-sp.webp);
  }
  .box2 .box-inner {
    width: 90vw;
  }
  .box2-header {
    margin-bottom: 0;
  }
  .box2-title {
    margin-bottom: 8.2vw;
  }
  .box2-title__main {
    width: 78vw;
    margin: 0;
    margin-bottom: 3.3vw;
  }
  .box2-title__sub {
    width: 57.4vw;
  }
  .box2-textarea {
    margin-bottom: 8vw;
    font-size: 3.5vw;
  }
  .box2-textarea p {
    font-size: 3.73vw;
  }
  .box2-map-area {
    position: relative;
    width: 83.03vw;
    left: -5.6%;
    right: auto;
    top: auto;
    margin-bottom: -51.6vw;
  }
  .box2-map-btn {
    font-size: 2.8vw;
  }
  .box2-map-btn-1 {
    right: -12.7%;
    top: 10.8%;
  }
  .box2-map-btn-2 {
    right: -13%;
    top: 19.1%;
  }
  .box2-map-btn-3 {
    right: -13%;
    top: 28%;
  }
  .box2-map-btn-4 {
    left: 5.9%;
    right: auto;
    top: 36.8%;
  }
  .box2-map-btn-5 {
    left: 5.9%;
    right: auto;
    top: 31.8%;
  }
  .box2-map-btn-6 {
    left: 5.9%;
    right: auto;
    top: 26.3%;
  }
  .box2-map-pin-area {
    width: 1.06vw;
  }
  .box2-map-pin-area-1 {
    right: 34%;
    top: 6.9%;
  }
  .box2-map-pin-area-2 {
    right: 57.1%;
    top: 12.2%;
  }
  .box2-map-pin-area-3 {
    top: 20.1%;
  }
  .box2-map-pin-area-4 {
    right: 51.7%;
    top: 20.5%;
  }
  .box2-map-pin-area-5 {
    right: 51.1%;
    top: 18.7%;
  }
  .box2-map-pin-area-6 {
    right: 53.2%;
    top: 19.2%;
  }
  .box2-list.show {
    -webkit-transform: translate(-50%, 0);
        -ms-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
  }
  .box2-list {
    width: 100%;
    padding: 4.5vw 5.5% 0.7vw;
    border-radius: 2vw;
    left: 50%;
    -webkit-transform: translate(-50%, 1em);
        -ms-transform: translate(-50%, 1em);
            transform: translate(-50%, 1em);
  }
  .box2-list__item:nth-child(3) .box2-list__text {
    white-space: nowrap;
    top: 3vw;
  }
  .box2-list__item {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 47.2%;
        -ms-flex: 0 0 47.2%;
            flex: 0 0 47.2%;
    margin-bottom: 4.3vw;
    padding-bottom: 2.5vw;
  }
  .box2-list__item:nth-child(3) .arrow, .box2-list__item:nth-child(4) .arrow {
    bottom: 6.9vw;
  }
  .box2-list__item .arrow {
    width: 2.13vw;
    bottom: 8vw;
  }
  .box2-list__num {
    font-size: 2.7vw;
    margin-bottom: 1.6vw;
  }
  .box2-list__area {
    font-size: 3.2vw;
    margin-bottom: 1.4vw;
  }
  .box2-list__text {
    font-size: 4vw;
    font-weight: 900;
    padding-right: 5.7vw;
    line-height: 1.45;
  }
  .box3 {
    padding-top: 35.7vw;
  }
  .box3-bg {
    width: 626.8vw;
    -webkit-animation: box3slider 80s linear 0s infinite;
            animation: box3slider 80s linear 0s infinite;
  }
  .box4 {
    padding-top: 23.7vw;
    padding-bottom: 35.8vw;
  }
  .box4 .box-inner {
    width: 90vw;
  }
  .box4-grid {
    margin-bottom: 6vw;
  }
  .box4-title {
    margin-bottom: 8vw;
  }
  .box4-title__main {
    width: 51.33vw;
    margin: 0;
    margin-bottom: 6.7vw;
  }
  .box4-title__sub {
    width: 46.4vw;
  }
  .box4-column .column-subtitle {
    font-size: 4.5vw;
    margin-bottom: 2vw;
  }
  .box4-column .box4-textarea {
    font-size: 3.5vw;
    margin-bottom: 17.7vw;
  }
  .box4-column .box4-textarea p {
    font-size: 3.73vw;
  }
  .box4-column .column-list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .box4-column .column-list li {
    width: 100%;
    margin-bottom: 12.1vw;
  }
  .box4-column .column-list li:last-child {
    margin-bottom: 0;
  }
  .box4-column .column-list li .column-list__label {
    font-size: 4.5vw;
    padding-top: 3.7vw;
    margin-bottom: 6.2vw;
  }
  .box4-column .column-list li .column-list__pic {
    margin-bottom: 8.2vw;
  }
  .box4-column .column-list li .column-list__subtitle {
    font-size: 3vw;
    margin-bottom: 2.4vw;
  }
  .box4-column .column-list li .column-list__title {
    font-size: 5.08vw;
    margin-bottom: 6.2vw;
  }
  .box4-column .column-list li .link {
    font-size: 4vw;
    padding-bottom: 4.8vw;
  }
  .box4-column .column-list li .link img {
    width: 4.6vw;
  }
  .footer {
    padding: 0;
  }
  .footer-bg {
    height: 120vw;
  }
  .footer-bg img {
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .footer-inner {
    width: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    bottom: 19vw;
  }
  .footer-logo {
    width: 24vw;
    -webkit-box-ordinal-group: 4;
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3;
    margin-bottom: 4.6vw;
  }
  .footer-pic {
    position: relative;
    width: 23.33vw;
    left: auto;
    top: auto;
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
    margin: 0 auto 8vw;
  }
  .footer .copyright {
    font-size: 2.93vw;
    -webkit-box-ordinal-group: 5;
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4;
    width: 100%;
  }
  .modal__inner {
    top: 50%;
  }
  .modal-close__inner {
    width: 90.3%;
    height: 9.53vw;
    margin-bottom: 3.66vw;
  }
  .modal__close {
    width: 10.26vw;
    height: 10.26vw;
  }
  .modal__wrap-content {
    width: 100%;
  }
  .modal__wrap-content:before {
    height: 3.75vw;
  }
  .modal__wrap-content:after {
    height: 3.75vw;
  }
  .modal__wrap {
    padding: 3.75vw 0 3.75vw;
    max-height: 75vh;
  }
  .modal .custom-scrollbar {
    top: 4.5vw;
    width: 1.5vw;
    height: calc(100% - 8.5vw);
    border-radius: 2vw;
  }
  .modal__content {
    padding: 0 4.8%;
  }
  .modal__content.modal__content-2 .modal-map-line {
    width: 41.2%;
    left: 48.5%;
    right: auto;
    top: 12.9%;
  }
  .modal__content.modal__content-2 .modal-map-text {
    right: -1.6%;
    top: 21.6%;
  }
  .modal__content.modal__content-2 .timeline-bg .timeline-bg-1 {
    right: -14%;
    top: -4.6%;
  }
  .modal__content.modal__content-2 .timeline-bg .timeline-bg-2 {
    left: -5.5%;
    top: -25.2%;
  }
  .modal__content.modal__content-2 .timeline-bg.timeline-bg-3 {
    width: 33.95%;
    right: -3.5%;
    top: 43.6%;
  }
  .modal__content.modal__content-2 .timeline-bg.timeline-bg-4 {
    left: -51.6%;
    top: 22.2%;
  }
  .modal__content.modal__content-2 .timeline-bg.timeline-bg-5 {
    right: -5.5%;
    top: 72.66%;
  }
  .modal__content.modal__content-3 .modal-map-line {
    width: 27.7%;
    left: 62%;
    right: auto;
    top: 21%;
  }
  .modal__content.modal__content-3 .modal-map-text {
    right: -1%;
    top: 21.3%;
  }
  .modal__content.modal__content-3 .modal-pic-title {
    font-size: 3.7vw;
    margin-bottom: 2.8vw;
  }
  .modal__content.modal__content-3 .modal-pics {
    margin-bottom: 13.7vw;
  }
  .modal__content.modal__content-3 .modal-pics.modal-pics-1 {
    margin-bottom: 35.2vw;
  }
  .modal__content.modal__content-3 .timeline-bg.timeline-bg-2 {
    left: -5.5%;
    top: -18.5%;
  }
  .modal__content.modal__content-3 .timeline-bg.timeline-bg-3 {
    right: -14.5%;
    top: 48.3%;
  }
  .modal__content.modal__content-3 .timeline-bg.timeline-bg-4 {
    left: -5.8%;
    top: 23.7%;
  }
  .modal__content.modal__content-3 .timeline-bg.timeline-bg-5 {
    top: 61%;
  }
  .modal__content.modal__content-3 .timeline-bg.timeline-bg-6 {
    display: block;
    bottom: -4.9%;
  }
  .modal__content.modal__content-4 .timeline-bg.timeline-bg-1 {
    top: -3.2%;
  }
  .modal__content.modal__content-4 .timeline-bg.timeline-bg-2 {
    top: -17.5%;
  }
  .modal__content.modal__content-4 .timeline-bg.timeline-bg-3 {
    top: 34.1%;
  }
  .modal__content.modal__content-4 .timeline-bg.timeline-bg-4 {
    left: -21%;
    top: 21.6%;
  }
  .modal__content.modal__content-4 .timeline-bg.timeline-bg-5 {
    right: -5.5%;
    top: 61.3%;
  }
  .modal__content.modal__content-4 .timeline-bg.timeline-bg-6 {
    bottom: -5.1%;
  }
  .modal__content.modal__content-4 .modal-map-pin-area {
    right: 43.6%;
    top: 20.6%;
  }
  .modal__content.modal__content-4 .modal-map-line {
    width: 35%;
    left: 55%;
    right: auto;
    top: 21.2%;
  }
  .modal__content.modal__content-4 .modal-map-text {
    top: 21.2%;
  }
  .modal__content.modal__content-5 .modal-map-pin-area {
    right: 43%;
    top: 18.8%;
  }
  .modal__content.modal__content-5 .modal-map-line {
    width: 34%;
    left: 56%;
    right: auto;
    top: 19.3%;
  }
  .modal__content.modal__content-5 .modal-map-text {
    top: 21.5%;
  }
  .modal__content.modal__content-5 .timeline-bg.timeline-bg-1 {
    top: -2.9%;
  }
  .modal__content.modal__content-5 .timeline-bg.timeline-bg-2 {
    top: -16.5%;
  }
  .modal__content.modal__content-5 .timeline-bg.timeline-bg-3 {
    right: -3%;
    top: 42.4%;
  }
  .modal__content.modal__content-5 .timeline-bg.timeline-bg-4 {
    left: -17.6%;
    top: 20.9%;
  }
  .modal__content.modal__content-5 .timeline-bg.timeline-bg-5 {
    right: -6%;
    top: 66.4%;
  }
  .modal__content.modal__content-5 .timeline-bg.timeline-bg-6 {
    display: block;
    bottom: -4.2%;
  }
  .modal__content.modal__content-6 .modal-map-pin-area {
    right: 46%;
    top: 19.4%;
  }
  .modal__content.modal__content-6 .modal-map-text {
    top: 21.2%;
  }
  .modal__content.modal__content-6 .modal-map-line {
    width: 37%;
    left: 53%;
    right: auto;
    top: 19.8%;
  }
  .modal__content.modal__content-6 .timeline-bg.timeline-bg-1 {
    top: -3.9%;
  }
  .modal__content.modal__content-6 .timeline-bg.timeline-bg-2 {
    top: -20%;
  }
  .modal__content.modal__content-6 .timeline-bg.timeline-bg-3 {
    left: auto;
    right: -2.4%;
    top: 45.6%;
  }
  .modal__content.modal__content-6 .timeline-bg.timeline-bg-4 {
    left: -6%;
    right: auto;
    top: 24.2%;
  }
  .modal__content.modal__content-6 .timeline-bg.timeline-bg-5 {
    right: -6%;
    top: 70.9%;
  }
  .modal__content.modal__content-6 .timeline-bg.timeline-bg-6 {
    left: -10.5%;
    bottom: -5.2%;
  }
  .modal-top {
    width: 100%;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    margin-top: 4.5vw;
    margin-bottom: -71.7vw;
  }
  .modal-top__left {
    width: 100%;
    margin-bottom: 9.4vw;
  }
  .modal-area {
    font-size: 4vw;
    margin-bottom: 3.4vw;
    padding-top: 25vw;
  }
  .modal-title {
    font-size: 6.93vw;
    margin-bottom: 7.3vw;
  }
  .modal-subtitle {
    font-size: 4.53vw;
    right: -54vw;
    top: auto;
  }
  .modal-desc p {
    font-size: 4vw;
  }
  .modal-no {
    width: 29.3vw;
    top: 0vw;
  }
  .modal-map {
    width: 265%;
    position: relative;
    left: -69%;
    right: auto;
    top: auto;
  }
  .modal-map-text {
    font-size: 2.8vw;
    font-weight: 500;
    right: -1%;
    top: 21.4%;
  }
  .modal-map-line {
    width: 15%;
    right: 10%;
    top: 7.5%;
  }
  .modal-map-pin-area {
    width: 1.73vw;
    right: 24%;
    top: 6.8%;
  }
  .modal-pics {
    width: 100%;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    margin-bottom: 35.3vw;
  }
  .modal-pics img {
    width: 100%;
  }
  .modal-process {
    margin-bottom: 33.8vw;
  }
  .modal-process__header {
    margin-bottom: 14.3vw;
  }
  .modal-process-title {
    gap: 5.3vw;
    z-index: 1;
  }
  .modal-process-title__main {
    width: 30vw;
  }
  .modal-process-title__sub {
    font-size: 3.46vw;
  }
  .modal .process-current {
    font-size: 3.73vw;
    letter-spacing: 0.05em;
    margin-bottom: 8.42vw;
  }
  .modal .process-timeline:before {
    content: " ";
    display: block;
    width: 1px;
    height: 99.3%;
    position: absolute;
    left: 1.7%;
    top: 0.4%;
    background-color: #ddddde;
  }
  .modal .timeline-start {
    width: 39.73vw;
    left: 6.9vw;
    margin: 0;
    margin-bottom: 16.5vw;
  }
  .modal .timeline-start:before {
    width: 3.2vw;
    left: -7vw;
    top: 40%;
    bottom: auto;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .modal .timeline-bg.timeline-bg-1 {
    width: 66.57%;
    right: -14%;
    top: -3.9%;
  }
  .modal .timeline-bg.timeline-bg-2 {
    width: 69.41%;
    left: -5.5%;
    top: -22%;
  }
  .modal .timeline-bg.timeline-bg-3 {
    width: 33.95%;
    right: -3.5%;
    top: 54.3%;
  }
  .modal .timeline-bg.timeline-bg-4 {
    width: 82.66%;
    left: -41.6%;
    top: 17.4%;
  }
  .modal .timeline-bg.timeline-bg-5 {
    width: 60.36%;
    right: -5.5%;
    top: 55.66%;
  }
  .modal .timeline-bg.timeline-bg-6 {
    width: 78.69%;
    left: -5.5%;
    bottom: -4.2%;
  }
  .modal .timeline-row {
    padding-left: 12vw;
    position: relative;
    left: auto;
    top: auto;
  }
  .modal .timeline-item {
    width: 100%;
    left: auto;
    margin-bottom: 15.71vw;
  }
  .modal .timeline-item::before {
    width: 1.6vw;
    left: -11.2vw;
    top: 0.6vw;
  }
  .modal .timeline-item:after {
    width: 9.7vw;
    left: -11vw;
    top: 1.2vw;
  }
  .modal .timeline-item:nth-child(2n) {
    position: relative;
    left: auto;
    margin-bottom: 15.71vw;
  }
  .modal .timeline-date {
    font-size: 3.6vw;
    margin-bottom: 3.3vw;
  }
  .modal .timeline-pic {
    padding-top: 2vw;
    margin-bottom: 4.14vw;
  }
  .modal .timeline-title {
    font-size: 4.9vw;
    margin-bottom: 3.5vw;
  }
  .modal .timeline-desc {
    font-size: 3.5vw;
  }
  .modal-other__header {
    margin-bottom: 16.2vw;
  }
  .modal-other__title {
    gap: 5.3vw;
  }
  .modal-other-title__main {
    width: 28.26vw;
  }
  .modal-other-title__sub {
    font-size: 3.46vw;
    top: -2.7vw;
  }
  .modal-other__list li.modal-other__item {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    padding-bottom: 2.6vw;
    margin-bottom: 1.8vw;
  }
  .modal-other__list li.modal-other__item:nth-child(4) .other-title {
    margin-top: -6vw;
  }
  .modal .other-no {
    font-size: 2.8vw;
    margin-bottom: 1.8vw;
  }
  .modal .other-area {
    font-size: 3vw;
    margin-bottom: 1.3vw;
  }
  .modal .other-title .hide-in-other {
    display: inline-block;
    white-space: nowrap;
  }
  .modal .other-title {
    font-size: 4.26vw;
  }
  .modal .other-arrow {
    width: 2.13vw;
    right: 1.2%;
    bottom: 4.5vw;
  }
}
/*# sourceMappingURL=index.css.map */