@charset "UTF-8";

.pro-detail main {
  font-family: YakuHanMP, "Noto Serif JP", serif;
  font-style: normal;
}
.pro-detail .product-container {
  display: flex;
}
@media screen and (max-width: 736px){
  .pro-detail .product-container {
    flex-direction: column;
  }
}

.pro-detail .slider-wrap {
  width: 58%;
  height: 44.27rem;
  /* max-height: 850px; */
  max-height: 975px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.pro-detail #slider-thumbnail {
  width: 10.2%;
  width: 5.20833rem;
  /* max-width: 100px; */
  max-width: 120px;
  height: 44.27rem;
  /* max-height: 850px; */
  max-height: 975px;
}
.pro-detail #slider-thumbnail .swiper,
.pro-detail #slider-thumbnail .swiper-wrapper {
  height: 100%;
}
.pro-detail #slider-thumbnail .navigation {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}
.pro-detail #slide-prev,
.pro-detail #slide-next {
  position: absolute;
  left: 0;
  right: auto;
  margin: 0;
  background: center center / auto 5px no-repeat #d3d3d3;
  height: 17px;
  width: 100%;
  transform: translate(0,0);
}
.pro-detail #slide-prev::after,
.pro-detail #slide-next::after {
  display: none;
}
.pro-detail #slide-prev {
  top: 0;
  bottom: auto;
  background-image: url('data:image/svg+xml;utf8,<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 13.99 4.67"><defs><style>.cls-1{fill:%23fff;}</style></defs><polygon class="cls-1" points="0 4.67 7 0 13.99 4.67 0 4.67"/></svg>');

}
.pro-detail #slide-next {
  bottom: 0;
  top: auto;
  background-image: url('data:image/svg+xml;utf8,<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 13.99 4.67"><defs><style>.cls-1{fill:%23fff;}</style></defs><polygon class="cls-1" points="13.99 0 7 4.67 0 0 13.99 0"/></svg>');
}
.pro-detail #slider-thumbnail .swiper-button-disabled {
  opacity: 0;
}
.pro-detail #slider-thumbnail .swiper-slide {
  height: auto !important;
}
.pro-detail #slider-thumbnail .swiper-slide:hover {
  cursor: pointer;
}
.pro-detail #slider-main {
  width: 86.7%;
  width: 44.27rem;
  /* max-width: 850px; */
  max-width: 975px;
}
.pro-detail .slider-wrap .swiper-slide .image-wrap {
  padding-top: 100%;
  width: 100%;
  position: relative;
  overflow: hidden;
}
.pro-detail .slider-wrap .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
}
@media screen and (max-width: 736px){
  .pro-detail .slider-wrap {
    width: 100%;
    height: auto;
    max-height: auto;
    flex-direction: column-reverse;
  }
  .pro-detail #slider-thumbnail {
    width: 100%;
    max-width: 100%;
    height: auto;
    max-height: auto;
    margin-bottom: 6.25rem;
  }
  .pro-detail #slider-thumbnail .swiper {
    width: 100vw;
    padding: 0 20px;
    margin: 6.25rem calc(50% - 50vw);
  }
  .pro-detail #slider-main {
    width: 100%;
    max-width: 100%;
  }
  .pro-detail #slider-main .swiper {
    width: 100vw;
    margin: 0 calc(50% - 50vw);
    background-color: #ffffff;
  }
  .pro-detail #slider-main .swiper-slide {
    background-color: #ffffff;
  }
  .pro-detail #slider-main .swiper-slide img {
    object-fit: contain;
  }
}


.pro-detail .spec-wrap {
  width: 42%;
  padding-left: 6.25rem;
  display: flex;
  flex-direction: column;
}
.pro-detail #product-name {
  font-family: Marion, serif;
  font-weight: normal;
  font-size: clamp(40px, 2.60466rem, 60px);
  letter-spacing: .1em;
  line-height: 1.2;
  margin-bottom: .5em;
}

.pro-detail #product-des {
  font-size: clamp(13px, 0.83333rem, 19px);
  letter-spacing: .08em;
  line-height: 2.25;
  text-align: justify;
  /* margin-bottom: 5.2rem; */
  margin-bottom: 30px;
}

.pro-detail #product-spec {
  margin: auto 0;
}
.pro-detail #product-spec .product-spec-list:not(:last-of-type) {
  margin-bottom: 1.823rem;
}
.pro-detail #product-spec .product-spec-list .list-head {
  font-family: Marion, serif;
  font-weight: normal;
  font-size: clamp(16px, 1.04166rem, 24px);
  letter-spacing: .1em;
  line-height: 1.2;
  margin-bottom: .5em;
}
.pro-detail #product-spec .product-spec-text {
  font-size: clamp(13px, 0.83333rem, 19px);
  letter-spacing: .08em;
}


.pro-detail #product-price {
  /* margin-top: 5.2rem; */
  margin-top: 30px;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  flex-wrap: wrap;
}
.pro-detail #product-price .inner {
  display: flex;
  align-items: baseline;
  padding: 1rem 0;
}
.pro-detail #product-price .price {
  font-family: Marion, serif;
  font-weight: normal;
  font-size: clamp(18px, 1.66rem, 38px);
  letter-spacing: .04em;
  line-height: 1;
}
.pro-detail #product-price .price-range {
  position: relative;
  height: 100%;
  display: inline-block;
  margin: 0 5px;
  width: 1.40625rem;
  height: 1.40625rem;
}
.pro-detail #product-price .price-range::after {
  display: block;
  content: '';
  position: absolute;
  top: 55%;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #a1a1a1;
}
.pro-detail #product-price .tax {
  font-size: 12px;
  letter-spacing: .1em;
  line-height: 1.2;
  padding: 0 5px;
}
.pro-detail #product-price .btn-primary {
  font-size: clamp(12px, 0.73rem, 17px);
  padding: 0 1.3em;
}

@media screen and (max-width: 1366px) and (min-width: 767px){
  .pro-detail #product-price .btn-primary {

    width: 100%;
    max-width: 100%;
  }
}
@media screen and (max-width: 736px){
  .pro-detail .spec-wrap {
    width: 100%;
    padding-left: 0;
    display: block;
  }
  .pro-detail #product-name {
    font-size: clamp(16px, 6.25rem, 24px);
    margin-bottom: 1em;
  }
  .pro-detail #product-des {
    font-size: clamp(11px, 3.75rem, 15px);
    letter-spacing: .02em;
    line-height: 2.08333;
    margin-bottom: 13.125rem;
  }
  .pro-detail #product-spec {
    margin-top: 0;
  }
  .pro-detail #product-spec .product-spec-list:not(:last-of-type) {
    margin-bottom: 9.375rem;
  }
  .pro-detail #product-spec .product-spec-list .list-head {
    font-size: clamp(13px, 5rem, 19px);
  }
  .pro-detail #product-spec .product-spec-text {
    font-size: clamp(11px, 3.75rem, 14px);
    letter-spacing: .04em;
  }
  .pro-detail #product-price {
    margin-top: 12.5rem;
    display: block;
  }
  .pro-detail #product-price .inner {
    padding: 0 0 10px;
    flex-wrap: wrap;
  }
  .pro-detail #product-price .price {
    font-size: clamp(19px, 7.5rem, 24px);
  }
  .pro-detail #product-price .price-range {
    margin: 0 8px;
    width: 3.125rem;
    height: 3.125rem;
  }
  .pro-detail #product-price .price-range::after {
    top: 30%;
    left: 0;
  }
  .pro-detail #product-price .tax {
    font-size: 11px;
  }
}
