/* アダアカ ダークテーマ（2026-07-28 KEN指示：黒背景・白文字・差し色ピンク＝afi-support.netの世界観を踏襲）
   実測トークン：ピンク#E0218A/#FF6BB0・本文16px/行間2.0/段落下30px・見出し=白900の#333帯・角丸6px（blog実測） */
:root{
  --ink:#ffffff;
  --sub:#a9aeb9;
  --bg:#0d0f14;
  --panel:rgba(255,255,255,.05);
  --band:#2e323c;
  --accent:#e0218a;
  --accent2:#ff6bb0;
  --line:rgba(255,255,255,.16);
  --radius:14px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:var(--bg);color:var(--ink);font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic",sans-serif;line-height:2.05;font-size:16px;-webkit-text-size-adjust:100%}
a{color:var(--accent2);text-decoration:underline;word-break:break-word}
a:hover{color:var(--accent)}
img,svg{max-width:100%;height:auto}

.site-head{padding:8px 20px;border-bottom:1px solid var(--line);background:rgba(13,15,20,.94);position:sticky;top:0;z-index:10;backdrop-filter:blur(6px)}
.site-head .head-in{max-width:760px;margin:0 auto;display:flex;align-items:center;gap:14px}
.site-head .brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}
html{scroll-behavior:smooth}
.doc h2[id],.chapter h2[id]{scroll-margin-top:84px}
.toc-fly{position:fixed;right:18px;top:50%;transform:translateY(-50%);z-index:20;width:196px;background:rgba(13,15,20,.93);border:3px solid var(--line);border-radius:12px;padding:12px 10px;backdrop-filter:blur(4px)}
.toc-fly .toc-t{font-size:11px;font-weight:900;color:var(--sub);letter-spacing:.12em;margin:0 0 8px 8px}
.toc-fly a{display:block;font-size:12px;color:var(--sub);text-decoration:none;padding:6px 8px;border-left:3px solid transparent;border-radius:0 6px 6px 0;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.toc-fly a .tn{color:var(--accent2);font-weight:900;margin-right:6px;font-size:11px}
.toc-fly a.active{color:#fff;font-weight:700;border-left-color:var(--accent);background:rgba(224,33,138,.14)}
.toc-fly a:hover{color:#fff}
.toc-btn{display:none}
@media(max-width:1279px){
.toc-fly{display:none;right:14px;bottom:80px;top:auto;transform:none;max-height:58vh;overflow:auto;width:210px}
.toc-fly.open{display:block}
.toc-btn{display:flex;align-items:center;justify-content:center;position:fixed;right:14px;bottom:20px;z-index:21;width:54px;height:54px;border-radius:50%;background:var(--accent);color:#fff;font-size:11.5px;font-weight:900;border:3px solid #fff;box-shadow:0 4px 16px rgba(0,0,0,.5);cursor:pointer;font-family:inherit}
}
.site-head .loc-chip{margin-left:auto;font-size:11.5px;font-weight:900;letter-spacing:.04em;border-radius:100px;padding:4px 12px;white-space:nowrap;border:3px solid}
.site-head .loc-chip.loc-free{color:var(--accent2);border-color:var(--accent);background:rgba(224,33,138,.12)}
.site-head .loc-chip.loc-mem{color:#ffd76a;border-color:#d4a017;background:rgba(212,160,23,.12)}
.site-head .brand-agency{display:inline-flex;align-items:center;margin-left:14px;padding-left:14px;border-left:1px solid var(--line)}
.site-head .head-in:not(:has(.loc-chip)) .brand-agency{margin-left:auto}
@media(max-width:480px){
.site-head .loc-chip{font-size:10px;padding:3px 8px}
.site-head .brand .member-tag{display:none}
}
/* ロゴは常に縦横比維持（グローバルimg{max-width:100%}が幅だけ潰すのを打ち消す・2026-07-31） */
.site-head .brand-agency img{height:34px;width:auto;max-width:none;flex:0 0 auto;display:block}
.site-head .brand img{height:44px;width:auto;max-width:none;flex:0 0 auto;display:block}
.site-head .brand,.site-head .brand-agency{min-width:0;flex:0 0 auto}
@media(max-width:600px){
.site-head .brand img{height:min(38px,9.2vw)}
.site-head .brand-agency img{height:min(28px,6.8vw)}
.site-head .head-in{gap:6px}
.site-head .brand-agency{margin-left:6px;padding-left:6px}
}
.site-head .brand .member-tag{font-size:11.5px;font-weight:700;color:#ffd76a;border:3px solid #d4a017;border-radius:100px;padding:2px 10px;white-space:nowrap}
.zone-bar{background:linear-gradient(90deg,rgba(212,160,23,.16),rgba(212,160,23,.3),rgba(212,160,23,.16));color:#ffd76a;border-bottom:2px solid #d4a017;text-align:center;font-size:13px;font-weight:900;letter-spacing:.06em;padding:8px 14px}
.mem-link{text-align:center;margin:-6px 0 26px}
.mem-link a{display:inline-block;font-size:13px;font-weight:700;color:#ffd76a;text-decoration:none;border:3px solid #d4a017;border-radius:100px;padding:6px 16px;background:rgba(212,160,23,.1)}
.mem-link a:hover{background:rgba(212,160,23,.22)}
.teaser{position:relative;margin:40px 0 6px}
.teaser-body{max-height:440px;overflow:hidden;user-select:none;pointer-events:none}
.teaser-body>*:first-child{margin-top:0}
.teaser-fade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,15,20,0) 0%,rgba(13,15,20,.3) 38%,rgba(13,15,20,.9) 76%,#0d0f14 96%);display:flex;align-items:flex-end;justify-content:center;padding-bottom:8px}
.teaser-lock{color:#fff;font-weight:900;font-size:15.5px;letter-spacing:.04em;text-shadow:0 2px 10px rgba(0,0,0,.8)}
.continue-mark{scroll-margin-top:120px;text-align:center;color:#ffd76a;font-size:13px;font-weight:900;letter-spacing:.08em;margin:56px 0 40px;display:flex;align-items:center;gap:14px}
.continue-mark::before,.continue-mark::after{content:"";flex:1;height:2px;background:linear-gradient(90deg,transparent,#d4a017);border-radius:1px}
.continue-mark::after{background:linear-gradient(90deg,#d4a017,transparent)}

.hero-logo{text-align:center;padding-top:30px;margin-bottom:10px;position:relative;z-index:1}
.hero-logo img{width:min(300px,72vw);height:auto;filter:drop-shadow(0 6px 28px rgba(0,0,0,.55))}

/* FV＝大キャッチ＋数字バッジ（国内LP定石：1画面内に約束・権威・CTA） */
/* キャッチ＝本家FV実測（52px/900）に準拠。背後に本家式の巨大アウトライン英字透かし */
.fv-catch{font-size:clamp(30px,8.4vw,52px);font-weight:900;line-height:1.45;text-align:center;margin:6px 0 28px;position:relative;z-index:1;text-shadow:0 3px 18px rgba(0,0,0,.78)}
.fv-catch .pk{color:var(--accent2)}
.fv-catch .nw{display:inline-block;white-space:nowrap;font-size:min(1em,calc((100vw - 52px)/11))}
.fv-wm{position:absolute;top:96px;left:50%;transform:translateX(-50%);font-size:clamp(96px,17vw,270px);font-weight:900;letter-spacing:.02em;color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.09);z-index:0;pointer-events:none;white-space:nowrap;font-family:Arial,sans-serif}
.fv-stats{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin:0 0 32px;position:relative;z-index:1}
.fv-stats .stat{background:rgba(13,15,20,.72);border:5px solid var(--accent);border-radius:14px;padding:16px 22px;text-align:center;min-width:150px;box-shadow:0 4px 18px rgba(0,0,0,.4)}
.fv-stats .num{font-size:38px;font-weight:900;color:#fff;line-height:1.15}
.fv-stats .unit{font-size:16px;font-weight:900;color:#fff;margin-left:3px}
.fv-stats .label{font-size:12.5px;color:#c9cdd6;margin-top:5px;font-weight:700}
@media(max-width:480px){
  .fv-stats{gap:8px}
  .fv-stats .stat{min-width:0;flex:1 1 30%;padding:12px 6px;border-width:3px}
  .fv-stats .num{font-size:27px}
  .fv-stats .unit{font-size:13px}
  .fv-stats .label{font-size:10.5px}
}

/* 水野式コンポーネント（design-study-mizuno.md 準拠・2026-07-29） */
.dlg{display:flex;margin:0 0 18px;position:relative;z-index:1}
.dlg .bub{max-width:80%;padding:13px 17px;border-radius:16px;font-size:14.8px;line-height:1.95}
.dlg .bub p,.dlg .bub br+br{margin:0}
.dlg.q{justify-content:flex-start;align-items:flex-start;gap:10px}
.dlg.q img.avatar-q{width:56px;height:56px;flex:0 0 auto;border-radius:50%;object-fit:cover;object-position:50% 10%;border:3px solid var(--line);background:#fff;transform:scaleX(-1);filter:drop-shadow(0 2px 10px rgba(0,0,0,.55))}
.dlg.q .bub{background:rgba(255,255,255,.07);border:3px solid var(--line);border-top-left-radius:4px;color:#e8eaee}
.dlg.a{justify-content:flex-end;align-items:flex-end;gap:10px;margin-bottom:34px}
.dlg.a img.avatar{width:88px;height:auto;flex:0 0 auto;filter:drop-shadow(0 2px 10px rgba(0,0,0,.55))}
.dlg.a .bub{background:rgba(224,33,138,.13);border:3px solid var(--accent);border-bottom-right-radius:4px;color:#fff}
.point-box{border:5px solid var(--accent);border-radius:12px;background:var(--panel);padding:18px 20px;margin:36px 0 28px}
.point-box .pt{display:inline-block;font-weight:900;color:var(--accent2);font-size:17px;letter-spacing:.1em;margin-bottom:10px}
.point-box ul{margin:0;padding:0;list-style:none}
.point-box li{margin:0 0 8px;padding-left:26px;position:relative;font-size:14.5px;line-height:1.9}
.point-box li:last-child{margin-bottom:0}
.point-box li::before{content:"✓";position:absolute;left:0;color:var(--accent2);font-weight:900}
/* ロボは大胆に・ただし見出しテキストとは重ねない（padding-rightでロボ領域確保。body.lp付き=共通h2ルールより強い特異度で上書き） */
body.lp .chapter h2{position:relative;padding-right:104px}
body.lp .chapter h2 img.h-robo{position:absolute;right:8px;bottom:0;height:124px;width:auto;filter:drop-shadow(0 3px 10px rgba(0,0,0,.55))}
.cta-robo{display:block;margin:0 auto 8px;height:180px;width:auto;filter:drop-shadow(0 5px 18px rgba(0,0,0,.55))}
.sign{text-align:right;margin:-6px 0 6px}
.sign img{width:min(280px,58vw);height:auto;opacity:.92}
.fig-robo{text-align:center;margin:0 0 28px}
.fig-robo img{height:270px;width:auto;filter:drop-shadow(0 8px 24px rgba(0,0,0,.6))}
.fig-robo.flip img{transform:scaleX(-1)}
/* 章ヒーローロボのスケール正規化＝頭部サイズ基準（立ち270pxを基準に姿勢の実比率で表示） */
.fig-robo.pose-stand img,.fig-robo.pose-guide img{height:270px}
.fig-robo.pose-stance img{height:300px}
.fig-robo.pose-flex img{height:290px}
.fig-robo.pose-agura img{height:205px}
.fig-robo.pose-kneel img{height:185px}
.fig-robo.pose-crouch img{height:165px}
.fig-robo.pose-fist img{height:165px}
@media(max-width:480px){
.fig-robo.pose-stand img,.fig-robo.pose-guide img{height:210px}
.fig-robo.pose-stance img{height:235px}
.fig-robo.pose-flex img{height:225px}
.fig-robo.pose-agura img{height:160px}
.fig-robo.pose-kneel img{height:145px}
.fig-robo.pose-crouch img{height:130px}
.fig-robo.pose-fist img{height:130px}
}
body.members{background:#050505 url(bg-main.jpg) center top/cover no-repeat fixed}
body.lp,body.chapterpage{background:#050505 url(bg-main.jpg) center top/cover no-repeat fixed}
.robo-squad{position:relative;z-index:1;width:100vw;margin:0 calc(50% - 50vw) 34px;display:flex;justify-content:center;align-items:flex-end;pointer-events:auto}
.robo-squad .sq{display:flex;flex-direction:column;align-items:center;gap:10px;margin:0 -14px;text-decoration:none;animation:sq-bob 2.8s ease-in-out infinite alternate;transition:transform .2s}
.robo-squad .sq:hover{transform:translateY(-6px)}
.robo-squad .sq img{width:auto;filter:drop-shadow(0 10px 26px rgba(0,0,0,.65))}
.robo-squad .flip img{transform:scaleX(-1)}
/* 頭部サイズ正規化（8体とも頭の大きさが同じに見える高さ）：p1膝/p2しゃがみ/p3ガイド/p4あぐら/p5構え/p6力こぶ/p7拳/p8立ち */
.robo-squad .p1 img{height:min(166px,13vw)}
.robo-squad .p2 img{height:min(145px,11.3vw)}
.robo-squad .p3 img{height:min(243px,19vw)}
.robo-squad .p4 img{height:min(184px,14.4vw)}
.robo-squad .p5 img{height:min(272px,21.3vw)}
.robo-squad .p6 img{height:min(262px,20.5vw)}
.robo-squad .p7 img{height:min(148px,11.6vw)}
.robo-squad .p8 img{height:min(243px,19vw)}
.robo-squad .sq:nth-child(1){animation-delay:0s}
.robo-squad .sq:nth-child(2){animation-delay:.35s}
.robo-squad .sq:nth-child(3){animation-delay:.7s}
.robo-squad .sq:nth-child(4){animation-delay:1.05s}
.robo-squad .sq:nth-child(5){animation-delay:1.4s}
.robo-squad .sq:nth-child(6){animation-delay:1.75s}
.robo-squad .sq:nth-child(7){animation-delay:2.1s}
.robo-squad .sq:nth-child(8){animation-delay:2.45s}
.robo-squad .num{display:inline-block;border:3px solid var(--accent);border-radius:100px;padding:2px 12px;font-size:12px;font-weight:900;color:#fff;background:var(--panel);white-space:nowrap}
.robo-squad .sq:hover .num{background:var(--accent)}
@keyframes sq-bob{from{translate:0 0}to{translate:0 -10px}}
@media (prefers-reduced-motion:reduce){.robo-squad .sq{animation:none}}
.fig-photo{margin:0 0 30px}
.fig-photo img{width:100%;max-height:320px;object-fit:cover;object-position:center 32%;border-radius:12px;display:block}
@media(max-width:480px){
  body.lp .chapter h2{padding-right:86px}
  body.lp .chapter h2 img.h-robo{height:100px;right:4px}
  .cta-robo{height:150px}
  .fig-robo img{height:220px}
  .robo-squad{flex-wrap:wrap;row-gap:18px}
  .robo-squad .sq{margin:0 -8px}
  .robo-squad .p1 img{height:103px}
  .robo-squad .p2 img{height:90px}
  .robo-squad .p3 img{height:151px}
  .robo-squad .p4 img{height:114px}
  .robo-squad .p5 img{height:169px}
  .robo-squad .p6 img{height:162px}
  .robo-squad .p7 img{height:92px}
  .robo-squad .p8 img{height:151px}
  .robo-squad .num{font-size:10.5px;padding:1px 8px;border-width:2px}
  .dlg.a img.avatar{width:72px}
}

/* 章ページ用：トップのデザイン文法を展開。透かしは本文カラムを越えてサイト幅いっぱいに（2026-07-29 KEN指示） */
.ch-wm{position:absolute;top:-24px;left:50%;transform:translateX(-50%);font-size:clamp(96px,17vw,270px);font-weight:900;letter-spacing:.02em;color:transparent;-webkit-text-stroke:1.3px rgba(255,255,255,.09);z-index:0;pointer-events:none;white-space:nowrap;font-family:Arial,sans-serif}
main.doc{position:relative}
html,body{overflow-x:clip}
main.index{position:relative}

/* FAQアコーディオン（<details>標準タグ・JSゼロ） */
.faq{border:3px solid var(--line);border-radius:10px;margin:0 0 12px;background:var(--panel)}
.faq summary{padding:14px 42px 14px 16px;font-weight:900;font-size:15px;line-height:1.7;cursor:pointer;list-style:none;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"＋";position:absolute;right:16px;top:12px;color:var(--accent2);font-weight:900;font-size:18px}
.faq[open] summary::after{content:"−"}
.faq-a{padding:0 16px 14px}
.faq-a p{margin:0;font-size:14.5px}
.hero-bg{position:absolute;top:0;left:0;right:0;aspect-ratio:3/2;background:url(hero-robot.webp) center top/100% auto no-repeat;opacity:.5;-webkit-mask-image:linear-gradient(to bottom,#000 30%,transparent 100%),linear-gradient(to right,transparent 0,#000 14%,#000 86%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(to bottom,#000 30%,transparent 100%),linear-gradient(to right,transparent 0,#000 14%,#000 86%,transparent 100%);mask-composite:intersect;z-index:0;pointer-events:none}
@media(max-width:480px){.hero-bg{top:61px}}
body{position:relative}
main.doc,main.index,main.chapter{position:relative;z-index:1}

.breadcrumb{font-size:12.5px;color:var(--sub);padding:12px 20px 0;max-width:760px;margin:0 auto}
.breadcrumb a{color:var(--sub)}

main.doc,main.index,main.chapter{max-width:760px;margin:0 auto;padding:20px 20px 80px}

.doc h1,.chapter h1{font-size:clamp(26px,7vw,40px);font-weight:900;line-height:1.55;margin:14px 0 26px;padding-bottom:16px;border-bottom:3px solid var(--accent);color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.6);position:relative;z-index:1}
/* 見出しの上余白は h2/h3 で共通の 100px に統一（2026-08-02 KEN指示：前段との間隔を一定に・広めに） */
.doc h2,.chapter h2{font-size:clamp(19px,5vw,23px);font-weight:900;line-height:1.6;margin:100px 0 30px;padding:10px 18px;background:var(--band);color:#fff;border-left:3px solid var(--accent);border-radius:6px}
.doc h3,.chapter h3{font-size:22px;font-weight:900;color:#fff;margin:100px 0 22px;line-height:1.5}
.doc h3:not(.genba),.chapter h3:not(.genba):not(.curri){position:relative;padding:0 0 12px 30px;border-bottom:2px solid rgba(255,255,255,.13)}
.doc h3:not(.genba)::before,.chapter h3:not(.genba):not(.curri)::before{content:"";position:absolute;left:2px;top:9px;width:14px;height:14px;background:linear-gradient(135deg,var(--accent),var(--accent2));transform:rotate(45deg);border-radius:3px}
.doc h3:not(.genba)::after,.chapter h3:not(.genba):not(.curri)::after{content:"";position:absolute;left:0;bottom:-2px;width:72px;height:2px;background:var(--accent)}
@media(max-width:480px){.doc h3,.chapter h3{font-size:19px}.doc h3:not(.genba)::before,.chapter h3:not(.genba):not(.curri)::before{top:7px;width:13px;height:13px}}
/* 会員目次のカードもLPのカリキュラムカードと同一デザインに統一（2026-08-02 KEN指示） */
.chapter h3.curri,.index-list li.curri{display:flex;align-items:center;gap:22px;padding:22px 26px;background:var(--panel);border:3px solid var(--line);border-left:6px solid var(--accent);border-radius:12px;position:relative;overflow:hidden;transition:border-color .15s,background-color .15s}
.chapter h3.curri{margin:52px 0 18px}
.index-list li.curri{margin:0 0 18px;cursor:pointer}
.chapter h3.curri:hover,.index-list li.curri:hover{border-color:var(--accent)}
.index-list li.curri:active{background:rgba(224,33,138,.10);border-color:var(--accent)}
.index-list li.curri:focus-within{border-color:var(--accent);outline:3px solid var(--accent2);outline-offset:2px}
.curri .curri-ov{position:absolute;inset:0;z-index:2}
.curri>span{position:relative;z-index:1}
.curri::before{content:"";position:absolute;inset:0;background-size:cover;background-repeat:no-repeat;opacity:.16;pointer-events:none;-webkit-mask-image:linear-gradient(to right,rgba(0,0,0,.3),#000 72%);mask-image:linear-gradient(to right,rgba(0,0,0,.3),#000 72%)}
.curri.bgc00::before,.index-list li.mbg00::before{background-image:url(card-bg-city.webp);background-position:center 18%}
.curri.bgc01::before,.index-list li.mbg01::before{background-image:url(card-bg-icons.webp);background-position:left center}
.curri.bgc02::before,.index-list li.mbg02::before{background-image:url(card-bg-code.webp);background-position:center 30%}
.curri.bgc03::before,.index-list li.mbg03::before{background-image:url(card-bg-data.webp);background-position:center 30%}
.curri.bgc04::before,.index-list li.mbg04::before{background-image:url(card-bg-keys.webp);background-position:center 35%}
.curri.bgc05::before,.index-list li.mbg05::before{background-image:url(card-bg-touch.webp);background-position:right 30%}
.curri.bgc06::before,.index-list li.mbg06::before{background-image:url(card-bg-stream.webp);background-position:center 40%}
.curri.bgc07::before,.index-list li.mbg07::before{background-image:url(card-bg-shake.webp);background-position:center 35%}
.curri.bgc08::before,.index-list li.mbg08::before{background-image:url(card-bg-robo.webp);background-position:center 45%}
.curri .cnum{font-size:68px;font-weight:900;line-height:1;color:transparent;-webkit-text-stroke:2px var(--accent);font-family:Arial,sans-serif;flex:0 0 auto}
.curri .cbody{display:flex;flex-direction:column;gap:6px;min-width:0}
.curri .clabel{font-size:13px;font-weight:900;color:var(--accent2);letter-spacing:.18em}
.curri .ct{font-size:clamp(23px,3.2vw,31px);font-weight:900;color:#fff;line-height:1.35}
.curri .csub{display:block;font-size:15.5px;color:var(--sub);font-weight:700;margin-top:5px;line-height:1.6}
.curri .cnote{display:inline-block;align-self:flex-start;font-size:12px;font-weight:900;color:#fff;background:var(--accent);border-radius:100px;padding:3px 12px;margin-top:6px}
@media(max-width:480px){
  .chapter h3.curri{gap:14px;padding:16px 16px}
  .curri .cnum{font-size:46px;-webkit-text-stroke:1.6px var(--accent)}
  .curri .ct{font-size:20px}
  .curri .csub{font-size:13.5px}
}
.doc h4,.chapter h4{font-size:15.5px;font-weight:700;color:#fff;margin:52px 0 14px;padding-left:10px;border-left:3px solid var(--accent2)}
.doc p,.chapter p{margin:0 0 28px}
.doc ul,.doc ol,.chapter ul,.chapter ol{margin:0 0 28px 22px;padding:0}
.doc li,.chapter li{margin-bottom:12px}
.doc strong,.chapter strong{color:#fff;background:linear-gradient(transparent 62%,rgba(224,33,138,.4) 0)}
.doc blockquote,.chapter blockquote{border:3px solid var(--line);border-left:3px solid var(--accent);background:var(--panel);padding:12px 18px;margin:0 0 28px;border-radius:8px;color:var(--sub);font-size:14.5px}
.doc table,.chapter table{width:100%;border-collapse:collapse;margin:0;font-size:13.6px;line-height:1.8}
.doc .table-scroll,.chapter .table-scroll{overflow-x:auto;margin:0 0 30px;border:3px solid var(--line);border-radius:10px}
.doc th,.doc td,.chapter th,.chapter td{border:1px solid var(--line);padding:10px 13px;text-align:left;vertical-align:top}
.doc th,.chapter th{background:var(--band);font-size:11.8px;letter-spacing:.05em;color:#fff}
.doc code,.chapter code{background:var(--panel);padding:2px 6px;border-radius:5px;font-size:13.5px;color:var(--accent2)}
.doc pre,.chapter pre{background:var(--panel);border:3px solid var(--line);border-radius:10px;padding:16px;overflow-x:auto;margin:0 0 28px}
.fig-box{margin:32px 0 28px}
.fig-box figcaption{display:inline-block;font-size:13.5px;font-weight:900;color:#fff;background:var(--band);border:3px solid var(--line);border-bottom:none;border-radius:10px 10px 0 0;padding:7px 16px 5px;border-left:3px solid var(--accent)}
.fig-box pre{margin:0;border-top-left-radius:0}
.doc pre code,.chapter pre code{background:none;padding:0}
.doc hr,.chapter hr{border:none;border-top:1px dashed var(--line);margin:48px 0}
.fig{margin:0 0 30px;padding:18px 14px;background:var(--panel);border:3px solid var(--line);border-radius:10px;text-align:center}
.fig figcaption{font-size:12.5px;color:var(--sub);margin-top:10px}
.fig img{width:100%;height:auto;max-width:100%;border-radius:8px;display:block}

/* 実際にチェックできるチェックリスト（2026-08-01 KEN指示）＝状態は端末に保存され、再訪時も残る */
.cklist{list-style:none;margin:0 0 26px;padding:20px 18px 16px;background:var(--panel);border:3px solid var(--line);border-radius:var(--radius);position:relative}
.cklist .ckitem{margin:0 0 4px;padding:0}
.cklist .ckitem:last-child{margin-bottom:0}
.cklist .ckitem label{display:flex;align-items:flex-start;gap:12px;cursor:pointer;padding:9px 10px;border-radius:10px;transition:background .12s}
.cklist .ckitem label:hover{background:rgba(255,255,255,.045)}
.cklist .ckbox{appearance:none;-webkit-appearance:none;flex:0 0 auto;width:22px;height:22px;margin:1px 0 0;border:3px solid var(--line);border-radius:6px;background:transparent;cursor:pointer;position:relative;transition:.15s}
.cklist .ckbox:hover{border-color:var(--accent)}
.cklist .ckbox:checked{background:var(--accent);border-color:var(--accent)}
.cklist .ckbox:checked::after{content:"";position:absolute;left:5px;top:0;width:6px;height:12px;border:solid #fff;border-width:0 3px 3px 0;transform:rotate(43deg)}
.cklist .ckbox:focus-visible{outline:3px solid var(--accent2);outline-offset:2px}
.cklist .ckitem span{font-size:15px;line-height:1.85;color:var(--ink);flex:1}
.cklist .ckitem input:checked+span{color:var(--sub);text-decoration:line-through;text-decoration-color:var(--accent);text-decoration-thickness:2px}
.ck-count{display:block;text-align:right;font-size:12px;font-weight:900;color:var(--accent2);letter-spacing:.06em;margin:10px 2px 0}
.ck-count.done{color:#06c755}
@media(max-width:600px){.cklist{padding:16px 12px 12px}.cklist .ckitem span{font-size:14px}.cklist .ckitem label{gap:10px;padding:8px 6px}}

.badge{display:inline-block;font-size:13.5px;font-weight:900;color:#fff;background:rgba(224,33,138,.15);border:3px solid var(--accent);border-radius:100px;padding:8px 18px;margin-bottom:22px;position:relative;z-index:1;line-height:1.7}
.badge .b-free{color:var(--accent2)}

/* NEWバッジ＝加筆した見出しの真上に出す。リピート読者が差分を一目で見つけられるように（2026-08-02 KEN指示） */
/* バッジが付いても前段との間隔は見出しと同じ100pxを保つ（バッジ→見出しは12px）
   ⚠️`.doc p,.chapter p{margin:0 0 28px}`(0,1,1) に負けるため、必ず `.doc .newbadge-line` 形で書く */
.doc .newbadge-line,.chapter .newbadge-line{margin:100px 0 0;position:relative;z-index:1;line-height:1}
.newbadge{
  display:inline-flex;align-items:center;gap:6px;
  font-size:11.5px;font-weight:900;letter-spacing:.1em;
  color:#fff;background:linear-gradient(180deg,#f0459f,#c2185b);
  border-radius:100px;padding:4px 12px;
  box-shadow:0 2px 10px rgba(224,33,138,.45);
  animation:nbPulse 2.6s ease-out infinite;
}
.newbadge .nb-d{font-size:10.5px;font-weight:700;letter-spacing:.02em;opacity:.9;padding-left:6px;border-left:1px solid rgba(255,255,255,.45)}
@keyframes nbPulse{0%{box-shadow:0 2px 10px rgba(224,33,138,.45),0 0 0 0 rgba(224,33,138,.5)}70%{box-shadow:0 2px 10px rgba(224,33,138,.45),0 0 0 9px rgba(224,33,138,0)}100%{box-shadow:0 2px 10px rgba(224,33,138,.45),0 0 0 0 rgba(224,33,138,0)}}
.doc .newbadge-line + h2,.doc .newbadge-line + h3,.chapter .newbadge-line + h2,.chapter .newbadge-line + h3{margin-top:12px}
@media(prefers-reduced-motion:reduce){.newbadge{animation:none}}
@media(max-width:600px){.doc .newbadge-line,.chapter .newbadge-line{margin:76px 0 0}.doc h2,.chapter h2,.doc h3,.chapter h3{margin-top:76px}.doc .newbadge-line + h2,.doc .newbadge-line + h3,.chapter .newbadge-line + h2,.chapter .newbadge-line + h3{margin-top:12px}}

/* LP「スマホで、そのまま読める」訴求（2026-08-04 KEN指示）＝PDF主流の商材との差別化 */
/* 著者について＝実績年表（権威性・2026-08-04 KEN指示） */
/* ハイフンを含む固有名詞（DS-support.com等）が行末で分割されるのを防ぐ */
.nw2{white-space:nowrap}
.bio-tl{margin:26px 0 30px;padding:6px 0 2px;position:relative}
/* 縦ラインは行ごとのセグメント式＝最終行はピル中心で止める（コンテナ全高1本線だと最後のカード脇まで垂れてズレる） */
.tl-row{display:flex;gap:20px;margin:0 0 22px;position:relative}
/* グラデは行の継ぎ目で値を一致させる（前行の終端＝次行の始端）。ズラすとカード間でラインに明暗のムラが出る */
.tl-row::before{content:"";position:absolute;left:53px;top:0;bottom:-22px;width:2px;background:linear-gradient(180deg,rgba(224,33,138,.55),rgba(224,33,138,.4))}
.tl-row:first-child::before{top:17px;background:linear-gradient(180deg,var(--accent),rgba(224,33,138,.55))}
.tl-row:nth-child(3)::before{background:linear-gradient(180deg,rgba(224,33,138,.4),rgba(224,33,138,.3))}
.tl-row:last-child{margin-bottom:0}
.tl-row:last-child::before{bottom:auto;height:17px;background:rgba(224,33,138,.3)}
.tl-y{flex:0 0 108px;text-align:center;align-self:flex-start;font-size:13px;font-weight:900;letter-spacing:.04em;color:#fff;background:linear-gradient(180deg,#f0459f,#c2185b);border-radius:100px;padding:5px 0;position:relative;z-index:1;box-shadow:0 2px 10px rgba(224,33,138,.35)}
.tl-b{flex:1;min-width:0;font-size:14.5px;line-height:1.95;color:var(--ink);background:var(--panel);border:3px solid var(--line);border-radius:12px;padding:14px 18px}
.tl-b strong{color:#fff}
/* ⚠️inline-block厳禁：strongのマーカー（linear-gradient）はボックス単位で1回だけ描画されるため、
   inline-blockだと2行に折り返したとき下段にしか帯が乗らない。inlineなら行ボックスごとに引かれる */
.tl-b strong:first-child{display:inline;font-size:15.5px;color:var(--accent2)}
@media(max-width:600px){
  .tl-row::before{left:44px}
  .tl-row{gap:14px}
  .tl-y{flex-basis:90px;font-size:12px}
  .tl-b{font-size:13.5px;padding:12px 14px}
}
.sp-appeal{display:flex;align-items:center;gap:26px;background:var(--panel);border:3px solid var(--line);border-radius:14px;padding:26px 24px;margin:8px 0 30px}
.sp-phone{flex:0 0 auto;width:92px;height:172px;border:4px solid var(--accent);border-radius:18px;background:#101218;position:relative;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 24px rgba(224,33,138,.25)}
.sp-phone::before{content:"";position:absolute;top:8px;left:50%;transform:translateX(-50%);width:28px;height:5px;border-radius:100px;background:rgba(255,255,255,.25)}
.sp-phone::after{content:"";position:absolute;bottom:7px;left:50%;transform:translateX(-50%);width:30px;height:4px;border-radius:100px;background:rgba(255,255,255,.25)}
.sp-screen{font-size:26px;font-weight:900;color:var(--accent2);letter-spacing:.04em;font-family:Arial,sans-serif}
.sp-body{min-width:0}
.sp-catch{font-size:clamp(19px,3.4vw,24px);font-weight:900;color:#fff;line-height:1.5;margin:0 0 12px}
.sp-catch .pk{color:var(--accent2)}
.sp-body p{margin:0 0 14px}
.sp-note{font-size:12.5px;color:var(--sub);margin:0}
@media(max-width:600px){.sp-appeal{flex-direction:column;gap:16px;padding:20px 16px;text-align:left}.sp-phone{width:74px;height:138px}}

/* LPヒーロー直下：「永遠に完成しない」バンド（2026-08-02 KEN指示） */
.live-band{
  position:relative;z-index:1;
  margin:26px auto 8px;max-width:760px;
  padding:22px 20px 18px;
  background:linear-gradient(180deg,rgba(224,33,138,.16),rgba(224,33,138,.05));
  border:5px solid var(--accent);border-radius:14px;text-align:center;
}
.live-band .lb-catch{font-size:clamp(20px,4.4vw,29px);font-weight:900;line-height:1.5;margin:0 0 10px;color:#fff}
.live-band .lb-catch .pk{color:var(--accent2)}
.live-band .lb-sub{font-size:clamp(13px,2.6vw,15px);line-height:1.9;color:var(--ink);margin:0 0 14px}
.live-band .lb-meta{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 10px;margin:0 0 10px}
.live-band .lb-date{font-size:12.5px;font-weight:900;color:#fff;letter-spacing:.04em}
.live-band .lb-wip{
  font-size:11.5px;font-weight:900;color:#fff;letter-spacing:.08em;
  background:linear-gradient(180deg,#f0459f,#c2185b);
  border-radius:100px;padding:3px 12px;white-space:nowrap;
  animation:wipPulse 2.6s ease-out infinite;
}
.live-band .lb-foot{font-size:11.5px;line-height:1.8;color:var(--sub);margin:0}
@media(max-width:600px){.live-band{padding:18px 14px 14px;border-width:3px;margin-top:20px}}
/* 章末版＝奥付の位置（章ナビの下・転載禁止の上）。上に余白を足すだけで中身はLP版と共通 */
.live-band.chend{margin:72px auto 10px}
.live-band.chend .lb-foot{color:var(--ink)}
.live-band.chend .lb-foot strong{color:var(--accent2)}
@media(max-width:600px){.live-band.chend{margin-top:52px}}

/* 最終更新日＋鋭意更新中（一度読んで終わりではないことを伝える・2026-08-02 KEN指示） */
.updated{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;margin:-8px 0 26px;position:relative;z-index:1;line-height:1.7}
.updated .u-date{font-size:12.5px;font-weight:900;color:var(--sub);letter-spacing:.04em}
.updated .u-wip{
  font-size:11.5px;font-weight:900;color:#fff;letter-spacing:.08em;
  background:linear-gradient(180deg,#f0459f,#c2185b);
  border-radius:100px;padding:3px 12px;white-space:nowrap;
  box-shadow:0 0 0 0 rgba(224,33,138,.55);animation:wipPulse 2.6s ease-out infinite;
}
@keyframes wipPulse{0%{box-shadow:0 0 0 0 rgba(224,33,138,.5)}70%{box-shadow:0 0 0 10px rgba(224,33,138,0)}100%{box-shadow:0 0 0 0 rgba(224,33,138,0)}}
.updated .u-note{flex:1 1 100%;font-size:12px;color:var(--sub)}
@media(prefers-reduced-motion:reduce){.updated .u-wip{animation:none}}
@media(max-width:600px){.updated{gap:6px 8px;margin:-4px 0 22px}.updated .u-note{font-size:11.5px}}

/* CTAゾーン＝枠なし・薄パネル＋余白型（2026-07-29検証：色枠はバナーブラインドネスと孤立効果毀損でCVRを下げるため撤去） */
.cta-box{margin-top:56px;padding:32px 20px;background:var(--panel);border:none;border-radius:var(--radius);text-align:center}
.cta-box p{margin:0 0 16px;font-size:14.5px;color:var(--ink)}
/* CTA＝国内高CVR定番型：LINEグリーン×ベネフィット文言×マイクロコピー（2026-07-29 KEN指示） */
.cta-micro-top{font-size:14.5px;font-weight:900;color:#fff;margin:0 0 10px;letter-spacing:.05em}
.cta-micro-top .sl{color:var(--accent2);font-weight:900}
.cta-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:linear-gradient(180deg,#16d96f 0%,#06c755 55%,#05ad4b 100%);border:5px solid #048a3f;color:#fff!important;font-weight:900;text-decoration:none;padding:15px 25px;border-radius:100px;font-size:17px;line-height:1.4;width:min(420px,100%);box-shadow:0 6px 22px rgba(6,199,85,.4),inset 0 1px 0 rgba(255,255,255,.35);animation:ctaGlow 2.4s ease-in-out infinite;transition:transform .15s}
.cta-btn:hover{transform:translateY(-2px)}
.cta-btn svg{flex:0 0 auto}
.cta-btn .arw{font-size:13px;opacity:.95}
@keyframes ctaGlow{0%,100%{box-shadow:0 6px 22px rgba(6,199,85,.4),inset 0 1px 0 rgba(255,255,255,.35)}50%{box-shadow:0 6px 34px rgba(6,199,85,.78),inset 0 1px 0 rgba(255,255,255,.35)}}
.cta-micro-bottom{font-size:10.5px;color:var(--sub);margin:10px 0 0!important;line-height:1.5}

.chnav{display:flex;justify-content:space-between;gap:12px;margin-top:48px;padding-top:22px;border-top:1px solid var(--line);font-size:13.5px}
.chnav a{color:#fff;font-weight:700;text-decoration:none;border:3px solid #fff;border-radius:100px;padding:11px 20px;background:var(--panel);transition:border-color .15s}
.chnav a:hover{border-color:var(--accent);color:#fff}

/* 「で、アダルトの現場では？」吹き出し見出し（読者の問い＝対話UIと同じ文法） */
.doc h3.genba,.chapter h3.genba,.doc h4.genba,.chapter h4.genba{display:inline-block;background:rgba(255,255,255,.07);border:3px solid var(--line);border-radius:16px;border-top-left-radius:4px;padding:12px 20px;margin:46px 0 18px;font-size:16.5px;font-weight:900;color:#fff;line-height:1.7}
.doc h3.genba::before,.chapter h3.genba::before,.doc h4.genba::before,.chapter h4.genba::before{content:"Q";display:inline-block;background:var(--accent);color:#fff;border-radius:50%;width:24px;height:24px;line-height:24px;text-align:center;font-size:13px;font-weight:900;margin-right:10px;vertical-align:2px}
.genba .sub{display:block;color:var(--sub);font-size:.82em;font-weight:700;margin-top:2px;padding-left:34px}

footer.site-foot{border-top:1px solid var(--line);padding:24px 20px;text-align:center;font-size:12px;color:var(--sub)}
.aa-guard{max-width:900px;margin:44px auto 0;padding:22px 26px;border:3px solid #8d186b;border-radius:14px;background:rgba(141,24,107,.10)}
.aa-guard-h{margin:0 0 10px;font-weight:900;font-size:1.06rem;letter-spacing:.03em;color:#ff8fd0;text-align:center}
.aa-guard-b{margin:0;font-size:.9rem;line-height:1.95;color:#dfe1ea}
.aa-guard-s{color:#fff}
@media(max-width:600px){.aa-guard{margin:32px 14px 0;padding:18px 16px}.aa-guard-h{font-size:.98rem}.aa-guard-b{font-size:.86rem}}
.foot-agency{display:block;width:fit-content;margin:18px auto 0}
.foot-agency img{height:60px;width:auto;display:block;opacity:.92}
.foot-agency:hover img{opacity:1}

/* 目次（会員・公開共通）：KEN指示＝大きく・900・枠線5pxでクリックしたくなる形に */
.index-list{list-style:none;margin:0;padding:0}
.index-list .ch-scope{font-size:12.5px;color:var(--sub)}

.lead-cta{border:none;border-radius:var(--radius);padding:30px 24px;text-align:center;margin:32px 0 44px;background:var(--panel)}
.lead-cta p{margin:0 0 16px;font-size:14.5px}

.lock{color:var(--sub);font-size:12px}

@media(min-width:760px){
  body{font-size:16.5px}
}