#main .speed {
  --jtc-speed-main: #101F7A;
  --jtc-speed-text: #0A1440;
  --jtc-speed-soft: #E9EAF2;
  --jtc-speed-border: #CCD4EE;
  --jtc-speed-accent: #FFDE01;
  --jtc-speed-error: #D14030;
}

#main .speed .form__note {
  margin: 0 0 18px;
  font-size: 1.2rem;
  font-weight: bold;
  color: var(--jtc-speed-error);
  text-align: center;
}

#main .speed .form__checkup-form {
  max-width: 760px;
  margin: 0 auto;
}

#main .speed .form__checkup {
  width: 100%;
  max-width: 760px;
  margin: 0 auto 28px;
  border-collapse: separate;
  border-spacing: 0 10px;
}

#main .speed .form__checkup th,
#main .speed .form__checkup td {
  padding: 10px 14px;
  border: 0;
  color: var(--jtc-speed-main);
  font-size: 1.6rem;
  line-height: 1.5;
  text-align: left;
  vertical-align: middle;
}

#main .speed .form__checkup th {
  width: 180px;
  font-weight: bold;
  white-space: nowrap;
}

#main .speed .form__checkup td {
  color: var(--jtc-speed-text);
}

#main .speed .form__checkup .must {
  margin-left: 4px;
  color: var(--jtc-speed-error);
}

#main .speed .form__field-group {
  display: block;
}

#main .speed .form__field-inline {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}

#main .speed .form__field-unit {
  color: var(--jtc-speed-main);
  font-weight: bold;
}

#main .speed .form__checkup td input[type=text],
#main .speed .form__checkup td input[type=email],
#main .speed .form__checkup td input[type=tel],
#main .speed .form__checkup td input[type=number],
#main .speed .form__checkup td select {
  width: 100%;
  max-width: 360px;
  height: 44px;
  padding: 6px 10px;
  border: 2px solid var(--jtc-speed-main);
  border-radius: 4px;
  background-color: #fff;
  color: var(--jtc-speed-text);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: 1.6rem;
  line-height: 1.4;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

#main .speed .form__checkup td input[type=number] {
  width: 8em;
}

#main .speed .form__checkup td select {
  max-width: 220px;
  padding-right: 34px;
  background: #fff url("../images/index/select_bg.png") no-repeat right 12px center;
  background-size: 10px auto;
}

#main .speed .form__checkup td input[aria-invalid=true],
#main .speed .form__checkup td select[aria-invalid=true] {
  border-color: var(--jtc-speed-error);
  background-color: #fff8f8;
}

#main .speed .form__choice-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 12px 24px;
  margin: 0;
  padding: 0;
  font-size: 1.6rem;
}

#main .speed .form__choice-list li {
  display: block;
  margin: 0;
  list-style: none;
}

#main .speed .form__choice-list label {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
  color: var(--jtc-speed-text);
  cursor: pointer;
}

#main .speed .form__choice-list input {
  margin: 0;
  accent-color: var(--jtc-speed-main);
}

#main .speed .form__checkup .footnote {
  margin: 6px 0 0;
  color: #555;
  font-size: 1.3rem;
  line-height: 1.5;
}

#main .speed .form__field-error {
  display: none;
  margin: 6px 0 0;
  color: var(--jtc-speed-error);
  font-size: 1.3rem;
  font-weight: bold;
  line-height: 1.5;
}

#main .speed .form__actions {
  max-width: 760px;
  margin: 0 auto;
  text-align: center;
}

#main .speed .form__actions .g-recaptcha {
  display: inline-block;
  margin-bottom: 18px;
}

#main .speed .submit {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 14px 20px;
  margin: 0;
  padding: 0;
}

#main .speed .submit li {
  position: relative;
  display: block;
  list-style: none;
}

#main .speed .submit input {
  width: 300px;
  max-width: 100%;
  padding: 16px;
  border: 1px solid var(--jtc-speed-main);
  border-bottom: 4px solid var(--jtc-speed-main);
  border-radius: 100px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

#main .speed .submit__btn__submit input {
  background: var(--jtc-speed-accent);
  color: var(--jtc-speed-main);
}

#main .speed .submit__btn__reset input {
  background: var(--jtc-speed-main);
  color: #fff;
}

#main .speed .submit input:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

#jtc-last_name {
  display: none;
}

@media screen and (max-width: 700px) {
  #main .speed .form__note {
    font-size: 1.1rem;
    text-align: left;
  }
  #main .speed .form__checkup,
  #main .speed .form__checkup tbody,
  #main .speed .form__checkup tr,
  #main .speed .form__checkup th,
  #main .speed .form__checkup td {
    display: block;
    width: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  #main .speed .form__checkup {
    border-spacing: 0;
  }
  #main .speed .form__checkup tr {
    margin-bottom: 10px;
  }
  #main .speed .form__checkup th,
  #main .speed .form__checkup td {
    padding: 8px 10px;
    font-size: 1.5rem;
  }
  #main .speed .form__checkup th {
    padding-bottom: 0;
    white-space: normal;
  }
  #main .speed .form__checkup td input[type=text],
  #main .speed .form__checkup td input[type=email],
  #main .speed .form__checkup td input[type=tel],
  #main .speed .form__checkup td input[type=number],
  #main .speed .form__checkup td select {
    width: 100%;
    max-width: none;
    height: 42px;
    font-size: 1.6rem;
  }
  #main .speed .form__field-inline input[type=number] {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
  }
  #main .speed .form__choice-list {
    gap: 10px 18px;
    font-size: 1.5rem;
  }
  #main .speed .submit {
    display: block;
  }
  #main .speed .submit li + li {
    margin-top: 12px;
  }
  #main .speed .submit input {
    width: 100%;
    font-size: 1.5rem;
  }
}