  :root{
    --jitsu-primary:#9C6B3E;
    --jitsu-dark:#6B4726;
    --jitsu-light:#F2E8DC;
    --jitsu-accent:#C89B5C;
    --jitsu-bg:#FBF9F5;
    --jitsu-text:#292624;
    --nudge-brand:#3d6a85;
    --nudge-brand-dark:#294a5e;
  }
  *{box-sizing:border-box;}
  html,body{margin:0;padding:0;}
  body{
    font-family:"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic Medium","Yu Gothic","Meiryo",sans-serif;
    color:var(--jitsu-text);
    background:var(--jitsu-bg);
    line-height:1.9;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  img{max-width:100%;height:auto;display:block;}
  a{color:inherit;}
  .wrap{max-width:1080px;margin:0 auto;padding:0 24px;}

  /* ===== Header (common) ===== */
  .toi-header{background:#fff;border-bottom:1px solid rgba(41,38,36,0.08);position:sticky;top:0;z-index:100;}
  .toi-header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 24px;max-width:1200px;margin:0 auto;}
  .toi-header-logo{font-size:1.15rem;font-weight:700;letter-spacing:0.02em;flex:0 0 auto;}
  .toi-brand{color:#22242a;}
  .nudge-brand{color:var(--nudge-brand);}
  .toi-header-breadcrumb{display:flex;align-items:center;gap:8px;font-size:0.85rem;flex-wrap:wrap;justify-content:center;flex:1 1 auto;}
  .toi-breadcrumb-link{color:#55595f;text-decoration:none;}
  .toi-breadcrumb-link:hover{text-decoration:underline;}
  .toi-breadcrumb-sep{color:#aab0b6;}
  .toi-header-contact{flex:0 0 auto;}
  .toi-header-contact-btn{display:inline-block;background:var(--nudge-brand);color:#fff;padding:10px 20px;border-radius:999px;font-size:0.85rem;font-weight:700;text-decoration:none;white-space:nowrap;}
  .toi-header-contact-btn:hover{background:var(--nudge-brand-dark);}
  @media(max-width:760px){
    .toi-header-inner{flex-wrap:wrap;justify-content:center;padding:12px 16px;}
    .toi-header-logo{order:1;}
    .toi-header-contact{order:2;}
    .toi-header-breadcrumb{order:3;width:100%;justify-content:center;padding-top:8px;margin-top:8px;border-top:1px solid rgba(41,38,36,0.06);}
  }

  /* ===== FV ===== */
  .fv{padding:64px 0 56px;background:linear-gradient(180deg,#fff 0%,var(--jitsu-bg) 100%);}
  .fv-badge{display:inline-block;background:var(--jitsu-light);color:var(--jitsu-dark);border-radius:999px;padding:7px 18px;font-size:0.85rem;font-weight:700;margin-bottom:22px;}
  .fv h1{font-size:2.1rem;line-height:1.6;font-weight:800;color:var(--jitsu-dark);margin:0 0 26px;}
  .fv-sub{font-size:1.05rem;line-height:2;margin:0 0 20px;max-width:760px;}
  .fv-supplement{font-size:0.95rem;line-height:1.9;color:#55524c;border-left:4px solid var(--jitsu-accent);padding-left:16px;max-width:700px;margin:0 0 40px;}
  .fv-visual{margin-top:20px;border-radius:14px;overflow:hidden;box-shadow:0 8px 30px rgba(107,71,38,0.16);}
  .sec-visual{display:block;margin:30px auto 6px;border-radius:14px;overflow:hidden;box-shadow:0 6px 20px rgba(107,71,38,0.12);max-width:100%;height:auto;}
  @media(max-width:640px){.fv h1{font-size:1.5rem;}}

  /* ===== Section shell ===== */
  .sec{padding:64px 0;}
  .sec-alt{background:#fff;}
  .section-label{display:inline-block;font-size:0.8rem;font-weight:700;letter-spacing:0.08em;color:var(--jitsu-primary);text-transform:uppercase;margin-bottom:14px;}
  .sec-title{font-size:1.5rem;line-height:1.7;font-weight:800;color:var(--jitsu-dark);margin:0 0 30px;}
  .sec-lead{font-size:1rem;line-height:2;margin:0 0 24px;}
  @media(max-width:640px){.sec{padding:48px 0;}.sec-title{font-size:1.25rem;}}

  /* ===== issue / check lists ===== */
  .issue-list{list-style:none;padding:0;margin:24px 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;}
  .issue-list li{background:#fff;border-radius:8px;padding:13px 16px 13px 36px;position:relative;border:1px solid rgba(41,38,36,0.08);font-size:0.95rem;}
  .issue-list li::before{content:"";position:absolute;left:14px;top:50%;transform:translateY(-50%);width:8px;height:8px;border-radius:50%;background:var(--jitsu-primary);}
  .sec-alt .issue-list li{background:var(--jitsu-bg);}
  .check-list li{padding-left:38px;}
  .check-list li::before{content:"✓";background:none;width:auto;height:auto;top:14px;left:14px;transform:none;color:var(--jitsu-primary);font-weight:700;font-size:1rem;}

  /* ===== core message ===== */
  .core-message{background:var(--jitsu-dark);color:#fff;border-radius:14px;padding:22px 26px;font-weight:700;font-size:1.05rem;line-height:1.9;margin-top:32px;}

  /* ===== vertical flow (chasm etc.) ===== */
  .flow-vertical{display:flex;flex-direction:column;align-items:center;gap:0;max-width:520px;margin:32px auto 8px;}
  .flow-vertical .flow-chip{width:100%;text-align:center;background:#fff;border:1px solid rgba(41,38,36,0.1);border-radius:10px;padding:13px 18px;font-weight:700;color:var(--jitsu-text);font-size:0.95rem;}
  .flow-vertical .flow-arrow-down{color:var(--jitsu-primary);font-size:1.3rem;line-height:1;margin:4px 0;}

  /* ===== horizontal chip flow (loops) ===== */
  .flow-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;justify-content:center;margin:28px 0 6px;}
  .flow-chip{background:var(--jitsu-light);color:var(--jitsu-dark);border-radius:999px;padding:10px 18px;font-weight:700;font-size:0.9rem;white-space:nowrap;}
  .flow-arrow{color:var(--jitsu-primary);font-size:1.2rem;font-weight:700;}
  .loop-note{display:flex;align-items:center;gap:8px;justify-content:center;margin-top:16px;color:var(--jitsu-dark);font-size:0.9rem;background:var(--jitsu-light);border-radius:10px;padding:12px 18px;text-align:center;}

  /* ===== qa grid ===== */
  .qa-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin:26px 0;}
  .qa-card{background:#fff;border:1px solid rgba(156,107,62,0.16);border-left:4px solid var(--jitsu-accent);border-radius:10px;padding:16px 18px;font-weight:600;color:var(--jitsu-text);font-size:0.95rem;}
  .sec-alt .qa-card{background:var(--jitsu-bg);}

  /* ===== step flow ===== */
  .step-flow{max-width:640px;margin:32px auto 8px;}
  .step-item{display:flex;gap:18px;align-items:flex-start;}
  .step-num{flex:0 0 auto;width:42px;height:42px;border-radius:50%;background:var(--jitsu-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:0.85rem;}
  .step-text{padding-top:9px;font-weight:700;color:var(--jitsu-text);font-size:0.98rem;}
  .step-connector{width:2px;height:22px;background:var(--jitsu-accent);margin-left:20px;}

  /* ===== transform pairs (指示 -> 問い) ===== */
  .pair-list{display:flex;flex-direction:column;gap:14px;margin:28px 0 6px;max-width:760px;}
  .pair-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap;background:#fff;border-radius:12px;padding:16px 20px;border:1px solid rgba(41,38,36,0.08);}
  .pair-before{flex:1 1 260px;color:#6b655d;font-size:0.92rem;}
  .pair-before .tag{display:inline-block;background:#efece7;color:#6b655d;border-radius:6px;padding:2px 10px;font-size:0.72rem;font-weight:700;margin-right:8px;vertical-align:middle;}
  .pair-arrow{flex:0 0 auto;color:var(--jitsu-primary);font-size:1.2rem;font-weight:700;}
  .pair-after{flex:1 1 260px;color:var(--jitsu-dark);font-weight:700;font-size:0.98rem;}
  .pair-after .tag{display:inline-block;background:var(--jitsu-primary);color:#fff;border-radius:6px;padding:2px 10px;font-size:0.72rem;font-weight:700;margin-right:8px;vertical-align:middle;}

  /* ===== category + question cards ===== */
  .category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin:26px 0 6px;}
  .category-card{background:#fff;border-left:4px solid var(--jitsu-accent);border-radius:10px;padding:16px 18px;border:1px solid rgba(41,38,36,0.08);}
  .category-card .cat-label{display:inline-block;font-size:0.72rem;font-weight:700;color:var(--jitsu-primary);background:var(--jitsu-light);border-radius:999px;padding:3px 12px;margin-bottom:10px;}
  .category-card .cat-question{font-weight:700;color:var(--jitsu-text);font-size:0.95rem;}

  /* ===== compare grid (2 col) ===== */
  .compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:28px 0 6px;}
  .compare-col{background:#fff;border-radius:14px;padding:24px;border:1px solid rgba(41,38,36,0.08);}
  .compare-col.is-highlight{border:2px solid var(--jitsu-primary);box-shadow:0 6px 18px rgba(156,107,62,0.15);}
  .compare-col h3{color:var(--jitsu-dark);font-size:1rem;margin:0 0 16px;}
  .compare-col .flow-row{justify-content:flex-start;margin:0;}
  @media(max-width:700px){.compare-grid{grid-template-columns:1fr;}}

  /* ===== trio grid (3 col, section8) ===== */
  .trio-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px;margin:28px 0 6px;}
  .trio-col{background:#fff;border-radius:14px;padding:22px;border:1px solid rgba(41,38,36,0.08);}
  .trio-col.is-current{border:2px solid var(--jitsu-primary);box-shadow:0 6px 18px rgba(156,107,62,0.15);}
  .trio-col h3{color:var(--jitsu-dark);font-size:0.95rem;margin:0 0 16px;}
  .trio-col .flow-vertical{margin:0;max-width:none;gap:0;}
  .trio-col .flow-vertical .flow-chip{font-size:0.85rem;padding:9px 12px;}

  /* ===== implementation cards ===== */
  .impl-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin:28px 0 6px;}
  .impl-card{background:#fff;border-radius:14px;padding:24px;border-top:4px solid var(--jitsu-primary);}
  .impl-card h3{color:var(--jitsu-dark);margin:0 0 12px;font-size:1.05rem;}
  .impl-card p{margin:0 0 10px;font-size:0.92rem;}
  .impl-card ul{margin:0;padding-left:1.2em;font-size:0.9rem;}
  .impl-card ul li{margin-bottom:4px;}

  /* ===== badge ===== */
  .badge{display:inline-block;background:var(--jitsu-light);color:var(--jitsu-dark);border-radius:999px;padding:7px 18px;font-size:0.82rem;font-weight:700;margin-bottom:16px;}

  /* ===== note ===== */
  .note-text{font-size:0.86rem;color:#5b5650;margin-top:18px;line-height:2;}

  /* ===== mothership banner ===== */
  .banner{padding:56px 0;}
  .banner-box{background:#fff;border:2px dashed var(--jitsu-primary);border-radius:18px;padding:44px 32px;text-align:center;}
  .banner-box h2{font-size:1.3rem;color:var(--jitsu-dark);margin:0 0 14px;line-height:1.7;}
  .banner-box .sec-lead{margin:0 auto 22px;max-width:640px;}
  .banner-actions{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:10px;}

  /* ===== buttons ===== */
  .btn-primary{display:inline-block;background:var(--jitsu-primary);color:#fff;padding:16px 38px;border-radius:999px;font-weight:700;text-decoration:none;font-size:1.02rem;}
  .btn-primary:hover{background:var(--jitsu-dark);}
  .btn-outline{display:inline-block;background:#fff;color:var(--jitsu-primary);border:2px solid var(--jitsu-primary);padding:14px 34px;border-radius:999px;font-weight:700;text-decoration:none;font-size:0.98rem;}
  .btn-outline:hover{background:var(--jitsu-light);}

  /* ===== final CTA ===== */
  .final-cta{background:var(--jitsu-dark);color:#fff;padding:70px 0;text-align:center;}
  .final-cta h2{font-size:1.5rem;line-height:1.7;margin:0 0 28px;}
  .final-cta .btn-primary{background:#fff;color:var(--jitsu-dark);}
  .final-cta .btn-primary:hover{background:var(--jitsu-light);}
  .final-cta .btn-secondary-link{display:block;margin-top:18px;color:#f2e8dc;text-decoration:underline;font-size:0.92rem;}
  .final-cta .cta-note{max-width:640px;margin:28px auto 0;font-size:0.9rem;line-height:2;color:#e8dcc9;}

  /* ===== theme nav ===== */
  .jitsu-theme-nav{padding:60px 0 70px;background:#fff;border-top:1px solid rgba(41,38,36,0.08);}
  .jitsu-theme-nav-inner{max-width:1000px;margin:0 auto;text-align:center;}
  .jitsu-theme-nav-title{font-size:1.3rem;color:var(--jitsu-dark);margin:0 0 12px;font-weight:800;}
  .jitsu-theme-nav-lead{color:#5b5650;margin:0 0 30px;line-height:1.9;font-size:0.95rem;}
  .jitsu-theme-nav-list{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:0;margin:0;text-align:left;}
  .jitsu-theme-nav-list li a{display:block;background:var(--jitsu-bg);border:1px solid rgba(41,38,36,0.1);border-radius:8px;padding:13px 14px;color:var(--jitsu-text);text-decoration:none;font-size:0.88rem;font-weight:600;}
  .jitsu-theme-nav-list li a:hover{background:var(--jitsu-light);}
  .jitsu-theme-nav-list li a.is-current{background:var(--jitsu-primary);color:#fff;border-color:var(--jitsu-primary);}
  @media(max-width:880px){.jitsu-theme-nav-list{grid-template-columns:repeat(3,1fr);}}
  @media(max-width:600px){.jitsu-theme-nav-list{grid-template-columns:repeat(2,1fr);}}

  /* ===== footer (common) ===== */
  .toi-footer{background:#f5f4f0;border-top:1px solid rgba(41,38,36,0.08);padding:30px 24px;color:#44484c;}
  .toi-footer-inner{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;}
  .toi-footer-copy{font-size:0.85rem;color:#6b6f74;margin:0;}
  .toi-footer-links{display:flex;gap:22px;flex-wrap:wrap;font-size:0.85rem;}
  .toi-footer-links a{text-decoration:none;color:#44484c;}
  .toi-footer-links a:hover{text-decoration:underline;}
  .toi-footer .toi-brand{color:#44484c;}
  @media(max-width:640px){.toi-footer-inner{flex-direction:column;text-align:center;}}