@charset "utf-8";

@media screen, print {
  .kv-img {
    object-position: top;
  }

  .design-b.format-int .page-title {
    left: auto; /* reset */
    padding: 1.5rem 0 0 3.5rem;
    right: calc(9.38vw - 2.5rem);
    top: 4rem;
    width: 24rem;
  }

  .body-block + .body-contact {
    margin-top: 8rem;
  }

  .page-title-bg {
    font-size: 1.7rem;
    letter-spacing: -.15rem;
  }

  .bodynav-item-next {
    opacity: .4;
    pointer-events: none;
  }
}


/** SP splg **/
@media screen and (min-width: 480px) {
  .design-b.format-int .page-title {
    padding: 2.5rem 0 0 4.3rem;
    width: 26rem;
  }
}


/*** TB ***/
@media screen and (min-width: 640px) {
  .design-b.format-int .page-title {
    padding: 90px 0 0 20px;
    right: 2rem;
    right: 5rem; /* vw800 */
    right: clamp(2rem, 18.75vw - 10rem, 5rem);
    top: 2rem;
    top: 4rem; /* vw800 */
    top: clamp(2rem, 12.5vw - 6rem, 4rem);
    width: 40rem;
  }

  .page-title-bg {
    font-size: 2.1rem;
  }
}


/** TB tblg **/
@media screen and (min-width: 800px) {
  .design-b.format-int .page-title {
    padding: 90px 0 0 20px;
    right: 30px;
    right: 70px; /* vw960 */
    right: clamp(3rem, 25vw - 17rem, 7rem);
    top: 30px;
    top: 60px; /* vw960 */
    top: clamp(3rem, 18.75vw - 12rem, 6rem);
    width: 45rem;
  }

  .page-title-bg {
    font-size: 2.4rem;
  }

}

/*** PC ***/
@media screen and (min-width: 960px) {
  .design-b.format-int .page-title {
    padding: 130px 0 0 20px;
    padding: 150px 0 0 35px; /* vw1280 */
    padding: clamp(13rem, 6.25vw + 7rem, 15rem) 0 0 clamp(2rem, 4.69vw - 2.5rem, 3.5rem); /* vw1280 */
    right: 10px;
    right: 30px; /* vw1280 */
    right: calc(6.25vw - 5rem);
    top: 45px;
    top: 60px; /* vw1280 */
    top: clamp(4.5rem, 4.69vw, 6rem);
    transform: translateX(0); /* reset */
    width: 560px;
    width: 680px; /* vw1280 */
    width: clamp(56rem, 37.5vw + 20rem, 68rem);
  }

  .page-title-bg {
    font-size: 3rem;
    font-size: 3.5rem; /* vw1280 */
    font-size: clamp(3rem, 1.56vw + 1.5rem, 3.5rem);
    letter-spacing: -.2rem;
  }
}


/** PC pclg **/
@media screen and (min-width: 1280px) {
  .block-title {
    letter-spacing: 1px;
  }

  .design-b.format-int .page-title {
    right: 30px;
    right: 150px; /* vw1500 */
    right: calc(54.55vw - 66.82rem);

  }
}

/** SP BP **/
@media screen and (min-width: 1500px) {
  .design-b.format-int .page-title {
    right: 150px;
    right: 600px; /* vw2000 */
    right: calc(90vw - 120rem);
  }
}

/*****************/
/***   Print   ***/
/*****************/
@media print {
  .page-head {
    height: 350px;
  }

  .design-b.format-int .page-title {
    padding: 100px 0 0 15px;
    top: 30px;
    right: 20px;
    width: 425px;
  }

  .page-title-bg {
    font-size: 16pt;
    letter-spacing: 0; /* reset */
  }
}
