:root{--bg: #f5f6f5;--surface: #fff;--ink: #20221f;--muted: #5e625a;--line: #d9dcd2;--primary: #20221f;--sage: #9cab8c;--lime: #d5edaf;--font-en: "Plus Jakarta Sans", sans-serif;--font-ja: "Zen Kaku Gothic New", sans-serif;--mono: "JetBrains Mono", monospace}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:112px}body{background:var(--surface);color:var(--ink);font:500 16px/1.9 var(--font-ja);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid var(--ink);outline-offset:6px}img{display:block;max-width:100%;height:auto}.shell{width:min(100% - 144px,1240px);margin-inline:auto}.accent{color:inherit}.btn{display:inline-flex;align-items:center;justify-content:center;gap:28px;min-height:48px;padding:12px 24px;border:1px solid transparent;border-radius:50px;font-size:14px;font-weight:700;transition:background .2s,color .2s}.btn-primary{color:#fff;background:var(--ink)}.btn-primary:hover{background:#3d4436}.text-link{display:inline-flex;align-items:center;gap:18px;min-height:48px;font-size:14px;font-weight:700}.text-link:hover{text-decoration:underline;text-underline-offset:6px}nav{position:sticky;top:0;z-index:10;background:#fffffff7;border-bottom:1px solid #eceee8}.nav-in{display:flex;justify-content:space-between;align-items:center;min-height:88px;gap:24px}.nav-links{display:flex;align-items:center;gap:32px;font:700 12px var(--font-ja)}.nav-links .lnk{display:inline-flex;align-items:center;min-width:44px;min-height:44px}.nav-links .lnk:hover{text-decoration:underline;text-underline-offset:5px}.nav-links .btn{min-height:44px;font:inherit;padding:12px 20px;gap:22px}.logo-container{display:flex;align-items:center;gap:14px;flex-shrink:0;min-height:44px}.logo-icon{position:relative;flex-shrink:0;width:70px;height:40px;display:flex;align-items:center}.node-line{height:2px;background:#007bff;position:absolute}.node-line:nth-child(1){width:30px;left:0;top:19px}.node-circle{width:10px;height:10px;border-radius:50%;border:2px solid #007bff;background:#f3f8ff;position:absolute}.node-circle.start{left:10px;top:15px}.node-line.branch{width:2px;height:15px;background:#00d455;left:14px;top:0}.node-circle.top{border-color:#00d455;left:10px;top:-5px}.node-block{width:32px;height:32px;background:#007bff;border-radius:8px;display:flex;align-items:center;justify-content:center;font-family:var(--font-en);font-weight:800;font-size:1.2rem;color:#fff;position:absolute;left:35px;top:4px;box-shadow:0 0 12px #007bff73}.node-line.arrow{width:15px;background:#0d1b33;left:70px;top:19px}.node-line.arrow:after{content:"";position:absolute;right:0;top:-3px;border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:4px solid #0d1b33}.logo-text{display:flex;flex-direction:column;line-height:1}.main-text{font-family:var(--font-en);font-weight:800;font-size:1.12rem;letter-spacing:1px;color:#0d1b33;white-space:nowrap}.sub-text{font-family:var(--mono);color:#007bff;font-size:.7rem;letter-spacing:4px;margin-top:4px}.hero{background:var(--bg);padding:100px 0 76px}.hero-grid{display:grid;grid-template-columns:1fr 1.08fr;gap:48px;align-items:center}.eyebrow{display:flex;align-items:center;gap:10px;font:700 10px/1.8 var(--font-en);letter-spacing:.12em;color:var(--muted);margin-bottom:32px}.eyebrow-dot{width:6px;height:6px;border-radius:50%;background:#718663}h1{font-size:clamp(48px,5.4vw,78px);line-height:1.28;font-weight:900;letter-spacing:-.045em}.hero-subtitle{margin-top:30px;font-size:22px;line-height:1.8;font-weight:700}.lead{color:var(--muted);margin-top:16px;font-size:15px;line-height:1.9}.hero-cta{display:flex;flex-wrap:wrap;align-items:center;gap:28px;margin-top:32px}.hero-art,.hero-art img{width:100%}.workflow-mobile{display:none}.hero-art figcaption{margin-top:16px;color:var(--muted);font-size:12px;text-align:center}.stats{background:var(--bg)}.stats-in{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);padding-block:28px 36px}.stat{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 16px;padding-inline:32px;border-left:1px solid var(--line)}.stat:first-child{border:0;padding-left:0}.stat .n{font:700 28px/1.7 var(--font-en);letter-spacing:-.03em}.stat .stat-text{font:700 18px/2.6 var(--font-ja);letter-spacing:0}.stat .l{font-size:12px;color:var(--muted)}section.block{padding-block:112px}.sec-tag{color:var(--muted);font:600 10px/1.8 var(--mono);letter-spacing:.1em;margin-bottom:24px}.sec-h{font-size:clamp(30px,3.1vw,43px);line-height:1.5;letter-spacing:-.035em;font-weight:900}.sec-lead{color:var(--muted);line-height:2;margin-top:18px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:48px}.section-heading>.sec-lead{max-width:26em;padding-bottom:6px}.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:48px}.svc{background:#f6f7f3;padding:34px 30px}.service-art{display:block;width:100px;height:72px;margin:0 0 36px}.no{font:500 10px/2 var(--mono);color:var(--muted);letter-spacing:.08em;margin-bottom:12px}.svc h3{font-size:21px;line-height:1.65;font-weight:700;letter-spacing:-.02em}.svc-description p{color:var(--muted);margin-top:16px;font-size:15px;line-height:1.95}.tags{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}.chip{color:var(--muted);font-size:11px}#about{padding-top:0}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;background:var(--ink);color:#fff;padding:72px 64px}.about-grid .sec-tag{color:var(--sage)}.about-grid .sec-h{font-size:clamp(28px,2.8vw,40px)}.about-grid .sec-lead{color:#d4d8d0;margin-top:0;font-size:15px}.about-signature{font-size:13px;color:var(--lime);margin-top:30px}.about-list{list-style:none;display:grid;margin-top:28px}.about-list li{padding-block:16px;border-top:1px solid #4a5046}.about-list b{display:block;font-size:15px}.about-list span{display:block;color:#d4d8d0;font-size:14px;margin-top:4px}#approach{padding-top:0}#approach .section-heading{display:block}#approach .sec-lead{max-width:none}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;margin-top:48px}.step{border-top:1px solid var(--line);padding-top:24px}.sn{font:500 11px var(--mono);letter-spacing:.08em;color:var(--muted)}.step h3{font-size:19px;margin:18px 0 10px;line-height:1.6}.step p{color:var(--muted);font-size:15px}#contact{background:#eff1ef}.cta{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:72px}.cta h2{font-size:clamp(40px,4.6vw,64px);line-height:1.45;font-weight:900;letter-spacing:-.04em}.contact-details>p{color:#4d5547;font-size:15px}#safe-contact{margin-top:28px}#safe-contact p{font-size:clamp(17px,2vw,24px)!important;font-weight:600!important;letter-spacing:-.02em!important;margin-bottom:20px!important;overflow-wrap:anywhere}footer{background:#fff;padding-block:56px 32px}.foot-in{display:flex;justify-content:space-between;gap:48px}.foot-tag{color:var(--muted);font-size:13px;margin-top:18px}.foot-cols{display:flex;gap:56px}.foot-col{display:flex;flex-direction:column;align-items:flex-start}.foot-h{color:var(--muted);font:600 10px var(--mono);letter-spacing:.08em;margin-bottom:12px}.foot-col a{color:var(--muted);display:flex;align-items:center;min-width:44px;min-height:44px;font-size:13px}.foot-col a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:5px}.copy{border-top:1px solid var(--line);margin-top:40px;padding-top:24px;color:var(--muted);font:600 10px/1.8 var(--font-en)}@media (max-width: 1050px){.shell{width:calc(100% - 64px)}.nav-links{gap:20px}.hero-grid{gap:32px}.hero{padding-top:80px}.about-grid{padding:44px;gap:36px}.svc{padding:28px 24px}.svc h3{font-size:18px}.stat{padding-inline:22px}.stat .l{display:block;width:100%}.steps{grid-template-columns:repeat(2,1fr)}.foot-in{flex-direction:column}}@media (max-width: 900px){.main-text{font-size:.98rem}.sub-text{font-size:.6rem;letter-spacing:3px}}@media (max-width: 780px){html{scroll-padding-top:20px}nav{position:static}.shell{width:calc(100% - 40px)}.nav-in{flex-wrap:wrap;padding-block:16px 10px;gap:10px}.nav-links{width:100%;justify-content:space-between;gap:8px;font-size:11px}.nav-links .btn{padding:10px 12px;gap:6px}.hero{padding:56px 0 32px}.hero-grid{grid-template-columns:1fr;gap:12px}.eyebrow{font-size:9px;margin-bottom:26px}h1{font-size:clamp(40px,12.3vw,62px);line-height:1.3}.hero-subtitle{font-size:20px;margin-top:24px}.lead{font-size:14px}.hero-cta{gap:16px;margin-top:26px}.hero-cta .btn{font-size:14px;padding-inline:18px;gap:12px}.hero-cta .text-link{font-size:14px;gap:10px}.hero-art{max-width:440px;margin:24px auto 0}.hero-art img{display:none}.workflow-mobile{display:grid;gap:18px;list-style:none}.workflow-mobile li{position:relative;padding:14px 16px;background:#fff;border:1px solid var(--line)}.workflow-mobile li+li:before{content:"↓";position:absolute;top:-20px;left:calc(50% - 5px);color:var(--muted);font-size:14px;line-height:18px}.workflow-label{display:block;color:var(--muted);font-size:14px;font-weight:700;line-height:1.6}.workflow-mobile p{font-size:15px;line-height:1.8;margin-top:4px}.workflow-mobile li:nth-child(2){background:var(--ink);border-color:var(--ink);color:#fff}.workflow-mobile li:nth-child(2) .workflow-label{color:var(--lime)}.stats-in{padding-block:24px}.stat{display:block;padding-inline:14px}.stat .n{font-size:24px;line-height:1.6}.stat .stat-text{font-size:15px;line-height:2.55;white-space:nowrap}.stat .l{font-size:10px;margin-top:6px;line-height:1.7}section.block{padding-block:64px}.section-heading{display:block}.sec-tag{margin-bottom:20px}.sec-h{font-size:30px}.section-heading>.sec-lead{font-size:15px;margin-top:24px}.svc-grid{grid-template-columns:1fr;gap:16px;margin-top:32px}.svc{padding:28px}.service-art{width:80px;height:58px;margin-bottom:24px}.svc h3{font-size:21px}.about-grid{grid-template-columns:1fr;gap:28px;padding:36px 28px}.about-grid .sec-h{font-size:27px}.about-signature{margin-top:24px}.steps{gap:28px;margin-top:32px}.step h3{font-size:18px}.cta{grid-template-columns:1fr;gap:28px}.foot-cols{gap:28px;flex-wrap:wrap}}@media (max-width: 380px){.nav-links{display:grid;grid-template-columns:1fr 1fr;column-gap:20px}.nav-links .lnk{justify-content:center}.hero-cta{align-items:flex-start;flex-direction:column;gap:8px}.stat{padding-inline:10px}.stat .stat-text{font-size:13px}.steps{grid-template-columns:1fr}.about-grid{padding:28px 20px}.about-grid .sec-h{font-size:24px}.svc{padding:24px}.svc h3{font-size:19px}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*{transition:none!important}}
