/* 加工事例の追加部分に限定 */
.kks-cases { color: #252b2d; overflow-wrap: break-word; word-break: normal; line-break: strict; letter-spacing: .025em; font-weight: 400; text-align: left; }
.kks-cases, .kks-cases *, .kks-cases *::before, .kks-cases *::after { box-sizing: border-box; }
.kks-cases .inner_wrap { width: calc(100% - 48px); max-width: 1120px; margin-right: auto; margin-left: auto; text-align: left; }
.kks-cases .kks-cases-intro { padding: 36px 0 20px; }
.kks-cases .kks-cases-intro p { max-width: 60em; line-height: 1.9; margin: 0 0 12px; text-align: left; }
.kks-cases .kks-cases-note { font-size: .875em; color: #596264; }
.kks-cases .kks-cases-list { padding: 12px 0 40px; }
.kks-cases .kks-case-card { padding: 32px; margin: 0 0 32px; border: 1px solid #dce5e3; border-radius: 8px; background: #fff; scroll-margin-top: 120px; text-align: left; }
.kks-cases .kks-case-title { margin: 0 0 24px; padding: 0 0 15px; border-bottom: 2px solid #009788; font-size: clamp(1.15rem, 2vw, 1.5rem); line-height: 1.5; font-weight: 700; background: none; text-align: left; letter-spacing: .02em; }
.kks-cases .kks-case-grid { display: grid; grid-template-columns: minmax(0, 38fr) minmax(0, 62fr); gap: 32px; align-items: start; }
.kks-cases .kks-case-grid.kks-case-no-image { grid-template-columns: minmax(0, 1fr); }
.kks-cases .kks-case-photo { padding: 12px; background: #f5f7f7; border: 1px solid #edf1f0; border-radius: 4px; }
.kks-cases .kks-case-photo img { display: block; width: 100%; height: auto; max-height: 340px; object-fit: contain; margin: 0; }
.kks-cases .kks-case-detail { min-width: 0; text-align: left; font-size: 16px; }
.kks-cases .kks-case-specs { margin: 0; }
.kks-cases .kks-case-specs > div { display: grid; grid-template-columns: 110px minmax(0, 1fr); border-bottom: 1px solid #e2e8e7; }
.kks-cases .kks-case-specs dt, .kks-cases .kks-case-specs dd { width: auto; min-width: 0; padding: 11px 14px; margin: 0; line-height: 1.7; text-align: left; }
.kks-cases .kks-case-specs dt { background: #f0f5f4; font-weight: 600; }
.kks-cases .kks-case-description { margin-top: 24px; text-align: left; }
.kks-cases .kks-case-description h3 { padding: 0; margin: 0 0 8px; border: 0; background: none; font-size: 1.05em; font-weight: 700; color: #007568; text-align: left; }
.kks-cases .kks-case-description p { margin: 0; line-height: 1.95; text-align: left; letter-spacing: .02em; word-break: normal; overflow-wrap: break-word; }
.kks-cases .kks-cases-contact { background: #eef5f3; padding: 40px 0; text-align: center; }
.kks-cases .kks-cases-contact .inner_wrap { text-align: center; }
.kks-cases .kks-cases-contact h2 { margin: 0 0 16px; padding: 0; border: 0; background: none; font-size: clamp(1.15rem, 2vw, 1.5rem); line-height: 1.6; }
.kks-cases .kks-cases-contact p { margin: 0 0 24px; line-height: 1.8; }
@media (max-width: 767px) {
    .kks-cases .inner_wrap { width: calc(100% - 32px); }
    .kks-cases .kks-case-card { padding: 20px 16px; margin-bottom: 24px; }
    .kks-cases .kks-case-grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
    .kks-cases .kks-case-photo img { max-height: 320px; }
    .kks-cases .kks-case-detail { font-size: 15px; }
    .kks-cases .kks-case-specs > div { grid-template-columns: 90px minmax(0, 1fr); }
    .kks-cases .kks-case-specs dt, .kks-cases .kks-case-specs dd { padding: 9px 8px; }
}
