:root {
  --color-sale: #CC0000;
  --color-ucsmajica: #334084;
}

.global-contents__inner {
  width: 100%;
  padding-bottom: 0;
}

.productdetail__inner {
  margin-inline: auto;
}

.productdetail .grid-container {
  width: 100%;
  grid-template-columns: repeat(2, minmax(0,1fr));
  column-gap: 5rem;
}

@media screen and (min-width: 768px) {
  .productdetail__inner {
    width: min(90%, 120rem);
  }
  .c-breadcrumb {
    width: min(90%, 120rem);
    margin-inline: auto;
  }
}
.product__price--fixedpurchase {
  margin-top: 0 !important;
}
.productdetail__descarea .product__desc--icon {
  margin-block: 0 2rem;
}

.product__price--special .product__price--item {
  line-height: 1;
}

.product__icon {
  background-color: transparent;
  color: var(--color-black);
  border: 1px solid var(--color-black);
  font-size: 1.5rem;
  line-height: 1.3;
  border-radius: 0.3rem;
  padding: 0.6rem 1rem;
}

.product__icon--sale {
  color: var(--color-sale);
  border-color: var(--color-sale);
}

.productdetail__descarea .product__desc--name {
  font-size: 2.8rem;
  line-height: 1.5;
}

.productdetail__buttonarea {
  display: grid;
  grid-template-columns: 56.25% 1fr;
  gap: 1rem;
}

.productdetail__buttonarea .c-button {
  display: flex;
  justify-content: center;
  align-items: center;
  padding-block: 0;
  height: 6rem;
  font-weight: var(--fw-bold);
  font-size: 1.8rem;
  border-radius: 0.5rem;
}

@media (hover: hover) and (pointer: fine) {
  .productdetail__buttonarea .c-button {
    transition: opacity var(--transition-default);
  }
  .productdetail__buttonarea .c-button:hover {
    opacity: 0.6;
  }
}


@media screen and (min-width: 768px) {
  .productdetail__imagearea .thumbnail-slider .swiper-wrapper {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 1rem;
    pointer-events: none;
  }
  .productdetail__imagearea .thumbnail-slider .swiper-slide {
    pointer-events: auto;
  }
}

.main-slider {
  position: relative;
  overflow: visible;
}

@media screen and (min-width: 768px) {
  /* .main-slider,
  .productdetail__imagearea .thumbnail-slider {
    padding-inline: 7rem;
  } */
}

@media screen and (max-width: 767px) {
  .productdetail__buttonarea {
    grid-template-columns: 1fr;
  }
  .productdetail__buttonarea .c-button {
    min-width: unset !important;
  }
  .productdetail__descarea .product__desc--name {
    font-size: 2rem;
  }
}

@media screen and (min-width: 768px) {
.main-slider::before,
.main-slider::after {
  content: '';
  display: block;
  width: 7rem;
  height: 100%;
  background-color: var(--color-white);
  position: absolute;
  z-index: -1;
  top: 0;
}

.main-slider::before {
  left: 0;
}

.main-slider::after {
  right: 0;
}
}

[class*="main-slider__arrow"] {
  position: absolute;
  z-index: 2;
  top: 50%;
  translate: 0 -50%;
  width: 5rem;
  height: 5rem;
  border-radius: 50%;
}

@media (hover: hover) {
  [class*="main-slider__arrow"] {
    transition: box-shadow 0.4s ease;
  }
  [class*="main-slider__arrow"]:hover {
    box-shadow: 0 0 2rem rgba(0, 0, 0, 0.1);
  }
}

.main-slider__arrow--prev {
  left: 1rem;
}

.main-slider__arrow--next {
  right: 1rem;
}

@media screen and (max-width: 767px) {
  [class*="main-slider__arrow"] {
    z-index: 2;
    filter: drop-shadow(0px 0px 10px rgba(0, 0, 0, 0.1));
    width: 3rem;
    height: 3rem;
  }
  .main-slider__arrow--prev {
    left: 1rem;
  }

  .main-slider__arrow--next {
    right: 1rem;
  }
}

.product__price--icon {
  width: 10.8rem;
  padding: 0.7rem 0;
  font-family: var(--font-ja);
  font-weight: var(--fw-regular);
  font-size: 1.6rem;
  line-height: 1;
  letter-spacing: 0.05em;
  text-align: center;
  background-color: #E2E2E2;
  border: none;
  border-radius: 0;
}

.product__price--discount .product__price--icon {
  background-color: var(--color-sale);
  font-weight: var(--fw-bold);
  color: var(--color-white);
}

.product__price--ucsmajica .product__price--icon {
  background-color: var(--color-ucsmajica);
  font-weight: var(--fw-bold);
  color: var(--color-white);
}

.product__price--item {
  gap: 2rem;
}

.product__price-value {
  display: flex;
  align-items: flex-end;
  gap: 0.5rem;
}

.productdetail__descarea .product__desc--price .product__price--numeric {
  font-family: var(--font-en);
  font-weight: var(--fw-semibold);
  font-size: 3.6rem;
  line-height: 1.25;
  letter-spacing: 0.025em;
}

.productdetail__descarea .product__desc--price .product__price--discount .product__price--numeric {
  font-size: 4.5rem;
}

.productdetail__descarea .product__desc--price .product__price--tax {
  display: inline-block;
  font-size: 2rem;
  letter-spacing: 0.025em;
  margin-bottom: 0.8rem;
}

@media screen and (max-width: 767px) {
  .productdetail__descarea .product__desc--price .product__price--numeric {
    font-size: 2.7rem;
  }
  
  .productdetail__descarea .product__desc--price .product__price--discount .product__price--numeric {
    font-size: 3.4rem;
  }
  
  .productdetail__descarea .product__desc--price .product__price--tax {
    font-size: 1.5rem;
  }

  .product__price--icon {
    width: 9rem;
    font-size: 1.3rem;
  }
}

.product__price-value {
  column-gap: 0.5rem;
}

.product__price--proper {
  color: var(--color-text-default);
}

.product__price--proper::after {
  background-color: var(--color-sale);
}

.productdetail .variation__panel {
  padding-bottom: 2.5rem;
  border-bottom: 1px solid #E2E2E2;
  margin-block: 0 2rem;
}

.productdetail .variation__panel--wrapper {
  gap: 1rem;
}

.productdetail__descarea .product__desc--price {
  margin-bottom: 4rem;
}

.variation__panel--heading {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

.variation__panel--heading-label {
  font-weight: bold;
}

.variation__panel--color .variation__panel--wrapper {
  display: grid;
  grid-template-columns: repeat(5, minmax(0,1fr));
  column-gap: 1rem;
  row-gap: 2rem;
}

.productdetail .variation__panel--color .variation__panel--item {
  padding: 0;
  border: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 1rem;
}
.productdetail .variation__panel--color .variation__panel--item.selected {
  border: none;
}

.productdetail .variation__panel--color .variation__panel--item .variation__panel-name {
  font-weight: 400;
  font-size: 1.3rem;
  line-height: 1.5;
  text-align: center;
}
.productdetail .variation__panel--color .variation__panel--item.selected .variation__panel-name {
  font-weight: var(--fw-bold);
}
.productdetail .variation__panel--color .variation__panel--item .variation__panel-image {
  border-radius: 50%;
  overflow: hidden;
  border: 1px solid #E2E2E2;
  width: 100%;
  aspect-ratio: 1;
}

.productdetail .variation__panel--color .variation__panel--item.selected .variation__panel-image {
  border: 3px solid var(--color-black);
}

.productdetail .variation__panel--size .variation__panel--item {
  font-size: 1.6rem;
  line-height: 1.3125;
  padding: 1rem;
  text-align: center;
  background-color: #E2E2E2;
  border: 2px solid #E2E2E2;
}

.productdetail .variation__panel--size .variation__panel--item.selected {
  background-color: var(--color-white);
  border-color: var(--color-black);
  font-weight: var(--fw-bold);
}

.productdetail .variation__panel--heading {
  margin-block: 0 1.5rem;
}

@media screen and (min-width: 768px) {
  .productdetail .variation__panel--size .variation__panel--item {
    min-width: 15.3rem;
    max-width: 65rem;
  }
}

.productdetail__share {
  display: flex;
  gap: 1.5rem;
  align-items: center;
}

.productdetail__share-list {
  display: flex;
  flex-wrap: wrap;
}

.productdetail__share-item {
  width: 4rem;
  padding: 1rem;
}

.product__count--form {
  padding-block: 0;
}

.product__count--form .c-form__input--text {
  font-size: 1.8rem;
  height: 4rem;
  padding-block: 0 !important;
  text-align: center;
}

.productdetail__buyarea .product__count {
  column-gap: 2rem;
  margin-block: 0;
  padding-block: 2rem;
}

.productdetail__utilityarea {
  margin-top: 4rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
}

.button-pd-cart,
.button-pd-favorite {
  padding-inline: 0 !important;
  gap: 1rem !important;
}

.button-pd-favorite {
  font-weight: var(--fw-regular) !important;
}

.button-pd-cart::before,
.button-pd-favorite span::before {
  content: '';
  display: block;
  width: 3rem;
  height: 3rem;
}

.button-pd-favorite span {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
}
.button-pd-cart::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3E%3Cg id='グループ_13256' data-name='グループ 13256' transform='translate(16667 203)'%3E%3Crect id='長方形_6612' data-name='長方形 6612' width='30' height='30' transform='translate(-16667 -203)' fill='none'/%3E%3Cpath id='パス_52082' data-name='パス 52082' d='M7,8V6A5,5,0,0,1,17,6V8h3a1,1,0,0,1,1,1V21a1,1,0,0,1-1,1H4a1,1,0,0,1-1-1V9A1,1,0,0,1,4,8Zm0,2H5V20H19V10H17v2H15V10H9v2H7ZM9,8h6V6A3,3,0,0,0,9,6Z' transform='translate(-16664.008 -200)' fill='%23fff'/%3E%3C/g%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-size: contain;
}
.button-pd-favorite span::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3E%3Cg id='グループ_13257' data-name='グループ 13257' transform='translate(16871 203)'%3E%3Crect id='長方形_6610' data-name='長方形 6610' width='30' height='30' transform='translate(-16871 -203)' fill='none'/%3E%3Cpath id='パス_52080' data-name='パス 52080' d='M16.5,3C19.538,3,22,5.5,22,9c0,7-7.5,11-10,12.5C9.5,20,2,16,2,9A5.675,5.675,0,0,1,7.5,3,6.617,6.617,0,0,1,12,5,6.617,6.617,0,0,1,16.5,3ZM12.934,18.6a26.752,26.752,0,0,0,2.421-1.7C18.334,14.533,20,11.943,20,9c0-2.359-1.537-4-3.5-4a4.6,4.6,0,0,0-3.086,1.414L12,7.828,10.586,6.414A4.6,4.6,0,0,0,7.5,5C5.559,5,4,6.656,4,9c0,2.943,1.666,5.533,4.645,7.9a26.746,26.746,0,0,0,2.421,1.7c.3.188.6.369.934.571C12.339,18.973,12.635,18.792,12.934,18.6Z' transform='translate(-16868 -200)'/%3E%3C/g%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-size: contain;
}
.button-pd-favorite .button-pd-favorite--added::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3E%3Cg id='グループ_12727' data-name='グループ 12727' transform='translate(16785 203)'%3E%3Crect id='長方形_6611' data-name='長方形 6611' width='30' height='30' transform='translate(-16785 -203)' fill='none'/%3E%3Cpath id='パス_52081' data-name='パス 52081' d='M16.5,3C19.538,3,22,5.5,22,9c0,7-7.5,11-10,12.5C9.5,20,2,16,2,9A5.675,5.675,0,0,1,7.5,3,6.617,6.617,0,0,1,12,5,6.617,6.617,0,0,1,16.5,3Z' transform='translate(-16782 -200)'/%3E%3C/g%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-size: contain;
}

.button-pd-contact {
  font-weight: var(--fw-regular);
  font-size: 1.5rem;
  line-height: 1.4;
  letter-spacing: 0.025em;
  text-decoration: none;
  color: var(--color-text-default);
  background-color: #E2E2E2;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-inline: 4rem;
  height: 5rem;
  border-radius: 2.5rem;
}

@media (hover: hover) and (pointer: fine) {
  .button-pd-contact {
    transition: opacity var(--transition-default);
  }
  .button-pd-contact:hover {
    opacity: 0.6;
  }
}

.button-pd-soldout::before {
  display: none;
}

.button-pd-soldout {
  background-color: #AAAAAA;
  border-color: #AAAAAA;
}

.productdetail-stock-text {
  font-size: 1.6rem;
  margin-bottom: 1.5rem;
}
.productdetail-stock-text span {
  font-weight: var(--fw-bold);
}

.product__price--discountrate:not(:empty) {
  font-size: 2rem;
  line-height: 1.25;
  letter-spacing: 0.025em;
  color: var(--color-sale);
  background-color: transparent;
  border-bottom: 1px solid var(--color-sale);
  padding: 0 !important;
}

.productdetail .product__option {
  padding: 2.5rem 2.5rem 3rem;
  border: none;
  border-radius: 0;
  background-color: #F5F5F5;
  margin-top: 4rem;
}

.productdetail .product__option .c-form__item dt {
  font-weight: var(--fw-regular);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  column-gap: 0.6rem;
}

.productdetail-shipping,
.productdetail-shipping__detail,
.productdetail-shipping__cancel {
  margin-block: 4rem;
}
.productdetail-shipping__detail,
.productdetail-shipping__cancel {
  display: flex;
  flex-direction: column;
  row-gap: 1.2rem;
}

.productdetail-shipping__detail dt,
.productdetail-shipping__cancel dt {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-weight: var(--fw-bold);
  font-size: 1.8rem;
  line-height: 1.444;
  letter-spacing: 0.025em;
}
.productdetail-shipping__detail dt::before {
  content: '';
  display: block;
  width: 4rem;
  height: 4rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cg id='グループ_12797' data-name='グループ 12797' transform='translate(-640 -9441)'%3E%3Cpath id='パス_52044' data-name='パス 52044' d='M20,0A20,20,0,1,1,0,20,20,20,0,0,1,20,0Z' transform='translate(640 9441)' fill='none'/%3E%3Cpath id='パス_52153' data-name='パス 52153' d='M8.965,18a3.5,3.5,0,0,1-6.929,0H1V6A1,1,0,0,1,2,5H16a1,1,0,0,1,1,1V8h3l3,4.056V18H20.965a3.5,3.5,0,0,1-6.929,0ZM15,7H3v8.05A3.5,3.5,0,0,1,8.663,16h5.674A3.508,3.508,0,0,1,15,15.05Zm2,6h4v-.285L18.992,10H17Zm.5,6a1.5,1.5,0,1,0-1.415-1A1.5,1.5,0,0,0,17.5,19ZM7,17.5a1.5,1.5,0,1,0-.085.5A1.5,1.5,0,0,0,7,17.5Z' transform='translate(648 9448)'/%3E%3C/g%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-size: contain;
}
.productdetail-shipping__cancel dt::before {
  content: '';
  display: block;
  width: 4rem;
  height: 4rem;
  background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg id='_レイヤー_2' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:none;%7D.cls-1,.cls-2,.cls-3%7Bstroke-width:0px;%7D.cls-3%7Bfill:%23fff;%7D%3C/style%3E%3C/defs%3E%3Cg id='_レイヤー_1-2'%3E%3Crect class='cls-1' width='30' height='30'/%3E%3Cpolygon class='cls-3' points='22.99 11.19 22.99 19.03 14.04 22.49 6.87 18.89 6.87 10.96 15.72 8.29 22.99 11.19'/%3E%3Cpath class='cls-2' d='m14.04,23.02c-.08,0-.16-.02-.24-.06l-7.16-3.6c-.18-.09-.29-.27-.29-.47v-7.93c0-.23.15-.44.38-.51l8.85-2.67c.11-.04.24-.03.35.02l7.27,2.9c.2.08.33.28.33.49v7.84c0,.22-.13.42-.34.5l-8.96,3.46c-.06.02-.13.04-.19.04Zm-6.63-4.46l6.66,3.35,8.4-3.24v-7.12l-6.77-2.7-8.29,2.5v7.21Z'/%3E%3Cpath class='cls-2' d='m14.01,14.93c-.08,0-.16-.02-.23-.05l-7.15-3.44.46-.96,6.95,3.34,8.76-3.13.36,1-8.97,3.21c-.06.02-.12.03-.18.03Z'/%3E%3Crect class='cls-2' x='13.49' y='14.4' width='1.06' height='8.1' transform='translate(-.04 .03) rotate(-.13)'/%3E%3Cpath class='cls-2' d='m11.34,17.28c-.08,0-.16-.02-.23-.05l-2.11-1c-.19-.09-.3-.27-.3-.48v-3.64c0-.23.15-.43.37-.5l8.83-2.88.33,1.01-8.46,2.76v2.92l1.05.5v-2.8c0-.23.14-.43.35-.5l8.76-3.08.35,1-8.4,2.96v3.26c0,.18-.09.35-.25.45-.09.05-.18.08-.28.08Z'/%3E%3Cpath class='cls-2' d='m15,27.81c-7.08,0-12.83-5.75-12.83-12.83,0-4.78,2.63-9.13,6.87-11.36.43-.23.97-.06,1.19.37.23.43.06.97-.37,1.19-3.66,1.92-5.93,5.68-5.93,9.79,0,6.1,4.96,11.06,11.07,11.06s11.07-4.96,11.07-11.06S21.1,3.93,15,3.93c-.49,0-.88-.4-.88-.88s.4-.88.88-.88c7.08,0,12.83,5.75,12.83,12.83s-5.76,12.83-12.83,12.83Z'/%3E%3Cpolygon class='cls-2' points='9.15 7.43 11.86 2.87 6.55 2.8 9.15 7.43'/%3E%3Cpath class='cls-2' d='m9.15,7.44h0s-2.59-4.64-2.59-4.64h0l5.31.07h0s-2.72,4.57-2.72,4.57Zm-2.58-4.63l2.58,4.62,2.71-4.55-5.29-.07Z'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: 75% 75%;
  background-position: center;
}
.productdetail-shipping__detail dd,
.productdetail-shipping__cancel dd {
  display: flex;
  flex-direction: column;
  row-gap: 1.5rem;
}
.detail-text {
  display: flex;
  font-size: 1.6rem;
}
.detail-text span {
  flex-shrink: 0;
  font-weight: var(--fw-bold);
}
.detail-taglist {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.detail-taglist li {
  font-weight: var(--fw-medium);
  font-size: 1.5rem;
  line-height: 1.4;
  letter-spacing: 0.025em;
  padding: 0.2rem 0.8rem;
  border-radius: 0.4rem;
  background-color: #EFEFEF;
}
.detail-note {
  font-size: 1.4rem;
  line-height: 1.4;
  letter-spacing: 0.05em;
  display: inline-flex;
  gap: 1rem;
}
.detail-note a {
  display: inline-flex;
  align-items: center;
  font-size: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  text-decoration: underline;
  gap: 0.5rem;
}
.detail-note a:only-child {
  margin-left: 0;
}
.detail-note a::after {
  content: '';
  display: block;
  width: 0.5rem;
  height: 1rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6.209' height='11.414' viewBox='0 0 6.209 11.414'%3E%3Cg id='arrow' transform='translate(0.707 0.707)'%3E%3Cpath id='パス_52154' data-name='パス 52154' d='M-16971.59,8066l5,5-5,5' transform='translate(16971.59 -8066)' fill='none' stroke='%2323abdd' stroke-linecap='round' stroke-linejoin='round' stroke-width='1'/%3E%3C/g%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-size: contain;
}

@media (hover: hover) and (pointer: fine) {
  .detail-note a {
    transition: opacity var(--transition-default);
  }
  .detail-note a::after {
    transition: translate var(--transition-default);
  }
  .detail-note a:hover {
    opacity: 0.6;
  }
  .detail-note a:hover::after {
    translate: 0.3rem 0;
  }
}

.productdetail-shipping__notice {
  padding: 2rem;
  border: 1px solid var(--color-sale);
  color: var(--color-sale);
  display: flex;
  flex-direction: column;
  row-gap: 1rem;
}

.productdetail-shipping__notice dt {
  font-weight: var(--fw-bold);
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 0.025em;
}

.productdetail-shipping__notice dd {
  font-weight: var(--fw-regular);
  font-size: 1.5rem;
  line-height: 2;
  letter-spacing: 0.025em;
}

@media screen and (min-width: 768px) {
  .product__desc--fullwidth {
    margin-inline: auto;
  }

  /* .productdetail__utilityarea .ChangesByVariation {
    max-width: 75%;
  } */
}

.productdetail .c-tab__selector::before {
  display: none;
}
.productdetail .c-tab__selector--item {
  width: 30rem;
  min-width: unset;
}
.productdetail .c-tab__selector--button {
  border-top-left-radius: 1rem;
  border-top-right-radius: 1rem;
  font-size: 2rem;
  line-height: 1.45;
  padding: 1rem;
  border: 1px solid var(--color-primary);
  border-bottom: none;
  color: var(--color-white);
  background-color: var(--color-primary);
}
.productdetail .c-tab__selector--button.active {
  color: var(--color-text-default);
  background-color: var(--color-white);
}

.productdetail .c-tab__content {
  margin: 0;
  padding: 0;
}

.productdetail-description {
  font-weight: var(--fw-regular);
  font-size: 1.4rem;
  line-height: 2;
  letter-spacing: 0.025em;
}

@media screen and (min-width: 768px) {
  .productdetail-description {
    font-size: 1.7rem;
  }
  .productdetail .c-tab__content .c-tab__content--item,
  .productdetail-lp {
    padding: 8rem 15rem;
    background-color: #F8F8F8;
  }
  .productdetail-lp {
    padding-inline: 10rem;
    width: calc(100% - 14rem) !important;
    margin-inline: auto;
  }

  .product__upsell,
  .product__crosssell {
    background-color: unset !important;
    margin-top: 6rem;
    padding-bottom: 0;
  }

  .product__upsell .c-heading--large,
  .product__crosssell .c-heading--large {
    font-size: 2.2rem;
    line-height: 1.45;
    letter-spacing: 0.1em;
  }

  .product__upsell .p-product-slider__item--detail,
  .product__crosssell .p-product-slider__item--detail {
    padding-inline: 0;
    padding-bottom: 0;
  }

  .product__upsell .product__container,
  .product__crosssell .product__container {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 2.5rem;
    margin-inline: 0;
    width: 100%;
  }

  .product__container .product__price--icon {
    font-size: 1rem;
  }
  .product__container .product__price .product__price--numeric {
    font-size: 1.5rem;
  }
  .product__container .product__price--discount .product__price--numeric {
    font-size: 1.8rem;
  }
  .p-product-slider .product__price--fixedpurchase,
  .p-product-slider .product__price--fixed-firsttime {
    column-gap: 0.5rem;
  }

  .product__review-complete .form__changearea {
    margin-top: 0;
  }
  .product__review-complete .form__section--content {
    padding: 0;
  }
}

@media screen and (max-width: 767px) {
  .productdetail .c-tab__selector {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 1rem;
    width: calc(100% - 2rem);
    margin-inline: auto;
  }
  .productdetail .c-tab__selector--item {
    width: 100%;
    min-width: unset;
  }

  .productdetail .c-tab__content {
    padding: 3rem 1.5rem;
    background-color: #F8F8F8;
  }
  .productdetail .product__review {
    width: 100%;
  }
  .productdetail-lp {
    padding-inline: 0 !important;
    margin-bottom: 5rem !important;
  }

  .productdetail__utilityarea {
    display: flex;
    flex-direction: column;
    align-items: center;
    row-gap: 1.5rem;
  }

  .p-product-slider {
    padding-top: 4rem;
  }

  .productdetail .c-tab__selector--button {
    font-size: 1.4rem;
  }

  .productdetail-shipping__detail dt,
  .productdetail-shipping__cancel dt {
    font-size: 1.6rem;
  }
}

.share-link-popup {
  position: fixed;
  z-index: 999;
  display: none;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  padding: 1.5rem 6rem;
  background-color: rgba(0, 0, 0, 0.45);
  backdrop-filter: blur(30px);
  border-radius: 0.5rem;
  color: var(--color-white);
  font-weight: 600;
  font-size: 2rem;
  letter-spacing: 0.05em;
}
.share-link-popup p {
  font-size: inherit;
  white-space: nowrap;
}

.productdetail__image--main__counter {
  font-size: 1.4rem;
  width: fit-content;
  height: 2.4rem;
  padding-inline: 2rem;
  border-radius: 1.2rem;
  border: 1px solid #E2E2E2;
  margin-block: 1.5rem 2.5rem;
  margin-inline: auto;
  display: flex;
  align-items: center;
}

.productdetail .product__desc--fullwidth {
  margin-block: 4rem;
  width: 100%;
}

@media screen and (max-width: 767px) {
  .share-link-popup {
    font-size: 1.6rem;
    padding: 1.2rem 4rem;
  }
}

.productdetail .product__tabarea {
  margin-block: 0;
}

.product__review-item {
  padding-bottom: 3rem;
}

.product__review-item + .product__review-item {
  border-top: 1px solid #EFEFEF;
  padding-top: 3rem;
}
.product__review-rating {
  color: #F0C342;
  margin-bottom: 1rem;
  width: 10.4rem;
}

.product__review-title {
  font-weight: var(--fw-bold);
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 0.025em;
  margin-bottom: 1rem;
}

.product__review-comment {
  font-size: 1.6rem;
  line-height: 2;
  letter-spacing: 0.025em;
  line-break: anywhere;
}

.product__review-sidedetail {
  color: #AAAAAA;
  font-size: 1.4rem;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 2rem;
  letter-spacing: 0.025em;
  margin-top: 1rem;
}

.product__review .c-button {
  width: 30rem;
  min-width: unset;
  border-radius: 2.5rem;
  height: 5rem;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .product__review-title {
    font-size: 1.5rem;
  }
  
  .product__review-comment {
    font-size: 1.3rem;
  }
  
  .product__review-sidedetail {
    font-size: 1.2rem;
    gap: 1.5rem;
  }

  .product__review .c-button {
    width: 27rem;
    height: 3.6rem;
    border-radius: 1.8rem;
    margin-inline: auto;
  }

  .productdetail .product__desc--fullwidth {
    margin-block: 1.5rem;
    padding-inline: 1rem;
  }
}

@media screen and (min-width: 768px) {
.product__review .c-form__item {
  display: grid;
  grid-template-columns: 20rem 1fr;
}

.product__review .c-form__item dd {
  margin-top: 0;
}
}

.c-form__input--check-container {
  display: flex;
  flex-direction: column;
  row-gap: 1rem;
}
.product__review {
  margin-block: 0;
}
.product__review:has(.button-pd-review):not(:has(.product__review-item))::before {
  content: '投稿がありません。';
  display: block;
  text-align: center;
  font-size: 1.7rem;
  letter-spacing: 0.025em;
  margin-bottom: 4rem;
}

@media screen and (max-width: 767px) {
  .product__review:has(.button-pd-review):not(:has(.product__review-item))::before {
    font-size: 1.5rem;
    margin-bottom: 2rem;
  }
}
.product__review .form__changearea:not(:has(.c-button)) {
  display: none;
}

.product__review-preview .form__section--heading,
.product__review-complete .form__section--heading {
  font-weight: var(--fw-regular) !important;
  text-align: center !important;
  font-size: 1.7rem !important;
  letter-spacing: 0.025em !important;
  margin-bottom: 4rem !important;
  background-color: unset !important;
  padding: 0 !important;
}

.product__review .form__section--content {
  background-color: unset !important;
}

.productdetail-extension {
  background-color: var(--color-white);
}

.productdetail-extension {
  background-color: var(--color-white);
  margin-top: 4rem;
}

.productdetail-extension__row {
  display: grid;
  grid-template-columns: 25% 1fr;
}
.productdetail-extension__row dt,
.productdetail-extension__row dd {
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 0.025em;
  padding: 2rem 2.5rem;
}
.productdetail-extension__row + .productdetail-extension__row {
  border-top: 1px solid #EFEFEF;
}
.productdetail-extension__row dt {
  font-weight: var(--fw-bold);
}

.button-pd-favorite {
  font-size: 1.6rem !important;
}

@media screen and (min-width: 768px) {
  .productdetail-extension__row dt {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .productdetail-extension__row dt::after {
    content: ':';
    font-weight: var(--fw-regular);
    font-size: 1.6rem;
    color: #AAAAAA;
  }

  .productdetail__buttonarea:has(.button-pd-cart--regular):has(.button-pd-cart--fixed) {
    display: flex;
    flex-direction: column;
    row-gap: 1rem;
  }
  .productdetail__buttonarea:has(.button-pd-cart--regular):has(.button-pd-cart--fixed) .product__addcart {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
  }
  .productdetail__buttonarea:has(.button-pd-cart--regular):has(.button-pd-cart--fixed) .button-pd-favorite {
    width: 42.1875%;
  }

  [id*="dvProductReviewInput"] {
    padding-inline: 15rem;
  }
  [id*="dvProductReviewInput"] .button__group {
    justify-content: center;
    flex-wrap: wrap;
  }
  .productdetail .variation__panel {
    margin-block: 0 2.5rem;
  }
  .c-form__error .error_inline {
    margin-top: 1.5rem;
  }
  .product__review-sidedetail {
    flex-wrap: wrap;
  }
  .productdetail .product__desc--fullwidth:has(.product__tabarea) > .product__tabarea {
    margin-top: 10rem;
  }
  .product__price--item {
    gap: 1rem;
  }
  .product__upsell .p-product-slider__content,
  .product__crosssell .p-product-slider__content {
    box-shadow: unset !important;
  }
  .productdetail .variation__panel--heading {
    font-size: 1.6rem;
  }
  .js-product-slider-container.p-product-slider .p-product-slider__heading,
  .js-product-slider-container.p-product-slider .p-product-slider__content {
    width: min(90%, 120rem);
  }

  .p-product-slider .p-product-slider__control {
    width: min(90%, 120rem);
  }
}

.product__price--normal {
  display: flex;
  align-items: flex-end;
  gap: 1rem;
}

.product__desc--fullwidth:has(.product__desc--detail4) {
  margin-top: 0;
}
.c-breadcrumb {
  margin-block: 3rem 6rem;
}
.c-breadcrumb > ol {
  padding-block: 0 0;
}

.productdetail__descarea .product__desc--price .product__price--ucsmajica .product__price-value {
  color: var(--color-sale);
}
.productdetail__descarea .product__desc--price .product__price--ucsmajica .product__price--numeric {
  font-size: 4rem;
}

.productdetail__descarea .product__price--fixedpurchase {
  display: flex;
  flex-direction: column;
  row-gap: 0.75rem;
}

[id*="rProductHistory"] {
  margin-top: 6rem;
}

@media screen and (max-width: 767px) {
  .c-breadcrumb {
    margin-block: 2rem 1.5rem;
  }
  .product__review-preview .form__section--heading {
    font-size: 1.5rem;
  }

  .productdetail-extension {
    margin-top: 3rem;
  }
  .productdetail-extension__row {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
  }
  .productdetail-extension__row dt,
  .productdetail-extension__row dd {
    font-size: 1.3rem;
  }
  .productdetail-extension__row dt {
    padding-bottom: 0;
  }
  .productdetail-extension__row dd {
    padding-top: 0;
  }
  .button-pd-favorite {
    font-size: 1.5rem !important;
  }

  .product__review-complete .form__section--heading {
    margin-bottom: 0;
    padding-block: 0;
    font-size: 1.5rem;
  }
  .product__review-complete .form__section--content {
    padding: 0;
  }
  .productdetail .c-tab__content:has(.product__review-complete) {
    padding: 3rem;
  }
  .product__review-complete .form__changearea {
    margin-top: 0;
  }

  .productdetail__utilityarea {
    padding-bottom: 3.5rem;
  }

  .productdetail .variation__panel--size .variation__panel--item {
    padding: 0.6rem 1rem;
    min-width: 11.3rem;
    max-width: 35.5rem;
  }
  .product__price--item {
    gap: 1rem;
  }

  .product__review-sidedetail {
    gap: 0.5rem 1.5rem;
  }

  .productdetail .variation__panel--color .variation__panel--item.selected .variation__panel-image {
    border-width: 2px;
  }
  .variation__panel--color .variation__panel--wrapper {
    display: flex;
    flex-wrap: nowrap;
    overflow: auto;
  }
  .productdetail .variation__panel--color .variation__panel--item {
    width: 8rem;
    flex-shrink: 0;
  }
  .productdetail__descarea {
    width: min(100svw, calc(375* (100vw / 375)));
    overflow: hidden;
  }
  .product__desc--icon,
  .product__desc--name,
  .product__desc--outline,
  .variation__panel--color .variation__panel--heading,
  .variation__panel--color .variation__panel--wrapper,
  .variation__panel--size,
  .productdetail-stock-text,
  .product__count,
  .productdetail__buttonarea,
  .productdetail-shipping,
  .product__desc--price {
    padding-inline: 1rem;
  }
  .productdetail .product__option {
    width: calc(100% - 2rem);
    margin-inline: auto;
  }
  .productdetail__descarea .product__price--ucsmajica .product__price--item .product__price--numeric {
    font-size: 3rem;
  }
  .product__price:nth-of-type(n+2) {
    margin-top: 0;
  }
  .productdetail__descarea .product__price--fixedpurchase {
    row-gap: 0.5rem;
  }
  .productdetail__descarea .product__desc--price {
    margin-bottom: 3rem;
  }
  .product__price + .product__price--normal {
    margin-top: 0.5rem;
  }
  .productdetail .product__option {
    margin-top: 4rem;
  }
  .button-pd-cart,
  .button-pd-favorite {
    height: 5rem !important;
    font-size: 1.5rem !important;
  }
  .button-pd-cart::before {
    width: 2.5rem !important;
    height: 2.5rem !important;
  }
  .product__icon {
    font-size: 1.4rem;
    padding: 0.4rem 0.6rem;
  }
  .productdetail .product__option {
    padding: 2.5rem 1.5rem;
  }

  .detail-text {
    font-size: 1.4rem;
  }
  .detail-taglist li {
    font-size: 1.4rem;
  }
  .detail-note {
    font-size: 1.3rem;
  }
  .button-pd-contact {
    width: 33rem;
    height: 4.5rem;
    font-size: 1.3rem;
  }

  .productdetail .product__desc--fullwidth:has(.product__tabarea) {
    padding-inline: 0;
  }
  .productdetail .productdetail-lp {
    margin-top: 4rem;
    padding-inline: 1rem;
  }
  [id*="rProductHistory"] {
    margin-top: 0;
  }
  #dvUpSellSp + #dvCrossSellSp {
    padding-top: 0;
  }
  #dvUpSellSp + #dvCrossSellSp .p-product-slider__control {
    top: 0;
  }
  .productdetail:has(#dvCrossSellSp) [id*="rProductHistory"],
  .productdetail:has(#dvUpSellSp) [id*="rProductHistory"] {
    padding-top: 0;
  }

  .productdetail:has(#dvCrossSellSp) [id*="rProductHistory"] .p-product-slider__control,
  .productdetail:has(#dvUpSellSp) [id*="rProductHistory"] .p-product-slider__control {
    top: 0;
  }

  .p-product-slider .p-product-slider__pagination:has(.swiper-pagination-bullet:only-child) {
    margin-top: 0;
  }

  .c-breadcrumb .c-breadcrumb__text {
    font-size: 1rem;
  }
  .c-breadcrumb > ol {
    display: block;
  }
  .c-breadcrumb > ol > li {
    display: inline !important;
  }
  .c-breadcrumb > ol > li:not(:last-of-type)::after {
    content: '';
    display: inline-block !important;
  }

  .product__price--discountrate:not(:empty) {
    font-size: 1.4rem;
  }

  .product__review-preview .form__section--heading,
  .product__review-complete .form__section--heading {
    font-size: 1.5rem !important;
    padding-block: 0 !important;
    margin-bottom: 2.5rem !important;
  }
  .product__review-preview-item {
    padding: 0 !important;
  }
}

.productdetail__descarea .product__desc--price .product__price--fixedpurchase .product__price--tax,
.productdetail__descarea .product__desc--price .product__price--normal .product__price--tax {
  margin-bottom: 0.4rem !important;
}

.product__favorite--popup {
  text-align: center;
}
.product__favorite--popup-text {
  font-size: 1.7rem;
}
.productdetail .product__favorite--popup {
  width: min(90%, 40rem);
}
.productdetail .product__favorite--popup .c-button {
  height: 5rem;
  background-color: #E2E2E2;
  border-radius: 2.5rem;
  font-size: 1.6rem;
  color: var(--color-text-default);
  border: none;
  padding: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

.p-product-slider .product__price .product__price--discount + .product__price--item .product__price--wrapper, .p-product-slider .product__price .product__price--ucs + .product__price--item, .p-product-slider .product__price .product__price--fixedpurchase + .product__price--item .product__price--wrapper, .product__price--wrapper:has(.js-price-proper) {
  align-items: flex-end;
}
.product__price--wrapper:has(.js-price-proper) {
  position: relative;
  width: fit-content;
  display: flex
  ;
  align-items: baseline;
  flex-wrap: wrap;
  margin-right: 0.5rem;
  gap: .6rem;
}
/* .p-product-slider .product__price--tax {
  margin-bottom: 0.2rem;
} */

@media screen and (max-width: 767px) {
  .product__favorite--popup-text {
    font-size: 1.5rem;
  }
  .productdetail .product__favorite--popup {
    width: min(90%, 30rem);
    padding: 4rem 0;
    row-gap: 1.5rem;
  }
  .productdetail .product__favorite--popup .c-button {
    height: 3.6rem;
    border-radius: 1.8rem;
    font-size: 1.2rem;
    width: 20rem;
    margin-inline: auto;
  }
  .productdetail .variation__panel--heading {
    padding: 0 1rem !important;
  }
  .variation__panel--color .variation__panel--contents {
    overflow: hidden;
  }
  .productdetail .variation__panel--wrapper {
    width: 100%;
    padding: 0 1rem !important;
  }
  .variation__panel--color .variation__panel--wrapper {
    column-gap: 0.8rem;
  }
  .productdetail .variation__panel--color .variation__panel--item {
    width: 7.8rem;
    flex-shrink: 0;
  }
  .productdetail .variation__panel {
    padding-left: 0;
    padding-right: 0;
  }
  .productdetail .variation__panel--wrapper {
      gap: 0.8rem;
  }
  .productdetail .variation__panel--size .variation__panel--item {
      font-size: 1.3rem;
  }
  .c-form__error .error_inline {
    margin-top: 1.5rem;
    padding: 0 1rem;
  }

  .p-product-slider .p-product-slider__control {
    top: 4rem;
  }

  .c-breadcrumb > ol {
    padding: 2rem 1rem;
  }
  .productdetail-shipping__notice {
    padding: 2rem 1.5rem;
    row-gap: 0.5rem;
    }
    .productdetail-shipping__notice dt {
        font-size: 1.4rem;
    }
    .productdetail-shipping__notice dd {
        font-size: 1.3rem;
  }
  .product__variation-select:has(select) {
    padding-inline: 1rem;
  }
}

.product__price--numeric {
  display: inline-block;
}
.grid-container {
  position: relative;
}
.productdetail__descarea .product__price--item .product__price-value {
  justify-content: flex-end;
}
.productdetail__descarea .product__price--normal .product__price--item .product__price-value {
  text-align: left;
}

.main-slider .swiper {
  overflow: visible;
}
.productdetail .grid-container {
  position: relative;
}
.zoom-box .viewer-box {
  border: none;
}

.product__price--proper::after {
  z-index: 0;
}

.product__variation-select:has(select) {
  margin-bottom: 3rem;
}
.viewer-box {
  pointer-events: none;
}
.viewer-box img {
  width: 90rem !important;
  height: auto !important;
}
.c-tab__content--item:not(.active) {
  padding: 0 !important;
  overflow: hidden !important;
}

@media screen and (min-width: 768px) {
  .c-form__error .error_inline {
        margin-top: 1rem;
  }
  .productdetail .product__favorite--popup .c-button {
    font-size: 1.6rem;
  }
  .c-breadcrumb {
    margin-block: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .c-form__error .error_inline {
        margin-top: 1rem;
        padding: 0;
        font-size: 1.2rem;
  }
  .productdetail .product__favorite--popup .c-button {
    font-size: 1.2rem;
  }
  .c-breadcrumb {
    margin-block: 0;
  }
  .productdetail__buttonarea + .c-form__error .error_inline {
    padding-inline: 1rem;
  }
}


.product__desc .product__price--discountrate:not(:empty) {
  translate: 0 0.5rem;
}

.p-product-slider .product__price--item {
  flex-wrap: wrap;
}

.p-product-slider .product__price--wrapper {
  display: inline-flex;
}
.product__price--sale .product__price--proper .product__price--wrapper::after,
.product__price--special .product__price--proper .product__price--wrapper::after {
  content: '';
  width: 100%;
  height: 2px;
  background-color: #CC0000;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}