@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Noto+Sans+JP:wght@300;400;500;600;700&display=swap";:root{--primary: #0f172a;--primary-light: #1e293b;--accent: #6366f1;--accent-light: #818cf8;--accent-glow: rgba(99, 102, 241, .15);--success: #10b981;--text: #0f172a;--text-secondary: #475569;--text-muted: #94a3b8;--bg: #ffffff;--bg-subtle: #f8fafc;--bg-card: #ffffff;--border: rgba(15, 23, 42, .08);--border-hover: rgba(15, 23, 42, .15);--shadow-sm: 0 1px 2px rgba(15, 23, 42, .04);--shadow: 0 4px 6px -1px rgba(15, 23, 42, .05), 0 2px 4px -2px rgba(15, 23, 42, .05);--shadow-md: 0 12px 24px -4px rgba(15, 23, 42, .08), 0 4px 8px -2px rgba(15, 23, 42, .04);--shadow-lg: 0 24px 48px -12px rgba(15, 23, 42, .12);--shadow-glow: 0 0 40px var(--accent-glow);--radius: 16px;--radius-sm: 10px;--radius-lg: 24px;--radius-full: 9999px;--ease: cubic-bezier(.4, 0, .2, 1);--ease-bounce: cubic-bezier(.34, 1.56, .64, 1);--duration: .2s;--duration-md: .3s}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Inter,Noto Sans JP,-apple-system,BlinkMacSystemFont,sans-serif;background-color:var(--bg);color:var(--text);min-height:100vh;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv02","cv03","cv04","cv11"}a{color:var(--accent);text-decoration:none;transition:color var(--duration) var(--ease)}a:hover{color:var(--accent-light)}::selection{background:var(--accent);color:#fff}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.animate-in{animation:fadeIn .5s var(--ease) forwards}.app{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1;background:var(--bg)}.header{position:sticky;top:0;z-index:100;background:#fffc;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--border)}.header-content{position:relative;max-width:1280px;margin:0 auto;padding:0 2rem}.header-bar{display:flex;align-items:center;gap:1rem;padding:.75rem 0}.logo-link{flex-shrink:0;text-decoration:none;color:inherit;display:flex;align-items:center;gap:.875rem;transition:opacity var(--duration) var(--ease)}.logo-image{height:48px;width:auto;display:block;border-radius:var(--radius-sm)}.logo-link:hover{text-decoration:none;color:inherit;opacity:.8}.header-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.nav{flex:1 1 auto;min-width:0}.nav-list{display:flex;justify-content:center;gap:.375rem;list-style:none}.nav-item{flex-shrink:0}.nav-item-mobile-only{display:none}.nav-link{position:relative;display:flex;align-items:center;padding:.625rem .75rem;color:var(--text-secondary);text-decoration:none;font-size:.875rem;font-weight:500;transition:color var(--duration) var(--ease);white-space:nowrap}.nav-link:after{content:"";position:absolute;left:.75rem;right:.75rem;bottom:.25rem;height:2px;border-radius:2px;background:var(--accent);opacity:0;transform:scaleX(.5);transition:opacity var(--duration) var(--ease),transform var(--duration) var(--ease)}.nav-link:hover{color:var(--text);text-decoration:none}.nav-link.active{color:var(--text)}.nav-link.active:after{opacity:1;transform:scaleX(1)}.nav-cta{display:inline-flex;align-items:center;padding:.5rem 1rem;background:var(--accent);color:#fff;font-size:.8125rem;font-weight:600;border-radius:var(--radius-full);text-decoration:none;white-space:nowrap;transition:background var(--duration) var(--ease),transform var(--duration) var(--ease)}.nav-cta:hover{background:var(--accent-light);color:#fff;text-decoration:none;transform:translateY(-1px)}.menu-toggle{display:none;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;padding:0;background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;color:var(--text);transition:background var(--duration) var(--ease)}.menu-toggle:hover{background:var(--bg-subtle)}.menu-icon{position:relative;display:block;width:1.125rem;height:.875rem}.menu-icon span{position:absolute;left:0;width:100%;height:2px;border-radius:2px;background:currentColor;transition:transform var(--duration) var(--ease),opacity var(--duration) var(--ease)}.menu-icon span:nth-child(1){top:0}.menu-icon span:nth-child(2){top:50%;transform:translateY(-50%)}.menu-icon span:nth-child(3){bottom:0}.menu-toggle.open .menu-icon span:nth-child(1){top:50%;transform:translateY(-50%) rotate(45deg)}.menu-toggle.open .menu-icon span:nth-child(2){opacity:0}.menu-toggle.open .menu-icon span:nth-child(3){bottom:auto;top:50%;transform:translateY(-50%) rotate(-45deg)}@media(max-width:1024px){.header-content{padding:0 1rem}.logo-image{height:40px}.menu-toggle{display:flex}.header-actions{margin-left:auto}.nav-cta{display:none}.nav-item-mobile-only{display:block}.nav{display:none;position:absolute;top:100%;left:0;right:0;flex:none;background:var(--bg, #fff);border-bottom:1px solid var(--border);box-shadow:0 12px 24px #00000014;padding:.5rem 1rem .75rem}.nav.nav-open{display:block}.nav-list{flex-direction:column;justify-content:flex-start;align-items:stretch;gap:.125rem}.nav-link{padding:.75rem 1rem}.nav-link:after{display:none}.nav-link.active{color:var(--accent);background:var(--accent-glow);border-radius:var(--radius-sm)}}.footer{background:var(--primary);color:#fff;padding:4rem 2rem;margin-top:auto}.footer-content{max-width:1280px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:1rem}.footer-text{font-size:.9375rem;opacity:.9;font-weight:500}.footer-tagline{font-size:.8125rem;opacity:.6;letter-spacing:.02em}.footer-contact{font-size:.875rem;opacity:.75;margin-top:.5rem}.footer-contact a{color:var(--accent-light);font-weight:500;transition:opacity var(--duration) var(--ease)}.footer-contact a:hover{color:#fff;opacity:1}.footer-credit{font-size:.8125rem;opacity:.6;letter-spacing:.02em}.footer-credit a{color:var(--accent-light);font-weight:500;transition:opacity var(--duration) var(--ease)}.footer-credit a:hover{color:#fff;opacity:1}.language-switcher{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;padding:0;background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-full);cursor:pointer;transition:all var(--duration) var(--ease)}.language-switcher .flag{font-size:1.25rem;line-height:1}.language-switcher:hover{background:var(--accent-glow);border-color:var(--accent);color:var(--accent)}
