@charset "UTF-8";

/* ========================================
  レイアウト・コンテナ
  ======================================== */

.ec-layoutRole .ec-layoutRole__contents {
  max-width: 100%;
}

#product_review_area {
  max-width: 1440px;
}

.ec-productRole {
  padding-left: 24px;
  padding-right: 24px;
  max-width: 1320px;
}

@media screen and (max-width: 768px) {
  .ec-productRole {
    padding-left: 24px;
    padding-right: 24px;
  }

  .ec-sliderItemRole {
    padding: 0;
  }
}

/* ========================================
  商品詳細レイアウト
  ======================================== */

.izumo_productRole__container {
  justify-content: space-between;
}

.izumo_productRole__item_visual_box {
  width: 40.85% !important;
}

.izumo_productRole__profile_box {
  width: 59.15% !important;
  max-width: 716px;
  padding-right: 20px;
}

@media screen and (max-width: 768px) {
  .izumo_productRole__item_visual_box,
  .izumo_productRole__profile_box {
    width: 100% !important;
    padding-right: 0;
  }
}

/* ========================================
  商品画像スライダー
  ======================================== */

.ec-productRole .slick-slider {
  margin-bottom: 40px;
}

.ec-productRole .slick-dots {
  position: absolute;
  bottom: -58px;
  display: block;
  width: 100%;
  padding: 0;
  list-style: none;
  text-align: center;
}

.slick-dots li {
  position: relative;
  display: inline-block;
  width: 20px;
  height: 20px;
  margin: 0 5px;
  padding: 0;
  cursor: pointer;
}

.slick-dots li button {
  font-size: 0;
  line-height: 0;
  display: block;
  width: 20px;
  height: 20px;
  padding: 5px;
  cursor: pointer;
  color: transparent;
  border: 0;
  outline: none;
  background: transparent;
}

.slick-dots li button:hover,
.slick-dots li button:focus {
  outline: none;
}

.slick-dots li button:hover:before,
.slick-dots li button:focus:before {
  opacity: 1;
}

.slick-dots li button:before {
  content: " ";
  line-height: 20px;
  position: absolute;
  top: 0;
  left: 0;
  width: 16px;
  height: 16px;
  text-align: center;
  background-color: #FFFFFF;
  border-radius: 50%;
  border: 1.5px solid #CCCCCC;
}

.slick-dots li.slick-active button:before {
  background-color: #CCCCCC;
}

.slick-dots li button.thumbnail img {
  width: 0;
  height: 0;
}

.slick-slide img {
  object-fit: contain;
  max-height: 480px;
}

.izumo_slideThumb {
  width: 25%;
  max-width: 116px;
}

@media screen and (max-width: 767.98px) {
  .slick-slide img {
    height: 327px;
  }
}

/* ========================================
  商品説明セクション
  ======================================== */

.izumo_description_detail {
  margin-top: 30px;
  border-top: 1px solid #CCCCCC;
}

.ec-productRole .ec-productRole__category {
  border-bottom: 0;
  border-top: 1px solid #CCCCCC;
}

@media screen and (max-width: 767.98px) {
  .izumo_description_detail {
    margin-top: 24px;
  }
}

/* ========================================
  商品タイトル・お気に入りボタン
  ======================================== */

.izumo_productRole__title_box {
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid #CCCCCC;
  padding: 0 0 16px 0;
}

.izumo_favorite_btn_box {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.izumo_favorite_btn,
.izumo_favorite_btn:hover,
.izumo_favorite_btn:focus,
.izumo_favorite_btn:focus-visible,
.izumo_favorite_btn:active {
  background: url(../../img/product_detail/icon_favorite.png) no-repeat center center/ 40px;
  border: none;
  width: 40px;
  height: 40px;
  cursor: pointer;
  padding: 0;
  color: #000000;
  box-shadow: none;
  outline: 0;
}

.izumo_favorite_btn:hover {
  opacity: 0.7;
}

.ec-blockBtn--cancel.izumo_favorite_btn_disabled:disabled {
  background: url(../../img/product_detail/icon_favorite_disabled.png) no-repeat center center/ 40px;
  cursor: not-allowed;
}

.ec-headingTitle {
  margin: 0;
}

.ec-productRole__title {
  margin-right: 1em;
}

.izumo_favorite_btn_text {
  font-size: var(--i-pc-10px);
  margin-top: 0.5em;
  width: 5em;
}

@media screen and (max-width: 767.98px) {
  .izumo_productRole__title_box {
    flex-direction: column;
  }

  .izumo_favorite_btn_box {
    align-items: flex-end;
  }
}

/* ========================================
  商品タグ・コード
  ======================================== */

.ec-productRole .ec-productRole__tags {
  margin: 0;
  padding: 0;
  border: 0;
}

.ec-productRole .ec-productRole__code {
  border-bottom: 1px solid #CCCCCC;
}

/* ========================================
  商品情報レイアウト
  ======================================== */

.izumo_productRole__box {
  display: flex;
  align-items: center;
}

.izumo_productRole__left {
  width: 215px;
  font-size: var(--i-pc-14px);
  color: #1E1E1E;
}

.izumo_productRole__right {
  width: calc(100% - 215px);
  font-size: var(--i-pc-32px);
  font-weight: bold;
  color: #DE5D50;
}

@media screen and (max-width: 768px) {
  .izumo_productRole__left {
    width: 180px;
  }

  .izumo_productRole__right {
    width: calc(100% - 180px);
  }
}

/* ========================================
  価格表示
  ======================================== */

.ec-productRole .ec-productRole__price {
  border: 0;
}

.izumo_com_correction_price {
  text-align: left;
}

.ec-productRole .ec-productRole__priceRegular {
  padding-top: 24px;
}

.ec-productRole__priceRegularPrice,
.ec-productRole .ec-productRole__priceRegularTax {
  font-size: var(--i-pc-16px);
  color: #1E1E1E;
}

.ec-price .izumo_productRole__left,
.ec-price .ec-price__tax {
  font-size: var(--i-pc-18px);
  color: #1E1E1E;
}

.ec-price .ec-price__price {
  font-size: var(--i-pc-32px);
  padding: 0;
}

.izumo_yen {
  font-size: 0.75em;
}

@media screen and (max-width: 768px) {
  .ec-productRole .ec-productRole__price {
    padding-bottom: 16px;
  }

  .izumo_productRole__right {
    text-align: right;
  }

  .ec-productRole .ec-productRole__priceRegular {
    padding-top: 16px;
    padding-bottom: 8px;
  }

  .ec-productRole__priceRegularPrice,
  .ec-productRole .ec-productRole__priceRegularTax {
    font-size: var(--i-sp-12px);
  }

  .ec-price .ec-price__price {
    font-size: var(--i-sp-24px);
    text-align: right;
  }
}

/* ========================================
  会員証表示
  ======================================== */

.izumo_productRole__member-card {
  display: flex;
  gap: 4px;
  padding: 6px 0px 24px;
}

.izumo_productRole__member-card img {
  width: 32px;
  height: auto;
  object-fit: contain;
}

@media screen and (max-width: 768px) {
  .izumo_productRole__member-card {
    margin-top: -20px;
  }
}

/* ========================================
  配送情報
  ======================================== */

.izumo_productRole__delivery_info {
  font-size: var(--i-pc-14px);
  margin-bottom: 24px;
  color: #666666;
}

/* ========================================
  商品オプションフォーム
  ======================================== */

.izumo_productRole__form1 .ec-productRole__actions {
  padding: 24px 0 14px;
}

.izumo_productRole__form1 .izumo_productRole__form1_box .mb-3,
.izumo_productRole__form1 .izumo_productRole__form1_option_box,
.izumo_productRole__form1 .ec-numberInput {
  display: flex;
  align-items: baseline;
  margin-top: 10px;
}

.izumo_productRole__form1 .izumo_productRole__form1_box .mb-3 label,
.izumo_productRole__form1 .izumo_productRole__form1_option_box .option_Label,
.izumo_productRole__form1 .ec-numberInput .izumo_productRole__form1_quantity_label {
  width: 215px;
  margin: 0;
}

.izumo_productRole__form1 .izumo_productRole__form1_box .mb-3 label,
.izumo_productRole__form1 .izumo_productRole__form1_option_box .option_Label label,
.izumo_productRole__form1 .ec-numberInput .izumo_productRole__form1_quantity_label {
  font-size: var(--i-pc-16px);
  font-weight: normal;
  color: #666666;
}

.izumo_productRole__form1 .ec-select select,
.izumo_productRole__form1 .izumo_productRole__form1_option_box .izumo_productRole__form1_option_form,
.izumo_productRole__form1_option_radio,
.izumo_productRole__form1_option_checkbox {
  width: calc(100% - 215px);
  background-color: #FFFFFF;
}

.izumo_productRole__form1 .izumo_productRole__form1_option_box .izumo_productRole__form1_option_form select {
  width: 100%;
}

.izumo_productRole__form1 .izumo_productRole__form1_option_box textarea {
  margin-bottom: 16px;
}

.izumo_productRole__form1_option_radio,
.izumo_productRole__form1_option_checkbox {
  display: flex;
  flex-wrap: wrap;
  row-gap: 5px;
  column-gap: 10px;
}

.izumo_productRole__form1_option_radio .form-check {
  padding: 0;
}

.ec-productRole .ec-productRole__actions .ec-select select {
  min-width: 100px;
}

@media screen and (max-width: 768px) {
  .izumo_productRole__form1 .ec-productRole__actions {
    padding-top: 16px;
  }

  .izumo_productRole__form1 .izumo_productRole__form1_box .mb-3,
  .izumo_productRole__form1 .izumo_productRole__form1_option_box,
  .izumo_productRole__form1 .ec-numberInput {
    flex-direction: column;
  }

  .izumo_productRole__form1 .izumo_productRole__form1_box .mb-3 label,
  .izumo_productRole__form1 .izumo_productRole__form1_option_box .option_Label label,
  .izumo_productRole__form1 .ec-numberInput .izumo_productRole__form1_quantity_label {
    margin-bottom: 5px;
  }

  .izumo_productRole__form1 .ec-select select,
  .izumo_productRole__form1 .izumo_productRole__form1_option_box .izumo_productRole__form1_option_form,
  .izumo_productRole__form1_option_radio,
  .izumo_productRole__form1_option_checkbox {
    width: 100%;
  }
}

/* ========================================
  カート追加ボタン
  ======================================== */

.ec-productRole .ec-productRole__btn {
  width: calc(100% - 215px);
  margin: 0 0 0 auto;
  min-width: 176px;
}

.ec-productRole .ec-productRole__btn .ec-blockBtn--action {
  border-color: #F19D54;
  background: #F19D54;
  border-radius: 4px;
}

.ec-productRole .ec-productRole__btn .ec-blockBtn--action .izumo_add_cart_icon {
  width: 24px;
}

.ec-productRole .ec-productRole__btn .ec-blockBtn--action:hover {
  opacity: 0.7;
}

@media screen and (max-width: 768px) {
  .ec-productRole .ec-productRole__btn {
    width: 100%;
    max-width: 327px;
    margin: 0 auto;
  }
}

