.input-prepend.input-append input {
    font-size: 24px;
    padding-top: 11px;
    padding-bottom: 11px;
    width: 100px;
    text-align: right;
  }
  .stock_error {
    color: #DB5656;
  }
  
  #product_images img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  
  button.cart, a.button.cart {
    background-color: #505050;
    color: #fff;
    padding: 12px 28px;
    border-radius: 0;
    font-family: var(--mf-font-mincho);
    width: 100%;
  }
  button.cart:disabled, a.button.cart:disabled {
    background-color: #ccc;
    cursor: not-allowed;
  }
  
  .product-table td:first-child {
    width: 25%;
    vertical-align: top;
  }
  
  .product-order-exp a {
    color: #c74795;
    text-decoration: underline;
  }
  
  @media (max-width: 768px) {
    #side {
      display: none;
    }
  }
  
  /* オプション表デザイン改変 */
  #option_tbl .cell_2 {
    text-align: center;
  }
  #option_tbl .stock_zero {
    width: 2.5em;
    display: inline-block;
  }
  #option_tbl .table_price, #option_tbl .table_price + br, #option_tbl .cell_2 label {
    display: none !important;
  }
  

.modal-container{
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  text-align: center;
  background: rgba(0,0,0,50%);
  padding: 40px 20px;
  overflow: auto;
  opacity: 0;
  visibility: hidden;
  transition: .3s;
    box-sizing: border-box;
}
.modal-container:before{
  content: "";
  display: inline-block;
  vertical-align: middle;
  height: 100%;
}
.modal-container.active{
  opacity: 1;
  visibility: visible;
  z-index: 10000;
}
.modal-body{
  position: relative;
  display: inline-block;
  vertical-align: middle;
  max-width: 500px;
  width: 90%;
}
.modal-close{
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  top: -40px;
  right: -40px;
  width: 40px;
  height: 40px;
  font-size: 40px;
  color: #fff;
  cursor: pointer;
}
.modal-content{
  background: #fff;
  text-align: left;
  padding: 30px;
}
.modal-content .button {
  padding: 1em;
  width: 100%;
}
.mf-modal-button-icon {
  width: 25px;
}
#option_tbl {
  width: calc(100% - 20px);
  margin: 20px 20px 0 20px;
}
#option_tbl th {
  font-weight: 100;
}
#option_tbl th, #option_tbl td{
  border: 1px solid gray;
}
.mf-payment-logo-area {
  margin-bottom: 10px;
  gap: 3px;
}
.mf-payment-logo-area img {
  max-width: 40px;
}
