.content01 {
  min-height: calc(100vh - 6.9375rem);
  padding-top: 1.875rem;
  & .block {
    max-width: 62.125rem; 
    width: 100%;
    margin: 0 auto;
  }
  & .left {
    max-width: 24.6875rem; 
    width: 100%;
  }
  & .right {
    flex: 1;
    max-width: 33.9375rem;
    width: 100%;
    background: white;
    border-radius: 10px;
    padding: 1.25rem 1.75rem 1.75rem;
  }
  & .wrap01 {
    background: #F8F9FF;
    padding: 1.25rem 1.5625rem; 
    margin-bottom: 1.875rem; /* 30 / 16 */
  }
  & .wrap02 {
    margin-bottom: 2rem;
  }
  & .wrap03 {
    gap: 0.625rem; /* 10 / 16 */
  }
  & .heading01 {
    font-size: 1.25rem; /* 20 / 16 */
    font-weight: 800;
    margin-bottom: 0.3125rem; /* 5 / 16 */
  }
  & .heading02 {
    font-size: 1.25rem; /* 20 / 16 */
    font-weight: 800;
    text-align: center;
    margin-bottom: 0.625rem; /* 10 / 16 */
  }
  & .text01 {
    font-size: 1rem; /* 16 / 16 */
    letter-spacing: 0.12em;
    line-height: 1.5;
    margin-bottom: 1.875rem; /* 30 / 16 */
  }
  & .text02 {
    color: var(--mainBlack);
    font-size: 1.125rem; /* 18 / 16 */
    line-height: 1.5;
    letter-spacing: 0.12em;
  }
  & .text03 {
    text-align: center;
    font-size: 0.65rem;
    letter-spacing: 0.01em;
  }
  & .link01 {
    display: inline-block;
    text-align: center;
    color: var(--mainBlue);
  }
  & .img01 {
    width: 100%;
  }
  & .img02 {
    width: calc((100% - 0.625rem * 2) / 3); /* 10 / 16 */
    border-radius: 5px;
  }
  & .form {
    width: 100%;
    margin: 0 auto 1.25rem;
    padding-top: 0.625rem;
    & .wpcf7-form-control-wrap {
      width: 100%;
      max-width: 18.375rem; 
    }
    & .p-wrap01 {
      margin-bottom: 1.0625rem;
      display: flex;
      align-items: start;
      justify-content: space-between;
    }
    & .p-wrap02 {
      position: relative;
      margin: 1rem auto 0;
      max-width: 18.75rem;
      width: 100%;
      &::after {
        content: "";
        background-image: url(../img/common/btn_icon01.svg);
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
        width: 1.5625rem;
        height: 1.5625rem;
        display: block;
        position: absolute;
        right: 1.25rem;
        top: 50%;
        transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
      }
    }
    & .p-texts01 {
      gap: 0.625rem; /* 10 / 16 */
      margin-top: 0.45rem;
    }
    & .p-text01 {
      font-size: 0.875rem; /* 14 / 16 */
      letter-spacing: 0.11em;
    }
    & .p-text02 {
      font-size: 0.75rem; /* 12 / 16 */
      color: white;
      background: var(--mainBlue);
      padding: 0.2rem 0.3125rem 0.25rem;
      border-radius: 0.1875rem;
      line-height: 1;
    }
    & .p-input,
    & .p-textarea {
      width: 100%;
      border: 1.5px solid var(--mainBlue); /* 維持 */
      background: white;
      border-radius: 0.3125rem;
      font-size: 1rem;
      font-weight: 400;
      color: var(--mainBlack);
      padding: 0.25rem 0.5rem;
      height: 2.1875rem; /* 35 / 16 */
      &::placeholder {
        opacity: 0.5;
      }
    }
    & .p-textarea {
      height: 9.375rem; /* 150 / 16 */
    }
    & .p-btn {
      border: none;
      font-size: 1.125rem;
    }
  }
}

@media (max-width: 768px) {
  .content01 {
    min-height: calc(100vh - 11.648rem);
    padding-top: 3.2rem;
    & .block {
      max-width: 100%;
      flex-direction: column-reverse;
      gap: 2rem;
      padding-top: 0;
    }
    & .left {
      max-width: 100%;
    }
    & .right {
      max-width: 100%;
      border-radius: 1.28rem; /* 10 / 7.8125 */
      padding: 1.5rem 2.25rem 2.75rem;
      margin-bottom: 2.5rem;
    }
    & .wrap01 {
      padding: 2.56rem 3.2rem; /* 20 / 7.8125, 25 / 7.8125 */
      margin-bottom: 3.84rem; /* 30 / 7.8125 */
    }
    & .wrap02 {
      margin-bottom: 3.5rem; 
    }
    & .wrap03 {
      gap: 1.28rem; /* 10 / 7.8125 */
    }
    & .heading01 {
      font-size: 2.304rem; /* 18 / 7.8125 */
      margin-bottom: 0.64rem; /* 5 / 7.8125 */
    }
    & .heading02 {
      font-size: 2.304rem; /* 18 / 7.8125 */
      margin-bottom: 1.28rem; /* 10 / 7.8125 */
    }
    & .text01 {
      font-size: 1.6rem; 
      margin: 0 auto; /* 20 / 7.8125 */
      text-align: center;
    }
    & .text02 {
      font-size: 2.048rem; /* 16 / 7.8125 */
    }
    & .text03 {
      font-size: 1.536rem; /* 12 / 7.8125 */
    }
    & .img02 {
      width: calc((100% - 1.28rem) / 2); /* 10 / 16 */
    }
    & .form {
      max-width: 100%;
      margin: 0 auto 2.84rem;
      padding-top: 1rem;
      & .wpcf7-form-control-wrap {
        max-width: 100%;
      }
      & .p-wrap01 {
        margin-bottom: 2rem;
        flex-direction: column;
        width: 100%;
      }
      & .p-wrap02 {
        margin: 1.5rem auto 0;
        max-width: 100%;
        &::after {
          background-size: contain;
          width: 2.816rem;
          height: 2.816rem;
          right: 2.176rem;
        }
      }
      & .p-texts01 {
        margin-top: 0;
        margin-bottom: 0.8rem;
        justify-content: space-between;
        width: 100%;
      }
      & .p-text01 {
        font-size: 2.048rem;
      }
      & .p-text02 {
        font-size: 1.536rem;
        padding: 0.256rem 0.64rem;
        border-radius: 0.384rem;
      }
      & .p-input,
      & .p-textarea {
        border: 1.5px solid var(--mainBlue); /* 維持 */
        border-radius: 0.512rem;
        font-size: 2.048rem;
        padding: 1rem 1.25rem;
        height: 4.5rem;
      }
      & .p-textarea {
        height: 17.92rem;
      }
      & .p-btn {
        font-size: 2.048rem;
      }
    }
  }
}

.wpcf7-submit.wpcf7-active {
  pointer-events: none;
  opacity: .5;
}
.hidden-form-input{
  display: none;
}
.wpcf7 .hidden-fields-container{
  display: none;
}