@charset "UTF-8";

/* 共通パーツ */
.transport-text { padding: 1.5rem 0 !important; }
.row-center.is-row { align-items: center !important; }
.tel-row img { border-radius: 0 !important; }
.emergency-text { width: fit-content; margin: 0 auto 2rem; }

/* フォーム関連 */
.essential, .option {
  font-weight: 400; color: #fff;
  padding: 0.2rem 0.5rem 0.25rem;
  border-radius: 0.5rem;
  margin-left: 3px !important;
  line-height: 1;
  display: inline-block;
  background-color: #ff0000;
}
.option { background-color: #105416; }

input.wpcf7-form-control, textarea.wpcf7-form-control {
  font-family: inherit;
  border: 2px solid #ccc;
  padding: 0.5rem 0.75rem 0.6rem;
  width: 100%;
  border-radius: 0.75rem;
}
@media (min-width: 600px) {
  input.wpcf7-form-control, textarea.wpcf7-form-control { padding: 10px; }
}
textarea.wpcf7-form-control { height: 200px; }
.wpcf7-form-control-wrap[data-name="your-zip1"] input.p-postal-code { width: 90px !important; }
.wpcf7-form-control-wrap[data-name="your-zip2"] input.p-postal-code { width: 120px !important; }
span.wpcf7-list-item { display: block; }

p > .wpcf7-submit {
  color: #fff !important;
  background: linear-gradient(100deg, var(--color_main) 100%, var(--color_main_thin) 100%) !important;
  border: none;
  transition: 0.3s;
  border-radius: 0.25rem;
  box-shadow: 0 0.25rem 0 var(--color_main_dark);
  width: 80%;
  margin-top: 2rem;
  margin-left: 10%;
  height: 5rem;
}
p > .wpcf7-submit:hover { 
  box-shadow: none;
  transition: 0.3s;
  border: none;
  margin-top: 2rem;
  margin-bottom: 0;}
#before_footer_widget { display: none; }

.your-post-code { margin-top: -20px; margin-bottom: 10px; }
.your-post-code > p { display: flex; align-items: center; gap: 0.5em; }
.your-address { display: flex; justify-content: space-between; flex-wrap: wrap; }
.your-region { width: 24%; }
.your-locality { width: 24%; }
.your-street { width: 49%; }

@media (max-width: 599px) {
  .your-region, .your-locality { width: 49%; }
  .your-street { width: 100%; }
}

.form-section label.bold {
  margin: 1.25rem 0 0.25rem !important;
  display: inline-block;
  font-size: 1.1em !important;
}

/* =========================================
   表形式レイアウト用CSS
========================================= */
.form-table {
  width: 100%;
  border-top: 2px solid #ddd;
  border-left: 1px solid #ddd;
  border-right: 1px solid #ddd;
  background: #fff;
}

.form-row {
  border-bottom: 2px solid #ddd;
  display: flex;
  flex-direction: column; /* SPでは縦並び */
}

/* 見出し部分（左側/上部） */
.form-th {
  background-color: #f2f2f5; /* 参考画像に近い薄いグレー */
  padding: 1.2rem 1rem;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: space-between; /* SP画像のようにバッジを右端に配置 */
}

/* 入力欄部分（右側/下部） */
.form-td {
  padding: 1.2rem 1rem;
}

/* ラジオボタン・チェックボックスを縦に並べる場合の見栄え調整 */
.form-td span.wpcf7-list-item {
  display: block; /* 縦並びにする */
  margin: 0 0 0.5rem 0;
}

/* 必須・任意バッジのデザイン変更（画像に近づける） */
.essential, .option {
  font-weight: normal;
  color: #fff;
  font-size: 0.8rem;
  padding: 0.2rem 0.8rem;
  border-radius: 20px; /* 参考画像のような強い角丸 */
  margin-left: 10px !important;
  line-height: 1.2;
}
.essential {
  background-color: var(--color_deep01);
}
.option {
  background-color: var(--color_deep03);
}

/* =========================================
   PC向けレイアウト (画面幅600px以上)
========================================= */
@media (min-width: 600px) {
  .form-row {
    flex-direction: row; /* 横並びにする */
  }
  .form-th {
    width: 30%;
    border-right: 1px solid #ddd;
    justify-content: space-between; /* テキストとバッジを両端に */
  }
  .form-td {
    width: 70%;
  }
}

/* =========================================
   送信ボタンの位置調整
========================================= */
.submit-wrap {
  text-align: center;
}
.submit-wrap p > .wpcf7-submit {
  margin-left: 0;
  width: 100%;
  max-width: 400px; /* PCでボタンが大きくなりすぎないように制限 */
}