/* サービス個別ページ（外構・エコキュート・別荘）共通スタイル。reform.css の冒頭部品を流用 */
.service-hero .reform-hero-img { aspect-ratio: 1440 / 480; }
.service-hero .reform-hero-copy { left: 56%; width: min(600px, 44vw); padding: 28px 48px; background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.86) 14%, rgba(255, 255, 255, 0.86) 86%, rgba(255, 255, 255, 0) 100%); }
.service-hero .reform-hero-copy h1 { white-space: normal; font-size: clamp(18px, 1.7vw, 24px); letter-spacing: 0.1em; line-height: 1.6; }
.service-hero .reform-hero-copy .sub { letter-spacing: 0.12em; }
.svc-intro .lead { font-weight: 500; }
.svc-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.svc-cards .card { padding: 26px 26px 28px; }
.svc-cards h3 { font-size: 16px; font-weight: 600; letter-spacing: 0.08em; line-height: 1.6; }
.svc-cards p { margin-top: 10px; font-size: 14px; line-height: 1.9; color: var(--ink-soft); }
.svc-points { display: grid; gap: 18px; }
.svc-points li { display: grid; grid-template-columns: 48px 1fr; gap: 16px; padding: 22px 26px; background: #fff; border: 1px solid var(--line); }
.svc-points .num { font-size: 13px; letter-spacing: 0.2em; color: var(--purple); font-weight: 600; padding-top: 4px; }
.svc-points h3 { font-size: 16px; font-weight: 600; letter-spacing: 0.08em; line-height: 1.6; }
.svc-points p { margin-top: 8px; font-size: 14px; line-height: 1.9; color: var(--ink-soft); }
.bg-cream .svc-points li { border-color: transparent; }
@media (max-width: 900px) { .svc-cards { grid-template-columns: repeat(2, 1fr); } .service-hero .reform-hero-copy { left: 48%; width: min(460px, 50vw); padding: 20px 36px; } }
@media (max-width: 760px) {
  .svc-cards { grid-template-columns: 1fr; gap: 12px; }
  .service-hero .reform-hero-img { aspect-ratio: 4 / 3; }
  .service-hero .reform-hero-copy { left: 0; right: 0; width: auto; top: auto; bottom: 20px; transform: none; padding: 16px var(--gutter); background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.86) 14%, rgba(255, 255, 255, 0.86) 86%, rgba(255, 255, 255, 0) 100%); }
  .svc-points li { grid-template-columns: 36px 1fr; padding: 18px 18px; }
}
