:root{
  --ink:#1F1F22;
  --link:#0070F3;
  --paper:#FFFFFF;
  --line:#E5E7EB;
  --muted:#6B7280;
}

.entry-form-cf7{
  max-width:760px;
  margin:0 auto;
  font-family:-apple-system,"Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;
  color:var(--ink);
}

/* 見出し・ラベル */
.entry-form-cf7 .cf7-key,
.entry-form-cf7 label{
  font-weight:700;
  font-size:.95rem;
  line-height:1.6;
}
.entry-form-cf7 em{ color:var(--link); font-style:normal; }

/* 2カラムグリッド */
.entry-form-cf7 .cf7-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin:18px 0;
}
.entry-form-cf7 .cf7-wide{ grid-column:1 / -1; }

/* 入力欄 */
.entry-form-cf7 input[type=text],
.entry-form-cf7 input[type=email],
.entry-form-cf7 input[type=tel],
.entry-form-cf7 select,
.entry-form-cf7 textarea{
  width:100%;
  box-sizing:border-box;
  padding:12px 14px;
  margin-top:6px;
  border:1px solid var(--line);
  border-radius:10px;
  font-size:1rem;
  background:var(--paper);
}
.entry-form-cf7 input:focus,
.entry-form-cf7 select:focus,
.entry-form-cf7 textarea:focus{
  outline:none;
  border-color:var(--link);
  box-shadow:0 0 0 3px rgba(0,112,243,.12);
}

/* ラジオ・チェックを「カード」に */
.entry-form-cf7 fieldset.cf7-set{
  border:none; padding:0; margin:18px 0;
}
.entry-form-cf7 .wpcf7-list-item{
  display:inline-flex !important;
  align-items:center;
  gap:8px;
  margin:6px 8px 6px 0 !important;
  padding:10px 14px;
  border:1px solid var(--line);
  border-radius:999px;
  cursor:pointer;
  transition:.15s;
}
.entry-form-cf7 .wpcf7-list-item:hover{ border-color:var(--link); }
.entry-form-cf7 .wpcf7-list-item input:checked + .wpcf7-list-item-label{
  color:var(--link);
}
.entry-form-cf7 .wpcf7-list-item:has(input:checked){
  border-color:var(--link);
  background:rgba(0,112,243,.06);
}
.entry-form-cf7 .wpcf7-list-item-label{ font-weight:600; }

/* 同意チェック */
.entry-form-cf7 .cf7-accept{ margin:18px 0; font-size:.9rem; color:var(--muted); }

/* 送信ボタン */
.entry-form-cf7 .wpcf7-submit{
  display:block;
  width:100%;
  padding:16px;
  margin-top:8px;
  border:none;
  border-radius:12px;
  background:var(--ink);
  color:#fff;
  font-size:1.05rem;
  font-weight:700;
  cursor:pointer;
  transition:.2s;
}
.entry-form-cf7 .wpcf7-submit:hover{ background:var(--link); }
.entry-form-cf7 .cf7-note{
  text-align:center; font-size:.85rem; color:var(--muted); margin-top:10px;
}

/* スマホ：1カラムに */
@media(max-width:640px){
  .entry-form-cf7 .cf7-grid{ grid-template-columns:1fr; }
}
