@media (max-width: 768px) {
      .site-header { z-index: 10001; backdrop-filter: none; }
      .mobile-menu-btn { z-index: 10002; position: relative; }
      .header-nav { display: none; }
      .mobile-menu-btn { display: flex; }
      .header-nav.show {
        display: flex !important;
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        width: 100vw !important;
        height: 100vh !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        background: #0a0608 !important;
        background: linear-gradient(180deg, #0a0608 0%, #120a0e 100%) !important;
        backdrop-filter: blur(20px) !important;
        padding: 2rem !important;
        margin: 0 !important;
        gap: 0 !important;
        z-index: 10000 !important;
        animation: fadeInMenu 0.3s ease;
      }
      @keyframes fadeInMenu {
        from { opacity: 0; transform: scale(0.95); }
        to { opacity: 1; transform: scale(1); }
      }
      .header-nav.show a {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        max-width: 320px !important;
        padding: 1.1rem 1rem !important;
        border-bottom: 1px solid rgba(255,182,193,0.15) !important;
        border-radius: 0 !important;
        text-align: center !important;
        transition: all 0.3s !important;
        background: transparent !important;
      }
      .header-nav.show a:hover {
        background: rgba(255,182,193,0.08) !important;
      }
      .header-nav.show a:last-child { border-bottom: none !important; }
      .header-nav.show a .en { font-size: 0.7rem !important; letter-spacing: 0.2em !important; }
      .header-nav.show a .ja { font-size: 1.3rem !important; font-weight: 700 !important; }
      .header-nav.show a.active {
        color: #fff !important;
        background: linear-gradient(90deg, rgba(196,69,105,0.35), rgba(255,182,193,0.15)) !important;
        font-weight: 700 !important;
      }
      .header-nav.show a.active::before {
        content: '♡';
        color: var(--pink);
        margin-right: 0.5rem;
        font-size: 0.8rem;
      }
      .hero-slider { aspect-ratio: 1680 / 2240; margin-top: 64px; }
      .hero-slide .hero-pc { display: none !important; }
      .hero-slide .hero-sp { display: block !important; }
      .hero-slide .hero-sp { object-fit: cover; object-position: center top; }
      
      .staff-grid { grid-template-columns: repeat(2, 1fr); gap: 1rem; }
      .section { padding: 3rem 1rem; }
      .news-item { flex-direction: column; gap: 0.75rem; }
      .news-date { display: flex; align-items: center; gap: 0.5rem; width: auto; }
      .news-date .day { font-size: 1.2rem; }
      .access-row { flex-direction: column; align-items: flex-start; gap: 0.25rem; }
      .recruit-row { flex-direction: column; }
      .recruit-row .label { flex: none; border-right: none; border-bottom: 1px solid rgba(255,182,193,0.08); padding-bottom: 0.5rem; }
      
      .footer-nav-inner { gap: 0.25rem; }
      .footer-nav-inner a { font-size: 0.65rem; padding: 0.2rem 0.4rem; }
      .header-inner { padding: 0 0.75rem; height: 64px; }
      .header-logo .heart-icon { display: none; }
      .header-logo-text { min-width: 0; overflow: hidden; }
      .header-logo .main { font-size: 1.1rem; white-space: nowrap; font-family: 'Noto Sans SC', sans-serif; font-weight: 700; }
      .fixed-bottom { height: 68px; }
      .fixed-bottom a { font-size: 0.9rem; }
      .fixed-bottom a svg { width: 24px; height: 24px; }
      .therapist-modal { padding: 1rem 0.75rem; z-index: 10010; }
      .therapist-detail-photo { width: 280px; height: 400px; margin-top: 1rem; }
      .therapist-detail-info { padding: 1.25rem 1.25rem 1.5rem; }
      .therapist-detail-name { font-size: 1.5rem; }
      .therapist-detail-stats { grid-template-columns: 1fr; }
    }

@media (max-width: 480px) {
      .staff-grid { grid-template-columns: repeat(2, 1fr); }
    }

@media (max-width: 768px) {
  /* .room-gallery { grid-template-columns: 1fr; } */
}
