/* =========================================================
  Lower page common header / dropdown
========================================================= */

/* =========================================================
  PC
========================================================= */

@media screen and (min-width: 432px) {
  .nav-item {
    position: relative;
  }

  .nav-item > a,
  .nav-item > button {
    display: block;
    width: 100%;
    border: 0;
    padding: 0;
    background: transparent;
    color: #fff;
    font: inherit;
    letter-spacing: inherit;
    cursor: pointer;
  }

  .nav-dropdown {
    position: absolute;
    left: 50%;
    top: calc(100% + 15px);
    width: 190px;
    padding: 12px 0;
    transform: translate(-50%, 8px);
    background: rgba(51, 51, 51, 0.94);
    opacity: 0;
    visibility: hidden;
    transition:
      opacity 0.25s,
      visibility 0.25s,
      transform 0.25s;
  }

  .nav-dropdown::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: -18px;
    height: 18px;
  }

  .nav-dropdown a {
    display: block;
    padding: 11px 18px;
    color: #fff;
    font-size: 14px;
    line-height: 1.4;
    text-align: left;
    letter-spacing: 0.06em;
  }

  .nav-dropdown a:hover {
    background: rgba(255, 255, 255, 0.12);
  }

  .nav-item:hover .nav-dropdown,
  .nav-item:focus-within .nav-dropdown {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, 0);
  }

  /* 設備紹介・準備中ページ */
  .under-construction {
    padding: 140px 20px;
    text-align: center;
  }

  .under-construction__en {
    margin-bottom: 16px;
    font-size: 18px;
    letter-spacing: 0.16em;
    color: #888;
  }

  .under-construction h2 {
    margin-bottom: 28px;
    font-size: 32px;
    font-weight: 600;
    line-height: 1.6;
  }

  .under-construction__text {
    margin-bottom: 48px;
    font-size: 16px;
    line-height: 2;
  }

  .under-construction__btn {
    display: inline-block;
    min-width: 240px;
    padding: 18px 30px;
    border: 1px solid #333;
    color: #333;
    text-decoration: none;
    transition:
      background-color 0.3s,
      color 0.3s;
  }

  .under-construction__btn:hover {
    background-color: #333;
    color: #fff;
  }
}

/* =========================================================
  SP
========================================================= */

@media screen and (max-width: 431px) {
  .lower-page .site-header {
    background: rgba(51, 51, 51, 0.8);
  }

  .sp-menu-panel {
    z-index: 120;
  }

  .sp-menu-block {
    display: block;
  }

  .sp-menu-parent {
    position: relative;
    display: block;
    width: 100%;
    border: 0;
    border-bottom: 1px solid rgba(47, 47, 47, 0.16);
    padding: 14px 6px;
    background: transparent;
    color: #2f2f2f;
    font-family: "Noto Serif JP", serif;
    font-size: 13px;
    line-height: 1.8;
    letter-spacing: 0.08em;
    text-align: center;
  }

  .sp-menu-parent::after {
    content: "+";
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 15px;
  }

  .sp-menu-block.is-open .sp-menu-parent::after {
    content: "−";
  }

  .sp-submenu {
    display: none;
    grid-column: 1 / -1;
    background: rgba(47, 47, 47, 0.04);
  }

  .sp-menu-block.is-open .sp-submenu {
    display: block;
  }

  .sp-submenu a {
    display: block;
    padding: 11px 8px;
    border-bottom: 1px solid rgba(47, 47, 47, 0.1);
    color: #2f2f2f;
    font-size: 12px;
    text-align: center;
  }

  /* 設備紹介・準備中ページ */
  .under-construction {
    padding: 90px 24px;
    text-align: center;
  }

  .under-construction__en {
    margin-bottom: 16px;
    font-size: 18px;
    letter-spacing: 0.16em;
    color: #888;
  }

  .under-construction h2 {
    margin-bottom: 28px;
    font-size: 24px;
    font-weight: 600;
    line-height: 1.6;
  }

  .under-construction__text {
    margin-bottom: 48px;
    font-size: 16px;
    line-height: 2;
    text-align: left;
  }

  .under-construction__text br {
    display: none;
  }

  .under-construction__btn {
    display: inline-block;
    width: 100%;
    min-width: auto;
    padding: 18px 30px;
    border: 1px solid #333;
    color: #333;
    text-decoration: none;
    transition:
      background-color 0.3s,
      color 0.3s;
  }

  .under-construction__btn:hover {
    background-color: #333;
    color: #fff;
  }
}
