.collection-page {
  width: 100%;
  padding-left: var(--padding);
  padding-right: var(--padding);
}
.collection-page .page-ttl {
  font-size: calc(18 / 16 * 1rem);
  font-weight: unset;
  margin-bottom: 45px;
}
.collection-page__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}
@media (min-width: 1024px) {
  .collection-page__list {
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
  }
}
.collection-page__list img {
  width: 100%;
}
.collection-page__bottom {
  margin-top: 50px;
  display: flex;
  justify-content: center;
}
@media (min-width: 768px) {
  .collection-page__bottom {
    margin-top: 100px;
  }
}
.collection-page__bottom .button {
  max-width: 318px;
}
@media (max-width: 767px) {
  .collection-page__bottom .button {
    max-width: 100%;
  }
}
.collection-page .modal-box {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100dvh;
  overflow-y: auto;
  z-index: 2000;
  background: white;
  opacity: 0;
  pointer-events: none;
}
@media (min-width: 1024px) {
  .collection-page .modal-box {
    padding: 50px 40px;
  }
}
.collection-page .modal-box * {
  pointer-events: none;
}
.collection-page .modal-box.active {
  opacity: 1;
  pointer-events: auto;
}
.collection-page .modal-box.active * {
  pointer-events: auto;
}
.collection-page .modal-box--close {
  position: absolute;
  top: 40px;
  right: 40px;
}
@media (max-width: 1023px) {
  .collection-page .modal-box--close {
    position: sticky;
    margin-left: auto;
    display: block;
    width: fit-content;
    top: 20px;
    right: 20px;
  }
}
.collection-page .modal-box__ttl {
  text-align: center;
  font-size: calc(18 / 16 * 1rem);
  margin-bottom: 35px;
}
@media (max-width: 1023px) {
  .collection-page .modal-box__ttl {
    padding-top: 13.9162561576dvh;
  }
}
.collection-page .modal-box .modal-swiper-container-wrap {
  width: 100%;
}
@media (max-width: 1023px) {
  .collection-page .modal-box .modal-swiper-container-wrap {
    overflow-y: auto;
  }
}
.collection-page .modal-box .modal-swiper-container .modal-item {
  background: white;
}
@media (min-width: 1024px) {
  .collection-page .modal-box .modal-swiper-container .modal-item {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr min(35.7142857143vw, 540px) 1fr;
    gap: 40px;
    align-items: flex-end;
  }
}
.collection-page .modal-box .modal-swiper-container .modal-item:before {
  content: "";
  display: block;
}
.collection-page .modal-box .modal-swiper-container .modal-item__pic {
  position: relative;
}
@media (max-width: 1023px) {
  .collection-page .modal-box .modal-swiper-container .modal-item__pic {
    width: fit-content;
    margin: auto;
    margin-bottom: 30px;
  }
}
.collection-page .modal-box .modal-swiper-container .modal-item__pic .modal-swiper-prev,
.collection-page .modal-box .modal-swiper-container .modal-item__pic .modal-swiper-next {
  position: absolute;
  top: 50%;
  z-index: 1;
}
.collection-page .modal-box .modal-swiper-container .modal-item__pic .modal-swiper-prev {
  left: -15px;
  transform: translate(-100%, -50%);
}
@media (min-width: 1024px) {
  .collection-page .modal-box .modal-swiper-container .modal-item__pic .modal-swiper-prev {
    left: -40px;
  }
}
.collection-page .modal-box .modal-swiper-container .modal-item__pic .modal-swiper-next {
  right: -15px;
  transform: translate(100%, -50%);
}
@media (min-width: 1024px) {
  .collection-page .modal-box .modal-swiper-container .modal-item__pic .modal-swiper-next {
    right: -40px;
  }
}
@media (max-width: 1023px) {
  .collection-page .modal-box .modal-swiper-container .modal-item__pic__img {
    height: 102.4vw;
    width: auto;
  }
}
@media (max-width: 1023px) and (min-width: 768px) {
  .collection-page .modal-box .modal-swiper-container .modal-item__pic__img {
    height: 47.2906403941dvh;
  }
}
.collection-page .modal-box .modal-swiper-container .modal-item__list {
  line-height: 1.4285714286;
}
@media (max-width: 1023px) {
  .collection-page .modal-box .modal-swiper-container .modal-item__list {
    padding: 0 48px 30px;
  }
}
.collection-page .modal-box .modal-swiper-container .modal-item__list li:not(:last-child) {
  margin-bottom: 17px;
}
.collection-page .modal-box .modal-swiper-container .modal-item__list a {
  display: flex;
  align-items: baseline;
  gap: 11px;
}
.collection-page .modal-box .modal-swiper-container .modal-item__list a:before {
  content: "";
  display: block;
  background: url(/assets/front/img/icon/arrow.svg) no-repeat;
  background-size: contain;
  width: 5px;
  height: 7px;
}
.collection-page .modal-box .modal-swiper-container .modal-swiper-pagination {
  font-size: calc(16 / 16 * 1rem);
  margin-top: 37px;
  text-align: center;
}
@media (max-width: 1023px) {
  .collection-page .modal-box .modal-swiper-container .modal-swiper-pagination--sp {
    margin-top: 36px;
    text-align: center;
  }
}
.collection-page .modal-box .modal-swiper-container .swiper-slide:first-child .modal-swiper-prev svg rect {
  fill: var(--grayColorD9);
}
.collection-page .modal-box .modal-swiper-container .swiper-slide:last-child .modal-swiper-next svg rect {
  fill: var(--grayColorD9);
}
.collection-page .modal-box .modal-swiper-container .swiper-slide:not(.swiper-slide-active) {
  pointer-events: none;
}
.collection-page .modal-box .modal-swiper-container .swiper-slide:not(.swiper-slide-active) * {
  pointer-events: none;
}
