:root{--bg:#0D0F12;--panel:#151A21;--text:#F5F7FA;--muted:#A7AFBA;--line:rgba(255,255,255,.11);--blue:#00E5FF;--green:#31d16f;--shadow:0 28px 80px rgba(0,0,0,.42);--ease:cubic-bezier(.2,.72,.2,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 85% 0,rgba(0,229,255,.1),transparent 26%),var(--bg);color:var(--text);font-family:Inter,"Noto Sans JP",sans-serif;line-height:1.8;overflow-x:hidden;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,textarea,select{font:inherit}.shell{width:min(1180px,calc(100% - 40px));margin:auto}
.topbar{position:fixed;z-index:50;top:16px;left:50%;transform:translateX(-50%);width:min(1180px,calc(100% - 24px));display:flex;align-items:center;justify-content:space-between;gap:18px;padding:11px 13px 11px 17px;border:1px solid var(--line);border-radius:999px;background:rgba(9,12,16,.78);backdrop-filter:blur(20px);box-shadow:0 18px 60px rgba(0,0,0,.28)}.brand{display:flex;gap:11px;align-items:center;font-weight:800;letter-spacing:-.04em}.brand small{display:block;font-size:.58rem;color:#8fa0ad;letter-spacing:.02em;font-weight:600}.mark{width:30px;height:30px;border:1px solid rgba(255,255,255,.28);border-radius:50%;position:relative;overflow:hidden}.mark:before,.mark:after{content:"";position:absolute;left:-30%;width:160%;height:2px;background:linear-gradient(90deg,transparent,var(--blue),transparent);transform:rotate(-18deg);box-shadow:0 0 9px var(--blue)}.mark:before{top:10px}.mark:after{top:18px;opacity:.5}.nav{display:flex;gap:4px}.nav a{padding:9px 12px;border-radius:999px;color:#c5cbd2;font-size:.78rem}.nav a:hover{background:rgba(255,255,255,.07);color:#fff}
.call,.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:0 18px;border-radius:999px;font-weight:800;border:1px solid rgba(0,229,255,.45);transition:.3s var(--ease)}.call,.btn.primary{color:#031113;background:linear-gradient(110deg,#c6fbff,var(--blue),#7c88ff)}.btn.ghost{background:rgba(255,255,255,.03);border-color:var(--line);color:#fff}.btn.line{background:linear-gradient(110deg,#caffd7,#31d16f);color:#07160b;border-color:rgba(49,209,111,.55)}.call:hover,.btn:hover{transform:translateY(-3px);box-shadow:0 14px 36px rgba(0,229,255,.18)}.menu{display:none;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:transparent;color:#fff}.mobile{display:none;position:fixed;z-index:45;top:80px;left:12px;right:12px;padding:14px;border:1px solid var(--line);border-radius:22px;background:#0d1117}.mobile.open{display:grid;gap:6px}.mobile a{padding:12px;border-radius:12px;background:rgba(255,255,255,.035)}
.hero{min-height:100svh;position:relative;display:grid;align-items:end;padding:160px 0 68px;overflow:hidden}.hero-bg{position:absolute;inset:0;background:linear-gradient(to top,var(--bg) 3%,rgba(13,15,18,.15) 55%,rgba(13,15,18,.78)),url("assets/hero-night.svg") center/cover}.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.22fr .78fr;gap:44px;align-items:end}.eyebrow{display:inline-flex;align-items:center;gap:10px;color:#b8f8ff;font-size:.75rem;font-weight:800;letter-spacing:.17em;text-transform:uppercase}.eyebrow:before{content:"";width:28px;height:1px;background:var(--blue);box-shadow:0 0 8px var(--blue)}h1,h2,h3,p{margin-top:0}.hero h1{font-size:clamp(3.5rem,8vw,8rem);line-height:.9;letter-spacing:-.07em;margin:16px 0 24px}.hero h1 span{display:block;font-size:.34em;line-height:1.25;letter-spacing:-.04em;margin-bottom:10px}.stroke{color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.55)}.lead{font-size:clamp(1rem,1.6vw,1.18rem);color:var(--muted);max-width:720px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.glass{padding:28px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.02));backdrop-filter:blur(16px);box-shadow:var(--shadow)}.glass strong{display:block;font-size:2.45rem;letter-spacing:-.05em;line-height:1.1}.status{display:flex;gap:8px;align-items:center;color:#d6fbff;font-size:.83rem;margin-bottom:30px}.status:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--blue);box-shadow:0 0 13px var(--blue)}.cert-badge{display:inline-flex;margin-top:18px;padding:8px 12px;border-radius:999px;border:1px solid rgba(0,229,255,.23);background:rgba(0,229,255,.06);color:#c9fbff;font-size:.78rem}
.ticker{overflow:hidden;border-block:1px solid var(--line);background:#090b0e;padding:13px 0}.track{display:flex;gap:38px;width:max-content;animation:ticker 24s linear infinite;font-size:.76rem;font-weight:800;letter-spacing:.14em;color:#aeb6bf}.ticker-group{display:flex;gap:38px;flex:none}@keyframes ticker{to{transform:translateX(calc(-50% - 19px))}}.track b{color:var(--blue)}.track .cta-status{display:inline-flex!important;align-items:center;gap:10px;white-space:nowrap;color:#caffd7}.track .cta-status b{margin:0!important;padding:4px 9px;border:1px solid rgba(49,209,111,.45);border-radius:999px;background:rgba(49,209,111,.1);color:#8fffb8}.track .durc-status,.track .durc-status-copy{flex:none}.track .durc-note,.track .durc-note-copy{display:inline!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;white-space:nowrap}
.section{padding:110px 0}.head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:46px}.head h2,.subhero h1{font-size:clamp(2.8rem,6vw,6.2rem);line-height:.95;letter-spacing:-.06em;margin-bottom:0}.head p{max-width:470px;color:var(--muted);margin:0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.cards.two{grid-template-columns:repeat(2,1fr)}.card,.service-link{padding:28px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.016));transition:.35s var(--ease)}.card:hover,.service-link:hover{transform:translateY(-8px);border-color:rgba(0,229,255,.42)}.no{font-size:.74rem;color:var(--blue);font-weight:800;letter-spacing:.14em}.card h3,.service-link h3{font-size:1.4rem;line-height:1.3;margin:18px 0 10px}.card p,.service-link p{color:var(--muted);margin:0}.textlink{display:inline-flex;margin-top:18px;color:#bffaff;font-weight:700;font-size:.9rem}.service-links{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.service-link span{font-size:.72rem;color:var(--blue);font-weight:800;letter-spacing:.12em}
.split{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center}.visual{border:1px solid var(--line);border-radius:30px;overflow:hidden;background:#0c1015;box-shadow:var(--shadow)}.visual img{width:100%;height:100%;aspect-ratio:3/2;object-fit:cover}.notice-stack{display:grid;gap:10px;margin-top:22px}.notice-item{padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.025);font-size:.9rem}.notice-item b{color:#d7fbff}.price{border:1px solid var(--line);border-radius:30px;overflow:hidden;background:#10141a;box-shadow:var(--shadow)}.price-row{display:grid;grid-template-columns:1.2fr .9fr .8fr;gap:18px;align-items:center;padding:24px 30px;border-bottom:1px solid var(--line)}.price-row:last-child{border-bottom:0}.amount{justify-self:end;font-size:1.55rem;font-weight:800}.small{font-size:.8rem;color:var(--muted)}
.subhero{min-height:58vh;padding:185px 0 70px;display:flex;align-items:flex-end;position:relative;overflow:hidden}.timeline{max-width:900px;margin:46px auto 0;padding-left:48px;border-left:1px solid rgba(0,229,255,.25)}.step{position:relative;display:grid;grid-template-columns:140px 1fr;gap:30px;padding:0 0 60px}.step:before{content:"";position:absolute;left:-56px;top:7px;width:14px;height:14px;border-radius:50%;background:var(--blue);box-shadow:0 0 16px var(--blue)}.step b{font-size:3rem;color:rgba(255,255,255,.12)}.step p{color:var(--muted)}
.faq{display:grid;gap:12px}.faq details{border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.025);overflow:hidden}.faq summary{cursor:pointer;padding:19px 21px;font-weight:700}.faq details p{padding:0 21px 20px;margin:0;color:var(--muted)}.caution-band{margin-top:46px;padding:30px;border:1px solid rgba(0,229,255,.2);border-radius:24px;background:rgba(255,255,255,.02)}.caution-band p{color:var(--muted)}.hours-row{display:grid;grid-template-columns:180px 1fr;gap:18px;padding:16px 0;border-bottom:1px solid var(--line)}.hours-row span{color:var(--muted)}
.contact{display:grid;grid-template-columns:1fr .85fr;gap:32px;padding:42px;border:1px solid rgba(0,229,255,.18);border-radius:30px;background:radial-gradient(circle at 85% 0,rgba(0,229,255,.14),transparent 32%),#10151c}.phone{font-size:clamp(2.2rem,4vw,4rem);font-weight:800;letter-spacing:-.06em}.form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:.78rem;color:#aeb5be}.field input,.field textarea{padding:14px 15px;color:#fff;background:#0b0f14;border:1px solid var(--line);border-radius:14px;outline:none}.field textarea{min-height:130px}.form-note{padding:16px 18px;border:1px solid rgba(0,229,255,.16);border-radius:16px;background:rgba(0,229,255,.04);color:var(--muted);font-size:.86rem}.line-cta{width:100%;min-height:64px;font-size:1.05rem}.line-note{margin:16px 0 0;color:var(--muted)}.share-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.share-btn{min-height:44px;padding:0 15px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.03);color:#fff;font-weight:700}
footer{padding:30px 0 42px;border-top:1px solid var(--line);color:#9099a3;font-size:.78rem}.footer-grid{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}.footer-links{display:flex;gap:18px;flex-wrap:wrap}.sticky-cta{position:fixed;z-index:9999;left:0;right:0;bottom:0;display:none;grid-template-columns:1fr 1fr;gap:10px;padding:10px 12px;background:rgba(7,10,13,.92);backdrop-filter:blur(18px);border-top:1px solid var(--line);box-shadow:0 -2px 10px rgba(0,0,0,.22)}.sticky-cta a{min-height:58px;border-radius:16px;font-weight:800;display:flex;align-items:center;justify-content:center;gap:8px}.sticky-cta .tel{color:#031113;background:linear-gradient(110deg,#c6fbff,var(--blue),#7c88ff)}.sticky-cta .line{color:#07160b;background:linear-gradient(110deg,#caffd7,#31d16f)}
.notice-link{position:relative;padding-right:42px;transition:.25s var(--ease)}.notice-link:after{content:"→";position:absolute;right:16px;color:var(--blue)}.notice-link:hover{border-color:rgba(0,229,255,.42);background:rgba(0,229,255,.06);transform:translateX(3px)}.reveal{opacity:0;transform:translateY(26px);transition:.8s var(--ease)}.reveal.visible{opacity:1;transform:none}
@media(max-width:940px){.nav,.call{display:none}.menu{display:block}.hero-grid,.split,.contact{grid-template-columns:1fr}.service-links{grid-template-columns:1fr 1fr}.cards{grid-template-columns:1fr}.head{display:block}.head p{margin-top:22px}}
@media(max-width:768px){body{padding-bottom:78px}.sticky-cta{display:grid}}
.hero h1 .stroke{display:inline-block;transform:translateY(6px)}
@media(max-width:620px){.hero h1{line-height:.96}.hero h1 .stroke{transform:translateY(8px)}}
@media(max-width:620px){.shell{width:min(100% - 26px,1180px)}.hero{padding-top:180px;min-height:auto}.hero h1{font-size:3.7rem}.section{padding:82px 0}.head h2,.subhero h1{font-size:2.8rem}.service-links,.cards.two,.form{grid-template-columns:1fr}.price-row{grid-template-columns:1fr auto;padding:20px}.price-row .small{grid-column:1/-1}.step{grid-template-columns:1fr;gap:10px}.hours-row{grid-template-columns:1fr;gap:4px}.sticky-cta{padding:8px}.sticky-cta a{font-size:.86rem}.contact{padding:26px}}

/* ticker vertical alignment v1 */
.ticker .track{position:relative;top:4px}
