.granxia-items-wrap {
  position: relative;
}

.granxia-items {
  display: flex;
  gap: 32px;
  overflow-x: auto;
  padding-bottom: 10px; /* スクロールバー余白 */
  padding-left: 20px;
  padding-right: 20px;
  scrollbar-width: none; /* Firefox */
  scroll-behavior: smooth;
  padding: 0 40px; /* 矢印分の余白 */
}

.granxia-items::-webkit-scrollbar {
  display: none; /* Chrome */
}

.granxia-item-card {
  background: #353539;
  padding: 28px;
  flex: 0 0 290px;
}

/* 矢印 */
.granxia-items__arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;

  width: 40px;
  height: 40px;

  border-radius: 50%;
  border: none;

  background: rgba(0,0,0,0.6);
  color: #fff;

  cursor: pointer;
}

/* 左 */
.granxia-items__arrow.is-prev {
  left: 0;
}

/* 右 */
.granxia-items__arrow.is-next {
  right: 0;
}

/* hover */
.granxia-items__arrow:hover {
  background: rgba(0,0,0,0.8);
}

.granxia-item-card__image {
  margin-bottom: 28px;
}

.granxia-item-card__image img {
  display: block;
  width: 100%;
  height: auto;
}

.granxia-item-card__body {
  color: #ffffff;
}

h3.granxia-item-card__title {
  margin: 0 0 0.4em;
  font-size:  1.3em;
  line-height: 1.4;
}

.granxia-item-card__badge-wrap{
  margin-bottom: 0.7em;
}

.granxia-item-card__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.4em 1em;
  border: 1px solid #fff;
  border-radius: 999px;
  line-height: 1;
}

.granxia-item-card__price {
  margin: 0 0 20px;
  font-size: 1.2em;
  line-height: 1.5;
}

.granxia-item-card__desc p:first-child {
  margin-top: 0;
}

.granxia-item-card__desc p:last-child {
  margin-bottom: 0;
}

.granxia-item-card__cta {
  margin-top: 24px;
}

.granxia-item-card__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0.8em 1.4em;
  border: 1px solid #8d8f81;
  text-decoration: none;
}

@media (max-width: 767px) {
  .granxia-items {
    grid-template-columns: 1fr;
    gap: 20px;
    padding: 0; /* 矢印分の余白 */
  }

  .granxia-item-card {
    padding: 20px;
  }

  .granxia-item-card__title {
    font-size: 1.6rem;
  }

  .granxia-item-card__badge {
    min-width: 110px;
    min-height: 48px;
    font-size: 1.2rem;
  }

  .granxia-item-card__price {
    font-size: 1.6rem;
  }

  .granxia-item-card__desc {
    font-size: 1.1rem;
  }
}