:root{--bg:#f7f8f7;--surface:#fff;--ink:#18242c;--muted:#5f6b70;--navy:#203746;--accent:#a8834a;--line:#d9dedd;--serif:Georgia,'Times New Roman',serif;--sans:-apple-system,BlinkMacSystemFont,'Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:15px/2 var(--sans);letter-spacing:.035em}a{color:inherit;text-decoration:none}.container{width:min(1140px,calc(100% - 48px));margin:auto}.header{height:82px;display:flex;align-items:center;border-bottom:1px solid var(--line);background:rgba(247,248,247,.96);position:sticky;top:0;z-index:9;backdrop-filter:blur(12px)}.header-inner{width:min(1140px,calc(100% - 48px));margin:auto;display:flex;justify-content:space-between;align-items:center}.brand{font:1.2rem/1 var(--serif);letter-spacing:.04em}.brand small{display:block;margin-bottom:7px;color:var(--accent);font:700 .56rem/1 var(--sans);letter-spacing:.17em}.nav{display:flex;gap:26px;font:700 .72rem var(--sans);letter-spacing:.13em}.nav a{padding:9px 0;border-bottom:1px solid transparent}.nav a:hover,.nav a[aria-current=page]{border-color:var(--accent)}.nav-toggle{display:none;border:0;background:transparent;color:var(--ink);font:700 .72rem var(--sans);letter-spacing:.12em}.hero{min-height:650px;display:grid;align-items:center;background:linear-gradient(120deg,#f8f9f8 0%,#e9eeed 58%,#d8e0df 100%);position:relative;overflow:hidden}.hero:after{content:'';width:42vw;height:42vw;position:absolute;right:-14vw;bottom:-27vw;border:1px solid rgba(168,131,74,.36);border-radius:50%}.hero .container{position:relative;z-index:1}.label{margin:0 0 20px;color:var(--accent);font-size:.65rem;font-weight:700;letter-spacing:.22em}.display,.heading{margin:0;font-family:var(--serif);font-weight:400;letter-spacing:-.025em;line-height:1.04}.display{font-size:clamp(3rem,7vw,6.3rem);max-width:800px}.heading{font-size:clamp(2.1rem,4vw,3.7rem)}.lead{max-width:660px;color:var(--muted);font-size:1.04rem;line-height:2.1}.hero .lead{margin:32px 0}.button{display:inline-flex;align-items:center;gap:25px;padding:13px 0;border-bottom:1px solid var(--ink);font:1rem var(--serif);transition:.2s}.button:after{content:'→';font-size:1.2em}.button:hover{color:var(--accent);border-color:var(--accent)}.section{padding:130px 0}.pale{background:#eaf0ef}.intro{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end}.intro .lead{margin:0}.body-copy{display:grid;grid-template-columns:1fr 1fr;gap:46px;margin-top:45px}.body-copy p{margin:0;color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.card{min-height:260px;padding:29px 27px 25px 0;border-bottom:1px solid var(--line)}.card:nth-child(3n+2),.card:nth-child(3n+3){padding-left:27px}.card h3{margin:10px 0 15px;font:1.7rem/1.2 var(--serif)}.card p{margin:0;color:var(--muted);font-size:.87rem;line-height:1.9}.number{color:var(--accent);font:1rem var(--serif)}.strengths{display:grid;grid-template-columns:repeat(3,1fr);gap:34px}.strength{padding-top:20px;border-top:1px solid var(--accent)}.strength svg{width:34px;height:34px;fill:none;stroke:var(--accent);stroke-width:1.5}.strength h3{margin:17px 0 9px;font:1.45rem var(--serif)}.strength p{margin:0;color:var(--muted);font-size:.88rem}.cases{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.case{padding:26px;background:var(--surface);border:1px solid var(--line)}.case h3{margin:0 0 8px;font:1.2rem var(--serif)}.case p{margin:0;color:var(--muted);font-size:.86rem}.credentials{display:grid;grid-template-columns:1fr 1fr;gap:60px}.credential-list{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}.credential-list li{padding:16px 0;border-bottom:1px solid var(--line);font-size:.92rem}.credential-list span{display:block;color:var(--muted);font-size:.78rem}.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}.step{padding-top:16px;border-top:1px solid var(--accent)}.step b{font:1.2rem var(--serif);color:var(--accent)}.step h3{margin:10px 0 5px;font-size:.95rem}.step p{margin:0;color:var(--muted);font-size:.8rem;line-height:1.8}.contact{background:var(--navy);color:#f5f5f2}.contact .label{color:#d7ba7b}.contact .lead{color:#d9e0e1}.contact .button{border-color:#f5f5f2}.footer{padding:53px 0 27px;background:#13222b;color:#d9e0e1}.footer-top{display:flex;justify-content:space-between;gap:30px;align-items:start}.footer .brand{color:#fff}.footer p{margin:0;font-size:.8rem}.copyright{margin-top:38px;padding-top:18px;border-top:1px solid rgba(255,255,255,.18);font-size:.65rem!important;color:#aeb9bc}.to-top{position:fixed;right:20px;bottom:20px;width:42px;height:42px;border:0;border-radius:50%;background:var(--navy);color:#fff;cursor:pointer;opacity:0;pointer-events:none;transition:.2s;z-index:8}.to-top.show{opacity:1;pointer-events:auto}.js .reveal{opacity:0;transform:translateY(16px);transition:.6s}.js .reveal.visible{opacity:1;transform:none}@media(max-width:760px){body{font-size:14px}.container,.header-inner{width:calc(100% - 40px)}.header{height:70px}.nav-toggle{display:block}.nav{display:none;position:absolute;top:69px;left:0;right:0;padding:14px 20px 22px;flex-direction:column;gap:4px;background:var(--bg);border-bottom:1px solid var(--line)}.nav.open{display:flex}.hero{min-height:580px}.section{padding:82px 0}.intro,.body-copy,.credentials{grid-template-columns:1fr;gap:27px}.service-grid,.strengths{grid-template-columns:1fr}.card,.card:nth-child(3n+2),.card:nth-child(3n+3){min-height:auto;padding:25px 0}.cases{grid-template-columns:1fr}.steps{grid-template-columns:1fr 1fr;gap:25px}.footer-top{display:block}.footer-top p{margin-top:20px}.display{font-size:3.25rem}}
