:root{--umi:#09568c;--nami:#3472a1;--kiri:#a1a8ae;--seiji:#cddadb;--white:#eaebef;--paper:#faf8f0;--sand:#c9c2bd;--koke:#9e9982;--ink:#132a3d;--mist:#5e7286;--up:#3f6b55;--radius:22px;--sans:-apple-system,BlinkMacSystemFont,"SF Pro Display","PingFang SC",sans-serif;--mono:"SF Mono",ui-monospace,Menlo,monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:radial-gradient(700px 620px at 84% 8%,rgba(52,114,161,.28) 0 54%,transparent 68%),radial-gradient(560px 560px at 4% 62%,rgba(205,218,219,.72) 0 54%,transparent 68%),linear-gradient(168deg,#fdfcf8 0%,var(--paper) 36%,var(--white) 100%);font:16px/1.65 var(--sans)}a{color:inherit}:focus-visible{outline:2px solid var(--umi);outline-offset:3px}.nav{position:sticky;top:0;z-index:10;height:68px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 clamp(22px,5vw,72px);background:rgba(250,248,240,.74);border-bottom:1px solid rgba(255,255,255,.76);backdrop-filter:blur(18px) saturate(1.8)}.brand{font-weight:600;text-decoration:none}.nav nav{display:flex;gap:28px}.nav nav a{color:var(--mist);font-size:13px;text-decoration:none}.nav nav a:hover{color:var(--umi)}.candidate{justify-self:end;color:var(--umi);font:11px var(--mono)}main{width:min(1180px,calc(100% - 44px));margin:auto}.hero{min-height:calc(100dvh - 68px);display:grid;grid-template-columns:1.5fr .7fr;align-items:center;gap:70px;padding:72px 0}.kicker{margin:0;color:var(--umi);font:11px var(--mono);letter-spacing:.16em}.hero h1{max-width:850px;margin:18px 0;font-size:clamp(46px,7vw,86px);font-weight:600;line-height:1.01;letter-spacing:-.045em}.lede{max-width:650px;margin:0;color:var(--mist);font-size:19px}.cta{display:inline-block;margin-top:30px;padding:11px 18px;border-radius:999px;background:var(--umi);color:var(--paper);text-decoration:none;transition:background 150ms ease-out,transform 150ms ease-out}.cta:hover{background:var(--nami);transform:translateY(-2px)}.hero aside,.method-grid article,.case-result,.boundary>div{background:linear-gradient(120deg,rgba(255,255,255,.58),rgba(255,255,255,.12) 42%,transparent 62%),rgba(250,250,246,.5);border:1px solid rgba(255,255,255,.76);border-radius:var(--radius);box-shadow:inset 0 1px rgba(255,255,255,.7),0 20px 56px -34px rgba(9,86,140,.36);backdrop-filter:blur(18px) saturate(1.8)}.hero aside{padding:26px}.hero aside span,.method-grid span,.case-result>span{color:var(--umi);font:10px var(--mono);letter-spacing:.12em}.hero ol{margin:22px 0 0;padding-left:24px}.hero li{padding:6px 0;color:var(--mist)}.section{padding:94px 0}.section h2{max-width:780px;margin:14px 0 30px;font-size:clamp(34px,5vw,58px);line-height:1.08;letter-spacing:-.035em}.method-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.method-grid article{min-height:210px;padding:27px}.method-grid .wide{grid-column:span 2;min-height:250px}.method-grid h3{margin:28px 0 8px;font-size:25px}.method-grid p{max-width:680px;margin:0;color:var(--mist)}.case{display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:70px}.case>div:first-child>p:last-child{max-width:620px;color:var(--mist);font-size:18px}.case-result{padding:30px}.case-result strong{display:block;margin:26px 0 10px;color:var(--up);font-size:54px;letter-spacing:-.05em}.case-result p{color:var(--mist)}.case-result dl{display:grid;grid-template-columns:1fr 1fr;margin:30px 0 0}.case-result dl div{padding:15px 0;border-top:1px solid var(--seiji)}dt{color:var(--mist);font-size:12px}dd{margin:6px 0 0;font:24px var(--mono)}.boundary{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:16px}.boundary>div{min-height:190px;padding:25px}.boundary b{font-size:20px}.boundary p{color:var(--mist)}footer{display:flex;justify-content:space-between;width:min(1180px,calc(100% - 44px));margin:auto;padding:36px 0 54px;border-top:1px solid var(--seiji);color:var(--mist);font:11px var(--mono)}@media(max-width:760px){.nav{height:58px;grid-template-columns:1fr auto}.nav nav{display:none}.hero{min-height:auto;grid-template-columns:1fr;gap:34px;padding:76px 0}.hero h1{font-size:48px}.section{padding:68px 0}.method-grid,.case,.boundary{grid-template-columns:1fr}.method-grid .wide{grid-column:span 1}.case{gap:30px}.boundary>div{min-height:150px}footer{flex-direction:column;gap:8px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cta{transition:none}}
