@charset "UTF-8";


/* コンテンツ幅の一括設定 */
.headerBnr_exc,
.product_wrap,
.history_wrap,
.variation_wrap {
  max-width: var(--maxWidth);
  margin: var(--maxWidthMargin);
  padding: var(--maxWidthPadding);
}

.product_wrap {
  display: flex;
  justify-content: space-between;
}


/* 右側
------------------------------------------------------------------------------------*/
.product_R {
  width: 340px;
  height: auto;
  max-height: calc(100vh - 168px);
  overflow-y: auto;
  position: sticky;
  top: 152px;
}

.product_tit {
  --fs: 1.8rem;
  --fh: 2.6rem;
  font-size: var(--fs);
  line-height: var(--fh);
  margin: calc(16px + ((var(--fs) - var(--fh)) / 2)) 0 calc(0px + ((var(--fs) - var(--fh)) / 2));
}

.product_tit_sub {
  --fs: 1.6rem;
  --fh: 2.2rem;
  font-size: var(--fs);
  line-height: var(--fh);
  margin: calc(16px + ((var(--fs) - var(--fh)) / 2)) 0 calc(0px + ((var(--fs) - var(--fh)) / 2));
}

/* 上段 */
.product_label1_wrap {
  display: flex;
  flex-wrap: wrap;
  margin-top: -4px;
}

.product_label1_wrap img{
  width: auto;
  height: 19px;
  margin: 4px 4px 0 0;
}

.productList_label_sample1,
.productList_label_sample2,
.productList_label_sample3,
.productList_label_sample4,
.productList_label_sample5,
.productList_label_sample6 {
  width: auto;
  height: 16px;
  margin: 4px 4px 0 0;
}

/* 下段 */
.product_label2_wrap {
  display: flex;
  flex-wrap: wrap;
  margin: calc(8px - 4px) 0 0;
}

.product_form {
  border-top: #ccc solid 1px;
  margin-top: 16px;
  padding-top: 16px;
}

.product_paramList_wrap {
  display: flex;
  flex-wrap: wrap;
  padding: 12px 16px;
}
.product_paramList_wrap:nth-of-type(2n+1) { background: #eee; }

.product_paramList_tit,
.product_paramList_tit_price {
  width: 108px;
  font-size: 1.4rem;
  display: grid;
  align-items: center;
  padding: 4px 0 4px;
}
.product_paramList_tit_price { padding: 6px 0 8px; }

.product_paramList_value,
.product_paramList_value_price,
.product_paramList_value_priceFree {
  --width: 108px;
  width: calc(100% - var(--width));
  font-size: 1.4rem;
  padding: 4px 0 4px;
}

.product_paramList_value_price {
  font-size: 1.6rem;
  font-weight: bold;
  position: relative;
  padding: 6px 0 8px;
}

.product_paramList_priceBlock {
  font-size: 1.3rem;
  font-weight: normal;
}

.product_paramList_value_priceFree {
  color: #d6294b;
  font-size: 1.6rem;
  font-weight: bold;
}

.product_paramList_value_price_sale {
  color: #e40c66;
  font-weight: bold;
  display: inline-block;
  margin-top: 4px;
}

.product_paramList_value_price_strikethrough {
  font-size: 1.4rem;
  text-decoration-line: line-through;
}

.product_paramList_value_price_off {
  background-color: #e40c66;
  border-radius: 2px;
  color: #fff;
  font-size: 1rem;
  font-weight: bold;
  white-space: nowrap;
  display: inline-block;
  position: relative;
  margin-top: 2px;
  padding: 1px 11px 1px 2px;
}
.product_paramList_value_price_off::after {
  content: "";
  width: 8px;
  height: 8px;
  background: url(/images/pc/label/label_arrow_m_pc.webp);
  background-size: 8px;
  display: block;
  position: absolute;
  top: 2.5px;
  right: 1.5px;
}

.product_paramList_select,
.product_paramList_toric_item,
.product_paramList_toric_cyl,
.product_paramList_toric_ax { 
  width: 100%;
  height: 36px;
  background: url(/images/pc/common/pulldown_arrow_pc.svg) #fff right 12px center no-repeat;
  background-size: 11px;
  border: 1px solid #ddd;
  border-radius: 5px;
  color: #3c3c3c;
  font-size: 1.4rem;
  padding: 0 32px 0 12px;
  -webkit-appearance: none;
}

.product_form_selectDisabled {
  height: auto;
  min-height: 34px;
  background: none;
  border: none;
  font-size: 1.4rem;
  line-height: 1.8rem;
  position: relative;
  pointer-events: none;
  padding-left: 0;
  padding-right: 0;
  text-wrap: wrap;
}

.product_paramList_select_alert {
  background-color: #fae6ed;
  border: #f59bc3 solid 1px;
}

/* 商品合計 */
.product_total_wrap {
  background: #fff;
  border-top: #ccc solid 1px;
  display: flex;
  flex-wrap: wrap;
  position: sticky;
  bottom: 48px;
  padding: 16px 0;
}

.product_total_tit_quantity,
.product_total_tit_point,
.product_total_tit_price {
  width: 90px;
  font-size: 1.4rem;
  display: grid;
  align-items: center;
}
.product_total_tit_price { font-size: 1.8rem; }

.product_total_value_quantity_wrap,
.product_total_value_point,
.product_total_value_price {
  width: calc(100% - 90px);
  font-size: 1.4rem;
  text-align: right;
}
.product_total_value_price { font-size: 1.8rem; }

.product_total_tit_point,
.product_total_value_point {  
  margin-top: 14px;
}

.product_total_tit_price,
.product_total_value_price {
  font-weight: bold;
  margin-top: 16px;
}
.product_total_value_price { color: #d6294b; }

/* セット数 */
.product_total_value_quantity_wrap {
  font-size: 1.4rem;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.product_total_value_quantity {
  width: 2em;
  background: none;
  border: none;
  color: #353535;
  font-size: 1.4rem;
  text-align: center;
  margin-left: 8px;
  padding: 0;
  -webkit-appearance: none;
}

.product_total_value_quantityBtn_plus,
.product_total_value_quantityBtn_minus {
  width: 24px;
  height: 24px;
  background: #eee;
  border: #ccc solid 1px;
  border-radius: 5px;
  color: #3c3c3c;
  font-size: 1.6rem;
  display: grid;
  place-items: center;
  cursor: pointer;
  margin: 0px 0 0 6px;
}
.product_total_value_quantityBtn_plus { padding-top: 1px; }

.product_total_value_quantityBtn_off {
  opacity: 0.3;
  cursor: default;
}

/* 一括反映 */
.js_allset_btn {
  width: 104px;
  height: 24px;
  background: rgb(248 89 147 / .05);
  border: #f85993 solid 1px;
  border-radius: 5px;
  color: #f85993;
  font-size: 1.4rem;
  font-weight:bold;
  text-align: center;
  display: grid;
  place-items: center;
  position: absolute;
  top: -53px;
  right: 14px;
  cursor: pointer;
  transition: background 300ms, color 300ms;
}
.js_allset_btn_off {
  background: #fff;
  border: #b6b6b6 solid 1px;
  color: #b6b6b6;
  cursor: default;
}

.js_allset_help_btn {
  width: 22px;
  height: 22px;
  background: #f3f3f3;
  border: #5a5a5a solid 1px;
  border-radius: 18px;
  color: #434343;
  font-size: 1.2rem;
  font-weight:bold;
  text-align: center;
  display: grid;
  place-items: center;
  position: absolute;
  top: -52px;
  right: -16px;
  z-index: 10;
  cursor: pointer;
}

.js_allset_help_txt {
  width: 220px;
  background: #fff;
  border-radius: 5px;
  box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.15);
  font-size: 1.4rem;
  font-weight: normal;
  line-height: 2rem;
  position: absolute;
  top: -162px;
  right: -12px;
  opacity: 0;
  pointer-events: none;
  padding: 13px 16px;
  transition: top 300ms, opacity 300ms;
}
.js_allset_help_txt_on {
  top: -172px;
  opacity: 1;
  pointer-events: auto;
}

.js_allset_help_txt:after {
  content: "";
  border-style: solid;
  border-color: #fff transparent transparent transparent;
  border-width: 9px 0 0 10px;
  filter: drop-shadow(3px 3px 2px rgba(0, 0, 0, 0.15));
  position: absolute;
  bottom: -9px;
  right: 8px;
  z-index: 1;
}


/* カートに入れるボタン
-----------------------*/
.btn_cart {
  height: 48px;
  color: #fff;
  font-size: 2rem;
  font-weight: bold;
  display: flex;
  justify-content: center;
  place-items: center;
  position: sticky;
  bottom: 0;
  cursor: pointer;
}
.btn_cart:hover {
  text-decoration: none;
  opacity: 1;
}

.btn_cart::before,
.btn_cart::after {
  content: "";
  width: 100%;
  height: 100%;
  background: #ccc;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -2;
}

.btn_cart::before {
  background: #f85993;
  border: 1px solid #f85993;
  border-radius: 28px;
  z-index: -1;
  transition: opacity 300ms;
}
.btn_cart:hover::before { opacity: 0.5; }

.btn_cart::after {
  background: #fff;
  border: 1px solid #fff;
  z-index: -2;
}

.btn_cart_off {
  height: 48px;
  background: #d7d7d7;
  border-radius: 28px;
  color: #a3a3a3;
  font-size: 2rem;
  font-weight: bold;
  display: grid;
  place-items: center;
  pointer-events: none;
  margin-top: 24px;
}
.btn_cart_off:hover { opacity: 1; }

.btn_cart_off_inner {
  background-size: 20px;
  padding-left: 24px;
}

.cart_period {
  font-size: 1.2rem;
  text-align: center;
  margin-top: 8px;
}


/* カート下ボタン
-----------------------*/
.cart_lowerBtn_wrap {
  display: flex;
  justify-content: center;
  margin: 24px 16px 0;
}

/* お気に入りボタン */
.cart_lowerBtn_fav,
.cart_lowerBtn_fav_off {
  color: #3c3c3c;
  font-size: 1.2rem;
  text-align: center;
  display: inline-block;
  cursor: pointer;
  margin-right: 16px;
}
.cart_lowerBtn_fav::before,
.cart_lowerBtn_fav_off::before {
  content: "";
  width: 19px;
  height: 16px;
  background: url(/images/pc/product/fav_gray_icon_pc.svg) no-repeat;
  display: block;
  margin: 0 auto 8px;
}
.cart_lowerBtn_fav_off::before { background: url(/images/pc/product/fav_icon_pc.svg) no-repeat; }


/* シェアボタン */
.cart_lowerBtn_share {
  color: #3c3c3c;
  font-size: 1.2rem;
  text-align: center;
  display: inline-block;
  cursor: pointer;
  margin-left: 16px;
}
.cart_lowerBtn_share::before {
  content: "";
  width: 19px;
  height: 16px;
  background: url(/images/pc/product/share_icon_pc.svg) no-repeat;
  display: block;
  margin: 0 auto 8px;
}


/* 左側
------------------------------------------------------------------------------------*/
.product_L {
  width: 580px;
  order: -1;
}

.product_img_wrap {
  position: relative;
  padding-top: 100%;
}

.product_img {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  transition: opacity 500ms;
}

.product_video { left: -9999px; }

.product_img_current {
  opacity: 1;
  z-index: 1;
}

.product_tmb_wrap {
  display: flex;
  flex-wrap: wrap;
}

.product_tmb {
  width: 52.6px;
  cursor: pointer;
  margin: 6px 6px 0 0;
  transition: opacity 300ms;
}
.product_tmb:hover { opacity: 0.5; }
.product_tmb:nth-of-type(10n) { margin-right: 0; }
.product_tmb_current { outline: 3px solid #a0b4d7; }


/* クーポン ここから
-----------------------*/
.coupon_wrap {
  width: 100%;
  background: #eee;
  margin-top: 40px;
  padding-top: 40px;
}

.coupon_mainTit {
  font-size: 2.4rem;
  font-weight: bold;
  text-align: center;
  margin-bottom: 24px;
}

.coupon {
  background: #fff;
  border: #ccc solid 1px;
  border-radius: 5px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  position: relative;
  margin: 8px 24px 0;
  padding: 14px 24px;
}

.coupon::before,
.coupon::after {
  content: "";
  width: 8px;
  height: 16px;
  background: url(/images/pc/common/coupon_ornament_pc.svg) no-repeat;
  position: absolute;
}

.coupon::before { left: -1px; }
.coupon::after {
  right: -1px;
  transform: scale(-1, 1);
}

.coupon_l {
  width: calc(100% - 120px);
  flex: 1;
  text-align: left;
  margin-right: 16px;
}

.coupon_tit {
  --fs: 1.4rem;
  --fh: 1.8rem;
  font-size: var(--fs);
  font-weight: normal;
  line-height: var(--fh);
  margin: calc(0px + ((var(--fs) - var(--fh)) / 2)) 0 calc(0px + ((var(--fs) - var(--fh)) / 2));
}

.coupon_detailLink {
  --fs: 2.1rem;
  --fh: 2.4rem;
  color: #f85993;
  font-size: var(--fs);
  font-weight: bold;
  line-height: var(--fh);
  display: inline-block;
  cursor: pointer;
  margin: calc(12px + ((var(--fs) - var(--fh)) / 2)) 0 calc(0px + ((var(--fs) - var(--fh)) / 2));
  transition: opacity 300ms;
}
.coupon_detailLink:hover { opacity: 0.5; }

.coupon_r { width: 140px; }

.coupon_getBtn {
  width: 140px;
  height: 36px;
  background: #f85993;
  border-radius: 16px;
  color: #fff;
  font-weight: bold;
  display: grid;
  place-items: center;
  cursor: pointer;
  margin: 0 auto;
  transition: background 200ms, color 200ms;
  transition: opacity 300ms;
}
.coupon_getBtn:hover { opacity: 0.5; }

.coupon_getBtn_off {
  background: #d7d7d7;
  color: #a3a3a3;
  cursor: default;
}

.coupon_Deadline {
  --fs: 1rem;
  --fh: 1.2rem;
  font-size: var(--fs);
  text-align: center;
  line-height: var(--fh);
  margin: calc(8px + ((var(--fs) - var(--fh)) / 2)) 0 calc(0px + ((var(--fs) - var(--fh)) / 2));
}

.coupon_addBtn_wrap {
  text-align: right;
  margin: 0 24px;
  padding: 8px 0 40px;
}

.coupon_addBtn_link {
  color: #1c70b5;
  font-size: 1.2rem;
  display: inline-block;
  cursor: pointer;
}


/* 商品説明
-----------------------*/
.description_wrap {}


/* レビュー
-----------------------*/
.review_wrap {
  border-top: #ccc solid 1px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 40px;
  padding-top: 40px;
  scroll-margin-top: 127px;
}

.review_tit {
  width: 100%;
  font-size: 2.4rem;
  text-align: center;
}

.total_review_star_wrap {
  width: 100%;
  font-size: 3.2rem;
  font-weight: bold;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 20px;
}

.total_review_star {
  color: #ccc;
  font-size: 3.5rem;
  white-space: nowrap;
  letter-spacing: 4px;
  display: inline-block;
  position: relative;
  z-index: 0;
  margin-right: 16px;
}

.total_review_star::before,
.total_review_star::after { content: '★★★★★'; }

.total_review_star::after {
  color: #f85993;
  white-space: nowrap;
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  overflow: hidden;
}

/* 星5 */
.total_review_star5::after { width: 100%; }
/* 星4.5 */
.total_review_star4_5::after { width: calc(90% - 2px); }
/* 星4 */
.total_review_star4::after { width: calc(80% - 2px); }
/* 星3.5 */
.total_review_star3_5::after { width: calc(70% - 2px); }
/* 星3 */
.total_review_star3::after { width: calc(60% - 2px); }
/* 星2.5 */
.total_review_star2_5::after { width: calc(50% - 2px); }
/* 星2 */
.total_review_star2::after { width: calc(40% - 2px); }
/* 星1.5 */
.total_review_star1_5::after { width: calc(30% - 2px); }
/* 星1 */
.total_review_star1::after { width: calc(20% - 2px); }
/* 星0.5 */
.total_review_star0_5::after { width: calc(10% - 2px); }
/* 星0 */
.total_review_star0::after { width: 0%; }


.review_number_wrap {
  width: 100%;
  font-size: 1.2rem;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 16px;
}

.review_number {
  font-size: 1.4rem;
  font-weight: bold;
  margin-left: 8px;
}

.review,
.review_pin {
  width: 278px;
  border: #ddd solid 1px;
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  position: relative;
  margin-top: 24px;
  padding: 16px 16px;
}

.review_pin::before {
  content: "";
  width: 12px;
  height: 12px;
  background: url(/images/pc/product/review_icon_pin_pc.svg) no-repeat;
  background-size: contain;
  display: block;
  position: absolute;
  top: -4px;
  right: -4px;
}

.review_date {
  font-size: 1.1rem;
  position: absolute;
  top: 20px;
  right: 16px;
}

.review_star {
  color: #f85993;
  font-size: 1.6rem;
  letter-spacing: 2px;
  order: -1;
  margin-bottom: 8px;
}

.review_user { font-size: 1rem; }

.review_txt {
  --fs: 1.2rem;
  --fh: 2.2rem;
  background: linear-gradient(to right, #ccc, #ccc 3px, transparent 3px, transparent 6px) top left / 6px 1px repeat-x;
  font-size: var(--fs);
  line-height: var(--fh);
  flex-grow: 1;
  order: 1;
  margin: calc(16px + ((var(--fs) - var(--fh)) / 2)) 0 calc(0px + ((var(--fs) - var(--fh)) / 2));
  padding-top: 16px;
}

.review_img_wrap {
  width: 212px;
  display: flex;
  justify-content: space-between;
  order: 2;
  margin-top: 16px;
}

.review_img {
  width: 100px;
  height: 100px;
  background: #bcb1b3;
  cursor: pointer;
  object-fit: contain;
}

.review_buyItem_wrap {
  width: calc(100% + 32px);
  font-size: 1.4rem;
  font-weight: bold;
  /* flex-grow: 1; */
  margin: 16px 0 0 -16px;
  padding: 0 16px;
}

.review_buyItem {
  font-size: 1.2rem;
  font-weight: normal;
  display: inline-block;
  margin-bottom: 4px;
  position: relative;
}

.review_buyItem:first-of-type::before {
  content: '';
  display: block;
  margin-top: 8px;
}

.review_buyItem::after { content: "・"; }
.review_buyItem:last-of-type:after { content: ""; }

.review_goodBtn {
  width: 130px;
  height: 20px;
  border: #ccc solid 1px;
  border-radius: 10px;
  font-size: 1rem;
  display: flex;
  justify-content: center;
  align-items: center;
  order: 4;
  cursor: pointer;
  margin-left: auto;
  margin: 16px 0 0 auto;
  padding: 0 8px;
}

.review_goodBtn::before {
  content: "参考になった";
  order: -1;
}

.review_goodBtn::after {
  content: "";
  width: 12px;
  height: 11px;
  background: url(/images/pc/product/review_icon_good_pc.svg) top left / 12px #fff no-repeat;
  order: -2;
  margin-right: 4px;
}

.review_moreBtn {
  width: 300px;
  height: 40px;
  border: #ccc solid 1px;
  border-radius: 20px;
  font-size: 1.4rem;
  font-weight: bold;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  margin: 16px 140px 0;
}

.review_moreBtn::before {
  content: "";
  width: 11px;
  height: 7px;
  background: url(/images/pc/common/more_icon_pc.svg) no-repeat;
  display: block;
  margin: 1px 6px 0 0px;
}

#js_reviewModal_wrap {
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.3);
  display: grid;
  place-items: center;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  overflow: hidden;
  opacity: 0;
  transition: opacity 250ms;
  pointer-events: none;
}

#js_reviewModal_wrap.js_reviewModal_wrap_open {
  opacity: 1;
  pointer-events: auto;
}

#js_reviewModal_inner {
  width: 100%;
  max-width: 520px;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
  position: relative;
  padding-bottom: 40px;
}

#js_reviewModal_close {
  width: 20px;
  position: absolute;
  top: 16px;
  right: 16px;
  cursor: pointer;
}

#js_reviewModal_tit {
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  padding-top: 32px;
}

#js_reviewModal_img_wrap {
  position: relative;
  margin: 24px 40px 0;
  padding-top: calc(100% - 80px);
}

.js_reviewModal_img {
  height: 100%;
  background: #bcb1b3;
  object-fit: contain;
  position: absolute;
  opacity: 0;
  top: 0;
  transition: opacity 250ms;
}
.js_reviewModal_img_on { opacity: 1; }

#js_reviewModal_prevBtn,
#js_reviewModal_nextBtn {
  width: 40px;
  height: 40px;
  background: url(/images/sp/common/modal_icon_arrow_sp.svg) center / contain no-repeat;
  display: block;
  position: absolute;
  top: calc(50% - 20px);
  cursor: pointer;
}
#js_reviewModal_prevBtn { left: -40px; }
#js_reviewModal_nextBtn {
  right: -40px; 
  transform: scale(-1, 1);
}

#js_reviewModal_prevBtn.js_reviewModal_btn_off,
#js_reviewModal_nextBtn.js_reviewModal_btn_off {
  display: none;
}

.product_contact {
  font-size: 1.4rem;
  text-align: center;
  margin: 24px auto 0;
  max-width: 320px;
}
.product_contact a{
  border-radius: 50px;
  display: inline-block;
  width: 100%;
  text-align: center;
  text-decoration: none;
  line-height: 48px;
  outline: none;
  color: #3c3c3c;
  background-color: #fff;
  position: relative;
  border: 1px solid #cacaca;
  transition: color 0.5s ease, background-color 0.5s ease, border-color 0.5s ease;
  overflow: hidden;
}
.product_contact a:hover {
  background-color: #f8599B;
  border-color: #f8599B;
  color: #fff;
  opacity: 1;
  text-decoration: none;
}

/* 最近チェックした商品
------------------------------------------------------------------------------------*/
.history_wrap {
  position: relative;
  margin-top: 80px;
}

.history_tit {
  height: 56px;
  background: #eee;
  font-size: 2rem;
  font-weight: bold;
  display: grid;
  place-items: center;
}

.history_slider_wrap {
  position: relative;
  overflow: hidden;
  margin: 12px auto 0;
}

/* swiper */
.history_wrap .swiper-slide { transition: opacity 300ms; }
.history_wrap .swiper-slide:hover { opacity: 0.5; }

.history_wrap .swiper-button-prev,
.history_wrap .swiper-button-next {
  content: "";
  background: rgba(255, 255, 255, 0.9);
  border-radius: 20px;
  width: 40px;
  height: 40px;
  display: grid;
  position: absolute;
  top: 0;
  z-index: 100;
  cursor: pointer;
  margin: calc(68px - 20px + 6.98%) 0 0 0;
  transition: opacity 300ms;
}
.history_wrap .swiper-button-prev { left: 4px; }
.history_wrap .swiper-button-next { right: 4px; }

.history_wrap .swiper-button-prev:hover,
.history_wrap .swiper-button-next:hover {
  opacity: 0.5;
}

.history_wrap .swiper-button-prev::after,
.history_wrap .swiper-button-next::after {
  content: "";
  width: 12px;
  height: 12px;
  border-right: #3c3c3c solid 2px;
  border-bottom: #3c3c3c solid 2px;
  display: block;
  position: absolute;
  top: calc(50% - 6px);
  transform: translate(-50%, -50%);
}

.history_wrap .swiper-button-prev::after { transform: rotate(-225deg); left: calc(50% - 3px); }
.history_wrap .swiper-button-next::after { transform: rotate(-45deg); left: calc(50% - 9px); }

.history_wrap .swiper-button-disabled,
.history_wrap .swiper-button-disabled {
  opacity: 0;
}


/* 類似商品
------------------------------------------------------------------------------------*/
.variation_wrap {
  position: relative;
  margin-top: 40px;
}

.variation_mainTit {
  height: 56px;
  background: #eee;
  font-size: 2rem;
  font-weight: bold;
  display: grid;
  place-items: center;
}

.variation_slider_wrap {
  position: relative;
  overflow: hidden;
  margin: 12px auto 0;
}

.variation_link {
  color: #222;
  display: block;
}
.variation_link:hover { text-decoration: none; }

/* 上段 */
.variation_label1_wrap {
  display: flex;
  flex-wrap: wrap;
  margin-top: -2px;
}

.variation_label1_wrap img {
  width: auto;
  height: 13px;
  margin: 4px 4px 0 0;
}

/* 下段 */
.variation_label2_wrap {
  display: flex;
  flex-wrap: wrap;
  margin-top: 0px;
}

.variation_tit {
  /* width: 130px; */
  font-size: 1rem;
  font-weight: normal;
  margin-top: 4px;
  /* text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden; */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  line-height: 1.4rem;
}

.variation_tit_sub {
  --fs: 1rem;
  --fh: 1.2rem;
  font-size: var(--fs);
  line-height: var(--fh);
  margin: calc(0px + ((var(--fs) - var(--fh)) / 2)) 0 calc(0px + ((var(--fs) - var(--fh)) / 2));
}

.variation_priceBlock {
  font-size: 1rem;
  display: block;
  margin-top: 2px;
}

.variation_price,
.variation_price_strikethrough {
  color: #000;
  font-size: 1.4rem;
  margin-top: 6px;
}
.variation_price_strikethrough,
.variation_price_strikethrough > .variation_priceBlock {
  font-size: 1rem;
  text-decoration-line: line-through;
}

.variation_price_sale {
  color: #e40c66;
  font-size: 1.4rem;
  font-weight: bold;
  display: inline-block;
  margin-top: 2px;
}

.variation_off {
  background-color: #e40c66;
  border-radius: 2px;
  color: #fff;
  font-size: 1rem;
  font-weight: bold;
  white-space: nowrap;
  display: inline-block;
  position: relative;
  margin-top: 2px;
  padding: 1px 11px 1px 2px;
}
.variation_off::after {
  content: "";
  width: 8px;
  height: 8px;
  background: url(/images/pc/label/label_arrow_m_pc.webp);
  background-size: 8px;
  display: block;
  position: absolute;
  top: 2.5px;
  right: 1.5px;
}

.variation_star_wrap { margin-top: 4px; }

.variation_star {
  color: #ccc;
  font-size: 1.5rem;
  white-space: nowrap;
  display: inline-block;
  position: relative;
  z-index: 0; 
}
.variation_star_none { display: none; }
.variation_star::before,
.variation_star::after { content: '★★★★★'; }
.variation_star::after {
  color: #f85993;
  white-space: nowrap;
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  overflow: hidden;
}

.variation_star_txt {
  color: #696969;
  font-size: 1.1rem;
  display: inline-block;
  padding: 0 4px;
}

.variation_star_linkTxt { display: none; }

/* 星5 */
.variation_star5::after { width: 100%; }
/* 星4.5 */
.variation_star4_5::after { width: 90%; }
/* 星4 */
.variation_star4::after { width: 80%; }
/* 星3.5 */
.variation_star3_5::after { width: 70%; }
/* 星3 */
.variation_star3::after { width: 60%; }
/* 星2.5 */
.variation_star2_5::after { width: 50%; }
/* 星2 */
.variation_star2::after { width: 40%; }
/* 星1.5 */
.variation_star1_5::after { width: 30%; }
/* 星1 */
.variation_star1::after { width: 20%; }
/* 星0.5 */
.variation_star0_5::after { width: 10%; }
/* 星0 */
.variation_star0::after { width: 0%; }

/* swiper */
.variation_wrap .swiper-slide { transition: opacity 300ms; }
.variation_wrap .swiper-slide:hover { opacity: 0.5; }

.variation_wrap .swiper-button-prev,
.variation_wrap .swiper-button-next {
  content: "";
  background: rgba(255, 255, 255, 0.9);
  border-radius: 20px;
  width: 40px;
  height: 40px;
  display: grid;
  position: absolute;
  top: 0;
  z-index: 100;
  cursor: pointer;
  margin: calc(68px - 20px + 6.98%) 0 0 0;
  transition: opacity 300ms;
}
.variation_wrap .swiper-button-prev { left: 4px; }
.variation_wrap .swiper-button-next { right: 4px; }

.variation_wrap .swiper-button-prev:hover,
.variation_wrap .swiper-button-next:hover {
  opacity: 0.5;
}

.variation_wrap .swiper-button-prev::after,
.variation_wrap .swiper-button-next::after {
  content: "";
  width: 12px;
  height: 12px;
  border-right: #3c3c3c solid 2px;
  border-bottom: #3c3c3c solid 2px;
  display: block;
  position: absolute;
  top: calc(50% - 6px);
  transform: translate(-50%, -50%);
}

.variation_wrap .swiper-button-prev::after { transform: rotate(-225deg); left: calc(50% - 3px); }
.variation_wrap .swiper-button-next::after { transform: rotate(-45deg); left: calc(50% - 9px); }

.variation_wrap .swiper-button-disabled,
.variation_wrap .swiper-button-disabled {
  opacity: 0;
}

.variation_wrap .swiper-pagination { display: none; }

/* 商品説明
-----------------------*/
.productIntro_title{
  width: 100%;
  font-size: 2.4rem;
  margin-bottom: 20px;
  text-align: center;
}

/* 回遊バナー
-----------------------*/
.headerBnr_exc{
  margin: 0 auto 30px;
  display: block;
}
.headerBnr_exc img{
  max-width: 100%;
  width: auto;
}

/* 回遊バナー商品説明上部
-----------------------*/
.btn_exc{
  margin: 60px auto;
  display: block;
}

/* その他の商品を探す
-----------------------*/
.productSearch_link{
  max-width: 320px;
  margin: 0 auto;
}
.productSearch_link a{
  border-radius: 50px;
  display: inline-block;
  width: 100%;
  text-align: center;
  text-decoration: none;
  line-height: 60px;
  outline: none;
  color: #3c3c3c;
  background-color: #fff;
  position: relative;
  border: 1px solid #cacaca;
  transition: all 0.5s ease;
  overflow: hidden;
}
.productSearch_link a:hover{
  background: #f8599B;
  border: 1px solid #f8599B;
  color: #fff;
  opacity: 1;
}

/*商品詳細*/
.product_detail_wrap{
  margin: 60px auto 0;
}
.productIntro_wrap + .product_detail_wrap{
  margin: 0 auto;
}
.review_wrap + .product_detail_wrap{
  margin: 60px auto 0;
}
.coupon_wrap + .product_detail_wrap{
  margin: 60px auto 0;
}
.product_detail_wrap ul li{
  list-style: none;
}
.tabs_container {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    margin: 0 auto 40px;
}
.tabs {
    display: flex;
    justify-content: space-around;
    width: 500px;
    margin: 40px auto 16px;
}
.tab {
    cursor: pointer;
    font-size: 2rem;
    padding-bottom: 5px;
}
.tab.active {
  border-bottom: 4px solid #f85993;
  font-weight: bold;
}
.tab_content {
  display: none;
  width: 100%;
  text-align: center;
}
.tab_content.active {
    display: block;
}
.bottom_tabs .tab{
  background-image: url(/images/pc/product/arrow_tab_btm.svg);
  background-size: 14px;
  background-repeat: no-repeat;
  background-position: left top 3px;
  padding-left: 23px;
}
.product_detail_lp img{
  width: 100%;
  height: auto;
  vertical-align: bottom;
}
/*SPEC*/
.product_detail_spec_block{
  border-bottom: 1px solid #ccc;
  display: flex;
}
.product_detail_spec_name{
  color: #3c3c3c;
  flex-basis: 30%;
  font-weight: 600;
  font-size: 1.4rem;
  line-height: 2.4rem;
  padding: 10px 16px 10px 10px;
  text-align: left;
}
.product_detail_spec_item{
  color: #3c3c3c;
  flex-basis: 70%;
  font-size: 1.4rem;
  line-height: 2.4rem;
  padding: 10px 0;
  text-align: left;
}
.product_detail_other{
  border-bottom: 1px solid #ccc;
  padding: 20px 0;
}
.product_detail_other_list{
  padding: 0 0 10px 18px;
}
.product_detail_wrap .product_detail_other_list li{
  font-size: 1.4rem;
  list-style: disc;
  margin-bottom: 10px;
  text-align: left;
}
.product_detail_wrap .product_detail_other_list li:last-child{
  margin-bottom: 0;
}
.product_detail_other_note{
  color: #f00;
  font-size: 1.4rem;
  text-align: left;
}
.product_detail_other_text{
  font-size: 1.4rem;
  line-height: 2.1rem;
  text-align: left;
}
.product_detail_other_note + .product_detail_other_text{
  margin-top: 20px;
}
.productIntro_wrap{
  margin: 30px auto;
}
.productIntro_text{
  font-size: 1.4rem;
  line-height: 2.2rem;
}

/*入荷予定入力用*/
.productArrival_wrap{
  border: 3px solid #f85993;
  padding: 20px;
  margin-top: 30px;
}
.productArrival_text{
  font-size: 1.4rem;
  line-height: 2.2rem;
}

/*LINE連携*/
.line_alignment{
  height: 40px;
  margin: 40px auto;
  width:70%;
}
.line_alignment a{
  align-items: center;
  background-color: #8bdf77;
  border-radius: 9999px;
  color: #fff;
  gap:10px;
  display: flex;
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}
.line_alignment a:hover{
  text-decoration: none;
}
.line_alignment .line_icon {
  width: 29px;
  height: 29px;
}