/* ===== TOTSUKA CLINIC ARTICLE v32 ===== */
.tc-art {
  --p:       #b5546a;
  --pd:      #9a3f55;
  --pl:      #d4788a;
  --pbg:     #fdf0f3;
  --pmid:    #fae0e5;
  --ppale:   #fdf6f8;
  --tm:      #2d1f24;
  --ts:      #5a4b4f;
  --tl:      #8f7a81;
  --bdr:     #ecd8dc;
  --mj:      #1a6a9e;
  --mj-bg:   #f0f7ff;
  --mj-bdr:  #9fc3e0;
  --zp:      #2e7a5a;
  --zp-bg:   #f0faf5;
  --zp-bdr:  #8fcfb0;
  max-width: 860px;
  margin: 0 auto;
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  font-size: 15.5px;
  line-height: 2.0;
  color: var(--tm);
  background: #fff;
}
.tc-art *, .tc-art *::before, .tc-art *::after { box-sizing: border-box; }
.tc-art p { margin: 0 0 1.4em; font-size: 15.5px; }
.tc-art strong { color: var(--pd); }
.tc-art a { color: var(--p); text-decoration: none; border-bottom: 1px dotted var(--pl); }
.tc-art a:hover { border-bottom-color: var(--p); }
.tc-art ul, .tc-art ol { padding-left: 1.5em; margin-bottom: 1.2em; }
.tc-art li { margin-bottom: .5em; }

/* Header */
.tc-art .site-header { display: flex; justify-content: space-between; align-items: center; padding: 14px 20px; background: #fff; border-bottom: 3px solid var(--pmid); margin-bottom: 0; }
.tc-art .clinic-name { font-family: "Noto Serif JP", serif; font-weight: 700; color: var(--pd); font-size: 17px; text-decoration: none; border: none; }
.tc-art .header-dept { font-size: 11px; color: var(--tl); margin-top: 2px; }
.tc-art .header-cta { background: var(--p); color: #fff !important; padding: 9px 18px; border-radius: 30px; font-size: 13px; font-weight: 700; text-decoration: none !important; border: none !important; white-space: nowrap; }

/* Hero */
.tc-art .hero { background: linear-gradient(160deg, var(--pbg) 0%, var(--pmid) 100%); border-radius: 18px 18px 0 0; padding: 48px 36px 0; border: 1px solid var(--bdr); border-bottom: none; margin-bottom: 0; overflow: hidden; }
.tc-art .hero-tag { background: var(--p); color: #fff; font-size: 12px; font-weight: 700; padding: 5px 14px; border-radius: 20px; display: inline-block; margin-bottom: 20px; letter-spacing: .05em; }
.tc-art .hero h1 { font-family: "Noto Serif JP", serif; font-size: clamp(20px, 4vw, 30px); line-height: 1.55; margin-bottom: 24px; color: var(--tm); }
.tc-art .hero h1 .q { color: var(--p); }
.tc-art .hero-lead { font-size: 15.5px; color: var(--ts); margin-bottom: 28px; }
.tc-art .res-box { text-align: center; padding: 20px 0 28px; }
.tc-art .res-btn { background: var(--p); color: #fff !important; display: inline-block; padding: 16px 44px; border-radius: 50px; font-size: 18px; font-weight: 900; text-decoration: none !important; border: none !important; box-shadow: 0 5px 18px rgba(181,84,106,.35); letter-spacing: .02em; }
.tc-art .hero-meta { display: flex; align-items: flex-start; gap: 12px; padding: 20px 0 28px; border-top: 1px solid rgba(181,84,106,.12); flex-wrap: wrap; }
.tc-art .badge { background: var(--pmid); color: var(--pd); font-size: 11px; font-weight: 700; padding: 3px 10px; border-radius: 4px; margin: 2px; display: inline-block; }
.tc-art .hero-img { width: 100%; display: block; border-radius: 0; margin-top: 0; }

/* TL;DR */
.tc-art .tldr { background: linear-gradient(135deg, var(--pbg), #fff); border: 2px solid var(--bdr); border-left: 6px solid var(--p); border-radius: 14px; padding: 28px 30px; margin: 36px 0 48px; }
.tc-art .tldr-head { font-weight: 800; color: var(--p); font-size: 15px; margin-bottom: 14px; display: flex; align-items: center; gap: 10px; }
.tc-art .tldr-tag { background: var(--p); color: #fff; border-radius: 4px; padding: 2px 8px; font-size: 12px; }
.tc-art .tldr ul { list-style: none; padding: 0; margin: 0 0 18px; }
.tc-art .tldr ul li { padding-left: 22px; position: relative; margin-bottom: 10px; font-size: 15px; color: var(--tm); }
.tc-art .tldr ul li::before { content: "✦"; position: absolute; left: 0; color: var(--p); font-weight: 700; }
.tc-art .tldr-cta { border-top: 1px solid var(--bdr); padding-top: 16px; display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }

/* Drug grid */
.tc-art .drug-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin: 36px 0; }
.tc-art .drug-card { padding: 22px; border-radius: 14px; border: 2.5px solid; }
.tc-art .drug-card.mj { background: var(--mj-bg); border-color: var(--mj-bdr); }
.tc-art .drug-card.zp { background: var(--zp-bg); border-color: var(--zp-bdr); }
.tc-art .dc-label { font-weight: 800; font-size: 15.5px; margin-bottom: 4px; }
.tc-art .dc-label.mj { color: var(--mj); }
.tc-art .dc-label.zp { color: var(--zp); }
.tc-art .dc-sub { font-size: 12px; color: var(--tl); border-bottom: 1px solid rgba(0,0,0,.06); padding-bottom: 8px; margin-bottom: 10px; }
.tc-art .dc-q { font-size: 14px; color: var(--ts); }

/* Section headings */
.tc-art .section-title { font-family: "Noto Serif JP", serif; font-size: clamp(19px, 3vw, 26px); border-bottom: 4px solid var(--pmid); padding-bottom: 10px; margin: 56px 0 28px; color: var(--pd); }
.tc-art .subsection-title { font-family: "Noto Serif JP", serif; font-size: 19px; border-left: 5px solid var(--pl); padding-left: 14px; margin: 40px 0 18px; }

/* Foundation / EBM panel */
.tc-art .ev-panel { border: 2px solid var(--bdr); border-radius: 14px; margin-bottom: 40px; overflow: hidden; background: #fff; }
.tc-art .ev-head { background: var(--ppale); padding: 18px 24px; font-weight: 800; border-bottom: 2px solid var(--bdr); display: flex; align-items: center; gap: 10px; font-size: 14.5px; }
.tc-art details.ev-item { border-bottom: 1px solid var(--bdr); }
.tc-art details.ev-item:last-child { border-bottom: none; }
.tc-art details.ev-item summary { padding: 18px 24px; cursor: pointer; font-weight: 700; font-size: 15px; display: flex; justify-content: space-between; align-items: center; list-style: none; color: var(--pd); gap: 10px; }
.tc-art details.ev-item summary::-webkit-details-marker { display: none; }
.tc-art details.ev-item summary:hover { background: var(--ppale); }
.tc-art details.ev-item summary .ev-arr { font-size: 13px; color: var(--tl); flex-shrink: 0; transition: transform .2s; }
.tc-art details.ev-item[open] summary .ev-arr { transform: rotate(180deg); }
.tc-art .ev-body { padding: 4px 28px 26px; font-size: 15px; color: var(--ts); }
.tc-art .ev-callout { background: var(--pbg); border-left: 4px solid var(--p); padding: 12px 16px; border-radius: 0 8px 8px 0; font-size: 14px; margin-top: 14px; }
.tc-art .infobox { background: #fff7f9; border: 1px solid var(--bdr); border-radius: 10px; padding: 16px 18px; margin: 14px 0; font-size: 14px; }

/* Data grid */
.tc-art .data-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(155px, 1fr)); gap: 14px; margin: 28px 0; }
.tc-art .data-card { background: var(--ppale); border: 1px solid var(--bdr); border-radius: 12px; padding: 22px 16px; text-align: center; }
.tc-art .data-val { font-family: "Lato", sans-serif; font-size: 32px; font-weight: 900; color: var(--p); line-height: 1; }
.tc-art .data-lbl { font-size: 12px; font-weight: 700; margin-top: 6px; color: var(--ts); }
.tc-art .data-unit { font-size: 11.5px; color: var(--tl); margin-top: 3px; }

/* Boxes */
.tc-art .highlight-box { background: var(--pbg); border: 1px solid var(--bdr); border-radius: 12px; padding: 22px 24px; margin: 28px 0; }
.tc-art .caution-box { background: #fffdf0; border: 1.5px solid #f0dfa0; border-left: 5px solid #d4a820; border-radius: 10px; padding: 20px 22px; margin: 24px 0; }
.tc-art .surmount-box { background: #fffaf1; border: 1.5px solid #f3e0c0; border-radius: 14px; padding: 26px; margin: 28px 0; }
.tc-art .exercise-box { background: linear-gradient(135deg, #f0f8f4, #e8f4ef); border: 1px solid #a8d4be; border-radius: 14px; padding: 26px; margin: 28px 0; }
.tc-art .box-title { font-weight: 800; color: var(--pd); margin-bottom: 12px; font-size: 14.5px; }

/* Limit table */
.tc-art .limit-table { width: 100%; border-collapse: collapse; font-size: 14px; margin: 24px 0; border: 1px solid var(--bdr); border-radius: 10px; overflow: hidden; }
.tc-art .limit-table th { background: var(--p); color: #fff; padding: 13px 16px; text-align: left; font-size: 13.5px; }
.tc-art .limit-table td { padding: 13px 16px; border-bottom: 1px solid var(--bdr); vertical-align: top; }
.tc-art .limit-table tr:last-child td { border-bottom: none; }
.tc-art .level-badge { background: var(--p); color: #fff; font-size: 10px; font-weight: 700; padding: 2px 8px; border-radius: 10px; }
.tc-art .ebm-badge { background: var(--p); color: #fff; font-size: 13px; font-weight: 700; padding: 8px 18px; border-radius: 30px; display: inline-block; margin-bottom: 10px; }

/* Checklist */
.tc-art .check-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 14px 0; }
.tc-art .check-item { background: var(--ppale); border: 1px solid var(--bdr); border-radius: 8px; padding: 12px 14px; display: flex; gap: 10px; align-items: flex-start; }
.tc-art .check-num { color: var(--p); font-size: 17px; flex-shrink: 0; font-weight: 900; line-height: 1.3; }

/* Drug-specific boxes */
.tc-art .mj-box { background: var(--mj-bg); border: 1.5px solid var(--mj-bdr); border-radius: 12px; padding: 22px 24px; margin: 20px 0; }
.tc-art .mj-box .box-title { color: var(--mj); }
.tc-art .zp-box { background: var(--zp-bg); border: 1.5px solid var(--zp-bdr); border-radius: 12px; padding: 22px 24px; margin: 20px 0; }
.tc-art .zp-box .box-title { color: var(--zp); }

/* FAQ */
.tc-art .faq-group { border: 2px solid var(--bdr); border-radius: 14px; overflow: hidden; margin: 28px 0; }
.tc-art .faq-head { background: var(--ppale); padding: 16px 22px; font-weight: 800; color: var(--pd); border-bottom: 2px solid var(--bdr); display: flex; align-items: center; gap: 8px; font-size: 14px; }
.tc-art details.faq-item { border-bottom: 1px solid var(--bdr); }
.tc-art details.faq-item:last-child { border-bottom: none; }
.tc-art details.faq-item summary { padding: 18px 22px; cursor: pointer; font-weight: 700; font-size: 15px; display: flex; align-items: center; gap: 10px; list-style: none; color: var(--tm); }
.tc-art details.faq-item summary::-webkit-details-marker { display: none; }
.tc-art details.faq-item summary:hover { background: var(--ppale); }
.tc-art details.faq-item summary .fa { margin-left: auto; font-size: 18px; color: var(--tl); flex-shrink: 0; transition: transform .2s; font-style: normal; }
.tc-art details.faq-item[open] summary .fa { transform: rotate(45deg); }
.tc-art .faq-body { padding: 6px 24px 22px; font-size: 15px; color: var(--ts); border-top: 1px solid var(--bdr); }
.tc-art .ftag { font-size: 11px; font-weight: 700; padding: 2px 9px; border-radius: 10px; flex-shrink: 0; }
.tc-art .ftag.m { background: var(--mj-bg); color: var(--mj); }
.tc-art .ftag.z { background: var(--zp-bg); color: var(--zp); }
.tc-art .ftag.b { background: var(--pmid); color: var(--pd); }

/* CTA */
.tc-art .consult-cta { background: linear-gradient(135deg, var(--p), #e8927c); border-radius: 18px; padding: 40px 36px; color: #fff; text-align: center; margin: 48px 0; }
.tc-art .consult-cta h2 { color: #fff; margin: 0 0 14px; font-size: 21px; border: none; }
.tc-art .cta-tel { font-family: "Lato", sans-serif; font-size: 30px; font-weight: 900; margin: 18px 0; letter-spacing: .03em; }
.tc-art .cta-btn-white { background: #fff; color: var(--p) !important; border-radius: 50px; padding: 14px 36px; font-size: 16px; font-weight: 800; display: inline-block; text-decoration: none !important; border: none !important; box-shadow: 0 4px 14px rgba(0,0,0,.15); }
.tc-art .cta-tags { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 16px 0 22px; }
.tc-art .cta-tag { background: rgba(255,255,255,.15); color: #fff; font-size: 12px; padding: 4px 12px; border-radius: 20px; border: 1px solid rgba(255,255,255,.3); }

/* Closing */
.tc-art .closing-box { background: var(--ppale); border: 1px solid var(--bdr); border-radius: 16px; padding: 34px 36px; margin: 56px 0 40px; }
.tc-art .closing-box h2 { font-family: "Noto Serif JP", serif; margin-top: 0; font-size: 20px; color: var(--pd); border: none; }
.tc-art .sig { border-top: 1px solid var(--bdr); padding-top: 20px; margin-top: 24px; text-align: right; }

/* References */
.tc-art .ref-box { font-size: 13px; color: var(--tl); background: var(--ppale); padding: 24px 28px; border-radius: 12px; border: 1px solid var(--bdr); margin-bottom: 28px; }
.tc-art .ref-box h3 { color: var(--pd); font-size: 14px; margin-top: 0; }
.tc-art .ref-box ol { margin: 0; padding-left: 20px; }
.tc-art .ref-box li { margin-bottom: 6px; }

/* Disclaimer */
.tc-art .disclaimer { font-size: 12px; color: var(--tl); background: #fafafa; border: 1px solid var(--bdr); border-radius: 10px; padding: 18px 22px; line-height: 1.8; }

/* Article img */
.tc-art .art-img { width: 100%; border-radius: 12px; border: 1px solid var(--bdr); display: block; margin: 24px 0; }
.tc-art .img-cap { font-size: 12.5px; color: var(--tl); text-align: center; margin-top: -16px; margin-bottom: 24px; }

/* TOC */
.tc-art .toc { background: var(--ppale); border: 1px solid var(--bdr); border-radius: 12px; padding: 24px 28px; margin: 36px 0; }
.tc-art .toc h2 { font-size: 15px; color: var(--pd); margin: 0 0 14px; border: none; }
.tc-art .toc ol { margin: 0; padding-left: 20px; }
.tc-art .toc li { margin-bottom: 6px; font-size: 14.5px; }

/* Responsive */
@media (max-width: 600px) {
  .tc-art .drug-grid { grid-template-columns: 1fr; }
  .tc-art .check-grid { grid-template-columns: 1fr; }
  .tc-art .data-grid { grid-template-columns: 1fr 1fr; }
  .tc-art .hero { padding: 32px 20px 0; }
  .tc-art .section-title { font-size: 20px; }
  .tc-art .consult-cta { padding: 30px 20px; }
  .tc-art .cta-tel { font-size: 24px; }
}