:root{--bg: #191c1f;--bg-hero: #23272f;--bg-elevated: #23272f;--text: #f6f7f9;--muted: #99a1b3;--accent: #58c4dc;--accent-strong: #149eca;--border: rgba(235, 236, 240, .1);--shadow: 0 16px 48px rgba(0, 0, 0, .28);--nav: rgba(25, 28, 31, .86)}[data-theme=light]{--bg: #ffffff;--bg-hero: #f6f7f8;--bg-elevated: #ffffff;--text: #23272f;--muted: #5e687e;--accent: #0a7ea4;--accent-strong: #0584aa;--border: rgba(35, 39, 47, .12);--shadow: 0 16px 48px rgba(15, 23, 42, .08);--nav: rgba(255, 255, 255, .9)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:5rem}html,body,#root,.page{width:100%;min-height:100%}body{margin:0;min-width:320px;background:var(--bg);color:var(--text);font-family:Hiragino Sans,Hiragino Kaku Gothic ProN,Noto Sans JP,ui-sans-serif,system-ui,sans-serif;line-height:1.65;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit;color:inherit}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}.page{min-height:100vh}.nav-shell{position:sticky;top:0;z-index:30;background:var(--nav);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--border)}.nav{display:flex;align-items:center;gap:1.5rem;padding:.85rem 1.5rem}.nav-brand{display:flex;align-items:center;gap:.55rem;font-weight:700;letter-spacing:-.03em}.logo-mark{width:1.55rem;height:1.55rem;color:var(--accent)}.nav-links{display:flex;gap:1.15rem;margin-left:auto;color:var(--muted);font-size:.95rem}.nav-links a:hover,.footer a:hover,.nav-brand:hover{color:var(--accent)}.nav-actions{display:flex;align-items:center;gap:.6rem}.icon-btn,.btn{border:1px solid var(--border);background:transparent;color:var(--text);border-radius:999px;cursor:pointer}.icon-btn{padding:.4rem .75rem;font-size:.85rem;color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.7rem 1.15rem;font-weight:650}.btn-small{padding:.42rem .9rem;font-size:.9rem}.btn-primary{background:var(--accent);border-color:var(--accent);color:#032830}[data-theme=light] .btn-primary{color:#fff}.btn-primary:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.btn-ghost:hover,.icon-btn:hover{border-color:var(--accent);color:var(--text)}.btn:disabled{opacity:.65;cursor:wait}.menu-btn,.mobile-nav{display:none}.hero{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;min-height:78vh;padding:4rem 1.5rem 5rem;background:radial-gradient(circle at 50% 18%,rgba(88,196,220,.16),transparent 42%),var(--bg-hero);text-align:center}.hero .logo-mark{width:5.5rem;height:5.5rem}.hero h1{font-size:clamp(3rem,8vw,6.2rem);line-height:.95;letter-spacing:-.06em;font-weight:700}.hero-tagline{max-width:22em;font-size:clamp(1.15rem,2.4vw,1.7rem);color:var(--muted);letter-spacing:-.02em}.hero-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:.75rem}.block{max-width:1120px;margin:0 auto;padding:6.5rem 1.5rem;text-align:center}.block h2{font-size:clamp(2rem,5vw,3.4rem);line-height:1.15;letter-spacing:-.045em}.lede,.closing{max-width:42rem;margin:1.1rem auto 0;color:var(--muted);font-size:1.05rem}.closing{margin-top:2.5rem}.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:3rem 0 0;padding:0;list-style:none;text-align:left}.service-card,.platform-card,.panel{background:var(--bg-elevated);border:1px solid var(--border);border-radius:1.15rem;box-shadow:var(--shadow)}.service-card{padding:1.25rem 1.3rem 1.4rem}.service-index{display:block;margin-bottom:.7rem;color:var(--accent);font-variant-numeric:tabular-nums;font-size:.82rem;letter-spacing:.08em}.service-card h3,.platform-card h3{margin-bottom:.45rem;font-size:1.12rem;letter-spacing:-.03em}.service-card p,.platform-card p,.steps span{color:var(--muted);font-size:.95rem}.panel{max-width:720px;margin:3rem auto 0;overflow:hidden;text-align:left}.steps{margin:0;padding:.4rem 0 .8rem;list-style:none}.steps li{display:grid;gap:.25rem;padding:1rem 1.2rem}.steps li+li{border-top:1px solid var(--border)}.platform-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:3rem;text-align:left}.platform-card{padding:1.4rem 1.35rem 1.6rem}.contact-form{display:grid;gap:1rem;max-width:36rem;margin:2.5rem auto 0;text-align:left}.contact-form label{display:grid;gap:.4rem;font-size:.9rem;color:var(--muted)}.contact-form input,.contact-form textarea{width:100%;padding:.8rem .9rem;border:1px solid var(--border);border-radius:.8rem;background:var(--bg-elevated);color:var(--text);font-size:16px;outline:none}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--accent)}.form-note{margin:0;color:var(--accent)}.form-note.error{color:#ff7b72}.footer{padding:3.5rem 1.5rem 2.5rem;border-top:1px solid var(--border);background:var(--bg-hero)}.footer-inner{display:grid;gap:2rem;max-width:1120px;margin:0 auto}.footer-brand{display:flex;gap:.8rem;align-items:flex-start}.footer-brand p,.copyright{color:var(--muted);font-size:.92rem}.footer-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}.footer-cols h2{margin-bottom:.7rem;font-size:.8rem;letter-spacing:.08em;text-transform:none;color:var(--muted)}.footer-cols a{display:block;margin-top:.45rem;font-size:.95rem}.copyright{margin:0}.legal{text-align:left;max-width:720px;min-height:70vh}.legal h1{font-size:clamp(1.7rem,4vw,2.4rem);letter-spacing:-.04em;line-height:1.25}.legal-list{margin:2.5rem 0 0}.legal-row{display:grid;grid-template-columns:11rem minmax(0,1fr);gap:1rem;padding:1.1rem 0;border-top:1px solid var(--border)}.legal-row dt{color:var(--muted);font-size:.88rem}.legal-row dd{margin:0}.legal-row a{color:var(--accent)}.legal-updated{margin:1rem 0 0;color:var(--muted);font-size:.92rem}.legal-article{margin-top:2.2rem}.legal-article h2{margin-bottom:.7rem;font-size:1.05rem;letter-spacing:-.02em}.legal-article p{margin:.55rem 0 0;color:var(--muted)}.legal-article p+p{margin-top:.7rem}@media(max-width:860px){.nav-links,.nav-actions .btn-small{display:none}.menu-btn{display:inline-flex}.mobile-nav{display:grid;gap:.35rem;padding:.35rem 1.5rem 1.1rem;background:var(--nav)}.mobile-nav a{padding:.7rem 0;font-size:1.05rem}.service-grid,.platform-grid,.footer-cols,.legal-row{grid-template-columns:1fr}.hero{min-height:80vh;padding-top:5rem}}@media(min-width:1100px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
