:root{--paper:#fffefa;--ink:#243d32;--sub:#465b50;--main:#24684e;--main-deep:#154b37;--main-bg:#edf5ec;--main-pop:#c6ddbf;--line:#cfdbce;--mute-bg:#f3efe6;--acc-bg:#fbefe3;--round:"LP Round","Yu Gothic",Meiryo,sans-serif}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{overflow-x:visible;font-family:"Yu Gothic",Meiryo,sans-serif;font-size:16px;line-height:1.95;line-break:strict;word-break:keep-all;overflow-wrap:anywhere}
.wrap{max-width:1200px;padding:0 48px}
img{display:block;max-width:100%;height:auto}
h1,h2,h3{letter-spacing:.015em;text-wrap:pretty}
h1{font-size:64px;line-height:1.3;margin:24px 0}
h2{font-size:38px;line-height:1.5;margin-bottom:36px}
section{padding:88px 0}
.label,.eyebrow{border-radius:0;background:transparent;padding:0 0 10px;color:var(--main-deep);font-size:14px;line-height:1.8;letter-spacing:.06em;border-bottom:2px solid var(--main)}
.label{margin-bottom:20px}
.hero{border-radius:0;background:#fbf9f1 url("assets/paper-desktop.webp") no-repeat center top / max(100%,1440px) auto;padding-bottom:64px;border-top:8px solid var(--main);border-bottom:1px solid var(--line)}
.hero .dot{display:none}
.pr{font-size:14px;line-height:1.85;max-width:76em;padding:20px 0 12px}
.pr b{background:var(--main-deep);border-radius:0;padding:1px 8px}
.hero-grid{grid-template-columns:minmax(0,1.06fr) minmax(0,1fr);align-items:start;gap:48px}
.hero-grid>div{min-width:0}
.eyebrow{margin-top:20px;letter-spacing:.025em}
.hero-art{position:sticky;top:32px;margin:90px -16px 0 0;padding:48px 0 24px}
.hero .art{width:100%}
.hero .cap{text-align:center;font-size:13px;line-height:1.8;padding:16px 12px 0;color:#40564a}
.lead{font-size:17px;line-height:1.95;max-width:36em}
.hero-facts{font-size:16px;line-height:1.85;margin-top:24px}
.hero-facts li{padding:12px 0 12px 16px;border-top:1px solid #cdd8c7}
.hero-facts li::before{content:"";width:5px;height:5px;top:25px;left:0;background:var(--main);border-radius:50%}
.hero-facts>li:first-child>span:first-child,.hero-facts>li:nth-child(2)>span:first-child{font-weight:700}
.hero-facts .hf{margin-top:8px}
.cta{background:var(--main);border:1px solid var(--main-deep);border-radius:8px;box-shadow:0 4px 0 var(--main-deep);font-size:18px;line-height:1.8;letter-spacing:0;padding:18px 24px;gap:16px;max-width:440px;min-height:70px}
.cta:hover{background:var(--main-deep);box-shadow:0 2px 0 var(--main-deep)}
.cta svg{width:22px;height:22px}
a:focus-visible{outline:3px solid #a2522c;outline-offset:5px}
a:not(.cta){text-underline-offset:4px;text-decoration-thickness:1px}
.cond{line-height:1.95;margin-top:24px}
.cond .ln{padding:8px 0;border-bottom:1px solid var(--line)}
.cond .ln:last-of-type{border-bottom:0}
.cond .price{font-size:19px;font-weight:900;color:var(--main-deep);vertical-align:baseline}
.cond>a:last-child{margin-top:8px}
.cond a,.how a,.pl a,.trow a,.step p a,.ticks .sub a{font-weight:700;color:var(--main-deep)}
.everyday{position:relative;background:#fffefa}
.everyday h2{max-width:850px}
.ba{grid-template-columns:minmax(0,1fr) 32px minmax(0,1fr);gap:24px;align-items:stretch}
.ba-card{display:flex;flex-direction:column;padding:24px 28px 28px;border:0;border-radius:0;box-shadow:none}
.ba-card.before{background:#fff;border-top:3px solid #a7a28c}
.ba-card.after{background:#fff;border:0;border-top:3px solid var(--main);box-shadow:none}
.ba-tag{font-size:21px;border-radius:0;padding:0;margin-bottom:24px}
.before .ba-tag,.after .ba-tag{background:transparent;color:var(--ink)}
.ba-card .art{width:100%;max-width:360px;margin:0 auto 24px;flex-shrink:0}
.ba-arrow{align-self:start;padding-top:220px}
.ba-arrow svg{width:32px;transform:none}
.checks,.ticks{display:block}
.checks li,.ticks li{border-radius:0;background:transparent;border-top:1px solid #c7d4c3;padding:18px 0;font-size:16px;line-height:1.85;align-items:flex-start;gap:12px}
.checks li::before{flex-basis:5px;width:5px;height:5px;margin-top:12px}
.ticks li::before{flex-basis:18px;width:18px;height:18px;background-size:12px;margin-top:6px}
.ticks li>div{min-width:0}
.ticks .sub{font-size:16px;line-height:1.95;margin-top:10px;color:var(--sub)}
.ba-note{font-size:15px;line-height:1.95;margin-top:24px;max-width:66em}
.plans{background:#f7f8f1;border-block:1px solid #dde3d7}
.plans h2{max-width:900px}
.pl{font-size:17px;line-height:1.95;max-width:45em}
.items{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 40px;margin-top:32px}
.items li{min-width:0;border:0;border-radius:0;background:transparent;padding:28px 0;border-top:1px solid #c8d6c4}
.items li.wide{grid-column:1/-1}
.items b{font-size:21px;line-height:1.65;margin-bottom:16px;color:var(--main-deep)}
.items .how{font-size:16px;line-height:1.95;max-width:43em;margin:0;color:var(--sub)}
.copy-block{display:block}
.copy-block+.copy-block{margin-top:20px}
.plan-list>li.plan-panel{grid-column:1/-1;display:grid;grid-template-columns:240px minmax(0,1fr);gap:0;background:#fffefa;border:1px solid #c6d6be;padding:0;margin:16px 0 24px}
.plan-panel>b{align-self:stretch;margin:0;padding:32px 28px;background:#dcebd3;border-right:1px solid #c6d6be;font-size:26px!important;line-height:1.65}
.plan-panel>.how{padding:32px 36px;max-width:none}
.plan-panel:last-child>b{background:#24684e;color:#fff}
.plan-panel:last-child{border-color:#24684e}
.plan-price{color:var(--ink);padding:20px 0;border-block:1px solid #c6d6be;line-height:2}
.money{font-weight:700;color:var(--main-deep);font-variant-numeric:tabular-nums;white-space:nowrap}
.plan-price .money{font-size:24px;line-height:1.5}
.price-examples,.price-detail{display:block}
.price-detail{margin-top:20px;padding-top:20px;border-top:1px solid #d4dfcb}
.cond .ln:nth-child(3){margin-top:8px;padding-top:16px;border-top:1px solid #b5c7a9}
.reservation{padding:20px;background:#f8eee1;border-left:3px solid #a55c36}
.grp{margin:56px 0 8px;padding:24px 0 16px;border-block:1px solid #b8cbb1}
.grp .label{padding:0;border:0;margin:0;font-size:21px;letter-spacing:0}
.common-list{display:block;margin-top:0}
.common-list>li.main{display:grid;grid-template-columns:240px minmax(0,1fr);gap:36px;background:transparent;margin:0;padding:30px 0;border:0;border-bottom:1px solid #c8d6c4}
.common-list>li.main>b{font-size:21px;line-height:1.65;margin:0;padding-left:20px;border-left:3px solid #90b07f}
.common-list .money{font-size:19px}
.common-list>li.main:nth-child(2){background:transparent}
.process{background:#fffefa;margin-bottom:0;padding:88px 0!important}
.steps.two{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 48px}
.step{padding:32px 0 36px;border:0;border-radius:0;background:transparent;border-top:1px solid #b6cab0;min-width:0}
.step .no{font-size:20px;width:42px;height:42px;border-radius:50%;margin-bottom:20px;background:var(--main-deep)}
.step h3{font-size:24px;line-height:1.65;margin-bottom:20px}
.step p{max-width:38em;font-size:16px;line-height:1.95;color:var(--sub)}
.step p+p{margin-top:20px}
.step p>b{font-size:17px;color:var(--main-deep)}
.mid{margin-top:24px}
.final{background:#edf4e6;border-radius:0;border-top:4px solid var(--main);padding:36px 32px;margin-top:32px}
.final .cta{margin-top:0}
.final .cond{text-align:left;max-width:44em;margin-top:24px}
.final .cond a{justify-content:flex-start}
.reference{background:#fffefa;border-top:1px solid var(--line);padding-bottom:0}
.terms{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.terms h2{font-size:40px;margin-bottom:24px}
.terms .sum{max-width:48em;font-size:16px;line-height:1.95;margin-bottom:28px}
.toc{border-block:1px solid #b9cdb2;padding:16px 0;margin-bottom:16px}
.toc ul{gap:4px 16px;margin:0;line-height:1.6}
.toc a{display:inline-flex;align-items:center;min-height:44px;padding:8px;font-size:15px}
.toc a:hover{background:#e8f0df}
.trow,.trow.key{display:grid;grid-template-columns:190px minmax(0,1fr);gap:40px;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent;padding:36px 0;margin:0;scroll-margin-top:24px}
.trow.key{border-top:2px solid #799e6c}
.trow dt{font:700 21px/1.7 var(--round);color:var(--main-deep);align-self:start;padding:12px 0;position:sticky;top:24px}
.trow dd{min-width:0;max-width:44em;font-size:17px;line-height:1.95}
.term-summary{padding:12px 0;font-size:19px;line-height:1.9;color:var(--ink)}
.trow.key .term-summary{padding:16px 20px;background:#edf3e6;border-left:3px solid #8bab7a}
.term-summary .money{font-size:22px}
.trow dd .big{font-size:22px;font-weight:700;color:var(--main-deep)}
.trow dd small{display:block;font-size:16px;line-height:1.95;color:var(--sub);margin-top:20px}
.detail-block{display:block}
.detail-block+.detail-block{margin-top:28px;padding-top:24px;border-top:1px solid #e0e5d9}
.trow small .d,.trow small .d:first-child{border-left:0;padding:0;margin:0 0 14px;font:700 18px/1.8 var(--round);color:var(--main-deep)}
.trow a{overflow-wrap:anywhere}
.trow dd small .money{font-size:inherit}
.trow small .reservation{display:block;margin:20px 0 8px;padding:18px 20px;background:#fbf1e5;border-left:3px solid #a55c36;color:#435046}
.trow small .reservation-panel{padding:20px;background:#fbf1e5;border-top:0;border-left:3px solid #a55c36}
.trow small .reservation-panel>.d{color:#704021}
.key-qualification{font-weight:700;color:inherit}
.reservation .money,.reservation-panel .money{font-weight:inherit}
footer{background:var(--main-deep);margin-top:64px;padding:32px 0 40px;font-size:14px;line-height:1.95}
footer p+p{margin-top:16px}
@media(min-width:860px) and (max-width:1100px){.wrap{padding-inline:32px}.hero-grid{gap:28px}h1{font-size:54px}.plan-panel>b{padding:28px 24px}.plan-panel>.how{padding:28px}.plan-list>li.plan-panel{grid-template-columns:210px minmax(0,1fr)}}
@media(max-width:859px){
 .wrap{padding:0 24px}section{padding:56px 0}
 h1{font-size:clamp(38px,10.5vw,62px);line-height:1.35;margin:24px 0}h2{font-size:30px;line-height:1.5;margin-bottom:28px}
 .hero{background:#faf8f0;padding-bottom:40px}.hero-grid{grid-template-columns:minmax(0,1fr);gap:32px}
 .pr{font-size:14px;padding-top:16px}.eyebrow{font-size:13px;margin-top:16px;letter-spacing:0}.lead{font-size:17px}
 .hero-facts{font-size:16px}.hero-facts li{padding:12px 0 12px 14px}.hero-facts li::before{top:25px}
 .hero-art{position:static;margin:0;width:100%;max-width:520px;justify-self:center;padding:60px 8px 32px;background:url("assets/paper-mobile.webp") center / 100% 100% no-repeat}
 .hero-art .cap{padding-inline:8px;font-size:12px}
 .cta{width:100%;padding:16px 12px;gap:10px;font-size:17px;min-height:66px;max-width:440px}.cta svg{width:20px;height:20px}
 .cond{font-size:16px;margin-top:24px}.cond .price{font-size:18px}.cond .ln{padding:10px 0}.cond .nb-flow{white-space:normal}
 .label{font-size:13px;letter-spacing:.04em}
 .ba{grid-template-columns:minmax(0,1fr);gap:20px}.ba-card{padding:24px 20px}.ba-tag{font-size:20px;margin-bottom:24px}.ba-card .art{max-width:360px;margin-bottom:20px}
 .ba-arrow{padding:0}.ba-arrow svg{width:26px;transform:rotate(90deg)}.ticks li{gap:10px}.ticks li::before{flex-basis:16px;width:16px;height:16px;margin-top:6px}
 .ba-note{font-size:15px}.items{grid-template-columns:minmax(0,1fr);gap:0;margin-top:28px}.items li{padding:24px 0}.items b{font-size:20px}
 .plan-list>li.plan-panel{display:block;margin:12px 0 24px}.plan-panel>b{padding:20px 22px;border-right:0;border-bottom:1px solid #c6d6be;font-size:23px!important}.plan-panel>.how{padding:24px 22px}.plan-price .money{font-size:22px}.reservation{padding:16px}
 .grp{margin-top:40px;padding:20px 0}.grp .label{font-size:20px}.common-list>li.main{display:block;padding:26px 0}.common-list>li.main>b{margin-bottom:20px;padding-left:16px;font-size:20px}
 .pl{font-size:16px}.copy-block+.copy-block{margin-top:20px}
 .process{padding:56px 0!important}.steps.two{grid-template-columns:minmax(0,1fr);gap:0}.step{padding:28px 0 32px}.step .no{width:38px;height:38px;font-size:19px;margin-bottom:16px}.step h3{font-size:22px;line-height:1.6;margin-bottom:20px}.step p{font-size:16px}
 .final{padding:28px 20px;margin-top:28px}.final .cond{font-size:16px}
 .terms h2{font-size:32px}.terms .sum{font-size:16px}.toc ul{gap:4px 8px}.toc a{font-size:15px;padding:8px}
 .trow,.trow.key{grid-template-columns:minmax(0,1fr);gap:12px;padding:28px 0}.trow dt{position:static;font-size:22px;padding:0}.trow dd{font-size:17px}.term-summary{font-size:18px;padding:8px 0}.trow.key .term-summary{padding:14px 16px}.term-summary .money{font-size:21px}.trow dd small{font-size:16px;margin-top:20px}.detail-block+.detail-block{margin-top:24px;padding-top:20px}
 .nb-flow{white-space:normal;word-break:normal}.trow small .d{font-size:18px;line-height:1.8}footer{font-size:14px;margin-top:48px;padding:28px 0 32px}
 .trow small .reservation,.trow small .reservation-panel{padding:16px;margin-top:20px}
}
@media(max-width:359px){
 .wrap{padding-inline:16px}h1{font-size:38px}h2{font-size:27px}.lead{font-size:16px}.eyebrow{font-size:12px}
 .cta{font-size:16px;gap:8px;padding-inline:10px;min-height:64px}.cta svg{width:18px;height:18px}
 .ba-card{padding:24px 14px}.ba-tag{font-size:19px}.ticks li{gap:8px}.ticks li::before{flex-basis:12px;width:12px;height:12px;background-size:9px;margin-top:8px}
 .plan-panel>b{padding:20px 16px;font-size:22px!important}.plan-panel>.how{padding:22px 16px}.plan-price .money{font-size:21px}.reservation{padding:14px 12px}.common-list>li.main>b{padding-left:12px}
 .final{padding-inline:14px}.terms h2{font-size:30px}.trow.key .term-summary{padding:12px 14px}.trow dt{font-size:21px}.term-summary{font-size:17px}.term-summary .money{font-size:20px}.trow dd{font-size:16px}.trow dd .big{font-size:20px}
 .trow small .d,.trow small .d:first-child{font-size:17px}.toc a{font-size:15px;padding-inline:8px}
 .trow small .reservation,.trow small .reservation-panel{padding:16px 12px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cta{transition:none}}
