@charset "utf-8";

@media screen, print {
  body {
    position: relative;
  }

  header {
    z-index: 1;
  }

  .pagetitle {
    margin-bottom: 0; /* reset */
  }

  main {
    padding-top: 0; /* reset */
  }

  .pagekv {
    position: absolute;
    top: 0;
    width: 100%;
  }

  .kv-item {
    aspect-ratio: 4 / 3;
  }

  .kv01 {
    background: url(../img/top/top_kv01_sm.jpg) no-repeat;
    background-size: cover;
  }

  .kv02 {
    background: url(../img/top/top_kv02_sm.jpg) no-repeat;
    background-size: cover;
  }

  .kv03 {
    background: url(../img/top/top_kv03_sm.jpg) no-repeat;
    background-size: cover;
  }

  .kv04 {
    background: url(../img/top/top_kv04_sm.jpg) no-repeat;
    background-size: cover;
  }

  .kv05 {
    background: url(../img/top/top_kv05_sm.jpg) no-repeat;
    background-size: cover;
  }

  .kv06 {
    background: url(../img/top/top_kv06_sm.jpg) no-repeat;
    background-size: cover;
  }

  .leadArea {
    margin-bottom: 6rem;
    margin-top: calc((100% * 3 / 4) - 6rem) ;
  }

  .menu-item + .menu-item {
    margin-top: 4rem;
  }

  .menu-link {
    display: grid;
    gap: 1rem;
  }

  .menu-img {
  }

  .menu-heading {
    font-family: var(--font-copper);
    font-size: 2.4rem;
    grid-row: 1 / 2;
    letter-spacing: .1rem;
    text-align: center;
  }

  .submenu-link {
    .menu-heading {
      font-size: 2.2rem;
      line-height: 6rem;
    }
  }
}

/*** SP BP ***/
@media screen and (min-width: 480px) {
}

/*** TB ***/
@media screen and (min-width: 640px) {
  .kv-item {
    aspect-ratio: 16/9;
  }

  .kv01 {
    background: url(../img/top/top_kv01.jpg) no-repeat;
    background-size: cover;
  }

  .kv02 {
    background: url(../img/top/top_kv02.jpg) no-repeat;
    background-size: cover;
  }

  .kv03 {
    background: url(../img/top/top_kv03.jpg) no-repeat;
    background-size: cover;
  }

  .kv04 {
    background: url(../img/top/top_kv04.jpg) no-repeat;
    background-size: cover;
  }

  .kv05 {
    background: url(../img/top/top_kv05.jpg) no-repeat;
    background-size: cover;
  }

  .kv06 {
    background: url(../img/top/top_kv06.jpg) no-repeat;
    background-size: cover;
  }

  .leadArea {
    margin-bottom: 8rem;
    /* margin-top: calc((100% * 9 / 16) + 3rem - (clamp(6rem, 8.8vw, 14rem))); */
    margin-top: calc((100% * 9 / 16) - 6rem);
  }

  .menu-item + .menu-item {
    margin-top: 5rem;
  }

  .menu-link {
    gap: .2rem 1.5rem;
    grid-template-columns: 40% 1fr;
    grid-template-rows: auto 1fr;
  }

  .menu-img {
    grid-column: 1 / 2;
    grid-row: 1 / 3;
  }

  .menu-heading {
    font-size: 2.2rem;
    grid-column: 2 / 3;
    text-align: start;
  }

  .menu-para {
    font-size: 1.5rem;
    grid-column: 2 / 3;
    line-height: 1.8;
  }

  .submenuArea {
    margin-top: 5rem; /* override */
  }
}

/*** Special BP ***/
@media screen and (min-width: 768px) {
  .leadArea {
    margin-top: calc((100% * 9 / 16) - 10rem);
  }

  .menuArea {
    width: min(90%, 86rem);
  }

  .menu-link {
    gap: 1rem 1.5rem;
    grid-template-columns: 45% 1fr
  }

  .menu-heading {
    font-size: 2.4rem;
  }
}

/*** PC ***/
@media screen and (min-width: 960px) {
  .kv-item {
    max-height: 65rem;
    object-fit: cover;
    width: 100%;
  }

  .leadArea {
    margin-bottom: 9rem;
    margin-top: calc((100% * 9 / 16) - 16rem);
  }

  .menuArea {
    width: 86rem;
  }

  .menu-link {
    gap: 1rem 3rem;
    grid-template-columns: 36rem 1fr;
  }

  .menu-heading {
    font-size: 2.8rem;
  }

  .menu-para {
    line-height: 2;
  }
}

/** SP BP **/
@media screen and (min-width: 1150px) {
  .leadArea {
    margin-top: 49rem;
  }

}

/** PC pclg **/
@media screen and (min-width: 1280px) {
  .pagekv {
    height: 65rem;
    max-height: none; /* reset */
  }

  .leadArea {
    margin-bottom: 10rem;
  }

  .menu-heading {
    /* font-size: 4.2rem; */
    font-size: 3.2rem;
  }


}




/*****************/
/***   Print   ***/
/*****************/
@media print {

}
