/* 実績スライド */
.case-total { display: flex; align-items: baseline; justify-content: center; gap: 8px; margin: 8px auto 28px; color: var(--navy); font-weight: 800; }
.case-total b { font: 900 clamp(44px, 6vw, 64px)/1 var(--round); color: var(--orange); letter-spacing: .02em; }
.case-total span { font-size: 18px; }
.case-slider { max-width: 920px; margin: 0 auto; }
.case-track { display: flex; gap: 20px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 6px 4px 14px; scrollbar-width: none; }
.case-track::-webkit-scrollbar { display: none; }
.case-track:focus-visible { outline: 3px dashed var(--blue); outline-offset: 6px; }
@media (prefers-reduced-motion: no-preference) { .case-track { scroll-behavior: smooth; } }
.case { flex: 0 0 min(100%, 880px); scroll-snap-align: center; border: 3px solid var(--navy); border-radius: 18px; overflow: hidden; background: #fff; box-shadow: 0 6px 0 var(--sky); }
.case-head { margin: 0; padding: 16px 20px; background: var(--navy); color: #fff; text-align: center; font: 800 clamp(17px, 2.2vw, 24px)/1.5 var(--round); text-wrap: balance; }
.case-head b { color: var(--yellow); font-size: 1.35em; font-weight: 900; margin: 0 .1em; }
.case-body { display: grid; grid-template-columns: 1.25fr 1fr; gap: 24px; align-items: center; padding: 20px; background: #F4F7FD; }
.case-shot { margin: 0; border: 2px solid var(--navy); border-radius: 10px; overflow: hidden; background: #fff; box-shadow: 0 4px 0 #C9D6F2; }
.shot-bar { display: flex; align-items: center; gap: 6px; padding: 7px 10px; background: #E6ECF8; border-bottom: 2px solid var(--navy); }
.shot-bar i { width: 9px; height: 9px; border-radius: 50%; background: #9db0d8; }
.shot-bar span { margin-left: 8px; font-size: 12px; color: #4a5a85; letter-spacing: .02em; }
.case-shot img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; object-position: top; }
.case-private .private-body { display: grid; place-items: center; align-content: center; gap: 8px; aspect-ratio: 16 / 10; background: var(--sky-l); color: var(--navy); font-weight: 700; }
.case-private .private-body img { width: 96px; height: 96px; aspect-ratio: auto; object-fit: contain; mix-blend-mode: multiply; }
.case-info { text-align: left; }
.case-name { font: 800 20px/1.5 var(--round); }
.case-name a { color: var(--blue); text-decoration: underline; }
.case-sub { margin-top: 4px; font-size: 14px; color: #4a5a85; line-height: 1.7; }
.case-do { display: inline-block; margin-top: 12px; padding: 3px 12px; border-radius: 6px; background: #fff; border: 2px solid var(--blue); color: var(--blue); font: 800 13px/1.6 var(--round); }
.case-nav { display: flex; align-items: center; justify-content: center; gap: 16px; margin-top: 10px; }
.case-nav button { width: 48px; height: 48px; border-radius: 50%; border: 3px solid var(--navy); background: #fff; color: var(--navy); font: 900 20px/1 var(--round); cursor: pointer; box-shadow: 0 3px 0 var(--sky); }
.case-nav button:hover { background: var(--yellow); }
.case-nav button:focus-visible { outline: 3px solid var(--blue); outline-offset: 2px; }
.case-dots { display: flex; gap: 10px; }
.case-dots i { width: 11px; height: 11px; border-radius: 50%; background: #C9D6F2; transition: background .2s, transform .2s; }
.case-dots i.is-on { background: var(--blue); transform: scale(1.25); }
.results .result-note { text-align: center; max-width: none; }
@media (max-width: 820px) {
  .case-body { grid-template-columns: 1fr; gap: 14px; padding: 14px; }
  .case-info { text-align: center; }
  .case { flex-basis: 92%; }
  .case-name { font-size: 18px; }
  .case-total span { font-size: 15px; }
}
