main{
  margin: 5em auto;
  max-width: 720px;
}










/* ===== 13. Contact Form (CF7) =====
   /contact ページの Contact Form 7 を、
   既存のダークウッド系テーマに合わせて装飾。
   HTML/PHP側の変更は不要（CSSのみ）。
------------------------------------------------------------- */
.wpcf7-form{
  max-width:520px;
  margin:0 auto;
  padding:26px 22px 28px;
  background:linear-gradient(180deg,var(--panel),#1e150e);
  border:1px solid var(--panel-edge);
  border-radius:18px;
  box-shadow:var(--shadow);
}
 
.wpcf7-form p{
  margin:0 0 20px;
}
.wpcf7-form .pp_link{
  font-size: 10px;
}
.wpcf7-form p:last-child{
  margin-bottom:0;
}
.wpcf7-form-control.wpcf7-acceptance label{
  display: flex;
  align-items: center;
}
.wpcf7-form label{
  display:block;
  font-family:var(--mono);
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--teal-bright);
  margin-bottom:8px;
}
 
.wpcf7-form-control-wrap{
  display:block;
}
 
.wpcf7-form .wpcf7-form-control{
  width:100%;
  background:var(--wood-dark);
  border:1px solid var(--panel-edge);
  border-radius:8px;
  padding:12px 14px;
  color:var(--ink);
  font-family:var(--sans);
  font-size:14.5px;
  line-height:1.6;
  transition:border-color .15s ease, box-shadow .15s ease;
}
.wpcf7-form .wpcf7-form-control::placeholder{
  color:var(--ink-dim);
  opacity:.7;
}
.wpcf7-form .wpcf7-form-control:focus{
  outline:none;
  border-color:var(--teal-bright);
  box-shadow:0 0 0 3px rgba(79,173,162,0.2);
}
.wpcf7-form textarea.wpcf7-form-control{
  resize:vertical;
  min-height:140px;
}
 
/* プライバシーポリシー同意チェックボックス */
.wpcf7-form .wpcf7-acceptance .wpcf7-list-item{
  margin:0;
}
.wpcf7-form .wpcf7-list-item-label{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--ink-dim);
  font-size:12px;
  cursor:pointer;
}
.wpcf7-form input[type="checkbox"]{
  width:16px;
  height:16px;
  accent-color:var(--teal-bright);
  cursor:pointer;
}
 
/* 送信ボタン（.check-btn と同じトーン） */
.wpcf7-form .wpcf7-submit{
  display:block;
  width:100%;
  margin:4px 0 0;
  padding:13px 40px;
  background:linear-gradient(180deg,var(--rust-bright),var(--rust));
  color:#fff6ee;
  border:none;
  border-radius:999px;
  font-family:var(--sans);
  font-weight:700;
  font-size:14.5px;
  letter-spacing:.03em;
  cursor:pointer;
  box-shadow:0 10px 22px rgba(184,68,46,0.35);
  transition:transform .12s ease, box-shadow .12s ease, opacity .12s ease;
}
.wpcf7-form .wpcf7-submit:hover{
  transform:translateY(-1px);
  box-shadow:0 14px 26px rgba(184,68,46,0.42);
}
.wpcf7-form .wpcf7-submit:active{
  transform:translateY(0);
}
.wpcf7-form .wpcf7-submit.wpcf7-submit-disabled{
  opacity:.6;
  cursor:not-allowed;
}
 
/* エラー・送信中スピナー */
.wpcf7-form .wpcf7-not-valid-tip{
  display:block;
  margin-top:6px;
  color:var(--rust-bright);
  font-size:12.5px;
}
.wpcf7-form .wpcf7-spinner{
  margin:0 0 0 10px;
}
 
.wpcf7-response-output{
  margin-top:20px;
  padding:12px 16px;
  border-radius:10px;
  font-size:13.5px;
  line-height:1.6;
}
.wpcf7-form.sent .wpcf7-response-output{
  border:1px solid var(--teal-bright);
  color:var(--teal-bright);
}
.wpcf7-form.invalid .wpcf7-response-output,
.wpcf7-form.failed .wpcf7-response-output{
  border:1px solid var(--rust-bright);
  color:var(--rust-bright);
}
 