@font-face{font-family:LP Round;src:url('fonts/mplusr-700.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:LP Round;src:url('fonts/mplusr-900.woff2') format('woff2');font-weight:900;font-display:swap}
:root{--paper:#fffefa;--mint:#edf6ef;--green:#1e6b52;--deep:#164c3c;--ink:#213b31;--sub:#4e6056;--line:#c6d8cb;--cream:#f6f1e5;--warm:#8a6738;--round:'LP Round','Hiragino Maru Gothic ProN',sans-serif}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-padding-top:24px}
body{background:var(--paper);color:var(--ink);font:16px/1.85 'Hiragino Sans','Yu Gothic UI',Meiryo,sans-serif;word-break:normal;overflow-wrap:anywhere;line-break:strict;-webkit-font-smoothing:antialiased}
.wrap{max-width:1160px;padding:0 32px;margin:auto}
a{color:var(--deep);text-underline-offset:.25em}
a:focus-visible{outline:3px solid var(--warm);outline-offset:5px}
.nb{white-space:nowrap}
.unit{white-space:nowrap}
.copy-width{display:block;max-width:840px}
svg{display:block;width:100%;height:auto}
img.art{display:block;width:100%;height:auto;object-fit:contain}
h1,h2,h3,.cta,.label,.eyebrow,.name,.yen,.no,.ba-tag{font-family:var(--round)}
h1,h2,h3{font-weight:900;line-break:strict;word-break:normal}
.hero{position:relative;background:var(--mint);border-top:6px solid var(--green);padding-bottom:48px}
.pr{font-size:14px;line-height:1.7;padding:14px 0;border-bottom:1px solid var(--line);margin-bottom:24px}
.pr b{display:inline-block;background:var(--deep);color:white;padding:0 6px;margin-right:8px}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:0 36px;align-items:start}
.hero-grid>div:first-child{display:contents}
.hero-grid>div:first-child>*{grid-column:1;min-width:0}
.eyebrow{color:var(--deep);font-size:14px;font-weight:700;border-bottom:2px solid var(--green);padding-bottom:6px;justify-self:start}
h1{font-size:54px;line-height:1.26;letter-spacing:-.025em;margin:16px 0 20px}
h1 .em{color:var(--green)}
.lead{font-size:17px;line-height:1.75}
.keyline{margin-top:18px;font-size:20px;line-height:1.65;font-weight:700}
.keyline b{font-family:var(--round);font-weight:900}
.keyline .src{font-size:16px;font-weight:400}
.keynote{font-size:16px;line-height:1.75;margin-top:16px}
.keynote b{font-weight:700}
.keynote a{display:flex;align-items:center;min-height:44px;font-weight:700;width:fit-content;margin-top:4px}
.hero-visual{position:relative;isolation:isolate;grid-column:2;grid-row:1 / span 6;align-self:center;padding:48px 0 16px;min-width:0}
.hero-visual::before{content:'';position:absolute;inset:0 -18px;z-index:-1;background:url('assets/frame-desktop.webp') center/cover no-repeat;mask-image:radial-gradient(ellipse at center,#000 44%,transparent 74%)}
.cap{font-size:14px;color:var(--sub);line-height:1.7;text-align:left;margin-top:16px}
.cta{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--green);color:white;text-decoration:none;font-size:18px;font-weight:900;line-height:1.5;white-space:nowrap;min-height:64px;padding:18px 26px;border:2px solid var(--deep);border-radius:10px;box-shadow:0 5px 0 var(--deep);max-width:100%;width:max-content;margin-top:26px;transition:background .15s,transform .15s,box-shadow .15s}
.cta svg{width:21px;height:21px;flex:0 0 21px}
.cta:hover{background:#17563f;transform:translateY(2px);box-shadow:0 3px 0 var(--deep)}
.cta:active{transform:translateY(4px);box-shadow:0 1px 0 var(--deep)}
.cond{font-size:16px;line-height:1.85;text-align:left;background:var(--paper);border-top:3px solid #96b39b;padding:12px 24px 4px;margin-top:32px;color:var(--ink)}
.hero-grid>div:first-child>.cond{grid-column:1/-1}
.condition-part{display:block;max-width:840px;margin-inline:0;padding:20px 20px;border-left:4px solid #96b39b;border-bottom:1px solid var(--line)}
.condition-part+.condition-part{margin-top:0}
.condition-part.monthly{background:#eef4e9}
.condition-part.initial,.condition-part.additional{background:#f5f7ef}
.condition-part.exit,.condition-part.refund{border-left-color:#987a48;background:var(--cream)}
.condition-part.device{background:#eef4e9}
.decision{font-weight:700;font-size:18px;line-height:1.75;color:var(--ink)}
.exit .decision,.refund .decision{color:#594325}
.cond .nb{white-space:normal}
.cond .decision{display:inline}
.cond>a{display:flex;align-items:center;min-height:44px;font-size:16px;font-weight:700;max-width:840px;padding:16px 0}
section{padding:76px 0;position:relative;isolation:isolate}
.section-head{position:relative;isolation:isolate;margin-bottom:32px}
.label{display:inline-flex;align-items:center;gap:12px;font-size:14px;font-weight:700;color:var(--sub);margin-bottom:16px}
.label::before{content:'';width:30px;height:2px;background:#a58a5a}
h2{font-size:38px;line-height:1.45;letter-spacing:-.02em;max-width:950px}
.ba{display:grid;grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr);gap:20px}
.ba-card{padding:24px 26px 16px;border-top:4px solid #9aa69d;background:#f3f3ee}
.ba-card.after{border-color:#7e9e85;background:#edf5eb}
.ba-tag{font-size:19px;font-weight:900;line-height:1.55;border-bottom:1px solid var(--line);padding-bottom:12px;display:block}
.ba-card .art{max-width:390px;margin:24px auto}
.ba-arrow{display:flex;align-items:center;justify-content:center;color:var(--green)}
.ba-arrow svg{width:30px;height:30px}
.checks,.ticks{list-style:none}
.checks li,.ticks li{padding:14px 0 14px 24px;position:relative;border-top:1px solid var(--line);font-size:16px;line-height:1.85}
.checks li::before{content:'';position:absolute;top:27px;left:2px;width:6px;height:6px;background:#809285;border-radius:50%}
.ticks li::before{content:'';position:absolute;top:23px;left:3px;width:8px;height:13px;border:solid var(--green);border-width:0 2px 2px 0;transform:rotate(45deg)}
.ticks li{font-weight:700}
.ba-note{font-size:16px;line-height:1.85;color:var(--sub);max-width:840px;margin-top:24px}
.pricing{background:#f8f6ef;border-block:1px solid #ddcfb4}
.pricing .section-head,.terms .section-head{padding:32px;background:#edf3e7;border-block:1px solid #bacab0;overflow:hidden}
.pricing .section-head::before,.terms .section-head::before{content:'';position:absolute;inset:0 0 0 48%;z-index:-1;background:url('assets/frame-desktop.webp') center/cover;mask-image:linear-gradient(to right,transparent,#000);opacity:.6}
.plans{list-style:none;margin-top:28px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.plans li{padding:24px 28px;background:var(--paper);border:1px solid #c2ccb6;min-width:0}
.costs li{border-top:3px solid #a3b792}
.costs li.hl{background:#eaf2e3}
.costs li:last-child{background:#f4eddf;border-top-color:#b19b70}
.plans .name{display:block;font-size:21px;line-height:1.55;font-weight:900;margin-bottom:16px}
.plans dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 20px;font-size:16px;line-height:1.85}
.plans dt{color:var(--sub)}
.plans dd{margin:0}
.plans .yen{font-size:24px;line-height:1.5;font-weight:900;white-space:nowrap}
.plans li.hl .yen{font-size:32px}
.plans dt.long,.plans dd.long{grid-column:1/-1}
.plans dt.long{padding-top:12px;border-top:1px solid var(--line);margin-top:8px;font-weight:700}
.plans dd .p{display:block}.plans dd .p+.p{margin-top:16px}
.pl{font-size:16px;line-height:1.85;max-width:840px;margin-top:24px}
.pl+.pl{margin-top:20px}
.pricing .capacity,.pricing .calls{display:block}
.capacity>li{border-left:4px solid #94a981}
.capacity .name,.incl h3{padding-bottom:16px;border-bottom:1px solid #b7c6aa;font-size:24px}
.capacity dl{grid-template-columns:160px minmax(0,1fr)}
.capacity dl>dd:first-of-type{font:900 30px/1.5 var(--round)}
.capacity dt.long{background:#edf0e1;padding:16px 20px 0;margin-top:12px;border-top-color:#b7c5aa}
.capacity dd.long{padding:0 20px 20px;background:#edf0e1}
.calls>li{border-top:4px solid #94a981}
.calls dl{max-width:840px;grid-template-columns:190px minmax(0,1fr)}
.calls dd:not(.long){font:700 21px/1.7 var(--round)}
.pricing .plans.calls+p.pl,.pricing .plans.calls+p.pl+p.pl{max-width:none;background:#f3eedf;border:1px solid #c2ccb6;border-top:0;margin:0;padding:24px 28px}
.pricing .plans.calls+p.pl+p.pl{padding-top:0}
.pricing .plans.calls+p.pl>strong{font-size:16px}
.incl{background:var(--paper);border:1px solid #b5c4a9;border-top:4px solid #92a481;padding:28px;margin-top:36px}
.incl h3{font-size:24px;margin-bottom:4px}
.cancellation-part{padding:20px 0;max-width:840px;line-height:1.85;font-size:16px;font-weight:400}
.cancellation-part+.cancellation-part{border-top:1px solid #d1d9c8}
.cancellation-part:first-of-type,.cancellation-part:nth-of-type(3){background:#f5efdf;border-left:4px solid #a88c59;padding:20px;margin-top:16px}
.cancellation-part:last-child{background:#f3f5ec;padding:20px;margin-top:16px;border-left:4px solid #a5b792}
.sub{font-size:22px;line-height:1.55;margin-top:40px;max-width:840px}
.checks-section{background:#f1f7ee;border-bottom:1px solid #bfceb5}
.checks-section .section-head{padding:16px 0 28px;border-bottom:1px solid #b6c5ac}
.qa{list-style:none;counter-reset:check;display:grid;grid-template-columns:1fr 1fr;gap:0 36px}
.qa>li{counter-increment:check;border-top:1px solid #b9c9b1;padding:28px 0;min-width:0}
.qa>li>.q{display:flex;align-items:baseline;gap:16px;font:900 21px/1.6 var(--round);margin-bottom:16px}
.qa>li>.q::before{content:counter(check,decimal-leading-zero);font:700 16px/1.5 var(--round);color:#526747;flex:none}
.qa li.main{grid-column:1/-1;border:0;padding-top:0}
.qa li.main>.q{font-size:24px}
.qa .a{display:block;font-size:16px;line-height:1.85}
.qa .p{display:block;margin-top:20px;max-width:840px}
.qa .p:first-child{margin-top:0;max-width:none}
.qa b.k{font:700 18px/1.8 var(--round);display:block;padding:22px 24px;background:var(--paper);border-left:4px solid #8ea47e}
.qa .main .p:nth-child(4){background:#e9efdf;border-left:4px solid #a3b38e;padding:20px 24px;max-width:840px}
.qa-paragraph{display:block}.qa-paragraph+.qa-paragraph{margin-top:16px}
.final{text-align:left;margin-top:36px;padding-top:24px;border-top:1px solid #b0c3a2}
.final .cta{margin-top:0}
.final .cond{max-width:none;margin-top:32px}
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}
.step{display:grid;grid-template-rows:subgrid;grid-row:span 2;gap:24px;background:#f5f7ef;border-top:3px solid #9eb08f;border-bottom:1px solid #b9c9af;padding:24px 20px;min-width:0}
.step-heading{display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;align-items:start}
.no{font:900 30px/1.4 var(--round);color:#4c6043;border-bottom:3px solid #b7a074;width:32px}
.step h3{font-size:21px;line-height:1.6}
.step p{font-size:16px;line-height:1.85}.step b{font-weight:400}
.step p+p{margin-top:20px;padding-top:20px;border-top:1px solid #c2cdb7}
.start-section>.wrap>.pl{border-top:1px solid #c2cdb7;padding-top:24px;margin-top:32px}
.terms-section{background:#f8f8f1;border-top:1px solid #bac9af}
.sum{font-size:16px;line-height:1.85;max-width:840px;margin-bottom:32px}
.trow{display:grid;grid-template-columns:176px minmax(0,1fr);gap:28px;padding:28px 24px;border-top:1px solid #b8c5ad;background:var(--paper);font-size:16px;line-height:1.85}
.trow.key{background:#eaf0e2;border-top:3px solid #a6b992}
.trow dt{font:700 16px/1.7 var(--round);color:#415a36}
.trow dt>span{display:block;padding:8px 0;border-top:2px solid #a6b992}
.trow dd{font-size:20px;line-height:1.7;font-weight:700;min-width:0}
.trow dd>.c{display:block}.trow dd>.c+.c{margin-top:12px}
.trow .source-qualifier{font-size:16px;font-weight:400;line-height:1.85}
.trow dd small{display:block;font-size:16px;font-weight:400;color:var(--ink);line-height:1.85;margin-top:20px;padding-top:20px;border-top:1px solid #c6d1bc;max-width:840px}
.trow .term-paragraph{display:block}.term-paragraph+.term-paragraph{margin-top:20px;padding-top:20px;border-top:1px solid #c8d2be}
.term-1,.term-7{background:#f6f0e2}
.term-1 dt>span,.term-7 dt>span{border-top-color:#b79b6c;color:#65502e}
.term-1 dd>.c:last-of-type{color:#594325;font-size:22px}
.term-2 .term-paragraph:nth-child(n+2),.term-0 .term-paragraph:nth-child(n+2){padding:20px;background:#f5efdf;border-left:4px solid #ad925f}
.term-1 .term-paragraph,.term-7 .term-paragraph:first-child{padding:20px;background:#fffaf0;border-left:4px solid #ad925f}
.trow .decision{font-size:18px}
.trow dd>.c .decision{font-size:inherit}
.terms-section>.wrap>.final{border-top:4px solid #9cae8b;margin-top:48px;padding:36px 24px 12px;background:#edf2e7}
.terms-section>.wrap>.final .cta{margin-bottom:4px}
footer{background:#273f32;color:#edf6ef;border-top:6px solid #8f9f7c;padding:40px 0 48px;font-size:14px;line-height:1.85}
footer p:first-child{font-size:16px;font-weight:700}
footer p+p{margin-top:20px;padding-top:20px;border-top:1px solid #6e8561}
@media(max-width:1100px) and (min-width:760px){h1{font-size:42px}.hero-grid{column-gap:24px}.wrap{padding-inline:28px}.cta{font-size:16px;padding-inline:20px}}
@media(max-width:759px){
 .wrap{padding-inline:20px}.hero{border-top-width:4px;padding-bottom:36px}.pr{font-size:14px;padding-block:10px;margin-bottom:16px}
 .hero-grid{display:block}.hero-grid>div:first-child{display:block}.eyebrow{display:inline-block;font-size:13px}
 h1{font-size:min(38px,calc((100vw - 40px)/9.3));line-height:1.3;letter-spacing:0;margin:16px 0}.lead{font-size:16px;line-height:1.75}
 .keyline{font-size:20px;margin-top:16px}.keynote{margin-top:16px;line-height:1.8}.keynote a{white-space:normal}
 .hero-visual{margin-top:24px;padding-top:24px}.hero-visual::before{inset:0 -8px 12px;background-image:url('assets/frame-mobile.webp')}
 .hero-visual .art{max-width:480px;margin:auto}.cap{font-size:14px}
 .cta{width:100%;max-width:430px;font-size:clamp(14px,4.25vw,18px);padding:16px 10px;min-height:60px;gap:6px;margin-top:24px}
 .cta svg{width:18px;height:18px;flex-basis:18px}.cond{padding:0;margin-top:28px}.condition-part{padding:18px 14px}.cond>a{padding:16px 0}.cond .decision{font-size:18px}
 section{padding:52px 0}.section-head{margin-bottom:28px}.label{font-size:14px;margin-bottom:16px}h2{font-size:27px;line-height:1.5;letter-spacing:0}
 .ba{grid-template-columns:1fr;gap:20px}.ba-card{padding:20px 16px 10px}.ba-card .art{margin:20px auto}.ba-tag{font-size:18px}.ba-arrow svg{transform:rotate(90deg);width:28px;height:28px}
 .ba-note{margin-top:20px}.pricing .section-head,.terms .section-head{padding:24px 16px}.pricing .section-head::before,.terms .section-head::before{inset:0;background-image:url('assets/frame-mobile.webp');background-size:cover;opacity:.45;mask-image:linear-gradient(to right,transparent,#000)}
 .plans{grid-template-columns:1fr;gap:16px;margin-top:24px}.plans li{padding:22px 16px}.plans .name{font-size:21px}.plans dl{column-gap:12px}.plans .yen{font-size:23px}.plans li.hl .yen{font-size:30px}
 .capacity dl{grid-template-columns:auto minmax(0,1fr)}.capacity dt.long{padding:16px 0 0}.capacity dd.long{padding:0 0 18px}.capacity dt.long,.capacity dd.long{background:transparent}
 .calls dl{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 12px}.calls dd:not(.long){font-size:18px}
 .pricing .plans.calls+p.pl,.pricing .plans.calls+p.pl+p.pl{padding:22px 16px}.pricing .plans.calls+p.pl+p.pl{padding-top:0}
 .incl{padding:22px 0 0;border-inline:0}.incl h3{font-size:22px;padding-inline:0}.cancellation-part{padding:20px 0}.cancellation-part:first-of-type,.cancellation-part:nth-of-type(3),.cancellation-part:last-child{padding:18px 14px}
 .qa{display:block}.qa>li{padding:24px 0}.qa>li>.q,.qa li.main>.q{font-size:21px;gap:12px}.qa b.k{font-size:18px;padding:20px 16px}.qa .main .p:nth-child(4){padding:18px 16px}.qa .p{margin-top:20px}
 .steps{display:block}.step{display:block;padding:24px 16px}.step+.step{margin-top:24px}.step-heading{grid-template-columns:34px minmax(0,1fr);gap:12px;margin-bottom:20px}.step h3{font-size:20px}.no{font-size:28px}
 .trow{grid-template-columns:1fr;gap:16px;padding:24px 16px}.trow dt{font-size:16px}.trow dt>span{display:inline-block;padding:0 0 6px;border-top:0;border-bottom:2px solid #a6b992}.trow dd{font-size:19px}.trow dd small{font-size:16px;margin-top:18px;padding-top:18px}
 .term-2 .term-paragraph:nth-child(n+2),.term-0 .term-paragraph:nth-child(n+2),.term-1 .term-paragraph,.term-7 .term-paragraph:first-child{padding:18px 10px;border-left-width:3px}
 .trow .nb{white-space:normal}.trow .decision{font-size:18px}.terms-section>.wrap>.final{padding:28px 0 0;margin-top:36px}.final .cond{margin-top:28px}
 footer{padding-block:32px 40px}
}
@media(max-width:359px){.wrap{padding-inline:16px}h1{font-size:calc((100vw - 32px)/9.6)}.condition-part{padding-inline:12px}.trow{padding-inline:12px}.cond .decision{font-size:17px}.trow .nb{white-space:normal}}
@media(prefers-reduced-motion:reduce){.cta{transition:none}}
/* The two fixed lead disclosures share a compact reading rhythm. */
.hero .keynote{margin-top:12px;line-height:1.7}
.hero .cta{margin-top:18px}
@media(max-width:759px){
 .hero .keyline{margin-top:12px;line-height:1.55}
 .hero .keynote{margin-top:12px;line-height:1.7}
 .hero .lead{line-height:1.7}
 .hero h1{margin-block:12px}
 .hero .cta{margin-top:18px}
}
