:root{
  --ink:#3a3733;
  --ink2:#7a736b;
  --rose:#f5c3ce;
  --rose-d:#d88a9c;
  --rose-l:#fdf1f4;
  --coral:#ffd3c2;
  --coral-d:#e79884;
  --pink:#fde7ec;
  --pink-d:#f5b8c4;
  --cream:#fffaf6;
  --beige:#f7efe8;
  --beige-d:#e0d3c4;
  --yellow:#ffe9a8;
  --alert:#e07a7e;
  --ok:#8fc9b0;
}
*{box-sizing:border-box}
html,body{margin:0;background:#f0e6e0;font-family:"Hiragino Mincho ProN","Yu Mincho","YuMincho",serif;color:var(--ink);}
.wrap{padding:30px 0}
.book{display:flex;margin:30px auto;width:1440px;box-shadow:0 12px 40px rgba(0,0,0,.18);background:#fffdf9}
.page{width:720px;height:1018px;background:#fffdf9;padding:40px 44px 70px;position:relative;overflow:hidden}
.page + .page{border-left:1px dashed #cfc8b6}

.chap-band{position:absolute;left:0;top:0;width:100%;background:linear-gradient(90deg,var(--rose),var(--rose-d));color:#fff;padding:12px 24px;display:flex;align-items:center;gap:14px;}
.chap-band .emoji{font-size:28px}
.chap-band .ch{font-weight:700;font-size:16px;letter-spacing:.05em}
.chap-band .sub{margin-left:auto;font-size:13px;opacity:.92}

.tab-index{position:absolute;right:0;top:60px;display:flex;flex-direction:column;gap:6px;z-index:2}
.tab-index span{writing-mode:vertical-rl;background:var(--rose-l);color:var(--rose-d);padding:12px 6px;font-size:11px;border-radius:6px 0 0 6px;font-weight:700;}
.tab-index .on{background:var(--rose-d);color:#fff}

.step-badge{display:inline-flex;align-items:center;gap:10px;margin-top:60px;margin-bottom:12px;}
.step-badge .num{background:var(--rose-d);color:#fff;border-radius:999px;padding:6px 18px;font-weight:800;font-size:15px;letter-spacing:.04em;box-shadow:0 3px 0 #b96e80;}
.step-badge .lbl{color:var(--rose-d);font-weight:700;font-size:13px}

h1.title{font-size:30px;line-height:1.35;margin:4px 0 14px;font-weight:800;border-bottom:4px solid var(--yellow);display:inline-block;padding-bottom:6px;}
h1.title small{display:block;font-size:14px;color:var(--ink2);font-weight:500;margin-bottom:6px;letter-spacing:.04em;font-family:sans-serif}

.intro{display:flex;gap:14px;align-items:flex-start;margin:14px 0 16px}
.intro img{width:110px;height:110px;border-radius:12px;flex-shrink:0;object-fit:cover;border:2px solid var(--rose-l)}
.intro .bubble{background:var(--rose-l);border:2px solid var(--rose);border-radius:18px;padding:12px 16px;font-size:14.5px;line-height:1.6;position:relative;flex:1;}
.intro .bubble::before{content:"";position:absolute;left:-14px;top:22px;width:0;height:0;border:8px solid transparent;border-right-color:var(--rose);}

.talk{display:flex;flex-direction:column;gap:10px;margin:10px 0 16px}
.row{display:flex;gap:10px;align-items:flex-start}
.row.r{flex-direction:row-reverse}
.row img{width:52px;height:52px;border-radius:50%;object-fit:cover;border:2px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.12);flex-shrink:0}
.row .b{padding:10px 14px;border-radius:14px;font-size:13.5px;line-height:1.55;max-width:480px;}
.row .b.m{background:var(--pink);border:1.5px solid var(--pink-d)}
.row .b.r{background:var(--rose-l);border:1.5px solid var(--rose)}
.row .b.y{background:#fff4e0;border:1.5px solid #f3d69a}
.row .name{font-weight:700;font-size:11.5px;margin-bottom:2px;color:var(--ink2);font-family:sans-serif}

.conclusion{background:linear-gradient(90deg,#ffe0d0,var(--coral));color:#7a4a3a;padding:14px 20px;border-radius:14px;font-weight:800;font-size:17px;display:flex;align-items:center;gap:10px;margin:10px 0 6px;box-shadow:0 4px 0 #e0ac8e;}
.conclusion .ic{font-size:24px}
.conclusion small{display:block;font-weight:500;font-size:12px;opacity:.9}

h2.sec{font-size:18px;margin:42px 0 10px;padding:8px 14px;background:var(--rose-l);border-left:6px solid var(--rose-d);border-radius:0 8px 8px 0;color:var(--rose-d);font-weight:800;}
h2.sec .n{color:var(--coral-d);margin-right:6px}
h2.sec.first{margin-top:60px}

table.t{width:100%;border-collapse:separate;border-spacing:0;margin:8px 0 14px;font-size:13px;font-family:sans-serif}
table.t th,table.t td{padding:9px 11px;border-bottom:1px dashed #d8d2c2;vertical-align:top;line-height:1.55}
table.t th{background:var(--cream);color:var(--ink);font-weight:700;text-align:left}
table.t tr.danger td{background:#fff2ef}
table.t tr.good td{background:#f0faf4}
table.t .week{font-weight:800;width:80px}
table.t .bad{color:var(--alert);font-weight:800}
table.t .soft{color:#6fae8b;font-weight:700}

.point{background:var(--cream);border:2px dashed var(--coral);border-radius:14px;padding:14px 18px;margin:10px 0 14px;font-size:13.5px;line-height:1.65}
.point h3{margin:0 0 6px;color:var(--coral-d);font-size:14.5px;display:flex;align-items:center;gap:6px}
.point ul{margin:4px 0 0 18px;padding:0}
.point li{margin:3px 0}

.summary3{background:linear-gradient(135deg,#fff8ea,#ffe7c8);border:2px solid var(--yellow);border-radius:14px;padding:14px 18px;font-size:13.5px;line-height:1.7;margin-top:8px;}
.summary3 h3{margin:0 0 6px;font-size:14.5px}
.summary3 .line{display:flex;gap:8px;align-items:flex-start;margin:3px 0}
.summary3 .line > b{background:var(--rose-d);color:#fff;border-radius:50%;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0;font-family:sans-serif}
.summary3 .line span b{font-weight:800}

.check-list{display:flex;gap:8px;justify-content:space-between;margin:10px 0 14px}
.chk{flex:1;background:var(--rose-l);border:1.5px solid var(--rose);border-radius:10px;padding:10px 6px;text-align:center;font-size:12px;font-weight:700;color:var(--rose-d);font-family:sans-serif}
.chk .ic{display:block;font-size:22px;margin-bottom:2px}

.cover{width:1440px;height:1018px;background:linear-gradient(135deg,#fdf1f4,#f7efe8);position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:60px;margin:30px auto;box-shadow:0 12px 40px rgba(0,0,0,.18)}
.cover::before{content:"";position:absolute;top:0;left:0;width:100%;height:80px;background:linear-gradient(90deg,var(--rose),var(--rose-d))}
.cover .chno{font-size:22px;color:var(--rose-d);letter-spacing:.3em;margin-top:0;font-family:sans-serif;font-weight:700}
.cover .emoji{font-size:120px;margin:24px 0 8px}
.cover h1{font-size:68px;margin:6px 0 8px;letter-spacing:.05em}
.cover .sub{font-size:22px;color:var(--ink2);margin-bottom:28px}
.cover .questions{background:#fff;border:2px solid var(--rose);border-radius:20px;padding:24px 40px;max-width:780px;box-shadow:0 6px 20px rgba(216,138,156,.15)}
.cover .questions h3{margin:0 0 12px;color:var(--rose-d);font-size:17px;font-family:sans-serif}
.cover .questions ul{margin:0;padding-left:24px;font-size:16px;line-height:2}
.cover .questions li::marker{color:var(--coral-d)}

.deco{display:inline-block;color:var(--rose-d);font-weight:700;font-family:sans-serif}
.deco::before{content:"＼"}
.deco::after{content:"／"}

.pill{background:#fff;color:var(--coral-d);padding:2px 10px;border-radius:999px;margin:0 2px;font-weight:800;border:1.5px solid var(--coral)}

.pgnum{position:absolute;bottom:18px;font-size:11px;color:var(--ink2);letter-spacing:.1em;font-family:sans-serif}
.pgnum.l{left:24px}
.pgnum.r{right:24px}
.pgtitle{position:absolute;bottom:18px;font-size:11px;color:var(--ink2);font-family:sans-serif}
.pgtitle.l{left:60px}
.pgtitle.r{right:60px}
.note{font-size:11px;color:var(--ink2);margin-top:6px;font-family:sans-serif;line-height:1.5}
p.body{font-size:13.5px;line-height:1.7;margin:6px 0 10px}

table.yakuzai{width:100%;border-collapse:collapse;font-size:12px;font-family:sans-serif;margin-top:8px}
table.yakuzai th,table.yakuzai td{padding:7px 8px;border:1px solid #e5dccf;text-align:left;vertical-align:top}
table.yakuzai th{background:var(--rose-l);color:var(--rose-d)}
table.yakuzai .ok{color:var(--ok);font-weight:800;text-align:center}
table.yakuzai .ng{color:var(--alert);font-weight:800;text-align:center}
table.yakuzai .mid{color:#c8a24a;font-weight:800;text-align:center}
