/* =====================================================
   サービス一覧ページ専用スタイル (page-service.php)
   ===================================================== */

.svc { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; padding: 64px 0; }
.svc + .svc { border-top: 1px solid var(--line); }
.svc .svc-img { width: 100%; height: 300px; object-fit: cover; display: block; }
a.svc-visual { display: block; border-radius: var(--radius); overflow: hidden; transition: transform 0.18s ease, box-shadow 0.18s ease; }
a.svc-visual:hover { transform: translateY(-3px); box-shadow: var(--shadow); }
.svc:nth-child(even) .svc-visual { order: -1; }
.svc .tag { display: inline-block; font-size: 12px; font-weight: 700; color: var(--primary); background: var(--primary-soft); border-radius: 4px; padding: 3px 10px; margin-bottom: 14px; }
.svc h2 { font-size: clamp(22px, 2.4vw, 30px); color: var(--primary); margin-bottom: 12px; }
.svc p.desc { color: var(--ink-soft); font-size: 15px; }
.svc ul.points { margin: 18px 0 22px; display: grid; gap: 8px; }
.svc ul.points li { display: flex; gap: 10px; align-items: baseline; font-size: 14.5px; font-weight: 500; }
.svc ul.points li::before { content: "✓"; color: var(--accent); font-weight: 900; flex-shrink: 0; }
@media (max-width: 860px) {
  .svc { grid-template-columns: 1fr; gap: 24px; padding: 44px 0; }
  .svc:nth-child(even) .svc-visual { order: 0; }
  .svc .svc-img { height: 220px; }
}
