@charset "UTF-8";



/**********************************************/

/**********CONTACT*****************************/

/**********************************************/

#cf7_wrap {

  max-width: 900px;

  margin: 0 auto;

  font-family: "Noto Sans JP", sans-serif;

}



.cf7_item {

  display: flex;

  justify-content: space-between;

  margin-bottom: 25px;

}



.cf7_head {

  width: 30%;

  font-weight: 600;

  display: flex;

  align-items: center;

}



.cf7_content {

  width: 68%;

}



.cf7_req {

  color: #d00;

  font-weight: 600;

  margin-left: 4px;

}



.cf7_form_heading {

  text-align: center;

  margin-bottom: 32px;

  font-weight: 400;

}



.contact_tel_box {

  text-align: center;

  margin: 32px auto 60px;

  padding: 18px 35px;

  border: 1px solid var(--Black);

  width: fit-content;

}



.contact_tel_box p {

  line-height: 1.6;

}



.contact_tel_box .tel_number {

  display: inline-block;

  font-weight: 700;

  letter-spacing: 1px;

  background: var(--White);

}



.contact_tel_box .tel_number p {

  font-size: 1.8rem;

}



/* ============================

   入力系（テキスト、メール、電話）

============================ */

#cf7_wrap input[type="text"],

#cf7_wrap input[type="email"],

#cf7_wrap input[type="tel"],

#cf7_wrap textarea,

#cf7_wrap select {

  width: 100%;

  padding: 12px 14px;

  border: 1px solid var(--Lightgray);

  border-radius: 3px;

  transition: border-color .2s;

}



#cf7_wrap input:focus,

#cf7_wrap textarea:focus,

#cf7_wrap select:focus {

  border-color: var(--Blue);

  outline: none;

}



/* ============================

   セレクトボックス

============================ */

#cf7_wrap select {

  appearance: none;

  -webkit-appearance: none;

  background: #fff url("data:image/svg+xml;charset=UTF-8,%3Csvg width='14' height='10' viewBox='0 0 14 10' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l6 6 6-6' stroke='%23000' stroke-width='2' fill='none' fill-rule='evenodd'/%3E%3C/svg%3E") no-repeat right 12px center;

  background-size: 12px;

  cursor: pointer;

}



/* IE対策（不要なら削除可） */

#cf7_wrap select::-ms-expand {

  display: none;

}



/* ============================

   テキストエリア

============================ */

#cf7_wrap textarea {

  height: 150px;

  resize: vertical;

}



/* ============================

   個人情報チェック

============================ */

.cf7_contentccept_check {

  margin: 25px 0 40px;

  font-size: 0.9rem;

  text-align: center;

}



/* ============================

   送信ボタン

============================ */

#cf7_wrap .cf7_submit input[type="submit"] {

  background: var(--Blue);

  color: var(--White);

  padding: 15px 40px;

  font-size: 1rem;

  font-weight: 500;

  border-radius: 5px;

  border: none;

  cursor: pointer;

  display: block;

  margin: 0 auto;

  transition: opacity 0.8s ease;

}



#cf7_wrap .cf7_submit input[type="submit"]:hover {

  opacity: 0.6;

}



.privacy_wrap {

  text-align: center;

  margin: 12px 0;

  font-weight: 400;

}



@media (max-width: 768px) {

  .contact_tel_box {

    text-align: center;

    margin: 32px auto 40px;

    padding: 16px 24px;

    border: 1px solid var(--Black);

    width: fit-content;

  }

}









/* フォーム全体メッセージ */

.cf7_response .wpcf7-response-output {

  margin: 20px 0 0;

  padding: 10px 15px;

  border-radius: 4px;

  font-size: 0.9rem;

}



/* エラー時 */

.cf7_response .wpcf7-response-output.wpcf7-validation-errors,

.cf7_response .wpcf7-response-output.wpcf7-acceptance-missing {

  border: 1px solid #e74c3c;

  background-color: #ffecec;

  color: #e74c3c;

}



/* 成功時 */

.cf7_response .wpcf7-response-output.wpcf7-mail-sent-ok {

  border: 1px solid #2ecc71;

  background-color: #eafff2;

  color: #2ecc71;

}



/* 各フィールドの直下に出るエラー文 */

.wpcf7-not-valid-tip {

  display: block;

  margin-top: 4px;

  font-size: 0.85rem;

  color: #e74c3c;

}


.grecaptcha-badge {
  visibility: visible !important;
  z-index: 9999;
}

