/* ============== HEADER CTA(全ページ統一の赤ボタン)============== */
.header-cta {
  background: #DC2626 !important;
  box-shadow: 0 4px 14px rgba(220,38,38,0.30) !important;
}
.header-cta:hover {
  background: #EF4444 !important;
  box-shadow: 0 6px 18px rgba(220,38,38,0.45) !important;
}
.header-cta::after {
  content: none !important;
}

/* ============== HAMBURGER MENU (本家pispis風ドロワー) ============== */
.nav-toggle {
  display: none;
}

@media (max-width: 1024px) {
  /* ハンバーガーボタン(右上固定) */
  .nav-toggle {
    display: block !important;
    position: fixed !important;
    top: 14px;
    right: 14px;
    width: 48px;
    height: 48px;
    background: #FF7A1A;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    z-index: 200;
    padding: 0;
    box-shadow: 0 4px 14px rgba(255,122,26,0.30);
    transition: background .3s, border .3s;
  }
  .nav-toggle span {
    display: block;
    width: 40%;
    height: 2px;
    background-color: #FFF;
    position: absolute;
    transition: transform .4s, opacity .3s, width .3s;
    left: 50%;
    transform: translateX(-50%);
  }
  .nav-toggle span:nth-child(1) { top: 35%; }
  .nav-toggle span:nth-child(2) { top: 50%; transform: translate(-50%, -50%); }
  .nav-toggle span:nth-child(3) { bottom: 35%; }

  /* ハンバーガー → × 変形 */
  body.menu-open .nav-toggle {
    background: transparent;
    border: 1.5px solid #FFF;
  }
  body.menu-open .nav-toggle span {
    background-color: #FFF;
    width: 50%;
    top: 50%;
    bottom: auto;
  }
  body.menu-open .nav-toggle span:nth-child(1) {
    transform: translateX(-50%) translateY(-50%) rotate(45deg);
  }
  body.menu-open .nav-toggle span:nth-child(2) {
    width: 0;
    opacity: 0;
  }
  body.menu-open .nav-toggle span:nth-child(3) {
    transform: translateX(-50%) translateY(-50%) rotate(-45deg);
  }

  /* メニュー本体(右からドロワーで出現) */
  .header-inner .nav {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    position: fixed !important;
    top: 0;
    right: 0;
    width: 100%;
    height: 100vh;
    background: linear-gradient(135deg, #0F1419 0%, #2A3038 100%);
    color: #FFF;
    gap: 8px !important;
    padding: 80px 24px 40px !important;
    visibility: hidden;
    opacity: 0;
    transform: translateX(100%);
    transition: visibility .4s, opacity .4s, transform .4s ease;
    z-index: 150;
    overflow-y: auto;
  }
  body.menu-open .header-inner .nav {
    visibility: visible;
    opacity: 1;
    transform: translateX(0);
  }
  .header-inner .nav a {
    color: #FFF !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    padding: 14px 0 !important;
    border-bottom: none !important;
    width: auto !important;
    letter-spacing: 0.02em;
    transition: color .2s;
  }
  .header-inner .nav a:hover,
  .header-inner .nav a.current {
    color: #FF7A1A !important;
  }
  body.menu-open { overflow: hidden; }

  /* スマホ時のヘッダー調整 */
  .header-cta {
    margin-right: 60px;  /* ハンバーガーボタン分のスペース */
    padding: 9px 16px !important;
    font-size: 12px !important;
  }
  .header-cta::after {
    font-size: 13px;
  }
}
