/* お客様の声スライダー — スタイル
 *
 * すべてのクラス名は .eqrv で始まります（他のテーマとぶつからないため）。
 * テーマの変数や共通クラスには一切依存していません。
 *
 * Desktop: the track is duplicated and translated -50% by @keyframes eqrvSlide,
 * so the loop has no visible seam. Phones (<=640px) drop the animation for
 * native scroll-snap, because long CSS marquees stutter on mobile.
 */
.eqrv{background:#f5f8fa;padding:72px 0 76px}
.eqrv__eyebrow{display:block;font-family:'Inter','Helvetica Neue',Arial,sans-serif;font-size:12px;font-weight:600;
  letter-spacing:.34em;text-transform:uppercase;color:#8a94a0;text-align:center;
  margin-bottom:10px}
.eqrv__title{text-align:center;font-size:clamp(18px,2.2vw,24px);font-weight:700;
  color:#10273f;letter-spacing:.05em;margin:0 0 14px;padding:0;border:0}
.eqrv__lead{max-width:640px;margin:0 auto 40px;text-align:center;
  font-size:13.5px;color:#5a6b78;line-height:2;
  line-break:strict;word-break:normal;font-feature-settings:"palt" 1}
.eqrv__viewport{overflow:hidden;
  -webkit-mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent);
  mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent)}
.eqrv__track{display:flex;width:max-content;animation:eqrvSlide var(--eqrv-speed,46s) linear infinite;
  will-change:transform;backface-visibility:hidden;transform:translateZ(0)}
.eqrv__track.is-static{animation:none;width:auto;justify-content:center}
.eqrv__viewport:hover .eqrv__track{animation-play-state:paused}
.eqrv__list{display:flex;align-items:stretch;gap:22px;list-style:none;
  margin:0;padding:0 11px}

.eqrv-item{flex:0 0 340px;display:flex;flex-direction:column;background:#fff;
  border:1px solid #e3e9ee;border-radius:14px;padding:24px 26px 22px;
  box-shadow:0 6px 24px rgba(16,39,63,.05)}
.eqrv-item__stars{color:#f5a623;font-size:15px;letter-spacing:.1em;margin:0 0 12px}
.eqrv-item__body{font-size:13px;color:#41505c;line-height:1.95;margin:0 0 16px;
  text-align:justify;text-justify:inter-ideograph;line-break:strict;
  word-break:normal;font-feature-settings:"palt" 1;
  
  display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}
.eqrv-item__name{margin:auto 0 0;font-size:12.5px;font-weight:700;color:#10273f}
.eqrv-item__name span{display:block;font-weight:400;font-size:11px;color:#8a94a0;
  margin-top:3px;letter-spacing:.02em}
.eqrv .eqrv__more{margin-top:36px}
@media (max-width:640px){
  .eqrv{padding:52px 0 56px}
  .eqrv__lead{font-size:12.5px;margin-bottom:30px}
  .eqrv__viewport{overflow-x:auto;overflow-y:hidden;
    scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    -webkit-mask-image:none;mask-image:none}
  .eqrv__viewport::-webkit-scrollbar{display:none}
  .eqrv__track{animation:none;width:auto;will-change:auto;transform:none}
  .eqrv__list[aria-hidden]{display:none}
  .eqrv__list{gap:14px;padding:0 20px}
  .eqrv-item{flex-basis:78vw;max-width:300px;padding:20px 20px 18px;
    scroll-snap-align:center}
  .eqrv-item__body{font-size:13px;-webkit-line-clamp:8}
}
@media (prefers-reduced-motion:reduce){
  .eqrv__track{animation:none;width:auto;flex-wrap:wrap;justify-content:center}
  .eqrv__list[aria-hidden]{display:none}
  .eqrv__list{flex-wrap:wrap;justify-content:center;gap:18px}
  .eqrv__viewport{-webkit-mask-image:none;mask-image:none}
}
@keyframes eqrvSlide{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}

.eqrv__wrap{max-width:1180px;margin:0 auto;padding:0 20px;box-sizing:border-box}
.eqrv__more{margin-top:34px;text-align:center}
.eqrv__btn{display:inline-block;padding:13px 30px;border:1px solid #cfd8e0;border-radius:6px;
  background:#fff;color:#14171c;text-decoration:none;font-size:14px;font-weight:700;
  transition:background .15s,color .15s,border-color .15s}
.eqrv__btn:hover{background:#14171c;color:#fff;border-color:#14171c}
.eqrv:focus-within .eqrv__track{animation-play-state:paused}
