﻿/**************************************
#productDetailSection
**************************************/
#productDetailSection{
  display: block;
  width: 100%;
  margin: 0 auto;
  padding: 0 0;
  position: relative;
}

#productDetailSection img{max-width: 100%;}

#productDetailSection em{font-style: normal;}


#productDetailSection .errMsg{
  font-size: 1.3rem;
  line-height: 1.6;
  text-align: left;
  font-weight: 700;
  color: var(--color-emphasis);
}

#productDetailSection .necessary{
  color: var(--errColor);
  font-weight: 700;
}

#productDetailSection .necessary{
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  height: 1.8rem;
  padding: 0.3rem 0.5rem 0;
  border: 1px solid #B92E2E;
  border-radius: 5px;
  color: #B92E2E;
  font-size: 1.3rem;
  line-height: 1;
  letter-spacing: 0.02em;
}


/***sectionTTL*****************/
#productDetailSection .sectionTTL{
  display: block;
  margin-bottom: 2.5rem;
  font-family: var(--font-title);
  font-size: 2.3rem;
  letter-spacing: 0.05em;
  font-weight: 500;
  line-height: 1.444444444444444;
  color: #2B100F;
  text-align: center;
}

#productDetailSection .sectionTTL > span{
  display: block;
  text-align: center;
  margin: 0 auto;
  opacity: 0;
  transition: opacity .4s ease 0.4s;
}

#productDetailSection .sectionTTL > span{
  opacity: 1;
}

#productDetailSection .sectionTTL::before{
  content: '';
  display: block;
  width: 10rem;
  height: 2.532rem;
  margin: 0 auto 1rem;
  background: url("../img/common/icon_secttl.svg") center top no-repeat;
  background-size: 100% auto;
  -webkit-clip-path: inset(0 0 100% 0);
  clip-path: inset(0 0 100% 0);
  transition: clip-path .6s ease,opacity .4s ease;
}

#productDetailSection .sectionTTL::before{
  webkit-clip-path: inset(0);
  clip-path: inset(0);
}




/*select*/
#productDetailSection select{
  width: 100%;
  height: 4.5rem;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0 3rem 0 1.2rem;
  background: url(../img/common/arrow_down.svg) calc(100% - 1rem) center no-repeat #FFFFFF;
  background-size: 1.141rem;
  border: 1px solid #6E6E6E;
  border-radius: 4px;
  vertical-align: middle;
  line-height: calc(4.5rem - 2px);
  font-size: 1.5rem;
  font-weight: 400;
  letter-spacing: 0.03em;
  color: #000000;
  text-align: left;
  outline: none;
  cursor: pointer;
}

/*input*/
#productDetailSection .inputArea + .inputArea{
  margin-top: 1.3rem;
}

#productDetailSection input[type="text"],
#productDetailSection input[type="tel"],
#productDetailSection input[type="number"],
#productDetailSection input[type="password"],
#productDetailSection input[type="email"],
#productDetailSection input[type="url"]{
  display: block;
  height: 4.5rem;
  width: 100%;
  padding: 0 1.2rem 0;
  border: 1px solid #6E6E6E;
  border-radius: 4px;
  vertical-align: middle;
  line-height: calc(4.5rem - 2px);
  font-size: 1.5rem;
  text-align: left;
  cursor: pointer;
}

#productDetailSection textarea{
  display: block;
  height: 15rem;
  width: 100%;
  padding: 1rem 1.2rem 1rem;
  border: 1px solid #6E6E6E;
  border-radius: 5px;
  vertical-align: middle;
  line-height: 1.5;
  font-size: 1.5rem;
  text-align: left;
  cursor: pointer;
  font-family: var(--font-main);
}


#productDetailSection .inputArea.checkBtn{
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 1.5rem 0;
}

#productDetailSection .inputArea.checkBtn > span{
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 0 1rem;
  cursor: pointer;
  transition: opacity .3s ease;
}



#productDetailSection .inputArea.checkBtn input{
  display: block;
  width: 2.4rem;
  height: 2.4rem;
  margin-right: 
  appearance: none;
  -webkit-appearance: none;
  align-self: center;
  background-color: var(--color-white);
  border: 1px solid var(--color-gray-500);
  border-radius: 5px;
  box-sizing: border-box;
  cursor: pointer;
  padding: 0;
  margin: 0;
  position: relative;
  transition: border .3s ease, background .3s ease;
}

#productDetailSection .inputArea.checkBtn input:checked{
  border: 1px solid var(--color-primary);
  background: var(--color-primary);
}

#productDetailSection .inputArea.checkBtn input::before {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  mask-image: url("../img/common/icon_check.svg");
  mask-repeat: no-repeat;
  mask-position: 50% 50%;
  mask-size: 100%;
  -webkit-mask-image: url("../img/common/icon_check.svg");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: 50% 50%;
  -webkit-mask-size: 100%;
  background: #EBEBEB;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

#productDetailSection .inputArea.checkBtn input:checked::before{
  background: #FFFFFF;
}



#productDetailSection .inputArea.checkBtn input + label{
  display: inline-block;
  padding-top: 0.1rem;
  font-size: 1.5rem;
  letter-spacing: 0.03em;
  line-height: 1.375;
}

#productDetailSection .inputArea.checkBtn > span > em{
  width: 100%;
  padding-left: 3.4rem;
}


#productDetailSection .inputArea.radioBtn{
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 1.5rem 0;
}

#productDetailSection .inputArea.radioBtn > span{
  display: inline-flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-start;
  gap: 0 1rem;
  cursor: pointer;
  transition: opacity .3s ease;
}


#productDetailSection .inputArea.radioBtn input{
  display: block;
  width: 2.4rem;
  height: 2.4rem;
  appearance: none;
  -webkit-appearance: none;
  align-self: center;
  background-color: var(--color-white);
  border: 1px solid var(--color-gray-500);
  border-radius: 50%;
  box-sizing: border-box;
  cursor: pointer;
  padding: 0;
  margin: 0;
  position: relative;
}
#productDetailSection .inputArea.radioBtn input:checked::before {
  content: '';
  display: block;
  width: 1.2rem;
  height: 1.2rem;
  border-radius: 50%;
  background-color: var(--color-primary);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}


#productDetailSection .inputArea.radioBtn input + label{
  display: inline-block;
  width: calc(100% - 3.5rem);
  padding-top: 0.1rem;
  font-size: 1.5rem;
  letter-spacing: 0.03em;
  line-height: 1.375;
}



/**************************************
#prodcutDetail
**************************************/
#prodcutDetail{
  display: block;
  padding: 0 1rem 4rem;
}




/**************************************
#detailTextArea
**************************************/
#detailTextArea{
  display: block;
  width: 100%;
  padding-top: 4rem;
}


/* icons **********************/
#detailTextArea ul.itemIcons{
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: flex-start;
  gap: 0.5rem 0.5rem;
  width: 100%;
}
#detailTextArea ul.itemIcons:not(:nth-child(1)){padding-top: 2rem;}


#detailTextArea ul.itemIcons > li{
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  min-height: 2.3rem;
  padding: 0.1rem 0.6rem 0;
  border: var(--icon01Border);
  border-radius: 3px;
  font-family: var(--iconFont);
  font-size: 1.5rem;
  font-weight: var(--iconFontWeight);
  color: var(--icon01txt);
  text-align: center;
  line-height: 1;
  letter-spacing: 0;
  order: 2;
}
#detailTextArea ul.itemIcons > li.icon01{ background: var(--icon01Bg); color: var(--icon01txtColor); border: var(--icon01Border);}
#detailTextArea ul.itemIcons > li.icon02{ background: var(--icon02Bg); color: var(--icon02txtColor); border: var(--icon02Border);}
#detailTextArea ul.itemIcons > li.icon03{ background: var(--icon03Bg); color: var(--icon03txtColor); border: var(--icon03Border);}
#detailTextArea ul.itemIcons > li.icon04{ background: var(--icon04Bg); color: var(--icon04txtColor); border: var(--icon04Border);}
#detailTextArea ul.itemIcons > li.icon05{ background: var(--icon05Bg); color: var(--icon05txtColor); border: var(--icon05Border);}
#detailTextArea ul.itemIcons > li.icon06{ background: var(--icon06Bg); color: var(--icon06txtColor); border: var(--icon06Border);}
#detailTextArea ul.itemIcons > li.icon07{ background: var(--icon07Bg); color: var(--icon07txtColor); border: var(--icon07Border);}
#detailTextArea ul.itemIcons > li.icon08{ background: var(--icon08Bg); color: var(--icon08txtColor); border: var(--icon08Border);}
#detailTextArea ul.itemIcons > li.icon09{ background: var(--icon09Bg); color: var(--icon09txtColor); border: var(--icon09Border);}
#detailTextArea ul.itemIcons > li.icon10{ background: var(--icon10Bg); color: var(--icon10txtColor); border: var(--icon10Border);}

#detailTextArea ul.itemIcons > li.icon01::before{ content: var(--icon01txt);}
#detailTextArea ul.itemIcons > li.icon02::before{ content: var(--icon02txt);}
#detailTextArea ul.itemIcons > li.icon03::before{ content: var(--icon03txt);}
#detailTextArea ul.itemIcons > li.icon04::before{ content: var(--icon04txt);}
#detailTextArea ul.itemIcons > li.icon05::before{ content: var(--icon05txt);}
#detailTextArea ul.itemIcons > li.icon06::before{ content: var(--icon06txt);}
#detailTextArea ul.itemIcons > li.icon07::before{ content: var(--icon07txt);}
#detailTextArea ul.itemIcons > li.icon08::before{ content: var(--icon08txt);}
#detailTextArea ul.itemIcons > li.icon09::before{ content: var(--icon09txt);}
#detailTextArea ul.itemIcons > li.icon10::before{ content: var(--icon10txt);}

/* itemName **********************/
#detailTextArea .itemName{
  display: block;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.025em;
  color: #000000;
}
#detailTextArea .itemName:not(:nth-child(1)){padding-top: 2.5rem;}


/* catchCopy **********************/
#detailTextArea .catchCopy{
  display: block;
  font-size: 1.5rem;
  line-height: 2;
  font-weight: 400;
  color: #000000;
}

#detailTextArea .catchCopy:not(:nth-child(1)){padding-top: 2rem;}


/* setPromotionText **********************/
#detailTextArea .setPromotionText{
  display: block;
  padding: 2rem 0 2rem;
  font-size: 1.5rem;
  line-height: 2;
  font-weight: 400;
  color: #000000;
}

#detailTextArea .setPromotionText + .setPromotionText{margin-top: 0;}


/* priceBox **********************/
#detailTextArea .priceBox{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  width: 100%;
  overflow: hidden;
}

#detailTextArea .priceBox:not(:nth-child(1)){padding-top: 2rem;}

#detailTextArea .priceBox p{
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0 0.8rem;
  font-size: 3.2rem;
  font-weight: 400;
  color: #000000;
  letter-spacing: 0.025em;
  white-space: nowrap;
}
#detailTextArea .priceBox p + p{ margin-top: -0.5rem;}

#detailTextArea .priceBox p em{font-size: 1.5rem; margin-left: 0.25rem; font-style: normal;}
#detailTextArea .priceBox p > span{}

#detailTextArea .priceBox .rate{
  display: none;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  height: 2.1rem;
  margin-top: 0.3rem;
  padding: 0.1rem 0.5rem 0;
  border: 1px solid #B92E2E;
  border-radius: 3px;
  font-size: 1.3rem;
  color: #B92E2E;
}

#detailTextArea .priceBox .rate.active{display: flex;}


/***subscription***/
#detailTextArea .priceBox .subscription{
  color: #D95FCB;
}
#detailTextArea .priceBox .subscription::before{
  content: '定期通常価格';
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  height: 2.7rem;
  margin-right: 1rem;
  padding: 0.2rem 1rem 0.2rem;
  border-radius: 3px;
  border: 1px solid #D95FCB;
  color: #D95FCB;
  font-size: 1.5rem;
  font-weight: 400;
  text-align: center;
}

#detailTextArea .priceBox .subscription.first::before{
  content: '初回定期価格';
}

#detailTextArea .priceBox .subscription + .normal{
  margin-top: 0.5rem;
  color: #7C7C7C;
  font-size: 2.2rem;
  position: relative;
}

#detailTextArea .priceBox .subscription + .normal::before{
  content: '通常購入価格：';
  font-size: 1.5rem;
}

#detailTextArea .priceBox .subscription + .normal::after{
  content: '';
  display: block;
  height: 1px;
  width: calc(100% - 10.7rem);
  background: #7C7C7C;
  position: absolute;
  right: 0;
  top: calc(50% - 1px);
}


/***sale***/
#detailTextArea .priceBox .sale{
  color: #B92E2E;
}


#detailTextArea .priceBox .sale + .normal{
  margin-top: 0.5rem;
  color: #7C7C7C;
  font-size: 2.2rem;
  position: relative;
}


#detailTextArea .priceBox .sale + .normal::before{
  content: '通常購入価格：';
  font-size: 1.5rem;
}

#detailTextArea .priceBox .sale + .normal::after{
  content: '';
  display: block;
  height: 1px;
  width: calc(100% - 10.7rem);
  background: #7C7C7C;
  position: absolute;
  right: 0;
  top: calc(50% - 1px);
}

/***member***/
#detailTextArea .priceBox .member{}

#detailTextArea .priceBox .sale.member::before{
  content: '会員特別価格：';
  font-size: 1.5rem;
}



/* detailCartBox **********************/
#detailCartBox{
  display: block;
  margin-top: 2.5rem;
}



/* variationSelect **/
#detailCartBox .variationSelect{
  display: block;
  margin-bottom: 2rem;
}

#detailCartBox .variationSelect > dl > dt{
  display: block;
  margin-bottom: 0.3rem;
  font-weight: 500;
  font-size: 1.7rem;
  line-height: 2;
}
#detailCartBox .variationSelect > dl + dl{margin-top: 2rem;}

#detailCartBox .variationSelect > dl > dd{}


/* panelSelect **/
#detailCartBox .variationSelect .panelSelect{
  display: block;
}

#detailCartBox .variationSelect .panelSelect + .panelSelect{
  padding-top: 1rem;
  margin-top: 1rem;
  border-top: 1px solid #EFEFEF;
}

#detailCartBox .variationSelect .panelSelect > ul{
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: flex-start;
  gap: 1rem 1rem;
}

#detailCartBox .variationSelect .panelSelect > ul > li{
  display: block;
  width: calc((100% - 3rem) / 4);
}
#detailCartBox .variationSelect .panelSelect > ul > li > a{
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  cursor: inherit;
}

#detailCartBox .variationSelect .panelSelect > ul > li > a > span{
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  min-height: 4rem;
  padding: 1.1rem 0.5rem;
  border: 2px solid #CCCCCC;
  border-radius: 6px;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  transition: opacity 0.3s ease;
  cursor: pointer;
}
#detailCartBox .variationSelect .panelSelect > ul > li > a > span.selected{
  border-color: var(--primaryColor);
  color: var(--primaryColor);
  pointer-events: none;
  cursor: inherit;
}
#detailCartBox .variationSelect .panelSelect > ul > li > a:hover{opacity: 1;}
#detailCartBox .variationSelect .panelSelect > ul > li > a:hover > span:not(.selected){opacity: .6;}



/* incidentalBox **/
#detailCartBox .incidentalBox:has(*){
  display: block;
  padding: 3rem 2rem 3rem;
  background: #F8F8F8;
  border: 1px solid #FAFAFA;
  border-radius: 20px;
}

#detailCartBox .incidentalBox > dl{
  display: block
}
/*#detailCartBox .variationSelect + .incidentalBox > dl{margin-top: 2rem;}*/
#detailCartBox .incidentalBox > dl + dl{margin-top: 2rem;}


#detailCartBox .incidentalBox > dl > dt{
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 0 1rem;
  margin-bottom: 1.4rem;
  font-weight: 400;
  font-size: 1.7rem;
  line-height: 1.166666666666667;
}

#detailCartBox .incidentalBox > dl.requiredForm{}
#detailCartBox .incidentalBox > dl.requiredForm > dt::after{
  content: '必須';
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  height: 1.8rem;
  padding: 0.3rem 0.5rem 0;
  border: 1px solid #B92E2E;
  border-radius: 5px;
  color: #B92E2E;
  font-size: 1.3rem;
  line-height: 1;
  letter-spacing: 0.02em;
}


#detailCartBox .incidentalBox > dl > dd{
  display: block;
  width: 100%;
}

#detailCartBox .incidentalBox > dl > dd > .inputArea{
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-start;
  justify-content: flex-start;
}


#detailCartBox .incidentalBox > dl > dd > .inputArea select{display: block; width: 100%;}

#detailCartBox .incidentalBox > dl > dd .errMsg{
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.6;
  color: var(--errColor);
}


/* quantitySelect **/
#detailCartBox dl.quantitySelect{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  margin-top: 3rem;
  margin-bottom: 2.5rem;
}

#detailCartBox dl.quantitySelect > dt{
  display: block;
  margin-right: 2rem;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.02em;
  text-align: left;
}

#detailCartBox dl.quantitySelect > dd{
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-start;
  width: 8rem;
  text-align: center;
}


#detailCartBox dl.quantitySelect > dd input{text-align: center;}

/* errMsg **/
#detailCartBox .sellFrom{
  display: block;
  margin-bottom: 2.5rem;
  font-size: 1.4rem;
  line-height: 1.75;
  font-weight: 500;
}

#detailCartBox .errMsgView{
  display: block;
  padding: 0 0 0;
}

#detailCartBox .errMsgView > p{
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.025em;
  line-height: 1.5;
  text-align: left;
  padding-bottom: 1rem;
  color: #FA9900;
}



/* btnArea **/
#detailCartBox .btnArea{
  display: block;
  width: 100%;
}

#detailCartBox .btnArea > ul{
  display: block;
  width: 100%;
}

#detailCartBox .btnArea > ul > li{
  display: block;
}
#detailCartBox .btnArea > ul > li + li{margin-top: 1rem;}


#detailCartBox .btnCart > a{
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  gap: 0 1rem;
  width: 100%;
  height: 5.6rem;
  border-radius: 2.8rem;
  padding: 0.2rem 1rem 0 1rem;
  background: #FA9900;
  box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
  font-family: var(--font-title);
  font-weight: 700;
  font-size: 1.9rem;
  text-align: center;
  line-height: 1;
  text-decoration: none;
  color: #FFFFFF;
  position: relative;
  transition: opacity .3s ease;
  cursor: pointer;
}

#detailCartBox .btnCart > a::before{
  content: '';
  display: block;
  width: 3rem;
  height: 3rem;
  background: url("../img/common/icon_cart_white.svg") center 0.3rem no-repeat;
  background-size: 2.025rem auto;
}


#detailCartBox .btnCart.arrival > a::before{display: none;}



#detailCartBox .btnArea > .btnFavorite{
  width: 100%;
  margin-top: 1rem;
}

#detailCartBox .btnFavorite > a{
  display: block;
  text-decoration: none;
  transition: opacity .3s ease;
}

#detailCartBox .btnFavorite > a > span{
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  gap: 0 1rem;
  width: 100%;
  height: 5rem;
  border: 1px solid #6E6E6E;
  border-radius: 2.5rem;
  padding: 0.2rem 1rem 0 1rem;
  background: #FFFFFF;
  box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
  font-family: var(--font-title);
  font-weight: 500;
  font-size: 1.7rem;
  text-align: center;
  line-height: 1;
  text-decoration: none;
  color: #000000;
  position: relative;
  transition: opacity .3s ease;
  cursor: pointer;
}

#detailCartBox .btnFavorite > a > span::before{
  content: '';
  display: block;
  width: 2.9rem;
  height: 2.9rem;
  background: url("../img/detail/icon_favorite.svg") center 0.3rem no-repeat;
  background-size: 2.175rem auto;
}

#detailCartBox .btnFavorite > a > span.active{
  box-shadow: none;
}
#detailCartBox .btnFavorite > a > span.active::before{
  content: '';
  display: block;
  width: 2.9rem;
  height: 2.9rem;
  background: url("../img/detail/icon_favorite_active.svg") center 0.3rem no-repeat;
  background-size: 2.175rem auto;
}


#detailCartBox .btnSoldOut > span,
#detailCartBox .btnSoldOut > a,
#detailCartBox .btnSoldOut > button{
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  gap: 0 1rem;
  width: 100%;
  height: 5.6rem;
  border-radius: 2.8rem;
  padding: 0.2rem 1rem 0 1rem;
  background: #CCCCCC;
  font-family: var(--font-title);
  font-weight: 700;
  font-size: 1.9rem;
  text-align: center;
  line-height: 1;
  text-decoration: none;
  color: #FFFFFF;
  position: relative;
  transition: opacity .3s ease;
  cursor: pointer;
  cursor: inherit;
  pointer-events: none;
}


#detailCartBox .btnArrivalOpen > a,
#detailCartBox .btnArrivalOpen > button,
#detailCartBox .btnArrivalOpen > span{
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  gap: 0 1rem;
  width: 100%;
  height: 5.6rem;
  border-radius: 2.8rem;
  padding: 0.2rem 1rem 0 1rem;
  background: #FA9900;
  box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
  font-family: var(--font-title);
  font-weight: 700;
  font-size: 1.9rem;
  text-align: center;
  line-height: 1;
  text-decoration: none;
  color: #FFFFFF;
  position: relative;
  transition: opacity .3s ease;
  cursor: pointer;
}




/* arrivalMailInput *************/
#productDetailSection .arrivalMailInput{
  display: block;
  margin-top: 2rem;
  padding: 3rem 2rem 3rem;
  background: #F8F8F8;
  border: 1px solid #FAFAFA;
  border-radius: 30px;
}


#productDetailSection .arrivalMailInput > dl{
  display: block;
  font-size: 1.5rem;
  text-align: left;
  line-height: 1.5;
}

#productDetailSection .arrivalMailInput > dl > dt{
  display: block;
}
#productDetailSection .arrivalMailInput > dl > dd{
  display: block;
}

#productDetailSection .arrivalMailInput .cautionMsg{
  font-size: 1.2rem;
  text-align: left;
  line-height: 1.8;
}

#productDetailSection .arrivalMailInput .arrivalFormTable{
  display: block;
  padding-top: 1.8rem;
}

#productDetailSection .arrivalMailInput .arrivalFormTable > dl{ display: block;}
#productDetailSection .arrivalMailInput .arrivalFormTable > dl + dl{margin-top: 2rem;}

#productDetailSection .arrivalMailInput .arrivalFormTable > dl > dt{
  display: block;
  font-size: 1.6rem;
  text-align: left;
  line-height: 1.8;
  font-weight: 700;
}
#productDetailSection .arrivalMailInput .arrivalFormTable > dl > dt > time{
  display: block;
  font-size: 1.4rem;
  font-style: normal;
}


#productDetailSection .arrivalMailInput .arrivalFormTable > dl > dd{}
#productDetailSection .arrivalMailInput .arrivalFormTable > dl > dd > p{
  font-size: 1.5rem;
  margin-top: 1rem;
}


#productDetailSection .arrivalMailInput .arrivalFormTable ul.checkList{
  display: block;
  padding: 1rem 0;
}
#productDetailSection .arrivalMailInput .arrivalFormTable ul.checkList > li{display: block;}
#productDetailSection .arrivalMailInput .arrivalFormTable ul.checkList > li + li{margin-top: 1rem;}

#productDetailSection .arrivalMailInput .arrivalFormTable ul.checkList > li > span{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 0.5rem 0;
}


#productDetailSection .arrivalMailInput .btnNext{
  width: 20rem;
  margin: 2.4rem auto 0;
}


/**************************************
.shareBtn
**************************************/
#prodcutDetail dl.shareBtnBox{
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-end;
  margin-top: 2rem;
}

#prodcutDetail dl.shareBtnBox > dt{
  font-size: 1.3rem;
  font-weight: 500;
  text-align: right;
  margin-right: 2rem;
}

#prodcutDetail ul.shareBtn{
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0 1.5rem;
}

#prodcutDetail ul.shareBtn > li{
  display: block;
  width: 2.3rem;
  height: 2.3rem;
}
#prodcutDetail ul.shareBtn > li > a{display: block;}
#prodcutDetail ul.shareBtn > li img{display: block; width: 100%; height: auto;}




/**************************************
subscGuide
**************************************/
#prodcutDetail .outline{
  margin-top: 4rem;
}

#prodcutDetail .subscGuide{
  display: block;
  width: 100%;
  padding: 4rem 2rem;
  border-radius: 20px;
  background: url(../img/home/bg_purchase_point.jpg) center center repeat;
  text-align: center;
}


#prodcutDetail .subscGuide > .catch{
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 0 2rem;
  margin: 0 auto 1.5rem;
  padding: 1rem 0;
  border-top: 1px solid #2B0F0F;
  border-bottom: 1px solid #2B0F0F;
}

#prodcutDetail .subscGuide > .catch > figure{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 5.2rem;
  height: 5.2rem;
  background: url("../img/detail/icon_off.svg") center center no-repeat #FAF24B;
  background-size: 3.2rem auto;
  border-radius: 50%;
}

#prodcutDetail .subscGuide > .catch > p{
  display: block;
  padding-top: 0.2rem;
  white-space: nowrap;
  font-family: var(--font-title);
  letter-spacing: 0.025em;
  line-height: 1;
  font-weight: 700;
}

#prodcutDetail .subscGuide > .catch > p > span{
  font-size: 2.2rem;
}

#prodcutDetail .subscGuide > .catch > p > strong{
  font-size: 4.6rem;
  padding: 0 0.6rem;
}


#prodcutDetail .subscGuide .offPriceBox{
  display: block;
  padding: 3rem 2rem;
  background: #FFFFFF;
  border-radius: 10px;
}

#prodcutDetail .subscGuide .offPrice{
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 0 0.7rem;
  margin-bottom: 2rem;
}

#prodcutDetail .subscGuide .offPrice > .iconShipping{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 6.2rem;
  height: 6.2rem;
  padding-left: 0.4rem;
  background: #FAF24B;
  border-radius: 50%;
  font-family: var(--font-title);
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: 0.2em;
  line-height: 1.2;
  text-align: center;
  color: #2B100F;
}

#prodcutDetail .subscGuide .offPrice > .iconOffPrice{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 6.2rem;
  height: 6.2rem;
  padding-left: 0.4rem;
  background: #FAF24B;
  border-radius: 50%;
  font-family: var(--font-title);
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: 0.025em;
  line-height: 1.2;
  text-align: center;
  color: #2B100F;
}


#prodcutDetail .subscGuide .offPrice > .offPriceText{
  display: block;
  text-align: left;
  padding-left: 0.8rem;
}

#prodcutDetail .subscGuide .offPrice > .offPriceText > .first{
  display: inline-flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  margin-bottom: 0.8rem;
  padding: 0.3rem 0.7rem 0.1rem;
  border: 1px solid #D95FCB;
  border-radius: 5px;
  font-size: 1.3rem;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0;
  color: #D95FCB;
}
#prodcutDetail .subscGuide .offPrice > .offPriceText > .price{
  display: block;
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.025em;
  color: #D95FCB;
}
#prodcutDetail .subscGuide .offPrice > .offPriceText > .price > span{
  font-style: normal;
  font-size: 1.4rem;
  margin-left: 0.2em;
}


#prodcutDetail .subscGuide .offPriceBox .btnCart{
  width: 100%;
  margin: 0 auto;
}


#prodcutDetail .subscGuide .offPriceBox .btnCart > a{
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  gap: 0 1rem;
  width: 100%;
  height: 5.6rem;
  border-radius: 2.8rem;
  padding: 0.2rem 1rem 0 1rem;
  background: #FA9900;
  box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
  font-family: var(--font-title);
  font-weight: 700;
  font-size: 1.9rem;
  text-align: center;
  line-height: 1;
  text-decoration: none;
  color: #FFFFFF;
  position: relative;
  transition: opacity .3s ease;
  cursor: pointer;
}

#prodcutDetail .subscGuide .offPriceBox .btnCart > a::before{
  content: '';
  display: block;
  width: 3rem;
  height: 3rem;
  background: url("../img/common/icon_cart_white.svg") center 0.3rem no-repeat;
  background-size: 2.025rem auto;
}


#prodcutDetail .subscGuide .caution{
  display: block;
  margin-top: 2rem;
}

#prodcutDetail .subscGuide .caution > li{
  text-align: left;
  font-size: 1.4rem;
  line-height: 2;
  font-weight: 400;
}
#prodcutDetail .subscGuide .caution > li.strong{font-weight: 700;}



/**************************************
#detailImgArea
**************************************/
#prodcutDetail #detailImgArea{
  display: block;
  width: 100%;
}


#detailImgArea .detailImgAreaInner{
  display: block;
}

/**/
#detailMainImg{
  display: block;
  width: 100%;
  padding: 0;
	overflow: hidden;
	position: relative;
}
#detailMainImg ul.sliderWrapper li{}

#detailMainImg img {
	display: block;
	width: 100%;
  height: auto;
}

#detailMainImg .soldOut{
  display: none;
}

#detailMainImg .container{
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 1;
}

#detailMainImg .sliderWrapper{}

#detailMainImg .slider {
  display: block;
  width: 100%;
  background: #FFFFFF;
  border-radius: 20px;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  position: relative;
}
#detailMainImg .slider::after{
	content: '';
	display: block;
	padding-top: var(--itemImgRatio);
}

#detailMainImg .slider > img{
	display: block;
	width: 100%; height: 100%;
  object-fit: contain;
}

#detailMainImg .slider.swiper-slide-active{
  pointer-events: auto;
}

#detailMainImg .control{display: block;}
#detailMainImg .control > .next{
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
	width: 1.5rem;
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
	z-index: 3;
	cursor: pointer;
  transition: opacity 0.3s ease;
  outline: none;
}

#detailMainImg .control > .prev{
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
	width: 1.5rem;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 3;
	cursor: pointer;
  transition: opacity 0.3s ease;
  outline: none;
}


#detailMainImg .control > .next > img,
#detailMainImg .control > .prev > img{display: block; width: 1.5rem; height: auto;}


/*
#detailMainImg .control > .next.swiper-button-disabled:not(.loopSlideActive),
#detailMainImg .control > .prev.swiper-button-disabled:not(.loopSlideActive){opacity: 0; cursor: inherit;}
*/


#detailMainImg .cnt{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0 0.5em;
  width: 7rem;
  height: 2.4rem;
  border-radius: 1.2rem;
  background: #F8F8F8;
  margin: 1rem auto 0;
  font-size: 1.3rem;
  line-height: 1;
  color: #000000;
}


/**** thumbs ***************/
#thumsListBox{
	display: block;
  width: 100%;
  padding: 0;
  margin-top: 2rem;
	position: relative;
}



#thumsListBox > ul{
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: flex-start;
  gap: 1.2rem 1.2rem;
}

#thumsListBox > ul > li{
  display: block;
  width: calc((100% - 3.6rem) / 4);
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border: 2px solid #FFFFFF;
  border-radius: 10px;
  position: relative;
  cursor: pointer;
  transition: opacity 0.3s ease,border 0.3s ease;
}

#thumsListBox > ul > li.current{
  border: 2px solid #42AC33;
}

#thumsListBox .slider > img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}



/**************************************
.rerationItems
**************************************/
#detailImgArea .rerationItems{display: none;}


/**************************************
.review
**************************************/
#dvProductReviewArea{
	display: block;
  max-width: 1000px;
  margin: 5rem auto 0;
  padding: 4rem 1rem;
  background: #FDF8E8;
  border: 1px solid #FAFAFA;
}


#dvProductReviewArea .sectionTTL{
  display: block;
  margin-bottom: 2.6rem;
  font-size: 2.5rem;
}



#dvReviewComment{
  word-break: break-all;
}


#dvReviewComment .noItem{
  display: block;
  height: auto;
  padding: 0;
  border: none;
  background-color: inherit;
  font-size: 1.6rem;
  font-weight: 400;
  color: #000000;
  text-align: center;
}

#dvReviewComment > dl{
  display: block;
  padding: 1.5rem;
  background: #FFFFFF;
  border-radius: 10px;
}
#dvReviewComment > dl + dl{
  margin-top: 1rem;
}

#dvReviewComment .reviewTTL{
  display: block;
  margin-bottom: 1.1rem;
  font-family: var(--font-title);
  font-size: 1.7rem;
  font-weight: 500;
  letter-spacing: 0.025em;
  line-height: 1.544117647058824;
  text-align: left;
  color: #2B100F;
}


#dvReviewComment .userName{
  display: block;
  margin-bottom: 1rem;
  font-size: 1.3rem;
  letter-spacing: 0.025em;
  color: #000000;
}

#dvReviewComment .userName > time{font-size: 1.3rem; color: #7C7C7C; font-weight: 400; white-space: nowrap; margin-left: 2rem;}


#dvReviewComment .reviewRate{
  display: block;
  width: 10.6rem;
  margin-bottom: 1.5rem;
  font-size: 1.4rem;
  font-weight: 500;
}
#dvReviewComment .reviewRate span{color: #EDC003;}
#dvReviewComment .reviewRate img{display: block; width: 100%; height: auto;}



#dvReviewComment .reviewComment{
  display: block;
  font-size: 1.5rem;
  letter-spacing: 0.025em;
  text-align: left;
  line-height: 2;
  color: #000000;
} 


#dvProductReviewArea a.btnMoreReview{
  display: none;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  gap: 0 1rem;
  width: 10rem;
  padding: 0 0 0 0;
  margin: 2.5rem auto 0;
  font-size: 1.3rem;
  font-weight: 500;
  color: #2C2C2C;
}
#dvProductReviewArea a.btnMoreReview > em{
  display: block;
  width: 1rem;
  height: 1rem;
  margin-left: 0.4rem;
  position: relative;
}

#dvProductReviewArea a.btnMoreReview > em::before,
#dvProductReviewArea a.btnMoreReview > em::after{
  content: '';
  display: block;
  width: 100%;
  height: 2px;
  background: #2C2C2C;
  position: absolute;
  left: 0;
  top:calc(50% - 1px);
}
#dvProductReviewArea a.btnMoreReview > em::after{transform: rotate(90deg);}


#dvProductReviewArea .pagerBox{margin-top: 3rem;}
#dvProductReviewArea .pagerBox > .cnt{display: none;}
#dvProductReviewArea .pagerBox > .listPager{}


#dvProductReviewArea .btnNext{
  display: block;
  width: 30rem;
  padding-top: 3rem;
  margin: 0 auto;
}
/*
#dvProductReviewArea  .noItemText + .btnNext{padding-top: 0;}
*/

#dvProductReviewArea .ReviewInputInner{
  margin: 0 auto;
}

#dvProductReviewArea .ReviewInputInner > dl{ 
  display: block;
}
#dvProductReviewArea .ReviewInputInner > dl + dl{margin-top: 2rem;}

#dvProductReviewArea .ReviewInputInner > dl > dt{
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-start;
  gap: 0.5rem 0.5rem;
  margin-bottom: 1.2rem;
  font-family: var(--font-title);
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.4;
  color: #000000;
}

#dvProductReviewArea .ReviewInputInner > dl.requiredForm > dt::after{
  content: '必須';
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  height: 1.8rem;
  margin-bottom: 0.2rem;
  padding: 0.3rem 0.5rem 0;
  border: 1px solid #B92E2E;
  border-radius: 5px;
  color: #B92E2E;
  font-size: 1.3rem;
  line-height: 1;
  letter-spacing: 0.02em;
}

#dvProductReviewArea .ReviewInputInner > dl > dd{
  display: block;
  width: 100%;
  font-size: 1.5rem;
  line-height: 1.4;
}

#dvProductReviewArea .ReviewInputInner > dl > dd.notes{margin-top: 0.8rem;}

#dvProductReviewArea .ReviewInputInner > dl > dd > .inputArea{
  display: block;
}

#dvProductReviewArea .ReviewInputInner > dl > dd > .inputArea > select{
  display: block;
  width: 100%;
}

#dvProductReviewArea .ReviewInputInner > dl > dd > .inputArea .notes{
  color: #7C7C7C;
  margin-top: 0.8rem;
}

#dvProductReviewArea .reviewBtnArea{
  display: block;
  padding-top: 3rem;
}

#dvProductReviewArea .reviewBtnArea > ul{
  display: flex;
  flex-direction: column;
  gap: 1rem 0;
  width: 30rem;
  margin: 0 auto;
}
#dvProductReviewArea .reviewBtnArea > ul > li{width: 100%;}
#dvProductReviewArea .reviewBtnArea > ul > li.btnNext{padding-top: 0;}

#dvProductReviewArea .reviewBtnArea > ul > li.btnBack > a,
#dvProductReviewArea .reviewBtnArea > ul > li.btnNext > a{height: 5rem; font-size: 1.7rem;}

#dvProductReviewArea .reviewBtnArea > ul > li.btnNext{order: 1;}
#dvProductReviewArea .reviewBtnArea > ul > li.btnBack{order: 2;}

#dvProductReviewArea .confirmMessage{
  display: block;
  margin-bottom: 2.5rem;
  font-size: 1.6rem;
  letter-spacing: 0.025em;
  text-align: center;
}

#dvProductReviewArea .confirmMessage > p{
  font-size: 1.6rem;
}

#dvProductReviewArea .noItemText{
  display: none;
  /*margin-bottom: 2.5rem;*/
  font-size: 1.6rem;
  letter-spacing: 0.025em;
  text-align: center;
}
#dvProductReviewArea .noItemText > p{font-size: 1.6rem;}

#dvProductReviewArea .reviewBoxTTL + .noItemText,
#dvProductReviewArea .sectionTTL + .noItemText{display: block;}

#dvProductReviewArea .reviewCompBox{
  display: block;
  font-size: 1.3rem;
  line-height: 2;
  font-weight: 400;
  letter-spacing: 0.025em;
  text-align: center;
}

#dvProductReviewArea .reviewCompBox strong{
  display: block;
  font-size: 1.8rem;
  line-height: 1.545454545454545;
  margin-bottom: 1.6rem;
  font-weight: 400;
}

#dvProductReviewArea .reviewCompBox + .reviewBtnArea > ul > li{
  display: block;
  width: 30rem;
}


#dvProductReviewArea:has(.reviewBack) #dvProductReviewButtonControls{display: none;}


#dvProductReviewArea:has(.ReviewInputInner) .btnNext.reviewBottom{display: none;}

#dvProductReviewArea .btnNext > a.login::after{display: none;}

/**************************************
#descriptionOpenArea
**************************************/
.descDetail1 + .descDetail2{margin-top: 5rem;}


/**************************************
#descriptionOpenArea
**************************************/
#descriptionBox{
  display: block;
  width: 100%;
  margin: 0 auto;
  position: relative;
}


#descriptionBox .descriptionInner{
  display: block;
  width: 100%;
  padding: 4rem 1.5rem;
  background: #F8F8F8;
  position: relative;
}

#descriptionBox > .btnMore + .descriptionInner{
  max-height: 35rem;
  padding-bottom: 12rem;
  overflow: hidden;
  position: relative;
  z-index: 1;
}
#descriptionBox > .btnMore + .descriptionInner::after{
  content: '';
  display: block;
  width: 100%;
  height: 30rem;
  background: linear-gradient(to bottom,rgba(250, 250, 250, 0) 0%, #f8f8f8 20rem,#f8f8f8 100%);
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 2;
}


#descriptionBox.open > .btnMore + .descriptionInner{
  max-height: none;
}
#descriptionBox.open > .btnMore + .descriptionInner::after{
  display: none;
}


#descriptionBox > .btnMore{
  display: block;
  width: 30rem;
  position: absolute;
  bottom: 4rem;
  left: calc(50% - 15rem);
  z-index: 2;
}

#descriptionBox > .btnMore > span{
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 5rem;
  background: #FFFFFF;
  border: 1px solid #2B100F;
  border-radius: 2.5rem;
  box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
  padding: 0 4.5rem 0;
  font-family: var(--font-title);
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  text-align: center;
  line-height: 1;
  text-decoration: none;
  color: #2B100F;
  position: relative;
  transition: opacity .3s ease;
  cursor: pointer;
}
#descriptionBox > .btnMore > span::before{
  content: 'もっと見る';
}

#descriptionBox.open > .btnMore > span::before{
  content: '閉じる';
}


#descriptionBox > .btnMore > span > em{
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  position: absolute;
  right: 2rem;
  top: calc(50% - 1.5rem / 2);
}

#descriptionBox > .btnMore > span > em::before,
#descriptionBox > .btnMore > span > em::after{
  content: '';
  display: block;
  width: 100%;
  height: 2px;
  background: #2B0F0F;
  position: absolute;
  left: 0;
  top: calc(50% - 1px);
}

#descriptionBox > .btnMore > span > em::after{
  transform: rotate(90deg);
  opacity: 1;
  transition: transform .3s ease,opacity .3s ease;
}

#descriptionBox.open > .btnMore > span > em::after{
  transform: rotate(0);
  opacity: 0;
}


#descriptionBox .descriptionInner > dl{
  display: block;
}
#descriptionBox .descriptionInner > dl:not(:nth-child(1)){margin-top: 3.1rem;}

#descriptionBox .descriptionInner > dl > dt{
  display: block;
  margin-bottom: 1rem;
  font-size: 1.8rem;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.025em;
  color: #000000;
}

#descriptionBox .descriptionInner > dl > dd{
  display: block;
  font-size: 1.5rem;
  font-weight: 400;
  letter-spacing: 0.025em;
  line-height: 2;
}

#descriptionBox .descriptionInner > dl.precautions > dt,
#descriptionBox .descriptionInner > dl.precautions > dd{
  color: #B92E2E;
}

#descriptionBox .descriptionInner ul.precautionsList{
  display: block;
}
#descriptionBox .descriptionInner ul.precautionsList > li::before{
  content: '⚪︎';
  color: #707070;
}

/**************************************
#productLP
**************************************/
#productLP{
  display: block;
  width: 100%;
  margin: 0 auto;
  position: relative;
}



#productLP .productLPInner{
  display: block;
  width: 100%;
  background: #F8F8F8;
  position: relative;
}

#productLP .productLPInner img{
  display: block;
  max-width: 100%;
  margin: 0 auto;
}

/**************************************
.rerationItems .historyItems
**************************************/
.recommendItems,
.rerationItems,
#productDetailSection .bottomHistoryItems{
  display: block;
  padding: 5rem 0 0;
  margin: 0 auto;
}

.recommendItems .itemList,
.rerationItems .itemList{padding: 0 1rem;}


.bottomHistoryItems{margin-top: 5rem;}

#descriptionOpenArea + .recommendItems,
#descriptionOpenArea + .rerationItems{padding-top: 5rem;}

#detailImgArea .recommendItems,
#detailImgArea .rerationItems{
  padding: 4rem 0 0;
  margin-top: 4rem;
  border-top: 1px solid #EBEBEB;
}

/**************************************
toolTip
**************************************/

#productDetailSection .invisible {display: block;}

#addFavoriteTip {
  display: none;
  margin: 0;
  padding: 4rem;
  width: 35.5rem;
  border-radius: 20px;
  background-color: #FFFCF0;
  box-shadow: 0 3px 6px rgba(0,0,0,.16);
  overflow: hidden;
  font-size: 1.6rem;
  text-align: center;
  z-index: 2000;
  color:#FFFFFF;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
}

#addFavoriteTip > span{
  display: block;
  color: #000000;
  margin-bottom: 1.5rem;
  font-size: 1.6rem;
  letter-spacing: 0.025em;
  text-align: center;
}

#addFavoriteTip a{
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  gap: 0 1rem;
  width: 24rem;
  height: 4.2rem;
  margin: 0 auto;
  background: var(--color-primary);
  border-radius: 2.1rem;
  /*
  box-shadow: 0 3px 6px rgba(0,0,0,.16);
  */
  padding: 0 2.5rem 0;
	font-family: var(--font-title);
  font-size: 1.7rem;
  font-weight: 500;
  letter-spacing: 0.025em;
  text-align: center;
  line-height: 1;
  text-decoration: none;
  color: #FFFFFF;
  position: relative;
  transition: none;
}

#addFavoriteTip a::after{
  content: '';
  display: block;
  width: 2.4rem;
  height: 0.6rem;
  mask-image: url("../img/common/arrow_btn.svg");
  mask-repeat: no-repeat;
  mask-position: 50% 50%;
  mask-size: 100%;
  -webkit-mask-image: url("../img/common/arrow_btn.svg");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: 50% 50%;
  -webkit-mask-size: 100%;
  background: var(--color-white);
  position: absolute;
  right: 2.5rem;
  top: calc(50% - 0.3rem);
  transition: transform 0.3s ease;
}



/**************************************
#cartInPriceCheck
**************************************/
#cartInPriceCheck{display: none;}






