/* totolabo「伝わらない原因診断」ウィジェット。ラフ準拠のソフトなピンク/クリーム基調。モバイルファースト。 */
.ts-root{
  --pink:#e26d8a; --pink-d:#d0567a; --pink-l:#fbeef1; --cream:#fdf6ee; --cream-d:#fbeede;
  --blue:#3f8fd6; --ink:#3f3a36; --sub:#8a827a; --line:#efe8e0; --bg:#fffdfb;
  --tS:#4a90c2; --tM:#e0708e; --tL:#54b295; --tU:#dd9f52; --tlight:#a98fd0;
  --bgS:#eef5fb; --bgM:#fdeef1; --bgL:#edf6f1; --bgU:#fdf4e8; --bglight:#f4eefb;
  max-width:1040px; margin:0 auto; color:var(--ink); background:var(--bg);
  font-family:-apple-system,"Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;
  line-height:1.8; font-size:15px; -webkit-text-size-adjust:100%;
}
.ts-root *{box-sizing:border-box}
.ts-root svg{width:1.25em;height:1.25em;display:inline-block;vertical-align:-0.15em}
.ts-root img{max-width:100%;height:auto;display:block}
.ts-root h1,.ts-root h2,.ts-root h3,.ts-root p{margin:0}
.ts-root a{color:var(--pink-d);text-decoration:none}

/* badge */
.ts-badge{display:inline-flex;align-items:center;gap:5px;margin:4px 0 14px;padding:7px 15px;
  background:#fff6e6;color:#c88a2a;border:1px solid #f0dcae;border-radius:999px;font-size:12.5px;font-weight:700}
.ts-badge svg{width:1em;height:1em}

/* hero */
.ts-hero{display:flex;flex-direction:column;gap:18px;margin-bottom:26px}
.ts-hero__eyebrow{color:var(--blue);font-weight:700;font-size:15px;margin-bottom:6px}
.ts-hero__title{font-size:40px;font-weight:800;letter-spacing:.02em;line-height:1.15}
.ts-hl{color:var(--blue)}
.ts-hero__sub{color:var(--sub);margin-top:8px;font-size:14px}
.ts-hero__art{position:relative;background:linear-gradient(180deg,#fdf1f3,#eef6f4);border-radius:20px;padding:14px;overflow:hidden}
.ts-hero__art .ts-illust{margin:0 auto;max-height:340px;width:auto;border-radius:14px}
.ts-bubble{display:none;position:absolute;background:#fff;border:1px solid var(--line);border-radius:14px;
  padding:8px 12px;font-size:11.5px;line-height:1.5;color:var(--sub);box-shadow:0 4px 14px rgba(180,150,150,.15)}
@media(min-width:820px){
  .ts-hero{flex-direction:row;align-items:center}
  .ts-hero__copy{flex:1}
  .ts-hero__art{flex:1.05}
  .ts-hero__title{font-size:52px}
  .ts-bubble{display:block}
  .ts-bubble--1{top:10%;left:2%}.ts-bubble--2{top:6%;right:2%}
  .ts-bubble--3{bottom:16%;left:1%}.ts-bubble--4{bottom:9%;right:2%}
}

/* feature circles */
.ts-features{display:flex;gap:10px;margin-top:20px}
.ts-feature{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;
  background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px 6px}
.ts-feature__ic{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--pink-l);color:var(--pink)}
.ts-feature__ic svg{width:22px;height:22px}
.ts-feature__t{font-size:12px;color:var(--sub);line-height:1.4}
.ts-feature__t b{display:block;color:var(--ink);font-size:16px}

/* buttons */
.ts-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;cursor:pointer;
  border-radius:999px;font-weight:800;text-decoration:none;text-align:center}
.ts-btn--primary{background:linear-gradient(180deg,#ec7a95,#e0607f);color:#fff;font-size:19px;
  padding:18px 40px;box-shadow:0 10px 22px rgba(224,96,127,.35)}
.ts-btn--primary:active{transform:translateY(1px)}
.ts-btn__ic svg{width:1em;height:1em}
.ts-note{font-size:11.5px;color:var(--sub);margin-top:10px;text-align:center}

/* CTA band */
.ts-cta-band{text-align:center;padding:26px 0 8px}
.ts-cta-lead{font-size:18px;font-weight:700;margin-bottom:16px}
.ts-cta-lead b{color:var(--pink-d)}

/* section */
.ts-sec{margin:30px 0;padding:26px 18px;background:#fff;border:1px solid var(--line);border-radius:20px}
.ts-sec--cream{background:var(--cream);border-color:#f2e6d6}
.ts-sec--pink{background:var(--pink-l);border-color:#f4d9e0}
.ts-sec__title{text-align:center;font-size:20px;font-weight:800;margin-bottom:20px}
.ts-sec__title.ts-left{text-align:left}
.ts-sec__title .ts-hl{color:var(--pink-d)}
.ts-spark{color:#e6b34a}

/* flow */
.ts-flow{display:flex;flex-direction:column;gap:6px}
.ts-flow__item{display:grid;grid-template-columns:auto auto 1fr;grid-template-areas:"step ic t" "step ic d";
  align-items:center;gap:2px 12px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 16px}
.ts-flow__step{grid-area:step;font-size:10px;color:var(--sub);font-weight:700;text-align:center;line-height:1.1}
.ts-flow__step b{display:block;color:var(--pink);font-size:17px}
.ts-flow__ic{grid-area:ic;width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:var(--pink-l);color:var(--pink)}
.ts-flow__t{grid-area:t;font-weight:700;font-size:14.5px}
.ts-flow__d{grid-area:d;font-size:12px;color:var(--sub)}
.ts-flow__arrow{display:none;color:#d9cfc4;transform:rotate(90deg);text-align:center}
.ts-flow__arrow svg{width:20px;height:20px}
@media(min-width:820px){
  .ts-flow{flex-direction:row;align-items:stretch}
  .ts-flow__item{flex:1;grid-template-columns:1fr;grid-template-areas:"step" "ic" "t" "d";justify-items:center;text-align:center;gap:6px}
  .ts-flow__arrow{display:flex;align-items:center;transform:none}
}

/* grid3 (learn / step cards) */
.ts-grid3{display:grid;gap:14px}
@media(min-width:760px){.ts-grid3{grid-template-columns:repeat(3,1fr)}}
.ts-learn{text-align:center;padding:6px}
.ts-learn__ic{width:56px;height:56px;display:grid;place-items:center;margin:0 auto 8px;border-radius:50%;background:#fff;color:var(--pink);box-shadow:0 4px 14px rgba(200,160,170,.18)}
.ts-learn__ic svg{width:26px;height:26px}
.ts-learn h3{font-size:15px;margin-bottom:6px}
.ts-learn p{font-size:13px;color:var(--sub)}

/* type cards */
.ts-types{display:grid;gap:12px}
@media(min-width:680px){.ts-types{grid-template-columns:repeat(5,1fr)}}
.ts-typecard{border-radius:16px;padding:16px 14px;border:1px solid var(--line)}
.ts-typecard__ic{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:#fff;margin-bottom:8px}
.ts-typecard__ic svg{width:26px;height:26px}
.ts-typecard h3{font-size:15px;font-weight:800;margin-bottom:8px}
.ts-typecard p{font-size:12.5px;color:var(--sub)}
.ts-types__more{text-align:right;margin-top:12px;font-size:13px;font-weight:700}
.ts-t-S .ts-typecard__ic,.ts-t-S.ts-typecard{color:var(--tS)} .ts-t-S.ts-typecard{background:var(--bgS)}
.ts-t-M .ts-typecard__ic,.ts-t-M.ts-typecard{color:var(--tM)} .ts-t-M.ts-typecard{background:var(--bgM)}
.ts-t-L .ts-typecard__ic,.ts-t-L.ts-typecard{color:var(--tL)} .ts-t-L.ts-typecard{background:var(--bgL)}
.ts-t-U .ts-typecard__ic,.ts-t-U.ts-typecard{color:var(--tU)} .ts-t-U.ts-typecard{background:var(--bgU)}
.ts-t-light .ts-typecard__ic,.ts-t-light.ts-typecard{color:var(--tlight)} .ts-t-light.ts-typecard{background:var(--bglight)}
.ts-typecard h3,.ts-typecard p{color:var(--ink)}
.ts-typecard h3{color:inherit}

/* chosen / disclaimers */
.ts-chosen__grid{display:grid;gap:10px;margin-bottom:16px}
@media(min-width:680px){.ts-chosen__grid{grid-template-columns:repeat(3,1fr)}}
.ts-chosen__i{display:flex;gap:8px;align-items:flex-start;font-size:13.5px;font-weight:600}
.ts-chosen__i svg{color:var(--pink);width:20px;height:20px;flex:none;margin-top:1px}
.ts-chosen__proof{text-align:center;color:var(--sub);font-size:13px}
.ts-disc{display:grid;gap:16px;margin:24px 0;padding:0 6px}
@media(min-width:680px){.ts-disc{grid-template-columns:1fr 1fr}}
.ts-disc__i{display:flex;gap:12px;align-items:flex-start}
.ts-disc__ic{width:38px;height:38px;flex:none;display:grid;place-items:center;border-radius:50%;background:var(--pink-l);color:var(--pink)}
.ts-disc__i b{font-size:14.5px}.ts-disc__i p{font-size:12.5px;color:var(--sub)}

/* stepper */
.ts-stepper{display:flex;align-items:center;justify-content:center;gap:4px;margin:6px 0 22px}
.ts-step{display:flex;flex-direction:column;align-items:center;gap:5px;opacity:.45}
.ts-step.is-active,.ts-step.is-done{opacity:1}
.ts-step__dot{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:#f0eae3;color:var(--sub)}
.ts-step.is-active .ts-step__dot{background:var(--pink);color:#fff}
.ts-step.is-done .ts-step__dot{background:var(--pink-l);color:var(--pink)}
.ts-step__label{font-size:11px;text-align:center;color:var(--sub);line-height:1.3}
.ts-step__label b{display:block;color:var(--ink);font-size:10px;letter-spacing:.04em}
.ts-step__line{flex:1;max-width:60px;height:2px;background:#eaddd3;margin-bottom:24px}

/* quiz engine */
.ts-quizwrap{padding:6px 0}
.ts-question{background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px 20px}
.ts-progress{margin-bottom:20px}
.ts-progress__bar{height:8px;background:#f0e7de;border-radius:999px;overflow:hidden}
.ts-progress__fill{height:100%;background:linear-gradient(90deg,#ef8aa2,#e0607f);transition:width .25s ease}
.ts-progress__count{text-align:right;font-size:12px;color:var(--sub);margin-top:6px}
.ts-question__text{font-size:18px;font-weight:700;margin:8px 0 20px;line-height:1.6}
.ts-choices{display:flex;flex-direction:column;gap:11px}
.ts-choice{padding:15px 18px;background:#fff;border:1.5px solid var(--line);border-radius:14px;font-size:15px;text-align:left;cursor:pointer;font-weight:600;color:var(--ink);transition:.12s}
.ts-choice:hover{border-color:var(--pink);background:var(--pink-l)}
.ts-choice:active{background:#f7dbe3}
.ts-back{margin:18px auto 0;display:block;background:none;border:0;color:var(--sub);font-size:13px;text-decoration:underline;cursor:pointer}

/* result header */
.ts-result{display:flex;flex-direction:column-reverse;gap:10px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px 20px;margin-bottom:8px;overflow:hidden}
.ts-result__eyebrow{font-weight:700;font-size:15px;margin-bottom:4px}
.ts-result__name{font-size:34px;font-weight:800;line-height:1.2;margin-bottom:12px}
.ts-pill{display:inline-block;padding:7px 16px;border-radius:999px;font-size:13px;font-weight:700;color:#fff;margin-bottom:14px}
.ts-result__lead p{font-size:14px;margin-bottom:8px}
.ts-result__art{background:linear-gradient(180deg,#fdf1f4,#fbeef0);border-radius:16px;padding:10px}
.ts-result__art .ts-illust{margin:0 auto;max-height:280px;width:auto;border-radius:12px}
@media(min-width:760px){.ts-result{flex-direction:row;align-items:center}.ts-result__body{flex:1.2}.ts-result__art{flex:1}}
.ts-t-M .ts-result__name,.ts-t-M .ts-result__eyebrow{color:var(--tM)} .ts-t-M .ts-pill{background:var(--tM)} .ts-t-M .ts-result__art{background:linear-gradient(180deg,#fdeef1,#f9e3e8)}
.ts-t-S .ts-result__name,.ts-t-S .ts-result__eyebrow{color:var(--tS)} .ts-t-S .ts-pill{background:var(--tS)} .ts-t-S .ts-result__art{background:linear-gradient(180deg,#eef5fb,#e2eefa)}
.ts-t-L .ts-result__name,.ts-t-L .ts-result__eyebrow{color:var(--tL)} .ts-t-L .ts-pill{background:var(--tL)} .ts-t-L .ts-result__art{background:linear-gradient(180deg,#edf6f1,#ddefe6)}
.ts-t-U .ts-result__name,.ts-t-U .ts-result__eyebrow{color:var(--tU)} .ts-t-U .ts-pill{background:var(--tU)} .ts-t-U .ts-result__art{background:linear-gradient(180deg,#fdf4e8,#faead2)}
.ts-t-light .ts-result__name,.ts-t-light .ts-result__eyebrow{color:var(--tlight)} .ts-t-light .ts-pill{background:var(--tlight)} .ts-t-light .ts-result__art{background:linear-gradient(180deg,#f4eefb,#ebe0f7)}

/* cause + databox */
.ts-cause{display:grid;gap:18px}
@media(min-width:760px){.ts-cause{grid-template-columns:1.1fr .9fr;align-items:start}}
.ts-cause__txt p{font-size:14px}
.ts-databox{background:var(--pink-l);border:1px solid #f3d8e0;border-radius:16px;padding:16px}
.ts-databox__t{text-align:center;color:var(--pink-d);font-weight:800;font-size:14px;margin-bottom:12px}
.ts-bar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;margin-bottom:12px}
.ts-bar__ic{color:var(--pink);width:18px;height:18px}
.ts-bar__l{font-size:12.5px;font-weight:600;grid-column:1/3}
.ts-bar__track{grid-column:1/3;height:9px;background:#fff;border-radius:999px;overflow:hidden}
.ts-bar__fill{display:block;height:100%;background:linear-gradient(90deg,#f19bb0,#e0607f);border-radius:999px}
.ts-bar__v{grid-row:1/3;grid-column:3;color:var(--pink-d);font-weight:800;font-size:15px}
.ts-databox__note{font-size:11px;color:var(--sub);text-align:right;margin-top:2px}

/* step cards */
.ts-scard{position:relative;background:#fff;border:1px solid #f3d8e0;border-radius:16px;padding:20px 16px 16px}
.ts-scard__n{position:absolute;top:-14px;left:16px;width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:var(--pink);color:#fff;font-weight:800}
.ts-scard h3{font-size:15px;margin:2px 0 8px;color:var(--pink-d)}
.ts-scard p{font-size:13px;color:var(--sub)}

/* CTA box */
.ts-ctabox{display:grid;gap:16px;background:#fff;border:2px solid #f5cdd8;border-radius:20px;padding:22px 18px;margin:28px 0}
@media(min-width:760px){.ts-ctabox{grid-template-columns:1fr 1fr;align-items:center}}
.ts-ctabox__catch{font-size:18px;font-weight:800;color:var(--pink-d);margin-bottom:8px}
.ts-ctabox__catch svg{color:var(--pink)}
.ts-ctabox__l p{font-size:13.5px;color:var(--sub)}
.ts-ctabox__r{text-align:center}
.ts-ctabox__mini{display:block;color:var(--pink-d);font-weight:700;font-size:13px;margin-bottom:8px}
.ts-ctabox .ts-btn--primary{font-size:17px;padding:16px 26px;width:100%}
.ts-ctabox__sub,.ts-ctabox__link{font-size:12.5px;margin-top:10px}
.ts-ctabox__l h3{font-size:16px;color:var(--pink-d);margin-bottom:8px}

.ts-subtype{background:var(--cream);border-radius:12px;padding:12px 16px;font-size:13px;color:var(--sub);margin:0 0 22px}

/* cross-sell */
.ts-cross{display:grid;gap:14px;margin:24px 0}
@media(min-width:680px){.ts-cross{grid-template-columns:1fr 1fr}}
.ts-cross__box{display:flex;gap:12px;align-items:center;border-radius:16px;padding:18px 16px;border:1px solid var(--line)}
.ts-cross--cream{background:var(--cream)}.ts-cross--blue{background:#eef4fb}
.ts-cross__box>svg:last-child{margin-left:auto;color:var(--sub);flex:none}
.ts-cross__ic{width:42px;height:42px;flex:none;display:grid;place-items:center;border-radius:12px;background:#fff;color:var(--pink)}
.ts-cross__k{display:block;font-size:11px;color:var(--sub);font-weight:700}
.ts-cross__box b{font-size:14px;color:var(--ink)}
.ts-cross__box p{font-size:12px;color:var(--sub)}
.ts-cross__box ul{margin:6px 0 0;padding-left:1.1em;font-size:12.5px;color:var(--sub)}
.ts-cross__links li{margin-bottom:3px}
.ts-cross__links a{color:var(--pink-d);text-decoration:underline}

/* share */
.ts-share{text-align:center;margin:26px 0 8px}
.ts-share__row{display:grid;gap:14px}
@media(min-width:680px){.ts-share__row{grid-template-columns:1fr 1fr;align-items:center;text-align:left}}
.ts-share__txt{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;font-size:13px}
.ts-share__tag{color:var(--pink-d);font-weight:700}
.ts-share__btns{display:flex;flex-direction:column;gap:10px}
.ts-sbtn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;cursor:pointer;border-radius:12px;padding:13px;font-weight:700;color:#fff;font-size:14px}
.ts-sbtn svg{width:1.1em;height:1.1em}
.ts-sbtn--x{background:#111}.ts-sbtn--fb{background:#1877f2}.ts-sbtn--line{background:#06c755}

.ts-foot-note{font-size:11.5px;color:var(--sub);text-align:center;margin:18px 0}
.ts-restartwrap{text-align:center;margin-bottom:8px}
.ts-restart{padding:12px 24px;background:none;border:1px solid var(--line);border-radius:999px;color:var(--sub);cursor:pointer;font-size:13px}

@media(min-width:820px){.ts-root{font-size:16px}}

/* ============================================================
   Phase 2「私らしい働き方診断」追加分（既存 ts-* を流用）。
   強み4型カラー: 分析=ブルー / 共感=ピンク / 推進=オレンジ / 創造=グリーン。
   ============================================================ */
.ts-root{
  --str-analysis:#4a90c2; --str-empathy:#e0708e; --str-drive:#e08a3c; --str-creation:#57ad86;
  --bg-analysis:#eef5fb; --bg-empathy:#fdeef1; --bg-drive:#fdf3e8; --bg-creation:#edf6f1;
  --bg2-analysis:#e2eefa; --bg2-empathy:#f9e3e8; --bg2-drive:#f9e8d2; --bg2-creation:#ddefe6;
}
.ts-str-analysis{--sc:var(--str-analysis);--sbg:var(--bg-analysis);--sbg2:var(--bg2-analysis)}
.ts-str-empathy{--sc:var(--str-empathy);--sbg:var(--bg-empathy);--sbg2:var(--bg2-empathy)}
.ts-str-drive{--sc:var(--str-drive);--sbg:var(--bg-drive);--sbg2:var(--bg2-drive)}
.ts-str-creation{--sc:var(--str-creation);--sbg:var(--bg-creation);--sbg2:var(--bg2-creation)}

/* intro（Phase1よりシンプル） */
.ts2-hero{margin-bottom:22px}
.ts2-lead{font-size:14.5px;line-height:1.9;color:var(--ink);margin-top:10px}
.ts2-herobtn{margin-top:22px;text-align:center}
.ts2-herobtn .ts-btn--primary{width:100%;max-width:420px}
@media(min-width:820px){.ts2-herobtn{text-align:left}}

/* result header */
.ts2-result{display:flex;flex-direction:column-reverse;gap:14px;border-radius:22px;padding:24px 20px;margin-bottom:8px;overflow:hidden;
  background:linear-gradient(180deg,var(--sbg),var(--sbg2));border:1px solid var(--line)}
.ts2-result__eyebrow{font-weight:700;font-size:14px;color:var(--sc);margin-bottom:4px}
.ts2-result__name{font-size:32px;font-weight:800;line-height:1.2;color:var(--sc);margin-bottom:12px}
.ts2-result__catch{font-size:15px;font-weight:700;color:var(--ink);line-height:1.7}
.ts2-result__art{position:relative;background:#fff;border-radius:16px;padding:10px;min-height:120px;display:grid;place-items:center;overflow:hidden}
.ts2-illust{margin:0 auto;max-height:300px;width:auto;border-radius:12px}
.ts2-artfallback{display:none;padding:34px 16px;font-size:22px;font-weight:800;color:var(--sc);text-align:center;line-height:1.4}
.ts2-result__art.is-noimg{background:linear-gradient(180deg,var(--sbg),var(--sbg2))}
.ts2-result__art.is-noimg .ts2-artfallback{display:block}
@media(min-width:760px){.ts2-result{flex-direction:row;align-items:center}.ts2-result__body{flex:1.15}.ts2-result__art{flex:1}}

/* persona */
.ts2-persona p{font-size:14.5px;margin-bottom:10px;line-height:1.9}

/* 4 summaries */
.ts2-summary{display:grid;gap:12px}
@media(min-width:680px){.ts2-summary{grid-template-columns:1fr 1fr}}
.ts2-scard{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-left:4px solid var(--sc);border-radius:14px;padding:14px 16px}
.ts2-scard__ic{width:36px;height:36px;flex:none;display:grid;place-items:center;border-radius:50%;background:var(--sbg);color:var(--sc)}
.ts2-scard__ic svg{width:20px;height:20px}
.ts2-scard__k{display:block;font-size:11.5px;font-weight:800;color:var(--sc);margin-bottom:2px}
.ts2-scard p{font-size:13.5px;color:var(--ink);line-height:1.7}

/* 有料ティザーBOX */
.ts2-paywall{border-radius:20px;padding:26px 20px;margin:28px 0;background:linear-gradient(180deg,#fffaf3,#fdf1f4);border:2px solid var(--sc)}
.ts2-paywall__h{font-size:19px;font-weight:800;color:var(--sc);text-align:center;margin-bottom:14px;line-height:1.5}
.ts2-paywall__body p{font-size:14px;color:var(--ink);line-height:1.9;margin-bottom:8px;text-align:center}
.ts2-paywall__cta{text-align:center;margin-top:18px}
.ts2-checkout{width:100%;max-width:420px}
.ts2-checkout.is-soon{background:#cfc6bd;box-shadow:none;cursor:default}
.ts2-checkout.is-soon:active{transform:none}

/* おすすめ本（準備中） */
.ts2-books-soon{display:flex;gap:10px;align-items:center;background:var(--cream);border:1px dashed #e3d4c0;border-radius:14px;padding:16px;font-size:13.5px;color:var(--sub)}
.ts2-books-soon__ic{color:var(--sub);flex:none}

/* おすすめ本3冊（book_map） */
.ts2-books{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;counter-reset:tsbook}
.ts2-book{counter-increment:tsbook;position:relative;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.ts2-book__l{display:block;padding:16px 16px 14px 46px;position:relative;text-decoration:none;color:inherit}
/* pointer-events:none = 番号バッジは a より上に載るのでクリックを吸わせない */
.ts2-book::before{content:counter(tsbook);position:absolute;left:14px;top:16px;width:22px;height:22px;border-radius:50%;background:var(--sc);color:#fff;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center;z-index:1;pointer-events:none}
.ts2-book__t{display:block;font-size:15.5px;font-weight:800;line-height:1.5}
.ts2-book__a{display:block;font-size:12.5px;color:var(--sub);margin-top:2px}
.ts2-book__w{font-size:13.5px;line-height:1.8;color:var(--ink);margin:8px 0 0}
.ts2-book__cta{display:inline-block;margin-top:10px;font-size:13px;font-weight:700;color:var(--sc)}
.ts2-book__cta::after{content:' →'}
.ts2-book__l:hover{background:var(--sbg)}
.ts2-book__l:hover .ts2-book__cta{text-decoration:underline}

/* ボタンが <a> のとき、上の `.ts-root a`(詳細度0-1-1) が `.ts-btn--primary` `.ts-nx__btn`(0-1-0)
   に勝ってしまい、ピンク地にピンク文字（コントラスト比 約1.3:1）で読めなくなっていた。
   コミュトレCTA(CV①の主導線)が該当。詳細度を 0-2-1 に上げて白文字を確定させる。 */
.ts-root a.ts-btn--primary, .ts-root a.ts-nx__btn{color:#fff}

/* 追補ブロック: 次の一歩 / 関連診断 / ほかの15タイプ / 仕組み（phase1・phase2 共通） */
.ts-nx{margin:22px 0;padding:22px 20px;border-radius:18px;background:var(--cream);border:1px solid #f2e6d6;text-align:center}
.ts-nx--sub{background:#fff;border:1px solid var(--line)}
.ts-nx__h{font-size:17px;font-weight:800;margin-bottom:8px;line-height:1.5}
.ts-nx__b{font-size:13.5px;line-height:1.9;color:var(--sub);margin:0 auto 16px;max-width:560px;text-align:left}
.ts-nx__btn{max-width:100%}
.ts-nx__btn:hover{opacity:.92}
.ts-nx .ts-note{margin-top:10px}

.ts-rel{margin:22px 0}
.ts-rel__in{display:flex;flex-direction:column;gap:10px}
.ts-rel__item{display:block;padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff;text-decoration:none;color:inherit}
.ts-rel__item:hover{background:var(--cream)}
.ts-rel__item b{display:block;font-size:15px;font-weight:800}
.ts-rel__item p{font-size:13px;color:var(--sub);margin:4px 0 0;line-height:1.7}
.ts-rel__hub{align-self:flex-start;font-size:13.5px;font-weight:700;color:var(--sc,var(--pink));text-decoration:none}
.ts-rel__hub:hover{text-decoration:underline}

.ts-oth{margin:22px 0}
.ts-oth__lead{font-size:13.5px;color:var(--sub);line-height:1.9;margin-bottom:14px}
.ts-oth__pair{margin-bottom:14px}
.ts-oth__list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
@media(min-width:560px){.ts-oth__list{grid-template-columns:1fr 1fr}}
.ts-oth__i{padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:12.5px;line-height:1.6}
.ts-oth__i b{display:block;font-size:13.5px;font-weight:800}
.ts-oth__i span{color:var(--sub)}
.ts-oth__i.is-me{border-color:var(--sc,var(--pink));background:var(--sbg,var(--cream))}

.ts-how{margin:22px 0;padding:18px 16px;border-radius:14px;background:var(--cream);border:1px dashed #e3d4c0}
.ts-how__h{font-size:14.5px;font-weight:800;margin-bottom:8px}
.ts-how p{font-size:12.5px;line-height:1.9;color:var(--sub);margin:0}
.ts-how__close{margin-top:8px !important}

/* メール取得ブロック */
.ts2-email{margin:26px 0;border-radius:20px;padding:26px 20px;background:var(--cream);border:1px solid #f2e6d6}
.ts2-email__in{max-width:560px;margin:0 auto;text-align:center}
.ts2-email__h{font-size:18px;font-weight:800;margin-bottom:8px}
.ts2-email__body{font-size:13.5px;color:var(--sub);margin-bottom:16px;line-height:1.8}
.ts2-email__form{display:flex;flex-direction:column;gap:10px}
@media(min-width:560px){.ts2-email__form{flex-direction:row}}
.ts2-email__input{flex:1;padding:14px 16px;border:1.5px solid var(--line);border-radius:12px;font-size:15px;color:var(--ink);background:#fff}
.ts2-email__input:focus{outline:none;border-color:var(--pink)}
.ts2-email__btn{font-size:15px;padding:14px 24px;white-space:nowrap}

/* 次の一手ナビ 専用の追加分（ts-next-*）。shared/styles.css の後ろに連結して next.css になる。
   phase1/phase2 の成果物を変えないため shared には足さない。 */
.ts-next-lead p{color:var(--sub);font-size:14.5px;margin-top:8px}
.ts-next-startbtn{margin-top:18px;text-align:center}
.ts-next-startbtn .ts-btn--primary{width:100%;max-width:420px}
.ts-next-startbtn .ts-note{text-align:left;max-width:560px;margin:10px auto 0}
.ts-next-learn{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ts-next-learn li{display:flex;gap:8px;align-items:flex-start;font-size:14px}
.ts-next-learn svg{color:var(--pink);flex:none;margin-top:.3em}

.ts-next-details{margin:22px 0;border:1px solid var(--line);border-radius:14px;background:#fff;padding:0 16px}
.ts-next-details summary{cursor:pointer;padding:14px 0;font-weight:800;font-size:14.5px}
.ts-next-details .ts-how{margin:0 0 16px}
.ts-next-details .ts-how p + p{margin-top:8px}

.ts-next-head{margin:10px 0 18px}
.ts-next-head__h{font-size:24px;font-weight:800;line-height:1.4;margin-bottom:10px}
.ts-next-head p{font-size:14px;color:var(--sub);margin-top:6px}
.ts-next-tie{padding:10px 12px;border-radius:10px;background:var(--cream);color:var(--ink) !important;font-size:13px !important}

.ts-next-care{margin:10px 0 22px;padding:18px 18px;border-radius:16px;background:#eef5fb;border:1px solid #cfe2f3}
.ts-next-care__h{font-size:17px;font-weight:800;margin-bottom:8px}
.ts-next-care p{font-size:13.5px;line-height:1.9;margin-top:6px}

.ts-next-cards{display:grid;gap:16px;grid-template-columns:1fr}
@media(min-width:960px){.ts-next-cards{grid-template-columns:repeat(3,1fr)}}
.ts-next-card{display:flex;flex-direction:column;padding:20px 18px;border:1px solid var(--line);border-radius:18px;background:#fff;min-width:0}
.ts-next-card p{font-size:13.5px;line-height:1.85}
.ts-next-card__rank{display:inline-block;align-self:flex-start;padding:2px 12px;border-radius:999px;background:var(--pink-l);color:var(--pink-d);font-weight:800;font-size:12.5px !important}
.ts-next-card__name{font-size:19px;font-weight:800;line-height:1.4;margin:8px 0 4px}
.ts-next-card__k{margin-top:14px;font-weight:800;font-size:12.5px !important;color:var(--sub)}
.ts-next-card__pub{margin-top:6px;font-size:12.5px !important}
.ts-next-card__btn{margin-top:8px;width:100%;font-size:14.5px;padding:12px 16px}
.ts-next-dots{display:flex;flex-direction:column;gap:0;margin:2px 0 4px}
.ts-next-dots__v{color:var(--pink);font-size:16px;letter-spacing:2px}
.ts-next-dots__off{color:#e6dcd2}
.ts-next-dots__l{font-size:11px;color:var(--sub)}
.ts-next-box{margin-top:10px;padding:10px 12px;border-radius:12px;background:var(--cream)}
.ts-next-box .ts-next-card__k{margin-top:0}
.ts-next-reasons{margin:4px 0 0;padding-left:1.2em;font-size:13.5px;line-height:1.8}
.ts-next-links{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:6px;font-size:13.5px;line-height:1.6}
.ts-next-links a,.ts-next-card__pub a,.ts-next-care a,.ts-next-rest a{text-decoration:underline}
.ts-next-kind{display:inline-block;margin-left:6px;padding:0 7px;border-radius:6px;background:#f3eee8;color:var(--sub);font-size:11px;font-weight:700;vertical-align:1px;white-space:nowrap}

.ts-next-rest{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:8px}
.ts-next-rest li{padding:12px 14px;border:1px solid var(--line);border-radius:12px;font-size:13.5px;line-height:1.7}
.ts-next-rest b{display:block;font-size:14.5px}
.ts-next-rest span{display:block;color:var(--sub);margin-bottom:4px}
