.tp{--ground:#fff;--ground-2:#f7f3ec;--ink:#1a1a1a;--ink-2:#5f5b54;--ink-3:#8d887f;--rule:#e8e0d4;--green:#4a7055;--green-deep:#3a5a45;--green-soft:#eef1ec;--on-green:#fff;--flag:#a8733f;--sun:#c9803e;--column-bg:#f1e6d3;--serif:var(--font-noto-serif), "Hiragino Mincho ProN", serif;--sans:"Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", system-ui, sans-serif;background:var(--ground);color:var(--ink);font-family:var(--serif);-webkit-font-smoothing:antialiased;line-height:1.9}.tp *,.tp :before,.tp :after{box-sizing:border-box}.tp h1,.tp h2,.tp h3,.tp h4{text-wrap:balance;letter-spacing:.02em;margin:0;font-weight:700}.tp p,.tp blockquote,.tp figure,.tp ul,.tp ol,.tp dl,.tp dd{margin:0}.tp ul,.tp ol{padding:0;list-style:none}.tp .wrap{max-width:1040px;margin:0 auto;padding:0 24px}.tp .narrow{max-width:760px;margin:0 auto;padding:0 24px}.tp .eyebrow{font-family:var(--sans);letter-spacing:.45em;text-transform:uppercase;align-items:center;gap:12px;font-size:10px;display:flex}.tp .eyebrow:before{content:"";background:currentColor;flex:none;width:32px;height:1px}.tp .hero{color:#fff;background:#0d1209;padding:150px 0 88px;position:relative;overflow:hidden}.tp .hero .photo{max-width:none;margin:0;position:absolute;inset:0}.tp .hero .photo img{object-fit:cover;object-position:center 40%;width:100%;height:100%}.tp .hero .shade{background:linear-gradient(90deg,#0d1209e0 0%,#0d1209b3 50%,#0d120959 100%);position:absolute;inset:0}.tp .hero .wrap{z-index:1;position:relative}.tp .hero .eyebrow{color:#8bab93}.tp .hero h1{letter-spacing:.04em;margin-top:28px;font-size:clamp(2rem,5.2vw,3.3rem);line-height:1.45}.tp .hero h1 small{letter-spacing:.08em;color:#b9d2c0;margin-top:14px;font-size:clamp(1rem,2.3vw,1.3rem);font-weight:500;display:block}.tp .hero .lead{color:#ffffffd1;max-width:36em;margin-top:28px;font-size:15.5px;line-height:2.2}.tp .trigger{background:var(--ground);border-bottom:1px solid var(--rule);padding:80px 0 72px}.tp .trigger .label{letter-spacing:.04em;color:var(--ink);align-items:center;gap:14px;font-size:clamp(1.15rem,2.8vw,1.5rem);font-weight:700;display:flex}.tp .trigger .label:before{content:"";background:var(--sun);flex:none;width:40px;height:2px}.tp .trigger .label .nb{display:inline-block}.tp .trigger blockquote{border-left:4px solid var(--sun);letter-spacing:.03em;text-indent:-.5em;margin-top:30px;padding:34px 0 34px 36px;font-size:clamp(1.4rem,3.6vw,2.2rem);font-weight:700;line-height:1.6}.tp .trigger blockquote em{color:var(--sun);font-style:normal}.tp .trigger .context{max-width:36em;color:var(--ink-2);margin-bottom:34px;font-size:15.5px;line-height:2.2}.tp .trigger .after{max-width:36em;color:var(--ink-2);margin-top:30px;font-size:15.5px;line-height:2.2}.tp .trigger .after b{color:var(--ink)}.tp .trigger .supplement{background:var(--ground-2);max-width:36em;font-family:var(--sans);color:var(--ink-2);border-radius:4px;margin-top:22px;padding:16px 20px;font-size:13.5px;line-height:2}@media (max-width:600px){.tp .trigger .label{flex-direction:column;align-items:flex-start;gap:12px}.tp .trigger blockquote{padding-left:20px}}.tp .why{background:var(--ground-2);padding:84px 0 88px}.tp .why .eyebrow{color:var(--green);margin-bottom:24px}.tp .why h2{font-size:clamp(1.4rem,3.4vw,1.9rem);line-height:1.7}.tp .why .lead{color:var(--ink-2);max-width:38em;margin-top:22px;font-size:15px;line-height:2.2}.tp .compare{grid-template-columns:1fr 1fr;gap:20px;margin-top:44px;display:grid}.tp .compare figure{border:1px solid var(--rule);background:var(--ground);align-content:start;gap:16px;padding:26px 24px 24px;display:grid}.tp .compare figure.local{border:2px solid var(--green);background:var(--green-soft)}.tp .compare .tag{font-family:var(--sans);letter-spacing:.1em;color:var(--ink-2);font-size:12px;font-weight:700}.tp .compare .local .tag{color:var(--green)}.tp .compare svg{width:100%;max-width:280px;height:auto;margin:0 auto;display:block}.tp .compare h3{font-size:18px;line-height:1.6}.tp .compare p{font-family:var(--sans);color:var(--ink-2);font-size:13.5px;line-height:2}.tp .ill-line{stroke:var(--ink-2);stroke-width:1.8px;fill:none;stroke-linecap:round;stroke-linejoin:round}.tp .ill-house{stroke:var(--ink);stroke-width:1.8px;fill:var(--ground);stroke-linejoin:round}.tp .ill-warm{stroke:var(--green);stroke-width:2px;fill:none;stroke-linecap:round;stroke-linejoin:round}.tp .ill-sun{stroke:var(--sun);stroke-width:2px;fill:none;stroke-linecap:round}.tp .ill-sun-core{fill:var(--sun)}.tp .ill-label{font-family:var(--sans);fill:var(--ink-2);font-size:11px}@media (max-width:700px){.tp .compare{grid-template-columns:1fr}}.tp .chapter{--sec-bg:var(--ground);--card-bg:var(--ground-2);background:var(--sec-bg);padding:72px 0 30px}.tp .chapter.alt{--sec-bg:var(--ground-2);--card-bg:var(--ground)}.tp .chapter-card{background:var(--card-bg);border-top:4px solid var(--green);grid-template-columns:auto 1fr;align-items:center;gap:4px 30px;margin-bottom:48px;padding:30px 34px;display:grid}.tp .chapter-card .no{font-family:var(--serif);color:var(--green);font-variant-numeric:tabular-nums;letter-spacing:-.02em;grid-row:1/5;font-size:clamp(3.2rem,8vw,5rem);font-weight:700;line-height:1}.tp .chapter-card .kicker{font-family:var(--sans);letter-spacing:.24em;color:var(--ink-3);font-variant-numeric:tabular-nums;font-size:11px;font-weight:700}.tp .chapter-card h2{font-size:clamp(1.3rem,3.2vw,1.8rem);line-height:1.55}.tp .chapter-card .benefit{font-family:var(--sans);color:var(--green);letter-spacing:.03em;font-size:13.5px;font-weight:500}@media (max-width:600px){.tp .chapter-card{grid-template-columns:1fr;padding:24px 22px}.tp .chapter-card .no{grid-row:auto;font-size:2.6rem}}.tp .rail{padding-left:170px;position:relative}.tp .rail:before{content:"";background:var(--rule);width:1px;position:absolute;top:0;bottom:0;left:170px}.tp .rail-fill{background:var(--green);border-radius:2px;width:3px;height:0;position:absolute;top:0;left:169px}.tp .entry{padding:0 0 46px 40px;position:relative}.tp .entry:before{content:"";background:var(--sec-bg);border:1.5px solid var(--green);border-radius:50%;width:9px;height:9px;position:absolute;top:11px;left:-5px}.tp .entry.key:before{background:var(--green);width:15px;height:15px;box-shadow:0 0 0 5px color-mix(in srgb, var(--green) 16%, transparent);top:8px;left:-7px}.tp .entry .year{text-align:right;width:150px;color:var(--ink);font-variant-numeric:tabular-nums;font-size:26px;font-weight:700;line-height:1.4;position:absolute;top:0;left:-170px}.tp .entry.key .year{color:var(--green-deep);font-size:40px}.tp .entry .year small{font-family:var(--sans);letter-spacing:.2em;color:var(--ink-3);margin-top:2px;font-size:10px;font-weight:500;display:block}.tp .entry h3{font-size:18px;line-height:1.75}.tp .entry.key h3{font-size:21px}.tp .entry .body{color:var(--ink-2);max-width:36em;margin-top:12px;font-size:14.5px;line-height:2.15}.tp .photo{max-width:460px;margin-top:20px}.tp .photo img{aspect-ratio:4/2.6;object-fit:cover;border-radius:2px;width:100%;height:auto;display:block}.tp .photo.tall{max-width:300px}.tp .photo.tall img{aspect-ratio:3/4}.tp .photo figcaption{font-family:var(--sans);color:var(--ink-3);letter-spacing:.04em;margin-top:8px;font-size:11px}.tp .column{background:var(--column-bg);border-radius:6px;max-width:600px;margin:6px 0 52px 40px;padding:30px 30px 26px;position:relative}.tp .column .label{font-family:var(--sans);letter-spacing:.24em;color:#fff;background:var(--flag);border-radius:999px;padding:3px 12px;font-size:11px;font-weight:700;line-height:1.6;position:absolute;top:-12px;left:24px}.tp .column h3{font-size:17px;line-height:1.7}.tp .column p{color:var(--ink-2);margin-top:10px;font-size:14px;line-height:2.05}@media (max-width:840px){.tp .rail{padding-left:0}.tp .rail:before{left:5px}.tp .rail-fill{left:4px}.tp .entry{padding:0 0 40px 30px}.tp .entry:before{left:1px}.tp .entry.key:before{left:-2px}.tp .entry .year{text-align:left;width:auto;margin-bottom:6px;font-size:22px;position:static}.tp .entry.key .year{font-size:30px}.tp .entry .year small{margin-left:10px;display:inline}.tp .column{margin-left:30px;padding:28px 20px 22px}}.tp .cta-band{background:var(--green-soft);padding:60px 0}.tp .cta-band .inner{text-align:center;justify-items:center;gap:24px;display:grid}.tp .cta-band .reason{font-size:clamp(1.1rem,2.5vw,1.4rem);font-weight:700;line-height:1.8}.tp .btns{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.tp .btn{min-height:48px;font-family:var(--sans);letter-spacing:.04em;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:14px 28px;font-size:13px;font-weight:700;text-decoration:none;transition:background .25s,color .25s;display:inline-flex}.tp .btn.solid{background:var(--green);color:var(--on-green)}.tp .btn.solid:hover{background:var(--green-deep)}.tp .btn.ghost{border:1px solid var(--green);color:var(--green);background:var(--ground)}.tp .btn.ghost:hover{background:var(--green);color:var(--on-green)}.tp .btn:focus-visible{outline:2px solid var(--green);outline-offset:3px}@media (max-width:760px){.tp .cta-band .inner{justify-items:stretch}.tp .cta-band .btns{flex-direction:column}.tp .cta-band .btn{width:100%}}.tp .award{color:#fff;background:#0d1209;padding:80px 0}.tp .award .eyebrow{color:#8bab93}.tp .award-grid{grid-template-columns:auto auto 1fr;align-items:end;gap:28px 48px;margin-top:30px;display:grid}.tp .stat{gap:4px;display:grid}.tp .stat .num{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:clamp(4rem,11vw,6.5rem);font-weight:700;line-height:1}.tp .stat .num small{letter-spacing:.04em;margin-left:6px;font-size:.32em}.tp .stat .cap{font-family:var(--sans);color:#ffffff9e;letter-spacing:.06em;font-size:13px}.tp .stat.gold .num{color:#e6c27a}.tp .award-note{color:#ffffffb3;max-width:24em;padding-bottom:10px;font-size:14px;line-height:2.1}.tp .ticks{margin-top:44px}.tp .ticks ol{grid-template-columns:repeat(16,1fr);align-items:end;gap:6px;height:92px;display:grid}.tp .ticks li{background:#4a7055;border-radius:2px;height:46px;position:relative}.tp .ticks li.elec{background:#8bab93}.tp .ticks li.grand{background:#e6c27a;height:88px}.tp .ticks li.grand span{font-family:var(--sans);color:#e6c27a;white-space:nowrap;font-size:11px;font-weight:700;position:absolute;top:-26px;left:50%;transform:translate(-50%)}.tp .ticks .axis{font-family:var(--sans);color:#ffffff8c;font-variant-numeric:tabular-nums;justify-content:space-between;margin-top:10px;font-size:12px;display:flex}.tp .award-foot{font-family:var(--sans);color:#ffffff8c;margin-top:18px;font-size:12px;line-height:1.8}@media (max-width:760px){.tp .award-grid{grid-template-columns:auto auto;gap:24px 36px}.tp .award-note{grid-column:1/-1}.tp .ticks ol{gap:3px;height:80px}.tp .ticks li.grand{height:76px}.tp .ticks li{height:38px}}.tp .now{background:var(--ground-2);text-align:center;padding:96px 0}.tp .now .eyebrow{color:var(--green);justify-content:center;margin-bottom:26px}.tp .now .eyebrow:after{content:"";background:currentColor;flex:none;width:32px;height:1px}.tp .now h2{margin-bottom:22px;font-size:clamp(1.5rem,4vw,2.3rem);line-height:1.7}.tp .now p{color:var(--ink-2);max-width:30em;margin:0 auto;font-size:15px;line-height:2.3}.tp .now .office{max-width:560px;margin:40px auto 0}.tp .now .office img{aspect-ratio:16/10;object-fit:cover;border-radius:2px;width:100%;height:auto;display:block}.tp .now .office figcaption{font-family:var(--sans);color:var(--ink-3);margin-top:8px;font-size:11px}.tp .now .reason{font-family:var(--sans);color:var(--green);margin:36px auto 16px;font-size:14px;font-weight:700}.tp .evidence{background:var(--ground);padding:80px 0 96px}.tp .evidence .eyebrow{color:var(--ink-3);margin-bottom:20px}.tp .evidence h2{font-size:clamp(1.25rem,2.8vw,1.55rem);line-height:1.6}.tp .evidence .lead{font-family:var(--sans);color:var(--ink-2);margin-top:12px;font-size:13px;line-height:1.9}.tp .ev-list{border-top:1px solid var(--rule);margin-top:30px}.tp .ev-list div{border-bottom:1px solid var(--rule);grid-template-columns:1fr 200px;align-items:baseline;gap:6px 24px;padding:16px 0;display:grid}.tp .ev-list dt{font-size:14.5px;line-height:1.8}.tp .ev-list dt small{font-family:var(--sans);color:var(--ink-3);margin-top:2px;font-size:12px;display:block}.tp .ev-list dd{font-family:var(--sans);color:var(--ink-2);font-variant-numeric:tabular-nums;font-size:12.5px}@media (max-width:640px){.tp .ev-list div{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.tp *{transition:none!important;animation:none!important}}
