@charset "UTF-8";
.cart-region {
  background-color: #FBFBFB;
  border-radius: 1rem;
  box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.26);
  margin: 0 0 2rem;
  padding: 3%;
}
.cart-region .inner {
  display: grid;
  grid-template-columns: auto 26rem;
  gap: 3rem;
  /* checkboxがチェックされたら（複数商品文言） */
}
@media screen and (max-width: 768px ) {
  .cart-region .inner {
    grid-template-columns: auto;
  }
}
.cart-region .inner .product .each-cart {
  display: grid;
  grid-template-columns: 18rem auto 18rem;
  grid-template-rows: auto auto;
  align-items: center;
  -moz-column-gap: 3rem;
       column-gap: 3rem;
  row-gap: 1rem;
  border-bottom: 0.1rem solid #ccc;
  padding: 1rem;
  /* checkboxがチェックされたら */
  /* is_saleが付与されていたら（セール） */
  /* is_battery--sold_outが付与されていたら（在庫なし） */
  /* is_pre_orderが付与されていたら（予約販売） */
  /* おすすめアクセサリ */
}
@media screen and (min-width: 769px ) {
  .cart-region .inner .product .each-cart:last-child {
    border-bottom: none;
  }
}
@media screen and (max-width: 768px ) {
  .cart-region .inner .product .each-cart {
    grid-template-columns: auto;
    grid-template-rows: auto;
  }
}
.cart-region .inner .product .each-cart .product-image {
  display: grid;
  margin-inline: auto;
  grid-row: 1/3;
}
@media screen and (max-width: 768px ) {
  .cart-region .inner .product .each-cart .product-image {
    grid-row: 2/3;
  }
}
.cart-region .inner .product .each-cart .product-image img {
  width: auto;
  max-width: 18rem;
  max-height: 18rem;
}
.cart-region .inner .product .each-cart .product-image .open-modal {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  border: 0.1rem solid #26BDFB;
  border-radius: 0.6rem;
  padding: 0 1rem;
  background-color: #fff;
  color: #26BDFB;
  font-size: 1.6rem;
  font-weight: bold;
  transition: filter 0.3s;
}
.cart-region .inner .product .each-cart .product-image .open-modal:hover {
  filter: brightness(1.1);
}
.cart-region .inner .product .each-cart .product-image label[for=SP104579-0000337230] {
  display: none;
}
@media screen and (max-width: 768px ) {
  .cart-region .inner .product .each-cart .product-image:has(label[for=SP104579-0000337230]) img {
    display: none;
  }
}
.cart-region .inner .product .each-cart .product-name {
  align-self: flex-end;
}
.cart-region .inner .product .each-cart .product-name .upper-text {
  font-size: 1.2rem;
  font-weight: bold;
  color: #EF7F38;
}
.cart-region .inner .product .each-cart .product-name label {
  display: grid;
  grid-template-columns: 4rem 1fr;
  align-items: center;
  margin-bottom: 0.5rem;
}
.cart-region .inner .product .each-cart .product-name label .check-circle {
  background-color: #fff;
  border-radius: 0.2rem;
  border: 0.1rem solid #DFDFDF;
  width: 3rem;
  height: 3rem;
  display: block;
  position: relative;
}
.cart-region .inner .product .each-cart .product-name label .check-circle::before {
  content: "";
  border-left: 0.6rem solid #DFDFDF;
  border-bottom: 0.6rem solid #DFDFDF;
  width: 1.5rem;
  height: 0.8rem;
  transform: rotate(-45deg);
  left: 0.3rem;
  top: 0.5rem;
  position: absolute;
}
.cart-region .inner .product .each-cart .product-name label .name {
  font-size: 2rem;
  line-height: 1.2;
}
.cart-region .inner .product .each-cart .product-message {
  grid-column: 2/3;
  grid-row: 2/3;
  align-self: flex-start;
}
@media screen and (max-width: 768px ) {
  .cart-region .inner .product .each-cart .product-message {
    grid-column: 1/2;
    grid-row: 3/4;
  }
  .cart-region .inner .product .each-cart .product-message .message {
    text-align: center;
  }
}
.cart-region .inner .product .each-cart .product-price {
  grid-row: 1/3;
}
@media screen and (max-width: 768px ) {
  .cart-region .inner .product .each-cart .product-price {
    grid-row: 4/5;
  }
}
.cart-region .inner .product .each-cart .product-price .end-date {
  display: none;
  text-align: center;
  font-size: 1.5rem;
  color: #bb0000;
}
.cart-region .inner .product .each-cart .product-price .price-inner {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  position: relative;
}
.cart-region .inner .product .each-cart .product-price .price-inner p {
  text-align: right;
  font-size: 2rem;
}
.cart-region .inner .product .each-cart .product-price .price-inner p::after {
  content: "円";
}
.cart-region .inner .product .each-cart .product-price .price-inner .cheap-price {
  display: none;
  color: #BB0000;
}
.cart-region .inner .product .each-cart .product-price .cart_item__point {
  width: initial;
}
.cart-region .inner .product .each-cart .product-price .cart_item__btm_wording .cart_item__btm_wording_stock {
  display: none;
}
.cart-region .inner .product .each-cart .product-price .cart_item__btm_wording .cart_item__btm_wording_postage {
  display: none;
}
.cart-region .inner .product .each-cart .product-price .cart_item__btm_wording .cart_item__btm_wording_shipping {
  display: none;
  text-align: center;
  font-size: 1.2rem;
}
.cart-region .inner .product .each-cart .product-price .cart_item__btm_wording .cart_item__btm_wording_shipping .shipping_cutoff_time {
  display: none;
}
.cart-region .inner .product .each-cart:has(.product-name input:checked) {
  background-color: #E5F7FE;
}
.cart-region .inner .product .each-cart:has(.product-name input:checked) .product-name .check-circle {
  border: 0.1rem solid #00BDFF;
  background-color: #00BDFF;
}
.cart-region .inner .product .each-cart:has(.product-name input:checked) .product-name .check-circle::before {
  border-left: 0.6rem solid #fff;
  border-bottom: 0.6rem solid #fff;
}
.cart-region .inner .product .each-cart.is_sale .end-date {
  display: block;
}
.cart-region .inner .product .each-cart.is_sale .price-inner::after {
  content: "↓";
  position: absolute;
  left: 100%;
  top: 50%;
  transform: translateY(-50%);
  font-size: 2.4rem;
  font-weight: bold;
  color: #BB0000;
}
.cart-region .inner .product .each-cart.is_sale .price-inner .cheap-price {
  display: block;
}
.cart-region .inner .product .each-cart.is_battery--sold_out {
  background-color: #DFDFDF;
}
.cart-region .inner .product .each-cart.is_battery--sold_out .product-name label {
  pointer-events: none;
}
.cart-region .inner .product .each-cart.is_battery--sold_out .product-name label .check-circle {
  background-color: #bababa;
}
.cart-region .inner .product .each-cart.is_battery--sold_out .product-name label .check-circle::before {
  border-left: 0.6rem solid #ADADAD;
  border-bottom: 0.6rem solid #ADADAD;
}
.cart-region .inner .product .each-cart.is_battery--sold_out .cart_item__btm_wording::after {
  content: "在庫なし";
  font-size: 1.2rem;
  display: flex;
  justify-content: center;
}
.cart-region .inner .product .each-cart.is_pre_order .cart_item__btm_wording_shipping {
  display: block !important;
}
.cart-region .inner .product .each-cart.is_pre_order .cart_item__btm_wording_shipping .shipping_ship_date::before {
  content: "最短";
}
.cart-region .inner .product .each-cart.is_pre_order .cart_item__btm_wording_shipping .shipping_ship_date::after {
  content: "にお届け";
}
.cart-region .inner .product .each-cart.SP104578-0000338760 .product-name::before {
  content: "おすすめアクセサリ";
  color: #EF7F38;
  font-size: 1.2rem;
  font-weight: bold;
}
.cart-region .inner .total {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  /* has_pre_orderが付与されていたら */
}
@media screen and (min-width: 769px ) {
  .cart-region .inner .total {
    padding-top: 8rem;
  }
}
.cart-region .inner .total .total-price {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}
.cart-region .inner .total .total-price::before {
  content: "合計";
  font-size: 2rem;
  font-weight: bold;
}
.cart-region .inner .total .total-price::after {
  content: "（税込）";
  font-size: 1.5rem;
  font-weight: bold;
}
.cart-region .inner .total .total-price p {
  font-size: 3.4rem;
  font-weight: bold;
  display: inline-block;
}
.cart-region .inner .total .total-price p::after {
  content: "円";
}
.cart-region .inner .total .total-get-point {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  position: relative;
}
.cart-region .inner .total .total-get-point .postage {
  display: none;
}
.cart-region .inner .total .total-get-point .point {
  color: #BB0000;
  font-size: 1.3rem;
}
.cart-region .inner .total .total-get-point .point::before {
  content: "送料無料｜";
  color: #000;
}
.cart-region .inner .total .total-get-point .point::after {
  content: "ポイント";
}
.cart-region .inner .total .total-get-point .info-epoint::before {
  opacity: 0;
  pointer-events: none;
  content: "ソースネクストeポイントは、1ポイント1円で使えるお得なポイントサービスです。Gポイント社のGポイントと交換すれば、航空会社のマイルや、スーパー・コンビニなどで使える他社のポイントへ交換できます。";
  color: rgba(0, 0, 0, 0.86);
  font-size: 1.3rem;
  line-height: 1.5;
  background: #fff;
  box-shadow: 0 0 0.8rem #ccc;
  padding: 1rem;
  width: 20rem;
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  transition: opacity 0.3s;
  transition-delay: 0.3s;
}
.cart-region .inner .total .total-get-point .info-epoint::after {
  content: "";
  display: inline-block;
  background-image: url(/~/media/img/common/icon/icon_info_fill.svg);
  background-size: cover;
  width: 1.6rem;
  height: 1.6rem;
  margin: 0 0.3rem -0.4rem 0;
}
.cart-region .inner .total .total-get-point .info-epoint:hover::before {
  opacity: 1;
}
.cart-region .inner .total .cart-btn .cart_item__button--estimate {
  color: #000;
  font-size: 1.3rem;
  border: 0.1rem solid #26BDFB;
  background-color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 26rem;
  height: 4rem;
  margin-top: 1rem;
  text-align: center;
  border-radius: 0.3rem;
  transition: filter 0.3s;
}
.cart-region .inner .total .cart-btn .cart_item__button--estimate:hover {
  filter: brightness(1.1);
}
.cart-region .inner .total .cart-btn #quotation:checked ~ .modal-region {
  opacity: 1;
  visibility: visible;
}
.cart-region .inner .total .cart-btn .cart_item__button {
  width: 26rem;
  height: 4rem;
  background-color: #bababa;
  border: 0.1rem solid #dfdfdf;
  border-radius: 0.3rem;
  box-shadow: 0.1rem 0.2rem 0.3rem rgba(0, 0, 0, 0.3);
  margin-top: 1rem;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: filter 0.3s;
  pointer-events: none;
}
.cart-region .inner .total .cart-btn .cart_item__button::before {
  content: "";
  background-image: url(/~/media/img/common/icon/icon_cart.svg);
  background-repeat: no-repeat;
  width: 3.2rem;
  height: 3.2rem;
  opacity: 0.25;
}
.cart-region .inner .total .cart-btn .cart_item__button::after {
  content: "カートに入れる";
  font-size: 1.4rem;
  color: #888;
}
.cart-region .inner .total .cart-btn .cart_item__button:hover {
  filter: brightness(1.1);
}
.cart-region .inner .total .bottom-wording .shipping {
  font-size: 1.2rem;
  text-align: center;
  padding: 1rem 0;
}
.cart-region .inner .total .bottom-wording .delivery {
  font-size: 1.4rem;
  font-weight: bold;
}
.cart-region .inner .total .bottom-wording .invoice {
  font-size: 1.4rem;
}
.cart-region .inner .total .bottom-wording .shipping-notes {
  display: none;
}
.cart-region .inner .total.has_pre_order .bottom-wording .shipping-notes {
  display: block;
  font-size: 1.2rem;
  padding-top: 1rem;
}
.cart-region .inner:has(.product-name input:checked) .total .cart-btn .cart_item__button {
  background-color: #ffcc00;
  border: 1px solid #b77f00;
  pointer-events: initial;
}
.cart-region .inner:has(.product-name input:checked) .total .cart-btn .cart_item__button::before {
  opacity: 1;
}
.cart-region .inner:has(.product-name input:checked) .total .cart-btn .cart_item__button::after {
  color: #000;
}

/* 2024.09.10 追加分--------------------------------------------------- */
.modal-over {
  position: fixed;
  background-color: rgba(0, 0, 0, 0.6);
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  display: grid;
  place-content: center;
  z-index: 100000;
  opacity: 0;
  visibility: hidden;
  transition-property: opacity visibility;
  transition-duration: 0.3s;
  max-width: 100%;
  cursor: default;
}
.modal-over .modal-inner {
  background-color: #fff;
  box-shadow: 0 0.3rem 0.6rem rgba(0, 0, 0, 0.2509803922);
  border-radius: 1rem;
  width: calc(100% - 2rem);
  max-width: 100rem;
  overflow-y: auto;
  margin: 1rem auto;
  padding: 3rem;
  z-index: 1;
  position: relative;
}

.modal-inner .modal-close {
  position: absolute;
  font-weight: 700;
  font-size: 2rem;
  right: 0.5rem;
  top: 0;
}
.modal-inner .modal-content {
  display: grid;
  gap: 2rem;
}
.modal-inner .modal-content .content-column-2 {
  display: grid;
  grid-template-columns: auto auto;
  gap: 2rem;
  align-items: center;
}
@media screen and (max-width: 768px ) {
  .modal-inner .modal-content .content-column-2 {
    grid-template-columns: auto;
  }
}
.modal-inner .modal-content .content-column-2 img {
  width: 100%;
  max-width: unset;
  max-height: unset;
}
.modal-inner .modal-content .link-text-js {
  color: #0099FF;
  cursor: pointer;
}

input[type=checkbox] {
  display: none;
}
input[type=checkbox]:checked + .modal-over, input[type=checkbox]:checked + .open-modal + .modal-over {
  opacity: 1;
  visibility: visible;
}

.estimation-container {
  width: 100%;
  max-width: 100rem;
  padding: 0 3%;
  box-shadow: unset;
}
.estimation-container .estimation-button--close {
  display: none;
}
.estimation-container fieldset {
  padding: 0 0 2rem;
}
.estimation-container fieldset legend {
  font-size: 2.6rem;
}
.estimation-container fieldset ul li {
  grid-template-columns: auto;
}
.estimation-container fieldset ul li img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.estimation-container fieldset ul li input {
  min-height: 3rem;
}
.estimation-container fieldset.estimation-body__profile span {
  font-weight: bold;
}
.estimation-container fieldset.estimation-body__profile span::after {
  content: "必須";
  font-size: 1.2rem;
  background-color: #cc0000;
  color: #fff;
  border-radius: 0.2rem;
  padding: 0 0.8rem 0.2rem;
  margin: 0 0 0 1rem;
}
.estimation-container fieldset.estimation-body__products .estimation-body__products-body li {
  grid-template-columns: 5rem 1fr 6rem;
}
.estimation-container .estimation-button {
  width: 100%;
  max-width: 19rem;
  height: 4rem;
  display: grid;
  align-items: center;
  box-shadow: 0.1rem 0.2rem 0.3rem rgba(0, 0, 0, 0.3);
}
.estimation-container .estimation-button:disabled {
  border: 0.1rem solid #77888e;
  background-color: #dbdbdb;
}
.estimation-container .estimation-button:disabled span {
  color: #77888e;
}
.estimation-container input {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #aaa;
  border-radius: 0.3rem;
  line-height: 2;
  max-height: 4rem;
  height: 100%;
  display: block;
}
.estimation-container input[type=number] {
  -moz-appearance: number-input;
}
.estimation-container input[type=number]::-webkit-inner-spin-button, .estimation-container input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: auto;
  opacity: 1;
}

@media (min-width: 769px) {
  fieldset table tr td:nth-of-type(1), fieldset table tr th:nth-of-type(1) {
    width: 70%;
  }
  fieldset table tr td:nth-of-type(2), fieldset table tr th:nth-of-type(2) {
    width: 30%;
  }
}
.estimate-form__bottom button {
  width: 22rem;
  height: 4rem;
  box-shadow: rgba(0, 0, 0, 0.3019607843) 1px 2px 3px;
  display: flex;
  justify-content: center;
  align-items: center;
  filter: brightness(1);
  border-width: 1px;
  border-style: solid;
  -o-border-image: initial;
     border-image: initial;
  border-radius: 0.3rem;
  transition: filter 0.2s ease 0s;
  margin: auto;
  text-decoration: none;
  font-size: 1.2rem;
  background-color: #009688;
  border-color: #009688;
  color: #fff;
}
.estimate-form__bottom button[disabled] {
  color: #aaa;
  background-color: #eee;
  border-color: #ccc;
}
.estimate-form__bottom button:hover {
  filter: brightness(1.1);
}
.estimate-form__bottom button[disabled]:hover {
  filter: brightness(1);
}
/*# sourceMappingURL=cm_cart_b2b_set.css.map */