.p-page-contact {
  .p-page-contact-main {
    padding-bottom: var(--layout-pc-content-bottom-margin);

    .p-page-contact-main-content {
      .c-title-h2 {
        text-align: center;
        margin-bottom: 50px;
      }

      .c-text {
        text-align: center;

        .p-page-contact-main-content-text__link {
          text-decoration: underline;
        }
      }

      .p-page-contact-main-content-form-wrap {
        margin-top: 50px;
        border-radius: 30px;
        background-color: var(--color-bg);
        padding: 100px;

        .c-text {
          margin-bottom: 50px;
          text-align: left;

          .p-page-contact-main-content-form-required {
            color: var(--color-primary-02);
          }
        }

        .wpcf7 {
          .wpcf7-form {
            .p-page-contact-main-content-form {
              .p-page-contact-main-content-form-groups {
                display: grid;
                gap: 30px;
    
                .p-page-contact-main-content-form-group {
                  display: flex;
                  flex-direction: column;
                  gap: 10px;
    
                  .p-page-contact-main-content-form-group-label {
                    margin-bottom: 0;
                    font-weight: 700;
    
                    .p-page-contact-main-content-form-group-label__required {
                      color: var(--color-primary-02);
                    }
                  }
    
                  .wpcf7-form-control-wrap {
                    display: flex;
                    flex-direction: column;
                    gap: 10px;
    
                    .wpcf7-not-valid-tip {
                      font-size: 1.6rem;
                      color: var(--color-error-text);
                      display: inline-block;
                      font-weight: 700;
                      line-height: 170%;
                      letter-spacing: 1.6px;
                    }
                  }
    
                  .p-page-contact-main-content-form-group-input,
                  .p-page-contact-main-content-form-group-textarea {
                    box-sizing: border-box;
                    width: 100%;
                    padding: 20px 30px;
                    border-radius: 10px;
                    border: none;
    
                    &::placeholder {
                      color: var(--color-placeholder-01);
                    }
                  }
    
                  .p-page-contact-main-content-form-group-textarea {
                    min-height: 400px;
                    resize: vertical;
                  }
    
                  .p-page-contact-main-content-form-group-select {
                    width: 100%;
                    box-sizing: border-box;
                    padding: 20px 30px;
                    border-radius: 10px;
                    border: none;
                    -webkit-appearance: none;
                    appearance: none;
                    color: var(--color-text);
                    background-color: #fff;
                    background-image: url('../../../../img/common/icon/arrow_down_black.svg');
                    background-size: 8px;
                    background-repeat: no-repeat;
                    background-position: right 30px center;
                  }
                }
              }

              .p-page-contact-main-content-form-agree-box {
                display: grid;
                gap: 6px;

                .p-page-contact-main-content-form-agree {
                  margin-top: 50px;
                  display: flex;
                  justify-content: center;
                  align-items: center;
                  flex-direction: column-reverse;
                  gap: 10px;
  
                  .wpcf7-form-control-wrap {
                    .wpcf7-not-valid-tip {
                      font-size: 1.6rem;
                      font-weight: 700;
                      letter-spacing: 1.6px;
                    }
                  }
      
                  .p-page-contact-main-content-form-agree-checkbox {
                    display: none;
  
                    &:checked + .wpcf7-list-item-label{
                      &::before {
                        border-color: #666;
                      }
  
                      &::after {
                        opacity: 1;
                      }
                    }
                  }
      
                  .wpcf7-list-item-label {
                    font-size: 1.6rem;
                    font-weight: 700;
                    letter-spacing: 1.6px;
                    position: relative;
                    padding-left: 26px;
  
                    &::before {
                      background-color: #fff;
                      border: 1px solid #ccc;
                      border-radius: 3px;
                      content: '';
                      display: block;
                      height: 16px;
                      left: 5px;
                      margin-top: -8px;
                      position: absolute;
                      top: 50%;
                      width: 16px;
                    }
  
                    &::after {
                      border-right: 3px solid var(--color-primary-02);
                      border-bottom: 3px solid var(--color-primary-02);
                      content: '';
                      display: block;
                      height: 9px;
                      left: 10px;
                      margin-top: -7px;
                      opacity: 0;
                      position: absolute;
                      top: 50%;
                      transform: rotate(45deg);
                      width: 5px;
                    }
      
                    .p-page-contact-main-content-form-agree-label__link {
                      text-decoration: underline;
                    }
      
                    .p-page-contact-main-content-form-agree-label__required {
                      color: var(--color-primary-02);
                    }
                  }
                }
                
                .p-page-contact-main-content-form-agree__error {
                  display: none;
                  font-size: 1.6rem;
                  font-weight: 700;
                  letter-spacing: 1.6px;
                  color: var(--color-error-text);
                  text-align: center;
                }
              }
    
              .p-page-contact-main-content-form-submit {
                margin-top: 50px;
                display: flex;
                justify-content: center;
    
                .p-page-contact-main-content-form-submit__container {
                  position: relative;
    
                  .p-page-contact-main-content-form-submit-submit-button {
                    position: absolute;
                    top: 0;
                    left: 0;
                    width: 100%;
                    height: 100%;
                    display: none;
                    justify-content: center;
                    align-items: center;
                    background-color: rgba(255, 255, 255, 0.4);
                    border-radius: 55px;
    
                    .p-page-contact-main-content-form-submit-submit-button__button {
                      display: none;
                    }
                  }

                  .c-button-rounded {
                    .c-button-rounded__icon {
                      display: inline-flex;
                    }
                  }
                }
              }
            }    
          }

          .wpcf7-form.unaccepted {
            .p-page-contact-main-content-form-agree-box {
              .p-page-contact-main-content-form-agree__error {
                display: block;
              }
            }
          }

          .wpcf7-form.submitting {
            .p-page-contact-main-content-form-submit {
              .p-page-contact-main-content-form-submit__container {
                .p-page-contact-main-content-form-submit-submit-button {
                  display: flex;
                }
              }
            } 
          }
        }

        .wpcf7-response-output {
          margin-top: 30px;
          text-align: center;
          font-size: 1.6rem;
          padding: 16px;
        }
      }
    }
  }
}

/* TABLET */
@media screen and (max-width: 1024px) {
  .p-page-contact {
    .p-page-contact-main {
      .l-container {
        margin: 0 var(--device-tab-padding);
      }
    }
  }
}

@media screen and (max-width: 768px) {
  .p-page-contact {
    .p-page-contact-main {
      padding-bottom: var(--layout-sp-content-bottom-margin);

      .l-container {
        margin: 0;
      }
  
      .p-page-contact-main-content {
        .c-title-h2 {
        }
  
        .c-text {
          text-align: left;
          margin: 0 30px;
  
          .p-page-contact-main-content-text__link {
          }
        }
  
        .p-page-contact-main-content-form-wrap {
          margin-top: 100px;
          padding: 70px 30px;
  
          .c-text {
            text-align: left;
            margin: 0 0 50px 20px;
  
            .p-page-contact-main-content-form-required {
            }
          }

          .wpcf7 {
            .wpcf7-form {
              .p-page-contact-main-content-form {
                .p-page-contact-main-content-form-groups {
                  .p-page-contact-main-content-form-group {
                    .p-page-contact-main-content-form-group-label {
                      margin: 0;
      
                      .p-page-contact-main-content-form-group-label__required {
                      }
                    }
      
                    .wpcf7-form-control-wrap {
                      .wpcf7-not-valid-tip {
                        font-size: 1.4rem;
                      }
                    }
      
                    .p-page-contact-main-content-form-group-input,
                    .p-page-contact-main-content-form-group-textarea {
                    }
      
                    .p-page-contact-main-content-form-group-textarea {
                    }
      
                    .p-page-contact-main-content-form-group-select {
                    }
                  }
                }
      
                .p-page-contact-main-content-form-agree {
                  .wpcf7-form-control-wrap {
                    .wpcf7-not-valid-tip {
                      font-size: 1.4rem;
                      letter-spacing: 1.4px;
                    }
                  }

                  .p-page-contact-main-content-form-agree-checkbox {
                  }
      
                  .p-page-contact-main-content-form-agree-label {
                    .p-page-contact-main-content-form-agree-label__link {
                    }
      
                    .p-page-contact-main-content-form-agree-label__required {
                    }
                  }
                }
      
                .p-page-contact-main-content-form-submit {
                }
              }
            }

            .wpcf7-form.submitting {
              .p-page-contact-main-content-form-submit {
                .p-page-contact-main-content-form-submit__container {
                  .p-page-contact-main-content-form-submit-submit-button {  
                    .p-page-contact-main-content-form-submit-submit-button__button {
                    }
                  }
                }
              } 
            }
          }
  
          .wpcf7-response-output {
            font-size: 1.4rem;
          }
        }
      }
    }
  }
}