/* 見積もりページ */
#estimate-form select {
  appearance: auto!important;
  -webkit-appearance: auto!important;
  -moz-appearance: auto!important;
}
#estimate-form table th,
#estimate-form table td {
  border: none;
}
#estimate-form section {
  margin-bottom: 40px;
  min-width: 320px;
}
#estimate-form section h2 {
  width: 100%;
  margin: 0;
  padding: 5px 0;
  font-size: 14pt;
  font-weight: normal;
  text-align: center;
  border-radius: 5px 5px 0 0;
  border-top: 1px solid #ccc;
  border-right: 1px solid #ccc;
  border-left: 1px solid #ccc;
  color: #fff;
}
#items-estimate-calc-area h2,
#shipping-fee-calc-area h2 {
  background-color: #127EC8;
}

#estimate-form .note-area {
  margin: 0 20px;
}

#items-total-calc-area h2,
#available-shipping-carriers-area h2 {
  background-color: #12C8AA;
}
#all-estimate-total-calc-area h2 {
  background-color: #FF9797;
}

#items-estimate-calc-area #payment-options > label {
  display: inline-block;
}
.total-list {
  text-align: right;
}
.sub-total-list {
  text-align: right;
  border: 1px solid #ccc;
}
.total-list ul,
.sub-total-list ul {
  display: inline-block;
  width: 100%;
  margin: 0;
  padding: 0;
}
.total-list ul li span,
.sub-total-list ul li span {
  display: inline-block;
  width: calc(100% - 120px);
  text-align: right;
  font-size: 10pt;
}
.total-list ul li data,
.sub-total-list ul li data {
  display: inline-block;
  width: 120px;
  padding-right: 10px;
  font-size: 10pt;
}
@media (max-width: 400px) {
  .total-list .font-minimum {
    font-size: 8pt;
  }
}

/* 合計の強調用背景色 */
.total-list .highlight-bg,
.sub-total-list .highlight-bg {
  position: relative;
}
.total-list .highlight-bg span,
.sub-total-list .highlight-bg span,
.total-list .highlight-bg data,
.sub-total-list .highlight-bg data {
  position: relative;
  z-index: 11;
}
.total-list .highlight-bg::before,
.sub-total-list .highlight-bg::before {
  content: '';
  position: absolute;
  right: 0;
  bottom: 0;
  display: block;
  width: 190px;
  height: 100%;
  background-color: #F2FF93;
  z-index: 10;
}
#all-estimate-total-calc-list .highlight-bg td {
  position: relative;
  z-index: 0;
}
#all-estimate-total-calc-list .highlight-bg td:nth-child(1)::before {
  content: '';
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  display: block;
  width: 120px;
  height: 20px;
  background-color: #F2FF93;
  z-index: -1;
}
#all-estimate-total-calc-list .highlight-bg td:nth-child(2)::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  display: block;
  width: 100px;
  height: 20px;
  background-color: #F2FF93;
  z-index: -1;
}

@media (min-width: 992px) {
  .grid-container {
    display: grid;
    grid-template-columns: 1fr 1fr;  /* 2カラム */
    grid-template-rows: auto; /* 高さは自動 */
    gap: 40px;
  }
  .grid-container section:nth-child(1) {
    grid-column: 1;
    grid-row: 1;
  }
  .grid-container section:nth-child(2) {
    grid-column: 2;
    grid-row: 1;
  }
  .grid-container section:nth-child(3) {
    grid-column: 1;
    grid-row: 2;
  }
  .grid-container section:nth-child(4) {
    grid-column: 2;
    grid-row: 2;
  }
  .grid-container section:nth-child(5) {
    grid-column: 1;
    grid-row: 3;
  }
}
.estimate-calc-area,
.estimate-calc-area * {
  box-sizing: border-box;
}
.estimate-calc-area ul {
  list-style-type: none;
}

.input-area {
  width: 100%;
  padding: 20px;
  border: 1px solid #ccc;
  border-radius: 0 0 5px 5px;
}
.input-area > label:not(:first-of-type) {
  display: block;
  margin-top: 5px;
}
.input-area button {
  margin-top: 20px;
}

/* 2. サービス選択 */
#payment-options {
  padding: 5px 0 0 20px;
}
#payment-options label {
  color: #ccc;
}

/* 6. オプションサービス */
#options-service li {
  position: relative;
  margin: 0;
}
#options-service label input {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  display: inline-block;
}
#options-service label span {
  display: inline-block;
  padding-left: 25px;
}

#item-information-area label {
  display: inline-block;
  font-size: 10pt;
}
#item-information-area label .currency-unit {
  font-size: 9pt;
}
#item-qty {
  width: 60px!important;
  min-width: 60px!important;
}
@media (max-width: 399.98px) {
  #item-value,
  #domestic-shipping-fee,
  #order-fee {
    width: 60px!important;
    min-width: 60px!important;
  }
}
@media (min-width: 400px) {
  #item-value,
  #domestic-shipping-fee,
  #order-fee {
    width: 80px!important;
    min-width: 80px!important;
  }
}

#items-estimate-list td {
  padding: 10px;
}
#items-estimate-list td:nth-child(2),
#available-shipping-carriers-list td:nth-child(3),
#all-estimate-total-calc-list td:nth-child(2) {
  width: 110px;
  text-align: right;
}
#items-estimate-list td:nth-child(3),
#available-shipping-carriers-list td:nth-child(4),
#all-estimate-total-calc-list td:nth-child(3) {
  width: 60px;
  padding: 5px;
}
#items-estimate-list td:nth-child(3) .button {
  margin: 0;
}

#item-weight {
  width: 10rem;
}
#item-size-abc {
  display: flex;
  gap: 5px;
}
#item-size-abc label {
  display: inline-block;
  width: fit-content;
  text-align: right;
}
#item-size-abc span {
  display: inline-block;
  width: fit-content;
}
#item-size-abc input {
  width: calc(100% - 30px);
}
#available-shipping-carriers-list td {
  padding: 10px;
}
#available-shipping-carriers-list td:nth-child(1) {
  width: 30px;
  padding: 5px;
  text-align: center;
}
#available-shipping-carriers-list td input {
  margin: 0;
  vertical-align: middle;
}

/* global-shipping */
#global-shipping-list {
  height: 600px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  position: relative;
}
#global-shipping-list table {
  table-layout: fixed;
  width: 100%;
}
#global-shipping-list thead {
  position: sticky;
  top: 0; /* 上部に固定 */
  background-color: #f1f1f1; /* 背景色を設定して、固定されたヘッダーを見やすくする */
  z-index: 1; /* ヘッダーが他の行の上に表示されるようにする */
}
#global-shipping-list thead th {
  background-color: #f22;
  color: #fff;
}
#global-shipping-list tbody tr:nth-child(2n) {
  background-color: #fee;
}

.item-estimate-block {
  position: relative;
  width: 100%;
  padding: 10px 40px 10px 10px;
  border-left: 1px solid #ccc;
  border-right: 1px solid #ccc;
  border-top: 1px solid #ccc;
}
.item-row-container {
    display: flex;
    align-items: center;
}
.item-estimate-block .photo-flag-view {
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  width: 40px;
  height: 40px;
  border-bottom: 1px solid #ccc;
  border-left: 1px solid #ccc;
  z-index: 10;
}
.item-estimate-block .item-name {
  display: block;
  margin: 0 0 10px 0;
}
.item-estimate-block .item-value {
  display: inline-block;
}
.item-sub-total-controls {
  display: flex;
  gap: 10px;
  justify-content: right;
  align-items: baseline;      /* 垂直方向（縦）の中央揃え */
  width: 180px;
  margin: 0 10px 0 auto;
}
.item-value-controls data,
.item-sub-total-controls span,
.item-sub-total-controls data {
  font-size: 11pt;
}
/*
.item-estimate-block .item-qty-controls {
  position: absolute;
  bottom: 20px;
  right: 50px;
  display: inline-block;
  margin: 0 15px 0 20px;
  padding: 1px;

  border: solid 2px #12C8AA;
  border-radius: 26px;
  background-color: #fff;

}
.item-estimate-block .item-add-qty,
.item-estimate-block .item-subtract-qty {
  display: inline-block;
  margin: 0;
  padding: 0;
  width: 24px;
  height: 24px;
  border: none;
  border-radius: 12px;
  background: none;
  font-size: 14pt;
}
.item-estimate-block .item-add-qty:hover,
.item-estimate-block .item-subtract-qty:hover {
  cursor: pointer;
}
.item-estimate-block .item-qty {
  display: inline;
  margin: 0 10px;
}
*/
/* 商品数量を調整不可にした時のlayout */
/*
.item-estimate-block .item-qty {
  display: inline-block;
  margin: 0 10px 2px 0;
}
*/
.item-estimate-block .item-delete-button {
  position: absolute;
  bottom: 13px;
  right: 10px;
  display: inline;
  min-height: 0!important;
  line-height: 13px;
  margin: 0;
  padding: 0;
  border :none;
  background: none;
  text-decoration: underline;
  color: #337ab7;
}
.item-estimate-block .item-delete-button:hover {
  background: none;
  color: #0693e3;
}

#photo-discount-total-row {
  display: none;
}
.shipping-size-error-message {
  display: block;
  font-size: 8pt;
  text-align: center;
}
.shipping-size-error-message span {
  display: inline-block;
  color: #f22;
}
