﻿:root{--cs-bg:#0B0F14;--cs-panel:#121821;--cs-neon:#39FF14;--cs-cyan:#5CE1E6;--cs-text:#E8EEF2;--cs-muted:#8B98A5;--cs-disp:"Space Grotesk",sans-serif;--cs-sans:"Noto Sans JP",sans-serif;--cs-ease:cubic-bezier(.16,1,.3,1)}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scrollbar-width:none}::-webkit-scrollbar{display:none}
body.cs-body{font-family:var(--cs-sans);font-weight:400;background:var(--cs-bg);color:var(--cs-text);line-height:1.65;overflow-x:hidden}
img{max-width:100%;display:block;object-fit:cover}a{color:inherit;text-decoration:none}h1,h2,h3{font-weight:500;line-height:1.2}
h1{font-family:var(--cs-disp);font-size:clamp(3rem,9vw,6.5rem);letter-spacing:-.02em}
h2{font-family:var(--cs-disp);font-size:clamp(1.7rem,3.5vw,2.8rem);margin-bottom:.7rem}h3{font-size:1.05rem;margin:.5rem 0}
.cs-wrap{width:min(1120px,92vw);margin:0 auto}.cs-eye{color:var(--cs-neon);font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;font-weight:500;margin-bottom:.7rem}
.cs-meta{color:var(--cs-muted);font-size:.8rem}.cs-btn{display:inline-flex;padding:.85rem 1.6rem;background:var(--cs-neon);color:#041006;font-weight:500;border-radius:999px;box-shadow:0 0 24px rgba(57,255,20,.35);transition:transform .3s,box-shadow .3s}
.cs-btn:hover{transform:translateY(-2px);box-shadow:0 0 36px rgba(57,255,20,.55)}.cs-link{color:var(--cs-cyan);border-bottom:1px solid var(--cs-cyan);font-weight:500;display:inline-block;margin-top:1rem}
.cs-header{position:fixed;top:0;left:0;right:0;z-index:100;height:64px;padding:0;display:flex;align-items:center;background:rgba(11,15,20,.94);border-bottom:1px solid rgba(255,255,255,.06);transition:background .35s,box-shadow .35s}
.cs-header::before{content:"";position:absolute;inset:0;z-index:0;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);pointer-events:none}
.cs-header.on{background:rgba(11,15,20,.98);box-shadow:0 8px 28px rgba(0,0,0,.35)}
.cs-bar{width:min(1180px,94vw);margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:1rem;position:relative;z-index:120;height:64px}
.cs-logo{display:flex;gap:.65rem;align-items:center;font-family:var(--cs-disp);font-weight:500;letter-spacing:.04em;color:var(--cs-text);line-height:1}
.cs-logo__orb{width:10px;height:10px;border-radius:50%;background:var(--cs-neon);box-shadow:0 0 10px rgba(57,255,20,.7);flex-shrink:0}
.cs-nav ul{display:flex;gap:1.35rem;align-items:center;list-style:none;margin:0;padding:0}
.cs-nav a{font-size:.85rem;font-weight:500;color:rgba(232,238,242,.82);transition:color .3s;line-height:1;white-space:nowrap}
.cs-nav a:hover{color:#fff}
.cs-nav__cta{display:inline-flex;align-items:center;justify-content:center;padding:.55rem 1.15rem;border:1px solid var(--cs-neon);border-radius:999px;color:var(--cs-neon)!important;line-height:1;white-space:nowrap}
.cs-nav__cta:hover{background:rgba(57,255,20,.12);color:#fff!important}
.cs-burger{display:none;background:0;border:0;width:44px;height:44px;flex-direction:column;justify-content:center;align-items:center;gap:6px;cursor:pointer;position:relative;z-index:130}
.cs-burger span{display:block;height:1.5px;width:22px;background:var(--cs-text);transition:transform .35s,opacity .3s}
.cs-burger.is-open span:nth-child(1){transform:translateY(3.75px) rotate(45deg)}.cs-burger.is-open span:nth-child(2){transform:translateY(-3.75px) rotate(-45deg)}
.cs-hero{position:relative;min-height:100vh;display:grid;align-items:end;overflow:hidden}.cs-hero--s{min-height:72vh}
.cs-hero__media{position:absolute;inset:0}.cs-hero__media img{width:100%;height:100%;filter:saturate(1.1) contrast(1.05)}
.cs-hero__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,15,20,.55) 0%,rgba(11,15,20,.25) 40%,rgba(11,15,20,.72) 100%);pointer-events:none}
.cs-hero__glow{position:absolute;inset:auto -10% -20% 40%;height:50%;background:radial-gradient(circle,rgba(57,255,20,.18),transparent 70%);z-index:1;pointer-events:none}
.cs-hero__content{position:relative;z-index:2;padding:0 6vw 12vh;max-width:720px}
.cs-hero__content p{margin:.8rem 0 1.5rem;color:#c9d4dc}
.cs-sec{padding:clamp(3.5rem,7vw,6rem) 0}.cs-sec--panel{background:var(--cs-panel)}.cs-sec--neon{background:linear-gradient(90deg,#0d1a10,#102018)}
.cs-intro{max-width:680px}.cs-intro p:last-child{color:var(--cs-muted)}
.cs-orbit{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:center}
.cs-circle{width:min(420px,80vw);aspect-ratio:1;border-radius:50%;overflow:hidden;border:1px solid rgba(57,255,20,.35);box-shadow:0 0 40px rgba(57,255,20,.12);margin-inline:auto}
.cs-circle img{width:100%;height:100%}.cs-circle--sm{width:160px;margin-bottom:1rem}
.cs-models{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;margin-top:1.5rem;text-align:center}.cs-models p{color:var(--cs-muted);font-size:.9rem}
.cs-quote{text-align:center}.cs-quote h2{color:var(--cs-neon);font-size:clamp(1.3rem,3vw,2rem)}
.cs-glass{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.cs-glass__card{background:rgba(255,255,255,.04);border:1px solid rgba(92,225,230,.2);backdrop-filter:blur(8px);padding:1rem;transition:border-color .3s,transform .3s}
.cs-glass__card:hover{border-color:var(--cs-neon);transform:translateY(-4px)}.cs-glass__card img{width:100%;height:180px;margin-bottom:.8rem;border-radius:8px}.cs-glass__card p{color:var(--cs-muted);font-size:.92rem}
.cs-split{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center}.cs-split--flip{direction:rtl}.cs-split--flip>*{direction:ltr}
.cs-split img{width:100%;height:380px;border-radius:16px;border:1px solid rgba(92,225,230,.25)}
.cs-posts{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:1.5rem}.cs-posts img{width:100%;height:190px;margin-bottom:.7rem;border-radius:12px}.cs-posts p{color:var(--cs-muted)}
.cs-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.cs-strip img{width:100%;height:280px;border-radius:50% 50% 12px 12px}
.cs-cta-band{position:relative;min-height:48vh;display:grid;place-items:center;text-align:center;overflow:hidden}
.cs-cta__bg{position:absolute;inset:0}.cs-cta__bg img{width:100%;height:100%}.cs-cta__bg::after{content:"";position:absolute;inset:0;background:rgba(11,15,20,.7)}
.cs-cta__body{position:relative;z-index:2;padding:2rem}.cs-cta__body p{margin:.7rem 0 1.3rem;color:#c9d4dc}
.cs-contact{display:grid;grid-template-columns:.9fr 1.1fr;gap:2rem}.cs-form{display:grid;gap:.85rem;background:rgba(255,255,255,.03);border:1px solid rgba(57,255,20,.25);padding:1.4rem;border-radius:16px}
.cs-form label{display:grid;gap:.3rem;font-size:.85rem;font-weight:500}.cs-form input,.cs-form textarea{background:#0B0F14;border:1px solid #243040;color:#fff;padding:.8rem;border-radius:8px;font:inherit}
.cs-ok{background:#14301a;padding:.7rem;border-radius:8px}.cs-map{width:100%;height:380px;border:0;border-radius:16px;filter:grayscale(.6) saturate(1.2)}
.cs-faq details{background:var(--cs-panel);margin-bottom:.6rem;padding:1rem;border-left:2px solid var(--cs-neon)}.cs-faq summary{cursor:pointer;font-weight:500}.cs-faq p{margin-top:.55rem;color:var(--cs-muted)}
.cs-footer{padding:3.5rem 0 1.5rem;border-top:1px solid #1a2430}.cs-footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1.2fr 1fr;gap:1.4rem}
.cs-footer__brand{font-family:var(--cs-disp);font-size:1.5rem;margin-bottom:.5rem}.cs-footer h3{color:var(--cs-neon);font-size:.78rem;letter-spacing:.14em;margin-bottom:.7rem;font-weight:500}
.cs-footer ul{list-style:none}.cs-footer a{opacity:.75;font-size:.9rem}.cs-footer a:hover{color:var(--cs-neon);opacity:1}
.cs-footer address{font-style:normal;opacity:.75;font-size:.9rem}.cs-social{display:flex;flex-wrap:wrap;gap:.75rem;list-style:none;margin-top:1rem}
.cs-copy{margin-top:2rem;padding-top:1rem;border-top:1px solid #1a2430;opacity:.5;font-size:.8rem}
[data-cs]{opacity:0;transform:translateY(20px);transition:opacity .8s var(--cs-ease),transform .8s var(--cs-ease)}[data-cs].in{opacity:1;transform:none}
@media(max-width:900px){.cs-burger{display:flex}.cs-nav{position:fixed;top:0;left:0;width:100%;width:100vw;height:100%;height:100dvh;z-index:110;background:#0B0F14;transform:translateX(100%);transition:transform .4s;display:grid;place-items:center;pointer-events:none}.cs-nav.open{transform:none;pointer-events:auto}.cs-nav ul{flex-direction:column;font-size:1.25rem;gap:1.75rem}.cs-nav a{color:#fff;opacity:1}
.cs-orbit,.cs-models,.cs-glass,.cs-split,.cs-posts,.cs-strip,.cs-contact,.cs-footer__grid{grid-template-columns:1fr}.cs-circle{width:min(300px,70vw)}.cs-strip img{border-radius:16px}}
