/* ---------- form common ---------- */

.tfx-section-inner {
  padding-top: 56px;
}

.tfx-main-inner {
  padding-bottom: 0;
}

.tfx-form__flow {
  position: relative;
  z-index: 1;
}

.tfx-form__flow-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  list-style-type: none;
  margin-bottom: 0;
  padding-left: 0;
}

.tfx-form__flow-category {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background: #D8E5ED;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-weight: bold;
  height: 56px;
  letter-spacing: .05em;
  position: relative;
  text-align: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 25%;
  font-family: Noto Sans JP;
}

.tfx-form__flow-category span {
  display: inline-block;
  position: relative;
  z-index: 2;
}

.tfx-form__flow-arrow {
  height: 100%;
  overflow: hidden;
  position: absolute;
  right: -9px;
  top: 0;
  width: 18px;
  z-index: 1;
}

.tfx-form__flow-arrow.left {
  opacity: 0;
  left: -9px;
  right: auto;
}

.tfx-form__flow-arrow svg {
  background: #58778B;
}

.st1 {
  fill: #FFFFFF;
}

.st2,
.st2-02 {
  fill: #D8E5ED;
}

.tfx-form__flow-category.active {
  background: #58778B;
  color: #fff;
}

.tfx-form__flow-category.active .tfx-form__flow-arrow:not(.left) .st2-02,
.tfx-form__flow-arrow.left .st2 {
  fill: #58778B;
}

.tfx-form__flow-category.active .tfx-form__flow-arrow.left {
  opacity: 1;
}

@media screen and (max-width: 767px) {
  .tfx-form__flow-category span {
    /* font-size: 3.5vw; */
    font-size: min(15px, 3.5vw);
  }
}

.tfx-form-confirm-btn:not(.active) {
  -webkit-box-shadow: none;
  box-shadow: none;
  pointer-events: none;
  opacity: .4;
}

.tfx-form-confirm-btn.active {
  pointer-events: all;
}

@media screen and (max-width: 767px) {
  .tfx-form-group .d-flex .flex-fill+.flex-fill.tfx-sp-nl {
    margin-left: 0;
  }
}

.custom-checkbox .custom-control-label.tfx-wrapping-checkbox {
  border: none;
  padding: 0 0 0 28px;
}

.custom-checkbox .custom-control-label.tfx-wrapping-checkbox::before,
.custom-checkbox .custom-control-label.tfx-wrapping-checkbox::after {
  left: 0;
}

/* .tfx-form-confirm-check + .custom-control-label a,
.tfx-form-input-info-text a {
  text-decoration: underline;
} */

/* .tfx-form-confirm-check + .custom-control-label a:hover,
.tfx-form-input-info-text a:hover {
  text-decoration: none;
} */

.tfx-form-input-info-text {
  text-align: center;
  letter-spacing: .05em;
}

@media screen and (max-width: 767px) {
  .tfx-form-input-info-text {
    text-align: left;
  }
}

.tfx-prefecture {
  width: 450px;
}

@media screen and (max-width: 767px) {
  .tfx-prefecture {
    width: 100%;
  }
}

.d-flex.tfx-select-days {
  display: none !important;
}

.d-flex.tfx-select-days.isShow {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
}

.tfx-add-delivery,
.tfx-add-payment-address {
  display: none;
  margin-top: 16px;
}

.tfx-add-delivery.isShow,
.tfx-add-payment-address.isShow {
  display: block;
}

@media screen and (max-width: 330px) {
  .tfx-tooltip-balloon {
    right: -80px;
  }
}

input::-webkit-input-placeholder {
  color: #ccc !important;
}

input:-moz-placeholder {
  color: #ccc !important;
}

input::-moz-placeholder {
  color: #ccc !important;
}

input:-ms-input-placeholder {
  color: #ccc !important;
}


.tfx-password-check-length.tfx-is-error,
.tfx-password-check-number.tfx-is-error,
.tfx-password-check-upper.tfx-is-error,
.tfx-password-check-lower.tfx-is-error {
  color: #D83A3A;
  font-weight: bold;
}

.tfx-password-check-length.tfx-is-error::before,
.tfx-password-check-number.tfx-is-error::before,
.tfx-password-check-upper.tfx-is-error::before,
.tfx-password-check-lower.tfx-is-error::before {
  background: #D83A3A;
}

.form-control,
.form-control:focus {
  color: #222;
}

/* ---------- N_Cart-1-1b - 注文手続き_新規(ログインなし)（エラー表示） ---------- */

select.is-invalid {
  border-color: #c00;
  background: #fff5f4;
}

select.is-invalid+.tfx-select-icon {
  border-top: 1px solid #c00;
  border-right: 1px solid #c00;
  border-bottom: 1px solid #c00;
}

.custom-control-input.is-invalid~.custom-control-label {
  border-color: #c00;
  background: #fff5f4;
}

.invalid-feedback+.d-flex {
  margin-top: 16px;
}

.tfx-select-control.is-invalid+.invalid-feedback,
.tfx-password-control.is-invalid+.invalid-feedback,
.tfx-postal-control.is-invalid+.invalid-feedback,
.form-invalid-group.is-invalid .invalid-feedback {
  display: block;
}
.birthday-flex .d-flex {
  width: 160px;
  padding-right: 12px;
}

@media screen and (max-width: 767px) {
  .birthday-flex {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .birthday-flex .d-flex {
    padding-right: 0;
  }

  .birthday-flex .d-flex:nth-of-type(1) {
    margin-bottom: 16px;
    width: 100%;
  }
  .birthday-flex .d-flex:nth-of-type(2) {
    width: 50%;
  }
  .birthday-flex .d-flex:nth-of-type(3) {
    width: 50%;
  }

  .birthday-flex .flex-fill+.flex-fill:nth-of-type(2) {
    margin-left: 0;
  }
}

@media screen and (max-width: 330px) {
  .birthday-flex .flex-fill {
    width: calc(50% - 12px);
  }
}

/* ---------- N_Cart-1-1d	- 注文手続き_新規(ログインなし)（エラー表示） ---------- */

.tfx-input-card {
  display: none;
  background: #EFF4F7;
  margin-top: 24px;
  padding: 24px;
  width: 100%;
}

.tfx-input-card.isShow {
  display: block;
}

.tfx-input-card .flex-fill {
  width: 50%;
}

.tfx-input-card-wrap .tfx-input-card {
  -webkit-box-ordinal-group: 5;
  -ms-flex-order: 4;
  order: 4;
}

.tfx-input-card-wrap .custom-control+.custom-control {
  margin-left: 0;
}

.tfx-input-card-wrap .tfx-input-card+.custom-control {
  margin-top: 0;
}

.tfx-input-card-wrap .custom-control:nth-of-type(3),
.tfx-input-card-wrap .tfx-input-card+.custom-control+.custom-control+.custom-control {
  margin-left: 16px;
}

.tfx-input-card select {
  background: #fff;
}
.tfx-input-card select.is-invalid{
  background: #fff5f4;
}

@media screen and (max-width: 939px) {
  .tfx-input-card .d-flex+.d-flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .tfx-input-card .d-flex+.d-flex .flex-fill {
    width: 100%;
  }

  .tfx-input-card .d-flex+.d-flex .flex-fill+.flex-fill {
    margin-top: 16px;
    margin-left: 0;
  }

  .tfx-input-card .d-flex+.d-flex .flex-fill:first-child {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
  }

  .tfx-input-card .d-flex+.d-flex .flex-fill:first-child .flex-fill+.flex-fill {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    margin-left: 23px;
  }
}

.card-deadline select {
  width: 100%;
  padding-left: 10px;
}

@media screen and (max-width: 940px) {
  .tfx-input-card-wrap .d-flex+.d-flex {
    display: block !important;
  }

  .tfx-input-card-wrap .d-flex+.d-flex .flex-fill+.flex-fill {
    margin-left: 0;
    margin-top: 16px;
  }

  .tfx-input-card-wrap .d-flex+.d-flex .d-flex+.d-flex {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
}

@media screen and (max-width: 767px) {
  .tfx-input-card .flex-fill {
    width: 100%;
  }

  .tfx-input-card .d-flex:not(.card-deadline) {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .tfx-input-card .d-flex:not(.card-deadline) .flex-fill+.flex-fill:not(.card-deadline) {
    margin-top: 16px;
    margin-left: 0;
  }

  .tfx-input-card-wrap .tfx-input-card+.custom-control {
    margin-top: 24px;
  }

  .tfx-input-card-wrap .custom-control:nth-of-type(3),
  .tfx-input-card-wrap .tfx-input-card+.custom-control+.custom-control+.custom-control {
    margin-left: 0;
  }
}

.tfx-input-card__tooltip {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.tfx-input-card__tooltip .tfx-tooltip {
  margin-left: 4px;
}

.d-flex+.tfx-new-address {
  margin-top: 16px;
}

/* ---------- N_Cart-1-2a -	注文手続き(デフォルト)用 ---------- */

.tfx-form-member-info-change-btn {
  margin-left: auto;
  width: 228px;
}

@media screen and (max-width: 767px) {
  .tfx-form-member-info-change-btn {
    margin-top: 16px;
    width: 100%;
  }
}

/* ---------- N_Cart-1-3a - 確認画面(新規かつ会員情報と同じ) ---------- */

.tfx-content-wrapper+.tfx-content-wrapper {
  margin-top: 24px;
}

.tfx-cart-items .tfx-form-title {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  margin-bottom: 0;
  width: auto;
}

.tfx-cart-items .tfx-form-title .tfx-form-text {
  font-size: 1.6rem;
}

.tfx-cart-items-name,
.tfx-cart-items-yen {
  display: block;
  margin-top: 8px;
}

.tfx-cart-items .tfx-form-group {
  margin-left: auto;
  padding-left: 8px;
  text-align: right;
  width: auto;
}

.tfx-cart-items.tfx-cart-postage,
.tfx-cart-items.tfx-cart-total {
  font-weight: bold;
}

.tfx-cart-items.tfx-cart-total .d-flex {
  font-size: 3.6rem;
}

.tfx-cart-items.tfx-cart-total .d-flex span {
  font-size: 3.2rem;
}

@media screen and (max-width: 767px) {
  .tfx-cart-items {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }

  .tfx-cart-items .tfx-form-title .tfx-form-text {
    font-size: 1.5rem;
  }

  .tfx-cart-items.tfx-cart-total .d-flex {
    font-size: 2.8rem;
  }

  .tfx-cart-items.tfx-cart-total .d-flex span {
    font-size: 2.4rem;
  }
}

/* ---------- N_Cart-1-3b - 確認画面(新規かつ会員情報と同じ)（エラー表示） ---------- */
.tfx-form-error {
  background: #FFF5F4;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border: 1px solid #D83A3A;
  padding: 32px;
  margin-bottom: 56px;
  text-align: center;
}

.tfx-form-error p {
  color: #D83A3A;
  display: inline-block;
  font-weight: bold;
  margin: 0;
  padding-left: 50px;
  text-align: left;
  position: relative;
}

.tfx-form-error p .icon-alert_error {
  font-size: 40px;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  position: absolute;
}

.tfx-form-ttl-change {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
}

.tfx-form-ttl-change .font-weight-bold {
  margin-bottom: 40px;
  margin-left: auto;
}

.tfx-form-error__input-area {
  background: #FFF5F4;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border: 1px solid #D83A3A;
}

.tfx-form-error__input-area .tfx-form-block {
  background: #FFF5F4;
}

@media screen and (max-width: 767px) {
  .tfx-form-error {
    padding: 32px 20px;
  }

  .tfx-form-error p {
    padding-top: 40px;
    padding-left: 0;
    text-align: center;
  }

  .tfx-form-error p .icon-alert_error {
    font-size: 35px;
    left: 50%;
    top: 0;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }

  .tfx-form-ttl-change .font-weight-bold {
    margin-bottom: 32px;
  }
}

.tfx-card-right {
  margin-top: 16px;
}

.tfx-icon-tooltip {
  font-size: 2.4rem;
  top: 0;
}

.tfx-card-right .tfx-input-card__tooltip {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

@media screen and (min-width: 768px) {
  .tfx-card-content {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }

  .tfx-card-right {
    margin-top: 0;
  }
}

.tfx-change-card {
  margin-top: 24px;
  padding-top: 32px;
}
.tfx-change-card-title{
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 16px;
}
.tfx-change-card-text{
  margin-bottom: 16px;
}
.tfx-change-card-text span{
  font-weight: bold;
}
.tfx-modal-title{
  border-bottom: none;
  margin-bottom: 0;
}
.modal-content .tfx-btn-content{
  margin-top: 24px;
}
#tfx-change-card{
  display: none;
  padding-top: 24px;
  padding-bottom: 0;
}
#tfx-change-card.tfx-is-show{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
#tfx-card-right{
  display: none;
}
#tfx-card-right.tfx-is-show{
  display: block;
}
#tfx-change-card .tfx-input-card{
  margin-top: 0;
}

@media screen and (min-width: 768px) {

  .tfx-change-card {
    padding-top: 40px;
  }

  .tfx-card-right input{
    width: 280px;
  }
  .tfx-change-card-text{
    margin-bottom: 24px;
  }
  .tfx-change-card-radio{
    width: 632px;
    margin-left: auto;
    margin-right: auto;
  }
  .modal-content .tfx-btn-content{
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
  .tfx-btn-content .btn+.btn{
    margin-right: 24px;
    margin-left: 0;
  }
}
.tfx-card-content-wrapper{
  border-top: 1px solid #ccc;
  padding-top: 24px;
  margin-top: 24px;
}
.tfx-modal-title{
  font-size: 2.4rem;
}


.tfx-card-deadline-col .flex-fill{
  width: 100%;
}
.tfx-card-deadline-col .form-invalid-group>.card-deadline{
  display: block !important;
}
.tfx-card-deadline-col>.d-flex{
  display: block !important;
}
.tfx-form-group .tfx-card-deadline-col .flex-fill+.flex-fill.mt-0{
  margin-left: 0 !important;
  margin-top: 16px !important;
}
@media screen and (min-width: 375px){
  .tfx-card-deadline-col  .form-invalid-group>.card-deadline{
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
  .tfx-card-deadline-col>.d-flex{
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
  .tfx-form-group .tfx-card-deadline-col .flex-fill+.flex-fill.mt-0{
    margin-left: 16px !important;
    margin-top: 0 !important;
  }
  .tfx-card-deadline-col .d-flex:not(.card-deadline) .flex-fill + .flex-fill:not(.card-deadline){
    margin-top: 16px;
  }
}
@media screen and (min-width: 768px){
  .tfx-card-deadline-col{
    display: block !important;
  }
  .tfx-card-deadline-col  .form-invalid-group>.card-deadline{
    display: block !important;
  }
  .tfx-card-deadline-col .form-invalid-group>.card-deadline{
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
  .tfx-form-group .tfx-card-deadline-col  .flex-fill+.flex-fill{
    margin-left: 0;
    margin-top: 16px;
  }
}
@media screen and (min-width: 940px){
  .tfx-card-deadline-col{
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
  .tfx-card-deadline-col  .form-invalid-group>.card-deadline{
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
  .tfx-card-deadline-col .flex-fill{
    width: 50%;
  }
  .tfx-card-deadline-col>.d-flex{
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
  .tfx-form-group .tfx-card-deadline-col .flex-fill+.flex-fill.mt-0{
    margin-left: 16px !important;
    margin-top: 0 !important;
  }
  .tfx-form-group .tfx-card-deadline-col  .flex-fill+.flex-fill{
    margin-left: 16px;
    margin-top: 0;
  }
}