:root{--bg:#f5f5f4;--sf:#fff;--sub:#fafaf9;--ln:#e5e5e3;--ln2:#efefed;--ink:#18181b;--ink2:#3f3f46;--mu:#62626b;--fa:#78787f;
--ac:#18181b;--ac-bg:#f0f0ef;--pri:#18181b;--pri-h:#2e2e33;--hl:#fde68a;--hl2:#fef3c7;--ok:#166534;--ok-bg:#ebf5ee;--warn:#a16207;--warn-bg:#fdf6e3;--gray-bg:#f0f0ee}
.warnc{color:var(--warn)}
.top .mark{background:var(--ink)}
.tabs button[aria-pressed="true"]::after{background:var(--ink)}
body.chatmode main{padding-top:0}
body.chatmode main>.foot{display:none}
.chatwrap{display:grid;grid-template-columns:230px minmax(0,1fr) 470px;height:calc(100vh - 58px);min-height:640px;border-bottom:1px solid var(--ln)}
.hist{border-right:1px solid var(--ln);padding:14px 12px;background:var(--sub);overflow:auto}
.wide{width:100%}
.hh{font-size:11.5px;font-weight:700;color:var(--fa);margin:16px 6px 4px}
.hq{display:block;width:100%;text-align:left;border:0;background:none;padding:7px 8px;border-radius:6px;font-size:12.5px;color:var(--ink2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hq:hover{background:var(--gray-bg)}.hq.on{background:#e8e8e6;color:var(--ink);font-weight:600}
.conv{display:flex;flex-direction:column;min-width:0;background:var(--sf)}
.msgs{flex:1;overflow:auto;padding:24px 28px}
.m{max-width:680px;margin:0 auto 18px}
.m.me{display:flex;flex-direction:column;align-items:flex-end}
.bub{background:var(--gray-bg);border-radius:10px 10px 2px 10px;padding:10px 14px;font-size:14px;max-width:85%}
.m .t{font-size:11px;color:var(--fa);margin-top:3px}
.who{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:13px}
.mark2{width:24px;height:24px;border-radius:6px;border:1px solid var(--ln);display:grid;place-items:center;color:var(--ink)}
.ans{font-size:14px;line-height:1.85}
.ans p{margin:0 0 10px}
.tbl2{border:1px solid var(--ln);border-radius:8px;overflow:hidden;margin:4px 0 12px}
.tr2{display:grid;grid-template-columns:1.1fr .9fr 1.2fr;gap:10px;align-items:center;padding:8px 12px;font-size:13px}
.tr2+.tr2{border-top:1px solid var(--ln2)}
.th2{background:var(--sub);font-size:11.5px;color:var(--mu);font-weight:600;padding:6px 12px}
.tr2 b{font-size:14px}
.cite{display:inline-flex;align-items:center;gap:6px;height:24px;border:1px solid var(--ln);background:var(--sf);border-radius:5px;padding:0 8px 0 3px;font-size:12px;color:var(--ink2);justify-self:start;white-space:nowrap}
.cite span{width:17px;height:17px;border-radius:4px;background:var(--gray-bg);display:grid;place-items:center;font-size:10.5px;font-weight:700}
.cite:hover{border-color:#c9c9c6}
.cite.on{border-color:#e0b93a;background:var(--hl2)}.cite.on span{background:var(--hl)}
.cite.in{padding:0 3px;height:20px;margin-left:4px;vertical-align:1px}
.caution{display:flex;gap:8px;align-items:flex-start;font-size:12.5px;line-height:1.7;color:var(--ink2);border:1px solid var(--ln);border-left:3px solid var(--warn);border-radius:4px;padding:8px 11px;background:var(--sub)}
.caution svg{color:var(--warn);margin-top:4px}
.fb{display:flex;gap:4px;margin-top:10px}
.ask{border-top:1px solid var(--ln);padding:12px 28px 14px}
.sugg{display:flex;gap:6px;flex-wrap:wrap;max-width:680px;margin:0 auto 8px}
.sugg button{height:28px;border:1px solid var(--ln);background:var(--sf);border-radius:14px;padding:0 11px;font-size:12px;color:var(--ink2)}
.sugg button:hover{background:var(--sub)}
.box{max-width:680px;margin:0 auto;display:flex;align-items:center;gap:8px;border:1px solid #d4d4d1;border-radius:10px;padding:8px 8px 8px 14px;box-shadow:var(--sh)}
.box span{flex:1;font-size:14px;color:var(--fa)}.box span.typed{color:var(--ink)}
.box .btn{width:32px;padding:0}
.note{max-width:680px;margin:6px auto 0;font-size:11.5px;color:var(--fa);text-align:center}
.viewer{border-left:1px solid var(--ln);background:#ececea;display:flex;flex-direction:column;min-width:0}
.vh{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;background:var(--sf);border-bottom:1px solid var(--ln)}
.vh b{display:block;font-size:14px}.vh span{font-size:12px;color:var(--mu)}
.vp{white-space:nowrap}
.vtabs{display:flex;gap:4px;padding:8px 12px;background:var(--sf);border-bottom:1px solid var(--ln);overflow-x:auto}
.vtabs button{display:inline-flex;align-items:center;gap:6px;height:28px;border:1px solid transparent;background:none;border-radius:6px;padding:0 8px 0 4px;font-size:12px;color:var(--mu);white-space:nowrap}
.vtabs .cn{width:17px;height:17px;border-radius:4px;background:var(--gray-bg);display:grid;place-items:center;font-size:10.5px;font-weight:700}
.vtabs button.on{border-color:var(--ln);background:var(--sub);color:var(--ink);font-weight:600}.vtabs button.on .cn{background:var(--hl)}
.page{flex:1;margin:16px;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.1),0 8px 20px -10px rgba(0,0,0,.2);padding:28px 30px;font-family:"Hiragino Mincho ProN","Noto Serif JP","Noto Serif CJK JP","Yu Mincho",serif;font-size:13px;line-height:1.95;color:#222;overflow:auto;position:relative}
.ph{display:flex;justify-content:space-between;font-size:10.5px;color:#888;border-bottom:1px solid #ddd;padding-bottom:6px;margin-bottom:16px;font-family:var(--num)}
.page h4{margin:14px 0 2px;font-size:13.5px}
.page p{margin:0 0 4px;position:relative}
.page p.hl{background:var(--hl2);box-shadow:-6px 0 0 var(--hl2),6px 0 0 var(--hl2),inset 3px 0 0 #e0b93a;border-radius:2px;padding-left:8px;margin-left:-8px}
.page p.hl{background:linear-gradient(transparent 0,transparent 100%),var(--hl)}
.mk{position:absolute;right:-22px;top:4px;width:17px;height:17px;border-radius:4px;background:var(--ink);color:#fff;font:700 10.5px/17px var(--num);text-align:center}
.page .ln{display:block;height:7px;background:#ececea;border-radius:2px;margin:12px 0 0}
.w9{width:92%}.w7{width:70%}.w8{width:84%}
.vf{display:flex;justify-content:space-between;align-items:center;padding:0 16px 14px}
/* 資料 */
.lg{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}
.fi{display:inline-flex;align-items:center;gap:8px}.fi svg{color:var(--fa)}
.dp{display:grid;grid-template-columns:84px 1fr 44px 56px;gap:10px;align-items:center;font-size:12.5px;padding:7px 0;border-bottom:1px solid var(--ln2)}
.dp:last-child{border-bottom:0}.dp>.num,.dp>b{text-align:right}
.dpb{height:8px;background:var(--ln2);border-radius:2px;overflow:hidden}.dpb b{display:block;height:100%;background:var(--ink)}
svg.plot .b0{fill:#3f3f46}svg.plot .b1{fill:#e0b93a}
.q1 i{background:#3f3f46}.q2 i{background:#e0b93a}
.rk{width:20px;height:20px;border-radius:5px;background:var(--gray-bg);display:grid;place-items:center;font-size:11px;font-weight:700;flex:none}
.nb{flex:1;min-width:0}.nb b{display:block;font-size:13px}.nb span{font-size:12px;color:var(--mu)}
#miss{margin-top:12px}
@media (max-width:1300px){.chatwrap{grid-template-columns:minmax(0,1fr) 420px}.hist{display:none}}
@media (max-width:900px){.chatwrap{grid-template-columns:minmax(0,1fr);height:auto}.msgs{overflow:visible}.viewer{border-left:0;border-top:1px solid var(--ln)}.page{min-height:420px}.lg{grid-template-columns:minmax(0,1fr)}}
@media (max-width:640px){
  .top-in{flex-wrap:wrap;height:auto;padding:10px 12px 0;row-gap:4px}
  .tabs{order:3;width:100%;margin:0;height:40px}.tabs button{flex:1;justify-content:center;padding:0 6px;font-size:12px}.tabs button svg.i{display:none}
  .msgs{padding:16px 14px}.ask{padding:10px 14px}
  .tr2{grid-template-columns:1fr auto;gap:4px 10px}.tr2 .cite{grid-column:1/3}.th2 span:nth-child(3){display:none}
  .page{margin:12px;padding:20px 22px 20px 18px}
  .mk{right:-16px}
  .dp{grid-template-columns:72px 1fr 52px}.dp>.num{display:none}
  #miss .btn{display:none}
}
.sec-h{font-size:12px;font-weight:700;color:var(--mu);margin:0 0 4px}.sec-h.mt2{margin-top:18px}
.rq{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--ln2);font-size:12.5px}.rq:last-child{border-bottom:0}
.rq svg{color:var(--warn)}.rq div{flex:1}.rq b{display:block;font-size:13px}.rq span{color:var(--mu)}

/* /services/ に iframe で埋め込んだとき（is-embedded）は vh を使わない */
.is-embedded .chatwrap{height:760px;min-height:0}
