
:root{--bg:#faf7f0;--card:#ffffff;--gold:#c9a24a;--gold2:#8f6b1e;--text:#2a2a2a;--sub:#6b6b6b;--line:#06c755}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--bg);color:var(--text);font-family:"Noto Sans JP",sans-serif;line-height:1.9;font-size:16px;-webkit-text-size-adjust:100%}
.wrap{max-width:640px;margin:0 auto;padding:0 18px}
img{max-width:100%;height:auto;display:block;margin:0 auto}
figure{margin:22px 0}
figcaption{font-size:12.5px;color:var(--sub);text-align:center;margin-top:8px;line-height:1.6}
section{padding:44px 0;border-bottom:1px solid #e8dfcf}
h2{font-family:"Noto Serif JP",serif;font-size:23px;line-height:1.5;color:var(--gold2);text-align:center;margin-bottom:22px;font-weight:900}
h2::after{content:"";display:block;width:56px;height:2px;background:var(--gold);margin:12px auto 0}
h3{font-size:18px;color:var(--gold2);margin:26px 0 10px;line-height:1.6}
p{margin:0 0 14px}
.c{text-align:center}
.gold{color:var(--gold2);font-weight:700}
.big{font-size:20px;font-weight:900;line-height:1.6}
.small{font-size:13px;color:var(--sub)}
/* hero */
.hero{padding:40px 0 34px;text-align:center;background:radial-gradient(ellipse at top,#f3e6c4 0%,var(--bg) 70%)}
.hero .tag{display:inline-block;border:1px solid var(--gold);color:var(--gold2);font-size:13px;padding:3px 14px;border-radius:999px;margin-bottom:16px;letter-spacing:.08em}
.hero h1{font-family:"Noto Serif JP",serif;font-size:30px;line-height:1.45;font-weight:900;margin-bottom:16px}
.hero h1 em{font-style:normal;color:var(--gold2)}
.hero .lead{font-size:15.5px;color:#444}
.stat{display:flex;gap:10px;justify-content:center;margin:24px 0 8px;flex-wrap:wrap}
.stat div{flex:1 1 0;min-width:0;border:1px solid var(--gold);border-radius:10px;padding:12px 6px;background:#fbf3df}
.stat b{display:block;font-size:24px;color:var(--gold2);font-family:"Noto Serif JP",serif;line-height:1.3}
.stat span{font-size:12px;color:var(--sub)}
/* boxes */
.box{background:var(--card);border:1px solid #e8dfcf;border-radius:12px;padding:20px 18px;margin:18px 0}
.box.gold{border-color:var(--gold)}
.goal li{list-style:none;padding:8px 0 8px 2px;border-bottom:1px dashed #e2d8c6;font-weight:700}
.goal li:last-child{border-bottom:none}
.goal b{color:var(--gold2);margin-right:6px}
.worry li{list-style:none;padding:9px 0;border-bottom:1px solid #e8dfcf;font-size:15px}
.worry li::before{content:"🌀";margin-right:6px}
.check li{list-style:none;padding:5px 0 5px 1.4em;text-indent:-1.4em;font-size:15px}
.check li::before{content:"✓";color:var(--gold2);font-weight:900;margin-right:.5em}
.voice{font-family:"Noto Serif JP",serif;font-size:17px;color:var(--gold2);text-align:center;margin:30px 0 4px;font-weight:700}
.list10 li{list-style:none;padding:8px 0;border-bottom:1px solid #e8dfcf;font-weight:700}
.ach li{list-style:none;padding:6px 0;font-weight:700;font-size:16.5px}
.ach li::before{content:"◆";color:var(--gold);margin-right:8px;font-size:12px;vertical-align:2px}
/* plans */
.plan{border-radius:14px;border:1px solid var(--gold);background:#fffaf0;margin:24px 0;overflow:hidden}
.plan .hd{background:linear-gradient(90deg,#f3e3b8,#fbf3df);padding:14px 18px}
.plan .hd .n{font-size:13px;color:var(--gold2);letter-spacing:.08em}
.plan .hd .t{font-size:20px;font-weight:900}
.plan .bd{padding:16px 18px}
.price{font-size:14px;color:var(--sub)}
.price s{color:#888}
.price b{font-size:26px;color:var(--gold2);font-family:"Noto Serif JP",serif;margin-left:4px}
.meta{font-size:14px;margin:8px 0 12px}
.meta div{padding:2px 0}
.support{background:#fbf3df;border-radius:8px;padding:12px 14px;margin-top:12px;font-size:14px}
.support .ttl{color:var(--gold2);font-weight:700;margin-bottom:4px}
.yt{display:flex;flex-direction:column;gap:8px;margin:10px 0}
.yt a{display:block;text-align:center;border:1px solid #d9cfbf;border-radius:8px;padding:10px;color:var(--text);text-decoration:none;font-size:14px;background:#ffffff}
.yt a::before{content:"▶ ";color:#ff4b4b}
/* flow */
.flow{counter-reset:s}
.flow .st{position:relative;padding:14px 16px 14px 58px;background:var(--card);border-radius:10px;margin:12px 0}
.flow .st::before{counter-increment:s;content:counter(s);position:absolute;left:16px;top:14px;width:30px;height:30px;border-radius:50%;background:var(--gold);color:#111;font-weight:900;text-align:center;line-height:30px}
.flow .st b{display:block;color:var(--gold2)}
/* faq */
.faq .q{font-weight:700;color:var(--gold2);margin-top:20px}
.faq .q::before{content:"Q. "}
.faq .a{background:var(--card);border-radius:8px;padding:12px 14px;margin-top:6px;font-size:15px}
/* cta */
.cta{text-align:center;margin:26px 0 8px}
.cta a{display:block;background:var(--line);color:#fff;text-decoration:none;font-weight:900;font-size:18px;padding:17px 10px;border-radius:999px;box-shadow:0 6px 0 #04913f;line-height:1.4}
.cta a small{display:block;font-size:12.5px;font-weight:400;opacity:.95}
.cta .note{font-size:12.5px;color:var(--sub);margin-top:12px}
.warn{border:1px solid #d9c08a;background:#fbf3df;border-radius:10px;padding:14px 16px;font-size:14px;margin:18px 0}
footer{padding:30px 0 90px;text-align:center;font-size:12.5px;color:var(--sub)}
footer a{color:var(--sub);margin:0 8px}
/* sticky */
.sticky{position:fixed;left:0;right:0;bottom:0;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.95);border-top:1px solid #2a2a2a;z-index:10}
.sticky a{display:block;max-width:600px;margin:0 auto;background:var(--line);color:#fff;text-align:center;font-weight:900;text-decoration:none;padding:12px;border-radius:999px;font-size:16px}
.hero h1 .pre{display:block;font-size:19px;color:var(--gold2);margin-bottom:4px}
.hero h1 em{font-size:24px}
section.first{padding-top:20px}
.lbl{display:flex;align-items:center;gap:10px;font-weight:900;font-size:17px;margin:30px 0 10px;line-height:1.5}
.lbl b{flex:none;background:var(--gold);color:#111;border-radius:6px;padding:0 8px;font-size:14px}
.ytgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0}
.ytgrid a{display:block;color:var(--text);text-decoration:none;font-size:12px;line-height:1.5}
.ytgrid img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:6px;border:1px solid #e2d8c6}
.ytgrid span{display:block;margin-top:4px;color:#555}
.say{display:flex;align-items:flex-start;gap:10px;margin:22px 0}
.say img{width:56px;height:56px;border-radius:50%;flex:none;object-fit:cover;border:2px solid var(--gold)}
.say .bubble{position:relative;background:#fff;color:#111;border-radius:14px;padding:12px 14px;font-weight:700;font-size:15px;line-height:1.7}
.say .bubble::before{content:"";position:absolute;left:-8px;top:18px;border:8px solid transparent;border-left:0;border-right-color:#fff}
.vcat{background:var(--card);border:1px solid var(--gold);border-radius:14px;padding:16px 14px;margin:24px 0}
.vhd{display:flex;align-items:center;gap:10px;font-family:"Noto Serif JP",serif;font-weight:900;font-size:21px;color:var(--gold2);line-height:1.4}
.vhd b{flex:none;background:var(--gold);color:#111;border-radius:6px;padding:2px 9px;font-size:15px;font-family:"Noto Sans JP",sans-serif}
.vsub{font-size:14px;color:#444;margin:8px 0 12px}
img.voice{width:100%;border-radius:8px;margin:0 0 12px}
.worrybox{border:1px solid var(--gold);border-radius:14px;background:#fbf3df;padding:18px 16px 8px;margin:22px 0}
.worrybox .wtitle{text-align:center;font-family:"Noto Serif JP",serif;font-weight:900;font-size:19px;color:var(--gold2);margin-bottom:6px}
.worrybox .worry li:last-child{border-bottom:none}
.tl{position:relative;margin:20px 0;padding-left:22px}
.tl::before{content:"";position:absolute;left:7px;top:6px;bottom:6px;width:2px;background:linear-gradient(var(--gold),#5a4a22)}
.tli{position:relative;margin:0 0 18px}
.tli::before{content:"";position:absolute;left:-22px;top:6px;width:16px;height:16px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px #faf7f0}
.tlno{font-size:12px;font-weight:900;color:var(--gold);letter-spacing:.12em}
.tlbody{background:var(--card);border-radius:12px;padding:14px;margin-top:4px}
.tlbody>b{display:block;color:var(--gold2);font-size:17px;margin-bottom:4px}
.tlbody p{font-size:15px;margin:0 0 8px}
img.flowimg{width:100%;border-radius:10px;margin:6px 0 4px;aspect-ratio:16/9;object-fit:cover}
.day{border-left:3px solid var(--gold);padding:4px 0 4px 12px;margin:14px 0}
.dtime{display:inline-block;background:var(--gold);color:#111;font-size:12px;font-weight:900;border-radius:4px;padding:1px 8px}
.dtit{font-weight:900;font-size:16px;margin:4px 0}
ul.worry,ul.check,ul.ach,ul.list10{border:1px solid var(--gold);border-radius:12px;background:#fbf3df;padding:6px 16px;margin:16px 0}
ul.check{padding:10px 14px 10px 30px}
ul.ach{padding:10px 16px}
.worrybox ul.worry,.box ul{border:none;background:none;padding:0;margin:0}
.support{border:1px solid #d9c08a}
@media (max-width:380px){.hero h1{font-size:26px}h2{font-size:21px}}

.hero{padding:0 0 26px}
.hero img{width:100%;max-width:760px;display:block;margin:0 auto}
.hero h1{font-size:25px;margin:22px 0 8px}
.hero .sub{color:var(--gold2);font-weight:700}
.intro{text-align:center;margin-top:14px;color:#444}
.shout{font-family:"Noto Serif JP",serif;font-size:21px;font-weight:900;color:var(--gold2);text-align:center;margin:22px 0;line-height:1.6}
.arrow{text-align:center;color:var(--gold);margin:4px 0}
.achbox{border:1px solid var(--gold);border-radius:12px;padding:12px 16px;margin:24px 0;background:#fbf3df}
.achi{font-weight:900;font-size:17px;padding:8px 0;border-bottom:1px dashed #e2d3b0}
.achi:last-child{border-bottom:none}
.achi::before{content:"◆";color:var(--gold);margin-right:8px;font-size:12px;vertical-align:2px}
.guide .card{background:var(--card);border:1px solid #e8dfcf;border-radius:12px;padding:18px 16px;margin:20px 0}
.guide .ttl{font-weight:900;font-size:17px;color:var(--gold2);margin-bottom:10px}
.btn a{display:block;text-align:center;background:var(--gold);color:#111;font-weight:900;text-decoration:none;padding:13px;border-radius:999px;margin-top:12px}
.btn a small{display:block;font-size:12px;font-weight:400;margin-top:2px}
.ytgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}
.ytgrid a{display:block;color:var(--text);text-decoration:none;font-size:12px;line-height:1.5}
.ytgrid img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:6px;border:1px solid #e2d8c6}
.ytgrid span{display:block;margin-top:4px;color:#555}
section p{margin-bottom:16px}
.ytcta{border:1px solid #ff3b3b;border-radius:14px;background:linear-gradient(#fff1ef,#fde3df);padding:16px 14px;margin:18px 0;text-align:center}
.ytlead{font-weight:700;font-size:15px;margin:0 0 12px!important}
.ytbtn{display:block;background:#ff0000;color:#fff;text-decoration:none;font-weight:900;font-size:18px;padding:14px 10px;border-radius:999px;box-shadow:0 5px 0 #a80000;line-height:1.4}
.ytbtn small{display:block;font-size:12px;font-weight:400;opacity:.95}
.ytplay{display:inline-block;background:#fff;color:#ff0000;border-radius:6px;font-size:12px;padding:1px 7px;margin-right:8px;vertical-align:3px}

/* 10/2 デザイン強化：タイトル */
.titlebox{position:relative;margin:26px 0 10px;padding:30px 16px 22px;border:2px solid var(--gold);border-radius:16px;background:radial-gradient(ellipse at top,#f6e7c2 0%,#fffaf0 70%);box-shadow:0 0 28px rgba(212,175,55,.35),inset 0 0 22px rgba(212,175,55,.15);text-align:center}
.tbadge{position:absolute;top:-15px;left:50%;transform:translateX(-50%);background:linear-gradient(90deg,#b8860b,#ffe08a,#b8860b);color:#111;font-weight:900;font-size:14px;padding:4px 18px;border-radius:999px;letter-spacing:.15em;white-space:nowrap}
.hero .titlebox h1{font-family:"Noto Serif JP",serif;font-size:29px;line-height:1.55;margin:0 0 10px;font-weight:900;color:#fff;text-shadow:0 2px 0 #000,0 0 18px rgba(255,215,100,.45)}
.titlebox h1 em{font-style:normal;color:#9aa0a6;font-size:.85em}
.titlebox h1 strong{display:inline-block;font-size:1.22em;background:linear-gradient(180deg,#fff6c8 0%,#ffd75a 45%,#c8921a 100%);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none;filter:drop-shadow(0 2px 0 #000) drop-shadow(0 0 10px rgba(255,200,60,.55))}
.titlebox .sub{font-size:16px;letter-spacing:.08em;margin:0}
@media(min-width:600px){.hero .titlebox h1{font-size:36px}}
/* 10/2 デザイン強化：画像を明るく・金縁 */
main figure img,.guide figure img,img.voice,.thumb img{filter:brightness(1.12) saturate(1.12);border:2px solid var(--gold);border-radius:10px;box-shadow:0 0 16px rgba(212,175,55,.28);background:#f3eee4}
.ytgrid img{filter:brightness(1.1) saturate(1.1);border:1.5px solid var(--gold)}
.thumb{display:block;margin:6px 0 14px;transition:transform .25s}
.thumb img{width:100%;display:block}
.thumb:hover{transform:scale(1.03)}
.forwho{font-weight:900;color:var(--gold2);margin:14px 0 6px!important}
/* 10/2 デザイン強化：ボタン（キラーン＋拡大＋鼓動） */
.btn a,.cta a,.ytbtn,.sticky a{position:relative;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;animation:pulse 2.2s ease-in-out infinite}
.btn a{background:linear-gradient(180deg,#ffe58f 0%,#e6b422 55%,#b8860b 100%);box-shadow:0 5px 0 #7a5a08,0 0 18px rgba(255,200,60,.45);font-size:17px;padding:15px 10px}
.btn a::before,.cta a::before,.ytbtn::before,.sticky a::before{content:"";position:absolute;top:-50%;left:-80%;width:45%;height:200%;background:linear-gradient(100deg,transparent 0%,rgba(255,255,255,.75) 50%,transparent 100%);transform:rotate(18deg);animation:shine 2.8s ease-in-out infinite;pointer-events:none}
.btn a::after,.cta a::after,.ytbtn::after{content:"▶";position:absolute;right:18px;top:50%;transform:translateY(-50%);font-size:13px;opacity:.85}
.btn a:hover,.cta a:hover,.ytbtn:hover,.sticky a:hover{transform:scale(1.06);filter:brightness(1.1);animation-play-state:paused}
.btn a:hover::before,.cta a:hover::before,.ytbtn:hover::before,.sticky a:hover::before{animation:shine .7s ease-out}
.btn a:active,.cta a:active,.ytbtn:active,.sticky a:active{transform:scale(.97) translateY(3px)}
@keyframes shine{0%{left:-80%}55%{left:130%}100%{left:130%}}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.035)}}

/* 白背景（10/3 滝沢さんの指摘で黒背景をやめた） */
html,body{background:#faf7f0!important;color:#2a2a2a}
.hero h1 em,.vsl-title,.hero h1 em *{background:linear-gradient(180deg,#c9a24a,#7a5a16)!important;-webkit-background-clip:text!important;background-clip:text!important;-webkit-text-fill-color:transparent!important}
.say .bubble{border:1px solid #e2d3b0!important;box-shadow:0 2px 8px rgba(120,90,30,.08)}
.say .bubble::before{border-right-color:#e2d3b0!important}
img{box-shadow:none}

/* 白背景の追加調整（白文字だった箇所） */
h1{color:#2a2a2a!important;text-shadow:none!important}
.big3 span{color:#2a2a2a!important}
.fr a.v,.cp.jump{color:#c0392b!important}
/* 有料note紹介（10/4） */
.nc{display:block;border:1.5px solid var(--gold);border-radius:14px;overflow:hidden;background:#fffdf7;margin:16px 0;color:#2a2a2a;text-decoration:none;box-shadow:0 2px 10px rgba(120,90,30,.1);transition:transform .2s}
.nc:hover{transform:translateY(-2px)}
.nc img{width:100%;aspect-ratio:1280/670;object-fit:cover;display:block;border:0!important;border-radius:0!important;filter:none!important}
.nc .nb{padding:12px 14px 14px}
.nc .nt{font-weight:900;font-size:16.5px;line-height:1.5;color:#7a5a16;margin-bottom:6px}
.nc .check{margin:0;padding-left:1.2em}.nc .check li{font-size:14px;line-height:1.6;margin:2px 0}
.nc .np{display:flex;align-items:baseline;gap:6px;margin-top:8px;border-top:1px dashed #d8c69c;padding-top:8px}
.nc .np span{font-size:12px;color:#888}
.nc .np b{font-family:"Noto Serif JP",serif;font-size:20px;color:#7a5a16}
.nc .np em{font-style:normal;margin-left:auto;font-size:13px;font-weight:700;color:#111;background:linear-gradient(180deg,#ffe58f,#e6b422);border-radius:999px;padding:3px 12px;white-space:nowrap}

/* 単発講座バナー（10/10） */
.tb{display:block;position:relative;border-radius:16px;overflow:hidden;border:2px solid var(--gold);box-shadow:0 6px 22px rgba(120,90,30,.25);text-decoration:none;color:#fff;margin:6px 0 4px;transition:transform .25s}
.tb:hover{transform:scale(1.02)}
.tb img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block;border:0!important;border-radius:0!important;box-shadow:none!important;filter:brightness(.95)}
.tb .ov{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05) 0%,rgba(0,0,0,.25) 40%,rgba(0,0,0,.82) 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:16px 16px 18px}
.tb .bd{align-self:flex-start;background:linear-gradient(180deg,#ffe58f,#e6b422);color:#111;font-weight:900;font-size:12.5px;padding:3px 12px;border-radius:999px;margin-bottom:8px;letter-spacing:.06em}
.tb .hl{font-family:"Noto Serif JP",serif;font-weight:900;font-size:22px;line-height:1.45;text-shadow:0 2px 8px rgba(0,0,0,.6)}
.tb .pr{font-size:13px;margin-top:4px;opacity:.95}
.tstat{display:flex;gap:8px;margin:14px 0 4px}
.tstat div{flex:1 1 0;min-width:0;text-align:center;border:1px solid var(--gold);border-radius:10px;padding:10px 4px;background:#fbf3df}
.tstat b{display:block;font-family:"Noto Serif JP",serif;font-size:21px;color:var(--gold2);line-height:1.3}
.tstat span{font-size:11.5px;color:var(--sub)}
.bigbtn a{display:block;text-align:center;color:#111;font-weight:900;text-decoration:none;font-size:18px;padding:16px 10px;border-radius:999px;margin-top:14px;background:linear-gradient(180deg,#ffe58f 0%,#e6b422 55%,#b8860b 100%);box-shadow:0 5px 0 #7a5a08,0 0 18px rgba(255,200,60,.45);animation:pulse 2.2s ease-in-out infinite;line-height:1.4}
.bigbtn a small{display:block;font-size:12.5px;font-weight:400}
.sticky a.gd{background:linear-gradient(180deg,#ffe58f 0%,#e6b422 55%,#b8860b 100%);color:#111}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.035)}}

/* 有料noteショーケース v2（10/10） */
.show{margin:22px 0}
.show .band{position:relative;text-align:center;background:linear-gradient(135deg,#7a5a16 0%,#c9a24a 45%,#f3dc95 55%,#c9a24a 65%,#7a5a16 100%);color:#fff;border-radius:14px;padding:16px 12px 14px;box-shadow:0 6px 18px rgba(120,90,30,.3)}
.show .band b{display:block;font-family:"Noto Serif JP",serif;font-size:24px;font-weight:900;letter-spacing:.06em;text-shadow:0 2px 6px rgba(0,0,0,.35)}
.show .band span{display:block;font-size:13px;opacity:.95}
.show .band .pk{font-size:11px;font-weight:900;letter-spacing:.3em;opacity:.9;margin-bottom:2px}
.show .lead2{text-align:center;font-size:14.5px;color:#555;margin:14px 0 4px}
.nshow{display:block;position:relative;text-decoration:none;color:#2a2a2a;background:#fff;border-radius:16px;overflow:hidden;margin:20px 0;border:2px solid var(--gold);box-shadow:0 8px 24px rgba(120,90,30,.22);transition:transform .2s}
.nshow:active,.nshow:hover{transform:scale(1.02)}
.nshow .th{position:relative}
.nshow .th img{width:100%;aspect-ratio:1280/670;object-fit:cover;display:block;margin:0;border:0!important;border-radius:0!important;box-shadow:none!important;filter:none!important}
.nshow .rb{display:inline-block;background:linear-gradient(180deg,#d63b2f,#a8231a);color:#fff;font-weight:900;font-size:12.5px;padding:2px 12px;border-radius:999px;margin-bottom:6px}
.nshow .pc{position:absolute;right:12px;bottom:-52px;width:66px;height:66px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff3c4,#e6b422 55%,#b8860b);color:#3a2a00;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:900;font-family:"Noto Serif JP",serif;font-size:16px;line-height:1.1;box-shadow:0 4px 10px rgba(0,0,0,.3);border:2px solid #fff}
.nshow .pc small{font-size:10px;font-family:"Noto Sans JP",sans-serif;font-weight:700}
.nshow .bd2{padding:14px 16px 16px}
.nshow .hk{font-family:"Noto Serif JP",serif;font-weight:900;font-size:19px;line-height:1.5;color:#7a5a16;padding-right:70px}
.nshow .nm{font-size:12.5px;color:#888;margin-top:4px}
.nshow .go{position:relative;overflow:hidden;display:block;text-align:center;margin-top:12px;padding:13px 10px;border-radius:999px;font-weight:900;font-size:17px;color:#111;background:linear-gradient(180deg,#ffe58f 0%,#e6b422 55%,#b8860b 100%);box-shadow:0 4px 0 #7a5a08;animation:npulse 2.4s ease-in-out infinite}
.nshow .go::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.75),transparent);transform:skewX(-20deg);animation:nshine 2.8s ease-in-out infinite}
@keyframes nshine{0%{left:-60%}55%,100%{left:130%}}
@keyframes npulse{0%,100%{transform:scale(1)}50%{transform:scale(1.03)}}
.nshow.feat{border-width:3px}
.nshow.feat .hk{font-size:21px}
/* 10/10 スマホで見出しが3行になるので値段シールを画像の右下に */
.nshow .pc{bottom:10px}
.nshow .hk{padding-right:0}
.show .band span{font-size:12px}

/* 10/15 漫画版の切り替え */
.mgsel{margin:22px auto 0;max-width:640px}
.mgsel .q{text-align:center;font-weight:900;font-size:15px;color:#7a5a16;margin-bottom:10px}
.mgsel .opts{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.mgsel button{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 8px 12px;border-radius:14px;border:2px solid #c9a44c;background:#fffaf0;text-align:center;transition:transform .15s}
.mgsel button:active{transform:scale(.97)}
.mgsel button img{width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:8px;display:block}
.mgsel button .ic{width:100%;aspect-ratio:2/3;border-radius:8px;display:flex;align-items:center;justify-content:center;background:repeating-linear-gradient(#fff 0 26px,#efe6d2 26px 27px);font-family:"Noto Serif JP",serif;font-weight:900;font-size:15px;line-height:1.7;color:#555}
.mgsel button b{font-size:16px;font-weight:900;color:#111}
.mgsel button small{font-size:11.5px;color:#888;line-height:1.4}
.mgsel button{position:relative}
.mgsel .rb{position:absolute;top:-10px;left:50%;transform:translateX(-50%);background:#c0392b;color:#fff;font-size:11.5px;font-weight:900;padding:3px 12px;border-radius:999px;z-index:2;white-space:nowrap}
.mgsel button.on{background:linear-gradient(180deg,#ffe58f 0%,#e6b422 100%);border-color:#b8860b;box-shadow:0 4px 0 #7a5a08}
.mgsel button.on small{color:#5a4410}
#manga{display:none;margin:18px auto 0;max-width:760px}
#manga .pg{display:block;width:100%;height:auto;margin:0 0 6px;background:#eee}
#manga .end{margin:26px 0 8px;padding:20px 16px;border:2px solid #c9a44c;border-radius:16px;background:#fffaf0;text-align:center}
#manga .end .lead{font-family:"Noto Serif JP",serif;font-weight:900;font-size:20px;line-height:1.6;color:#111}
#manga .end .sub{font-size:13.5px;color:#666;margin:6px 0 14px;line-height:1.7}
#manga .end .tb{display:block;border-radius:12px;overflow:hidden;margin-bottom:14px}
#manga .end .tb img{width:100%;display:block}
#manga .end .go{position:relative;overflow:hidden;display:block;padding:16px 10px;border-radius:999px;font-weight:900;font-size:18px;color:#111;text-decoration:none;background:linear-gradient(180deg,#ffe58f 0%,#e6b422 55%,#b8860b 100%);box-shadow:0 4px 0 #7a5a08;animation:npulse 2.4s ease-in-out infinite}
#manga .end .go small{display:block;font-size:11.5px;font-weight:700;margin-top:2px}
#manga .end .go::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.75),transparent);transform:skewX(-20deg);animation:nshine 2.8s ease-in-out infinite}
#manga .end .alt{display:inline-block;margin-top:14px;font-size:13px;color:#7a5a16;text-decoration:underline;cursor:pointer;background:none;border:0}
body.mg-on main.wrap > section:not(.guide){display:none}

/* 10/15 漫画の最後5ページで単発講習の固定CTA */
body.mg-on .sticky{display:none}
#mgcta{position:fixed;left:0;right:0;bottom:0;z-index:60;padding:8px 12px calc(env(safe-area-inset-bottom,0px) + 10px);background:linear-gradient(transparent,rgba(250,246,238,.96) 28%);transform:translateY(120%);transition:transform .35s ease}
#mgcta.show{transform:none}
#mgcta a{position:relative;overflow:hidden;display:block;max-width:640px;margin:0 auto;text-align:center;text-decoration:none;padding:12px 10px;border-radius:999px;font-weight:900;font-size:17px;line-height:1.35;color:#111;background:linear-gradient(180deg,#ffe58f 0%,#e6b422 55%,#b8860b 100%);box-shadow:0 4px 0 #7a5a08;animation:npulse 2.4s ease-in-out infinite}
#mgcta a small{display:block;font-size:11.5px;font-weight:700}
#mgcta a::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.75),transparent);transform:skewX(-20deg);animation:nshine 2.8s ease-in-out infinite}

/* ==== 2 ==== */
/* 11/3 本人「もっとNOTEに寄せて・題名は黒字・背景のデザインいらん・文体(書体)もNOTEに・3ページ統一」
   自己紹介R566／単発講座LP uUSfchMJfXw7／SサロンLP Q3Bf32OhCRbA の共通。文章・リンク・並びは変えず見た目だけ上書きする */
:root{--bg:#ffffff!important;--card:#ffffff!important;--text:#08131a!important;--sub:#5e6c74!important}
/* --gold/--gold2 はCTAボタンが使うので上書きしない */
html,body,#app,main,section,.hero,.fn-section,section.fn-section,.section-wrap,.fn-row,.fn-col,.element,.notes,.guide{background:#fff!important;background-image:none!important}
body,body *:not(i):not([class*="fa"]){font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif!important}
body{color:#08131a!important;font-size:17px;line-height:2}
p,li,.fn-el-text,.fn-el-text p,.fn-el-text span,.fn-el-text strong{color:#08131a!important}
h1,h2,h3,h4,.hero h1,.hero h1 *,.titlebox h1,.titlebox h1 *,.vsl-title,.vsl-title *,.vsl-end,.wtitle,.worrybox .wtitle,
.fn-el-head,.fn-el-head *,.fn-el-subhead,.fn-el-subhead *,.fn-el-text span[style*="color"]{
  color:#08131a!important;-webkit-text-fill-color:#08131a!important;background:none!important;-webkit-background-clip:border-box!important;background-clip:border-box!important;
  text-shadow:none!important;filter:none!important;letter-spacing:0!important}
h1,.hero h1,.titlebox h1,.vsl-title{font-weight:700!important;font-size:28px!important;line-height:1.5!important}
h2,.fn-el-head,.fn-el-head *{font-weight:700!important;font-size:22px!important;line-height:1.6!important;text-align:left!important}
h3,.wtitle{font-weight:700!important;font-size:19px!important;text-align:left!important}
h2::after,.fn-el-head .el-wrap::after{display:none!important}
.titlebox h1 em,h1 em,h1 span,h1 b,h1 strong{color:#08131a!important;-webkit-text-fill-color:#08131a!important;background:none!important}
.titlebox{border:0!important;background:none!important;box-shadow:none!important;padding:8px 0!important;margin:16px 0 8px!important}
.box,.plan,.plan .hd,.support,.warn,.flow .st,.faq .a,.tlbody,.vcat,.worrybox,ul.worry,ul.check,ul.ach,ul.list10,.achbox,.guide .card,.stat div,.tstat div,.vstat div,.vbox,.fn-el-bullet .el-wrap,.show .band{
  background:#fff!important;background-image:none!important;border:1px solid #e6e8ea!important;box-shadow:none!important;border-radius:6px!important}
.show .band{border:0!important;border-bottom:1px solid #e6e8ea!important;text-align:left!important}
.tl::before{background:#e6e8ea!important}.tli::before{background:#08131a!important;box-shadow:0 0 0 4px #fff!important}
.lbl b,.vhd b,.dtime,.tbadge,.vsl-badge,.vsl-tag,.rb,.nshow .rb,.tb .bd,.flow .st::before,.nc .np em{background:#fff!important;color:#08131a!important;border:1px solid #08131a!important;box-shadow:none!important;font-weight:700!important}
.flow .st::before{border-radius:50%!important}
.tbadge{position:static!important;transform:none!important;display:inline-block!important;margin-bottom:6px}
.stat b,.tstat b,.vstat b,.big3 span,.say .bubble b{color:#08131a!important;font-family:inherit!important}
img,main figure img,.guide figure img,img.voice,.thumb i,.fn-el-image img,.wall img{border:0!important;box-shadow:none!important;filter:none!important;border-radius:4px!important;background:none!important}
.fn-el-video .video,.app-video,.video.theme-app,.tb{border:0!important;box-shadow:none!important;border-radius:4px!important}
.say .bubble{background:#f5f6f6!important;color:#08131a!important;font-weight:400!important;box-shadow:none!important;border:0!important}
.say .bubble *{color:#08131a!important}.say .bubble::before{border-right-color:#f5f6f6!important}
/* CTAボタンは上書きしない（元の金ボタンのまま） */
.nc,.nshow{background:#fff!important;border:1px solid #e6e8ea!important;box-shadow:none!important;border-radius:6px!important;color:#08131a!important}
.nshow .hk{font-family:inherit!important;color:#08131a!important}
.fn-el-countdown .countdown-nubmer{background:#fff!important;border:1px solid #e6e8ea!important;color:#08131a!important;box-shadow:none!important}
.fn-el-footer,.fn-el-footer *{background:#fff!important}
.hero{text-align:left!important;padding:24px 0 8px!important}
.hero .tag,.titlebox .tbadge{display:none!important}
.hero h1,.titlebox h1{font-size:26px!important;line-height:1.55!important;font-weight:700!important;text-align:left!important;margin:0 0 12px!important}
.hero h1 br{display:none}
.hero h1 strong,.hero h1 em,.hero h1 .pre,.hero h1 span{font-size:1em!important;font-weight:700!important;display:inline!important;font-style:normal!important}
.hero .sub,.hero .lead{text-align:left!important;color:#5e6c74!important;font-size:15px!important}
.say img{width:48px!important;height:48px!important;border-radius:50%!important;object-fit:cover!important;border:0!important}
.say .bubble{text-align:left!important}
.hero h1 em,.hero h1 em *,.hero h1 .pre{color:#08131a!important;-webkit-text-fill-color:#08131a!important;background:none!important}
.hero>img,.hero img.thumb-top{width:calc(100% - 36px)!important;max-width:604px!important;margin:18px auto 4px!important;border-radius:6px!important;display:block!important}

/* ==== 記事サイト ==== */
.sitebar{border-bottom:1px solid #e6e6e6;background:#fff;padding:10px 16px;text-align:center}
.sitebar a{color:#08131a;font-weight:700;font-size:14px;text-decoration:none;letter-spacing:.02em}
.article{padding-top:8px}
.ahead{margin:24px 0 8px}
.ahead h1{font-size:24px;line-height:1.5;font-weight:700;color:#08131a;margin:0;text-align:left}
.ahead .meta{color:#6b7280;font-size:13px;margin:8px 0 0}
.article .intro-say{margin:20px 0}
.article h2{margin-top:44px}
.article h3{font-size:18px;margin:28px 0 8px;color:#08131a}
.article blockquote{margin:16px 0;padding:12px 16px;border-left:3px solid #d1d5db;color:#374151;background:#f9fafb}
.toc{border:1px solid #e5e7eb;border-radius:8px;padding:14px 18px;margin:24px 0}
.toc p{font-weight:700;margin:0 0 6px}
.toc ol{margin:0;padding-left:1.4em}
.toc a{color:#08131a}
ol.steps{list-style:none;counter-reset:st;padding:0;margin:16px 0}
ol.steps li{counter-increment:st;position:relative;padding:12px 14px 12px 52px;border:1px solid #e5e7eb;border-radius:8px;margin:10px 0}
ol.steps li::before{content:counter(st);position:absolute;left:14px;top:12px;width:26px;height:26px;border-radius:50%;background:#08131a;color:#fff;font-size:14px;font-weight:700;text-align:center;line-height:26px}
ol.steps li b{display:block;margin-bottom:2px}
ul.dots{padding-left:1.3em;margin:12px 0}
ul.dots li{margin:4px 0}
.ytcard{display:block;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;color:#08131a;text-decoration:none;margin:16px 0}
.ytcard img{display:block;width:100%;height:auto}
.ytcard span{display:block;padding:10px 14px;font-weight:700;font-size:15px}
.posts{display:grid;gap:14px;margin:16px 0 40px}
.post{display:flex;gap:12px;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;color:#08131a;text-decoration:none}
.post img{width:38%;max-width:200px;object-fit:cover;flex:none}
.post div{padding:10px 12px 10px 0}
.post b{display:block;font-size:15px;line-height:1.5}
.post span{display:block;font-size:13px;color:#6b7280;margin-top:4px;line-height:1.6}
.fnav{margin-bottom:10px}
.fnav a{margin-right:14px}
.card p.tk{font-weight:700;border:1px solid #e5e7eb;border-radius:8px;padding:12px 14px;margin:12px 0;text-align:center}
.ytlead-box{margin:20px 0 8px}
.ytlead-box .yl{font-weight:700;margin:0 0 8px}
.ytcard .ythumb{position:relative;display:block}
.ytcard .ythumb i{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:64px;height:44px;border-radius:12px;background:#e62117;color:#fff;font-style:normal;font-size:20px;line-height:44px;text-align:center}
.ytsub{display:block;font-size:14px;color:#08131a;margin:8px 0 0}
figure.zu{margin:20px 0}
figure.zu svg{display:block;width:100%;height:auto}
figure.zu figcaption{font-size:13px;color:#6b7280;text-align:center;margin-top:6px}
