:root{
  --paper:#FBF8F0;--paper-2:#F1ECDF;--ink:#2E3328;--ink-sub:#5B6152;--muted:#77736A;
  --line:#ECE5D3;--line-2:#E4DDCB;--input-line:#DCD5C3;
  --leaf:#8DB362;--leaf-strong:#6E9A45;--leaf-deep:#4F7A2E;--leaf-tint:#EEF4E4;--leaf-tint-2:#EAF1DD;--leaf-line:#CFE0B8;
  --cta:#EB5E40;--cta-hover:#E2512F;--cta-shadow:#C2462D;--yellow:#FDE897;--error:#C9362A;
  --round:"M PLUS Rounded 1c",sans-serif;--body:"Zen Kaku Gothic New",sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);line-height:1.7;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--leaf-deep)}
a:hover{color:var(--ink)}
button,input,select{font:inherit;color:inherit}
h1,h2,p,ul,ol,figure,blockquote{margin:0}
ul,ol{list-style:none;padding:0}
[hidden]{display:none!important}

.container{max-width:1160px;margin:0 auto;padding:0 20px}
.section{padding:clamp(64px,8vw,112px) 20px}
.section--sm{padding:clamp(56px,7vw,96px) 20px}
.section--white{background:#fff}
.section--tint{background:var(--leaf-tint)}
.inner{max-width:1040px;margin:0 auto;display:flex;flex-direction:column;gap:clamp(36px,5vw,56px)}
.inner--wide{max-width:1080px}
.inner--narrow{max-width:960px;gap:clamp(32px,4vw,48px)}
.sec-head{display:flex;flex-direction:column;gap:18px;align-items:center;text-align:center}
.h2{font:800 clamp(24px,3.2vw,36px)/1.45 var(--round);text-align:center;text-wrap:balance}
.lead{max-width:680px;font:500 16px/2 var(--body);color:var(--ink-sub);text-wrap:pretty}
.c-leaf{color:var(--leaf-deep)}
.logo{display:block;width:118px;height:34px;background:var(--cta);-webkit-mask:url(../img/logo.webp) left center/contain no-repeat;mask:url(../img/logo.webp) left center/contain no-repeat}

/* ヘッダー */
.site-header{position:sticky;top:0;z-index:20;background:rgba(251,248,240,.94);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.site-header .container{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:10px;padding-bottom:10px}

/* ボタン */
.btn-cta{display:flex;align-items:center;justify-content:center;gap:10px;border:0;cursor:pointer;background:var(--cta);color:#fff;border-radius:999px;font-family:var(--round);font-weight:800;text-decoration:none;box-shadow:0 5px 0 var(--cta-shadow);transition:background .15s}
.btn-cta:hover{background:var(--cta-hover);color:#fff}
.btn-cta:active{transform:translateY(3px);box-shadow:0 2px 0 var(--cta-shadow)}
.btn-cta:disabled{opacity:.7;cursor:wait}
.btn-cta svg{flex:none}
.btn-sm{font-size:14px;font-weight:700;line-height:1;padding:11px 14px 11px 18px;gap:6px;box-shadow:0 3px 0 var(--cta-shadow)}
.btn-sm:active{transform:translateY(2px);box-shadow:0 1px 0 var(--cta-shadow)}
.btn-lg{width:100%;padding:17px 24px;font-size:clamp(18px,2vw,20px);line-height:1;letter-spacing:.04em;margin-bottom:5px}
.free{background:#fff;color:var(--cta-shadow);font:800 13px/1 var(--round);padding:6px 9px;border-radius:999px;letter-spacing:0}

/* FV */
.fv{position:relative;overflow:hidden}
.fv::before{content:"";position:absolute;width:640px;height:640px;border-radius:50%;background:var(--leaf-tint-2);top:-280px;left:-240px}
.fv::after{content:"";position:absolute;width:420px;height:420px;border-radius:50%;background:#FBF0C9;bottom:-240px;left:30%}
.fv-inner{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:clamp(36px,4vw,56px);align-items:center;padding-top:clamp(28px,5vw,64px);padding-bottom:clamp(48px,6vw,88px)}
.fv-main{flex:1 1 520px;min-width:0;display:flex;flex-direction:column;gap:clamp(28px,3vw,40px)}
.fv-copy{display:flex;flex-direction:column;gap:16px}
.tags{display:flex;flex-wrap:wrap;gap:8px}
.tag{font:700 13px/1 var(--round);padding:7px 12px;border-radius:999px}
.tag--cta{background:var(--cta);color:#fff}
.tag--outline{background:#fff;border:1.5px solid #B9D59C;color:var(--leaf-deep);padding:5.5px 12px}
.fv-hook{font:700 clamp(15px,1.6vw,18px)/1.7 var(--body);color:var(--leaf-deep)}
.fv-title{font-family:var(--round);font-weight:800;line-height:1.2}
.fv-title-sm{display:block;font-size:clamp(24px,3.2vw,36px)}
.fv-title-lg{font-size:clamp(30px,5.2vw,58px);background:linear-gradient(transparent 66%,var(--yellow) 66%)}
.fv-sub{font:500 clamp(15px,1.5vw,17px)/1.8 var(--body);color:var(--ink-sub)}
.fv-visual{display:flex;flex-wrap:wrap;align-items:center;gap:32px clamp(28px,4vw,44px)}
.points{flex:1 1 240px;min-width:0;display:flex;flex-direction:column;gap:14px}
.points-head{display:flex;align-items:center;gap:10px;font:800 15px/1.4 var(--round);color:var(--leaf-deep)}
.points-head::after{content:"";flex:1;height:1.5px;background:var(--leaf-line)}
.points ul{display:flex;flex-direction:column;gap:12px}
.points li{display:flex;gap:10px;align-items:flex-start;font:700 15px/1.6 var(--body)}
.dot-check{flex:none;width:22px;height:22px;border-radius:50%;background:var(--leaf-strong);display:grid;place-items:center;margin-top:2px}
.dot-check--lg{width:28px;height:28px;margin-top:0}

/* 冊子モック */
.booklet{flex:none;position:relative;font-size:15px;width:17.6em;height:22em;margin:0 auto}
.booklet--sm{font-size:13px;margin:0}
.booklet-page{position:absolute;top:.4em;left:2.6em;width:15em;height:21.2em;background:#fff;border-radius:.3em;box-shadow:0 .8em 1.6em -.8em rgba(60,70,30,.45);transform:rotate(6deg);transform-origin:bottom left;overflow:hidden;padding:1.2em .8em}
.booklet-page img{width:100%}
.booklet-cover{position:absolute;left:0;top:.4em;width:15em;height:21.2em;background:var(--leaf);border-radius:.2em .55em .55em .2em;box-shadow:0 1.2em 2em -1em rgba(50,70,20,.6),inset .35em 0 0 rgba(0,0,0,.08);overflow:hidden}
.booklet-text{position:absolute;left:0;right:0;top:1.2em;display:flex;flex-direction:column;align-items:center;gap:.6em;padding:0 .7em;text-align:center}
.booklet-pill{background:#fff;color:var(--leaf-deep);border-radius:999px;padding:.4em .8em;font:700 .58em/1.3 var(--round);white-space:nowrap}
.booklet-title{font:800 1.3em/1.25 var(--round);color:var(--ink)}
.booklet-sub{font:500 .52em/1.6 var(--body);color:var(--ink)}
.booklet-art{position:absolute;left:50%;bottom:0;width:11em;aspect-ratio:.924;transform:translateX(-50%);-webkit-mask-image:linear-gradient(180deg,transparent,#000 16%);mask-image:linear-gradient(180deg,transparent,#000 16%)}
.booklet-art-in{position:absolute;inset:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent);mask-image:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent)}
.booklet-art img{position:absolute;width:256%;max-width:none;left:-156%;top:-33.3%}

/* フォーム */
.form-card{flex:1 1 360px;max-width:460px;margin:0 auto;background:#fff;border-radius:24px;border:1px solid var(--line);box-shadow:0 30px 60px -30px rgba(70,80,40,.35)}
.form-body{padding:clamp(22px,3vw,32px);display:flex;flex-direction:column;gap:16px}
.form-head{display:flex;flex-direction:column;gap:6px;text-align:center;padding-bottom:4px}
.form-title{font:800 clamp(19px,2vw,22px)/1.4 var(--round)}
.form-title span{color:var(--cta)}
.form-sub{font:500 13px/1.6 var(--body);color:var(--ink-sub)}
.field{display:flex;flex-direction:column;gap:6px}
.field>label{display:flex;align-items:center;gap:8px;font:700 14px/1.4 var(--body)}
.req{background:#FDEBE6;color:#B03A22;font:700 11px/1 var(--body);padding:4px 6px;border-radius:4px}
.input{width:100%;height:48px;padding:0 14px;border-radius:10px;border:1.5px solid var(--input-line);background:#FDFCF8;font:500 16px/1 var(--body);color:var(--ink);outline:none;transition:border-color .15s,box-shadow .15s}
.input::placeholder{color:#A8A493}
.input:focus{border-color:var(--leaf-strong);box-shadow:0 0 0 3px #E3EED3;background:#fff}
.input.is-error{border-color:var(--error)}
.select-wrap{position:relative}
.select-wrap .input{padding-right:40px;-webkit-appearance:none;appearance:none}
.select-wrap::after{content:"";position:absolute;right:18px;top:50%;width:8px;height:8px;border-right:2px solid var(--leaf-strong);border-bottom:2px solid var(--leaf-strong);transform:translateY(-70%) rotate(45deg);pointer-events:none}
.err{font:700 12px/1.4 var(--body);color:var(--error)}
.err:empty{display:none}
.agree{display:flex;flex-direction:column;align-items:center;gap:6px;padding-top:4px}
.agree label{display:flex;align-items:center;gap:10px;cursor:pointer;font:500 14px/1.5 var(--body)}
.agree input{width:20px;height:20px;margin:0;accent-color:var(--cta);cursor:pointer}
.agree a{text-decoration:underline}
.form-note{font:500 12px/1.7 var(--body);color:var(--ink-sub);text-align:center}
.form-error{font:700 13px/1.6 var(--body);color:var(--error);text-align:center;background:#FDEBE6;border-radius:10px;padding:10px 12px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.thanks{padding:44px clamp(22px,3vw,36px);display:flex;flex-direction:column;align-items:center;gap:18px;text-align:center}
.thanks-icon{width:68px;height:68px;border-radius:50%;background:var(--leaf-tint-2);display:grid;place-items:center}
.thanks-title{font:800 22px/1.45 var(--round)}
.thanks-text{font:500 14px/1.9 var(--body);color:var(--ink-sub)}
.thanks-text b{color:var(--ink);word-break:break-all}
.thanks .btn-cta{width:100%;padding:17px 24px;font-size:18px;line-height:1}

/* お悩み */
.worry{display:flex;flex-wrap:wrap;gap:clamp(28px,4vw,56px);align-items:center}
.worry-img{flex:1 1 320px;min-width:0;max-width:420px;margin:0 auto;aspect-ratio:494/346;border-radius:24px;overflow:hidden;background:var(--leaf)}
.worry-img img{width:100%;height:100%;object-fit:cover;object-position:50% 100%}
.worry-list{flex:1 1 420px;min-width:0;display:flex;flex-direction:column;gap:12px}
.worry-list li{display:flex;gap:14px;align-items:flex-start;background:var(--paper);border-radius:16px;padding:18px 20px;font:500 16px/1.75 var(--body)}
.box-check{flex:none;width:24px;height:24px;border-radius:7px;border:2px solid var(--leaf);background:#fff;display:grid;place-items:center;margin-top:3px}
.worry-conclusion{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}
.worry-conclusion p{font:800 clamp(19px,2.5vw,27px)/1.65 var(--round);text-wrap:balance}
.worry-conclusion em{font-style:normal;color:var(--cta-shadow)}

/* 比較 */
.compare{display:flex;gap:20px;align-items:center;justify-content:center}
.cmp-card{flex:1 1 0;width:100%;max-width:440px;align-self:stretch;border-radius:20px;overflow:hidden;background:#fff;border:1.5px solid var(--line-2);display:flex;flex-direction:column}
.cmp-card--after{border:2px solid var(--leaf);box-shadow:0 20px 40px -24px rgba(79,122,46,.45)}
.cmp-head{background:#8E8A7E;color:#fff;padding:13px 16px;text-align:center;font:800 18px/1.3 var(--round);letter-spacing:.04em}
.cmp-card--after .cmp-head{background:var(--leaf-strong)}
.cmp-body{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:32px 24px;background-image:repeating-linear-gradient(180deg,transparent 0 39px,#EEEADF 39px 40px)}
.cmp-card--after .cmp-body{background-image:repeating-linear-gradient(180deg,transparent 0 39px,#E6EFDA 39px 40px)}
.cmp-quote{font:800 clamp(18px,2vw,22px)/1.7 var(--round);text-align:center;color:var(--ink-sub)}
.cmp-card--after .cmp-quote{color:var(--ink)}
.cmp-tag{font:700 15px/1 var(--round);color:var(--muted)}
.cmp-card--after .cmp-tag{color:var(--leaf-deep)}
.cmp-arrow{flex:none;width:44px;height:44px;border-radius:50%;background:var(--yellow);display:grid;place-items:center}

/* 引用 */
.quote{display:flex;flex-wrap:wrap;align-items:center;gap:24px 36px;background:#fff;border-radius:24px;padding:clamp(24px,4vw,40px);border:1px solid var(--line)}
.quote>img{width:112px;height:112px;border-radius:50%;flex:none}
.quote-body{flex:1 1 360px;min-width:0;display:flex;flex-direction:column;gap:12px}
.quote figcaption{font:700 13px/1.6 var(--body);color:var(--leaf-deep)}
.quote blockquote{font:800 clamp(20px,2.6vw,28px)/1.5 var(--round)}
.quote p{font:500 15px/1.9 var(--body);color:var(--ink-sub)}

/* 冊子の内容 */
.label-pill{background:#fff;color:var(--leaf-deep);font:700 13px/1 var(--round);padding:8px 14px;border-radius:999px}
.contents{display:flex;flex-wrap:wrap;gap:40px 48px;align-items:center}
.tips{flex:1 1 460px;min-width:0;display:flex;flex-direction:column;gap:12px}
.tips li{display:flex;gap:18px;align-items:center;background:#fff;border-radius:18px;padding:18px 22px}
.tips li>div{min-width:0}
.tip-num{flex:none;width:44px;height:44px;border-radius:50%;background:var(--leaf-strong);color:#fff;display:grid;place-items:center;font:800 19px/1 var(--round)}
.tip-title{font:800 17px/1.5 var(--round)}
.tip-ex{font:500 14px/1.7 var(--body);color:var(--ink-sub);margin-top:4px}
.samples{flex:1 1 340px;min-width:0;max-width:480px;margin:0 auto;display:flex;flex-direction:column;gap:14px}
.samples-stage{position:relative;width:100%;aspect-ratio:1/1}
.sample{position:absolute;background:#fff;border-radius:6px}
.sample img{width:100%}
.sample--a{left:0;top:2%;width:58%;padding:8px;box-shadow:0 18px 36px -20px rgba(60,80,30,.5);transform:rotate(-4deg)}
.sample--b{right:0;bottom:4%;width:74%;padding:10px;box-shadow:0 22px 44px -22px rgba(60,80,30,.55);transform:rotate(3deg)}
.samples-cap{text-align:center;font:700 13px/1.5 var(--body);color:var(--leaf-deep)}
.extras{display:flex;flex-wrap:wrap;gap:20px}
.extra{flex:1 1 380px;min-width:0;background:#fff;border-radius:20px;padding:clamp(22px,3vw,32px);display:flex;flex-direction:column;gap:12px}
.chip-y{align-self:flex-start;background:var(--yellow);font:700 13px/1 var(--round);padding:7px 12px;border-radius:999px}
.extra-title{font:800 19px/1.5 var(--round)}
.extra p:not(.extra-title){font:500 15px/1.9 var(--body);color:var(--ink-sub)}
.title-ex{display:flex;flex-direction:column;gap:10px;margin-top:4px}
.title-ex div{display:flex;align-items:center;gap:12px;border-radius:999px;padding:10px 18px;font:700 16px/1.4 var(--round)}
.title-ex svg{flex:none}
.title-ex .ng{border:1.5px solid var(--line-2);color:var(--muted)}
.title-ex .ok{border:2px solid var(--leaf);background:#F6FAF0;font-weight:800}

/* おすすめ */
.recommend{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:14px}
.recommend li{display:flex;gap:14px;align-items:center;background:var(--paper);border-radius:18px;padding:22px 24px;font:700 16px/1.65 var(--body)}
.closing{text-align:center;font:800 clamp(17px,2vw,21px)/1.8 var(--round);color:var(--leaf-deep);text-wrap:balance}

/* 発行元 */
.about{max-width:1040px;margin:0 auto;background:#fff;border-radius:28px;border:1px solid var(--line);padding:clamp(28px,5vw,56px);display:flex;flex-wrap:wrap;gap:32px 56px;align-items:center}
.about-main{flex:1 1 440px;min-width:0;display:flex;flex-direction:column;gap:16px;align-items:flex-start}
.about-main>p{font:500 15px/1.95 var(--body);color:var(--ink-sub)}
.about-label{font:700 13px/1 var(--round);color:var(--leaf-deep)}
.logo--lg{width:150px;height:43px}
.about-main>.about-title{font:800 clamp(19px,2.2vw,23px)/1.5 var(--round);color:var(--ink)}
.about-main>.about-badge{background:var(--leaf-tint);border-radius:12px;padding:12px 16px;font:700 14px/1.7 var(--body);color:var(--leaf-deep)}
.about-link{display:flex;align-items:center;gap:6px;font:700 14px/1.5 var(--body)}
.about-char{flex:0 1 220px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:10px}
.about-char img{width:100%;max-width:200px}
.about-char span{font:500 12px/1.5 var(--body);color:var(--ink-sub);text-align:center}

/* 最終CTA */
.final{position:relative;overflow:hidden;background:var(--leaf);padding:clamp(56px,7vw,96px) 20px}
.final::before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;background:#9AC071;top:-260px;right:-140px}
.final::after{content:"";position:absolute;width:360px;height:360px;border-radius:50%;background:#83AA58;bottom:-200px;left:-120px}
.final-card{position:relative;z-index:1;max-width:1000px;margin:0 auto;background:var(--paper);border-radius:32px;padding:clamp(28px,5vw,56px);display:flex;flex-wrap:wrap;gap:36px 56px;align-items:center;justify-content:center;box-shadow:0 30px 60px -30px rgba(40,60,20,.5)}
.final-main{flex:1 1 380px;min-width:0;display:flex;flex-direction:column;gap:18px}
.final-eyebrow{font:700 15px/1.6 var(--round);color:var(--leaf-deep)}
.final-title{font:800 clamp(26px,3.4vw,38px)/1.4 var(--round)}
.final-main>p:not(.final-eyebrow){font:500 16px/1.9 var(--body);color:var(--ink-sub);text-wrap:pretty}
.final .btn-cta{max-width:420px;padding:19px 24px;font-size:clamp(18px,2vw,21px);line-height:1;letter-spacing:.04em;margin:6px 0 5px}

/* フッター */
.site-footer{background:var(--paper-2);padding:36px 20px}
.site-footer .container{display:flex;flex-wrap:wrap;gap:18px 32px;align-items:center;justify-content:space-between;padding:0}
.logo--foot{width:104px;height:30px;background:var(--muted)}
.foot-nav{display:flex;flex-wrap:wrap;gap:8px 24px;font:500 13px/1.6 var(--body)}
.foot-nav a{color:var(--ink-sub);text-decoration:none}
.foot-nav a:hover{color:var(--ink);text-decoration:underline}
.copy{font:500 12px/1.6 var(--body);color:var(--ink-sub)}

/* スマホ追従ボタン */
.sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:30;padding:10px 14px calc(12px + env(safe-area-inset-bottom));background:rgba(251,248,240,.96);border-top:1px solid var(--line-2);box-shadow:0 -10px 24px -14px rgba(0,0,0,.25);transform:translateY(110%);transition:transform .25s ease}
.sticky-cta.is-visible{transform:none}
.sticky-cta .btn-cta{width:100%;padding:15px 20px;font-size:17px;line-height:1;box-shadow:0 4px 0 var(--cta-shadow);margin-bottom:4px}
.sticky-cta .free{font-size:12px;padding:5px 8px}

@media (max-width:727px){
  .compare{flex-direction:column}
  .cmp-arrow{transform:rotate(90deg)}
}
@media (max-width:759px){
  .site-footer{padding-bottom:110px}
}
@media (min-width:760px){
  .sticky-cta{display:none}
}
