.form__inner {
  background-color: rgba(255,255,255,0.77);
  border-radius: 32px;
  padding: 100px 50px 170px;
  @media screen and (max-width: 750px){
    padding: 40px 20px 80px;
  }
}
.formNavi {
  display: flex;
  justify-content: center;
}
.formNavi__list {
  display: flex;
  gap: 120px;
  justify-content: center;
  position: relative;
  @media screen and (max-width: 750px){
    gap: 60px;
  }
  &:before {
    content: '';
    height: 2px;
    width: 94%;
    background-color: var(--color-red);
    position: absolute;
    left: 3%;
    top: 17px;
  }
  li {
    padding-top: 44px;
    position: relative;
    font-size: 17px;
    font-weight: 500;
    color: var(--color-red);
    letter-spacing: .04em;
    &:before {
      content: '';
      width: 32px;
      height: 32px;
      border-radius: 50%;
      background-color: #fff;
      border: 2px solid var(--color-red);
      position: absolute;
      top: 0px;
      left: 50%;
      transform: translateX(-50%);
    }
    &.is-active {
      &:before {
        background-color: var(--color-red);
      }
    }
  }
}
.form__section {
  margin-top: 100px;
  padding-left: 20px;
  @media screen and (max-width: 750px){
    margin-top: 50px;
    padding-left: 0;
  }
  + .form__section {
    margin-top: 70px;
    padding-top: 70px;
    border-top: 1px solid #000;
    @media screen and (max-width: 750px){
      margin-top: 60px;
      padding-top: 60px;
    }
  }
}
.form__table {
  width: 100%;
  font-size: 14px;
  font-weight: 500;
  @media screen and (max-width: 1080px){
    display: block;
    tbody,
    tr,
    th,
    td {
      display: block;
    }
  }
  tr {
    @media screen and (max-width: 1080px){
      margin-bottom: 40px;
      &:last-child {
        margin-bottom: 0;
      }
    }
  }
  th {
    width: 30%;
    vertical-align: middle;
    padding: 30px 0;
    @media screen and (max-width: 1080px){
      padding: 0;
      width: 100%;
    }
    div {
      position: relative;
    }
  }
  td {
    width: 70%;
    vertical-align: middle;
    padding: 30px 0;
    position: relative;
    @media screen and (max-width: 1080px){
      width: 100%;
      padding: 10px 0 0 0;
    }
  }
}
.form__h2 {
  font-size: 20px;
  font-weight: 500;
  margin-bottom: 1.5em;
  @media screen and (max-width: 750px){
    
  }
}
.form__caution {
  color: var(--color-red);
  margin-top: 0.5em;
  text-indent: -1em;
  margin-left: 1em;
  + .form__caution {
    margin-top: 0;
  }
}
.icon-required {
  font-size: 12px;
  font-weight: 500;
  color: #fff;
  background-color: var(--color-red);
  border-radius: 4px;
  width: 52px;
  height: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 50%;
  right: 24px;
  transform: translateY(-50%);
  @media screen and (max-width: 1080px){
    right: 0px;
  }
  td & {
    right: calc(100% + 24px);
    @media screen and (max-width: 1080px) {
      right: 0px;
    }
  }
}
.icon-free {
  font-size: 12px;
  font-weight: 500;
  color: #fff;
  background-color: var(--color-blue);
  border-radius: 4px;
  width: 52px;
  height: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 50%;
  right: 24px;
  transform: translateY(-50%);
  @media screen and (max-width: 1080px) {
    right: 0px;
  }
  td & {
    right: calc(100% + 24px);
    @media screen and (max-width: 1080px) {
      right: 0px;
    }
  }
}
.input-form-text {
  width: 350px;
  height: 36px;
  max-width: 100%;
  border-radius: 4px;
  background-color: #fff;
  padding: 0 0.5em;
  border: 1px solid #000;
  font-size: 14px;
  @media screen and (max-width: 1080px) {
    width: 100%;
  }
  &.-long {
    width: 514px;
    @media screen and (max-width: 1080px) {
      width: 100%;
    }
  }
  &.-short {
    width: 166px;
    @media screen and (max-width: 1080px){
      width: 100%;
    }
  }
  &::placeholder {
    color: #a0a0a0;
  }
}
.input-form-textarea {
  width: 512px;
  height: 120px;
  max-width: 100%;
  border-radius: 4px;
  background-color: #fff;
  padding: 0.25em 0.5em;
  border: 1px solid #000;
  font-size: 14px;
  &::placeholder {
    color: #a0a0a0;
  }
}
.form__btn {
  margin-top: 40px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 60px;
}
.btn-submit {
  -webkit-appearance: none;
  background-color: var(--color-yellow);
  border: 4px solid var(--color-red);
  color: var(--color-red);
  border-radius: 50vh;
  width: 488px;
  height: 78px;
  max-width: 100%;
  cursor: pointer;
  font-size: 32px;
  font-weight: 800;
  @media screen and (max-width: 750px){
    height: 50px;
    font-size: 19px;
  }
  &:hover {
    opacity: 0.75;
  }
}
.btn-back {
  -webkit-appearance: none;
  background-color: #a7aaad;
  color: #fff;
  border-radius: 50vh;
  border-style: none;
  width: 488px;
  height: 78px;
  max-width: 100%;
  cursor: pointer;
  font-size: 32px;
  font-weight: 800;
  @media screen and (max-width: 750px){
    height: 50px;
    font-size: 19px;
  }
  &:hover {
    opacity: 0.75;
  }
}
.btn-list {
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: center;
  li {
    @media screen and (max-width: 750px){
      width: 100%;
    }
  }
}