:root{--ink:#262722;--muted:#6f716b;--paper:#f4f2eb;--card:#fffefa;--line:#dedbcf;--gold:#c5a85f;--gold-deep:#876e34;--sage:#789184;--blue:#6b8395;--clay:#bd765f;--ok:#44765b;--warn:#a36b24;--bad:#a54e43;--shadow:0 20px 55px rgba(42,39,30,.1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Noto Sans JP",system-ui,sans-serif;line-height:1.7}a{color:inherit;text-decoration:none}button,input{font:inherit}.hd{position:sticky;top:0;z-index:40;height:66px;padding:0 clamp(1rem,4vw,3rem);display:flex;align-items:center;justify-content:space-between;background:rgba(244,242,235,.92);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:.75rem}.brand-mark{width:40px;height:40px;border-radius:50%;background:url('favicon-192.png') center/cover;box-shadow:0 0 0 3px rgba(255,255,255,.8)}.brand-text{display:flex;flex-direction:column;line-height:1.05}.brand-en{font:900 .62rem/1 Arial,sans-serif;letter-spacing:.2em;color:var(--gold-deep)}.brand-ja{font-family:"Shippori Mincho",serif;font-weight:800;color:#666}.nav{display:flex;gap:.35rem}.nav a{padding:.55rem .85rem;font-size:.78rem;font-weight:900;color:#666}.nav a.active,.nav a:hover{background:#fff}.nav .contact{background:var(--ink);color:#fff}
.hero{position:relative;overflow:hidden;padding:clamp(3rem,7vw,6.4rem) clamp(1rem,5vw,4rem) 2.4rem}.hero::before{content:"";position:absolute;width:38rem;height:38rem;border-radius:50%;right:-12rem;top:-18rem;background:radial-gradient(circle,#efe1b6 0,rgba(239,225,182,0) 70%);pointer-events:none}.hero-inner,.main{max-width:1280px;margin:auto}.eyebrow{font:900 .65rem/1 Arial,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-deep)}h1,h2,h3{font-family:"Shippori Mincho",serif;font-weight:600;margin:0}.hero h1{font-size:clamp(2.25rem,6vw,5.1rem);line-height:1.14;letter-spacing:-.03em;margin:.9rem 0 1.1rem}.hero h1 span{color:var(--sage)}.hero-copy{max-width:48rem;color:var(--muted);font-size:clamp(.94rem,1.4vw,1.08rem)}.hero-actions,.action-row{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.35rem}.btn{appearance:none;border:1px solid var(--gold);background:#fff;color:var(--gold-deep);min-height:46px;padding:.72rem 1rem;border-radius:999px;font-weight:900;font-size:.82rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:.2s}.btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(46,42,30,.11)}.btn.primary{background:var(--ink);border-color:var(--ink);color:#fff}.btn.danger{border-color:#d8aaa1;color:var(--bad)}.privacy-note{display:inline-flex;align-items:center;gap:.5rem;margin-top:1.2rem;font-size:.75rem;color:var(--muted)}.privacy-note::before{content:"";width:.55rem;height:.55rem;border-radius:50%;background:var(--ok);box-shadow:0 0 0 4px rgba(68,118,91,.12)}
.main{padding:0 clamp(1rem,4vw,3rem) 5rem}.overview{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,2.2fr);gap:1rem;margin-bottom:1rem}.panel{background:rgba(255,254,250,.94);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);padding:clamp(1rem,2vw,1.4rem)}.score-panel{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;background:var(--ink);color:#fff}.score-ring{--score:0;width:176px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--gold) calc(var(--score)*1%),rgba(255,255,255,.1) 0);position:relative;margin:1rem}.score-ring::before{content:"";position:absolute;inset:12px;background:var(--ink);border-radius:50%}.score-ring strong{position:relative;font:700 3.5rem/1 "Shippori Mincho",serif}.score-ring small{position:relative;font-size:.65rem;letter-spacing:.1em}.score-ring>span{position:relative;display:grid}.score-panel p{max-width:18rem;color:#c9c7c0;font-size:.8rem}.status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.status-card{border:1px solid var(--line);border-radius:16px;padding:1rem;display:flex;flex-direction:column;gap:.55rem;min-height:210px;background:#fff}.status-top{display:flex;align-items:center;justify-content:space-between;gap:.7rem}.status-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;color:#fff;font-weight:900}.status-icon.land{background:var(--sage)}.status-icon.house{background:var(--blue)}.status-icon.money{background:var(--clay)}.pill{font-size:.66rem;font-weight:900;padding:.28rem .52rem;border-radius:999px;background:#efeee9;color:#686963}.pill.done{background:#e4f0e9;color:var(--ok)}.status-card h3{font-size:1.18rem}.status-card .metric{font-size:1.28rem;font-weight:900}.status-card p{margin:0;color:var(--muted);font-size:.76rem}.status-card .tool-link{margin-top:auto;color:var(--gold-deep);font-size:.78rem;font-weight:900;border-bottom:1px solid #dbc88f;align-self:flex-start}
.board-section{margin-top:1rem}.section-head{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:.85rem}.section-head h2{font-size:clamp(1.45rem,3vw,2.35rem)}.section-head p{max-width:38rem;margin:0;color:var(--muted);font-size:.8rem}.check-list{display:grid;gap:.6rem}.check-item{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:.85rem;border:1px solid var(--line);border-radius:14px;padding:.8rem;background:#fff}.check-mark{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-weight:900}.check-item.good .check-mark{background:#e3efe7;color:var(--ok)}.check-item.warn .check-mark{background:#f8ecd9;color:var(--warn)}.check-item.bad .check-mark{background:#f5e1dd;color:var(--bad)}.check-item.neutral .check-mark{background:#eeede8;color:#797a75}.check-item strong{display:block;font-size:.86rem}.check-item p{margin:.1rem 0 0;color:var(--muted);font-size:.75rem}.check-tag{font-size:.65rem;font-weight:900;color:var(--muted)}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.task-list{display:grid;gap:.55rem}.task{border-left:4px solid var(--gold);background:#fff;border-radius:0 12px 12px 0;padding:.75rem .85rem}.task small{display:block;color:var(--gold-deep);font-weight:900;font-size:.64rem;letter-spacing:.08em}.task strong{font-size:.83rem}.empty{padding:1rem;border:1px dashed #c8c5ba;border-radius:12px;color:var(--muted);font-size:.82rem}.memo{width:100%;min-height:330px;border:1px solid var(--line);border-radius:14px;padding:1rem;background:#fff;color:#51524e;resize:vertical;line-height:1.75;font-size:.78rem}
.scenario-form{display:flex;gap:.6rem}.scenario-form input{flex:1;min-width:0;border:1px solid var(--line);border-radius:999px;padding:.72rem 1rem;background:#fff}.scenario-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-top:.9rem}.scenario{border:1px solid var(--line);border-radius:16px;padding:1rem;background:#fff}.scenario-head{display:flex;justify-content:space-between;gap:.5rem}.scenario h3{font-size:1.08rem}.scenario button{border:0;background:none;color:var(--bad);cursor:pointer;font-weight:900}.scenario dl{margin:.75rem 0 0;display:grid;grid-template-columns:1fr auto;gap:.35rem}.scenario dt{font-size:.72rem;color:var(--muted)}.scenario dd{margin:0;font-size:.76rem;font-weight:900}.scenario .scenario-score{font-size:1.8rem;color:var(--gold-deep)}
.tool-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.tool-step{position:relative;border-radius:16px;padding:1rem;background:#fff;border:1px solid var(--line);min-height:180px;display:flex;flex-direction:column}.tool-step small{color:var(--gold-deep);font-weight:900;letter-spacing:.1em}.tool-step h3{font-size:1.15rem;margin:.35rem 0}.tool-step p{color:var(--muted);font-size:.76rem;margin:0}.tool-step-link{margin-top:auto;font-size:.78rem;font-weight:900;color:var(--gold-deep);border-bottom:2px solid var(--gold);align-self:flex-start}.notice{font-size:.72rem;color:var(--muted);margin-top:1rem}.ft{background:#151513;color:#aaa;padding:2.5rem clamp(1rem,4vw,3rem)}.ft-inner{max-width:1280px;margin:auto;display:flex;justify-content:space-between;gap:2rem;align-items:center}.ft a:hover{color:#fff}.ft-nav{display:flex;flex-wrap:wrap;gap:1rem;font-size:.74rem;font-weight:800}
@media(max-width:920px){.overview,.two-col{grid-template-columns:1fr}.status-grid,.scenario-grid,.tool-steps{grid-template-columns:1fr 1fr}.score-panel{min-height:300px}}
@media(max-width:640px){.hd{height:60px;padding:0 .85rem}.brand-mark{width:34px;height:34px}.nav a:not(.contact){display:none}.nav .contact{font-size:0;width:42px;height:42px;position:relative}.nav .contact::after{content:"問";position:absolute;inset:0;display:grid;place-items:center;font-size:.95rem}.hero{padding-top:2.7rem}.status-grid,.scenario-grid,.tool-steps{grid-template-columns:1fr}.status-card{min-height:auto}.section-head{display:block}.section-head p{margin-top:.35rem}.check-item{grid-template-columns:36px 1fr}.check-tag{grid-column:2}.hero-actions,.action-row,.scenario-form{display:grid}.btn{width:100%}.ft-inner{display:block}.ft-nav{margin-top:1.2rem}.score-ring{width:154px}.memo{min-height:280px}}
@media print{.hd,.hero-actions,.privacy-note,.scenario-form,.scenario button,.tool-steps,.ft,.btn.danger{display:none!important}.hero{padding:1rem 0}.main{padding:0}.panel{box-shadow:none;break-inside:avoid}.overview{grid-template-columns:220px 1fr}.two-col{grid-template-columns:1fr}.memo{min-height:520px;border:0;padding:0}.scenario-grid{grid-template-columns:repeat(3,1fr)}body{background:#fff}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
