/* =========================================================
   共通モバイルナビ（ハンバーガーメニュー）
   全ページで読み込まれ、各ページCSSのナビに重ねて動作する。
   ========================================================= */

/* ハンバーガーボタン（PCでは非表示） */
.nav-toggle {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 44px; height: 44px;
  padding: 10px;
  background: transparent;
  border: none;
  cursor: pointer;
}
.nav-toggle-bar {
  display: block;
  width: 100%; height: 2px;
  background: var(--ink, #111827);
  border-radius: 2px;
  transition: transform .2s ease, opacity .2s ease;
}

/* PC：collapse はレイアウトに影響させず、従来の見た目を維持
   （子要素 .nav-items / .nav-cta が .nav の直接の子のように振る舞う） */
.nav-collapse { display: contents; }

@media (max-width: 768px) {
  /* ハンバーガー表示 */
  .nav-toggle { display: flex; }

  /* メニュー＋CTAをドロワー化 */
  .nav-collapse {
    display: none;
    position: absolute;
    top: 100%; left: 0; right: 0;
    flex-direction: column;
    align-items: stretch;
    gap: 4px;
    background: #fff;
    border-top: 1px solid rgba(0,0,0,0.06);
    border-bottom: 1px solid rgba(0,0,0,0.08);
    box-shadow: 0 10px 24px rgba(0,0,0,0.10);
    padding: 12px 5vw 18px;
    z-index: 199;
  }
  .nav.is-open .nav-collapse { display: flex; }

  /* メニュー（縦並び）。各ページCSSの .nav-items{display:none} を上書き */
  .nav-collapse .nav-items {
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
    gap: 2px;
    width: 100%;
  }
  .nav-collapse .nav-items a {
    display: block;
    padding: 13px 8px;
    font-size: 15px;
    border-radius: 8px;
  }

  /* CTAボタン（ドロワー内・全幅） */
  .nav-collapse .nav-cta,
  .nav-collapse .nav-contact {
    display: block;
    text-align: center;
    margin-top: 8px;
    padding: 14px 22px;
  }

  /* ハンバーガー → ✕（開いたとき） */
  .nav.is-open .nav-toggle-bar:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .nav.is-open .nav-toggle-bar:nth-child(2) { opacity: 0; }
  .nav.is-open .nav-toggle-bar:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
}
