.w-main #\36 92115,
.w-main #\36 92144 { padding: 48px 0 !important; height: auto !important; background: #fff !important; }
.home-section-heading,
.home-news-heading { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 24px; padding-bottom: 16px; border-bottom: 1px solid #ddd; }
.home-section-heading h2,
.home-news-heading h3 { margin: 0; color: #444; font-size: 24px; font-weight: 600; line-height: 1.4; }
.home-section-heading > a,
.home-news-heading > a { flex-shrink: 0; color: #555; font-size: 14px; }
.home-case-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.home-case-card { display: block; min-width: 0; color: #222; text-decoration: none; }
.home-case-image { width: 100%; aspect-ratio: 1; overflow: hidden; border-radius: 8px; background: #f5f5f5; }
.home-case-image picture { display: contents !important; }
.home-case-image img { display: block; width: 100% !important; height: 100% !important; max-height: none !important; object-fit: cover !important; }
.home-case-card h3 { margin: 16px 0 0; font-size: 18px; font-weight: 500; line-height: 1.5; text-align: center; color: #222; }
.home-case-card:hover h3 { color: #a81d1b; }
.home-environment-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; align-items: start; }
.home-environment-image a { display: block; }
.home-environment-image img { display: block; width: 100%; height: auto; border-radius: 8px; }
.home-news-list { margin: 0; padding: 0; list-style: none; }
.home-news-list li { margin: 0; padding: 0; border-bottom: 1px solid #e8e8e8; }
.home-news-list li > a { display: block; padding: 18px 0; color: #222; text-decoration: none; }
.home-news-title { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; }
.home-news-title h4 { min-width: 0; margin: 0; color: #222; font-size: 17px; font-weight: 500; line-height: 1.5; }
.home-news-title time { flex-shrink: 0; color: #888; font-size: 13px; white-space: nowrap; }
.home-news-list p { margin: 8px 0 0; color: #777; font-size: 14px; line-height: 1.7; }
.home-news-list a:hover h4 { color: #a81d1b; }
@media (max-width: 960px) {
  .home-case-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
  .home-environment-grid { grid-template-columns: 1fr; gap: 32px; }
}
@media (max-width: 480px) {
  .home-section-heading { gap: 12px; }
  .home-section-heading h2 { font-size: 24px; }
  .home-case-grid { gap: 16px; }
  .home-case-card h3 { font-size: 15px; }
  .home-news-title { flex-direction: column; gap: 4px; }
}
