:root{--color-primary: #1a1a2e;--color-primary-light: #16213e;--color-accent: #0f3460;--color-accent-light: #e94560;--color-text: #333;--color-text-light: #666;--color-bg: #f8f9fa;--color-bg-alt: #fff;--color-border: #e0e0e0;--font-sans: "Helvetica Neue", Helvetica, "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;--font-serif: Georgia, "Times New Roman", serif;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--max-width: 1200px;--border-radius: 8px;--transition: .2s ease}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;padding:0;font-family:var(--font-sans);font-size:16px;line-height:1.6;color:var(--color-text);background-color:var(--color-bg)}main{min-height:100vh}img{max-width:100%;height:auto;display:block}a{color:var(--color-accent);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--color-accent-light)}.footer[data-astro-cid-37fxchfa]{text-align:center;padding:var(--space-xl);background:var(--color-primary);color:#fff}.footer[data-astro-cid-37fxchfa] p[data-astro-cid-37fxchfa]{margin:0;font-size:.9rem}.hero[data-astro-cid-bbe6dxrz]{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-primary);color:#fff;text-align:center;padding:var(--space-xl);overflow:hidden}.hero-bg[data-astro-cid-bbe6dxrz]{position:absolute;inset:0;pointer-events:none}.hero-orb[data-astro-cid-bbe6dxrz]{position:absolute;border-radius:50%;filter:blur(80px);opacity:.35}.hero-orb--1[data-astro-cid-bbe6dxrz]{width:min(500px,60vw);height:min(500px,60vw);background:var(--color-accent);top:-10%;right:-8%;animation:orbFloat1 14s ease-in-out infinite}.hero-orb--2[data-astro-cid-bbe6dxrz]{width:min(350px,45vw);height:min(350px,45vw);background:var(--color-accent-light);bottom:-5%;left:-5%;animation:orbFloat2 18s ease-in-out infinite}.hero-orb--3[data-astro-cid-bbe6dxrz]{width:min(250px,30vw);height:min(250px,30vw);background:#4a6fa5;top:40%;left:50%;animation:orbFloat3 12s ease-in-out infinite}.hero-grid[data-astro-cid-bbe6dxrz]{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:60px 60px;mask-image:radial-gradient(ellipse 70% 70% at 50% 50%,black 20%,transparent 70%);-webkit-mask-image:radial-gradient(ellipse 70% 70% at 50% 50%,black 20%,transparent 70%)}@keyframes orbFloat1{0%,to{transform:translate(0) scale(1)}50%{transform:translate(-30px,40px) scale(1.08)}}@keyframes orbFloat2{0%,to{transform:translate(0) scale(1)}50%{transform:translate(25px,-35px) scale(1.05)}}@keyframes orbFloat3{0%,to{transform:translate(0) scale(1)}50%{transform:translate(-20px,-25px) scale(.95)}}.hero-content[data-astro-cid-bbe6dxrz]{position:relative;max-width:800px;z-index:1;animation:fadeUp .8s ease-out both}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.hero-label[data-astro-cid-bbe6dxrz]{display:inline-block;font-size:clamp(.8rem,1.5vw,.95rem);font-weight:600;letter-spacing:.2em;text-transform:uppercase;margin:0 0 var(--space-lg);padding:var(--space-xs) var(--space-lg);border:1px solid rgba(255,255,255,.25);border-radius:100px;color:#ffffffd9;animation:fadeUp .8s .15s ease-out both}.hero-title[data-astro-cid-bbe6dxrz]{font-size:clamp(2rem,6vw,3.8rem);font-weight:800;line-height:1.3;margin:0 0 var(--space-xl);letter-spacing:.02em;animation:fadeUp .8s .3s ease-out both}.hero-title-line[data-astro-cid-bbe6dxrz]{display:block}.hero-title-line--accent[data-astro-cid-bbe6dxrz]{background:linear-gradient(90deg,#fff 0%,var(--color-accent-light) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.hero-description[data-astro-cid-bbe6dxrz]{font-size:clamp(.95rem,1.8vw,1.15rem);line-height:1.9;margin:0 0 var(--space-2xl);color:#fffc;animation:fadeUp .8s .45s ease-out both}.hero-actions[data-astro-cid-bbe6dxrz]{display:flex;gap:var(--space-md);justify-content:center;flex-wrap:wrap;animation:fadeUp .8s .6s ease-out both}.hero-cta[data-astro-cid-bbe6dxrz]{display:inline-flex;align-items:center;padding:.9rem 2.2rem;font-size:.95rem;font-weight:600;border-radius:100px;text-decoration:none;transition:transform var(--transition),box-shadow var(--transition),background var(--transition);background:#fff;color:var(--color-primary)}.hero-cta[data-astro-cid-bbe6dxrz]:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000040;color:var(--color-primary)}.hero-cta--outline[data-astro-cid-bbe6dxrz]{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.4)}.hero-cta--outline[data-astro-cid-bbe6dxrz]:hover{background:#ffffff1a;border-color:#ffffffb3;color:#fff}.hero-scroll[data-astro-cid-bbe6dxrz]{position:absolute;bottom:var(--space-xl);left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);animation:fadeUp .8s .9s ease-out both}.hero-scroll-line[data-astro-cid-bbe6dxrz]{width:1px;height:40px;background:linear-gradient(to bottom,rgba(255,255,255,.6),transparent);animation:scrollPulse 2s ease-in-out infinite}.hero-scroll-text[data-astro-cid-bbe6dxrz]{font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:#ffffff80}@keyframes scrollPulse{0%,to{opacity:1;transform:scaleY(1)}50%{opacity:.4;transform:scaleY(.6)}}@media(max-width:640px){.hero[data-astro-cid-bbe6dxrz]{padding:var(--space-lg)}.hero-description[data-astro-cid-bbe6dxrz] br[data-astro-cid-bbe6dxrz]{display:none}.hero-actions[data-astro-cid-bbe6dxrz]{flex-direction:column;align-items:center}.hero-cta[data-astro-cid-bbe6dxrz]{width:100%;max-width:280px;justify-content:center}}.services[data-astro-cid-g5jplrhu]{padding:var(--space-3xl) var(--space-xl);background:var(--color-bg-alt)}.services-inner[data-astro-cid-g5jplrhu]{max-width:var(--max-width);margin:0 auto}.section-title[data-astro-cid-g5jplrhu]{font-size:clamp(1.5rem,3vw,2rem);text-align:center;margin:0 0 var(--space-2xl);color:var(--color-primary)}.services-grid[data-astro-cid-g5jplrhu]{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-xl)}.service-card[data-astro-cid-g5jplrhu]{background:#fff;padding:var(--space-xl);border-radius:var(--border-radius);box-shadow:0 2px 8px #00000014;transition:transform var(--transition),box-shadow var(--transition)}.service-card[data-astro-cid-g5jplrhu]:hover{transform:translateY(-4px);box-shadow:0 4px 16px #0000001f}.service-title[data-astro-cid-g5jplrhu]{font-size:1.25rem;margin:0 0 var(--space-sm);color:var(--color-primary)}.service-description[data-astro-cid-g5jplrhu]{margin:0;color:var(--color-text-light);font-size:.95rem;line-height:1.7}.service-link[data-astro-cid-g5jplrhu]{display:inline-block;margin-top:var(--space-md);color:var(--color-primary);font-size:.9rem;font-weight:500;text-decoration:none;transition:opacity var(--transition)}.service-link[data-astro-cid-g5jplrhu]:hover{opacity:.8}.company[data-astro-cid-e24ha2of]{padding:var(--space-3xl) var(--space-xl);background:var(--color-bg)}.company-inner[data-astro-cid-e24ha2of]{max-width:var(--max-width);margin:0 auto}.company[data-astro-cid-e24ha2of] .section-title[data-astro-cid-e24ha2of]{font-size:clamp(1.5rem,3vw,2rem);text-align:center;margin:0 0 var(--space-2xl);color:var(--color-primary)}.company-list[data-astro-cid-e24ha2of]{display:grid;gap:0;margin:0;max-width:600px;margin-inline:auto;background:#fff;border-radius:var(--border-radius);overflow:hidden;box-shadow:0 2px 8px #0000000f}.company-item[data-astro-cid-e24ha2of]{display:grid;grid-template-columns:140px 1fr;border-bottom:1px solid var(--color-border);margin:0}.company-item[data-astro-cid-e24ha2of]:last-child{border-bottom:none}.company-label[data-astro-cid-e24ha2of]{padding:var(--space-md) var(--space-lg);background:var(--color-bg);font-weight:600;color:var(--color-text);margin:0}.company-value[data-astro-cid-e24ha2of]{padding:var(--space-md) var(--space-lg);margin:0}@media(max-width:480px){.company-item[data-astro-cid-e24ha2of]{grid-template-columns:1fr}.company-label[data-astro-cid-e24ha2of]{border-bottom:1px solid var(--color-border)}}
