input,
textarea,
select {
  max-width: 100%;
  font-size: inherit;
}
input::-moz-placeholder, textarea::-moz-placeholder, select::-moz-placeholder {
  color: #bbb;
}
input::placeholder,
textarea::placeholder,
select::placeholder {
  color: #bbb;
}

input[type=date],
input[type=time],
input[type=datetime-local] {
  height: 2em;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

input[type=date]::-webkit-date-and-time-value,
input[type=time]::-webkit-date-and-time-value {
  text-align: left;
}

input::-moz-placeholder {
  color: #a9a9a9;
}

input::placeholder {
  color: #a9a9a9;
}

input[type=checkbox] {
  display: inline;
}

.grecaptcha-badge {
  visibility: hidden;
}

.form-wrapper {
  width: 100%;
  padding: 40px 16px;
  margin-right: auto;
  margin-left: auto;
  font-size: 18px;
  border: 3px solid #ff8f30;
  border-radius: 8px;
}
@media (min-width: 576px) {
  .form-wrapper {
    font-size: 20px;
  }
}

.wpcf7-spinner {
  display: block;
  margin-top: 8px;
  margin-right: auto;
  margin-left: auto;
}

.wpcf7 form {
  font-size: 18px;
}

.wpcf7 form .wpcf7-response-output {
  margin: 0 0.5em 2em;
}

.wpcf7-not-valid-tip,
.wpcf7 form .wpcf7-response-output {
  font-size: 15px;
}

.form__label {
  font-weight: 700;
}

.form__title {
  padding-bottom: 20px;
  font-size: 23px;
  text-align: center;
}
@media (min-width: 576px) {
  .form__title {
    font-size: 27px;
  }
}

.form__notice {
  margin-top: 6px;
  font-size: 13px;
  color: gray;
}
@media (min-width: 576px) {
  .form__notice {
    font-size: 15px;
  }
}
.form__notice a {
  -webkit-text-decoration: revert;
          text-decoration: revert;
}

.o-form,
.wpcf7-form {
  font-size: 18px;
  text-align: left;
}
.o-form table,
.wpcf7-form table {
  width: 100%;
  max-width: 100%;
  line-height: 1.6;
  text-align: left;
  border-spacing: 0;
  border-collapse: collapse;
  border: none;
}
.o-form input:not([type=checkbox]),
.o-form textarea,
.o-form select,
.wpcf7-form input:not([type=checkbox]),
.wpcf7-form textarea,
.wpcf7-form select {
  display: block;
  width: 100%;
}
.o-form .wpcf7-submit,
.wpcf7-form .wpcf7-submit {
  padding: 0.5em 0.5em;
  color: #fff;
  background-color: #206139;
}
.o-form .wpcf7-submit:disabled,
.wpcf7-form .wpcf7-submit:disabled {
  opacity: 0.5;
}
.o-form th,
.o-form td,
.wpcf7-form th,
.wpcf7-form td {
  padding-inline: unset;
  background: transparent;
  border: unset;
}
@media not all and (min-width: 768px) {
  .o-form th,
.o-form td,
.wpcf7-form th,
.wpcf7-form td {
    display: block;
    width: 100%;
  }
}
@media (min-width: 768px) {
  .o-form th,
.o-form td,
.wpcf7-form th,
.wpcf7-form td {
    padding-block: 20px;
  }
}
.o-form th,
.wpcf7-form th {
  padding-top: 30px;
  padding-bottom: 8px;
}
@media (min-width: 768px) {
  .o-form th,
.wpcf7-form th {
    width: 30%;
    padding-top: 20px;
    padding-bottom: 20px;
  }
}
.o-form td,
.wpcf7-form td {
  padding-top: 8px;
  padding-bottom: 30px;
}
@media (min-width: 768px) {
  .o-form td,
.wpcf7-form td {
    padding-top: 20px;
    padding-bottom: 20px;
  }
}
.o-form tr + tr,
.wpcf7-form tr + tr {
  border-top: 1px solid gray;
}

.o-form__group {
  padding-block: 30px;
  border-bottom: 1px solid gray;
}
.o-form__group:last-of-type {
  border-bottom: none;
}

.o-form__head {
  display: grid;
  row-gap: 10px;
}
@media (min-width: 768px) {
  .o-form__head {
    grid-template-columns: 30% 1fr;
  }
}

.o-form__required,
.CF7_req {
  padding: 5px;
  margin-right: 1em;
  font-size: 0.9em;
  color: #fff;
  background: #f93532;
  border-radius: 3px;
}

.o-form__optional,
.CF7_unreq {
  padding: 5px;
  margin-right: 1em;
  font-size: 0.9em;
  color: #fff;
  background: #bdbdbd;
  border-radius: 3px;
}

.o-form__textbox,
.scroll-box {
  width: 90%;
  height: 200px;
  padding: 10px;
  overflow-y: scroll;
  background-color: #ffffff;
  border: 1px solid #ddd;
}

.o-form__content {
  display: grid;
  gap: 16px;
}

.CF7_btn {
  margin-top: 20px;
}

.o-form__hidden {
  display: none !important;
}

.wpcf7-form-control:is(input, select, textarea) {
  padding-inline: 4px;
  margin-inline: 4px;
  color: #111;
  background-color: #d8edd9;
  border: 1px solid gray;
  border-width: 0 0 1px;
}

.confirm-wrapper {
  max-width: 750px;
  padding-inline: 8px;
  margin-inline: auto;
  overflow-x: hidden;
  background-color: #e8f5e9;
}

.confirm-readonly {
  display: block;
  width: 100%;
  padding: 0.3em;
  color: #111;
  background-color: #e0e0e0;
  border: 1px solid gray;
  border-width: 0 0 1px;
}

.reset-btn {
  display: none;
  padding: 1px 6px;
  margin-top: 8px;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
  color: #dc3545;
  cursor: pointer;
  background-color: #fff;
  border: 1px solid #dc3545;
  border-radius: 4px;
}

.reset-btn:hover {
  color: #fff;
  background-color: #dc3545;
}

.preview1-img {
  display: none;
  max-width: 200px;
  margin-top: 16px;
}

.preview2-img {
  display: none;
  max-width: 200px;
}

#wpcf7-response-output-reflection {
  padding: 0.2em 1em;
  margin: 1em 0.5em;
  border: 2px solid #00a0d2;
  border-color: #ffb900;
}

.back-btn {
  padding-inline: 1em;
  margin-bottom: 1em;
}

.confirm-btn {
  width: 100%;
}

input[type=file]::-webkit-file-upload-button {
  font-size: 20px;
  font-weight: 700;
}

input[type=file]::file-selector-button {
  font-size: 20px;
  font-weight: 700;
}

.wpcf7 {
  font-family: "Noto Sans JP", sans-serif;
}

.wrapper .o-form {
  line-height: 1.8;
}

.wrapper .o-form button {
  font-size: 18px;
}

.wrapper .back-btn {
  font-size: 18px;
  background-color: revert;
  border: revert;
  border-color: #c5c5c5;
  border-radius: 12px;
}