:root{--ink: #14181f;--ink-soft: #3c4757;--muted: #6b7686;--line: #e4e8ee;--surface: #ffffff;--surface-alt: #f6f8fb;--hero-bg: #0c1017;--hero-fg: #f4f6fa;--hero-muted: #9aa6b8;--accent: #2f5fe0;--accent-strong: #244bc0;--accent-ink: #ffffff;--danger: #b42318;--radius: 10px;--maxw: 1080px;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", Meiryo, sans-serif}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font);color:var(--ink);background:var(--surface);line-height:1.75;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,p,ul,figure{margin:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}img,svg{max-width:100%;display:block}:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:4px}.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:clamp(20px,5vw,40px)}.section{padding-block:clamp(56px,8vw,104px)}.section--alt{background:var(--surface-alt);border-block:1px solid var(--line)}.eyebrow{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--accent);margin-bottom:14px}.section-title{font-size:clamp(1.5rem,3.4vw,2.1rem);line-height:1.3;letter-spacing:.01em;font-weight:800;color:var(--ink)}.section-lead{margin-top:16px;max-width:42em;color:var(--ink-soft);font-size:1.05rem}.site-header{position:sticky;top:0;z-index:20;background:#0c1017eb;backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid rgba(255,255,255,.08)}.site-header .wrap{display:flex;align-items:center;justify-content:space-between;min-height:60px;gap:16px}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--hero-fg);font-weight:800;letter-spacing:.02em}.brand:hover{text-decoration:none}.brand svg{height:22px;width:auto}.nav{display:flex;gap:clamp(12px,2.4vw,28px);align-items:center;flex-wrap:wrap}.nav a{color:var(--hero-muted);font-size:.92rem;font-weight:600}.nav a:hover{color:var(--hero-fg);text-decoration:none}.nav .nav-cta{color:var(--accent-ink);background:var(--accent);padding:8px 16px;border-radius:999px}.nav .nav-cta:hover{background:var(--accent-strong)}.hero{background:radial-gradient(1200px 600px at 78% -8%,rgba(47,95,224,.28),transparent 60%),linear-gradient(180deg,#0c1017,#10151f);color:var(--hero-fg)}.hero .wrap{padding-block:clamp(72px,12vw,132px)}.hero-tagline{font-size:.82rem;letter-spacing:.18em;text-transform:uppercase;color:var(--hero-muted);font-weight:700;margin-bottom:22px}.hero h1{font-size:clamp(1.9rem,5.2vw,3.3rem);line-height:1.28;letter-spacing:.01em;font-weight:800;max-width:20em}.hero-sub{margin-top:24px;font-size:clamp(1rem,2.2vw,1.22rem);color:var(--hero-muted);max-width:34em}.hero-sub strong{color:var(--hero-fg);font-weight:700}.hero-actions{margin-top:36px;display:flex;gap:14px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:1rem;padding:13px 26px;border-radius:999px;border:1px solid transparent;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.btn--primary{background:var(--accent);color:var(--accent-ink)}.btn--primary:hover{background:var(--accent-strong);text-decoration:none}.btn--ghost{background:transparent;color:var(--hero-fg);border-color:#ffffff47}.btn--ghost:hover{border-color:var(--hero-fg);text-decoration:none}.value-grid{margin-top:44px;display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.value-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:28px 26px}.value-card .num{font-size:.8rem;font-weight:800;letter-spacing:.1em;color:var(--accent)}.value-card h3{margin-top:12px;font-size:1.14rem;line-height:1.5;font-weight:800}.value-card p{margin-top:10px;color:var(--ink-soft);font-size:.98rem}.svc-list{margin-top:40px;display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));list-style:none;padding:0}.svc-item{border:1px solid var(--line);border-radius:var(--radius);padding:24px;background:var(--surface)}.svc-name{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.svc-name b{font-size:1.16rem;font-weight:800;letter-spacing:.02em}.svc-badge{font-size:.72rem;font-weight:700;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:2px 10px}.svc-item p{margin-top:10px;color:var(--ink-soft);font-size:.96rem}.contact-grid{margin-top:44px;display:grid;gap:clamp(28px,5vw,56px);grid-template-columns:1fr}@media(min-width:860px){.contact-grid{grid-template-columns:.9fr 1.1fr}}.contact-aside p{color:var(--ink-soft)}.field{margin-bottom:18px}.field label{display:block;font-weight:700;font-size:.92rem;margin-bottom:7px}.field .req{color:var(--danger);font-size:.8rem;margin-left:4px}.field .opt{color:var(--muted);font-size:.78rem;font-weight:600;margin-left:6px}.field input,.field textarea{width:100%;font-family:inherit;font-size:1rem;color:var(--ink);padding:12px 14px;border:1px solid #c8d0dc;border-radius:8px;background:var(--surface)}.field input:focus,.field textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #2f5fe02e}.field textarea{min-height:148px;resize:vertical}.hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.turnstile-holder{margin:6px 0 18px}.form-status{margin-top:16px;padding:14px 16px;border-radius:8px;font-weight:600;font-size:.96rem}.form-status[data-state=success]{background:#e7f6ec;color:#1a7f37;border:1px solid #b7e0c4}.form-status[data-state=error]{background:#fdeceb;color:var(--danger);border:1px solid #f4c7c3}.form-status[hidden]{display:none}.company-table{margin-top:36px;border-top:1px solid var(--line);max-width:640px}.company-table div{display:grid;grid-template-columns:140px 1fr;gap:12px;padding:16px 4px;border-bottom:1px solid var(--line)}.company-table dt{font-weight:700;color:var(--muted);font-size:.92rem}.company-table dd{margin:0;color:var(--ink)}@media(max-width:520px){.company-table div{grid-template-columns:1fr;gap:2px}}.site-footer{background:var(--hero-bg);color:var(--hero-muted);padding-block:36px}.site-footer .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.site-footer .brand{font-size:.98rem}.site-footer small{font-size:.86rem}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
