// Shared full-screen MENU overlay used by all pages. // Toggles open via window event so any header MENU button can call: // window.dispatchEvent(new CustomEvent('mta-menu-toggle')) const MENU_PAGES = [ { group: 'DESTINATIONS', title: '観光地', items: [ { label: 'モンゴル基本情報', sub: 'About Mongolia', href: '#mongolia-info' }, { label: '空路アクセス', sub: 'Flights', href: '#flights' }, { label: 'モンゴル全国の観光地', sub: 'Nationwide Destinations', href: '#nationwide' }, { label: 'ウランバートル市内観光', sub: 'Ulaanbaatar Sightseeing', href: '#ub-sightseeing' }, { label: '宿泊施設', sub: 'Hotels & Tourist Camps', href: '#hotels' }, { label: '星空観賞ガイド', sub: 'Stargazing Guide 2026', href: '#stargazing' }, ], }, { group: 'TOURS', title: 'ツアー', items: [ { label: 'ツアーを探す', sub: 'Search Tours', href: '#tour-list' }, { label: 'オーダーメイドの旅', sub: 'Custom Itinerary', href: '#custom' }, ], }, { group: 'B2B', title: '法人のお客様', items: [ { label: '企業・組織・団体のお客様へ', sub: 'For Corporations & Organizations', href: '#corporate' }, { label: '旅行会社のお客様へ', sub: 'For Travel Agencies', href: '#travel-agency' }, ], }, { group: 'COMPANY', title: '会社情報', items: [ { label: '会社概要', sub: 'About Us', href: '#about' }, { label: 'よくあるご質問', sub: 'FAQ', href: '#faq' }, { label: 'お問い合わせ', sub: 'Contact', href: '#contact' }, ], }, ]; const MenuOverlay = () => { const [open, setOpen] = React.useState(false); React.useEffect(() => { const onToggle = () => setOpen(o => !o); const onClose = () => setOpen(false); window.addEventListener('mta-menu-toggle', onToggle); window.addEventListener('mta-menu-close', onClose); return () => { window.removeEventListener('mta-menu-toggle', onToggle); window.removeEventListener('mta-menu-close', onClose); }; }, []); if (!open) return null; return (
{/* Top bar */}
{/* Content */}
{MENU_PAGES.map((g, gi) => (
0{gi+1} · {g.group}

{g.title}

{g.items.map(item => ( setOpen(false)} style={{display:'block', padding:'18px 0', borderBottom:'1px solid rgba(255,255,255,0.08)', cursor:'pointer', textDecoration:'none', color:'#fff'}} onMouseEnter={e => { e.currentTarget.style.paddingLeft = '14px'; e.currentTarget.style.borderBottomColor = 'var(--mta-blue-70)'; }} onMouseLeave={e => { e.currentTarget.style.paddingLeft = '0px'; e.currentTarget.style.borderBottomColor = 'rgba(255,255,255,0.08)'; }} >
{item.label}
{item.sub.toUpperCase()}
))}
))}
{/* Footer */}
📞 +976-7011-5005 ✉ mogi.mta@gmail.com 営業時間 平日 10:00〜17:00
JP / EN / MN
); }; // Shared MENU button — replaces inline button markup in each header const MenuButton = () => ( ); Object.assign(window, { MenuOverlay, MenuButton, MENU_PAGES });