.slick-dots {
  display: block;
  width: 100%;
  padding: 0;
  list-style: none;
  text-align: center;
  line-height: 0;
  margin: 15px 0 0;
}
.slick-dots li {
  display: inline-block;
  margin: 0 4px;
  cursor: pointer;
}
.slick-dots li button {
  font-size: 0;
  line-height: 0;
  padding: 0;
  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: " ";
  display: block;
  width: 10px;
  height: 10px;
  text-align: center;
  opacity: .25;
  background-color: black;
  border-radius: 50%;
}
.slick-dots li.slick-active button:before {
  opacity: .75;
  background-color: black;
}
.slick-dots li button.thumbnail img {
  width: 0;
  height: 0;
}
.slick-slider img {
  height: calc(100vw - 30px);
}

/*custom*/
p, span {
  word-break: break-all;
}
#page_product_detail .ec-productRole {
  padding: 15px 15px 60px;
}
.ec-productRole .ec-productRole__actions p.product-origin {
  padding-bottom: 0;
}
.ess-checkProduct {
  padding-bottom: 30px;
}
.product-detail-container .product-info {
  min-height: 550px;
}
input[type=radio] {
  -webkit-appearance: auto;
  height: 11px;
}
.product-detail-container {
  padding: 0 10px 0 10px;
}

.ec-productRole__profile a {
  color: #3666C6;
}

.ec-productRole__profile .social {
  display: none;
}

.social {
  margin-top: 10px;
}

.social a {
  text-decoration: none;
}

.social div {
  position: absolute;
  margin-top: -21px;
  margin-left: 81px;
}

.social img {
  width: 21px;
  margin-right: 12px;
  border-radius: 3px;
}
.social p {
  font-size: 10px;
}

.social .email img {
  background-color: #dc4b3e;
}

.product-detail-container .ec-sliderItemRole {
  padding: 0;
  margin-bottom: 20px;
}
.product-detail-container .ec-grid2__cell {
  color: #000000
}
.product-title {
  margin-bottom: 15px;
}
.product-title .ec-headingTitle {
  font-size: 12px;
  color: #BF1B1B;
  margin-bottom: 9px;
  font-weight: bold;
  line-height: 1;
}
.producer-name {
  margin-left: -9px;
  font-size: 18px;
  font-weight: bold;
}
.product-name {
  font-size: 24px;
  font-weight: bold;
}
.product-info__product-code {
  margin-bottom: 20px;
}
.dot-line {
  border-bottom: 1px solid #E4E4E4;
  margin: 0 2px;
}

.tax-price {
  margin: 11px 0 5px 0;
  font-size: 16px;
}
.large-number {
  font-size: 30px;
}
.sale-description {
  font-size: 14px;
  margin-bottom: 5px;
  color: #DD0000;
  font-family: sans-serif;
}
.sale-price {
  font-size: 16px;
  margin-bottom: 15px;
  color: #DD0000;
}
.fee-delivery, .detach-delivery {
  background-color: #DD0000;
}
.included-delivery {
  background-color: #00A63C;
}
.delivery-role .not-aggregate, .delivery-role .not-gift-box {
  font-size: 12px;
  color: #777777;
  padding: 4px;
  border: solid #777777 1px;
}
.delivery-note {
  font-size: 11px;
}
.product-note {
  font-size: 16px;
  padding: 15px 5px;
  /* font-family: "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif !important; */
}
.ec-productRole .ec-productRole__actions {
  font-size: 12px;
  font-weight: bold;
  padding: 16px 8px 8px 8px;
}
.ec-productRole .ec-productRole__actions p {
  padding-bottom: 12px;
}
.ec-productRole .ec-productRole__actions span {
  font-weight: 500;
}
.ec-productRole .ec-productRole__btn {
  width: 100%;
  margin-bottom: 15px;
  margin-top: 15px;
  min-width: unset;
}
.add-cart-btn button {
  border-radius: 3px;
  font-weight: normal;
  border:none;
  line-height: 1;
}
.add-cart-btn button:hover {
  opacity: 0.8 !important;
}
.add-cart__active {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  color: #fff;
  background-color: #8C1A22;
  height: 60px;
}
.add-cart__active:hover {
  color: #fff !important;
  background-color: #8C1A22 !important;
}
.add-cart__sold-out {
  color: #323232;
  background-color: #E4E4E4;
  height: 48px;
  opacity: 1 !important;
}
.add-cart__sold-out:hover {
  color: #323232 !important;
  background-color: #E4E4E4 !important;
}
.add-cart__active .icon-cart {
  margin-right: 28px;
  font-size: 28px;
}
.add-cart__active .icon-cart:before {
  color: #fff;
}
.no-delivery {
  font-size: 14px;
  background-color: #F3F1ED;
  width: 100%;
  padding: 18px 25px;
  margin-bottom: 18px;
}
.no-delivery label {
  color: #B80000;
  font-weight: bold;
  padding-bottom: 2px;
}
.no-delivery p {
  color: #323232;
}
#favorite {
  font-size: 12px;
  width: 100%;
  border-radius: 4px;
  border: 1px solid #BEBEBE;
  background-color: #F7F7F7;
  height: 33px;
  margin-bottom: 22px;
}
#favorite:hover, .back-page:hover {
  background-color: #efefef;
}
#favorite img {
  width: 20px;
  margin-top: -3px;
}
.additional-info {
  font-size: 12px;
  font-weight: bold;
  padding: 0 9px 16px 9px;
}
.additional-info span {
  color: #555555;
}
.catalog span {
  font-weight: bold;
}
.product-code {
  padding: 6px 0;
}
.consult-info-material {
  font-size: 11px;
  color: #555555;
  padding: 15px 12px;
}
.consult-info {
  font-size: 11px;
  color: #555555;
  padding: 18px 12px 44px 12px;
}
.consult-info-material .material{
  font-weight: bold;
  font-family: sans-serif;
}
.consult-info a {
  font-weight: 500;
}

.index-line {
  font-size: 9px;
}

.consult-alcohol {
  padding-top: 12px;
  font-size: 10px;
}

.back-page {
  font-size: 14px;
  border: 2px solid #BEBEBE;
  border-radius: 4px;
  width: 200px;
  margin: 50px 0 20px 0;
}

.back-detail a {
  text-decoration: none;
  color: #4D4D4D;
}

.back-page i {
  position: absolute;
  padding: 7px;
}

.back-page div {
  padding: 5px 70px;
}
.product-info .back-detail {
  display: none;
}
.consult-breadcrumb {
  font-size: 14px;
  text-decoration: underline;
  background-color: #f5f5f5;
  padding: 16px 0 16px 62px;
  list-style: none;
  line-height: 1.75;
  margin-top: 20px;
}
.consult-breadcrumb a {
  color: #292929;
}
.consult-breadcrumb a:hover {
  color: #1192d4;
}
.ec-modal .ec-inlineBtn--action {
  width: 146px;
  padding: 11px 0;
}
#advise-modal h4, #advise-modal-two h4 {
  color: #000000;
  margin-bottom: 25px;
}
.question-line {
  display: flex;
  justify-content: space-between;
  margin: 5px 0;
}
.question-line br {
  display: none;
}
#advise-modal-two .question-line {
  margin: 0;
}
.question-content {
  width: 450px;
}
.question-option {
  padding: 5px;
  background-color: #dceef6;
  margin-left: 5px;
}
.question-option label {
  width: 50px
}
#advise-modal .modal-dialog, #advise-modal-two .modal-dialog {
  width: 750px;
}
#advise-modal .modal-footer, #advise-modal-two .modal-footer {
  display: flex;
  justify-content: space-around;
}
#advise-modal .modal-footer button, #advise-modal-two .modal-footer button {
  width: 300px;
  height: 45px;
}
#advise-modal .modal-footer i, #advise-modal-two .modal-footer i {
  position: absolute;
  margin-left: -125px;
}
.delivery-role .delivery-tag {
  margin-left: -3px;
  background-color: #FFFFFF;
  color: #30aaea;
  border: solid #30aaea 2px;
  padding: 4px;
}
.page-not-found {
  text-align: center;
  margin-top: calc(50vh - 50px);
  font-size: 27px;
  font-weight: bold;
}
.role-price {
  padding: 15px 6px;
}

@media (max-width: 1199px) {
  #page_product_detail .ess-checkProduct {
    padding: 0;
  }
}

@media (max-width: 425px) {
  .product-detail-container {
    padding: 0;
  }
  #advise-modal .modal-dialog, #advise-modal-two .modal-dialog {
    width: 95%;
  }
  .question-content {
    width: unset;
    max-width: 200px;
    font-size: 12px;
  }
  .question-line br {
    display: block;
  }
  #advise-modal .modal-footer i, #advise-modal-two .modal-footer i {
    margin-left: -60px;
  }
  .producer-name {
    font-size: 18px;
  }
  .tax-price {
    margin: 0 0 12px 0;
  }
  .large-number {
    font-size: 28px;
  }
  .sale-description {
    margin-bottom: 12px;
    font-size: 14px;
  }
  .sale-price {
    margin-bottom: 12px;
  }
  .delivery-role {
    margin: 6px 0 0 0;
  }
  .delivery-note {
    font-size: 11px;
    margin: 0;
  }
  .product-note {
    font-size: 16px;
    padding: 18px 4px;
  }
  .ec-productRole .ec-productRole__actions {
    font-size: 12px;
    padding: 12px 8px 0 8px;
  }
  .no-delivery label {
    padding: 0 0 7px 0;
  }
  #favorite {
    font-size: 12px;
    height: 34px;
  }
  .additional-info {
    padding: 0 8px 18px 8px;
  }
  .product-code {
    padding: 7px 0;
  }

  .consult-info {
    font-size: 11px;
    padding: 17px 12px;
    line-height: 20px;
  }

  .consult-alcohol {
    padding-top: 15px;
  }

  .index-line {
    font-size: 9px;
  }

  .note-line {
    margin: -20px 0 0 0;
  }

  .ec-sliderItemRole .social {
    display: none;
  }

  .ec-productRole__profile .social {
    display: block;
  }

  .social {
    text-align: center;
    margin-top: 0;
  }

  .social div {
    position: unset;
    margin: unset;
  }

  .social img {
    width: 22px;
    margin-right: 15px;
  }

  .social p {
    font-size: 10px;
    margin: 33px 0 5px 0;
    padding-right: unset;
  }

  .back-page {
    font-size: unset;
    position: unset;
    margin: 33px 0 50px 0;
    margin-left: calc(50% - 100px);
    width: 200px;
  }

  .back-page i {
    padding: 8px;
  }

  .back-page div {
    padding: 5px 65px;
  }
  .consult-breadcrumb {
    padding-left: 14px;
  }

  .image-block .back-detail {
    display: none;
  }

  .product-info .back-detail {
    display: block;
    margin-bottom: 50px;
  }
}
@media (max-width: 320px) {
  .question-content {
    max-width: 140px;
  }
  #advise-modal .modal-footer i, #advise-modal-two .modal-footer i {
    margin-left: -45px;
  }
}

@media (min-width: 768px) {
  .slick-slider img {
    height: calc(50vw - 25px);
  }
  .item_nav {
    margin: 10px -5px 0;
  }
  .ec-sliderItemRole .slideThumb {
    width: 25%;
    padding: 0 5px;
    margin-bottom: 10px;
    height: calc(12.5vw - 13.75px);
    overflow: hidden;
  }
  .ec-sliderItemRole .slideThumb img {
    width: 100%;
  }
}

@media (min-width: 1130px) {
  .slick-slider img {
    height: 540px;
  }
  .ec-sliderItemRole .slideThumb {
    height: 127.5px;
  }
}

@media (min-width: 1200px) {
  .product-detail-container {
    margin-top: 35px;
  }
  .image-block {
    padding-right: 30px;
  }
  .slick-slider img {
    height: 390px;
  }
  .ec-sliderItemRole .slideThumb {
    height: 90px;
  }
}
