@font-face{font-family:LP;src:url('fonts/mplusr-700.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:LP;src:url('fonts/mplusr-900.woff2') format('woff2');font-weight:900;font-display:swap}
:root{--paper:#f6faf8;--ink:#1f2d2b;--main:#0f766e;--main-deep:#0b5a54;--main-bg:#e8f7f4;--main-pop:#a7e3da;--line:#c9ddd7;--sub:#43544f;--mute:#5f6b69;--round:LP,'Hiragino Sans','Yu Gothic UI',sans-serif}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{background:#fff;color:var(--ink);font:16px/1.9 'Hiragino Sans','Yu Gothic UI',Meiryo,sans-serif;-webkit-font-smoothing:antialiased;word-break:keep-all;overflow-wrap:anywhere;text-spacing-trim:trim-start}
.wrap{width:100%;max-width:1160px;padding:0 28px;margin:auto}
a{color:var(--main-deep);text-underline-offset:4px}
a:focus-visible{outline:3px solid #a64419;outline-offset:5px}
img{display:block;max-width:100%;height:auto}
svg{display:block;width:100%;height:auto}
.nb{white-space:nowrap}
h1,h2,h3,.eyebrow,.label,.cta,.ba-tag,.name,.yen,.no{font-family:var(--round);font-weight:900}
.hero{background:var(--paper) url('assets/frame-desktop.png') right top/100% auto no-repeat;position:relative;padding:0 0 44px;border-bottom:1px solid var(--line)}
.hero .dot{display:none}
.pr{font-size:13px;padding:16px 0 24px;line-height:1.8;color:var(--sub)}
.pr b{background:var(--ink);color:#fff;display:inline-block;padding:0 7px;margin-right:8px;font-size:12px}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);column-gap:34px;align-items:start}
.hero-grid>div:first-child{display:contents}
.eyebrow{grid-column:1;grid-row:1;display:block;font-size:15px;font-weight:700;color:var(--main-deep);letter-spacing:.04em;padding:4px 0 12px}
h1{grid-column:1;grid-row:2;font-size:56px;line-height:1.28;letter-spacing:.015em;margin:0 0 24px;font-weight:900}
h1 .em{color:var(--main)}
.lead{grid-column:1;grid-row:3;font-size:16px;line-height:1.95;max-width:38em}
.hero-art{grid-column:2;grid-row:1/5;align-self:start;padding-top:28px;position:relative}
.hero-art .art{width:100%;border:1px solid #d3e6de;border-radius:18px;mix-blend-mode:normal}
.cap{font-size:12px;color:var(--sub);text-align:right;margin:8px 0 0;line-height:1.7}
.cta{display:inline-flex;justify-content:center;align-items:center;gap:10px;background:var(--main);color:#fff;text-decoration:none;font-size:18px;line-height:1.8;white-space:nowrap;border:2px solid var(--main-deep);border-radius:12px;box-shadow:0 5px 0 var(--main-deep);padding:18px 22px;min-height:68px;width:100%;max-width:420px;margin:26px 0 5px;transition:background .15s,transform .15s,box-shadow .15s}
.hero-grid .cta{grid-column:1;grid-row:4;justify-self:start}
.cta svg{width:20px;height:20px;flex:0 0 20px}
.cta:hover{background:var(--main-deep);transform:translateY(2px);box-shadow:0 3px 0 var(--main-deep)}
.cta:active{transform:translateY(4px);box-shadow:0 1px 0 var(--main-deep)}
.cond{font-size:16px;line-height:1.9;text-align:left;color:var(--ink);margin-top:26px}
.hero-grid .cond{grid-column:1/-1;grid-row:5;margin-top:30px}
.cond .ln{display:block;padding:14px 0;border-top:1px solid var(--line)}
.cond .ln:first-child{padding-top:16px}
.cond .price{font-family:var(--round);font-size:22px;color:var(--main-deep);font-weight:900;margin-right:4px}
.cond a{display:inline-flex;align-items:center;min-height:44px;font-weight:700}
section{padding:82px 0 72px!important;position:relative}
section+section{border-top:1px solid #e0ebe7}
section:nth-of-type(2){background:var(--paper)}
section:nth-of-type(4){background:#eff8f5}
section:nth-of-type(6){background:var(--paper)}
.label{display:inline-block;font-size:14px;color:var(--main-deep);font-weight:700;line-height:1.6;border-left:3px solid var(--main);padding-left:12px;margin-bottom:18px;letter-spacing:.04em}
h2{font-size:40px;line-height:1.45;letter-spacing:.025em;margin:0 0 34px;max-width:960px;text-wrap:pretty}
.ba{display:grid;grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr);gap:12px;align-items:stretch}
.ba-card{min-width:0;padding:24px 26px 30px}
.ba-card.before{background:#f3f5f4;border-top:2px solid #9ba7a3}
.ba-card.after{background:var(--paper);border-top:3px solid var(--main)}
.ba-tag{display:block;font-size:22px;line-height:1.6;margin-bottom:16px;color:var(--main-deep)}
.before .ba-tag{color:var(--sub)}
.ba-card .art{width:100%;max-width:360px;margin:0 auto 24px;mix-blend-mode:multiply}
.before .art{filter:saturate(.48)}
.ba-arrow{display:flex;align-items:center;justify-content:center;color:var(--main)}
.ba-arrow svg{width:30px;height:30px}
.checks,.ticks{list-style:none;display:grid;gap:0}
.checks li,.ticks li{padding:16px 0;border-top:1px solid var(--line);font-size:16px;line-height:1.9;position:relative}
.ticks li{font-weight:700}
.ba-note{margin-top:26px;color:var(--sub);font-size:16px;line-height:1.9;max-width:900px}
.steps{display:grid;gap:0;border-top:2px solid var(--main)}
.step{display:grid;grid-template-columns:48px 210px minmax(0,1fr);column-gap:24px;align-items:start;padding:32px 0;border-bottom:1px solid var(--line);min-width:0}
.step .no{grid-column:1;grid-row:1;display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--main);border-radius:50%;color:var(--main);font-size:22px;line-height:1}
.step h3{grid-column:2;grid-row:1;font-size:22px;line-height:1.6;padding-top:1px}
.step-copy{grid-column:3;grid-row:1;min-width:0}
.step p{font-size:16px;line-height:1.9}
.step p+p{margin-top:16px}
.step.free .no{background:var(--main);color:#fff}
.pl{font-size:16px;line-height:1.95;max-width:900px;margin:22px 0 0;text-align:left}
.final{margin-top:32px;text-align:center}
.final .cond{max-width:900px;margin:26px auto 0;text-align:left}
.final .cond a{min-height:44px}
.mid{margin-top:40px}
.qa{list-style:none;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 48px;margin-top:20px}
.qa li{border-top:1px solid var(--line);padding:26px 0;min-width:0}
.qa b{display:block;font-family:var(--round);font-weight:900;font-size:21px;line-height:1.7;margin-bottom:10px}
.qa li.main{grid-column:1/-1;background:var(--paper);padding:30px 34px;margin-bottom:10px;border-top:2px solid var(--main)}
.qa li.main b{font-size:26px;max-width:900px;color:var(--main-deep)}
.qa li.main .a{max-width:900px}
.qa .a{display:block;font-size:16px;line-height:1.95}
.qa .a+.a{margin-top:14px}
.plans{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:30px 0 0;border-top:2px solid var(--main);border-bottom:1px solid var(--line)}
.plans li{padding:28px 24px;min-width:0;background:transparent}
.plans li+li{border-left:1px solid var(--line)}
.plans li:first-child{background:#dcefe8}
.plans .name{display:block;color:var(--main-deep);font-size:22px;line-height:1.6;margin-bottom:20px}
.plans dl{display:grid;grid-template-columns:1fr;gap:0;font-size:16px;line-height:1.9}
.plans dt{font-size:14px;color:var(--sub);margin-top:15px}
.plans dt:first-child{margin-top:0}
.plans dd{font-weight:700;margin:2px 0 0}
.plans .yen{font-size:25px;line-height:1.7;color:var(--main-deep);font-weight:900}
.incl{font-size:16px;line-height:1.95;background:rgba(255,255,255,.85);border-left:3px solid var(--main);padding:22px 26px;margin-top:28px;max-width:960px}
.incl b{display:block;font-family:var(--round);font-size:20px;margin-bottom:10px}
.terms{border-top:3px solid var(--main);background:#fff;padding:40px 38px 18px}
.terms h2{margin-bottom:14px}
.terms .sum{font-size:16px;color:var(--sub);margin-bottom:26px}
.trow{display:grid;grid-template-columns:190px minmax(0,1fr);gap:28px;padding:24px 14px;border-top:1px solid var(--line);font-size:16px;line-height:1.95}
.trow dt{font-weight:700;color:var(--sub);font-size:15px}
.trow dd{font-weight:700;min-width:0}
.trow dd small{display:block;font-size:16px;color:var(--sub);font-weight:400;line-height:1.95;margin-top:12px}
.trow dd .c{display:block}
.trow dd .c+.c{margin-top:12px}
.trow.key{border-left:3px solid var(--main);padding-left:16px}
.trow.key dt{color:var(--main-deep)}
.trow.key:nth-child(1),.trow.key:nth-child(4){background:#edf7f3}
.sub{font-family:var(--round);font-size:21px;line-height:1.6;margin:32px 0 0}
footer{background:var(--ink);color:#e4efec;font-size:13px;line-height:1.9;padding:34px 0 40px}
footer p+p{margin-top:10px}
footer a{color:#d0eee5}
@media(min-width:1200px){.hero-art{margin-right:-18px}.hero-art .art{max-width:none;width:calc(100% + 18px)}}
@media(max-width:859px){
 .wrap{max-width:680px;padding:0 24px}
 .hero{background-image:url('assets/frame-mobile.png');background-size:100% auto;padding-bottom:30px}
 .pr{font-size:12px;padding:12px 0 18px;line-height:1.9}
 .hero-grid{display:flex;flex-direction:column;gap:0;align-items:stretch}
 .eyebrow{order:0;font-size:13px;padding:4px 0 14px;letter-spacing:0}
 h1{order:1;font-size:clamp(34px,9.7vw,50px);line-height:1.32;letter-spacing:0;margin-bottom:8px}
 .hero-art{order:2;align-self:stretch;padding:0;margin:0 0 24px}
 .hero-art .art{width:100%;max-width:520px;margin:auto}
 .cap{font-size:11px;margin:4px 0 0}
 .lead{order:3;font-size:16px;line-height:1.95}
 .hero-grid .cta{order:4;align-self:center}
 .hero-grid .cond{order:5;margin-top:24px}
 .cond{font-size:16px;line-height:1.9}
 .cond .price{font-size:20px}
 .cta{font-size:16px;padding:16px 14px;gap:8px;min-height:66px}
 section{padding:54px 0 48px!important}
 h2{font-size:29px;line-height:1.5;margin-bottom:26px;letter-spacing:0}
 .label{font-size:13px;margin-bottom:14px;padding-left:10px}
 .ba{grid-template-columns:minmax(0,1fr);gap:0}
 .ba-card{padding:22px 20px 18px}
 .ba-tag{font-size:21px;margin-bottom:10px}
 .ba-card .art{margin-bottom:18px;max-width:370px}
 .ba-arrow{height:46px}
 .ba-arrow svg{transform:rotate(90deg);width:26px;height:26px}
 .ba-note{margin-top:24px}
 .step{grid-template-columns:38px minmax(0,1fr);gap:0 14px;padding:26px 0}
 .step .no{width:34px;height:34px;font-size:18px}
 .step h3{grid-column:2;font-size:21px;line-height:1.6}
 .step-copy{grid-column:1/-1;grid-row:2;margin-top:16px}
 .qa{grid-template-columns:minmax(0,1fr);gap:0}
 .qa li{padding:24px 0}
 .qa li.main{padding:22px 20px;margin-bottom:8px}
 .qa li.main b{font-size:23px;line-height:1.6}
 .qa b{font-size:20px}
 .plans{grid-template-columns:minmax(0,1fr);margin-top:24px}
 .plans li{padding:24px 20px}
 .plans li+li{border-left:0;border-top:1px solid var(--line)}
 .plans .name{font-size:22px;margin-bottom:18px}
 .plans .yen{font-size:24px}
 .incl{padding:20px 18px}
 .terms{padding:26px 16px 8px}
 .trow{grid-template-columns:minmax(0,1fr);gap:9px;padding:22px 0}
 .trow dt{font-size:14px}
 .trow.key{padding:22px 12px}
 .trow dd small{margin-top:12px}
 .terms h2{font-size:27px}
 .final .cond{margin-top:24px}
 footer{font-size:12px;padding-top:28px}
}
@media(max-width:359px){
 .wrap{padding:0 20px}
 h1{font-size:34px}
 h2{font-size:27px}
 .cta{font-size:14px;gap:7px;padding:16px 10px;min-height:63px}
 .cta svg{width:18px;height:18px;flex-basis:18px}
 .ba-card{padding:20px 16px 16px}
 .ba-tag{font-size:20px}
 .plans li{padding:22px 16px}
 .plans .yen{font-size:22px}
 .terms{padding:24px 12px 8px}
 .trow.key{padding-left:9px;padding-right:8px}
 .terms h2{font-size:26px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cta{transition:none}}

body{word-break:normal;overflow-wrap:break-word;line-break:strict}
.hero{background-color:#f6faf8;background-size:100% auto}
.lead-group{display:block}.lead-group+.lead-group{margin-top:10px}
.hero-grid .cond{max-width:100%;padding:4px 0 0}
.cond .ln{padding:18px 0;max-width:54em}
.hero-grid .cond .ln{max-width:60em}
.cond .ln+.ln{padding-top:18px}
.label{font-size:15px;font-weight:900;letter-spacing:.06em;border-left:0;padding:6px 12px;background:#e5f3ed;margin-bottom:18px;color:#0b5a54}
section>.wrap{position:relative}
section h2{position:relative;max-width:930px;margin-bottom:38px}
.section-everyday{background:#fff}
.section-everyday h2{max-width:820px}
.ba-card{display:grid;grid-template-rows:auto 360px minmax(0,1fr);padding:28px 28px 30px}
.ba-card.before{background:#f4f5f3;border-top:1px solid #9ba7a3;border-bottom:1px solid #d2d9d5}
.ba-card.after{background:#eff8f4;border-top:4px solid #0f766e;border-bottom:1px solid #c9ddd7}
.ba-tag{margin:0 0 18px}
.ba-card .art{align-self:center;max-height:340px;object-fit:contain;margin:0 auto 20px}
.checks,.ticks{grid-template-rows:repeat(3,minmax(0,1fr));align-content:stretch}
.checks li,.ticks li{display:flex;align-items:start;padding:18px 0}
.ba-note{border-left:2px solid #b6cfc5;padding-left:22px;max-width:52em;margin-top:28px}
section.section-trial{background:#f6faf8 url('assets/section-desktop.png') right top/100% auto no-repeat}
.section-trial h2{max-width:820px}
.steps{position:relative;border-top:1px solid #acccc0;background:rgba(255,255,255,.72);padding:0 28px}
.step{grid-template-columns:48px 205px minmax(0,1fr);column-gap:22px;padding:34px 0;position:relative}
.step .no{width:42px;height:42px;border-radius:8px;border:1px solid #93bbb0;background:#edf6f1;color:#235f50;position:relative;z-index:1}
.step:not(:last-child):before{content:'';position:absolute;top:78px;bottom:-34px;left:20px;width:1px;background:#b8d2c5}
.step.free .no{background:#d1eadd;color:#235f50;border:1px solid #93bbb0}
.step h3{font-size:22px;line-height:1.65}
.step-copy{max-width:43em}
.step p+p{margin-top:20px}
.section-trial .pl,.section-exit .pl,.section-fees .pl{max-width:52em}
.final{max-width:900px;margin-left:auto;margin-right:auto;text-align:left}
.final .cond{max-width:100%;margin-left:0;margin-right:0}
.final .cta{margin-left:0}
.section-questions{background:#fff}
.section-questions .label{background:transparent;border:1px solid #b3d0c4}
.qa{column-gap:56px}
.qa li{padding:30px 0}
.qa li.main{position:relative;background:#edf7f2;border:0;border-left:6px solid #91c8b5;padding:34px 36px;margin-bottom:8px}
.qa li.main b{font-size:28px;line-height:1.6;max-width:32em}
.qa b{font-size:22px;line-height:1.65}
.qa .a{max-width:42em}
section.section-fees{background:#f6faf8 url('assets/section-desktop.png') right top/100% auto no-repeat}
.section-fees .plans{border:0;gap:18px;margin-top:32px;align-items:stretch}
.section-fees .plans li{padding:26px 22px 30px;border:1px solid #bdd5cb;background:#fff}
.section-fees .plans li:first-child{border:2px solid #74ad99;background:#e2f3eb}
.section-fees .plans .name{font-size:22px;min-height:3.2em;border-bottom:1px solid #b8cfc3;padding-bottom:14px;margin-bottom:18px}
.section-fees .plans .yen{font-size:28px;line-height:1.6}
.plans dt{font-size:16px;font-weight:700;line-height:1.7;color:#43544f;margin-top:22px}
.plans dd{line-height:1.95;margin-top:5px}
.incl{background:#fff;border-left:4px solid #91c8b5;max-width:52em;padding:24px 28px;margin-top:30px}
.section-exit{background:#fff}
.section-exit .label{background:transparent;border:1px solid #b3d0c4}
.section-exit .plans{display:block;border-top:2px solid #477865;border-bottom:0;margin-top:32px}
.section-exit .plans li{display:grid;grid-template-columns:210px minmax(0,1fr);gap:28px;padding:32px 24px;border:0;border-bottom:1px solid #c5d7ce;background:#fff}
.section-exit .plans li:nth-child(odd){background:#f4f8f5}
.section-exit .plans .name{font-size:24px;line-height:1.7;margin:0;padding:0 20px 0 0;border-right:1px solid #bdd1c6;align-self:stretch}
.section-exit .plans dl{display:grid;grid-template-columns:80px minmax(0,1fr);gap:18px 20px;align-content:start}
.section-exit .plans dt,.section-exit .plans dd{margin:0}
.section-exit .plans dt{padding:3px 0;color:#43544f}
.section-exit .plans dd{padding:3px 0}
.section-terms{background:#f6faf8}
.terms{padding:42px 38px 20px;border-top:4px solid #477865;border-right:1px solid #d6e4dc;border-bottom:1px solid #d6e4dc;border-left:1px solid #d6e4dc;background:#fff}
.terms>.label{background:#e5f3ed}
.terms .sum{max-width:50em;line-height:1.95;margin-bottom:32px}
.trow{grid-template-columns:165px minmax(0,1fr);gap:30px;padding:28px 14px}
.trow dt{font-family:var(--round);font-size:17px;font-weight:700;line-height:1.8;padding-top:2px}
.trow dd{max-width:43em;font-size:17px;line-height:1.85}
.trow dd small{font-size:16px;line-height:2;max-width:42em;margin-top:18px}
.trow dd .c+.c{margin-top:9px}
.trow.key{border-left:3px solid #74ad99;padding-left:16px}
.trow.key:nth-child(1),.trow.key:nth-child(4){background:#eff8f3}
.trow.key:nth-child(5),.trow.key:nth-child(8),.trow.key:nth-child(9){background:#f7faf8}
.trow.key dt{color:#0b5a54}
footer p{max-width:68em}footer p+p{margin-top:14px}
@media(min-width:860px){
 .hero-art{padding-top:34px}
 .hero-grid .cond{max-width:1060px}
 .hero-grid .cta{max-width:420px}
}
@media(max-width:859px){
 .wrap{padding:0 24px}
 .hero{background-image:none;padding-bottom:30px}
 .pr{font-size:12px;padding:10px 0 14px;line-height:1.75}
 .eyebrow{font-size:13px;padding:0 0 9px;line-height:1.6}
 h1{font-size:32px;line-height:1.27;margin-bottom:10px;letter-spacing:0}
 .hero-art{padding:0;margin:0 0 14px;align-self:stretch}
 .hero-art .art{width:218px;max-width:100%;margin:auto;border-radius:10px}
 .cap{font-size:12px;line-height:1.65;margin-top:6px;text-align:left}
 .hero-art .cap{text-align:center}
 .lead{font-size:16px;line-height:1.75;max-width:none}
 .lead-group+.lead-group{margin-top:6px}
 .hero-grid .cta{margin-top:18px}
 .hero-grid .cond{margin-top:24px;padding:0}
 .cond .ln{padding:18px 0;max-width:none}
 .cond .price{font-size:20px}
 section{padding:52px 0 48px!important}
 .label{font-size:14px;padding:5px 9px;margin-bottom:17px;letter-spacing:.035em}
 section h2{font-size:29px;line-height:1.5;margin-bottom:26px;max-width:none}
 .ba-card{display:block;padding:22px 20px}
 .ba-card .art{max-height:none;max-width:360px;width:100%;margin:0 auto 18px}
 .ba-tag{font-size:21px;margin-bottom:14px}
 .checks,.ticks{display:grid;grid-template-rows:none}
 .checks li,.ticks li{display:block;padding:17px 0}
 .ba-note{padding-left:15px;border-left-width:2px;margin-top:24px;font-size:16px}
 section.section-trial{background-image:url('assets/section-mobile.png');background-size:100% auto}
 .steps{padding:0 16px}
 .step{grid-template-columns:38px minmax(0,1fr);gap:0 14px;padding:28px 0}
 .step .no{width:34px;height:34px;font-size:18px;border-radius:7px}
 .step:not(:last-child):before{display:none}
 .step h3{font-size:21px;line-height:1.65}
 .step-copy{margin-top:18px}
 .step p+p{margin-top:20px}
 .section-trial .final,.section-terms .final{padding:0}
 .qa{gap:0}.qa li{padding:26px 0}
 .qa b{font-size:21px}
 .qa li.main{padding:25px 20px;border-left-width:4px}
 .qa li.main b{font-size:24px}
 section.section-fees{background-image:url('assets/section-mobile.png');background-size:100% auto}
 .section-fees .plans{gap:16px;margin-top:26px}
 .section-fees .plans li{padding:24px 20px}
 .section-fees .plans .name{min-height:0;font-size:22px;padding-bottom:14px;margin-bottom:18px}
 .section-fees .plans .yen{font-size:26px}
 .plans dt{font-size:16px;margin-top:20px}
 .incl{padding:22px 18px}
 .section-exit .plans li{display:block;padding:26px 18px}
 .section-exit .plans .name{font-size:23px;border-right:0;border-bottom:1px solid #bdd1c6;padding:0 0 16px;margin-bottom:20px}
 .section-exit .plans dl{grid-template-columns:60px minmax(0,1fr);gap:17px 13px}
 .section-exit .plans dt,.section-exit .plans dd{padding:0}
 .terms{padding:28px 16px 10px}
 .terms .sum{margin-bottom:26px;font-size:16px}
 .terms h2{font-size:27px}
 .trow{grid-template-columns:minmax(0,1fr);gap:15px;padding:26px 0}
 .trow dt{font-size:16px;padding:0;border-bottom:1px solid #dbe5df;padding-bottom:10px;width:100%}
 .trow dd{font-size:17px;line-height:1.85}
 .trow dd small{font-size:16px;line-height:2;margin-top:18px}
 .trow.key{padding:25px 12px}
 .trow.key dt{border-bottom-color:#c9ddd2}
 .final{text-align:left;margin-top:30px}
 .final .cta{margin-top:18px}
 footer{font-size:12px;line-height:1.9;padding-top:30px}
}
@media(max-width:359px){
 .wrap{padding:0 20px}
 h1{font-size:29px;line-height:1.28}
 .hero-art .art{width:195px}
 .hero-art{margin-bottom:12px}
 .lead{line-height:1.75}
 .pr{padding-bottom:12px}
 section h2{font-size:27px}
 .ba-card{padding:20px 16px}
 .ba-tag{font-size:20px}
 .steps{padding:0 12px}
 .step h3{font-size:20px}
 .section-fees .plans li{padding:22px 16px}
 .section-fees .plans .yen{font-size:23px}
 .section-exit .plans li{padding:24px 12px}
 .section-exit .plans dl{grid-template-columns:54px minmax(0,1fr);gap:17px 10px}
 .section-exit .plans .name{font-size:22px}
 .terms{padding:25px 12px 10px}
 .trow.key{padding-left:9px;padding-right:8px}
 .trow dd{font-size:16px}
 .terms h2{font-size:26px}
}

.ba-card .art{mask-image:linear-gradient(to right,transparent,#000 3%,#000 97%,transparent),linear-gradient(to bottom,transparent,#000 3%,#000 97%,transparent);mask-composite:intersect}

.ba-card.before{border-top:4px solid #bac4be}

section.section-trial,section.section-fees{background:#f6faf8}
section.section-trial:before,section.section-fees:before{content:'';position:absolute;top:0;right:0;left:0;height:232px;background:url('assets/section-desktop.png') right top/100% auto no-repeat;mask-image:linear-gradient(#000 80%,transparent);pointer-events:none}
.steps{background:#fff}
@media(max-width:859px){
 section.section-trial:before,section.section-fees:before{left:auto;width:80px;height:92px;background-image:url('assets/section-mobile.png');background-size:390px auto;background-position:right bottom;mask-image:linear-gradient(to right,transparent,#000)}
}

/* v3: headings, reading surfaces and marginal geometry form one page. */
.section-heading{position:relative;padding:34px 40px 38px;isolation:isolate}
.section-heading h2{margin:0;max-width:780px}
.section-heading>.label{background:transparent;border:0;padding:0;color:#315c51;margin-bottom:20px}
.section-heading .pl{margin:20px 0 0}
.section-questions .section-heading{background:#e6f4ee url('assets/section-desktop.png') right center/100% auto no-repeat;border-top:1px solid #a5cbbb;padding-right:300px;min-height:236px}
.section-questions .qa{margin:0;gap:0 48px;padding:0 40px 12px;border-bottom:1px solid #bdd5c9;background:#fff}
.section-questions .qa li.main{margin:0 -40px 12px;padding:30px 40px 34px;border:0;border-bottom:1px solid #a5cbbb;background:#eef7f1}
.section-questions .qa li.main b{max-width:32em;font-size:28px;line-height:1.6}
.section-questions>.wrap>.pl{margin-left:40px;max-width:56em}
section.section-fees{background:#edf5ef}
section.section-fees:before{display:none}
.section-fees .section-heading{background:#f6faf8 url('assets/fees-arch.png') right center/cover no-repeat;min-height:270px;padding:44px 48px;border-bottom:8px solid #b6dfd0}
.section-fees .section-heading h2{max-width:680px}
.fee-body{background:#fff;padding:0 48px 38px}
.section-fees .plans{margin:0;gap:0;border:0;border-bottom:1px solid #b1cec0}
.section-fees .plans li{padding:32px 24px 30px;border:0;border-left:1px solid #c9ddd1;background:transparent}
.section-fees .plans li:first-child{padding-left:24px;border:0;background:#e8f5ed}
.section-fees .plans li:last-child{padding-right:0}
.section-fees .plans .name{border:0;padding:0;margin-bottom:24px;min-height:0;color:#255c4b}
.section-fees .plans .yen{font-size:27px}
.section-fees .incl{max-width:none;margin-top:32px;border:0;background:#eff6f1;padding:24px 28px}
.fee-body>.pl{max-width:54em;margin-top:26px}
.section-exit .section-heading{background:#edf5ef;border-top:1px solid #adcdbb;border-bottom:1px solid #adcdbb;padding:38px 40px;min-height:208px}
.section-exit .section-heading:after{content:'';position:absolute;right:0;top:0;bottom:0;width:215px;background:url('assets/frame-desktop.png') right center/auto 100% no-repeat;z-index:-1}
.section-exit .section-heading h2{max-width:790px}
.section-exit .plans{margin-top:0;border-top:0;background:#f3f8f4;padding:0 36px}
.section-exit .plans li{grid-template-columns:200px minmax(0,1fr);gap:34px;padding:34px 0;border:0;border-bottom:1px solid #b8cfc1;background:transparent}
.section-exit .plans li:nth-child(odd){background:transparent}
.section-exit .plans .name{border-right:0;position:relative;font-size:24px;padding-right:22px;color:#315e4c}
.section-exit .plans .name:after{content:'';display:block;width:54px;height:4px;background:#afd5bf;margin-top:18px}
.section-exit .plans li:last-child .name:after{background:#c6d4cb}
.section-exit .plans dl{padding-left:28px;border-left:1px solid #b7cfc0;grid-template-columns:80px minmax(0,1fr);gap:18px 22px}
.section-exit>.wrap>.pl{margin-left:36px;max-width:56em;margin-top:28px}
.section-exit>.wrap>.pl:first-of-type{margin-top:32px}
.topic-break{content:'';display:block;margin-bottom:16px}
.section-terms{background:#eaf2ed}
.terms{padding:0 0 8px;border:0;background:#fff;border-right:12px solid #cee5d7}
.terms-heading{padding:34px 38px 32px;background:#e6f4eb url('assets/terms-frame-mobile.png') right top/100% auto no-repeat;border-bottom:1px solid #afd4be}
.terms-heading>.label{padding:0;border:0;background:transparent;color:#315e4c}
.terms-heading h2{margin:0;font-size:40px}
.terms .sum{margin:30px 38px 32px;max-width:52em}
.terms>dl{margin:0 38px}
.trow,.trow.key{grid-template-columns:185px minmax(0,1fr);gap:0;padding:0;border-left:0;border-top:1px solid #bfd4c7;background:transparent!important}
.trow dt{padding:27px 20px;font-size:16px;background:#f4f7f4;color:#44594f}
.trow.key dt{background:#e4f2e8;color:#245c46}
.trow dd{padding:26px 0 32px 32px;max-width:none;font-size:17px;line-height:1.85}
.trow dd .c{max-width:41em}
.trow dd small{line-height:1.95;margin-top:20px;font-size:16px;max-width:41em}
.trow dd .c+.c{margin-top:8px}
.section-trial .final,.section-terms .final{max-width:none;margin-left:0;margin-right:0;padding:30px 40px;background:#edf5ef;border-top:1px solid #aac9b7;border-bottom:1px solid #c3d9ca}
.section-trial .final .cta,.section-terms .final .cta{margin-top:0}
.hero-grid .cond{max-width:none}
.cond{max-width:58em}
.cond .ln,.hero-grid .cond .ln{max-width:58em;padding:20px 0;line-height:1.85}
.cond .ln:first-child{display:grid;grid-template-columns:1.05fr 1fr 1.3fr;gap:24px;padding:22px 0}
.condition-group{display:block;min-width:0}
.condition-group+.condition-group{border-left:1px solid #bdd2c4;padding-left:24px}
.condition-group .price{font-size:20px}
.paid{font-size:17px;color:#0b5a54;font-weight:700}
.contract{font-weight:700;color:#264c3c}
.before .checks strong{font-weight:700;color:#3e5048}
.checks li,.ticks li{min-height:0}
.step .no,.step.free .no{border:0;border-radius:0;box-shadow:none;background:transparent;color:#426c5b;font-size:30px;line-height:1}
.step{border-bottom-color:#b6cfc0}
.step h3{padding-top:3px}
.step:not(:last-child):before{top:83px;bottom:-27px;background:#d0dfd4}
@media(min-width:860px){
 .ba-card{grid-template-rows:54px 360px minmax(0,1fr)}
 .checks,.ticks{grid-template-rows:repeat(3,minmax(0,1fr));align-self:stretch}
 .checks li,.ticks li{padding:20px 0}
}
@media(max-width:859px){
 .section-heading{padding:28px 22px 30px}
 .section-heading>.label{font-size:14px;margin-bottom:16px}
 .section-heading h2{font-size:29px;line-height:1.5;margin-bottom:0}
 .section-questions .section-heading{padding:28px 22px 32px;min-height:0;background-image:url('assets/section-desktop.png');background-position:right center;background-size:auto 100%}
 .section-questions .qa{padding:0 20px 0;gap:0}
 .section-questions .qa li.main{padding:28px 20px;margin:0 -20px 8px;background:#eef7f1}
 .section-questions .qa li.main b{font-size:24px;line-height:1.6}
 .section-questions>.wrap>.pl{margin-left:0}
 .section-fees .section-heading{min-height:240px;padding:30px 22px 32px;background-size:auto 100%;background-position:63% center;border-bottom-width:6px}
 .section-fees .section-heading h2{max-width:260px}
 .section-fees .section-heading .pl{max-width:none}
 .fee-body{padding:0 20px 28px}
 .section-fees .plans{margin:0}
 .section-fees .plans li,.section-fees .plans li:first-child,.section-fees .plans li:last-child{border:0;border-bottom:1px solid #c1d7c7;padding:26px 0;background:transparent}
 .section-fees .plans li:first-child{background:#e8f5ed;margin:0 -20px;padding:28px 20px}
 .section-fees .plans .name{font-size:22px;padding:0;margin-bottom:20px}
 .section-fees .plans .yen{font-size:26px}
 .section-fees .incl{margin:26px -20px 0;padding:22px 20px}
 .fee-body>.pl{margin-top:24px}
 .section-exit .section-heading{padding:28px 22px 32px;min-height:0;background:#e4f1e7}
 .section-exit .section-heading:after{width:70px;background-size:auto 100%;opacity:.45}
 .section-exit .plans{padding:0 20px;margin:0}
 .section-exit .plans li{padding:28px 0;display:block}
 .section-exit .plans .name{font-size:23px;border:0;padding:0 0 20px;margin:0}
 .section-exit .plans .name:after{height:3px;width:42px;margin-top:12px}
 .section-exit .plans dl{padding-left:0;border-left:0;grid-template-columns:60px minmax(0,1fr);gap:18px 13px}
 .section-exit .plans dt{font-size:16px}
 .section-exit>.wrap>.pl{margin-left:0;max-width:none}
 .terms{border-right:7px solid #cee5d7;padding:0 0 6px}
 .terms-heading{padding:28px 20px 32px;background-size:100% auto;min-height:176px}
 .terms-heading h2{font-size:28px;line-height:1.5;max-width:240px}
 .terms .sum{margin:26px 18px 30px}
 .terms>dl{margin:0 18px}
 .trow,.trow.key{display:block;padding:0;border-top:0;background:transparent!important;margin-top:16px}
 .trow dt,.trow.key dt{border:0;border-top:1px solid #bfd4c7;padding:13px 12px;width:100%;font-size:16px}
 .trow dd{padding:20px 0 26px;font-size:17px;line-height:1.85}
 .trow dd small{line-height:1.95;margin-top:18px;font-size:16px}
 .topic-break{margin-bottom:16px}
 .section-trial .final,.section-terms .final{padding:26px 0;background:transparent;border-top:2px solid #aac9b7;border-bottom:0}
 .cond .ln,.hero-grid .cond .ln{padding:18px 0}
 .cond .ln:first-child{display:block;padding:18px 0}
 .condition-group+.condition-group{padding:0;border-left:0;margin-top:15px}
 .paid{font-size:17px}
 .condition-group .price{font-size:20px}
 .step .no,.step.free .no{font-size:27px;width:34px;height:34px}
 .step h3{padding-top:0}
 section.section-trial:before{left:0;right:0;width:100%;height:232px;background-image:url('assets/section-desktop.png');background-position:right top;background-size:auto 100%;mask-image:linear-gradient(#000 80%,transparent)}
}
@media(max-width:359px){
 .section-heading h2{font-size:27px}
 .section-questions .section-heading,.section-fees .section-heading,.section-exit .section-heading{padding-left:18px;padding-right:18px}
 .section-questions .qa{padding-left:16px;padding-right:16px}
 .section-questions .qa li.main{margin-left:-16px;margin-right:-16px;padding:25px 16px}
 .section-questions .qa li.main b{font-size:23px}
 .fee-body{padding-left:16px;padding-right:16px}
 .section-fees .plans li:first-child{margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:16px}
 .section-fees .incl{margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:16px}
 .section-fees .plans .yen{font-size:23px}
 .section-exit .plans{padding:0 16px}
 .section-exit .plans dl{grid-template-columns:54px minmax(0,1fr);gap:18px 10px}
 .section-exit .plans .name{font-size:22px}
 .terms-heading{padding-left:16px;padding-right:16px}
 .terms-heading h2{font-size:26px}
 .terms .sum{margin-left:12px;margin-right:12px}
 .terms>dl{margin-left:12px;margin-right:12px}
 .trow dt,.trow.key dt{padding-left:10px;padding-right:10px}
 .trow dd{font-size:16px}
 .paid{font-size:16px}
}
.detail-group{display:block}
.detail-group+.detail-group{margin-top:18px}
.detail-group,.condition-group,.cond .ln,.qa .a,.step p,.pl,.sum,.trow dd small,.checks li>span,.ticks li>span{text-wrap:pretty}

/* The reading paper continues through conclusions, explanations and sources. */
.exit-notes{margin:0;padding:0 40px 34px;background:#fbfdfb url('assets/reading-paper.png') right top/100% auto no-repeat;border-bottom:1px solid #bfd5c7}
.exit-notes .exit-note{max-width:none;margin:0;padding:30px 40px 30px 0;line-height:1.95}
.exit-notes .exit-note+.exit-note{border-top:1px solid #c4d9cc}
.exit-note .note-lead{font-family:var(--round);font-size:21px;line-height:1.75;color:#245c46;max-width:37em;padding:0 0 22px;margin:0;border-bottom:1px solid #b7d4c1}
.exit-note .note-detail{max-width:54em;margin-top:0;padding-top:24px}
.exit-note .note-detail+.note-detail{margin-top:24px;border-top:1px solid #e1ebe4}
.exit-note .note-check{padding-top:20px;color:#315e4c;font-weight:700}
.exit-note-1>.detail-group:first-child{color:#245440;font-weight:700;font-size:18px;line-height:1.9}
.exit-notes .source-note{color:#4c6256;padding-top:24px;padding-bottom:0;font-size:16px;max-width:56em}
.exit-note-2 .detail-group+.detail-group{margin-top:12px;color:#4c6256}
.terms{border-right:0;background:#fbfdfb url('assets/reading-paper.png') right top/100% auto repeat-y;padding-bottom:0}
.terms-heading{background-size:100% auto;border-bottom:1px solid #afd4be}
.terms>dl{margin:0 40px}
.terms .sum{margin-left:40px;margin-right:40px}
.trow,.trow.key{grid-template-columns:180px minmax(0,1fr);background:transparent!important}
.trow dt{background:#f0f5ef;padding:30px 20px;border-right:1px solid #d6e4d9}
.trow.key dt{background:#e4f0e5}
.trow dd{padding:0 0 32px 32px}
.term-answer{padding:26px 24px 22px 0;max-width:43em;border-bottom:1px solid #d6e4d9;color:#284c3b}
.trow dd .term-detail{padding-right:28px;max-width:43em;margin-top:22px;color:#43574c;font-size:16px;line-height:1.95}
.term-detail .detail-group+.detail-group{margin-top:22px;padding-top:20px;border-top:1px solid #e3ebe4}
.term-priority dt{color:#194f3c!important;background:#d8ecdf!important}
.term-priority .term-answer{margin:0 -1px 0 -32px;padding:26px 30px 26px 32px;background:#e7f3e9 url('assets/reading-paper.png') right center/100% auto no-repeat;border-bottom:1px solid #a9cdb7}
.term-priority .term-answer>.c{font-family:var(--round);font-size:21px;font-weight:900;line-height:1.8;color:#245c46}
.term-priority[data-topic="休会"] .term-answer>.c:first-child{font-size:25px}
.term-priority[data-topic="休会"] .term-answer>.c:last-child{font-family:inherit;font-size:17px;font-weight:700}
.term-priority[data-topic="キャンペーンと違約金"] .term-answer>.c:first-child{font-family:inherit;font-size:17px;font-weight:700}
.term-money .term-answer>.c:first-child{font-family:var(--round);font-size:20px;font-weight:900;line-height:1.85}
.term-detail .nb{white-space:nowrap}
.exit-notes,.terms{background-image:url('assets/reading-margin.png');background-size:100% auto;background-repeat:repeat-y}
.terms-heading{background-image:linear-gradient(#e2f0e680,#e2f0e680),url('assets/reading-paper.png')}
.term-priority .term-answer{max-width:none;background-image:linear-gradient(#e2f0e680,#e2f0e680),url('assets/reading-paper.png')}
.exit-note .note-lead{font-weight:900}
.exit-note strong{color:#315943;font-weight:700}
.section-trial .final,.section-terms .final{padding-left:40px;padding-right:40px;max-width:none}
.cond .ln,.hero-grid .cond .ln{max-width:62em}
.cond .ln:first-child{grid-template-columns:1fr 1.05fr 1.25fr;gap:28px}
.condition-group+.condition-group{padding-left:28px}
.condition-group .price,.paid{font-family:var(--round);font-size:19px;font-weight:900;line-height:1.85;color:#245c46}
.condition-group .price{margin-right:0}
.condition-group strong:not(.paid){font-size:17px;color:#294e3e}
.cond .ln:last-of-type{max-width:62em;line-height:1.95}
.contract{color:#245c46;font-weight:700}
.step{grid-template-columns:52px 205px minmax(0,1fr);column-gap:22px;padding-top:36px;padding-bottom:36px}
.step .no,.step.free .no{font-size:34px;font-weight:900;align-self:start;width:46px;height:46px;color:#315e4c;border-bottom:2px solid #b5cfbd;padding-bottom:6px}
.step h3{font-size:23px;padding-top:3px}
.step:not(:last-child):before{left:22px;top:91px;bottom:-27px}
@media(min-width:860px){
 .ba-card{padding-bottom:24px;grid-template-rows:54px 340px minmax(0,1fr)}
 .trow dt{padding-left:16px;padding-right:16px}
 .ba-card .art{max-height:320px;margin-bottom:16px}
 .checks li,.ticks li{padding:18px 0;line-height:1.85}
 .hero-art .cap{text-align:right;margin-right:-18px}
 .cond .ln:last-of-type{text-wrap:pretty}
}
@media(max-width:859px){
 .exit-notes{padding:0 20px 28px;background-size:100% auto}
 .exit-notes .exit-note{padding:26px 8px 28px 0}
 .exit-note .note-lead{font-size:20px;padding-bottom:22px}
 .exit-note .note-detail{padding-top:22px}
 .exit-note .note-detail+.note-detail{margin-top:22px}
 .exit-note-1>.detail-group:first-child{font-size:17px}
 .exit-notes .source-note{padding-top:22px;padding-bottom:0}
 .terms{background-size:100% auto}
 .terms-heading{padding:28px 20px 32px;background-size:100% auto;min-height:176px}
 .terms .sum{margin-left:20px;margin-right:20px}
 .terms>dl{margin:0 20px}
 .trow,.trow.key{margin-top:20px}
 .trow dt,.trow.key dt{padding:14px 12px;border-right:0}
 .trow dd{padding:0 0 26px;font-size:17px}
 .term-answer{padding:20px 4px 20px 0}
 .trow dd .term-detail{padding-right:4px;margin-top:22px;max-width:none}
 .term-priority .term-answer{margin:0 -20px;padding:22px 24px 24px 20px;background-size:100% auto}
 .term-priority .term-answer>.c{font-size:20px}
 .term-priority[data-topic="休会"] .term-answer>.c:first-child{font-size:23px}
 .term-priority[data-topic="休会"] .term-answer>.c:last-child,.term-priority[data-topic="キャンペーンと違約金"] .term-answer>.c:first-child{font-size:17px}
 .term-money .term-answer>.c:first-child{font-size:19px}
 .term-detail .detail-group+.detail-group{margin-top:20px;padding-top:18px}
 .section-trial .final,.section-terms .final{padding:26px 0}
 .cond .ln:first-child{display:block}
 .condition-group+.condition-group{padding-left:0;margin-top:18px}
 .condition-group .price,.paid{font-size:18px}
 .step{grid-template-columns:40px minmax(0,1fr);column-gap:13px;padding:30px 0}
 .step .no,.step.free .no{font-size:29px;width:36px;height:39px;padding-bottom:5px}
 .step h3{font-size:22px;padding-top:0;line-height:1.65}
 .step-copy{margin-top:18px}
 .hero-art .cap{max-width:none;margin-left:0;margin-right:0;text-align:center}
 .cap{text-wrap:pretty}
}
@media(max-width:359px){
 .exit-notes{padding-left:16px;padding-right:16px}
 .terms-heading{padding-left:16px;padding-right:16px}
 .terms .sum{margin-left:16px;margin-right:16px}
 .terms>dl{margin:0 16px}
 .trow dt,.trow.key dt{padding-left:10px;padding-right:10px}
 .trow dd{font-size:16px}
 .term-priority .term-answer{margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:20px}
 .term-priority .term-answer>.c{font-size:19px}
 .term-priority[data-topic="休会"] .term-answer>.c:first-child{font-size:22px}
 .term-money .term-answer>.c:first-child{font-size:18px}
 .condition-group .price,.paid{font-size:17px}
 .step .no,.step.free .no{font-size:28px}
 .step h3{font-size:21px}
}
