.c-loop{
  max-width:1200px;
  width:100%;
  margin:40px auto;
  padding:40px 20px;
  background:#fafafa;
  border-radius:12px;
}

.c-loop__title{
  font-size: 2.4em;
  font-weight: 700;
  margin: 0 0 20px;
  letter-spacing: .125em;
  text-align: center;
}

.c-loop__row{
  display:flex;
  align-items:center;
  gap:16px;
}

.c-loop__btn{
  width:46px;
  height:46px;
  border:1px solid #ddd;
  background:#fff;
  border-radius:50%;
  font-size:22px;
  cursor:pointer;
  flex:0 0 auto;
}

.c-loop__viewport{
  flex:1 1 auto;
  overflow:hidden;
  touch-action:pan-y;
}

.c-loop__track{
  display:flex;
  gap:20px;
  transform:translate3d(0,0,0);
  will-change:transform;
}

/* SP=2 */
.c-card{
  flex:0 0 calc(50% - 10px);
  text-decoration:none;
  color:#222;
}

/* PC=3 */
@media (min-width:768px){
  .c-card{
    flex:0 0 calc(33.333% - 14px);
  }
}

.c-card__img{
  aspect-ratio:1/1;
  background:#fff;
  border-radius:12px;
  overflow:hidden;
}

.c-card__img img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.c-card__body{
  padding-top:12px;
}

.c-card__name{
  margin:0 0 6px;
  font-size:15px;
  font-weight:600;
}

.c-card__price{
  margin:0;
  font-size:16px;
  font-weight:700;
}

.c-card__price span{
  font-size:12px;
  font-weight:400;
  margin-left:4px;
}

/* スマホ */
@media (max-width:767px){

  .c-loop__btn{
    width:34px;
    height:34px;
    font-size:18px;
  }

.c-loop{
  border-radius:0;
  width: auto;
}

.c-loop__title{
font-size: 1.5em;
}

}