/*======================================
COMMON ---------------------------------
======================================*/
#contents {
  width: 100%;
}
.product_area {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
/* LOADING ---------------------------*/
.spinner:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);

  height: 10vw;
  width: 10vw;
  border: 2px solid #fff;
  border-radius: 50%;
  box-sizing: border-box;
  box-shadow: 0 0 .25em .25em #fff;
  animation: spinner 1s linear infinite;
}
@keyframes spinner {
  0% {
    height: 0;
    width: 0;
    opacity: 0;
  }
  50% {
    height: 2.5em;
    width: 2.5em;
    opacity: 1;
  }
  100% {
    height: 5em;
    width: 5em;
    opacity: 0;
  }
}





/*======================================
PRODUCT AREA LEFT ----------------------
======================================*/
.product_area_left {
  width: 60%;
}

/* ITEM IMAGE ------------------------*/
.product_img {
  margin-bottom: 1em;
}
.item-mainimg li img {
  width: 100%;
}
.product_img_thumb {
  display: flex;
  flex-wrap: wrap;
}
.product_img_thumb li {
  width: calc(92% / 5);
  margin: 0 2% .5em 0;
  height: calc(92% / 5);
  cursor: pointer;
}
.product_img_thumb li:nth-child(5n) {
  margin-right: 0;
}
.product_img_thumb li:nth-last-child(-n+5) {
  margin-bottom: 0;
}
.product_img_thumb li img {
  display: block;
  width: 100%;
  border-radius: 16px;
}

.bx-wrapper {
  border: 0 !important;
  margin-bottom: 50px !important;
  box-shadow: none !important;
  cursor: grab;
}
.bx-wrapper .bx-controls-direction a {
  display: block;
  top: 50% !important;
  width: 3em !important;
  height: 3em !important;
}
.bx-wrapper .bx-controls-direction .bx-next {
  background: url('https://file001.shop-pro.jp/PA01005/739/images/mode/arrow-r.svg')
              no-repeat right center / 100% !important;
  z-index: 1;
}
.bx-wrapper .bx-controls-direction .bx-prev {
  background: url('https://file001.shop-pro.jp/PA01005/739/images/mode/arrow-l.svg')
              no-repeat left center / 100% !important;
  z-index: 1;
}

/* PANKUZU LIST ----------------------*/
.pankuzu_lists {
  display: flex;
  flex-wrap: wrap;
}
.pankuzu_lists:last-of-type {
  margin-bottom: 1em;
}
.pankuzu_lists li {
  margin-right: .5em;
  margin-bottom: 1em;
}
.pankuzu_lists li:last-child {
  margin-right: 0;
}
.pankuzu_lists li a {
  color: #333;
  background: #eee;
  padding: .5em 1em;
  border-radius: 16px;
  margin-bottom: 1em;
  transition: background .3s;
}

/* FOR SP ----------------------------*/
@media (max-width:980px) {
  .product_area_left {
    width: 100%;
  }
}





/*======================================
PRODUCT AREA RIGHT ---------------------
======================================*/
.product_area_right {
  width: 38%;
}

/* ITEM NAME -------------------------*/
.product_area_right h2 {
  color: #555;
  font-size: 130%;
  text-align: left;
  line-height: 1.5em;
  display: block;
  padding-left: 0;
  border-left: 0;
  margin-bottom: 0;
}
.product_area_right h2:before {
  content: none;
}
.product_area_right h2:after {
  content: none;
}

/* ITEM MODEL ------------------------*/
.product_model {
  color: #8e8e8e;
  margin-bottom: 1em;
}

/* ITEM PRICE ------------------------*/
.product_price_area {
  text-align: right;
  margin-bottom: .25em;
}
.product_price {
  color: #870000;
  font-size: 240%;
  font-weight: bold;
  margin: 0;
}
.product_discount_rate {
  background: #cf0400;
  color: #fff;
  font-size: 130%;
  padding: .3em .5em;
  border-radius: .5em;
  font-weight: bold;
}
.product_discount_rate span {
  font-size: 80%;
}
.product_price_discount {
  color:#cf0400;
}
.product_price:after {
  content: '±ß(ÀÇ¹þ)';
  font-size:70%;
}
.product_regular_price,
.product_price_establish {
  font-size: 120%;
}
.product_price_point {
  color: #870000;
  font-size: 120%;
  font-weight: bold;
  text-align: right;
  margin-bottom: 1em;
}

/* OPTION SKU ------------------------*/
.prd-opt-table #option_tbl {
  width: 100%;
  overflow-x: scroll;
  border-collapse: collapse;
  border: 1px solid #8e8e8e;
  margin-bottom: 2em;
}
.prd-opt-table #option_tbl::-webkit-scrollbar {
  width: .5em;
}
.prd-opt-table #option_tbl::-webkit-scrollbar-thumb {
  background: #bbb;
  border: 3px solid #f6f6f6;
  border-radius: 100em;
  box-sizing: border-box;
}
.prd-opt-table #option_tbl::-webkit-scrollbar-track-piece:start {
  background: #f6f6f6;
}
.prd-opt-table #option_tbl::-webkit-scrollbar-track-piece:end {
  background: #f6f6f6;
}
.prd-opt-table #option_tbl th,
.prd-opt-table #option_tbl td {
  font-weight: normal;
  line-height: 1.5em;
  text-align: left;
  vertical-align: top;
  padding: .5em;
  border-right: 1px solid #8e8e8e;
  border-bottom: 1px solid #8e8e8e;
  box-sizing: border-box;
}
.prd-opt-table #option_tbl th:last-child,
.prd-opt-table #option_tbl td:last-child {
  border-right: 0;
}
.prd-opt-table #option_tbl tr:last-child th,
.prd-opt-table #option_tbl tr:last-child td {
  border-bottom: 0;
}
.prd-opt-table #option_tbl th {
  background: #eee;
  transition: background .3s;
}
.prd-opt-table #option_tbl tr:has(input:checked) th,
.prd-opt-table #option_tbl th.option_tbl_checked {
  background: #F0D988;
  transition: background .3s;
}
.prd-opt-table #option_tbl th span {
  color: #8e8e8e;
  font-size: 80%;
  display: block;
}
.prd-opt-table #option_tbl .table_price {
  font-size: 110%;
  font-weight: bold;
  line-height: 1.2em;
  display: block;
  margin-bottom: .5em;
}
.prd-opt-table #option_tbl .stock_zero {
  color: #fff;
  font-weight: bold;
  text-align: center;
  display: block;
  background: #870000;
  width: 100%;
  padding: .25em;
  border-radius: 16px;
  box-sizing: border-box;
  margin-top: .25em;
}
.prd-opt-table #option_tbl .t_stock_num {
  font-size: 110%;
  text-align: center;
  display: block;
}
.prd-opt-table #option_tbl .t_stock_num:before {
  content: '»Ä¤ê';
}
.prd-opt-table #option_tbl input,
.prd-opt-table #option_tbl br {
  display: none;
}
.prd-opt-table #option_tbl label {
  margin: 0;
}
.prd-opt-table #option_tbl label:after {
  content: '';
  display: block;
  background: #007bbb;
  width: 1.5em;
  height: 1.5em;
  margin: 0 auto;
  border: .75em solid #eee;
  border-radius: 50%;
  box-sizing: border-box;
  transition: border .1s;
}
.prd-opt-table #option_tbl td:has(input:checked) label:after {
  border: 3px solid #eee;
  transition: border .1s;
}
.prd-opt-select {
  margin-bottom: 1em;
}
.prd-opt-select p {
  font-size: 120%;
  font-weight: bold;
  margin: 1em 0 0;
}
.prd-opt-select select {
  font-size: 120%;
  width: 100%;
  height: 3em;
  border: 1px solid #333;
  border-radius: 16px;
  box-sizing: border-box;
  margin-bottom: 1em;
}

/* NAME OPTION -----------------------*/
.text-titles p {
  font-size: 120%;
  font-weight: bold;
  margin: 1em 0 0;
}
.text-titles input {
  font-size: 120%;
  width: 100%;
  height: 3em;
  border: 1px solid #333;
  border-radius: 16px;
  box-sizing: border-box;
}

/* CART FORM -------------------------*/
.product_cart_order {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}

/* STOCK -----------------------------*/
.product_stock_str {
  width: 50%;
  margin-bottom: 1em;
}
.product_stock_str span {
  color: #fff;
  font-weight: bold;
  background: #870000;
  padding: .5em 1em;
  border-radius: 16px;
  margin-right: .25em;
}
.product_stock_str strong {
  font-size: 150%;
  font-weight: normal;
  vertical-align: -5%;
}

/* ORDER QUANTITY --------------------*/
.order-quantity {
  width: 50%;
  display: flex;
  justify-content: right;
}
.order-quantity p,
.order-quantity input {
  margin-left: .5em;
}
.order-quantity p:first-of-type {
  margin-left: 0;
}
.order-quantity input {
  font-size: 120%;
  width: 4em;
  height: 2em;
  border: 1px solid #8e8e8e;
  border-radius: 16px;
  box-sizing: border-box;
  transform: translateY(-10%);
}

/* SALE PR ---------------------------*/
.cart_signup_login {
  position: relative;
  top: -.5em;
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin-top: 1em;
  border: 1px solid #333;
  border-radius: 16px;
  padding: 1.5em;
  box-sizing: border-box;
  box-shadow: 0 0 10px #ccc;
}
.cart_signup_login:after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 20px;
  height: 20px;
  background: #FFF;
  border-right: 1px solid #333;
  border-bottom: 1px solid #333;
  transform: translate(-50%, 55%) rotate(45deg);
  transform-origin: center center;
}
.cart_signup_login p:first-of-type {
  font-size: 120%;
  font-weight: bold;
  text-align: center;
  width: 100%;
}
.cart_signup_login p:nth-of-type(2) {
  color: #cf0400;
  font-size: 190%;
  font-weight: bold;
  margin: 0 auto .5em;
}
.cart_signup_login p:nth-of-type(2) span {
  color: #fff;
  font-weight: bold;
  background: #cf0400;
  font-size: 70%;
  padding: .3em .5em;
  border-radius: .5em;
  margin-right: .25em;
}
.cart_signup_login p:nth-of-type(2):after {
  content: '±ß(ÀÇ¹þ)';
  font-size: 70%;
}
.cart_signup_login a {
  color: #555;
  background: #F0D988;
  font-size: 120%;
  display: block;
  width: 49%;
  border-radius: 16px;
  text-align: center;
  padding: .5em 0;
  transition: color .3s,background .3s;
}
.cart_signup_login a:first-of-type {
  margin-right: 2%;
}
.cart_signup_login small {
  text-align: center;
  width: 100%;
}

/* ADD CART --------------------------*/
.stock_error {
  color: #bf0000;
  text-align: center;
  width: 100%;
}
.btn-addcart,
.disable_quick,
.btn-soldout,
.btn-membersonly,
.cart_in_modal__button,
.cart_in_modal__text-link,
.btn-addcart-quick {
  color: #f4f2df;
  font-size: 140%;
  font-weight: bold;
  letter-spacing: .1em;
  background-color: #870000;
  display: block;
  width: 100%;
  padding: 1em 2em;
  border: none;
  border-radius: 16px;
  box-sizing: border-box;
  margin-bottom: .5em;
  transition: background-color .3s;
}
.btn-soldout,
.btn-membersonly {
  background-color: #666;
  cursor: default !important;
}

/* QUICK CART ------------------------*/
.cart_in_modal,
.cart_in_error_modal {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, .7);
  z-index: 20000;
  display: flex;
}
.cart_in_modal__bg {
  background-color: rgba(0, 0, 0, .7);
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: 20000;
}
.cart_in_modal__outline {
  text-align: center;
  width: 90vw;
  height: 90vh;
  padding: 2em;
  background-color: #fff;
  border-radius: 16px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, .4);
  box-sizing: border-box;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  overflow-y: scroll;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.cart_in_modal__outline::-webkit-scrollbar{
  display: none;
}
.cart_in_modal__close-icon {
  margin: 0;
  cursor: pointer;
}
.cart_in_modal__close-icon:before,
.cart_in_modal__close-icon:after {
  content: "";
  width: 2em;
  height: 2px;
  display: block;
  position: absolute;
  top: 2.5em;
  right: 2em;
  background: #333;
  border-radius: 10px;
}
.cart_in_modal__close-icon:before {
  transform: rotate(-45deg);
}
.cart_in_modal__close-icon:after {
  transform: rotate(45deg);
}
.cart_in_modal__heading {
  font-size: 160%;
  font-weight: bold;
  padding-right: 2em;
}
.cart_in_modal__detail {
  display: flex;
  flex-flow: column;
  align-items: center;
  padding: 1em 0;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  margin-bottom: 1em;
}
.cart_in_modal__image {
  display: block;
  width: 30%;
  margin-bottom: 1em;
}
.cart_in_modal__name {
  font-size: 120%;
  margin: 0;
}
.cart_in_modal__button-wrap {
  display: flex;
  justify-content: center;
  margin-bottom: 5em;
}
.cart_in_modal__button,
.cart_in_modal__text-link {
  width: auto;
  margin: 0;
  cursor: pointer;
}
.cart_in_modal__button {
  margin-right: 2%;
}
.cart_in_modal__text-link,
.btn-addcart-quick {
  background: #007bbb;
  transition: background .3s;
}
.cart_in_error_modal__heading {
  font-size: 140%;
  line-height: 1.8em;
  margin-bottom: 3em;
}

/* FAVORITE --------------------------*/
.product__fav-item {
  width: 100%;
}
.product__fav-item button {
  color: #8e8e8e;
  outline: none;
  background: #eee;
  text-align: center;
  width: 100%;
  padding: .5em;
  border: 0;
  border-radius: 16px;
  margin-bottom: 2em;
  transition: background .3s,
              color .3s;
  cursor: pointer;
}
.product__fav-item button:after {
  content: "ÅÐÏ¿";
}
.product__fav-item .fav-items {
  color: #8B665E;
  background: #F0D988;
  transition: background .3s,
              color .3s;
}
.product__fav-item .fav-items:after {
  content: "²ò½ü";
}
.product__fav-item svg {
  width: 20px;
  height: 20px;
  vertical-align: -.35em;
  fill: currentColor;
  margin-right: 5px;
}

/* OTHER INFOMATION ------------------*/
.product_related_lists {
  margin-bottom: 1em;
}
.product_related_lists li {
  background: url(https://file001.shop-pro.jp/PA01005/739/images/mode/icon-arrow-r.png) no-repeat left center / .5em;
  padding-left: 1em;
  margin-bottom: .25em;
}

/* SNS SHARE -------------------------*/
.product_related_lists_share {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 2em;
}
.product_related_lists_share li {
  margin-right: .5em;
}

/* FOR SP ----------------------------*/
@media (max-width:980px) {
  .product_area_right {
    width: 100%;
  }

  /* QUICK CART ----------------------*/
  .cart_in_modal__image {
    width: 50%;
  }
  .cart_in_modal__button-wrap {
    flex-wrap: wrap;
  }
  .cart_in_modal__button-wrap * {
    width: 100%;
    margin: 0 0 .5em;
  }
}





/*======================================
INFOMATION AREA ------------------------
======================================*/
/* TAB -------------------------------*/
.product_tabs {
  display: flex;
  margin-bottom: 1em;
}
.product_tab {
  width: calc(96% / 3);
  margin-right: 2%;
}
.product_tab:nth-child(3n) {
  margin-right: 0;
}
.product_tab a {
  color: #333;
  font-size: 110%;
  font-weight: bold;
  text-decoration: none;
  text-align: center;
  background: #eee;
  display: block;
  width: 100%;
  padding: 1em 0;
  border-radius: 16px;
  box-sizing: border-box;
  transition: color .3s,
              background .3s;
  cursor: pointer;
}
.product_tab.active a {
  color: #f4f2df;
  background: #870000;
  transition: color .3s,
              background .3s;
}

/* PANEL -----------------------------*/
.product_panels {
  margin-bottom: 5em;
}
.product_panel {
  width: 0;
  height: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity .3s,
              visibility .3s;
}
.product_panel.active {
  width: 100%;
  height: auto;
  opacity: 1;
  visibility: visible;
  transition: opacity .3s,
              visibility .3s;
}
.product_text_not {
  font-size: 140%;
  text-align: center;
}

/* PRODUCT EXPLAIN -------------------*/
.product_explain {
  font-size: 110%;
  line-height: 1.5em;
}
.product_explain img {
  width: 100%;
}
.product_explain table,
.product_explain table th,
.product_explain table td {
  border-collapse: collapse;
  padding: 5px;
  border: 1px solid #333;
}
.product_explain table {
  width: 100%;
}
.product_explain table th,
.product_explain table td {
  padding: 1em;
}
.product_explain table th {
  background: #eee;
  width: 5em;
}
.product_text_not {
  text-align: center;
}

/* PRODUCT IAMGE ---------------------*/
.product_img_sub ul li {
  margin-bottom: 1em;
}
.product_img_sub ul li img {
  width: 100%;
}

/* PRODUCT REVIEW --------------------*/
.product_panel_review {
  font-size: 120%
  line-height: 1.5em;
  text-align: center;
}
.product_reviews {
  display: flex;
  flex-direction: column;
}
.reviewlist {
  text-align: left;
  padding-bottom: 1em;
  margin-bottom: 1em;
  border-bottom: 1px dashed #aaa;
  display: flex;
  flex-direction: column;
}
.reviewlist:last-of-type {
  padding-bottom: 0;
  margin-bottom: 0;
  border-bottom: 0;
}
.reviewlist_datas {
  display: flex;
  align-items: center;
  margin-bottom: .5em;
}
.icon_star {
  width: 6em;
  margin-right: .5em;
}
.icon_star svg path {fill: #aaa;}
.icon_star svg.review_star1 path:nth-child(1) {fill: #f2cb3f;}
.icon_star svg.review_star2 path:nth-child(-n+2) {fill: #f2cb3f;}
.icon_star svg.review_star3 path:nth-child(-n+3) {fill: #f2cb3f;}
.icon_star svg.review_star4 path:nth-child(-n+4) {fill: #f2cb3f;}
.icon_star svg.review_star5 path {fill: #f2cb3f;}
.review_poster {
  display: flex;
  flex-wrap: wrap;
}
.review_poster li {
  color: #8e8e8e;
  margin-right: .5em;
}
.review_poster li:last-child {
  margin-right: 0;
}
.reviewlist_content,
.shopcomment_content {
  line-height: 1.5em;
}
.review_ttl,
.shopcomment_ttl {
  font-size: 110%;
  font-weight: bold;
  margin-bottom: .25em;
}
.review_img {
  width: 100px;
  display: block;
  margin-bottom: .5em;
}
.review_img img {
  width: 100%;
  display: block;
}
.shopcomment {
  margin-top: 1em;
  background: #eee;
  padding: 1em;
}
.shopcomment_ttl span {
  color: #8e8e8e;
  font-size: calc(100% / 1.1);
  font-weight: normal;
  margin-left: .5em;
}
.btn-reviews {
  color: #f4f2df;
  font-size: 140%;
  font-weight: bold;
  letter-spacing: .1em;
  background-color: #870000;
  display: inline-block;
  padding: 1em 2em;
  border: none;
  border-radius: 16px;
  box-sizing: border-box;
  margin-top: 3em;
  transition: background-color .3s;
}





/*======================================
NOTICE AREA ----------------------------
======================================*/
.notice_fixed {
  margin-bottom: 30px;
}
.notice_fixed h3 {
  font-size: 100%;
  text-align: center;
  margin-bottom: 10px;
}
.notice_fixed ul {
  margin-left: 1em;
}
.notice_fixed ul li {
  list-style: disc;
  color: #555;
  font-size: 80%;
  line-height: 1.5em;
  margin-bottom: 10px;
}





/*======================================
HOVER FOR PC ---------------------------
======================================*/
@media (hover:hover) {
  /*====================================
  PRODUCT AREA LEFT --------------------
  ====================================*/
  /* PANKUZU LIST --------------------*/
  .pankuzu_lists li a:hover {
    color: #333;
    background: #F0D988;
    transition: background .3s;
  }



  /*====================================
  PRODUCT AREA RIGHT -------------------
  ====================================*/
  /* SALE PR -------------------------*/
  .cart_signup_login a:hover {
    color: #f4f2df;
    background: #870000;
    transition: color .3s,background .3s;
  }

  /* ADD CART ------------------------*/
  .btn-addcart:hover,
  .disable_quick:hover,
  .cart_in_modal__button:hover {
    color: #fff;
    background-color: #bf0000;
    transition: background-color .3s;
  }

  /* QUICK CART ----------------------*/
  .cart_in_modal__text-link:hover,
  .btn-addcart-quick:hover {
    background: #1cb1ff;
    transition: background .3s;
  }



  /*====================================
  INFOMATION AREA ----------------------
  ====================================*/
  /* PRODUCT REVIEW ------------------*/
  .btn-reviews:hover {
    color: #fff;
    background-color: #bf0000;
    transition: background-color .3s;
  }
}