.ex-page .cbd__title { overflow-wrap: anywhere; }
.ex-page .bu-info__visual--illust { width: 100%; max-width: 428px; margin-inline: auto; }
.ex-page .bu-info__visual--illust img { display: block; width: 100%; height: auto; object-fit: contain; }
.ex-page .ex-approach-figure { width: 100%; max-width: 600px; margin: 24px auto 32px; }
.ex-page .bu-info + .cbd-section { margin-top: 72px; }
.ex-page .ex-toc { display: flex; flex-wrap: wrap; gap: 10px 24px; padding: 22px 0; margin: 32px 0 64px; border-block: 1px solid var(--line); }
.ex-toc a { font-size: 14px; font-weight: 700; text-decoration: none; color: var(--navy); }
.ex-toc a:hover { color: var(--primary); }
.ex-section-title { margin-bottom: 28px; }
.ex-page .svc-card ul { padding-left: 20px; font-size: 14px; }
.ex-note { margin: 24px 0; font-size: 15px; line-height: 1.9; }
.ex-process { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; padding: 0; margin: 32px 0; list-style: none; }
.ex-process li { padding: 24px 0; border-top: 2px solid var(--primary); }
.ex-process h3 { font-size: 20px; margin: 10px 0; }
.ex-process p { font-size: 15.5px; line-height: 1.85; }
.ex-approach-note,.ex-file-note { padding: 8px 0 8px 20px; border-left: 3px solid var(--primary); margin-top: 28px; }
.ex-approach-note strong,.ex-file-note h3 { font-size: 20px; color: var(--navy); }
.ex-table { width: 100%; border-collapse: collapse; font-size: 15px; }
.ex-table caption { text-align: left; font-weight: 700; padding-bottom: 16px; }
.ex-table th,.ex-table td { padding: 18px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.ex-table thead { background: var(--navy); color: white; }
.ex-table tbody th { width: 28%; background: #f5f9fc; }
.ex-checklist { list-style: none; margin: 0; padding: 0; }
.ex-checklist li { padding: 18px 0; border-bottom: 1px solid var(--line); }
.ex-checklist strong,.ex-checklist span { display: block; }
.ex-checklist strong { color: var(--navy); margin-bottom: 6px; }
.ex-faq { border-top: 1px solid var(--line); }
.ex-faq details { border-bottom: 1px solid var(--line); }
.ex-faq summary { position: relative; padding: 22px 32px 22px 0; cursor: pointer; font-size: 16px; font-weight: 700; color: var(--navy); list-style: none; }
.ex-faq summary::-webkit-details-marker { display: none; }
.ex-faq summary::after { content: '+'; position: absolute; right: 0; top: 20px; font-size: 22px; }
.ex-faq details[open] summary::after { content: '-'; }
.ex-faq details p { margin: 0; padding: 0 0 24px; font-size: 15.5px; }
.ex-mobile { display: none; }
@media(max-width:767px) {
  .ex-page .ex-toc { gap: 12px 20px; margin-bottom: 48px; }
  .ex-process { grid-template-columns: minmax(0,1fr); gap: 16px; }
  .ex-table th,.ex-table td { padding: 14px 10px; overflow-wrap: anywhere; }
  .ex-desktop { display: none; }
  .ex-mobile { display: block; }
}
