
/**************************************
productDetailArticle
**************************************/
:root{
  --detailMVposi : 233px;
}

#productDetailArticle{
  display: block;
  padding-bottom: 0;
  --color-primary: #E60012;
  --column-product: 2;
  --color-red: #E60012;
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;
  color: #484848;
}
#productDetailArticle .c-product{text-align: left;}


/**************************************
productDetailArticle
**************************************/
/*
#productDetailArticle .p-productDetailWrap{
  max-width: var(--contentsOuterMaxWidth);
  margin: 0 auto;
  padding: 0 var(--contentsMargin);
  position: relative;
  grid-template-columns: 48.33333333333333% 45%;
}
*/
#productDetailArticle .p-productDetailWrap{
  max-width: var(--contentsOuterMaxWidth);
  padding: 0 var(--contentsMargin);
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  margin: 0 auto;
}

#productDetailArticle .p-productDetailWrap__imgBlock{
  width: 48.33333333333333%;
}
#productDetailArticle .p-productDetailWrap__imgBlock .imgBlockSticy{
  position: sticky;
  top: calc(var(--headerTopHeight) + var(--headNavHeight));
  left: 0;
}

#productDetailArticle .p-productDetailWrap__detailBlock{
  width: 45%;
}


#productDetailArticle .p-productDetailWrap .fixedFavoritBtn{
  display: block;
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  position: fixed;
  top: 52rem;
  left: calc(48.33333333333333% - 5rem);
  transform: translateY(calc(var(--detailMVposi) + 52rem));
  z-index: 4;
  transition: transform 0s linear;
  /*transition: none;*/
}



#productDetailArticle .p-productDetailWrap .fixedFavoritBtn button{
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  margin: 0;
  border: none;
  background-color: inherit;
  cursor: pointer;
}

/**************************************
p-productDetailWrap__imgBlock
**************************************/
#productDetailArticle .p-productDetailWrap__imgBlock{
  position: relative;
  z-index: 1;
}
#productDetailArticle .p-productDetailWrap__imgBlock .c-product-sIcon__item{
  width: 3.6rem;
  height: 3.6rem;
  position: absolute;
  right: 1rem;
  top: -1rem;
  z-index: 2;
}


#productDetailArticle .p-productDetailWrap__imgBlock .m-productDetailImg__main{
  margin-bottom: 0.4rem;
  border: 1px solid #D8D8D8;
  border-radius: 10px;
  overflow: hidden;
  aspect-ratio: 1 / 1;
}

#productDetailArticle .p-productDetailWrap__imgBlock .m-productDetailImg-slideController{display: none;}


#productDetailArticle .m-productDetailImg-thumsList{
  flex-wrap: nowrap;
  gap: 0 0;
  position: relative;
}

#productDetailArticle .m-productDetailImg-thumsList__picture{
  border: 1px solid #D8D8D8;
  border-radius: 4px;
  overflow: hidden;
  aspect-ratio: 1 / 1;
}

#productDetailArticle .m-productDetailImg-thumsList__picture > img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}


#productDetailArticle .m-productDetailImg__thums .mvThumsControl{
  display: block;
}

#productDetailArticle .m-productDetailImg__thums .mvThumsControl > .prev,
#productDetailArticle .m-productDetailImg__thums .mvThumsControl > .next{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  background: rgba(72,72,72,.2);
  position: absolute;
  top: 2.5rem;
  z-index: 2;
}

#productDetailArticle .m-productDetailImg__thums .mvThumsControl > .prev{left: 0.6rem;}
#productDetailArticle .m-productDetailImg__thums .mvThumsControl > .next{right: 0.6rem;}


#productDetailArticle .m-productDetailImg__thums .mvThumsControl > .prev > img,
#productDetailArticle .m-productDetailImg__thums .mvThumsControl > .next > img{
  display: block;
  width: 0.693rem;
  height: auto;
}

#productDetailArticle .m-productDetailImg__thums .mvThumsControl > .prev.swiper-button-disabled,
#productDetailArticle .m-productDetailImg__thums .mvThumsControl > .next.swiper-button-disabled{
  opacity: 0;
  pointer-events: none;
}


/*******/
.m-productDetailImg-slider__picture{
  aspect-ratio: 1 / 1;
}

.m-productDetailImg-slider__image{
  width: 100%;
  height: 100%;
  object-fit: contain;
}


/**************************************
p-productDetailWrap__detailBlock
**************************************/
#productDetailArticle .p-productDetailWrap__detailBlock{}

/*icon **/
#productDetailArticle .c-product-sIcon{
  gap: 0.3rem 0.3rem;
  margin-bottom: 1.4rem;
  align-items: stretch;
}

#productDetailArticle .c-product-sIcon .c-product-sIcon__item > img{
  height: 1.8rem;
  width: auto;
}
#productDetailArticle .c-product-sIcon .c-product-sIcon__item[data-icon-no]{
  display: flex;
  justify-content: center;
  align-items: center;
  height: 1.8rem;
  padding: 0.2rem 0.5rem 0;
  font-size: 1rem;
  font-weight: var(--fw-medium);
  letter-spacing: 0.07em;
  line-height: 1;
  border: 1px solid var(--color-icon-accent);
  border-radius: 0.2rem;
  color: var(--color-icon-accent);
}

#productDetailArticle .c-product-sIcon .c-product-sIcon__item[data-icon-no="11"],
#productDetailArticle .c-product-sIcon .c-product-sIcon__item[data-icon-no="12"],
#productDetailArticle .c-product-sIcon .c-product-sIcon__item[data-icon-no="13"]{
  --color-icon-accent: #EF9022;
}

#productDetailArticle .c-product-sIcon .c-product-sIcon__item[data-icon-no="14"],
#productDetailArticle .c-product-sIcon .c-product-sIcon__item[data-icon-no="15"]{
  --color-icon-accent: #47919F;
}

#productDetailArticle .c-product-sIcon .c-product-sIcon__item[data-icon-no="16"],
#productDetailArticle .c-product-sIcon .c-product-sIcon__item[data-icon-no="17"]{
  --color-icon-accent: #59AC6F;
}

/**************************************
p-productDetaiMain-head__title
**************************************/
#productDetailArticle .p-productDetaiMain-head__title{
  margin-bottom: 1rem;
}

#productDetailArticle .p-productDetaiMain-head__catchcopy{
  display: block;
  margin-bottom: 0.6rem;
  font-size: 1.2rem;
  letter-spacing: 0.07em;
  line-height: 1.5;
  font-weight: 500;
  color: #787878;
}

#productDetailArticle .p-productDetaiMain-head__title-name{
  display: block;
  margin: 0;
  font-size: 2.8rem;
  line-height: 1.428571428571429;
  letter-spacing: 0.07em;
  font-weight: 500;
  color: #484848;
}



/**************************************
p-productDetaiMainOutLine
**************************************/
#productDetailArticle .p-productDetaiMainOutLine{
  display: block;
  margin-bottom: 3rem;
}


/**************************************
detailTTLunderBlock
**************************************/

#productDetailArticle .detailTTLunderBlock{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 2.3rem;
}

#productDetailArticle .detailTTLunderBlock .detailTTLunderBlockLeft{
  width: calc(100% - 22rem);
}


#productDetailArticle .detailTTLunderBlock .detailTTLunderBlockRight{
  display: block;
  width: 22rem;
}
#productDetailArticle #shareLinksBox{}
#productDetailArticle #shareLinksBox .shareLinksBtnOpen{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 4rem;
  height: 4rem;
  margin: 0 0 0 auto;
  border-radius: 50%;
  background: #F3EEE7;
  cursor: pointer;
}

#productDetailArticle #shareLinksBox .shareLinksBtnOpen > img{
  width: 1.359rem;
  height: auto;
}

#productDetailArticle #shareLinksBox > ul{
  display: flex;
  justify-content: center;
  align-items: stretch;
  gap: 0 2rem;
  width: 100%;
  border-radius: 4px;
  background: #F3EEE7;
  position: relative;
  
  margin-top: 0;
  height: 0;
  opacity: 0;
  transition: opacity .3s ease;
  overflow: hidden;
  pointer-events: none;
}

#productDetailArticle #shareLinksBox > .shareLinksBtnOpen.active + ul{
  opacity: 1;
  height: auto;
  margin-top: 1.3rem;
  padding: 2rem;
  overflow: visible;
  pointer-events: auto;
}


#productDetailArticle #shareLinksBox > ul::before{
  content: '';
  display: block;
  width: 1.3rem;
  height: calc(0.8rem + 1px);
  background: #F3EEE7;
  clip-path: polygon(50% 0, 0 100%, 100% 100%);
  position: absolute;
  top: calc(-0.8rem + 1px);
  right: 1.3rem;
}


#productDetailArticle #shareLinksBox > ul > li{
  width: 3rem;
}

#productDetailArticle #shareLinksBox > ul > li > a,
#productDetailArticle #shareLinksBox > ul > li > span{display: block;}

#productDetailArticle #shareLinksBox > ul > li > .shareLinkCopy{
  transition: opacity var(--transition-default);
  cursor: pointer;
}

@media (hover: hover) {
  #productDetailArticle #shareLinksBox > ul > li > .shareLinkCopy:hover{
    opacity: .6;
  }
}



#productDetailArticle .productDetaiMainFavoriteNum{
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 0 0.4rem;
  padding-top: 0.6rem;
  font-size: 1.0rem;
  letter-spacing: 0.07em;
  line-height: 1.8;
  font-weight: 500;
  color: #787878;
}

#productDetailArticle .productDetaiMainFavoriteNum::before{
  content: '';
  display: block;
  width: 1.4rem;
  height: 1.4rem;
  background: url("../img/product/custom/icon-circle-favorite.svg") center center no-repeat;
  background-size: 100% auto;
}

/**************************************
p-productDetaiMain-head__price
**************************************/
#productDetailArticle .productDetailPriceBox{
  display: block;
  margin-bottom: 3rem;
}
#productDetailArticle .detailTTLunderBlock .productDetailPriceBox{
  padding-top: 0.6rem;
  margin-bottom: 0.9rem;
}
#productDetailArticle .detailTTLunderBlock .productDetailPriceBox:has(.timeSaleFlag){
  padding-top: 0;
}

#productDetailArticle .priceLineBox{
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-end;
  gap: 0.5rem 0;
}

#productDetailArticle .priceLineBox:has(.timeSaleFlag){
  padding-top: 2.4rem;
}


#productDetailArticle .priceLineBox.productDetailPriceSubsc{
  display: block;
}


#productDetailArticle .priceLine{
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: flex-end;
  position: relative;
  color: #484848;
}

#productDetailArticle .priceLine.sale,
#productDetailArticle .priceLineBox.productDetailPriceSubsc .priceLine{
  color: #E60012;
}

#productDetailArticle .priceLineBox.productDetailPriceSubsc .priceLine + .priceLine{
  margin-top: 0.4rem;
}

#productDetailArticle .priceLine .timeSaleFlag{
  display: flex;
  justify-content: center;
  align-items: center;
  height: 1.8rem;
  padding: 0 0.5rem;
  background: #E60012;
  border-radius: 2px;
  font-size: 1rem;
  line-height: 1;
  letter-spacing: 0.07em;
  color: #FFFFFF;
  font-weight: 500;
  position: absolute;
  top: -2.4rem;
  left: 0;
  white-space: nowrap;
}

#productDetailArticle .priceLine .price{
  font-size: 2.4rem;
  letter-spacing: 0.07em;
  line-height: 1.208333333333333;
  font-weight: 700;
  position: relative;
}

#productDetailArticle .priceLine .prefix{
  margin-right: 0.2rem;
  padding-bottom: 0.3rem;
  font-size: 1.6rem;
  line-height: 1.1875;
  font-weight: 700;
}
#productDetailArticle .priceLine .tax{
  font-size: 1.0rem;
  line-height: 2;
  font-weight: 500;
}

#productDetailArticle .priceLine.sale + .priceLine .price{
  padding-bottom: 0.3rem;
  line-height: 1.266666666666667;
  font-size: 1.5rem;
  text-decoration: line-through;
}

#productDetailArticle .priceLine.sale + .priceLine .prefix{font-size: 1.5rem;}
#productDetailArticle .priceLine.sale + .priceLine .tax{display: none;}


#productDetailArticle .priceLineBox .icon,
#productDetailArticle .priceLineBox .priceLine .icon{
  display: inline-block;
  padding-bottom: 0.3rem;
  margin-right: 1rem;
  font-size: 1.3rem;
  letter-spacing: 0.07em;
  line-height: 1.476923076923077;
  color: #787878;
  font-weight: 500;
}


#productDetailArticle label.selectCartModeBoxSelect{
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 0 3rem;
  padding: 1.3rem 2rem;
  min-height: 7rem;
  width: 100%;
  border: 1px solid #D8D8D8;
  border-radius: 6px;
  cursor: pointer;
  transition: opacity var(--transition-default);
}


@media (hover: hover) {
  #productDetailArticle label.selectCartModeBoxSelect:hover{
    opacity: .6;
  }
}

#productDetailArticle label.selectCartModeBoxSelect + label.selectCartModeBoxSelect{
  margin-top: 1rem;
}

#productDetailArticle label.selectCartModeBoxSelect .priceLine .prefix{font-size: 1.5rem;}

/**************************************
productRecommendSection
**************************************/
#productDetailArticle .detailOutlineText{
  display: block;
  margin-bottom: 3rem;
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: 0.07em;
  line-height: 1.833333333333333;
  color: #484848;
  text-align: left;
}

/**************************************
p-productDetaiMain-body
**************************************/
#productDetailArticle .p-productDetaiMain-body{
  display: block;
  width: 100%;
  padding: 3rem 4rem;
  background: #FAFAFA;
}


/***productSkuImgSelect **********/
#productDetailArticle .c-productSkuImgSelect{
  display: block;
  margin-bottom: 3rem;
}

#productDetailArticle .c-productSkuImgSelect__title{
  margin-bottom: 1rem;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.07em;
  line-height: 1.714285714285714;
}

#productDetailArticle .c-productSkuImgSelect-selectList{
  gap: 1rem 2rem;
}

#productDetailArticle .c-productSkuImgSelect-selectList > .c-productSkuImgSelect-selectList__figure{
  width: calc((100% - 2rem * 5) / 6);
  position: relative;
}

/*
#productDetailArticle .c-productSkuImgSelect-selectList > .c-productSkuImgSelect-selectList__figure[data-soldout="soldout"]::before{
  content: 'SOLD OUT';
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  aspect-ratio: 1 / 1;
  background-color: rgb(0 0 0 / 0.4);
  font-size: 1.0rem;
  font-weight: 700;
  color: var(--color-white);
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
}
*/

#productDetailArticle .c-productSkuImgSelect-selectList > .c-productSkuImgSelect-selectList__figure[data-soldout="soldout"]::before{
  content: '';
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(141.4% - 2px);
  height: 1px;
  background: #BEBEBE;
  position: absolute;
  right: 0;
  top: 0;
  transform: rotate(-45deg);
  transform-origin: right;
  pointer-events: none;
}


#productDetailArticle .c-productSkuImgSelect-selectList > .c-productSkuImgSelect-selectList__figure > img{
  display: block;
  width: 100%;
  height: auto;
  margin-bottom: 1rem;
  aspect-ratio: 1 / 1;
  padding: calc(0.5rem - 1px);
  background: #FFFFFF;
  border: 1px solid #D8D8D8;
}

#productDetailArticle .c-productSkuImgSelect-selectList > .c-productSkuImgSelect-selectList__figure[data-soldout="soldout"] .c-productSkuImgSelect-selectList__cap{
  color: #BEBEBE;
}

/***m-productSkuDropdown **********/
#productDetailArticle .m-productSkuDropdown{
  padding: 0;
  border: none;
}


#productDetailArticle .m-productSkuDropdown-buyStep{
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  color: #484848;
}


#productDetailArticle .m-productSkuDropdown-buyStep.skuSelect{
  display: block;
  margin-bottom: 3rem;
}
#productDetailArticle .m-productSkuDropdown-buyStep.skuSelect .m-productSkuDropdown-buyStep__title{
  width: 100%;
  margin-bottom: 1rem;
}
#productDetailArticle .m-productSkuDropdown-buyStep.skuSelect .m-productSkuDropdown-buyStep__title::after{
  display: none;
}

#productDetailArticle .m-productSkuDropdown-buyStep.skuSelect .m-productSkuDropdown-buyStep__body{
  width: 100%;
}

#productDetailArticle .m-productSkuDropdown-buyStep select.c-productSkuSelectBox__item,
#productDetailArticle .m-productSkuDropdown-buyStep input.c-productSkuQuantity__input{
  font-size: 1.2rem;
}

#productDetailArticle .p-productSkuBottomBtn__cart-maxSellError{
  margin-bottom: 2rem;
}

#productDetailArticle .m-productStockStatus{
  margin-top: 2rem;
  margin-bottom: 2rem;
  font-size: 1.2rem;
}

#productDetailArticle .m-productStockStatus .m-productStockStatus__title{}
#productDetailArticle .m-productStockStatus .m-productStockStatus__body{}
#productDetailArticle .m-productStockStatus .m-productStockStatusInfo__button{color: #484848;}


/* supplementaryInfo ****************************/
#productDetailArticle  .m-supplementaryInfo{
  display: block;
  margin-bottom: 2rem;
  padding: 2rem 3rem;
  background: #FFFFFF;
  font-size: 1.3rem;
  font-weight: 500;
}

#productDetailArticle  .m-supplementaryInfo .m-formInputArea-item{
  margin: 0;
}

#productDetailArticle  .m-supplementaryInfo .m-formInputArea-item + .m-formInputArea-item{
  margin-top: 2rem;
}

#productDetailArticle  .m-supplementaryInfo .c-formInput-item input[type=text],
#productDetailArticle  .m-supplementaryInfo .c-formInput-item input[type=password],
#productDetailArticle  .m-supplementaryInfo .c-formInput-item input[type=tel],
#productDetailArticle  .m-supplementaryInfo .c-formInput-item input[type=email],
#productDetailArticle  .m-supplementaryInfo .c-formInput-item input[type=text],
#productDetailArticle  .m-supplementaryInfo .c-formInput-item input[type=number],
#productDetailArticle  .m-supplementaryInfo .c-formInput-item textarea,
#productDetailArticle  .m-supplementaryInfo .c-formInput-item select{
  font-size: 1.2rem;
}

/* requestFormBoxWrap ****************************/
#productDetailArticle .requestFormBoxWrap{
  display: block;
  margin-top: 2rem;
}

#productDetailArticle .requestFormBtns{
  max-width: 32rem;
}

#productDetailArticle .m-productRequestFormBox{
  padding: 3rem;
  background: #FFFFFF;
}

#productDetailArticle .m-productRequestFormBox__lede{
  margin-bottom: 2rem;
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 1.461538461538462;
}

#productDetailArticle .m-productRequestFormBox-formBox__title{
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1.461538461538462;
}

#productDetailArticle .m-productRequestFormBox__button{
  max-width: 16rem;
}

#productDetailArticle .m-productRequestFormBox__button .c-btn-progress{
  min-height: 5rem;
  font-size: 1.4rem;
  justify-content: center;
}
#productDetailArticle .m-productRequestFormBox__button .c-btn-progress::after{
  right: 2rem;
}


/* p-productSkuBottomBtn ****************************/
#productDetailArticle ul.p-productSkuBottomBtn{
  display: block;
  height: 6.6rem;
  margin-top: 2rem;
  position: relative;
}
#productDetailArticle .p-productDetaiMain-body:has(.requestFormBoxWrap) ul.p-productSkuBottomBtn{
  display: none;
}


#productDetailArticle li.p-productSkuBottomBtn__cart{
  width: 32rem;
  margin: 0;
  position: absolute;
  left: 0;
  top: 0;
}

#productDetailArticle li.cartSoldOutBtn{
  display: none;
  width: 32rem;
  margin: 0;
  opacity: 1;
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
}
#productDetailArticle li.cartSoldOutBtn.active{
  display: block;
}


#productDetailArticle .p-productDetaiMain-body[data-soldout-all = "true"] li.p-productSkuBottomBtn__cart{
  display: none;
}

#productDetailArticle .p-productDetaiMain-body[data-show-variation = "-1"]:not([data-soldout-all = "false"]) li.cartSoldOutBtn{
  display: block;
}

#productDetailArticle .p-productSkuBottomBtn__cart[data-addcart-mode]{
  display: none;
}

#productDetailArticle .p-productSkuBottomBtn__cart[data-addcart-mode = "normal"]{
  display: block;
}


#productDetailArticle .c-btn-cart{
  display: inline-flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  padding: 1rem 6rem 1rem 6rem;
  width: 100%;
  min-height: 6.6rem;
  background-color: var(--color-primary);
  border: 1px solid var(--color-primary);
  border-radius: 0.4rem 1.4rem 0.4rem 1.4rem;
  color: var(--color-white) !important;
  text-align: left;
  text-decoration: none;
  vertical-align: middle;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.07em;
  position: relative;
  cursor: pointer;
  transition: background var(--transition-default),color var(--transition-default),border var(--transition-default);
}

#productDetailArticle .c-btn-cart::before{
  content: '';
  display: block;
  height: 2.5rem;
  width: 2.4rem;
  mask-image: url("../img/product/custom/icon_cart.svg");
  mask-repeat: no-repeat;
  mask-position: 50% 50%;
  mask-size: 100%;
  -webkit-mask-image: url("../img/product/custom/icon_cart.svg");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: 50% 50%;
  -webkit-mask-size: 100%;
  background: #FFFFFF;
  margin-right: 0.4rem;
  z-index: 1;
  transition: background var(--transition-default);
}


#productDetailArticle .c-btn-cart::after{
  content: '';
  display: block;
  height: 1rem;
  width: 1rem;
  mask-image: url("../img/common/custom/icon_next_white.svg");
  mask-repeat: no-repeat;
  mask-position: 50% 50%;
  mask-size: 100%;
  -webkit-mask-image: url("../img/common/custom/icon_next_white.svg");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: 50% 50%;
  -webkit-mask-size: 100%;
  background: #FFFFFF;
  position: absolute;
  right: 3rem;
  top: calc(50% - 0.5rem);
  z-index: 1;
  transition: background var(--transition-default);
}

#productDetailArticle .p-productSkuBottomBtn__cart .c-btn-cart{
  pointer-events: none;
  opacity: .6;
  -webkit-filter:grayscale(100%);
  -moz-filter:grayscale(100%);
  -ms-filter:grayscale(100%);
  filter:grayscale(100%);
}
#productDetailArticle .p-productSkuBottomBtn__cart.active .c-btn-cart{
  filter:grayscale(0);
  opacity: 1;
  pointer-events: auto;
}


@media (hover: hover) {
  #productDetailArticle .c-btn-cart:hover {
    opacity: 1;
    background-color: #FFFFFF;
    color: var(--color-primary)!important;
  }
  
  #productDetailArticle .c-btn-cart:hover::before{
    background-color: var(--color-primary);
  }
  
  #productDetailArticle .c-btn-cart:hover::after {
    background-color: var(--color-primary);
  }
}


#productDetailArticle .p-productSkuBottomBtn__cart-soldout{
  display: inline-flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  padding: 1rem 6rem 1rem 6rem;
  width: 100%;
  min-height: 6.6rem;
  background-color: #787878;
  border: 1px solid #787878;
  border-radius: 0.4rem 1.4rem 0.4rem 1.4rem;
  color: var(--color-white) !important;
  text-align: left;
  text-decoration: none;
  vertical-align: middle;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.07em;
  position: relative;
  cursor: pointer;
  transition: background var(--transition-default),color var(--transition-default),border var(--transition-default);
}

#productDetailArticle .p-productSkuBottomBtn__cart-soldout::before{
  content: '';
  display: block;
  height: 2.5rem;
  width: 2.4rem;
  mask-image: url("../img/product/custom/icon_cart.svg");
  mask-repeat: no-repeat;
  mask-position: 50% 50%;
  mask-size: 100%;
  -webkit-mask-image: url("../img/product/custom/icon_cart.svg");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: 50% 50%;
  -webkit-mask-size: 100%;
  background: #FFFFFF;
  margin-right: 0.4rem;
  z-index: 1;
  transition: background var(--transition-default);
}


#productDetailArticle .p-productSkuBottomBtn__cart-soldout::after{
  content: '';
  display: block;
  height: 1rem;
  width: 1rem;
  mask-image: url("../img/common/custom/icon_next_white.svg");
  mask-repeat: no-repeat;
  mask-position: 50% 50%;
  mask-size: 100%;
  -webkit-mask-image: url("../img/common/custom/icon_next_white.svg");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: 50% 50%;
  -webkit-mask-size: 100%;
  background: #FFFFFF;
  position: absolute;
  right: 3rem;
  top: calc(50% - 0.5rem);
  z-index: 1;
  transition: background var(--transition-default);
}



/*productUtilityContactLink**************/
#productDetailArticle .productUtilityContactLink{
  display: block;
  margin-top: 2rem;
  text-align: left;
}

#productDetailArticle .productUtilityContactLink > a{
  display: inline-flex;
  justify-content: flex-start;
  align-items: center;
  gap: 0 0.4rem;
  font-size: 1.2rem;
  letter-spacing: 0.07em;
  line-height: 1.5;
  color: #484848;
  text-decoration: underline;
}

#productDetailArticle .productUtilityContactLink > a::before{
  content: '';
  display: block;
  width: 1.146rem;
  height: 0.92rem;
  background: url("../img/product/custom/icon_mail.svg") center center no-repeat;
  background-size: 100% auto;
}


/**************************************
subScCaution
**************************************/
#productDetailArticle .subScCaution,
#productDetailArticle .reservationGuide{
  display: block;
  padding: 2rem;
  margin-top: 2rem;
  background: #FFF8F4;
}

#productDetailArticle .subScCaution > dl,
#productDetailArticle .reservationGuide > dl{
  display: block;
}

#productDetailArticle .subScCaution > dl > dt,
#productDetailArticle .reservationGuide > dl > dt{
  display: block;
  margin-bottom: 1rem;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  line-height: 1.714285714285714;
  text-align: left;
}

#productDetailArticle .subScCaution > dl > dd,
#productDetailArticle .reservationGuide > dl > dd{
  display: block;
  font-size: 1.3rem;
  font-weight: 400;
  letter-spacing: 0.03em;
  line-height: 1.692307692307692;
  text-align: left;
}



/**************************************
detailText
**************************************/
#productDetailArticle .detailText{
  display: block;
  margin-top: 4rem;
}

#productDetailArticle .detailTextTTL{
  display: block;
  padding-bottom: 1rem;
  border-bottom: 2px solid #D8D8D8;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.07em;
  line-height: 1.5;
  color: #484848;
}


#productDetailArticle .detailTableList{
  display: block;
}


#productDetailArticle .detailTableList > dl{
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  padding: 1.8rem 0;
  border-bottom: 1px solid #D8D8D8;
}

#productDetailArticle .detailTableList > dl > dt{
  display: block;
  width: 8rem;
  font-size: 1.3rem;
  font-weight: 400;
  color: #787878;
  line-height: 1.692307692307692;
}

#productDetailArticle .detailTableList > dl > dd{
  display: block;
  width: calc(100% - 8rem);
  font-size: 1.3rem;
  font-weight: 500;
  color: #484848;
  line-height: 1.692307692307692;
}


/**************************************
produtMainGuideLinks
**************************************/
#productDetailArticle ul.produtMainGuideLinks{
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  gap: 2rem 4rem;
  margin-top: 3rem;
}

#productDetailArticle ul.produtMainGuideLinks > li{}

#productDetailArticle ul.produtMainGuideLinks > li > a,
#productDetailArticle ul.produtMainGuideLinks .m-modalBoxSet__btn > span{
  display: inline-flex;
  justify-content: flex-start;
  align-items: center;
  gap: 0 1rem;
  min-height: 2.4rem;
  padding: 0;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.07em;
  line-height: 1.428571428571429;
  color: #E60012;
  position: relative;
  cursor: pointer;
  
  background-image: radial-gradient(circle at right calc(2.4rem / 2) top 50%, #E50013 calc(2.4rem / 2 - 1px), transparent calc(2.4rem / 2));
}

#productDetailArticle ul.produtMainGuideLinks > li > a::after,
#productDetailArticle ul.produtMainGuideLinks .m-modalBoxSet__btn > span::after{
  content: '';
  display: block;
  width: 2.4rem;
  height: 2.4rem;
  background: url("../img/common/custom/icon_next_white.svg") center center no-repeat;
  background-size: 0.64rem auto;
  transition: transform var(--transition-default);
}


@media (hover: hover) {
  #productDetailArticle ul.produtMainGuideLinks > li > a:hover,
  #productDetailArticle ul.produtMainGuideLinks .m-modalBoxSet__btn > span:hover{
    opacity: 1;
  }
  #productDetailArticle ul.produtMainGuideLinks > li > a:hover::after,
  #productDetailArticle ul.produtMainGuideLinks .m-modalBoxSet__btn > span:hover::after{
    transform: translate(1px,-1px);
  }
}


/**************************************
laundryViewList
**************************************/
#productDetailArticle .laundryViewList{
  display: block;
  padding: 0rem 3rem 3rem;
}

#productDetailArticle .laundryViewList > dl{
  display: block;
  width: 100%;
  padding: 2rem 3rem;
  background: #FFFFFF;
}

#productDetailArticle .laundryViewList > dl + dl{
  margin-top: 1rem;
}

#productDetailArticle .laundryViewList > dl > dt{
  display: block;
  margin-bottom: 1rem;
  font-size: 1.5rem;
  letter-spacing: 0.07em;
  line-height: 1.6;
  text-align: left;
  color: #484848;
  font-weight: 500;
}

#productDetailArticle .laundryViewList > dl > dt > span{
  font-size: 1rem;
  font-weight: 400;
  margin-left: 1rem;
}

#productDetailArticle .laundryViewList > dl > dd{display: block;}

#productDetailArticle .laundryViewList > dl > dd > ul{
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
  gap: 1rem 3rem;
}

#productDetailArticle .laundryViewList > dl > dd > ul > li{
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: calc((100% - 3rem * 2) / 3);
  gap: 0 1rem;
}

#productDetailArticle .laundryViewList > dl > dd > ul > li > picture{
  display: block;
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  border: 1px solid #D8D8D8;
  overflow: hidden;
}

#productDetailArticle .laundryViewList > dl > dd > ul > li > picture > img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#productDetailArticle .laundryViewList > dl > dd > ul > li > span{
  display: block;
  width: 100%;
  max-width: calc(100% - 4rem - 1rem);
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: 0.07em;
  line-height: 1.111111111111111;
}



/**************************************
m-productStockStatusContent
**************************************/
#productDetailArticle .m-productStockStatusContent{
  padding: 0 3rem 3rem;
}

#productDetailArticle .c-productStockStatusTable{
  font-size: 1.2rem;
  color: #484848;
  border: 1px solid #707070;
  border-collapse: collapse;
}


#productDetailArticle .c-productStockStatusTable__thead{
}

#productDetailArticle .c-productStockStatusTable__theadTh,
#productDetailArticle .c-productStockStatusTable__th,
#productDetailArticle .c-productStockStatusTable__td{
  border: none;
  border-bottom: 1px solid #7B7B7B;
  border-right: 1px solid #E2E2E2;
  font-size: 1.2rem;
  color: #484848;
  font-weight: 500;
}

#productDetailArticle thead .c-productStockStatusTable__theadTh:nth-last-child(1),
#productDetailArticle tr .c-productStockStatusTable__th:nth-last-child(1),
#productDetailArticle tr .c-productStockStatusTable__td:nth-last-child(1){border-right: none;}


#productDetailArticle tr:nth-last-child(1) .c-productStockStatusTable__th,
#productDetailArticle tr:nth-last-child(1) .c-productStockStatusTable__td{border-bottom: none;}


#productDetailArticle .c-productStockStatusTable-detail__selectButton{
  color: #484848;
}







/**************************************
procutReViewSection
**************************************/
#productDetailArticle #reviewSectionWrap{
  display: block;
  margin: 0 auto;
  padding: 16rem var(--contentsMargin) 8rem;
  border-bottom: 4px solid #FFF8F4;
}

#productDetailArticle .procutReViewSection{
  max-width: var(--contentsMaxWidth);
  margin: 0 auto;
}

#productDetailArticle .reviewTTLBlock{
  display: block;
  width: 100%;
  margin-bottom: 4rem;
  position: relative;
}

#productDetailArticle .reviewTTLBlock .revewBtn{
  position: absolute;
  right: 0;
  top: 0.9rem;
}
#productDetailArticle .p-productDetaiMain-guideTabBox-reviewList__addReviewBtn{
  margin: 0;
}

#productDetailArticle .reviewTTLBlock .revewBtn .m-modalBox__outer{
  background: #FFFFFF;
}

#productDetailArticle .p-productDetaiMain-guideTabBox-reviewList__addReviewBtn > button{
  display: inline-flex;
  justify-content: flex-start;
  align-items: center;
  gap: 0 1rem;
  min-height: 2.4rem;
  padding: 0;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.07em;
  line-height: 1.428571428571429;
  color: #E60012;
  position: relative;
  cursor: pointer;
  background: none;
  border: none;
  background-image: radial-gradient(circle at right calc(2.4rem / 2) top 50%, #E50013 calc(2.4rem / 2 - 1px), transparent calc(2.4rem / 2));
}

#productDetailArticle .p-productDetaiMain-guideTabBox-reviewList__addReviewBtn > button::after{
  content: '';
  display: block;
  width: 2.4rem;
  height: 2.4rem;
  background: url("../img/common/custom/icon_next_white.svg") center center no-repeat;
  background-size: 0.64rem auto;
  transition: transform var(--transition-default);
}


@media (hover: hover) {
  #productDetailArticle .p-productDetaiMain-guideTabBox-reviewList__addReviewBtn > button:hover{
    opacity: 1;
  }
  #productDetailArticle .p-productDetaiMain-guideTabBox-reviewList__addReviewBtn > button:hover::after{
    transform: translate(1px,-1px);
  }
}

#productDetailArticle .reviewMoreBtn{
  display: none;
  width: 22rem;
  margin: 4rem auto 0;
}

#productDetailArticle .p-productDetaiMain-guideTabBox-reviewList__list:has(li:nth-of-type(4)) + .reviewMoreBtn{
  display: block;
}

#productDetailArticle .reviewMoreBtn > .c-btn-progress.c-btn-progress--white{
  text-align: left;
  justify-content: flex-start;
}

#productDetailArticle .reviewMoreBtn > .c-btn-progress.c-btn-progress--white::after{
  content: '';
  display: block;
  height: 1.41rem;
  width: 1.41rem;
  mask-image: url("../img/product/custom/icon_more_open.svg");
  mask-repeat: no-repeat;
  mask-position: 50% 50%;
  mask-size: 100%;
  -webkit-mask-image: url("../img/product/custom/icon_more_open.svg");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: 50% 50%;
  -webkit-mask-size: 100%;
  background: #E60012;
  position: absolute;
  right: 2.7rem;
  top: calc(50% - 0.9rem);
  z-index: 1;
  transition: background var(--transition-default);
}


#productDetailArticle .procutReViewSection .c-pager{
  margin-top: 3rem;
}

#productDetailArticle .reviewMoreBtn + .c-pager{
  display: none;
}


#productDetailArticle .procutReViewList{
  display: block;
}

#productDetailArticle .procutReViewList .p-productDetaiMain-guideTabBox-reviewList__list{
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
  gap: 4rem 4.9rem;
}

#productDetailArticle .procutReViewList .p-productDetaiMain-guideTabBox-reviewList__item{
  width: calc((100% - 4.9rem * 2 ) / 3);
  position: relative;
  border: none;
}

#productDetailArticle .procutReViewList .p-productDetaiMain-guideTabBox-reviewList__item:not(:nth-of-type(3n))::after{
  content: '';
  display: block;
  width: 1px;
  height: 100%;
  background: #D8D8D8;
  position: absolute;
  right: -2rem;
  top: 0;
}


#productDetailArticle .procutReViewList .p-productDetaiMain-guideTabBox-reviewList__item + .p-productDetaiMain-guideTabBox-reviewList__item{
  margin-top: 0;
}

#productDetailArticle .p-productDetaiMain-guideTabBox-reviewList__list:not(.open) .p-productDetaiMain-guideTabBox-reviewList__item:nth-of-type(n + 4){
  display: none;
}

#productDetailArticle .noReView{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 21.2rem;
  background: #F5F5F5;
  text-align: center;
  font-size: 1.4rem;
  font-weight: 500;
}

/**************************************
productRecommendSection
**************************************/
#productDetailArticle .freeHTMLBlock{
  display: block;
  max-width: var(--contentsOuterMaxWidth);
  margin: 0 auto;
  padding: 8rem var(--contentsMargin) 8rem;
}

/**************************************
productRecommendSection
**************************************/
#productDetailArticle .productRecommendSection{
  display: block;
  margin: 0 auto;
  padding: 8rem var(--contentsMargin) 8rem;
  border-top: 4px solid #FFF8F4;
  text-align: center;
}

#productDetailArticle #reviewSectionWrap + .productRecommendSection{
  border-top: none;
}

#productDetailArticle .productRecommendSection .spSliderList{
  display: block;
  width: 100%;
  max-width: var(--contentsMaxWidth);
  margin: 0 auto;
}


#productDetailArticle .productRecommendSection .spSliderList .swiper{
  display: block;
  width: 100%;
  opacity: 1;
}


#productDetailArticle .productRecommendSection .spSliderList .m-productLine{
  flex-wrap: nowrap;
  gap: 0 2.5rem;
}

#productDetailArticle .productRecommendSection .spSliderList .m-productLine__item{
  width: calc((100% - 2.5rem * 4) / 5);
}

/*swiperSetting*********/
#productDetailArticle .productRecommendSection .spSliderList .controller{display: none;}


/**************************************
.p-productDetail-foot
**************************************/
#productDetailArticle #productRecentyItemList .l-container{
  padding: 0;
}


/**************************************
instaView
**************************************/
#instaView{
  display: block;
  width: 100%;
  margin-top: 6rem;
}

#instaView:not(:has(.ecbn-selection-item)){
  display: none;
}


#instaView .instaViewTTL{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 1rem;
  margin-bottom: 0.8rem;
}

#instaView .instaViewTTL > img{
  display: block;
  width: 2.4rem;
  height: auto;
}

#instaView .instaViewTTL > span{
  font-size: 2.8rem;
  line-height: 1.428571428571429;
  font-weight: 500;
  letter-spacing: 0.07em;
}

#instaView .instaViewLink{
  display: block;
  margin-bottom: 3rem;
  font-size: 1.1rem;
  font-weight: 500;
  line-height: 1.272727272727273;
  text-align: center;
}

#instaView .instaItemList{}


/**visumoWrap ***********/
#instaView .visumoSliderList{
  display: block;
  width: 100%;
  min-height: 17rem;
  position: relative;
}

#instaView .visumoSliderList + .visumoSliderList{
  margin-top: 1rem;
}

#instaView .visumoSliderList .ecbn-selection-widget{
  width: 100%;
  max-width: none!important;
  margin: 0;
  transition: opacity .3s ease;
}

#instaView .visumoSliderList .ecbn-selection-widget .ecbn-widget-loading-container{
  display: block;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
  z-index: 4;
}


#instaView .visumoSliderList .ecbn-selection-page-wrapper{
  margin: 0!important;
}


/*swiperCont ****/
#instaView .visumoSliderList .ecbn-selection-content{
  display: block;
  transition: opacity .3s ease;
}

#instaView .visumoSliderList .ecbn-selection-content.processing{
  pointer-events: none;
  opacity: 0;
}

/*swiperWrapper ****/
#instaView .visumoSliderList .ecbn-selection-page-wrapper ul.ecbn-selection-snap{
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
  gap: 1.5rem 1.5rem;
  width: 100%!important;
  height: auto!important;
}


/*swiperSlide ****/
#instaView .visumoSliderList .ecbn-selection-page-wrapper ul.ecbn-selection-snap > li.ecbn-selection-item{
  display: block;
  width: calc((100% - 1.5rem * 2) / 3)!important;
  padding: 0;
  float: none;
  position: static!important;
}


#instaView .visumoSliderList .ecbn-selection-page-wrapper ul.ecbn-selection-snap > li.ecbn-selection-item:nth-of-type(n + 4){
  display: none!important;
}

#instaView .visumoSliderList .ecbn-selection-page-wrapper ul.ecbn-selection-snap > li.ecbn-selection-item > div{
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
}
#instaView .visumoSliderList .ecbn-selection-page-wrapper ul.ecbn-selection-snap > li.ecbn-selection-item > div > a{
  display: block;
  width: 100%;
  height: 100%;
}

#instaView .visumoSliderList .ecbn-selection-page-wrapper ul.ecbn-selection-snap > li.ecbn-selection-item > div > a > img.ecbn-selection-image{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#instaView .visumoSliderList .ecbn-selection-page-wrapper .ecbn-selection-footer2{
  margin-right: 0;
  margin-top: 1rem;
  text-align: right;
}


#instaView .visumoSliderList .controller{
  display: none;
}


#instaView  .ecbn-selection-image-loading-more{display: none!important;}




/**************************************
moveCartBtn
**************************************/
#moveCartBtn{
  display: block;
  width: 6.6rem;
  height: 6.6rem;
  position: fixed;
  right: calc(50% - 6.5rem - 54rem - 8rem);
  bottom: 2rem;
  z-index: 4;
  opacity: 0;
  transform: translateY(100%);
  transition: opacity .3s ease,transform .3s ease;
  pointer-events: none;
}

#moveCartBtn.view{
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

#moveCartBtn a,
#moveCartBtn img{
  display: block;
  width: 100%;
  height: auto;
}





/**************************************
productRecommendSilverSection
**************************************/
#productRecommendSilverSection{
  display: block;
  margin: 0 auto;
  padding: 8rem var(--contentsMargin) 8rem;
  border-top: 4px solid #FFF8F4;
  text-align: center;
}

#productRecommendSilverSection .recoCaution{
  font-size: 1.4rem;
  text-align: center;
  margin-bottom: 4rem;
}


#detailRecoForYouItemList{
  display: block;
  width: 100%;
  max-width: var(--contentsMaxWidth);
  margin: 0 auto;
}


/*swiperSetting*********/
#detailRecoForYouItemList .m-recommendSilvereggAigentProducts{
  display: block;
}

#detailRecoForYouItemList .m-recommendSilvereggAigentProducts__title{
  display: none;
}

/*swiper**/
#detailRecoForYouItemList .m-recommendSilvereggAigentProducts > div{
  display: block;
  width: 100%;
  opacity: 1;
}

/*swiperWrap*/
#detailRecoForYouItemList .dv_recommend{
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: stretch;
  gap: 0 2.5rem;
}

/*swiperSlide********/
#detailRecoForYouItemList .dv_recommend .dv_rc_items{
  width: calc((100% - 2.5rem * 4) / 5);
}



/* itemSetting *****/
#detailRecoForYouItemList a.c-product-head__link{
  display: block;
}

#detailRecoForYouItemList .dv_rc_img{
  display: block;
  width: 100%;
  aspect-ratio: 1/1;
  border-radius: 1rem;
  overflow: hidden;
  position: relative;
}

#detailRecoForYouItemList .dv_rc_img > img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}


#detailRecoForYouItemList .dv_rc_name{
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  margin-top: 2rem;
  font-size: 1.4rem;
  font-weight: var(--fw-regular);
  letter-spacing: 0.07em;
  line-height: 1.6;
  text-align: left;
}

#detailRecoForYouItemList .dv_rc_price{
  display: flex;
  align-items: baseline;
  gap: 0;
  margin-top: 1rem;
  font-family: var(--font-en);
  font-size: 1.8rem;
  font-weight: var(--fw-bold);
  letter-spacing: 0.07em;
}

#detailRecoForYouItemList .dv_rc_price::after{
  content: '（税込）';
  font-size: 1rem;
  font-weight: var(--fw-medium);
  letter-spacing: 0.07em;
  line-height: 1;
  color: #787878;
}

/**********/
#detailRecoForYouItemList .dv_rc_header,
#detailRecoForYouItemList .dv_rc_title,
#detailRecoForYouItemList .dv_rc_footer{
  display: none;
}

#detailRecoForYouItemList .controller{display: none;}


#detailRecoForYouItemList .dv_rc_description{
  display: block;
  text-align: left;
  font-size: 1.2rem;
  font-weight: var(--fw-medium);
  letter-spacing: 0.07em;
  line-height: 1.5;
  color: #787878;
  margin-top: 0.5rem;
}


#productRecommendSilverSection .controller{
  display: none;
}



