/* ===== 固定ヘッダー分のスクロール補正（共通） ===== */
h1[id], h2[id], h3[id], h4[id], h5[id], h6[id],
.u-anchor[id], .toc-target, .toc-anchor {
  scroll-margin-top: 80px !important;
}

.content-main h1{ font-weight: 800 !important; line-height: 1.25 !important; font-size: clamp(1.7rem, 1.3rem + 1.6vw, 2.3rem) !important; letter-spacing: .01em !important; margin-top: 2.6rem !important; margin-bottom: 1.2rem !important; padding-bottom: .2rem !important; background: linear-gradient(transparent 65%, #eef3ff 0) !important; border-bottom: 1px solid #e6edff !important; color: #0f172a !important; } .content-main h1:first-child{ margin-top: 0 !important; } @media (max-width: 600px){ .content-main h1{ margin-top: 2rem !important; margin-bottom: 1rem !important; } } .content-main h2, .content-main h3, .content-main h4, .content-main h5, .content-main h6{ line-height:1.35 !important; margin-bottom:.6rem !important; color:#1f2937 !important; } .content-main h2{ margin-top:2.2rem !important; padding:.6rem 1rem !important; background:#f7f9ff !important; border-radius:.5rem !important; } .content-main h3{ margin-top:1.9rem !important; padding-left:.9rem !important; border-left:.3rem solid #9bb0ff !important; font-weight:700 !important; } .content-main h4{ margin-top:1.6rem !important; padding-bottom:.2rem !important; border:1px solid #e5e7ee !important; background-image:linear-gradient(transparent calc(100% - 3px), #eaeefb 0) !important; background-repeat:no-repeat !important; background-size:100% 100% !important; font-weight:700 !important; } .content-main h5{ margin-top:1.4rem !important; padding-bottom:.15rem !important; border-bottom:2px solid #e5e7ee !important; font-weight:700 !important; } .content-main h6{ margin-top:1.2rem !important; font-size:.9rem !important; letter-spacing:.03em !important; color:#4b5563 !important; text-transform:uppercase !important; font-weight:700 !important; } .content-main h2 + p, .content-main h3 + p, .content-main h4 + p, .content-main h5 + p, .content-main h6 + p{ margin-top:.35rem !important; }