:root{--ink:#10231f;--muted:#687670;--green:#06c755;--deep:#079845;--paper:#f7f5ef;--white:#fff;--line:#dde5df;--amber:#ffd869;--max:1160px;--shadow:0 24px 70px rgba(16,35,31,.13)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit}
.container{width:min(var(--max),calc(100% - 40px));margin:auto}
.header{position:fixed;z-index:40;top:0;left:0;right:0;padding:17px 0;background:rgba(247,245,239,.9);backdrop-filter:blur(16px);border-bottom:1px solid rgba(16,35,31,.07)}
.header-in{display:flex;align-items:center;justify-content:space-between}
.brand{font-weight:950;letter-spacing:.08em}
.brand small{display:block;font-size:9px;color:var(--muted)}
.btn{min-height:56px;padding:14px 22px;border-radius:15px;display:inline-flex;align-items:center;justify-content:center;font-weight:950;transition:.2s}
.btn:hover{transform:translateY(-2px)}
.btn-line{background:var(--green);color:#fff;box-shadow:0 16px 34px rgba(6,199,85,.24)}
.btn-sub{background:#fff;border:1px solid var(--line)}
.hero{padding:138px 0 82px;background:radial-gradient(circle at 88% 12%,rgba(6,199,85,.14),transparent 30%),linear-gradient(135deg,#fbfaf6,#edf5ef)}
.hero-grid{display:grid;grid-template-columns:1.03fr .97fr;gap:55px;align-items:center}
.eyebrow{display:inline-block;padding:8px 12px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:11px;font-weight:900}
.hero h1{font-size:clamp(43px,5vw,62px);line-height:1.08;letter-spacing:-.05em;margin:20px 0;font-weight:950}
.hero h1>span,.hero h1>em{white-space:nowrap}
.hero h1 em{font-style:normal;position:relative}
.hero h1 em:after{content:"";position:absolute;z-index:-1;left:-2%;right:-2%;bottom:.03em;height:.18em;background:var(--green);opacity:.25;border-radius:99px}
.lead{font-size:17px;line-height:1.9;color:#43514c;font-weight:600}
.actions{display:flex;gap:11px;flex-wrap:wrap;margin-top:28px}
.points{display:flex;gap:15px;flex-wrap:wrap;margin-top:16px;font-size:11px;font-weight:900;color:var(--muted)}
.points span:before{content:"✓";color:var(--green);margin-right:5px}
.hero-photo{position:relative;min-height:550px;border-radius:32px;overflow:hidden;box-shadow:var(--shadow)}
.hero-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:80% center}
.hero-mobile-copy{display:none}
.photo-card{position:absolute;left:20px;right:20px;bottom:20px;padding:17px 19px;border-radius:17px;background:rgba(255,255,255,.9);backdrop-filter:blur(14px)}
.photo-card strong{display:block}
.photo-card span{display:block;margin-top:3px;font-size:10px;color:var(--muted)}
section{padding:90px 0}
.kicker{font-size:10px;color:var(--deep);font-weight:950;letter-spacing:.16em}
.title{font-size:clamp(31px,4.5vw,52px);line-height:1.2;letter-spacing:-.045em;margin:12px 0}
.section-lead{color:var(--muted);line-height:1.9;max-width:700px}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-top:34px}
.card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px}
.card b{display:grid;place-items:center;width:39px;height:39px;border-radius:12px;background:#e8f8ed;color:var(--deep)}
.card h3{margin:28px 0 8px}
.card p{font-size:12px;color:var(--muted);line-height:1.75}
.dark{background:var(--ink);color:#fff}
.dark .kicker{color:var(--amber)}
.dark .section-lead{color:#afbbb7}
.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:32px}
.check{padding:20px;border-radius:16px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12)}
.check strong{display:block;color:var(--amber);margin-bottom:5px}
.check span{font-size:11px;color:#c7d0cd}
.split{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:start}
.notice{padding:21px;border-radius:16px;background:#eef5ef;border-left:4px solid var(--green);color:#53615c;font-size:12px;line-height:1.8}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-top:34px;counter-reset:s}
.step{counter-increment:s;background:#fff;border-radius:18px;padding:22px;border:1px solid var(--line)}
.step:before{content:"0" counter(s);color:var(--deep);font-size:11px;font-weight:950}
.step p{font-size:11px;line-height:1.7;color:var(--muted)}
.faq{max-width:850px;margin:30px auto 0}
.faq details{border-bottom:1px solid var(--line);padding:20px 0}
.faq summary{font-weight:900;cursor:pointer}
.faq p{font-size:12px;line-height:1.8;color:var(--muted)}
.cta{padding:0 0 90px}
.cta-in{padding:48px;border-radius:28px;background:var(--green);color:white;display:flex;align-items:center;justify-content:space-between;gap:25px}
.cta h2{font-size:38px;margin:0}
.footer{background:var(--ink);color:#aebbb6;padding:45px 0 100px;font-size:10px;line-height:1.8}
.sticky{display:none}
@media(max-width:900px){.hero-grid,.split{grid-template-columns:1fr}
.hero-photo{min-height:560px}
.cards,.steps{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){.container{width:calc(100% - 28px)}
.header{padding:12px 0}
.header .btn{min-height:42px;padding:9px 13px;font-size:11px}
.hero{padding:100px 0 58px}
.hero-grid{gap:22px}
.hero-grid>div:first-child{order:2}
.hero-grid>div:first-child>.eyebrow,.hero-grid>div:first-child>h1{display:none}
.hero h1{font-size:clamp(34px,9.5vw,40px);line-height:1.12;letter-spacing:-.04em;overflow-wrap:anywhere}
.hero-photo{order:1;min-height:430px;border-radius:24px}
.hero-photo:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(8,25,21,.06) 25%,rgba(8,25,21,.82) 100%)}
.hero-mobile-copy{display:block;position:absolute;z-index:3;left:20px;right:20px;bottom:23px;color:#fff}
.hero-mobile-copy .eyebrow{color:#fff;background:rgba(16,35,31,.42);border-color:rgba(255,255,255,.3);backdrop-filter:blur(8px)}
.hero-mobile-copy .hero-mobile-title{margin:13px 0 0;font-size:clamp(33px,9.3vw,40px);line-height:1.08;letter-spacing:-.045em;font-weight:950;text-shadow:0 3px 22px rgba(0,0,0,.35)}
.lead{font-size:14.5px;line-height:1.78}
.title{font-size:31px;line-height:1.24;letter-spacing:-.035em}
.section-lead{font-size:14px;line-height:1.78}
.eyebrow{font-size:10px;line-height:1.5}
.photo-card{display:none}
.photo-card strong{font-size:15px}
.photo-card span{font-size:10px;line-height:1.5}
.actions{display:grid}
.btn{width:100%}
.cards,.steps,.check-grid{grid-template-columns:1fr}
.cta-in{display:block;padding:30px 23px}
.cta h2{font-size:29px}
.cta .btn{margin-top:22px}
.sticky{position:fixed;display:grid;grid-template-columns:.8fr 1.2fr;z-index:50;bottom:8px;left:8px;right:8px;padding:7px;gap:7px;border-radius:16px;background:rgba(255,255,255,.92);box-shadow:var(--shadow);backdrop-filter:blur(12px)}
.sticky .btn{min-height:44px;padding:8px;font-size:11px}
.footer{padding-bottom:120px}
}
