@charset "UTF-8";

/*==========================
 Contact Section Specific
==========================*/

/* --- ベース設定 --- */
.contact {
  padding: 40px 8%; /* style.cssの左右余白感に合わせる */
  width: 100%;
}

.contact h3 {
  color: #000;
  margin: 0 0 10px 0; /* 横マージンをリセットし、下を空ける */
  font-size: 2rem;  /* スマホのサイズ */
}


.tel__desc,
.desc {
  font-size: 1.6rem;
  margin-bottom: 25px !important; 
  line-height: 1.8;
}

/*==========================
 Contact Section Specific
==========================*/

.contact--form--tel {
  margin-bottom: 60px; /* スマホ時の上下の間隔 */
}

/* 電話ボタン */
.tel-button {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: var(--main-color__grn); /* style.cssの変数を使用 */
  color: var(--main-color__wht);
  text-decoration: none;
  width: 80%;
  max-width: 350px; /* スマホで広がりすぎないように */
  padding: 15px;
  border-radius: 10px;
  font-size: 2.0rem;
  font-weight: 700;
  letter-spacing: 1px;
  transition: opacity 0.3s;
}

.tel-button:hover {
  opacity: 0.8;
}

.tel-button::before {
  content: ""; 
  width: 20px;
  height: 20px;
  background-image: url(..//images/icon_call_PC_wht.png);
  background-repeat: no-repeat;
  background-size: contain;
  margin-right: 10px;
  font-size: 1.6rem;
}

/*==========================
メールセクション
==========================*/


.contact--form--mail {
  width: 100%;
}

.main-form {
  display: flex;
  margin-top: 30px;
  width: auto;
  flex-direction: column;
  gap: 25px;
}

.main-form br {
    display: none;
}

/* ラベル */
.form-item label {
  display: block;
  font-weight: 700;
  margin-bottom: 8px;
  font-size: 1.4rem;
}

/* 必須マーク */
.required {
  color: #e74c3c;
  margin-left: 5px;
}

input[type="text"],
input[type="email"],
input[type="tel"],
textarea {
  width: 100%;
  padding: 12px 15px;
  border: 1px solid #ccc;
  border-radius: 8px;
  background-color: #f9f9f9;
  font-size: 1.6rem; /* 16px以上にしないとiOSでズームされるため */
  appearance: none;
  outline: none;
  box-sizing: border-box; /* パディングを含めた幅計算 */
  font-family: inherit;
}

input:focus,
textarea:focus {
  border-color: var(--main-color__grn);
  background-color: #fff;
}

textarea {
  height: 200px;
  resize: vertical;
}

/* 送信ボタン */
.submit-btn {
  background-color: var(--main-color__grn);
  color: var(--main-color__wht);
  padding: 18px;
  font-size: 1.6rem;
  font-weight: 700;
  border-radius: 10px;
  cursor: pointer;
  width: 100%;
  max-width: 300px;
  margin: 20px auto 0;
  display: block;
  transition: opacity 0.3s;
  letter-spacing: 1px;
  text-align: center;
}

.submit-btn:hover {
  opacity: 0.8;
}

.privacy-check input[type="checkbox"] {
  display: inline-block;    /* 表示させる */
  width: 20px;              /* 箱の幅 */
  height: 20px;             /* 箱の高さ */
  border: 1px solid #ccc;   /* 枠線をつける */
  appearance: auto;         /* ブラウザ標準のチェックボックスデザインに戻す */
  -webkit-appearance: auto; /* Safari/Chrome用 */
  margin-right: 10px;       /* 文字との間隔 */
  vertical-align: middle;   /* 文字と高さを合わせる */
  position: relative;
  top: -2px;                /* 微調整 */
  cursor: pointer;
}


/* プライバシーポリシーのリンク装飾 */
.privacy-check a {
  color: var(--main-color__grn); /* テーマの緑色を使う */
  text-decoration: underline;    /* 下線をつける */
  font-weight: 700;              /* 太字にして目立たせる */
  transition: opacity 0.3s;
}

.privacy-check a:hover {
  opacity: 0.7; /* マウスを乗せたときに少し薄くする */
  text-decoration: none; /* ホバー時は下線を消す（お好みで） */
}


/*==========================
 Responsive (PC: 769px以上)
==========================*/
@media screen and (min-width: 769px) {
  
  /* 修正箇所：.contact ではなく、CF7の内側（wrapper）にflexをかける */
  .contact-layout-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
  }

  /* 元のCSSにあった設定 */
  .contact h3 {
    font-size: 2.4rem;
  }

  .tel__desc, .desc {
    font-size: 1.8rem;
    margin-bottom: 25px !important; 
    line-height: 1.8;
  }

  /* 電話セクション */
  .contact--form--tel {
    width: 35%;
    margin-bottom: 0; 
    position: sticky;
    top: 120px;
  }

  .tel-button {
    margin: 30px 0;
    width: 100%;
    font-size: 2.2rem;
  }

  /* メールセクション */
  .contact--form--mail {
    width: 60%;
  }

  /* 入力欄のデザイン微調整 */
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  textarea {
    padding: 15px 20px;
  }
  
}

/* プライバシーポリシー同意エリア（スマホ・PC共通） */
.privacy-check {
  text-align: center;
}
.privacy-check input {
  margin-right: 10px;
  width: auto;
}