.sagawa-article { overflow-wrap: anywhere; }
.sagawa-article article { line-height: 1.95; }
.sagawa-article article h2 { margin-top: 3rem; }
.sagawa-article article h3 { margin-top: 2rem; }
.sagawa-article article h4 { margin-top: 1.5rem; }
 .sagawa-toc { padding: 1.5rem; background: #f3f6fa; border-radius: 12px; margin-bottom: 2rem; }
.sagawa-toc li { margin: .5rem 0; }
.sagawa-article h2, .sagawa-article h3, .sagawa-article h4 { scroll-margin-top: 100px; }

.sagawa-article-visual { margin: 0 0 2rem; }
.sagawa-article-visual img { display: block; width: 100%; height: auto; border-radius: 12px; }
.sagawa-article-visual figcaption { margin-top: .5rem; color: #526479; font-size: .85rem; text-align: center; }
.dx-image-text { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px; align-items: center; margin: 0 0 2rem; }
.dx-image-text-copy { min-width: 0; }
.dx-image-text-copy > :first-child { margin-top: 0; }
.dx-image-text-copy > :last-child { margin-bottom: 0; }
@media (max-width: 800px) {
  .dx-image-text { grid-template-columns: minmax(0, 1fr); gap: 20px; }
}


.dx-table-scroll { max-width: 100%; overflow-x: auto; margin: 1.5rem 0; }
.dx-table-scroll:focus-visible { outline: 3px solid #173e70; outline-offset: 3px; }
.dx-table { width: 100%; min-width: 560px; border-collapse: collapse; font-size: .95rem; }
.dx-table caption { text-align: left; font-weight: 700; padding-bottom: .75rem; }
.dx-table th, .dx-table td { padding: .85rem; border: 1px solid #ccd7e3; text-align: left; vertical-align: top; }
.dx-table thead th { background: #173e70; color: #fff; }
.dx-table tbody th { background: #f3f6fa; width: 26%; }
.dx-example { margin: 2rem 0; padding: 1.5rem; background: #f3f6fa; border-left: 4px solid #173e70; border-radius: 8px; }
.sagawa-article .dx-example h3 { margin-top: 0; }
.dx-example li { margin-bottom: .75rem; }
.sagawa-article .dx-example h4 { margin-top: 0; }

/* 佐川急便API記事：画像と本文を左右に配置 */
.sagawa-article-page .sagawa-article { max-width: 1180px; }
.sagawa-article-page .sagawa-image-text { align-items: start; gap: 32px; margin: 1.5rem 0 2.5rem; }
.sagawa-article-page .sagawa-image-text .sagawa-article-visual { min-width: 0; width: 100%; margin: 0; }
.sagawa-article-page .sagawa-image-text img { aspect-ratio: 1672 / 941; object-fit: contain; }
.sagawa-article-page .sagawa-image-text figcaption { text-align: left; font-size: .75rem; line-height: 1.6; }
.sagawa-article-page .sagawa-image-text .dx-image-text-copy > :first-child { margin-top: 0; }
@media (max-width: 800px) {
  .sagawa-article-page .sagawa-image-text { gap: 20px; }
  .sagawa-article-page .sagawa-image-text .sagawa-article-visual { max-width: 580px; margin-inline: auto; }
}
