.productdetail__descarea .product__desc--name {
  letter-spacing: 0.05em;
}

.product__price--proper .product__price--tax {
  display: none;
}
.product__price--proper {
  color: var(--color-text-default);
}
.product__price--proper .product__price--numeric {
  font-weight: normal;
}
.product__icon--1 {
  background-color: var(--color-emphasis);
}

.c-tab__selector--button {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  letter-spacing: 0.05em;
}

.productdetail__imagearea .main-slider .swiper-slide,
.productdetail__imagearea .thumbnail-slider .swiper-slide {
  aspect-ratio: 1 / 1;
}
.productdetail__imagearea .main-slider .swiper-slide img,
.productdetail__imagearea .thumbnail-slider .swiper-slide img {
  height: 100%;
  object-fit: contain;
}

.c-tab__content,
.product__desc--detail {
  letter-spacing: 0.05em;
  line-height: 1.7;
}

.product__desc--fullwidth {
  border-top: 1px solid var(--color-gray-300);
}
.c-tab__content {
  padding-inline: 0;
}
.c-tab__content dl {
  display: grid;
  grid-template-columns: 30% 1fr;
}
.c-tab__content dl dt,
.c-tab__content dl dd {
  border: 1px solid var(--color-gray-400);
}
.c-tab__content dl dd {
  margin-left: -1px;
}
.c-tab__content dl dt:not(:first-of-type),
.c-tab__content dl dd:not(:first-of-type) {
  margin-top: -1px;
}
.product__price--proper::after {
  background-color: var(--color-text-default);
}

.productdetail__descarea .product__price {
  flex-direction: column-reverse;
  align-items: flex-start;
  gap: 0;
}

.productdetail__descarea .product__desc--outline {
  line-height: 1.7;
}

@media screen and (max-width: 767px) {
  .productdetail .product__favorite--add {
    width: 6rem;
    height: 6rem;
  }
  .productdetail .product__favorite--icon {
    width: 2.5rem;
  }
  .c-tab__content dl dt,
  .c-tab__content dl dd {
    padding: 1rem;
    font-size: 1.3rem;
  }
  .c-tab__content--item {
    font-size: 1.3rem;
  }
  .c-tab__selector--button {
    font-size: 1.4rem;
    padding: 1.5rem;
  }
  .productdetail__descarea .product__desc--name {
    font-size: 2.4rem;
    line-height: 1.2;
    padding-bottom: 0.6rem;
  }
  .productdetail__descarea .product__desc--catchcopy {
    font-size: 1.3rem;
  }
  .productdetail__descarea .product__desc--price .product__price--numeric,
  .productdetail__descarea .product__price--discount .product__price--numeric {
    font-size: 3rem;
  }
  .productdetail__descarea .product__price {
    justify-content: flex-start;
  }
  .productdetail__descarea .product__price--discountrate:not(:empty) {
    align-self: flex-end;
    margin-bottom: 0.5rem;
    margin-left: 0.5rem;
    font-size: 1.3rem;
    padding: 0.4rem 0.6rem;
  }
  .productdetail__descarea .product__desc--price .product__price--tax {
    font-size: 1.3rem;
  }
  .productdetail__descarea .product__desc--price .product__price--proper .product__price--numeric {
    font-size: 2.4rem;
  }
  .productdetail__buyarea {
    margin-top: 2rem;
  }
  .productdetail .product__desc--fullwidth {
    padding: 1.5rem 4%;
  }
  .productdetail__descarea .product__desc--outline {
    margin-block: 1.5rem;
  }

  .product__history.product__content--bottom .product__item--name {
    text-align: left;
  }
  .product__history.product__content--bottom .product__price {
    flex-direction: column-reverse;
    align-items: flex-start;
  }
  .product__history.product__content--bottom .product__price {
    gap: 0.3rem;
  }
  .product__item--price {
    margin-top: 0.5rem;
  }
  .product__history.product__content--bottom .product__price .product__price--numeric,
  .product__history.product__content--bottom .product__price--discount .product__price--numeric {
    font-size: 1.6rem;
  }

  .product__history.product__content--bottom .product__price--proper .product__price--numeric {
    font-size: 1.4rem;
  }

  .product__history,
  .product__upsell,
  .product__crosssell {
    width: 100%;
  }
  .product__history .product__container, .product__upsell .product__container, .product__crosssell .product__container {
    max-width: calc(375* (100vw / 375));
    padding-left: 4%;
    padding-right: 4%;
  }
  .productdetail .c-heading--border {
    padding-left: 4%;
    padding-right: 4%;
  }
}

@media screen and (min-width: 768px) {
  .productdetail .grid-container {
    grid-template-columns: 65rem 1fr;
  }
  .productdetail__descarea .product__desc--icon {
    margin-bottom: 1.5rem;
  }
  .product__icon {
    font-size: 1.1rem;
  }
  .productdetail__descarea .product__desc--name {
    font-size: 2.8rem;
    line-height: 1.2;
    padding-bottom: 0.6rem;
  }
  .productdetail__descarea .product__desc--outline {
    font-size: 1.5rem;
    margin-block: 2rem;
  }
  .productdetail__descarea .product__desc--price {
    margin-top: 2.5rem;
    padding-top: 2.5rem;
    border-top: 1px solid var(--color-gray-300);
  }
  .productdetail__descarea .product__desc--price .product__price--numeric,
  .productdetail__descarea .product__price--discount .product__price--numeric {
    font-size: 3.6rem;
  }
  .productdetail__descarea .product__price {
    justify-content: flex-start;
  }
  .productdetail__descarea .product__price--discountrate:not(:empty) {
    align-self: flex-end;
    margin-bottom: 0.6rem;
    margin-left: 1rem;
    font-size: 1.5rem;
    padding: 0.4rem 0.6rem;
  }
  .productdetail__descarea .product__desc--price .product__price--tax {
    font-size: 1.4rem;
  }
  .productdetail__descarea .product__desc--price .product__price--proper .product__price--numeric {
    font-size: 3rem;
  }
  .productdetail__buyarea {
    margin-top: 3rem;
  }
  .product__addcart .c-button {
    font-size: 1.5rem;
    /* max-width: min(100%, 40rem); */
    padding-block: 1.5rem;
  }
  .c-tab__selector--button {
    font-size: 1.5rem;
  }
  .c-tab__content {
    margin-block: 3rem;
  }
  .productdetail .product__desc--fullwidth {
    margin-block-start: 4rem;
    padding-top: 3rem;
  }
  .product__desc--detail {
    font-size: 1.5rem;
  }

  .c-tab__content dl dt,
  .c-tab__content dl dd {
    padding: 1.5rem;
  }

  .productdetail__imagearea .thumbnail-slider .swiper-wrapper {
    grid-template-columns: repeat(7, 1fr);
  }
  .product__history.product__content--bottom .product__item--name {
    text-align: left;
  }
  .product__history.product__content--bottom .product__price {
    flex-direction: column-reverse;
    align-items: flex-start;
  }
  .product__history.product__content--bottom .product__price {
    gap: 0.3rem;
  }
  .product__item--price {
    margin-top: 0.5rem;
  }
  .product__history.product__content--bottom .product__price .product__price--numeric,
  .product__history.product__content--bottom .product__price--discount .product__price--numeric {
    font-size: 1.8rem;
  }

  .product__history.product__content--bottom .product__price--proper .product__price--numeric {
    font-size: 1.4rem;
  }
}