.eccube-form {
  padding: 1rem 2rem;
}
@media screen and (max-width: 740px) {
  .eccube-form {
    padding: 1rem 1rem;
  }
}
.eccube-form form .form-group {
  flex-direction: column;
  box-sizing: border-box;
  border: none !important;
  padding-block: 0;
}
@media screen and (max-width: 740px) {
  .eccube-form form .form-group {
    padding-inline: 4vw;
  }
}
.eccube-form form .form-group * {
  box-sizing: border-box;
}
.eccube-form form .form-group label {
  width: 100%;
  padding: 0.5em 1.5em;
  background-color: #f5f5f5 !important;
}
@media screen and (max-width: 740px) {
  .eccube-form form .form-group label {
    padding: 0.5em 0.8em !important;
    text-align: left;
    margin-bottom: 0;
    white-space: wrap !important;
  }
}
.eccube-form form .form-group label span {
  font-size: 0.9em;
  white-space: nowrap;
}
.eccube-form form .form-group label:has(input[type=checkbox]) {
  display: flex;
  align-items: center;
  white-space: pre-wrap;
  justify-content: center;
  background-color: transparent !important;
}
.eccube-form form .form-group label:has(input[type=checkbox]) input[type=checkbox] {
  margin-right: 1rem;
}
@media screen and (max-width: 740px) {
  .eccube-form form .form-group label:has(input[type=checkbox]) input[type=checkbox] {
    width: auto !important;
  }
}
.eccube-form form .form-group label.term_of_use {
  display: block;
  text-align: left;
}
.eccube-form form .form-group > div {
  padding: 0.6em 0 0.8em;
}
.eccube-form form .form-group > div:has(input.one-row) {
  gap: 8px;
}
.eccube-form form .form-group > div:has(input[id$=_sei]), .eccube-form form .form-group > div:has(input[id$=_mei]) {
  flex-direction: column;
  gap: 0;
}
.eccube-form form .form-group > div input[type=radio] + label {
  background-color: transparent !important;
}
@media screen and (max-width: 740px) {
  .eccube-form form .form-group > div:has(input[type=radio]) {
    flex-direction: row;
    gap: 0;
  }
  .eccube-form form .form-group > div:has(input[type=radio]) label {
    white-space: nowrap !important;
  }
}
@media screen and (max-width: 740px) {
  .eccube-form form .form-group > div:has(select) {
    flex-direction: row;
    gap: 0;
  }
  .eccube-form form .form-group > div:has(select) label {
    white-space: nowrap !important;
  }
}
.eccube-form form .form-group .one-row {
  width: 100% !important;
  border: 1px solid #b1b2b5;
  padding-inline: 13px;
  line-height: 1.5;
  letter-spacing: 0.96px;
  font-size: 1rem;
  margin-inline: 0;
  margin-block: 10px;
}
.eccube-form form .form-group .one-row + .one-row {
  margin-top: 0;
}
.eccube-form form .form-group:has(input[name=term_of_use]) {
  border-top: 2px solid #efefef !important;
  padding-top: 1em;
  display: flex;
  flex-direction: row;
  gap: 5px;
}
.eccube-form form .form-group:has(input[name=term_of_use]) label {
  background-color: transparent !important;
}
.eccube-form form .form-group:has(button) {
  padding-top: 8rem !important;
}
.eccube-form form .form-group button {
  width: 80%;
}
.eccube-form form .form-group + p {
  margin-top: 0;
  color: red;
  font-size: 0.9em;
  line-height: 1.4;
}
@media screen and (max-width: 740px) {
  .eccube-form form .form-group + p {
    text-align: left;
  }
}

/*# sourceMappingURL=form-ol.css.map */
