@charset "UTF-8";

/* fv.css（下層ページヘッダー） */
.p-fv {
  position: relative;
  z-index: 1;
  overflow: hidden;
  height: 15.125rem;
  background-color: #0a5da7;
}

@media (min-width: 768px) {
  .p-fv {
    height: 18.875rem;
  }
}

.p-fv__wave {
  position: absolute;
  z-index: 1;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 4.9375rem;
  background-color: #20b053;
}

@media (min-width: 768px) {
  .p-fv__wave {
    height: 12rem;
  }
}

.p-fv__wave img {
  display: block;
  height: 1.6875rem;
  object-fit: fill;
  transform-origin: center top;
  animation: c-wave-sway 6.5s ease-in-out infinite alternate;
}

@media (prefers-reduced-motion: reduce) {
  .p-fv__wave img {
    animation: none;
  }
}

@media (min-width: 768px) {
  .p-fv__wave img {
    height: 8.4375rem;
  }
}

.p-fv__contents {
  position: relative;
  z-index: 2;
  height: inherit;
}

.p-fv__inner {
  padding-block-start: 2.375rem;
  padding-inline: 1.25rem;
}

@media (min-width: 768px) {
  .p-fv__inner {
    padding-block-start: 3.3125rem;
    padding-inline: 12rem;
  }
}

.p-fv__heading {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  row-gap: 0.125rem;
}

@media (min-width: 768px) {
  .p-fv__heading {
    row-gap: 0.1875rem;
  }
}

.p-fv__heading-en {
  color: #ffffff;
  font-family: "Montserrat", sans-serif;
  font-size: max(3rem, 38.4px);
}

@media (min-width: 0px) {
  .p-fv__heading-en {
    font-size: 3rem;
  }
}

.p-fv__heading-en {
  font-weight: 500;
  line-height: 1.2083333333;
}

@media (min-width: 768px) {
  .p-fv__heading-en {
    font-size: max(5rem, 64px);
    font-weight: 500;
    line-height: 1.2125;
  }
}

@media (min-width: 768px) and (min-width: 0px) {
  .p-fv__heading-en {
    font-size: 5rem;
  }
}

.p-fv__heading-ja {
  padding: 0.125rem 0.5rem;
  background-color: #ffffff;
  color: #0a5da7;
  font-size: max(1rem, 12.8px);
}

@media (min-width: 0px) {
  .p-fv__heading-ja {
    font-size: 1rem;
  }
}

.p-fv__heading-ja {
  font-weight: 400;
  line-height: 1.6875;
}

@media (min-width: 768px) {
  .p-fv__heading-ja {
    padding: 0.25rem 0.5625rem;
    font-size: max(1.125rem, 14.4px);
    font-weight: 400;
    line-height: 1.6111111111;
  }
}

@media (min-width: 768px) and (min-width: 0px) {
  .p-fv__heading-ja {
    font-size: 1.125rem;
  }
}

.p-bcm {
  position: absolute;
  z-index: 3;
  right: 0;
  bottom: 0.5rem;
  width: 100%;
}

@media (min-width: 768px) {
  .p-bcm {
    bottom: 1.125rem;
  }
}

.p-bcm__inner {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  column-gap: 0.375rem;
  padding-inline: 1.25rem;
}

@media (min-width: 768px) {
  .p-bcm__inner {
    padding-inline: 6rem;
  }
}

.p-bcm__top p,
.p-bcm__current {
  color: #ffffff;
  font-size: max(0.75rem, 9.6px);
}

@media (min-width: 0px) {

  .p-bcm__top p,
  .p-bcm__current {
    font-size: 0.75rem;
  }
}

.p-bcm__top p,
.p-bcm__current {
  font-weight: 700;
  line-height: 1.5;
}

@media (min-width: 768px) {

  .p-bcm__top p,
  .p-bcm__current {
    font-size: max(1rem, 12.8px);
    font-weight: 700;
    line-height: 1.5;
  }
}

@media (min-width: 768px) and (min-width: 0px) {

  .p-bcm__top p,
  .p-bcm__current {
    font-size: 1rem;
  }
}

.p-bcm__triangle {
  width: 0.3125rem;
  height: 0.5625rem;
}