/* ===================================================================
   AI町医者BOOK — 無料BOOK専用スタイル（site.css の後に読み込む）
   スマホ縦読み前提。印刷時は A5 縦のブックレットになります。
   =================================================================== */

/* 読み進みバー */
.progress{position:fixed;top:0;left:0;height:3px;background:var(--amber);width:0;z-index:80;
  transition:width .12s linear}

.book-wrap{max-width:720px;margin:0 auto;padding:0 22px}

/* ---------- 表紙 ---------- */
.cover{position:relative;overflow:hidden;text-align:center;
  background:linear-gradient(170deg,#fff4e2 0%,#fdeedd 45%,var(--bg) 100%);
  border-bottom:1px solid var(--line)}
.cover .art{position:absolute;inset:0;pointer-events:none}
.cover .art i{position:absolute;display:block;border-radius:50%;filter:blur(52px);opacity:.6}
.cover .art .c1{width:340px;height:340px;right:-60px;top:-110px;background:#ffcf94}
.cover .art .c2{width:280px;height:280px;left:-80px;bottom:-120px;background:#ffb0a0}
.cover .art .c3{width:220px;height:220px;left:40%;top:30%;background:#a8e4dc;opacity:.35}
.cover .book-wrap{position:relative;z-index:1;padding:74px 22px 62px}
.vol{display:inline-block;font-family:var(--mono);font-size:11.5px;letter-spacing:.2em;
  color:var(--amber);border:1px solid #eccfa4;background:rgba(255,255,255,.7);
  border-radius:999px;padding:7px 16px;font-weight:700;margin-bottom:26px}
.cover h1{font-size:clamp(27px,6.6vw,40px);line-height:1.45;margin:0 0 22px;font-weight:800}
.cover h1 em{font-style:normal;color:var(--amber)}
.cover .by{font-size:14px;color:var(--ink-soft);margin:0 0 8px;font-weight:700}
.cover .meta{font-family:var(--mono);font-size:12px;color:var(--ink-dim);margin:0}
.cover .start{margin-top:36px}

/* ---------- 目次 ---------- */
.toc{background:var(--panel);border:1px solid var(--line);border-radius:14px;
  padding:26px 26px 20px;box-shadow:var(--shadow);margin-top:36px;text-align:left}
.toc h2{font-size:13px!important;font-family:var(--mono);letter-spacing:.16em;
  color:var(--ink-dim);text-transform:uppercase;margin:0 0 14px!important}
.toc ol{margin:0;padding:0;list-style:none;counter-reset:t}
.toc li{counter-increment:t;border-bottom:1px dashed var(--line-soft)}
.toc li:last-child{border-bottom:none}
.toc a{display:flex;gap:12px;padding:10px 0;color:var(--ink);font-size:14.5px;font-weight:700}
.toc a::before{content:counter(t,decimal-leading-zero);font-family:var(--mono);
  color:var(--amber);font-size:12px;flex:none;padding-top:3px}
.toc a:hover{color:var(--amber)}

/* ---------- 各ページ ---------- */
.page{padding:58px 0;border-bottom:1px solid var(--line)}
.page.tint{background:var(--bg-soft)}
.pno{font-family:var(--mono);font-size:11px;letter-spacing:.18em;color:var(--teal);
  font-weight:700;margin:0 0 12px;text-transform:uppercase}
.page h2{font-size:clamp(23px,5.2vw,32px);margin:0 0 22px;font-weight:800;line-height:1.5}
.page h2 em{font-style:normal;color:var(--amber)}
.page h3{font-size:17.5px;margin:32px 0 12px;font-weight:800}
.page p{font-size:16.5px;line-height:1.95;color:var(--ink);margin:0 0 20px}
.page p.sub{color:var(--ink-soft);font-size:15.5px}
.page strong{font-weight:800}
.page .big{font-size:clamp(19px,4.4vw,24px);font-weight:800;line-height:1.7;margin:0 0 22px}
.page .big em{font-style:normal;color:var(--amber)}

/* 引用・強調ブロック */
.qt{background:var(--amber-wash);border:1px solid #f2e2c8;border-left:4px solid var(--amber-lit);
  border-radius:10px;padding:22px 24px;margin:0 0 24px}
.qt p{margin:0;font-size:16px;color:#5b4a30}
.qt p strong{color:var(--ink)}

/* 業種別カード */
.biz-list{display:grid;gap:12px;margin:0 0 24px}
.biz-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;
  padding:20px 22px;box-shadow:var(--shadow)}
.biz-card .ttl{display:flex;align-items:center;gap:10px;font-size:16.5px;font-weight:800;margin-bottom:8px}
.biz-card .ttl .ic{font-size:22px;line-height:1}
.biz-card p{margin:0;font-size:14.5px;color:var(--ink-soft);line-height:1.85}
.biz-card .ex{margin:11px 0 0;font-size:13.5px;color:var(--amber);font-weight:700}

/* できることリスト */
.can-list{list-style:none;margin:0 0 24px;padding:0;display:grid;gap:10px}
.can-list li{background:var(--panel);border:1px solid var(--line);border-radius:10px;
  padding:15px 18px 15px 46px;position:relative;font-size:15.5px;box-shadow:var(--shadow)}
.can-list li::before{content:"◯";position:absolute;left:17px;top:15px;color:var(--amber);
  font-size:14px;font-weight:800}
.can-list li b{font-weight:800}
.can-list li span{display:block;font-size:13.5px;color:var(--ink-soft);margin-top:3px}

/* 数字 */
.numrow{display:grid;grid-template-columns:repeat(2,1fr);gap:11px;margin:0 0 24px}
.numrow div{background:var(--panel);border:1px solid var(--line);border-radius:12px;
  padding:20px 12px;text-align:center;box-shadow:var(--shadow)}
.numrow .n{font-family:var(--mono);font-size:clamp(24px,6vw,32px);font-weight:700;line-height:1.2}
.numrow .n .u{color:var(--amber);font-size:.56em}
.numrow .l{font-size:11.5px;color:var(--ink-dim);margin-top:7px;font-weight:600}

/* ステップ */
.steps{list-style:none;margin:0 0 24px;padding:0;counter-reset:s}
.steps li{counter-increment:s;position:relative;padding:0 0 24px 50px}
.steps li:last-child{padding-bottom:0}
.steps li::before{content:counter(s);position:absolute;left:0;top:0;width:32px;height:32px;
  border-radius:50%;background:var(--amber-wash);color:var(--amber);border:1.5px solid #f2e2c8;
  display:flex;align-items:center;justify-content:center;font-family:var(--mono);
  font-weight:700;font-size:14px}
.steps li:not(:last-child)::after{content:"";position:absolute;left:15px;top:38px;bottom:8px;
  width:2px;background:var(--line)}
.steps li h4{margin:3px 0 6px;font-size:16.5px;font-weight:800}
.steps li p{margin:0;font-size:15px;color:var(--ink-soft);line-height:1.85}

/* タイプ分岐 */
.types{display:grid;gap:11px;margin:0 0 24px}
.types a{display:flex;align-items:center;gap:14px;background:var(--panel);
  border:1px solid var(--line);border-radius:12px;padding:18px 20px;
  box-shadow:var(--shadow);color:var(--ink);transition:.18s}
.types a:hover{border-color:var(--amber);transform:translateX(3px)}
.types a .ic{font-size:26px;line-height:1;flex:none}
.types a .tx{flex:1}
.types a .tx b{display:block;font-size:16px;font-weight:800}
.types a .tx span{display:block;font-size:13px;color:var(--ink-soft);margin-top:2px}
.types a .ar{color:var(--amber);font-family:var(--mono);font-weight:700;flex:none}

/* 保存 / 登録 */
.save{background:var(--panel);border:1px solid var(--line);border-radius:14px;
  padding:28px 26px;box-shadow:var(--shadow);margin:0 0 18px}
.save h3{margin:0 0 10px;font-size:18px;font-weight:800}
.save p{margin:0 0 18px;font-size:14.5px;color:var(--ink-soft);line-height:1.85}
.save ul{margin:0 0 20px;padding:0;list-style:none;font-size:14px;color:var(--ink-soft)}
.save ul li{padding-left:18px;position:relative;margin-bottom:6px}
.save ul li::before{content:"—";position:absolute;left:0;color:var(--amber)}
.save .btnwrap{display:flex;flex-wrap:wrap;gap:10px}
.save .btnwrap .btn{flex:1;min-width:210px}

/* 最終ページ */
.closing{text-align:center;background:linear-gradient(180deg,var(--bg-soft),#fdf0dd);
  position:relative;overflow:hidden}
.closing::before{content:"";position:absolute;width:460px;height:460px;border-radius:50%;
  background:#ffcf94;filter:blur(80px);opacity:.5;left:50%;transform:translateX(-50%);top:-300px}
.closing .book-wrap{position:relative}
.closing .big{margin-bottom:26px}
.closing .btnwrap{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}

@media(max-width:760px){
  .page{padding:46px 0}
  .cover .book-wrap{padding:54px 22px 48px}
  .numrow{grid-template-columns:repeat(2,1fr)}
  .save .btnwrap .btn{min-width:100%}
}

/* ===================================================================
   印刷（PDF保存）— A5縦のブックレットとして出力
   =================================================================== */
@media print{
  @page{size:A5 portrait;margin:14mm 13mm}
  html{scroll-behavior:auto}
  body{background:#fff;color:#111;font-size:11.5pt;line-height:1.75}
  .nav,.progress,.toc,.no-print,.types a .ar{display:none!important}
  .book-wrap{max-width:none;padding:0}
  .cover{background:#fff!important;border:none;page-break-after:always}
  .cover .art{display:none}
  .cover .book-wrap{padding:36mm 0 0}
  .cover h1{font-size:24pt}
  .page{page-break-before:always;padding:0;border:none;background:#fff!important}
  .page.tint{background:#fff!important}
  .page h2{font-size:19pt;margin-bottom:6mm}
  .page h3{font-size:13pt}
  .page p,.can-list li,.biz-card p,.steps li p{font-size:11.5pt}
  .page .big{font-size:14pt}
  .qt,.biz-card,.can-list li,.numrow div,.save,.types a{
    box-shadow:none!important;break-inside:avoid;background:#fff!important;border-color:#ccc!important}
  .qt{border-left:3pt solid #c26f10!important}
  .closing{background:#fff!important}
  .closing::before{display:none}
  a{color:#111!important;text-decoration:none}
  .btn{border:1pt solid #c26f10!important;background:#fff!important;color:#c26f10!important;
    box-shadow:none!important;padding:3mm 6mm}
  .print-only{display:block!important}
}
.print-only{display:none}
