.v4-document-page { padding: 40px 0 80px; }
.v4-document-head { display: grid; grid-template-columns: minmax(0, 1fr) 200px; gap: 20px 32px; align-items: center; margin-bottom: 24px; padding: 30px 32px; border-radius: 24px; background: #07131a; color: #fff; }
.v4-document-head .v3-content-breadcrumb { grid-column: 1 / -1; margin: 0; }
.v4-document-head .v3-content-breadcrumb a,
.v4-document-head .v3-content-breadcrumb span { color: #b8cbd4; }
.v4-document-head .eyebrow { color: #ffad7a; }
.v4-document-head__copy { min-width: 0; }
.v4-document-head h1 { margin: 10px 0 18px; color: #fff; font-size: clamp(32px, 3.4vw, 48px); line-height: 1.25; letter-spacing: -0.045em; }
.v4-document-head__copy > p:last-child { max-width: 560px; margin: 0; color: #d5dfe4; font-size: 17px; line-height: 1.8; }
.v4-document__art { display: block; width: 200px; height: 180px; object-fit: contain; }
.v4-document-head.wrap1040,.v4-document { max-width: 1040px; }
.v4-document__reading { width: 100%; margin-inline: auto; padding: 32px; background: #fff; border-radius: 20px; color: #18222b; }
.v4-document__toc { margin: 0 0 28px; padding: 20px 24px; background: #f3f3f1; border-radius: 14px; }
.v4-document__toc strong { color: #07131a; }
.v4-document__toc ol { display: grid; gap: 8px; margin: 12px 0 0; padding-left: 1.35em; }
.v4-document__toc a { color: #7f3916; text-underline-offset: 3px; }
.v4-document__body { font-size: 18px; line-height: 1.8; overflow-wrap: anywhere; }
.v4-document__body > :first-child { margin-top: 0; }
.v4-document__body h2 { margin: 1.5em 0 .75em; color: #07131a; font-size: clamp(1.4rem, 2.8vw, 2rem); line-height: 1.32; letter-spacing: -0.035em; scroll-margin-top: 32px; }
.v4-document__body h3 { margin: 2em 0 .7em; color: #07131a; font-size: 1.22rem; line-height: 1.4; }
.v4-document__body p { margin: 1em 0; }
.v4-document__body a { color: #8c3f18; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.v4-document__body figure { max-width: 100%; margin-inline: 0; }
.v4-document__body img { max-width: 100%; height: auto; }
.v4-document__body .table-scroll,
.v4-document__body .nusu-table-scroll { max-width: 100%; margin: 1.8em 0; overflow-x: auto; border-radius: 12px; }
.v4-document__body table { width: 100%; min-width: 560px; border-collapse: collapse; font-size: .94rem; }
.v4-document__body th,
.v4-document__body td { padding: 13px; border: 1px solid #dfe2df; text-align: left; vertical-align: top; }
.v4-document__body th { color: #07131a; background: #f3f3f1; }
.v4-document__contact { margin-top: 36px; padding: 28px; background: #07131a; border-radius: 16px; color: #fff; }
.v4-document__contact h2 { margin: 0 0 10px; color: inherit; font-size: 1.45rem; }
.v4-document__contact p { margin: 0 0 20px; line-height: 1.65; }

@media (max-width: 767px) {
  .v4-document-page { background: #fff; }
  .v4-document-page { padding-block: 42px 56px; }
  .v4-document-head { display: grid; grid-template-columns: 1fr; gap: 18px; margin-bottom: 20px; padding: 24px 20px; }
  .v4-document-head .v3-content-breadcrumb { margin-bottom: 0; }
  .v4-document-head h1 { max-width: none; font-size: clamp(2rem, 10vw, 3rem); }
  .v4-document__art { width: 140px; height: 120px; margin: 0 auto; }
  .v4-document__reading { padding: 24px 20px 0; border-radius: 0; }
  .v4-document__toc { padding: 18px; }
  .v4-document__body { font-size: 17px; line-height: 1.8; }
  .v4-document__contact { padding: 24px 20px; }
}
