:root{--ink:#463c38;--muted:#756c67;--paper:#fffdf8;--cream:#fbf4e9;--mint:#8fc9b8;--coral:#ef9b8c;--sage:#6e9c87;--line:#e9dfd5;--shadow:0 12px 36px rgba(83,64,48,.09)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic",YuGothic,"Noto Sans JP",sans-serif;line-height:1.85}a{color:inherit}.wrap{width:min(1080px,calc(100% - 40px));margin:auto}.site-header{position:sticky;top:0;z-index:20;background:rgba(255,253,248,.94);backdrop-filter:blur(12px);border-bottom:1px solid rgba(233,223,213,.8)}.nav{height:70px;display:flex;align-items:center;gap:28px}.brand{font-family:Georgia,"Yu Mincho",serif;font-size:24px;text-decoration:none;margin-right:auto}.brand small{display:block;font-family:inherit;font-size:10px;letter-spacing:.12em}.nav a:not(.brand){text-decoration:none;font-size:14px}.nav .cta,.button{display:inline-flex;align-items:center;justify-content:center;padding:11px 18px;border-radius:999px;text-decoration:none;border:1px solid var(--sage);background:var(--sage);color:#fff;font-weight:700}.nav .ghost{background:transparent;color:var(--ink);border-color:var(--line)}.menu{display:none;border:0;background:none;font-size:28px}.eyebrow{font-size:12px;letter-spacing:.16em;color:var(--sage);font-weight:800}.hero2{padding:86px 0 70px;background:linear-gradient(135deg,#fffaf3,#f4fbf7)}.hero2 h1{font-family:Georgia,"Yu Mincho",serif;font-size:clamp(42px,6vw,78px);line-height:1.25;margin:.2em 0}.hero2 p{font-size:18px;max-width:700px}.section{padding:84px 0}.section.alt{background:var(--cream)}h2{font-family:Georgia,"Yu Mincho",serif;font-size:clamp(30px,4vw,48px);line-height:1.4;margin:.2em 0 .7em}h3{line-height:1.5}.lead{font-size:20px}.grid3,.grid4{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.grid4{grid-template-columns:repeat(4,1fr)}.card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:28px;box-shadow:var(--shadow)}.story{padding:34px;margin:26px 0;background:#fff;border-left:4px solid var(--mint);border-radius:0 20px 20px 0;box-shadow:var(--shadow)}.story .quote{font-family:Georgia,"Yu Mincho",serif;font-size:26px}.amount{font-size:32px;font-family:Georgia,serif;margin:4px 0}.amount-card{display:flex;flex-direction:column;min-height:290px}.amount-card .button{margin-top:auto}.note{font-size:13px;color:var(--muted)}.trust{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.trust article{padding:24px;border-top:1px solid var(--line)}.footer{padding:48px 0;background:#f4eee7}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:28px}.footer a{display:block;text-decoration:none;margin:6px 0}.placeholder{pointer-events:none;opacity:.55}.master-stage{position:relative;max-width:1400px;margin:0 auto;background:#fff}.master-stage img{display:block;width:100%;height:auto}.hotspot{position:absolute;border-radius:10px}.hotspot:focus{outline:3px solid #1f7a63}.mobile-home{display:none}.mobile-hero{min-height:74vh;display:flex;align-items:end;padding:32px 22px;background:linear-gradient(0deg,rgba(255,250,243,.98) 0%,rgba(255,250,243,.2) 58%),url('assets/top-master.jpg') 67% 0/auto 78vh no-repeat}.mobile-hero h1{font-family:Georgia,"Yu Mincho",serif;font-size:42px;line-height:1.45}.mobile-section{padding:50px 22px}.mobile-section h2{font-size:30px}.mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mini-card{padding:18px;border-radius:18px;background:#fff;border:1px solid var(--line)}.bottom-cta{position:fixed;display:none;left:14px;right:14px;bottom:14px;z-index:30}.bottom-cta a{width:100%;box-shadow:0 8px 30px rgba(60,80,70,.25)}
@media(max-width:760px){.site-header .nav>a:not(.brand),.site-header .nav>.cta,.site-header .nav>.ghost{display:none}.menu{display:block}.nav.open{height:auto;flex-wrap:wrap;padding:14px 0 18px}.nav.open>a:not(.brand){display:block;width:100%;padding:8px 0}.master-stage{display:none}.mobile-home{display:block}.grid3,.grid4,.trust,.footer-grid{grid-template-columns:1fr}.wrap{width:min(100% - 30px,680px)}.hero2{padding:56px 0}.hero2 h1{font-size:42px}.section{padding:58px 0}.lead{font-size:18px}.amount-card{min-height:auto}.bottom-cta{display:flex}.footer{padding-bottom:100px}}
