@charset "UTF-8";
.lAnchorLinks {
  position: -webkit-sticky;
  position: sticky;
  z-index: 1;
  will-change: transform;
  width: 100%;
  height: 100vh;
  margin-top: -100vh;
}
.bTablet .lAnchorLinks,
.lAnchorLinks-list {
  position: fixed;
}
.lAnchorLinks-content {
  display: flex;
  align-items: center;
  overflow: hidden;
}
.lAnchorLinks-text {
  position: relative;
  color: #fefefe;
  display: flex;
  align-items: center;
}
.lAnchorLinks-text:before {
  content: "";
  display: block;
  height: 2px;
  background: #fff;
}
.lBanner-link {
  position: relative;
  display: flex;
  place-items: center;
}
.lBanner-title-image {
  width: auto;
}
.lBanner .visuallyHidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
  white-space: nowrap;
  border-width: 0;
}
.lBanner-description {
  opacity: 0.6;
  font-weight: 300;
}
.-white .lBanner-description {
  color: #fff;
}
.lBanner-button {
  position: absolute;
}
.-white .lBanner-button {
  opacity: 0.7;
}
.lBanner-background {
  overflow: hidden;
  position: absolute;
  inset: 0;
  z-index: -1;
}
.lBanner-background-image {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
  object-fit: cover;
}
.lCredits {
  border-top: 1px solid hsla(0, 0%, 100%, 0.1);
}
.lCredits-title {
  text-transform: uppercase;
  color: #fff;
  opacity: 0.2;
}
.lCredits-wrap {
  width: 100%;
}
.lCredits-columns {
  font-weight: 300;
}
.lCredits-col {
  display: grid;
}
.lCredits-item,
.lCredits-year {
  color: #fff;
  opacity: 0.5;
}
.lCredits-year {
  font-weight: 300;
}
.lCredits-name {
  line-height: 1.5;
}
.lKv {
  height: 100vh;
  position: relative;
}
.lOverview-head {
  display: grid;
}
.lOverview-lead {
  color: #fff;
}
.lOverview-lead .-light {
  font-weight: 300;
  letter-spacing: -0.055em;
}
.lOverview-lead .-bold,
.lOverview-lead .-light {
  font-family: Galano Grotesque, YuGothic, 游ゴシック, Hiragino Kaku Gothic ProN,
    Hiragino Sans, Meiryo, sans-serif;
}
.lOverview-lead .-bold {
  font-weight: 500;
  letter-spacing: -0.04em;
}
.lOverview-lead-text {
  overflow: hidden;
  padding-block: 5px;
  margin-block: -5px;
}
.lOverview-description {
  color: #fff;
}
.lOverview-inner {
  background-image: linear-gradient(180deg, #fefefe, 30%, transparent);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: #fefefe;
  opacity: 0.5;
  display: block;
  font-family: Roboto, YuGothic, 游ゴシック, Hiragino Kaku Gothic ProN,
    Hiragino Sans, Meiryo, sans-serif;
  font-weight: 400;
  font-weight: 300;
}
.lOverview .-rectangle-link {
  transition: opacity 0.5s cubic-bezier(0.23, 1, 0.32, 1);
}
[data-whatintent="mouse"] .lOverview .-rectangle-link:hover {
  opacity: 1;
}
.lOverview-gallery {
  display: grid;
}
.lOverview-gallery-image {
  overflow: hidden;
}
.lOverview-gallery-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
article {
  position: relative;
  background-color: #2a2a2a;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .lAnchorLinks {
    position: fixed;
  }
  .lAnchorLinks-list {
    left: 1.5rem;
    bottom: 11.875rem;
  }
  .lAnchorLinks-text {
    font-size: 0.75rem;
    letter-spacing: 0.1em;
    gap: 0.625rem;
  }
  .lAnchorLinks-text:before {
    margin-bottom: 0.03125rem;
    width: 0.625rem;
  }
  .lBanner-link {
    height: 15.9375rem;
  }
  .lBanner-content {
    padding-left: 1.25rem;
  }
  .lBanner-title-image {
    height: 2.03125rem;
  }
  .lBanner-description {
    margin-top: 0.625rem;
    width: 17.8125rem;
    font-size: 0.9375rem;
    line-height: 1.6666666667;
  }
  .lBanner-button {
    right: 1.25rem;
    bottom: 1.25rem;
  }
  .lBanner-background-image {
    height: 100%;
  }
  .lCredits {
    margin-top: 5.625rem;
    padding-top: 5.625rem;
  }
  .lCredits-title {
    font-size: 1rem;
    padding-left: 1.25rem;
    letter-spacing: 0.075em;
  }
  .lCredits-wrap {
    margin-top: 2.8125rem;
    padding-inline: 5.9375rem 2.5rem;
  }
  .lCredits-columns {
    margin-top: 2.34375rem;
  }
  .lCredits-col {
    gap: 2.1875rem;
  }
  .lCredits-item,
  .lCredits-year {
    font-size: 0.875rem;
  }
  .lCredits-name {
    margin-top: 0.46875rem;
  }
  .lOverview {
    padding-block: 5.625rem;
    margin-top: -9.375rem;
  }
  .lOverview-head {
    gap: 2.8125rem;
    padding-inline: 1.25rem;
  }
  .lOverview-lead {
    font-size: 2.65625rem;
    line-height: 0.8888888889;
    letter-spacing: -0.048em;
  }
  .lOverview-description {
    font-size: 1rem;
    line-height: 1.625;
  }
  .lOverview-paragraph + .lOverview-paragraph {
    margin-top: 1.875rem;
  }
  .lOverview .-rectangle-link {
    margin-top: 2.8125rem;
  }
  .lOverview-gallery {
    border-top: 1px solid hsla(0, 0%, 100%, 0.1);
    padding-top: 5.625rem;
    margin-top: 5.625rem;
    padding-inline: 1.25rem;
    gap: 1.25rem;
  }
  .lOverview-gallery-image {
    border-radius: 2.25rem;
  }
  .lOverview-gallery-image:first-child {
    height: 34.875rem;
  }
  .lOverview-gallery-image:nth-child(2),
  .lOverview-gallery-image:nth-child(3) {
    height: 14.46875rem;
  }
}
@media screen and (min-width: 768px) {
  .lAnchorLinks-list {
    display: flex;
    left: 2.5rem;
    bottom: 25.9375rem;
  }
  .lAnchorLinks-text {
    font-size: 1.875rem;
    letter-spacing: 0.1em;
    gap: 1.375rem;
  }
  .lAnchorLinks-text:before {
    margin-bottom: 0.125rem;
    width: 1.5rem;
  }
  .lBanner-link {
    height: calc(62.5rem - 1px);
  }
  .lBanner-content {
    padding-left: 2.5rem;
  }
  .lBanner-title-image {
    height: 9.0625rem;
  }
  .lBanner-description {
    font-size: 2.25rem;
    line-height: 1.9375;
    margin-top: 2.5rem;
  }
  .lBanner-button {
    right: 2.5rem;
  }
  .lCredits {
    display: flex;
    gap: 69.1875rem;
    margin-top: 25rem;
    padding-top: 12.5rem;
    padding-inline: 2.5rem;
  }
  .lCredits-title {
    font-size: 1.875rem;
    letter-spacing: 0.075em;
  }
  .lCredits-columns {
    margin-top: 7.625rem;
  }
  .lCredits-col {
    grid-template-columns: repeat(2, 1fr);
    row-gap: 3.75rem;
  }
  .lCredits-item,
  .lCredits-year {
    font-size: 2rem;
  }
  .lCredits-name {
    margin-top: 0.9375rem;
  }
  .lOverview {
    padding-block: 25rem 12.5rem;
    margin-top: -18.5rem;
  }
  .lOverview-head {
    grid-template-columns: 1fr 1fr;
    padding-inline: 2.5rem;
    gap: 0.625rem;
  }
  .lOverview-lead {
    font-size: 8.125rem;
    line-height: 0.9615384615;
    letter-spacing: -0.04em;
  }
  .lOverview-description {
    font-size: 2.25rem;
    line-height: 1.7222222222;
  }
  .lOverview-paragraph + .lOverview-paragraph {
    margin-top: 4.0625rem;
  }
  .lOverview .-rectangle-link {
    margin-top: 11.875rem;
  }
  .lOverview-gallery {
    padding-inline: 2.5rem;
    margin-top: 25rem;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
    grid-column-gap: 10rem;
    grid-row-gap: 5rem;
    height: 123.5625rem;
  }
  .lOverview-gallery-image {
    border-radius: 8.125rem;
  }
  .lOverview-gallery-image:first-child {
    grid-area: 1/1/3/2;
  }
  .lOverview-gallery-image:nth-child(2) {
    grid-area: 1/2/2/3;
  }
  .lOverview-gallery-image:nth-child(3) {
    grid-area: 2/2/3/3;
  }
}
