@charset "UTF-8";
@import url("https://use.typekit.net/gcy2lyv.css");
.mv-ttl {
  max-width: 445px;
  margin-inline: auto;
  margin-bottom: 56px;
}

.mv-cv {
  max-width: 350px;
  margin-inline: auto;
  padding-bottom: 48px;
}

.mv-schedule {
  max-width: 700px;
  margin-inline: auto;
}

.lead-img {
  max-width: 720px;
  margin-inline: auto;
}

.map-ttl {
  margin-bottom: 32px;
}

.map-img {
  max-width: 800px;
  margin-inline: auto;
}

.mainVisual .filter-blue {
  -webkit-filter: drop-shadow(0px 0px 8px rgb(50, 121, 192));
          filter: drop-shadow(0px 0px 8px rgb(50, 121, 192));
}

.mv-main {
  position: relative;
}

.mv-address {
  font-size: 24px;
  letter-spacing: 0.08em;
  color: #fff;
  text-align: center;
  padding-bottom: 55px;
}

.mv-img {
  overflow: hidden;
}
.mv-img .img {
  width: 1920px;
  height: 1378px;
}
.mv-img .img p {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background: transparent url(../img/mv-img.png) no-repeat center center/cover;
}
.mv-img .img p .caption {
  position: absolute;
  z-index: 1;
  right: 40px;
  bottom: 65px;
}

.mv-fv {
  position: absolute;
  top: 191px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media (min-width: 768px) {
  .mv-fv {
    width: 75%;
  }
}

.layer {
  pointer-events: none;
  position: fixed;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 100vw;
  height: 100vh;
  max-width: 1920px;
  -o-object-fit: cover;
     object-fit: cover;
  background: transparent url(../img/layer-img.png) repeat-y center center/cover;
}
.layer .caption {
  position: absolute;
  right: 0;
  bottom: 15px;
}

.mv-fv-inr {
  height: 70vh; /* 画像を止めたい位置 */
}

.mv-cont {
  position: -webkit-sticky;
  position: sticky;
  width: 100%;
  left: 50%;
  top: 191px;
}

.mv-lead {
  position: relative;
  z-index: 1;
  padding: 250px 0 0;
  background-color: transparent;
}
.mv-lead::after {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 0;
  right: 0;
  height: 120px;
  background: transparent url(../img/mv-lead-line.svg) no-repeat center center/cover;
}
.mv-lead .lead-cont {
  max-width: 1200px;
  margin-inline: auto;
}
.mv-lead .sec-body {
  padding-bottom: 280px;
}

.sec-location {
  padding: 50px 0 180px;
}
@media (max-width: 1100px) {
  .sec-location {
    padding: 25px 0 90px;
  }
}
.sec-location .inr {
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}
.sec-location .imageBox {
  margin-top: 45px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 4px;
}
.sec-location .imageBox-item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.sec-location .imageBox .left {
  max-width: 910px;
  width: 47.3958333333%;
}
.sec-location .imageBox .center,
.sec-location .imageBox .right {
  width: 24.7916666667%;
  max-width: 476px;
}
.sec-location .imageBox .image .anim-up {
  -webkit-transition: 1.75s ease;
  transition: 1.75s ease;
}
.sec-location .imageBox .item-01 {
  width: 50%;
}
.sec-location .imageBox .item-01 .anim-up {
  -webkit-transition-delay: 100ms;
          transition-delay: 100ms;
}
.sec-location .imageBox .item-02 {
  width: 50%;
}
.sec-location .imageBox .item-02 .anim-up {
  -webkit-transition-delay: 400ms;
          transition-delay: 400ms;
}
.sec-location .imageBox .item-03 {
  width: 100%;
}
.sec-location .imageBox .item-03 .anim-up {
  -webkit-transition-delay: 550ms;
          transition-delay: 550ms;
}
.sec-location .imageBox .item-04 .anim-up {
  -webkit-transition-delay: 700ms;
          transition-delay: 700ms;
}
.sec-location .imageBox .item-05 .anim-up {
  -webkit-transition-delay: 850ms;
          transition-delay: 850ms;
}
.sec-location .imageBox .item-06 .anim-up {
  -webkit-transition-delay: 1000ms;
          transition-delay: 1000ms;
}
.sec-location .imageBox .img img {
  width: 100%;
}
.sec-location .imageBox .padding-right {
  padding-right: 2px;
}
.sec-location .imageBox .padding-left {
  padding-left: 2px;
}

.sec-access {
  padding: 120px 0 165px;
}

.sec-map {
  padding: 120px 0 80px;
}

.sec-outline .sec-head {
  padding-bottom: 80px;
}