/* Top-page variants: static KV, headerless KV, and movie FV. */

.p-kv {
  background-color: #e1f4f6;
  position: relative;
}

.p-kv__inner,
.p-kv__title {
  position: relative;
}

.p-kv__title img {
  display: block;
  width: 100%;
}

/* The current first-slide artwork already combines these supplied KV parts. */
.p-kv-feature,
.p-kv__awards,
.p-kv__deco {
  display: none;
}

@media screen and (max-width: 768px) {
  .page-top-headerless .l-main {
    padding-block-start: 0;
  }

  .p-kv {
    background: #e1f4f6 url("../images/kv_bg_sp.jpg") 0 0 / cover no-repeat;
  }

  .c-cta--kv {
    padding-block-end: 13.6vw;
  }
}

@media screen and (min-width: 769px) {
  .p-kv {
    background: #e1f4f6 url("../images/hero_bg_pc_01.jpg") 50% 0 / auto 100% no-repeat;
  }
}

@media screen and (min-width: 769px) and (max-width: 1079px) {
  .p-kv,
  .p-fv {
    margin-block-start: 7.407vw;
  }

  .page-top-headerless .p-kv {
    margin-block-start: 0;
  }

  .c-cta--kv {
    padding-block-end: 6.481vw;
  }

  .c-cta--kv .c-cta__main {
    padding-block-end: 4.167vw;
    padding-inline: 36.111vw 3.704vw;
  }

  .c-cta--kv .c-cta__image {
    left: -1.852vw;
    right: inherit;
  }
}

@media screen and (min-width: 1080px) {
  .p-kv,
  .p-fv {
    margin-block-start: 80px;
  }

  .page-top-headerless .p-kv {
    margin-block-start: 0;
  }

  .c-cta--kv {
    padding-block-end: 70px;
  }

  .c-cta--kv .c-cta__main {
    padding-block-end: 45px;
    padding-inline: 390px 40px;
  }

  .c-cta--kv .c-cta__image {
    left: -20px;
    right: inherit;
  }
}

.c-cta--kv .c-cta__lead {
  background: var(--color-tertiary);
}

.p-fv {
  background: #daf0fd;
}

.p-fv__content {
  overflow: hidden;
  position: relative;
}

.p-fv__video {
  display: block;
  height: 100%;
  inset: 0;
  object-fit: cover;
  position: absolute;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .p-fv__content {
    height: 158.667vw;
  }
}

@media screen and (min-width: 769px) {
  .p-fv__content {
    aspect-ratio: 2000 / 752;
  }
}

@media screen and (min-width: 2000px) {
  .p-fv__content {
    height: 752px;
    margin-inline: auto;
    width: 2000px;
  }
}
