@charset "UTF-8";
/* ==========================================
 Layout
============================================*/
/* ==========================================
 Contents
============================================*/
.cart {
  color: #2a2a2a;
  font-size: var(--sz-32);
  font-weight: normal;
  padding-block: 0 var(--sz-40);
  line-height: 1.5;
}

.cart__heading {
  text-align: center;
  font-size: var(--sz-50);
  font-weight: 700;
  border-bottom: 1px solid var(--color-primary);
  width: var(--sz-454);
  margin-inline: auto;
  margin-bottom: var(--sz-42);
}

/* フォーム部 */
.ec-cartRole {
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  color: inherit;
  padding-inline: var(--sz-23);
}

/* カート内の商品明細 */
.ec-cartTable {
  border-top: 1px solid var(--color-primary);
}

.ec-cartRow .ec-cartRow__contentColumn {
  border-bottom: 1px solid var(--color-primary);
}

.ec-cartRow .ec-cartRow__amountColumn {
  border-bottom: 1px solid var(--color-primary);
}

.ec-cartRow .ec-cartRow__summary .ec-cartRow__name {
  margin-bottom: var(--sz-10);
}

.ec-cartRow .ec-cartRow__summary p {
  font-size: 87.5%;
  font-weight: normal;
  margin-bottom: 0;
}

.ec-cartRow__name a {
  color: inherit;
  text-decoration: none;
  pointer-events: none;
  display: block;
}

.ec-cartRow__name {
  font-weight: bold;
}

.ec-cartRow__unitPrice {
  margin-top: var(--sz-20);
}

/** 数量 **/
.ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amount {
  margin-bottom: var(--sz-30);
}

/** 削除ボタン **/
.btn-delete {
  font-size: var(--sz-28);
  border-radius: var(--sz-10);
  padding-block: 0.5em;
}

/** 小計 **/
.ec-cartRow .ec-cartRow__amountColumn {
  font-weight: bold;
}

/** 合計 **/
.ec-cartRole .ec-cartRole__total {
  text-align: right;
  padding-block: var(--sz-18) var(--sz-32);
  font-size: var(--sz-32);
}

.ec-cartRole .ec-cartRole__totalAmount {
  color: #f81a4a;
  font-size: inherit;
  margin-left: 0;
}

/** 送料無料メッセージ **/
.ec-cartRole .ec-cartRole__progress {
  font-size: var(--sz-26);
  margin-bottom: var(--sz-32);
}

/* ボタン */
.ec-cartRole .ec-cartRole__actions {
  display: flex;
  flex-direction: column;
  gap: var(--sz-30);
}

@media screen and (min-width: 992px) {
  .cart {
    font-size: var(--sz-26);
    line-height: 1.38;
    padding-block: var(--sz-38) var(--sz-60);
  }
  .cart__heading {
    font-size: var(--sz-50);
    margin-bottom: var(--sz-50);
  }
  /* フォーム部 */
  .ec-cartRole {
    padding-inline: var(--sz-25);
    font-size: inherit;
  }
  .ec-cartRole .ec-cartRole__cart {
    margin-inline: 0;
  }
  /* カート内の商品明細 */
  .ec-cartTable {
    border-top: none;
  }
  /** ヘッダー **/
  .ec-cartHeader {
    background-color: transparent;
  }
  .ec-cartHeader .ec-cartHeader__label {
    background-color: transparent;
    font-size: var(--sz-20);
    padding: var(--sz-20);
    text-align: left;
    white-space: nowrap;
    border-top: 1px solid var(--color-primary);
    border-bottom: 1px solid var(--color-primary);
    min-width: var(--sz-109);
  }
  .ec-cartHeader .ec-cartHeader__label small {
    font-weight: normal;
  }
  .ec-cartHeader .ec-cartHeader__label--quantity {
    text-align: center;
  }
  .ec-cartHeader .ec-cartHeader__label--subtotal {
    text-align: center;
  }
  .ec-cartRow .ec-cartRow__summary {
    margin-left: 0;
  }
  .ec-cartRow .ec-cartRow__summary .ec-cartRow__name {
    margin-bottom: 0;
  }
  .ec-cartRow__name {
    font-weight: normal;
  }
  .ec-cartRow .ec-cartRow__summary p {
    font-size: inherit;
  }
  /** 数量 **/
  .ec-cartRow .ec-cartRow__amountColumn {
    vertical-align: middle;
    padding-top: 0;
    border-bottom: 1px solid var(--color-primary);
    padding: var(--sz-20);
  }
  .ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amount {
    margin-bottom: var(--sz-10);
  }
  /** 削除ボタン **/
  .btn-delete {
    font-size: var(--sz-26);
    padding-block: 0.2em;
  }
  /** 小計 **/
  .ec-cartRow .ec-cartRow__subtotalColumn {
    border-bottom: 1px solid var(--color-primary);
    padding: var(--sz-20);
  }
  /** 合計 **/
  .ec-cartRole .ec-cartRole__total {
    font-size: var(--sz-26);
    padding-block: var(--sz-18) var(--sz-20);
    padding-inline: var(--sz-20);
  }
  .ec-cartRole .ec-cartRole__totalAmount {
    margin-left: var(--sz-64);
  }
  /** 送料無料メッセージ **/
  .ec-cartRole .ec-cartRole__progress {
    text-align: left;
    padding-left: var(--sz-130);
  }
  /* ボタン */
  .ec-cartRole .ec-cartRole__actions {
    width: var(--sz-277);
    margin-inline: auto;
    gap: var(--sz-25);
  }
  .btn-register {
    font-size: var(--sz-26);
    padding-block: var(--sz-15);
  }
  .btn-back {
    font-size: var(--sz-26);
    padding-block: var(--sz-15);
  }
}