/* ai.create-shika.com — 「院長の診療ノート」上書きスタイル（deep.css の後に読む・AI制作） */
@import url("https://fonts.googleapis.com/css2?family=Shippori+Mincho+B1:wght@600;800&family=Zen+Kurenaido&family=M+PLUS+1+Code:wght@400;600&display=swap");
:root{
  color-scheme:light;
  --bg:#F5F0E4; --bg-2:#EFE8D8; --panel:#FFFDF7; --panel-2:#FBF7EC;
  --line:#D9CFB8; --line-soft:#E6DECB;
  --ink:#23201B; --ink-2:#5E574B; --ink-3:#8F8676;
  --vio:#C23B2E; --vio-dim:rgba(194,59,46,.06); --vio-deep:#9E2E23; --cyan:#2F4E8C;
  --gold:#9A6A12; --grn:#2E7D4F; --red:#C23B2E; --blue:#2F4E8C;
  --ivory:#FFFDF7; --ivory-line:#D9CFB8; --ivory-ink:#23201B; --ivory-ink2:#5E574B;
  --hand:"Zen Kurenaido",cursive;
  --min:"Shippori Mincho B1","Hiragino Mincho ProN","Yu Mincho",serif;
  --mono:"M PLUS 1 Code",ui-monospace,Consolas,monospace;
  --ml:calc(max(16px,4vw) + 10px);
}
@media (max-width:640px){ :root{--ml:12px} }
body{background:var(--bg);color:var(--ink)}
/* 罫線と赤い余白線 */
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.5;
  background:
    linear-gradient(90deg,transparent 0 var(--ml),#E3A9A0 var(--ml) calc(var(--ml) + 1px),transparent calc(var(--ml) + 1px)),
    repeating-linear-gradient(180deg,transparent 0 33px,var(--line) 33px 34px)}
body>*{position:relative;z-index:1}
::selection{background:rgba(194,59,46,.25);color:var(--ink)}
.eyebrow{font-family:var(--hand);font-size:16px;letter-spacing:.04em;text-transform:none;color:var(--red)}
.eyebrow::before{content:"―";width:auto;height:auto;background:none}

/* 上の帯 */
.snav{background:rgba(245,240,228,.92);border-bottom:1px solid var(--line)}
.snav .home b{font-family:var(--min)}
.snav .home .ar{color:var(--red)}
.snav .now{font-family:var(--hand);font-size:13px;letter-spacing:.02em;color:var(--ink-3)}

/* ページの見出し */
.phero{background:transparent;border-bottom:1px solid var(--line)}
.phero::before{display:none}
.phero h1{font-family:var(--min);font-weight:800;line-height:1.35}
.phero h1 em{color:var(--ink);background:linear-gradient(transparent 62%,rgba(194,59,46,.22) 62%)}
.phero .pname{font-family:var(--hand);font-weight:400;font-size:clamp(17px,2.2vw,20px);color:var(--blue)}
.phero .pname .mk{box-shadow:none;color:var(--blue)}
.chip{font-family:var(--hand);font-size:14px;letter-spacing:.02em;border:1px solid var(--line);background:var(--panel);color:var(--ink-2);transform:rotate(-.6deg)}
.chip:nth-child(2n){transform:rotate(.7deg)}
.chip.on{border-color:rgba(46,125,79,.45);color:var(--grn)}
.chip.hot{border-color:rgba(194,59,46,.45);color:var(--red)}
.chip.gold{border-color:rgba(154,106,18,.4);color:var(--gold)}
.mk{box-shadow:inset 0 -.45em rgba(194,59,46,.18)}
.act .mk{box-shadow:inset 0 -.5em rgba(194,59,46,.3)}

/* 章 */
.sec,.sec.alt{background:transparent;border-color:var(--line)}
.sec[data-n]::after{color:rgba(194,59,46,.10);-webkit-text-stroke:0;font-family:var(--hand);font-weight:400}
.sec h2{font-family:var(--min);font-weight:800}
.sec h3{font-family:var(--min);font-weight:800}
.sec h4{font-family:var(--min)}
.pull{font-family:var(--min)}
.pull .vio,.band .q .vio{color:var(--red)}

/* 箱もの：紙を貼ったように */
.cards{background:var(--line);border-color:var(--line)}
.card,.sec.alt .card{background:var(--panel)}
.card:hover,.card.act,.sec.alt .card.act{background:#FFFBEF}
.card::before{background:var(--red)}
.steps{background:var(--panel);border-color:var(--line);box-shadow:5px 6px 0 var(--bg-2)}
.st .no{color:var(--red);font-family:var(--hand)}
.ba{background:var(--line)}
.ba .col{background:var(--panel)}
.ba .col.b{background:var(--panel-2)}
.ba .col.a{background:#FFFBEF}
.callout{background:rgba(194,59,46,.05);border-color:rgba(194,59,46,.35)}
.callout .t{color:var(--red);font-family:var(--hand);font-size:17px;letter-spacing:.02em}
.callout.gold{background:rgba(154,106,18,.06);border-color:rgba(154,106,18,.35)}
.callout.green{background:rgba(46,125,79,.06);border-color:rgba(46,125,79,.35)}
.soundnote{background:#FFF7DA;border-color:#E8D78A}

/* 写真と図：ノートに貼った切り抜き */
.shot,.fig{background:#fff;border:1px solid var(--line);padding:8px 8px 0;box-shadow:4px 6px 0 var(--bg-2)}
.shot .cap,.fig .cap{background:#fff;border-top:0;color:var(--ink-2)}
.shot .cap i{font-family:var(--hand);font-style:normal;font-size:15px;color:var(--ink)}
.shot .cap b{color:var(--ink-3)}
.fig .in{background:#15171C}
.shotband{background:transparent;border-bottom:1px solid var(--line)}
.shotband .shot{transform:rotate(-.5deg)}
.tblwrap{background:var(--panel);border-color:var(--line)}
table.t th{background:var(--panel-2);color:var(--ink-2)}
table.t td.yes{color:var(--grn)}
table.t tr:hover td{background:rgba(194,59,46,.03)}

/* 画面のまね（チャット・報告書）も紙の上に */
.mock,.rep{background:var(--panel);border-color:var(--line);box-shadow:5px 6px 0 var(--bg-2)}
.mock .bar,.mock .foot,.rep .hd,.rep .quote{background:var(--panel-2)}
.rep .kpi{background:var(--panel)}
.msg .bot{background:var(--bg-2)}
.who.c1{color:#B5602A}.who.c2{color:#8A6D00}.who.c3{color:#6A4FC0}.who.c4{color:#2F6E9E}.who.c5{color:#6B7078}
.msg .av.c2{background:#D2B23C}
.paper{box-shadow:6px 8px 0 var(--bg-2);border:1px solid var(--line)}
.band{background:var(--panel);border-top:1px solid var(--line)}
.band .q{font-family:var(--min)}

/* 連絡・ページ送り・下の帯 */
.cta{background:transparent}
.cta::before{display:none}
.ctabox{background:var(--panel);box-shadow:6px 8px 0 var(--bg-2);transform:rotate(-.4deg)}
.ctabox h3{font-family:var(--min)}
.mailcard{background:#fff;border:2px solid var(--ink)}
.mailcard a{color:var(--ink)}
.pager{background:transparent}
.pager a:hover{background:rgba(194,59,46,.04)}
.pager .lb{font-family:var(--hand);color:var(--red)}
footer{background:transparent;border-top:1px solid var(--line)}
.mqband{background:transparent}
#pbar{background:var(--red)}

/* ページ内の図（SVG）も紙の配色に */
svg .bx,svg .bx2,svg .nd,svg .b{fill:#FFFDF7;stroke:#D9CFB8}
svg .ctr{fill:#FFF4EF;stroke:#C23B2E}
svg .tx,svg .tx2,svg .ndt,svg .ctt,svg .t1{fill:#23201B}
svg .sx,svg .sx2,svg .nds,svg .t2{fill:#8F8676}
svg .cts,svg .t3{fill:#5E574B}
svg .ar,svg .ln,svg .l{stroke:#C23B2E}
svg .al{fill:#C23B2E}
svg .bd,svg .bd2{stroke:#9A6A12}
svg .bl,svg .bl2,svg .lb{fill:#9A6A12}
.fig .in{background:var(--panel)}
/* 前のデザインの飾り（夜空の粒）は使わない */
canvas.fx-art,canvas[class*="fx-"]{display:none !important}

svg [class~="ar"],svg [class~="ln"],svg [class~="l"]{stroke:#C23B2E !important}
svg [class~="al"]{fill:#C23B2E !important}
svg [class~="ctr"]{fill:#FFF4EF !important;stroke:#C23B2E !important}
svg path[fill="#9D8CFF"],svg path[fill="#B79CFF"]{fill:#C23B2E !important}
svg [stroke="#9D8CFF"]{stroke:#C23B2E !important}

/* ===== 前デザインの紫を残さない（deep.css の紫指定を全部上書き） ===== */
::selection{background:rgba(194,59,46,.22);color:var(--ink)}
.st .no{color:var(--red);border-color:rgba(194,59,46,.4)}
.ba .col.a{background:#FFFBEF}
.msg .av.c3{background:#C08A55}
.av.c3{border-color:rgba(192,138,85,.5)}
.mqtrack span{-webkit-text-stroke:1.2px rgba(194,59,46,.30);color:transparent}
.mqtrack span.fill,.mqtrack span.en.fill{color:rgba(194,59,46,.5);-webkit-text-stroke:0}
.mqband::after{-webkit-text-stroke:1.1px rgba(194,59,46,.35) !important;color:transparent}
@supports not (-webkit-text-stroke:1px #fff){.mqtrack span{color:rgba(194,59,46,.28)}}
.msg .bt.go{border-color:rgba(46,125,79,.5);color:var(--grn);background:rgba(46,125,79,.07)}

/* ===== 紙の罫線はやめる（他の横線と紛らわしいため） ===== */
body::before{display:none !important}

/* ===== 図をタップで拡大 ===== */
.zoomable{position:relative;cursor:zoom-in}
.zoomable::after{content:"タップで拡大";position:absolute;right:10px;top:10px;z-index:3;
  font-family:var(--hand);font-size:13px;color:#fff;background:rgba(35,32,27,.72);padding:3px 10px;border-radius:2px}
.zoomwrap{position:fixed;inset:0;z-index:999;background:rgba(245,240,228,.98);overflow:auto;-webkit-overflow-scrolling:touch}
.zoomwrap .inner{min-width:100%;padding:56px 12px 24px;display:flex;justify-content:center}
.zoomwrap svg,.zoomwrap img{width:230%;max-width:none;height:auto}
@media(min-width:861px){.zoomwrap svg,.zoomwrap img{width:100%;max-width:1100px}}
.zoomclose{position:fixed;top:10px;right:12px;z-index:1000;font-family:var(--hand);font-size:16px;
  background:var(--ink);color:var(--bg);border:0;padding:8px 16px;cursor:pointer}
.zoomhint{position:fixed;top:14px;left:14px;z-index:1000;font-family:var(--hand);font-size:14px;color:var(--ink-2)}

/* 見出しは語の途中で折り返さない（「カル/テ」のような切れ方を防ぐ） */
h1,h2,h3,h4,.phero h1,.sec h2,.sec h3{word-break:keep-all;overflow-wrap:anywhere}

/* ===== 固定メニュー（全ページ共通） ===== */
.nbm-btn{position:fixed;right:16px;bottom:16px;z-index:300;width:56px;height:56px;border-radius:50%;
  background:var(--red);color:#fff;border:0;box-shadow:0 6px 18px rgba(80,30,20,.28);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;
  font-family:var(--hand);font-size:10px;letter-spacing:.06em;transition:transform .15s}
.nbm-btn:hover{transform:translateY(-2px)}
.nbm-btn i{display:block;width:22px;height:2px;background:#fff;border-radius:2px;position:relative}
.nbm-btn i::before,.nbm-btn i::after{content:"";position:absolute;left:0;width:22px;height:2px;background:#fff;border-radius:2px}
.nbm-btn i::before{top:-7px} .nbm-btn i::after{top:7px}
.nbm-panel{position:fixed;inset:0;z-index:299;background:var(--bg);overflow-y:auto;
  -webkit-overflow-scrolling:touch;padding:22px 20px 110px;display:none}
.nbm-panel.open{display:block}
.nbm-panel h3{font-family:var(--hand);font-weight:400;color:var(--red);font-size:16px;margin:26px 0 10px;letter-spacing:.04em}
.nbm-panel h3:first-child{margin-top:6px}
.nbm-ttl{font-family:var(--min);font-weight:800;font-size:20px;margin:0 0 4px}
.nbm-sub{font-size:12.5px;color:var(--ink-3);margin:0}
.nbm-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.nbm-list li{border-bottom:1px solid var(--line)}
.nbm-list a{display:grid;grid-template-columns:2.2em 1fr auto;align-items:baseline;gap:10px;
  padding:13px 4px;text-decoration:none;color:var(--ink);font-size:15.5px}
.nbm-list a:hover{background:rgba(194,59,46,.05)}
.nbm-list .n{font-family:var(--hand);color:var(--red);font-size:15px}
.nbm-list .ar{color:var(--red);font-family:var(--hand)}
.nbm-list a[aria-current="page"]{background:rgba(194,59,46,.07);font-weight:700}
.nbm-list a[aria-current="page"] .ar::after{content:" いま見ているページ";font-size:11.5px;color:var(--ink-3)}
@media (max-width:640px){ .nbm-panel{padding-bottom:120px} }
@media (min-width:861px){ .nbm-panel{padding:40px calc(50vw - 380px) 120px} }

/* 詳細ページの大見出し：スマホで「、」だけが行に落ちないよう少し小さく */
@media(max-width:640px){ .phero h1{font-size:26.5px;line-height:1.45} }
