@charset "utf-8";

.p-breadcrumb {
  margin-top: 80px;

  @media (width < 768px) {
    margin-top: 60px;
  }

  .l-inner {
    max-width: none;
    display: flex;
    align-items: center;
    justify-content: end;
    gap: 44px;
  }

  div {
    position: relative;
  }

  div:not(:last-of-type)::after {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: -26px;
    width: 7px;
    height: 8px;
    background: #606060;
    clip-path: polygon(0 0, 0% 100%, 100% 50%);
  }

  .p-breadcrumb__text {
    color: #606060;
    font-weight: 300;
    font-size: 13px;
    letter-spacing: 0.06em;
  }

  a:hover {
    opacity: 0.7;
  }
}

.p-fv {
  margin-top: 62px;
  width: 100%;
  position: relative;

  @media (width < 768px) {
    margin-top: 20px;
  }

  .l-inner {
    max-width: none;
    width: 90%;

    @media (width < 1120px) {
      width: 100%;
    }
  }
}

.p-fv__bg {
  position: absolute;
  width: 120px;
  height: 416px;
  background: var(--color-red);
  top: 0;
  left: 0;
  z-index: -1;

  @media (width < 1120px) {
    width: 50px;
  }

  @media (width < 768px) {
    width: 40px;
  }
}

.p-fv__flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  max-width: none;
  width: 91%;
  margin: 0 auto;
  padding-top: 66px;

  @media (width < 1120px) {
    width: 95%;
    padding-top: 30px;
  }

  @media (width < 768px) {
    flex-direction: column;
    align-items: start;
    width: 100%;
    padding-left: 26px;
  }
}

.p-fv__title {
  margin-left: 16px;
  min-width: fit-content;

  @media (width < 768px) {
    margin-left: 0;
  }
}

.p-fv__title-en {
  margin-left: 6px;
  font-weight: 700;
  font-size: 14px;
  font-family: var(--font-noto-sans);
  line-height: 1;
  letter-spacing: -0.02em;
}

.p-fv__title-ja {
  margin-top: 30px;
  font-weight: 700;
  font-size: 46px;
  line-height: 1.587;

  @media (width < 768px) {
    margin-top: 8px;
  }
}

.p-fv__text {
  max-width: 450px;

  @media (width < 768px) {
    align-self: flex-end;
    margin-left: 48px;
  }
}

.p-fv__img {
  margin-top: 60px;
  width: 100%;
  height: 440px;
  object-fit: cover;
  border-radius: 5px;

  @media (width < 768px) {
    margin-top: 20px;
    height: 250px;
  }
}
