.section-spec {
  margin-top: 64px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.system-spec {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 32px 0 24px 0;
  height: clamp(562px, 100%, 612px);
}

.spec-list-content {
  width: 100%;
  display: flex;
  flex-direction: column;
}
.spec-list-content dl {
  margin: 0;
}
.spec-list-content dt,
.spec-list-content dd {
  text-align: center;
}
.spec-list-content dt {
  margin: 32px 0 0 0;
  font-size: clamp(14px, calc(var(--aspect-base) * 16), 16px);
  font-weight: 400;
  color: #7e7e7e;
}
.spec-list-content dd {
  margin: 16px 0 0 0;
  font-size: clamp(16px, calc(var(--aspect-base) * 20), 20 px);
}
.spec-list-content dt:first-child {
  margin: 0;
}

.spec-social-link-wrapper {
  display: flex;
  justify-content: center;
  margin-bottom: 60px;
}
.spec-social-link img {
  width: clamp(80px, min(var(--aspect-base) * 150), 150px);
  height: clamp(80px, min(var(--aspect-base) * 150), 150px);
}
.spec-social-link:last-child {
  margin-left: 40px;
}
.spec-social-link {
  cursor: pointer;
  transition: 0.25s cubic-bezier(0.45, 0, 0.55, 1);
}
.spec-social-link:hover {
  transform: translateY(-4px);
}
.spec-sns-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
}
.spec-sns-wrapper a {
  margin: 0 16px;
}

.spec-sns-wrapper a img:hover {
  opacity: 0.7;
}

.rating-icon-image {
  display: inline-block;
  width: auto;
  height: 90px;
}

.download-button-wrapper {
  margin-top: 32px;
  position: relative;
  width: clamp(257px, calc(var(--aspect-base) * 342), 342px);
  height: 44px;
  border-radius: 8px;
  background: url("/images/btn_texture.png") center / cover no-repeat, #e60012;
  overflow: hidden;
}

.download-button-fankit {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
}

.download-button-text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  margin: 0 !important;
  color: white !important;
  /* font-size: clamp(16px, calc(var(--aspect-base) * 20), 20px) !important; */
  font-weight: bold;
  text-align: center;
  pointer-events: none;
  z-index: 2;
  width: 100%;
  padding: 4px;
}

@media only screen and (max-width: 960px) {
  .section-spec {
    margin-top: 32px;
  }
  .system-spec {
    background-position-x: 40%;
  }
  .rating-icon-image {
    height: 72px;
  }
  .spec-list-content dt {
    font-size: 18px;
  }
  .spec-list-content dd {
    font-size: 14px;
  }
}
