/* 運命の導き・専属伴走サポート LP（1本目と同じ型。色は水彩の水色〜若草色・白・金の細線・藍）
   書体：見出し Shippori Mincho B1（800）／本文 Noto Sans JP／欧文 Cormorant Garamond */
:root{
  --bg:#F3F8F7; --bg2:#E6F0EE; --washi:#FBFDFC;
  --ink:#1D2B30;            /* 本文：濃い墨 */
  --head:#12404F;           /* 見出し・大きな一言：深い臙脂 */
  --mute:#5B6E73;
  --gold:#B08D45; --gold-hi:#8A6827; --gold-lo:#DCC891; --kin:#F2E2B4;
  --shu:#1C6B8A; --shu-deep:#145470;
  --marker:rgba(178,218,160,.6);
  --dark-a:#1D5A66; --dark-b:#0F3440;
  --serif:"Shippori Mincho B1","Hiragino Mincho ProN","Yu Mincho",serif;
  --sans:"Noto Sans JP","Hiragino Sans","Yu Gothic",sans-serif;
  --lat:"Cormorant Garamond",Georgia,serif;
  --pad:24px; --maxw:600px; --r:6px;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;background:var(--bg)}
html,body{max-width:100%;overflow-x:clip}
body{
  background:var(--bg) url(img/washi.jpg) 0 0/520px repeat;color:var(--ink);
  font-family:var(--sans);font-size:17px;line-height:2;letter-spacing:.03em;
  font-feature-settings:"palt" 1;-webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;height:auto}
a{-webkit-tap-highlight-color:rgba(176,141,69,.18)}
p{margin-bottom:1.8em}
p:last-child{margin-bottom:0}
strong{color:var(--shu);font-weight:700}
b{font-weight:700}
ul,ol{list-style:none}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad);position:relative;z-index:2}
.lat{font-family:var(--lat);letter-spacing:.3em}
.tc{text-align:center}
.tc,.lead-p,.big,.quote p,h2,h3,.goal,.kq,.ov{text-wrap:balance}
p,li,dd,summary{text-wrap:pretty}
.back li,.chk li,.desc,.days li{text-wrap:balance}

/* ---- 文字の強弱 ---- */
.lead-p{font-size:18.5px;font-weight:500;color:var(--ink)}
.whisper{font-size:15px;color:var(--mute);text-align:center;margin:30px 0;line-height:2.1;letter-spacing:.04em}
.big{
  font-family:var(--serif);font-size:clamp(26px,7.4vw,36px);font-weight:800;line-height:1.6;letter-spacing:.02em;
  text-align:center;margin:46px 0;color:var(--head);word-break:keep-all;overflow-wrap:anywhere;
}
.big.xl{font-size:clamp(36px,11vw,52px);line-height:1.42;margin:54px 0}
.big .s{display:block;font-size:.56em;font-weight:700;color:var(--ink);letter-spacing:.06em;margin-bottom:.4em;line-height:1.8}
.big .g,.gg,.peak .l2 em{
  background:linear-gradient(115deg,#5E4211 0%,#8E6C27 30%,#C9A858 47%,#8E6C27 64%,#5E4211 100%);background-size:230% 100%;
  -webkit-background-clip:text;background-clip:text;color:transparent;animation:sheen 7s ease-in-out infinite;
}
@keyframes sheen{0%,100%{background-position:0% 0}50%{background-position:100% 0}}
.fall{font-family:var(--serif);font-size:clamp(25px,7.2vw,34px);font-weight:800;line-height:1.7;letter-spacing:.03em;text-align:center;color:var(--ink);margin:38px 0 6px;text-wrap:balance}
.fall .wipe{color:var(--shu);background-image:linear-gradient(90deg,var(--shu),var(--shu))}
.kq{font-family:var(--serif);font-size:clamp(20px,5.6vw,26px);font-weight:800;color:var(--shu);text-align:center;line-height:1.7;letter-spacing:.02em;margin:30px 0;overflow-wrap:anywhere;text-wrap:balance}
.ew{font-family:var(--serif);font-size:1.25em;font-weight:800;color:var(--gold-hi);letter-spacing:.02em}
.mk{background:linear-gradient(transparent 58%,var(--marker) 58%,var(--marker) 94%,transparent 94%);font-weight:700;color:var(--ink);padding:0 .06em}
strong.mk{color:var(--ink)}
.wipe{display:inline;background-image:linear-gradient(90deg,var(--gold),var(--gold));background-repeat:no-repeat;background-position:0 100%;background-size:0 3px;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-bottom:.06em;transition:background-size 1.3s cubic-bezier(.22,.61,.36,1) .45s}
.kq .wipe{background-image:linear-gradient(90deg,var(--gold-lo),var(--gold-lo));background-size:0 .42em;padding:0 .1em}
.on .wipe,.wipe.on{background-size:100% 3px}
.on.kq .wipe,.kq.on .wipe{background-size:100% .42em}

/* ---- 章の見出し ---- */
section{padding:72px 0;position:relative}
.chapno{text-align:center;font-family:var(--lat);font-size:13px;font-weight:600;letter-spacing:.5em;color:var(--gold);margin-bottom:6px}
.eyebrow{text-align:center;font-size:11.5px;font-weight:600;letter-spacing:.6em;color:var(--gold);margin-bottom:16px;text-transform:uppercase;transition:letter-spacing 1.6s cubic-bezier(.22,.61,.36,1)}
.eyebrow:not(.on){letter-spacing:.25em}
h2{
  font-family:var(--serif);font-size:clamp(27px,7.8vw,36px);font-weight:800;text-align:center;letter-spacing:.08em;line-height:1.62;
  color:var(--head);position:relative;word-break:keep-all;overflow-wrap:anywhere;margin-bottom:8px;
}
h2::after{content:"";position:absolute;left:50%;bottom:-24px;width:1px;height:0;background:linear-gradient(180deg,var(--gold),transparent);transform:translateX(-50%);transition:height 1.4s cubic-bezier(.22,.61,.36,1) .35s}
h2.on::after{height:24px}
.h3,h3{font-family:var(--serif);font-size:21px;font-weight:800;letter-spacing:.06em;line-height:1.75;color:var(--head);margin:46px 0 18px}
.gline{width:72px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);margin:34px auto 36px}
.orn{display:flex;align-items:center;gap:12px;justify-content:center;margin:40px auto}
.orn::before,.orn::after{content:"";width:64px;height:1px;background:linear-gradient(90deg,transparent,var(--gold))}
.orn::after{background:linear-gradient(90deg,var(--gold),transparent)}
.orn i{width:7px;height:7px;background:var(--shu);transform:rotate(45deg)}
.breath{display:flex;align-items:center;justify-content:center;gap:10px;margin:50px 0 10px;color:var(--gold)}
.breath::before,.breath::after{content:"";width:30px;height:1px;background:currentColor}
.breath i{width:5px;height:5px;background:currentColor;transform:rotate(45deg)}

.s-plain{background:transparent}
.s-ai{background:linear-gradient(180deg,rgba(176,214,226,.42) 0%,rgba(205,230,214,.22) 45%,rgba(243,248,247,0) 100%)}
.s-ai-r{background:linear-gradient(180deg,rgba(243,248,247,0) 0%,rgba(205,230,214,.28) 55%,rgba(176,214,226,.45) 100%)}
.band{height:64px;background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='32'%3E%3Cg fill='none' stroke='%23B08D45' stroke-opacity='.45' stroke-width='.9'%3E%3Cpath d='M0 10 C 30 0, 30 20, 60 10 S 90 0, 120 10'/%3E%3Cpath d='M0 22 C 30 12, 30 32, 60 22 S 90 12, 120 22' stroke-opacity='.25'/%3E%3C/g%3E%3C/svg%3E");background-size:120px 32px;background-position:center;-webkit-mask-image:linear-gradient(180deg,transparent,#000 45%,transparent);mask-image:linear-gradient(180deg,transparent,#000 45%,transparent)}

/* ---- 現れ方 ---- */
.rv{opacity:0;transform:translateY(28px);transition:opacity 1.1s cubic-bezier(.22,.61,.36,1),transform 1.1s cubic-bezier(.22,.61,.36,1)}
.rv-s{opacity:0;transform:scale(1.05);transition:opacity 1.4s ease,transform 1.9s cubic-bezier(.22,.61,.36,1)}
.rv-b{opacity:0;filter:blur(8px);transform:translateY(10px);transition:opacity 1.3s ease,filter 1.3s ease,transform 1.3s cubic-bezier(.22,.61,.36,1)}
.rv.on,.rv-s.on,.rv-b.on{opacity:1;transform:none;filter:none}
.stag>*{opacity:0;transform:translateY(16px);transition:opacity .9s cubic-bezier(.22,.61,.36,1),transform .9s cubic-bezier(.22,.61,.36,1)}
.stag.on>*{opacity:1;transform:none}
.stag.on>*:nth-child(2){transition-delay:.2s}
.stag.on>*:nth-child(3){transition-delay:.4s}
.stag.on>*:nth-child(4){transition-delay:.6s}
.stag.on>*:nth-child(5){transition-delay:.8s}
.stag.on>*:nth-child(n+6){transition-delay:1s}
.lines .ln{display:inline-block;max-width:100%;opacity:0;transform:translateY(.5em);transition:opacity 1s cubic-bezier(.22,.61,.36,1),transform 1s cubic-bezier(.22,.61,.36,1)}
.lines.on .ln{opacity:1;transform:none}
.lines.on .ln:nth-of-type(2){transition-delay:.28s}
.lines.on .ln:nth-of-type(3){transition-delay:.56s}
html:not(.js) .rv,html:not(.js) .rv-s,html:not(.js) .rv-b,html:not(.js) .stag>*,html:not(.js) .lines .ln{opacity:1;transform:none;filter:none}

/* ---- 上の進み具合 ---- */
.prog{position:fixed;top:0;left:0;right:0;height:3px;z-index:80;pointer-events:none}
.prog i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--shu-deep),var(--gold) 70%,var(--kin))}

/* ---- 金の粒子 ---- */
.particles{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:1}
.particle{position:absolute;bottom:-12px;width:var(--size);height:var(--size);border-radius:50%;background:radial-gradient(circle,rgba(214,178,96,.95) 0%,rgba(214,178,96,0) 70%);animation:floatUp var(--duration) linear var(--delay) infinite;will-change:transform,opacity}
.s-dark .particle,.s-final .particle{background:radial-gradient(circle,#F5DFA0 0%,rgba(245,223,160,0) 70%)}
@keyframes floatUp{0%{transform:translate3d(0,0,0);opacity:0}12%{opacity:.85}88%{opacity:.35}100%{transform:translate3d(0,-108vh,0);opacity:0}}

/* ---- ファーストビュー ---- */
.hero{position:relative;overflow:hidden;padding:24px 0 8px;background:linear-gradient(180deg,#E1EDE9 0%,rgba(243,248,247,0) 100%)}
.hero-orn{position:absolute;inset:0 0 auto;height:72%;background:url(img/bg-wash.jpg) center top/cover no-repeat;opacity:.9;-webkit-mask-image:linear-gradient(180deg,#000 30%,transparent);mask-image:linear-gradient(180deg,#000 30%,transparent)}
.hero-person{position:relative;z-index:2;width:calc(100% - 48px);max-width:420px;aspect-ratio:4/5;margin:0 auto;border-radius:14px;overflow:hidden;box-shadow:0 24px 54px rgba(18,64,79,.28)}
.hero-person::before{content:"";position:absolute;inset:10px;border:1px solid rgba(242,226,180,.85);border-radius:8px;z-index:3;pointer-events:none}
.hero-person::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 62%,rgba(18,64,79,.3))}
.hero-person img{width:100%;height:100%;object-fit:cover;object-position:center 22%;transform:scale(1.02);animation:heroDrift 30s ease-in-out infinite alternate}
@keyframes heroDrift{from{transform:scale(1.02)}to{transform:scale(1.1)}}
.hero-copy{position:relative;z-index:3;text-align:center;padding:30px 20px 24px}
.hero-copy .lead{display:inline-block;font-family:var(--serif);font-size:14px;font-weight:700;letter-spacing:.28em;color:var(--shu);margin-bottom:14px;padding:0 0 6px;border-bottom:1px solid rgba(28,107,138,.45)}
.hero-copy h1{font-family:var(--serif);font-size:clamp(33px,9.6vw,48px);font-weight:800;line-height:1.48;letter-spacing:.05em;color:var(--head);margin-bottom:20px;word-break:keep-all}
.hero-copy .tag{display:inline-block;font-family:var(--serif);font-size:15.5px;font-weight:700;letter-spacing:.1em;line-height:1.85;color:var(--head);background:var(--washi);border:1px solid rgba(176,141,69,.75);border-radius:999px;padding:12px 26px;margin:0}
.scrollcue{margin-top:20px;display:flex;flex-direction:column;align-items:center;gap:8px}
.scrollcue span{font-size:10px;letter-spacing:.42em;color:var(--mute)}
.scrollcue i{display:block;width:1px;height:40px;background:linear-gradient(180deg,var(--gold),transparent);animation:cue 2.4s ease-in-out infinite}
@keyframes cue{0%,100%{transform:scaleY(.4);transform-origin:top;opacity:.4}50%{transform:scaleY(1);transform-origin:top;opacity:1}}

/* ---- 写真 ---- */
.ph{margin:50px 0;position:relative;overflow:hidden;border-radius:var(--r)}
.ph img{width:100%;transform:translateY(var(--py,0));will-change:transform}
.ph.wide img{aspect-ratio:16/10;object-fit:cover;scale:1.12}
.ph.wide::before{content:"";position:absolute;inset:8px;border:1px solid rgba(242,226,180,.8);border-radius:3px;z-index:2;pointer-events:none}
.ph.portrait{max-width:280px;margin:10px auto 44px;border:1px solid rgba(178,218,160,.7);border-radius:14px;box-shadow:0 20px 44px rgba(0,0,0,.35)}
.ph.portrait::before{content:"";position:absolute;inset:8px;border:1px solid rgba(242,226,180,.75);border-radius:8px;z-index:2}
.ph.portrait img{aspect-ratio:3/4;object-fit:cover;object-position:center 18%}
.ph-full{position:relative;overflow:hidden;margin:50px calc(var(--pad) * -1)}
.ph-full img{width:100%;aspect-ratio:4/5;object-fit:cover;filter:brightness(.88) saturate(.95);scale:1.12;transform:translateY(var(--py,0));will-change:transform}
.ph-full::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--bg) 0%,transparent 22%,transparent 62%,rgba(18,64,79,.55) 88%,var(--bg) 100%);pointer-events:none}
.ph-full .ov{position:absolute;left:0;right:0;bottom:16%;z-index:2;padding:0 28px;text-align:center;font-family:var(--serif);font-size:clamp(23px,6.4vw,30px);font-weight:800;line-height:1.8;letter-spacing:.08em;color:#fff;text-shadow:0 3px 18px rgba(0,0,0,.65)}

/* ---- 限定料金の箱 ---- */
.limited{max-width:var(--maxw);margin:0 auto;padding:34px var(--pad) 0}
.limbox{position:relative;margin:30px 0;padding:34px 18px 24px;text-align:center;background:var(--washi);border:1.5px solid rgba(28,107,138,.55);border-radius:var(--r);box-shadow:0 14px 40px rgba(18,64,79,.12)}
.limbox::before{content:"";position:absolute;inset:5px;border:1px solid rgba(176,141,69,.35);border-radius:3px;pointer-events:none}
.limbox .lt{position:absolute;top:-17px;left:50%;transform:translateX(-50%);white-space:nowrap;background:linear-gradient(100deg,var(--shu-deep),var(--shu) 50%,var(--shu-deep));color:#fff;font-weight:900;font-size:14px;letter-spacing:.24em;padding:7px 22px;border-radius:999px;box-shadow:0 6px 16px rgba(20,84,112,.35)}
.limbox .lh{font-family:var(--serif);font-size:clamp(21px,6vw,26px);font-weight:800;line-height:1.6;color:var(--head);margin:6px 0 10px}
.limbox .lh .g{color:var(--shu)}
.limbox .ld{font-size:14px;font-weight:500;color:var(--ink);line-height:1.95;margin-bottom:14px}
.limbox .ld b{font-family:var(--serif);font-size:1.15em;color:var(--shu)}
.limbox .ld .lp{white-space:nowrap}
.limbox .ld .sl{color:var(--mute);margin:0 .5em}
.limbox .ln2{font-size:14px;font-weight:500;color:var(--gold-hi);line-height:1.9;margin:14px 0 0}
.limbox .ln2 b{color:var(--shu)}
.cd{display:flex;justify-content:center;align-items:flex-end;gap:4px;margin:12px 0 6px}
.cd .u{text-align:center}
.cd .u b{display:block;font-family:var(--serif);font-size:clamp(34px,9.6vw,44px);font-weight:800;line-height:1;color:var(--head);min-width:1.3em;font-variant-numeric:tabular-nums}
.cd .u.s b{color:var(--shu)}
.cd .u i{display:block;font-style:normal;font-size:11px;letter-spacing:.16em;color:var(--mute);margin-top:6px}
.cd .sep{font-family:var(--serif);font-size:26px;color:rgba(28,107,138,.7);line-height:1;padding-bottom:20px;animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:.25}}
.cd.is-expired{opacity:.35}
.cd-expired{font-size:14px;color:var(--shu);margin:8px 0 0}
.stock{margin:16px 0 0;text-align:left}
.stock .sl{display:flex;justify-content:space-between;align-items:baseline;font-size:12.5px;letter-spacing:.1em;color:var(--mute);margin-bottom:6px}
.stock .sl b{font-family:var(--serif);font-size:16px;font-weight:800;color:var(--shu);letter-spacing:.08em}
.stock .bar{height:9px;border-radius:999px;background:rgba(18,64,79,.07);border:1px solid rgba(176,141,69,.5);overflow:hidden}
.stock .bar i{display:block;height:100%;width:0;border-radius:999px;background:linear-gradient(90deg,var(--gold-lo),var(--gold) 50%,var(--shu));transition:width 2.2s cubic-bezier(.22,.61,.36,1) .4s}
.on .stock .bar i{width:var(--fill,90%)}

/* ---- 途中のリンクと申し込みボタン ---- */
.minicta{display:block;margin:40px auto;max-width:400px;text-decoration:none;text-align:center;padding:17px 16px;border:1.5px solid rgba(176,141,69,.9);background:var(--washi);color:var(--head);font-weight:800;font-size:16.5px;letter-spacing:.08em;border-radius:999px;position:relative;overflow:hidden;min-height:60px;box-shadow:0 6px 18px rgba(18,64,79,.08)}
.minicta::after{content:"";position:absolute;top:0;left:-60%;width:38%;height:100%;background:linear-gradient(100deg,transparent,rgba(178,218,160,.55),transparent);animation:ctaSweep 5s ease-in-out infinite}
.minicta .s{display:block;font-size:12px;color:var(--shu);font-weight:500;margin-top:4px;letter-spacing:.08em}
body>.minicta{margin:10px var(--pad) 0;max-width:none}
@media (min-width:448px){body>.minicta{margin:10px auto 0;max-width:400px}}
@keyframes ctaSweep{0%{left:-60%}55%,100%{left:130%}}
.cta{display:block;margin:52px auto 10px;max-width:420px;text-decoration:none;position:relative}
.cta .arrow{display:block;text-align:center;color:var(--gold);font-size:22px;line-height:1;margin-bottom:10px;animation:bob 1.5s ease-in-out infinite}
@keyframes bob{50%{transform:translateY(5px)}}
.cta .btn{position:relative;overflow:hidden;display:block;text-align:center;padding:24px 18px;border-radius:999px;font-family:var(--serif);font-weight:800;font-size:20px;letter-spacing:.12em;color:var(--kin);
  background:linear-gradient(135deg,#145470 0%,#1C6B8A 45%,#2F86A6 52%,#1C6B8A 60%,#145470 100%);background-size:200% 100%;
  box-shadow:0 16px 36px rgba(20,84,112,.35),inset 0 0 0 1px rgba(242,226,180,.65);animation:ctaShine 3.4s ease-in-out infinite,ctaPulse 2.6s ease-in-out infinite}
.cta .btn::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.4),transparent);animation:ctaSweep 3.6s ease-in-out infinite}
.cta .sub{display:block;text-align:center;font-size:13.5px;font-weight:700;color:var(--shu);margin-top:14px;letter-spacing:.1em}
@keyframes ctaShine{0%,100%{background-position:0 0}50%{background-position:100% 0}}
@keyframes ctaPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.025)}}

/* ---- III：戻ってしまうこと・グラフ ---- */
.back{margin:10px 0 0;padding:26px 22px;background:var(--washi);border:1px solid rgba(176,141,69,.5);border-radius:var(--r)}
.back li{position:relative;padding:8px 0 8px 34px;font-family:var(--serif);font-size:18px;font-weight:700;color:var(--head);line-height:1.7;border-bottom:1px dashed rgba(176,141,69,.35)}
.back li:last-child{border-bottom:0}
.back li::before{content:"";position:absolute;left:4px;top:50%;width:16px;height:16px;margin-top:-10px;border-right:2px solid var(--shu);border-bottom:2px solid var(--shu);transform:rotate(45deg) scale(.75)}
.graph{margin:40px 0 30px;padding:22px 10px 14px;background:var(--washi);border:1px solid rgba(176,141,69,.5);border-radius:var(--r);box-shadow:0 12px 30px rgba(18,64,79,.08)}
.dg{display:block;width:100%;height:auto}
.dg .ax{stroke:var(--mute);stroke-opacity:.55;stroke-width:1}
.dg .grid{stroke:var(--gold);stroke-opacity:.25;stroke-dasharray:2 4}
.dg .tx{fill:var(--mute);font-size:11px;font-family:var(--sans);letter-spacing:.04em}
.dg .ln{stroke:var(--gold);stroke-width:3.2;fill:none;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 2s cubic-bezier(.45,.05,.3,1) .5s}
.dg .ln2{stroke:var(--shu);stroke-width:3;fill:none;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 2s cubic-bezier(.45,.05,.3,1) .2s}
.dg .dot,.dg .dotr,.dg .tg,.dg .ts{opacity:0;transition:opacity .7s ease 2.2s}
.dg .dot{fill:var(--gold-hi)}
.dg .dotr{fill:var(--shu)}
.dg .tg{fill:var(--gold-hi);font-size:14px;font-family:var(--serif);font-weight:800}
.dg .ts{fill:var(--shu);font-size:14px;font-family:var(--serif);font-weight:800}
.graph.on .ln,.graph.on .ln2{stroke-dashoffset:0}
.graph.on .dot,.graph.on .dotr,.graph.on .tg,.graph.on .ts{opacity:1}
.dgcap{display:flex;gap:18px;justify-content:center;flex-wrap:wrap;font-size:12.5px;color:var(--ink);margin-top:10px}
.dgcap i{display:inline-block;width:20px;height:0;border-top:3px solid var(--gold);vertical-align:middle;margin-right:6px}
.dgcap i.d{border-top-color:var(--shu)}
.graph .dg .ln2{stroke-dasharray:1}
.graph.on .dg .ln2{animation:dashAfter .01s linear 2.3s forwards}
@keyframes dashAfter{to{stroke-dasharray:.02 .015}}

/* ---- IV：あの日 ---- */
.days{margin:10px 0 40px;display:grid;gap:14px}
.days li{position:relative;padding:18px 20px 18px 22px;background:var(--washi);border-left:3px solid var(--gold);border-radius:0 var(--r) var(--r) 0;font-size:15.5px;line-height:1.85;box-shadow:0 6px 18px rgba(18,64,79,.06)}
.days li:nth-child(even){margin-left:18px}
.days li:nth-child(odd){margin-right:18px}
.days .q{display:block;font-family:var(--serif);font-size:19px;font-weight:800;color:var(--shu);letter-spacing:.04em;margin-bottom:2px}

/* ---- V：教科書と先生 ---- */
.compare{display:grid;grid-template-columns:1fr auto 1fr;align-items:stretch;gap:8px;margin:0 0 40px}
.compare .col{background:var(--washi);border:1px solid rgba(176,141,69,.6);border-radius:var(--r);padding:20px 8px 18px;text-align:center}
.compare .col.is-red{border:1.5px solid var(--shu);background:linear-gradient(180deg,#F5FBFA,var(--washi))}
.compare .nm{font-size:13.5px;font-weight:700;letter-spacing:.1em;color:var(--mute);margin:0 0 4px}
.compare .eq{font-family:var(--serif);font-size:30px;font-weight:800;color:var(--head);line-height:1.3;margin:0 0 10px}
.compare .eq small{font-size:.55em;color:var(--gold);margin-right:2px}
.compare .is-red .eq{color:var(--shu)}
.compare .is-red .nm{color:var(--shu)}
.compare .ds{font-size:15px;line-height:1.8;margin:0}
.compare .plus{align-self:center;width:22px;height:22px;position:relative}
.compare .plus::before,.compare .plus::after{content:"";position:absolute;left:50%;top:50%;width:18px;height:2px;background:var(--gold);transform:translate(-50%,-50%)}
.compare .plus::after{transform:translate(-50%,-50%) rotate(90deg)}

/* ---- 囲みの一言 ---- */
.quote{font-family:var(--serif);margin:44px 0;padding:34px 24px;position:relative;text-align:center;font-size:20px;font-weight:700;line-height:2;letter-spacing:.04em;color:var(--head);background:var(--washi);border-top:1px solid rgba(176,141,69,.55);border-bottom:1px solid rgba(176,141,69,.55);border-radius:var(--r)}
.quote p{margin-bottom:1em}
.quote p:last-child{margin-bottom:0}
.quote::before,.quote::after{content:"";position:absolute;width:18px;height:18px}
.quote::before{top:10px;left:10px;border-top:1px solid var(--gold);border-left:1px solid var(--gold)}
.quote::after{bottom:10px;right:10px;border-bottom:1px solid var(--gold);border-right:1px solid var(--gold)}

/* ---- VI：濃い面 ---- */
.s-dark,.s-final{background:radial-gradient(120% 80% at 50% 0%,#2A6B73 0%,var(--dark-a) 45%,var(--dark-b) 100%);color:#ECF4F2;overflow:hidden}
.s-dark h2,.s-final h2,.s-dark .big,.s-dark .quote{color:#EEF5F3}
.s-dark .chapno,.s-dark .eyebrow,.s-final .chapno{color:#D9BC77}
.s-dark .big .g,.s-dark .gg,.s-final .gg{background-image:linear-gradient(115deg,#C9A24B 0%,#F7E6B5 30%,#FFF5D6 46%,#D9B45C 64%,#C9A24B 100%)}
.s-dark .quote{background:rgba(255,255,255,.05);border-color:rgba(217,188,119,.55)}
.s-dark .quote::before,.s-dark .quote::after{border-color:#D9BC77}
.s-dark p{color:#E5EFEC}
.s-dark .gline,.s-final .gline{background:linear-gradient(90deg,transparent,#D9BC77,transparent)}
.s-dark h2::after,.s-final h2::after{background:linear-gradient(180deg,#D9BC77,transparent)}
.s-dark .cta .sub{color:#F2E2B4}
.s-dark .cta .btn,.s-final .cta .btn{background-image:linear-gradient(135deg,#8A6827,#C9A24B 45%,#F2E2B4 52%,#C9A24B 60%,#8A6827);color:#133F4B}
.nameplate{text-align:center;font-family:var(--serif);font-size:clamp(22px,6.4vw,30px);font-weight:800;letter-spacing:.1em;line-height:1.5;margin:6px 0 0;padding:22px 0;border-top:1px solid rgba(217,188,119,.5);border-bottom:1px solid rgba(217,188,119,.5);word-break:keep-all}

/* ---- VII：4つのサポート ---- */
.dev{margin:30px 0;padding:30px 24px 28px;background:var(--washi);border:1px solid rgba(176,141,69,.5);border-radius:var(--r);position:relative;box-shadow:0 10px 28px rgba(18,64,79,.07)}
.dev::before,.dev::after{content:"";position:absolute;width:24px;height:24px}
.dev::before{top:-1px;left:-1px;border-top:2px solid var(--gold);border-left:2px solid var(--gold)}
.dev::after{bottom:-1px;right:-1px;border-bottom:2px solid var(--gold);border-right:2px solid var(--gold)}
.dev .no{position:absolute;top:22px;right:24px;font-size:26px;font-weight:600;color:var(--gold-lo);letter-spacing:.1em}
.dev .ic{width:40px;height:40px;display:block;margin-bottom:10px;color:var(--shu)}
.dev .ic svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.dev h3{margin:0 0 14px;font-size:20.5px}
.dev p{font-size:16px;line-height:2;margin-bottom:1em}
.dots{margin:0 0 1em;padding:14px 16px;background:rgba(214,232,228,.45);border-radius:4px}
.dots li{position:relative;padding-left:20px;font-size:15.5px;font-weight:500;line-height:1.9}
.dots li::before{content:"";position:absolute;left:3px;top:.8em;width:6px;height:6px;background:var(--gold);transform:rotate(45deg)}
.dev .close{font-weight:700}

/* ---- VIII：これまで／これから ---- */
.vs{margin:30px 0 8px;border:1px solid rgba(176,141,69,.7);border-radius:var(--r);overflow:hidden;background:var(--washi)}
.vs .r{display:grid;grid-template-columns:1fr 1.15fr;border-bottom:1px solid rgba(176,141,69,.3)}
.vs .r:last-child{border-bottom:none}
.vs .c{margin:0;padding:15px 8px;font-size:15.5px;text-wrap:balance;align-self:center;line-height:1.7;text-align:center;word-break:keep-all;overflow-wrap:anywhere}
.vs .c:first-child{border-right:1px solid rgba(176,141,69,.3);color:var(--mute)}
.vs .r.hd .c{font-family:var(--serif);font-weight:800;font-size:15px;background:#E4EEEB;color:var(--head)}
.vs .r.hd .c:last-child{background:linear-gradient(100deg,var(--shu-deep),var(--shu));color:#fff}
.vs .tick{font-weight:700;color:var(--head)}
.vs .tick::before{content:"";display:inline-block;vertical-align:middle;width:13px;height:7px;border-left:2px solid var(--shu);border-bottom:2px solid var(--shu);transform:rotate(-45deg);margin:-4px 8px 0 0}

/* ---- IX：声 ---- */
.voice{margin:30px 0;padding:28px 22px;background:var(--washi);border:1px solid rgba(176,141,69,.5);border-radius:var(--r);box-shadow:0 10px 28px rgba(18,64,79,.07)}
.vh{position:relative;padding-bottom:16px;margin-bottom:18px;border-bottom:1px solid rgba(176,141,69,.4)}
.vno{display:block;font-size:24px;font-weight:600;color:var(--gold);line-height:1;margin-bottom:8px}
.vname{margin:0 0 6px;font-size:18px;line-height:1.6}
.vplan{display:inline-block;margin:0;font-size:12.5px;font-weight:700;color:var(--shu);border:1px solid rgba(28,107,138,.45);border-radius:999px;padding:2px 12px;line-height:1.8}
.vl{font-size:14px;font-weight:700;letter-spacing:.12em;color:var(--mute);margin:0 0 6px}
.vl.is-after{color:var(--shu)}
.vb{font-size:15px;line-height:1.95;color:#4A5C61;background:rgba(214,232,228,.4);padding:14px 16px;border-radius:4px;margin:0}
.varrow{width:14px;height:14px;margin:12px auto 10px;border-right:2px solid var(--gold);border-bottom:2px solid var(--gold);transform:rotate(45deg)}
.va{font-size:16px;line-height:2;padding:16px 16px;border:1px solid rgba(28,107,138,.35);border-radius:4px;background:#F7FCFB}
.va p{margin-bottom:1em}
.shot{margin:20px 0;width:calc(100% - 26px)}
.shot:nth-of-type(odd){margin-right:auto}
.shot:nth-of-type(even){margin-left:auto}
.shot img{width:100%;border-radius:10px;box-shadow:0 14px 34px rgba(18,64,79,.22)}
.peak{text-align:center;margin:56px auto 20px;font-family:var(--serif)}
.peak .l2{font-size:clamp(34px,10vw,46px);font-weight:800;line-height:1.5;color:var(--head);word-break:keep-all}
.peak .l3{font-family:var(--sans);font-size:16px;font-weight:500;color:var(--ink);margin-top:18px;line-height:2}

/* ---- X：プラン ---- */
.s-plans{background:linear-gradient(180deg,#E3EEEA 0%,var(--bg) 30%,#E7F1EE 100%);overflow:hidden}
.plans-orn{position:absolute;inset:0 0 auto;height:520px;background:url(img/orn-tl.jpg) left top/min(80%,520px) no-repeat;opacity:.6;-webkit-mask-image:radial-gradient(120% 100% at 0 0,#000 30%,transparent 70%);mask-image:radial-gradient(120% 100% at 0 0,#000 30%,transparent 70%);pointer-events:none}
.kicker{text-align:center;font-family:var(--serif);font-size:15px;font-weight:700;letter-spacing:.16em;color:var(--shu);margin-bottom:6px}
.depthbar{margin:34px 0 10px;padding:22px 16px 16px;background:var(--washi);border:1px solid rgba(176,141,69,.5);border-radius:var(--r)}
.depthbar .ttl{text-align:center;font-family:var(--serif);font-size:15px;font-weight:800;color:var(--head);letter-spacing:.1em;margin-bottom:14px}
.depthbar .row{display:grid;grid-template-columns:62px 1fr;align-items:center;gap:10px;margin-bottom:10px}
.depthbar .nm{font-family:var(--serif);font-size:14px;font-weight:800;color:var(--head);text-align:right;line-height:1.3}
.depthbar .bar{position:relative;height:28px;background:rgba(176,141,69,.1);border:1px solid rgba(176,141,69,.35);border-radius:3px;overflow:hidden}
.depthbar .bar i{position:absolute;left:0;top:0;bottom:0;width:0;background:linear-gradient(90deg,rgba(176,141,69,.35),var(--gold));transition:width 1.6s cubic-bezier(.22,.61,.36,1)}
.depthbar.on .bar i{width:var(--w)}
.depthbar .bar b{position:absolute;right:6px;top:4px;height:20px;line-height:20px;padding:0 8px;font-size:11.5px;letter-spacing:.06em;color:var(--head);font-family:var(--serif);background:var(--washi);border:1px solid rgba(176,141,69,.45);border-radius:2px}
.depthbar .row.rec .bar i{background:linear-gradient(90deg,rgba(28,107,138,.4),var(--shu))}
.depthbar .row.rec .nm{color:var(--shu)}
.depthbar .scale{display:grid;grid-template-columns:62px 1fr;gap:10px;font-size:11px;color:var(--mute);letter-spacing:.08em}
.depthbar .scale div{display:flex;justify-content:space-between}

.bonus{position:relative;margin:46px 0 10px;padding:38px 20px 26px;text-align:center;background:var(--washi);border:1.5px solid var(--gold);border-radius:var(--r);box-shadow:0 14px 40px rgba(18,64,79,.12),inset 0 0 0 5px var(--washi),inset 0 0 0 6px rgba(176,141,69,.4)}
.bonus .bt{position:absolute;top:-17px;left:50%;transform:translateX(-50%);white-space:nowrap;background:var(--head);color:var(--kin);font-weight:800;font-size:14px;letter-spacing:.18em;padding:7px 22px;border-radius:999px;box-shadow:0 6px 16px rgba(18,64,79,.3)}
.bonus .bh{font-family:var(--serif);font-size:clamp(22px,6.2vw,27px);font-weight:800;line-height:1.6;color:var(--head);margin:4px 0 6px;word-break:keep-all}
.bonus .bw{font-size:16px;color:var(--mute);margin:0}
.bonus .bw s{text-decoration-color:var(--shu);text-decoration-thickness:2px}
.bonus .bfree{font-family:var(--serif);font-size:clamp(32px,9.4vw,44px);font-weight:800;line-height:1.3;color:var(--shu);margin:2px 0 16px}
.bonus p{font-size:15.5px;line-height:1.95;margin-bottom:.9em;text-align:left}
.bonus p.bh,.bonus p.bw,.bonus p.bfree{text-align:center}

.plans{display:grid;grid-template-columns:minmax(0,1fr);gap:30px;margin-top:14px}
.plan{position:relative;padding:34px 22px 28px;background:var(--washi);border:1px solid rgba(176,141,69,.7);border-radius:var(--r);text-align:center}
.plan::before{content:"";position:absolute;inset:6px;border:1px solid rgba(176,141,69,.3);border-radius:3px;pointer-events:none}
.plan>*{position:relative;z-index:1}
.plan.rec{margin:14px -8px;padding:46px 26px 34px;border:2px solid var(--shu);background:linear-gradient(180deg,#F5FBFA,var(--washi) 40%);box-shadow:0 20px 54px rgba(20,84,112,.2)}
.plan.rec::before{border-color:rgba(28,107,138,.35)}
.plan.rec.on{animation:recGlow 2.4s ease-out .4s 2}
@keyframes recGlow{0%,100%{box-shadow:0 20px 54px rgba(20,84,112,.2)}40%{box-shadow:0 20px 80px rgba(28,107,138,.5)}}
.badge{position:absolute;top:-17px;left:50%;transform:translateX(-50%);white-space:nowrap;background:linear-gradient(100deg,var(--shu-deep),var(--shu) 50%,var(--shu-deep));color:#fff;font-size:14px;font-weight:800;letter-spacing:.2em;padding:7px 24px;border-radius:999px;box-shadow:0 6px 16px rgba(20,84,112,.35)}
.pterm{font-family:var(--lat);font-size:13px;font-weight:600;letter-spacing:.34em;color:var(--gold);margin:0 0 2px}
.pname{font-family:var(--serif);font-size:24px;font-weight:800;color:var(--head);letter-spacing:.08em;margin:0 0 2px}
.rec .pname{font-size:27px}
.pperiod{font-size:13.5px;color:var(--mute);margin:0 0 14px}
.was{font-size:15px;color:var(--mute);margin:0}
.was s{text-decoration-color:var(--shu);text-decoration-thickness:2px}
.limtag{display:inline-block;margin:8px 0 0;font-size:12.5px;font-weight:800;letter-spacing:.14em;color:#fff;background:var(--shu);padding:2px 12px;border-radius:2px;line-height:1.8}
.price{font-family:var(--serif);font-weight:800;line-height:1.1;margin:6px 0 0;font-size:40px;color:var(--shu);font-variant-numeric:lining-nums tabular-nums;transform:scale(.7);opacity:0;transition:transform .8s cubic-bezier(.34,1.56,.64,1) .3s,opacity .5s ease .3s}
.rec .price{font-size:48px}
.plan.on .price,html:not(.js) .price{transform:none;opacity:1}
.price small{font-size:17px;margin-left:3px;color:var(--head)}
.deal{display:inline-block;margin:10px 0 0;font-size:13.5px;font-weight:700;color:var(--shu);border-bottom:1px solid rgba(28,107,138,.5);line-height:1.7}
.goal{font-family:var(--serif);font-size:18px;font-weight:800;color:var(--head);letter-spacing:.06em;margin:18px 0 12px;padding:14px 0;border-top:1px solid rgba(176,141,69,.45);border-bottom:1px solid rgba(176,141,69,.45);line-height:1.8}
.desc{font-size:15.5px;line-height:1.95;margin:0 0 14px;text-align:left}
.wave{margin:16px 0 4px;padding:14px 10px 12px;background:rgba(214,232,228,.45);border-radius:4px}
.wave .lbl{font-size:12.5px;font-weight:700;letter-spacing:.12em;color:var(--mute);margin:0 0 8px}
.wave .rings{display:flex;justify-content:center;gap:6px}
.wave .rings i{width:13px;height:13px;border-radius:50%;border:1px solid rgba(176,141,69,.7);background:var(--washi);transition:background .5s ease,box-shadow .5s ease,transform .4s cubic-bezier(.34,1.56,.64,1)}
.wave .rings i.f{background:radial-gradient(circle,#F2E2B4 0%,var(--gold) 75%);box-shadow:0 0 8px rgba(176,141,69,.55);transform:scale(1.15)}
.rec .wave .rings i.f{background:radial-gradient(circle,#C3E6EE 0%,var(--shu) 75%);box-shadow:0 0 8px rgba(28,107,138,.45)}
.wave .cnt{font-size:13px;color:var(--ink);margin:8px 0 0;letter-spacing:.06em}
.wave .cnt b{font-family:var(--serif);font-size:1.5em;font-weight:800;color:var(--gold-hi);margin:0 2px}
.heal{margin:12px 0 0;font-size:14px;font-weight:700;color:var(--ink)}
.heal b{font-family:var(--serif);font-size:1.35em;font-weight:800;color:var(--shu);margin-left:4px}
.gift{display:block;width:fit-content;max-width:100%;text-wrap:balance;margin:14px auto 0;font-size:13.5px;font-weight:700;letter-spacing:.04em;color:var(--gold-hi);border:1px solid rgba(176,141,69,.7);background:rgba(242,226,180,.25);padding:4px 14px;border-radius:999px;line-height:1.8}
.pbtn{display:block;margin-top:22px;text-decoration:none;text-align:center;padding:19px 14px;font-weight:800;font-size:17px;letter-spacing:.08em;color:var(--head);border:2px solid rgba(176,141,69,.85);background:var(--washi);border-radius:999px;min-height:60px;position:relative;overflow:hidden}
.pbtn .s{display:block;font-family:var(--sans);font-size:11.5px;font-weight:500;letter-spacing:0;margin-top:2px;opacity:.9}
.rec .pbtn{color:var(--kin);border:none;font-family:var(--serif);font-size:19px;padding:22px 14px;background:linear-gradient(135deg,#145470,#1C6B8A 45%,#2F86A6 52%,#1C6B8A 60%,#145470);background-size:200% 100%;box-shadow:0 14px 30px rgba(20,84,112,.35),inset 0 0 0 1px rgba(242,226,180,.6);animation:ctaShine 3.4s ease-in-out infinite,ctaPulse 2.6s ease-in-out infinite}
.rec .pbtn::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.4),transparent);animation:ctaSweep 3.6s ease-in-out infinite}
.note{font-size:12.5px;color:var(--mute);line-height:1.9;margin-top:24px}
.noscript-plans{display:grid;gap:10px;margin:20px 0}
.noscript-plans a{display:block;padding:14px;border:1px solid var(--gold);border-radius:999px;text-align:center;color:var(--head);font-weight:700;text-decoration:none}

/* ---- XI：迷ったら ---- */
.choose{display:grid;gap:12px;margin:10px 0 0}
.choose .row{display:grid;grid-template-columns:76px 1fr;align-items:center;gap:14px;padding:16px 16px;background:var(--washi);border:1px solid rgba(176,141,69,.5);border-radius:var(--r)}
.choose dt{font-family:var(--serif);font-size:19px;font-weight:800;color:var(--head);text-align:center;border-right:1px solid rgba(176,141,69,.45);line-height:1.5}
.choose dd{font-size:15.5px;line-height:1.85}
.choose .row.rec{border:2px solid var(--shu);background:#F5FBFA}
.choose .row.rec dt{color:var(--shu)}
.rec-note{display:block;margin-top:6px;font-weight:800;color:var(--shu)}

/* ---- XII：チェック ---- */
.chk{counter-reset:ck;display:grid;gap:10px;margin:30px 0}
.chk li{position:relative;counter-increment:ck;padding:16px 46px 16px 58px;background:var(--washi);border:1px solid rgba(176,141,69,.45);border-radius:var(--r);font-size:16px;font-weight:500;line-height:1.85;transition:background .4s ease,border-color .4s ease}
.chk li::before{content:counter(ck,decimal-leading-zero);position:absolute;left:16px;top:15px;font-family:var(--serif);font-size:20px;font-weight:800;color:var(--gold);line-height:1.3}
.chk li::after{content:"";position:absolute;right:16px;top:50%;width:14px;height:8px;margin-top:-7px;border-left:2.5px solid var(--shu);border-bottom:2.5px solid var(--shu);transform:rotate(-45deg) scale(0);transition:transform .45s cubic-bezier(.34,1.56,.64,1)}
.chk li.on{background:#F5FBFA;border-color:rgba(28,107,138,.45)}
.chk li.on::after{transform:rotate(-45deg) scale(1)}

/* ---- XIII：質問 ---- */
.faqs{margin-top:20px;border-top:1px solid rgba(176,141,69,.4)}
.faq{border-bottom:1px solid rgba(176,141,69,.4)}
.faq summary{display:flex;gap:12px;align-items:flex-start;padding:20px 34px 20px 4px;cursor:pointer;list-style:none;font-size:16.5px;font-weight:700;line-height:1.75;position:relative;color:var(--head)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:8px;top:50%;width:9px;height:9px;border-right:1.5px solid var(--gold);border-bottom:1.5px solid var(--gold);transform:translateY(-70%) rotate(45deg);transition:transform .35s ease}
.faq[open] summary::after{transform:translateY(-30%) rotate(225deg)}
.qm{flex:none;font-family:var(--lat);font-size:22px;font-weight:600;color:var(--shu);line-height:1.2}
.ans{padding:0 6px 22px 34px;font-size:15.5px;line-height:2}

/* ---- XIV：手紙 ---- */
.letter p{font-size:16.5px}
.sign{text-align:right;font-family:var(--serif);font-size:24px;font-weight:800;letter-spacing:.3em;color:var(--head);margin-top:30px}

/* ---- 最後の申し込み ---- */
.s-final{padding:80px 0 70px}
.final-orn{position:absolute;right:0;bottom:0;width:min(90%,560px);height:420px;background:url(img/orn-br.jpg) right bottom/contain no-repeat;opacity:.22;mix-blend-mode:screen;-webkit-mask-image:radial-gradient(120% 100% at 100% 100%,#000 30%,transparent 70%);mask-image:radial-gradient(120% 100% at 100% 100%,#000 30%,transparent 70%);pointer-events:none}
.final-brand{text-align:center;font-family:var(--serif);font-size:14px;font-weight:700;letter-spacing:.26em;color:#D9BC77;margin-bottom:10px}
.s-final p{color:#E5EFEC}
.limbox.dark{background:rgba(255,255,255,.05);border-color:rgba(217,188,119,.6);box-shadow:none}
.limbox.dark::before{border-color:rgba(217,188,119,.25)}
.limbox.dark .cd .u b{color:#FFF6E2}
.limbox.dark .cd .u.s b{color:#9FD3E3}
.limbox.dark .cd .u i,.limbox.dark .stock .sl{color:#B9CFCB}
.limbox.dark .stock .sl b{color:#9FD3E3}
.limbox.dark .stock .bar{background:rgba(255,255,255,.08);border-color:rgba(217,188,119,.45)}
.final-list{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;margin:30px 0 0}
.final-btn{position:relative;display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;padding:18px 22px;border-radius:999px;text-decoration:none;background:rgba(255,255,255,.06);border:1.5px solid rgba(217,188,119,.7);color:#EEF5F3;overflow:hidden}
.final-btn-name{font-family:var(--serif);font-size:17px;font-weight:800;letter-spacing:.06em;line-height:1.4}
.final-btn-name small{display:block;font-family:var(--sans);font-size:11.5px;font-weight:500;color:#B9CFCB;letter-spacing:.04em}
.final-btn-yen{font-family:var(--serif);font-size:24px;font-weight:800;color:#F2E2B4;font-variant-numeric:lining-nums tabular-nums}
.final-btn-yen small{font-size:13px;margin-left:2px}
.final-btn.is-rec{padding-top:26px;border:none;background:linear-gradient(135deg,#8A6827,#C9A24B 45%,#F2E2B4 52%,#C9A24B 60%,#8A6827);background-size:200% 100%;color:#133F4B;box-shadow:0 14px 34px rgba(0,0,0,.35);animation:ctaShine 3.4s ease-in-out infinite,ctaPulse 2.6s ease-in-out infinite}
.final-btn.is-rec small{color:#4A2A12}
.final-btn.is-rec .final-btn-yen{color:var(--shu-deep)}
.final-btn.is-rec::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);animation:ctaSweep 3.6s ease-in-out infinite}
.final-btn-tag{position:absolute;top:0;left:22px;font-size:11px;font-weight:800;letter-spacing:.16em;color:#fff;background:var(--shu);padding:1px 12px 2px;border-radius:0 0 6px 6px}
.final-gift{margin-top:26px;text-align:center;font-size:14.5px;line-height:1.9}
.final-gift s{opacity:.8}
.final-gift b{color:#F2E2B4;font-family:var(--serif);font-size:1.15em}

.footer{text-align:center;padding:30px 20px 130px;background:var(--dark-b);color:#B9CFCB;font-size:13px}
.footer p{margin:0 0 6px}
.footer-name{font-family:var(--serif);letter-spacing:.2em;color:#D9BC77}
.footer a{color:#E5EFEC}

/* ---- 下の帯 ---- */
.sticky{position:fixed;left:0;right:0;bottom:0;z-index:60;padding:9px 14px calc(10px + env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(251,253,252,.9),rgba(251,253,252,.99));backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid rgba(176,141,69,.6);transform:translateY(105%);transition:transform .5s cubic-bezier(.22,.61,.36,1)}
.sticky.show{transform:none}
.sticky .lab{text-align:center;font-size:11.5px;font-weight:700;letter-spacing:.12em;color:var(--gold-hi);margin:0 0 6px;line-height:1.5}
.sticky .lab .hot{color:var(--shu);font-weight:800;margin-right:8px}
.sticky .lab .cdmini{margin-left:8px;color:var(--head);font-family:var(--serif);font-variant-numeric:tabular-nums}
.sticky .row{display:flex;align-items:center;gap:12px;max-width:460px;margin:0 auto}
.sticky .pricebox{flex:none;line-height:1.2;text-align:left}
.sticky .pricebox .p{font-family:var(--serif);font-size:22px;font-weight:800;color:var(--shu)}
.sticky .pricebox .p small{font-size:12px;color:var(--head);margin-left:2px}
.sticky .pricebox .n{display:block;font-size:10.5px;color:var(--mute);white-space:nowrap}
.sticky .row a{flex:1;display:block;text-decoration:none;text-align:center;padding:15px 10px;font-family:var(--serif);font-weight:800;font-size:16px;letter-spacing:.1em;color:var(--kin);background:linear-gradient(135deg,#145470,#1C6B8A 48%,#145470);border-radius:999px;box-shadow:0 8px 22px rgba(20,84,112,.32),inset 0 0 0 1px rgba(242,226,180,.55);animation:ctaPulse 2.6s ease-in-out infinite}

@media (max-width:374px){
  .back li{font-size:16.5px}
  .chk li{font-size:15px;padding-right:40px}
  .vs .c{font-size:14.5px;padding:13px 6px}
}

/* ---- PC ---- */
@media (min-width:768px){
  body{font-size:17.5px}
  section{padding:96px 0}
  .hero{padding-top:40px}
  .ph-full{margin-left:0;margin-right:0;border-radius:var(--r)}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .rv,.rv-s,.rv-b,.stag>*,.lines .ln,.price{opacity:1!important;transform:none!important;filter:none!important}
  .wipe{background-size:100% 3px}
  .kq .wipe{background-size:100% .42em}
  .dg .ln,.dg .ln2{stroke-dashoffset:0}
  .dg .dot,.dg .dotr,.dg .tg,.dg .ts{opacity:1}
}


/* ===== 2本目：水彩の水色〜若草色・青もみじ・金の細線 ===== */
:root{--wakaba:#6E9F55;--mizu:#7DB9CF}
.hero-leaf{position:absolute;top:0;right:0;width:min(58%,330px);aspect-ratio:563/461;background:url(img/orn-tl.jpg) right top/contain no-repeat;z-index:1;pointer-events:none;
  -webkit-mask-image:radial-gradient(120% 120% at 100% 0,#000 45%,transparent 75%);mask-image:radial-gradient(120% 120% at 100% 0,#000 45%,transparent 75%);
  transform-origin:100% 0;animation:sway 9s ease-in-out infinite}
@keyframes sway{0%,100%{transform:rotate(0deg)}50%{transform:rotate(-2.2deg)}}
.s-plans{background:linear-gradient(180deg,rgba(176,214,226,.45) 0%,var(--bg) 30%,rgba(205,230,214,.35) 100%)}
.s-final .final-orn{opacity:.3;mix-blend-mode:soft-light}
.vs .tick::before{border-color:var(--wakaba)}
.vnote{font-size:12.5px;color:var(--mute);text-align:center;margin:18px 0 0}
/* 棒グラフ（1本目の折れ線と別の形） */
.graph .gttl{font-family:var(--serif);font-weight:800;font-size:16px;color:var(--head);text-align:center;margin:0 0 6px;letter-spacing:.06em}
.graph .gnote{font-size:11.5px;color:var(--mute);text-align:center;margin:6px 0 0}
.bars .bs,.bars .bg{transform-box:fill-box;transform-origin:50% 100%;transform:scaleY(0);transition:transform 1.1s cubic-bezier(.22,.61,.36,1)}
.bars .bs{fill:#9FC9D8}
.bars .bg{fill:var(--gold)}
.bars .b2 rect{transition-delay:.25s}.bars .b3 rect{transition-delay:.5s}.bars .b4 rect{transition-delay:.75s}
.bars .arw{fill:none;stroke:var(--gold-hi);stroke-width:1.6;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.4s ease 1.3s}
.bars .tg,.bars .ts{opacity:0;transition:opacity .7s ease 1.9s}
.bars .ts{fill:#3E7F98}
.graph.bars.on rect{transform:scaleY(1)}
.graph.bars.on .arw{stroke-dashoffset:0}
.graph.bars.on .tg,.graph.bars.on .ts{opacity:1}
.bars + .dgcap i.d,.graph.bars .dgcap i.d{border-top-color:#9FC9D8;border-top-width:8px}
.graph.bars .dgcap i{border-top-width:8px}
@media (prefers-reduced-motion:reduce){.bars rect{transform:none}.bars .arw{stroke-dashoffset:0}.bars .tg,.bars .ts{opacity:1}}
