.case-section { padding: 32px 0; border-top: 1px solid #dce3eb; }
.case-section h2 { font-size: 26px; line-height: 1.25; margin: 0 0 12px; letter-spacing: 0; }
.case-section h3 { font-size: 19px; margin: 0 0 10px; letter-spacing: 0; }
.case-section p, .case-section li { line-height: 1.7; color: #435167; }
.case-section > p { max-width: 78ch; }
.case-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; align-items: start; margin: 22px 0; }
.case-grid figure { margin: 0; min-width: 0; }
.case-grid img { display: block; width: 100%; height: auto; object-fit: contain; }
.case-grid figcaption { margin-top: 10px; line-height: 1.6; color: #435167; }
.case-grid figcaption strong { display: block; color: #172337; }
.case-checker { background-color: #fff; background-image: linear-gradient(45deg,#e7edf1 25%,transparent 25%),linear-gradient(-45deg,#e7edf1 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#e7edf1 75%),linear-gradient(-45deg,transparent 75%,#e7edf1 75%); background-size: 20px 20px; background-position: 0 0,0 10px,10px -10px,-10px 0; }
.case-zoom { display: block; height: 240px; box-sizing: border-box; padding: 24px; background: #14202b; }
.case-zoom img { width: 100%; max-width: 100%; height: 100%; max-height: 100%; object-fit: contain; }
.case-zoom-light { background: #f0f3f5; }
.case-section pre { background: #f1f5f7; padding: 20px; border-left: 3px solid #16876e; white-space: pre-wrap; overflow-wrap: anywhere; font-size: 14px; line-height: 1.7; color: #172337; }
.case-table-wrap { overflow-x: auto; }
.case-table { width: 100%; border-collapse: collapse; text-align: left; font-size: 15px; }
.case-table th, .case-table td { padding: 12px; border-bottom: 1px solid #dce3eb; vertical-align: top; line-height: 1.6; }
.case-table th { color: #172337; }
.case-padding { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; margin: 20px 0; }
.case-padding figure { margin: 0; text-align: center; }
.case-padding img { display: block; margin-inline: auto; width: 128px; max-width: 100%; height: auto; border: 1px solid #8998a8; }
.case-padding figcaption { margin-top: 10px; font-size: 14px; }
.case-note { font-size: 14px; color: #536276; }
.home-plan-note { max-width: 900px; margin: 18px auto 24px; padding: 0 12px; text-align: center; font-size: 13px; line-height: 1.65; color: #536276; }
.home-plan-note p { margin: 4px 0; }
.home-plan-note a { color: #4330c8; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 640px) {
  .home-plan-note { padding: 0; text-align: left; }
  .home-plan-note p + p { margin-top: 8px; }
}
.seo-cases .seo-hero img { max-height: 390px; object-fit: contain; }
.seo-cases .seo-actions { flex-wrap: wrap; }
.seo-cases .seo-button { white-space: normal; text-align: center; }
.seo-cases .seo-main { overflow-wrap: anywhere; }
.home-case-sample { max-width: 760px; margin: 20px auto; padding: 16px 0; border-top: 1px solid #dce3eb; }
.home-case-sample[hidden] { display: none; }
.home-case-sample button { border: 1px solid #167d67; background: #167d67; color: #fff; padding: 12px 18px; border-radius: 6px; font: inherit; cursor: pointer; }
.home-case-sample button:disabled { opacity: .6; cursor: wait; }
.home-case-sample p { font-size: 14px; margin: 8px 0; }
@media(max-width: 640px) {
  .case-grid { grid-template-columns: 1fr; gap: 24px; }
  .case-section h2 { font-size: 23px; }
  .case-section { padding: 24px 0; }
  .case-zoom { height: 200px; }
  .case-table th, .case-table td { padding: 8px 6px; }
}
