@charset "utf-8";

/* .tower {
}
.tower__content {
} */
.tower__content__desc {
  position: -webkit-sticky;
  position: sticky;
  z-index: 1;
  top: 0;
  padding-block: 150px 0;
}
.tower__content__desc__enheading {
  --margin-bottom: calc(40 / 150 * -1em);
}
/* .tower__content__desc__heading {
} */
.tower__content__desc__copy {
  --margin-top: 60px;
  text-align: center;
}
.tower__content__photo {
  position: relative;
  z-index: 2;
  margin-top: 150px;
  overflow: hidden;
}
.tower__content__photo img {
  min-height: 100lvh;
  object-fit: cover;
  object-position: top center;
}
@media screen and (max-width: 767px){
  .tower__content__desc {
    padding-block: 80px 0;
  }
  .tower__content__desc__enheading {
    --margin-bottom: 40px;
  }
  .tower__content__desc__copy {
    --margin-top: 40px;
    text-align: justify;
  }
  .tower__content__photo {
    margin-top: 80px;
  }
}



/* .concept {
} */
.concept__content {
  position: relative;
  z-index: 1;
  min-height: max(calc((1750 / 1920) * (var(--window-half-width) * 2)), 1500px);
  box-sizing: border-box;
  padding-block: 150px;
}
.concept__content__photo {
  position: absolute;
  z-index: 1;
  inset: 0;
}
.concept__content__photo img {
  height: 100%;
  object-fit: cover;
  object-position: bottom left;
}
.concept__content__desc {
  position: relative;
  z-index: 2;
}
.concept__content__desc__enheading {
  line-height: 0.96 !important;
  color: #fff;
  background: linear-gradient(45deg, rgba(209, 214, 223, 1) 0%, rgba(94, 112, 144, 1) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.concept__content__desc__heading {
  --margin-top: calc(80 / 40 * 1em);
}
.concept__content__desc__copy {
  --margin-top: calc(60 / 16 * 1em);
}
@media screen and (min-width: 768px) and (max-width: 1350px) {
  .concept__content__photo img {
    object-position: bottom 0 right 46%;
  }
  .concept__content__desc {
    scale: .85;
    transform-origin: top left;
  }
}
@media screen and (max-width: 767px){
  .concept__content {
    min-height: calc((1220 / 380) * (var(--window-half-width) * 2));
    padding-block: 80px;
  }
  .concept__content__desc__enheading {
    line-height: 1.136363636 !important;
    text-align: center;
  }
  .concept__content__desc__heading {
    --margin-top: 45px;
    margin-inline: calc(50% - var(--window-half-width));
    letter-spacing: -.05em;
    text-align: center;
  }
  .concept__content__desc__copy {
    --margin-top: 40px;
    letter-spacing: -.05em;
  }
}



/* .newway {
} */
.newway__air {
  position: relative;
  z-index: 2;
  padding-block: 180px 240px;
  background: url(../img/bg_newway_air.webp) no-repeat top center/100% auto;
}
.newway__air__photo {
  max-width: 970px;
}
.newway__air__photo img {
  -webkit-mask-image: linear-gradient(to bottom, black 60%, transparent 100%);
  mask-image: linear-gradient(to bottom, black 60%, transparent 100%);
  -webkit-mask-size: 100% 0%;
  mask-size: 100% 0%;
  -webkit-mask-position: center top;
  mask-position: center top;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}
.newway__air__photo .p-caption {
  translate: 0 100%;
}
.newway__air::after {
  content: "";
  position: absolute;
  z-index: 1;
  bottom: 0;
  left: 50%;
  translate: 0 50%;
  width: 1px;
  height: clamp(200px, calc(300 / 1200 * 100vw), 300px);
  background: linear-gradient(0deg, #fff 50%, rgb(var(--color-navy)) 50%);
}
.newway__view {
  position: relative;
  z-index: 1;
}
.newway__view__photo {
  position: relative;
  z-index: 1;
}
.newway__view__desc {
  position: absolute;
  z-index: 2;
  top: 0;
  left: calc(1020 / 1920 * 100%);
  margin-top: calc(300 / 1920 * 100%);
}
.newway__view__desc__heading {
  font-size: clamp(20px, calc(40 / 1920 * 100vw), 40px);
  line-height: 2.25;
  text-indent: .35em;
}
@media screen and (min-width: 1281px) {
  .newway__air__photo .p-caption {
    right: -40px;
    translate: 100%;
    padding: 0;
  }
}
@media screen and (max-width: 767px){
  .newway__air {
    padding-block: 50px 80px;
    background: url(../img/bg_newway_air-sp.webp) no-repeat top center/100% auto;
  }
  .newway__air__photo {
    max-width: 560px;
  }
  .newway__air::after {
    height: 100px;
  }
  .newway__view__desc {
    left: 0;
    margin-top: calc(100 / 380 * 100%);
    width: 100%;
  }
  .newway__view__desc__heading {
    font-size: 24px;
    line-height: 1.875;
    text-indent: 0;
    letter-spacing: -.05em;
    text-align: center;
  }
}