/* セクション一覧トップ（/products/ /consulting/ /solutions/）共通スタイル */
.ov-wrap{color:var(--c-ink);font-family:var(--f-body)}
.ov-hero{padding:var(--sp-24,96px) 0 var(--sp-12,48px);background:var(--c-bg-alt,#FBFBFD);border-bottom:1px solid var(--c-line,#e5e5ea)}
.ov-eyebrow{font-family:var(--f-display);font-size:var(--t-xs,13px);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--c-indigo,#0066CC);margin-bottom:12px}
.ov-title{font-family:var(--f-display);font-size:clamp(28px,5vw,44px);font-weight:800;line-height:1.25;color:var(--c-ink,#1D1D1F);margin:0 0 16px}
.ov-title em{font-style:normal;background:var(--c-grad,linear-gradient(135deg,#0066CC 0%,#7B3FF2 100%));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.ov-lead{font-size:var(--t-base,16px);line-height:1.9;color:var(--c-ink-3,#555);max-width:760px}
.ov-section{padding:var(--sp-16,64px) 0}
.ov-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}
.ov-card{display:flex;flex-direction:column;position:relative;background:#fff;border:1px solid var(--c-line,#e5e5ea);border-radius:var(--r-2xl,20px);padding:28px;text-decoration:none;transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease}
.ov-card:hover{box-shadow:var(--sh-md,0 8px 30px rgba(0,0,0,.08));transform:translateY(-3px);border-color:var(--c-ink-4,#c7c7cc)}
.ov-dot{display:inline-block;width:12px;height:12px;border-radius:50%;background:var(--dot,#0066CC);margin-bottom:16px;flex:none}
.ov-card-name{font-family:var(--f-display);font-size:var(--t-h5,18px);font-weight:700;color:var(--c-ink,#1D1D1F);margin:0 0 8px}
.ov-card-desc{font-size:var(--t-sm,14px);line-height:1.7;color:var(--c-ink-3,#555);margin:0 0 16px;flex:1}
.ov-card-link{font-family:var(--f-display);font-size:var(--t-sm,14px);font-weight:600;color:var(--c-indigo,#0066CC)}
.ov-foot-cta{text-align:center;padding:0 0 var(--sp-20,80px)}
.ov-foot-cta a{font-family:var(--f-display);font-weight:600;color:var(--c-indigo,#0066CC)}
@media(max-width:600px){.ov-hero{padding:var(--sp-16,64px) 0 var(--sp-8,32px)}.ov-grid{grid-template-columns:1fr}}
