@import url("https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@400;500;700");
.page.top:not(.end-anm) #header, .page.top:not(.end-anm) #footer {
  opacity: 0;
  pointer-events: none;
}
@media (max-width: 767px) {
  .page.top .l-main .l-container {
    padding-left: 2.5641025641vw;
    padding-right: 2.5641025641vw;
  }
}
.page.top .kv .l-row {
  height: 100vh;
  height: 100svh;
}
@media (max-width: 767px) {
  .page.top .kv .l-row {
    grid-template-columns: 28.4375vw 1fr;
  }
}
@media (min-width: 768px) {
  .page.top .kv .l-col.-left {
    padding-top: min(5.46875vw, 70px);
  }
}
@media (max-width: 767px) {
  .page.top .kv .l-col.-left {
    position: fixed;
    padding: 5.1282051282vw 2.3076923077vw 7.6923076923vw;
    left: 0;
    right: 0;
    z-index: 50;
    top: 0;
    background-color: #fff;
    white-space: nowrap;
  }
}
.page.top .kv .l-col.-right {
  -ms-flex-item-align: center;
      align-self: center;
}
.page.top .kv_title {
  line-height: 1;
}
.page.top .kv_title img {
  width: 257px;
}
@media (max-width: 767px) {
  .page.top .kv_title {
    font-size: 7.8128205128vw;
  }
  .page.top .kv_title img {
    width: 35.8974358974vw;
  }
}
.page.top .kv_subtitle {
  position: absolute;
  margin-top: 0.3vw;
  font-size: 20px;
  font-weight: 800;
  letter-spacing: -0.02em;
  font-family: "helvetica-neue-lt-pro", sans-serif;
  font-style: italic;
  display: none;
}
@media (max-width: 767px) {
  .page.top .kv_subtitle {
    font-size: 3.0769230769vw;
  }
}
.page.top .kv_text {
  font-size: min(2.0183486239vw, 20px);
  line-height: 2;
}
.page.top .kv_text:nth-of-type(n+2) {
  margin-top: 2em;
}
@media (max-width: 767px) {
  .page.top .kv_text {
    font-size: 3.8461538462vw;
    letter-spacing: 0;
  }
}