/*
Theme Name: Lightning Child
Theme URI:
Template: lightning
Description:
Author:
Tags:
Version: 0.6.0
*/

/* ==========================================
   FUTAMI DESIGN - Contact Form 7
   ========================================== */
.wpcf7 br{display:none}
.wpcf7 p{margin:0;padding:0}
.wpcf7{max-width:1000px;margin:0 auto 3rem;color:#2c2c2a}

/* イントロ */
.cf7-intro{background:#f5f5f3;border-left:4px solid #2c2c2a;padding:1rem 1.4rem;margin-bottom:2rem;font-size:.88rem;line-height:1.7}
.cf7-intro p{line-height:1.7}
.cf7-intro .cf7-note{color:#888;font-size:.82rem}
.wpcf7 abbr{text-decoration:none;color:#b83232}

/* 全フィールド共通：1列テーブル型 */
.cf7-field,
.cf7-row,
.cf7-col{display:block;width:100%}

.cf7-field > p,
.cf7-col > p:first-child,
.cf7-col > .cf7-name-group,
.cf7-col > .cf7-inline,
.cf7-col > p + p{display:block;width:100%}

/* 上下ライン */
.wpcf7 .cf7-row:first-of-type .cf7-col:first-child,
.wpcf7 .cf7-field:first-of-type{border-top:2px solid #2c2c2a}
.cf7-field{border-bottom:1px solid #e0e0dc;padding:.9rem 0}
.cf7-col{border-bottom:1px solid #e0e0dc;padding:.9rem 0}

/* ラベル */
.cf7-field > p > label,
.cf7-col > p:first-child > label{display:flex;flex-wrap:wrap;align-items:center;gap:0 .4rem;font-size:.85rem;font-weight:700;color:#2c2c2a;margin-bottom:.5rem;line-height:1.5}
.cf7-hint{font-size:.72rem;color:#999;font-weight:400}
.cf7-sublabel{font-size:.73rem;color:#888;display:block;margin-bottom:3px}

/* 入力エリア */
.cf7-field > p > .wpcf7-form-control-wrap,
.cf7-col > p + p,
.cf7-col > .cf7-name-group,
.cf7-col > .cf7-inline{display:block;width:100%}

/* 名前グループ（姓/名 横並び） */
.cf7-name-group > p{display:flex;gap:.7rem;width:100%;margin:0}
.cf7-name-unit{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}
.cf7-name-unit .wpcf7-form-control-wrap{display:block}
.cf7-name-unit input{width:100%}

/* インライン（〒 万円） */
.cf7-inline{display:flex;align-items:center;gap:.4rem}
.cf7-prefix,.cf7-suffix{font-size:.88rem;color:#555;white-space:nowrap;flex-shrink:0}
.cf7-inline .wpcf7-form-control-wrap{flex:1}

/* 入力欄共通 */
.wpcf7 input[type=text],
.wpcf7 input[type=email],
.wpcf7 input[type=tel],
.wpcf7 textarea,
.wpcf7 select{width:100%;padding:.6rem .85rem;border:1px solid #d0d0cc;border-radius:0;background:#fff;color:#2c2c2a;font-size:.88rem;font-family:inherit;box-sizing:border-box;appearance:none;-webkit-appearance:none;transition:border-color .2s}
.wpcf7 input:focus,.wpcf7 textarea:focus,.wpcf7 select:focus{outline:none;border-color:#2c2c2a;box-shadow:0 0 0 3px rgba(44,44,42,.07)}
.wpcf7 input::placeholder,.wpcf7 textarea::placeholder{color:#bbb;font-size:.83rem}
.wpcf7 textarea{resize:vertical;min-height:140px;line-height:1.7}
.wpcf7 select{cursor:pointer}

/* プライバシー */
.cf7-privacy{margin-top:2rem;padding:1.2rem 1.4rem;background:#f5f5f3;border:1px solid #e0e0dc;font-size:.85rem;line-height:1.8;color:#555}
.cf7-privacy p{line-height:1.8}
.cf7-privacy .wpcf7-list-item{margin:0;display:flex;align-items:center;gap:.4rem;font-size:.88rem;color:#2c2c2a;font-weight:600}
.cf7-privacy input[type=checkbox]{width:16px;height:16px;accent-color:#2c2c2a}

/* 送信ボタン */
.cf7-submit{text-align:center;margin-top:2.5rem}
.wpcf7 input[type=submit]{background:#2c2c2a;color:#fff;border:2px solid #2c2c2a;padding:1rem 5rem;font-size:.95rem;font-weight:700;letter-spacing:.15em;cursor:pointer;border-radius:0;min-width:260px;transition:background .25s,color .25s}
.wpcf7 input[type=submit]:hover{background:transparent;color:#2c2c2a}

/* バリデーション */
.wpcf7-not-valid-tip{display:block;color:#b83232;font-size:.78rem;margin-top:4px}
.wpcf7-not-valid{border-color:#b83232}
.wpcf7-response-output{margin:1.5rem 0 0;padding:1rem 1.25rem;font-size:.88rem;border-radius:0}
.wpcf7-mail-sent-ok{background:#eaf6ef;color:#1a6b3c}
.wpcf7-mail-sent-ng{background:#fdf0ee;color:#b83232}
.wpcf7-validation-errors{background:#fff8e7;color:#7a5c00}

/* モバイル */
@media (max-width:480px){
.wpcf7 input[type=submit]{width:100%;min-width:unset;padding:1rem}
.cf7-name-group > p{gap:.5rem}
}

.cf7-intro-header{margin-bottom:1.5rem;font-size:.9rem;line-height:1.8;color:#2c2c2a}
.cf7-intro-header p{margin-bottom:1rem}
.cf7-area-notice{border:2px solid #c9a020;padding:1rem 1.5rem;margin-bottom:1.2rem;text-align:center;background:#fffdf0}
.cf7-area-notice strong{color:#c9a020}

.cf7-section-title{font-size:.9rem;font-weight:700;color:#fff;background:#2c2c2a;padding:.5rem 1rem;margin:1.5rem 0 0}
.cf7-notice{padding:.9rem 0;border-bottom:1px solid #e0e0dc;font-size:.83rem;color:#666;line-height:1.7}
.cf7-terms{margin-top:1.5rem;border:1px solid #e0e0dc;padding:1.2rem 1.4rem}
.cf7-terms h3{font-size:.95rem;font-weight:700;margin:0 0 1rem;padding-bottom:.5rem;border-bottom:2px solid #2c2c2a}
.cf7-terms-body{height:200px;overflow-y:scroll;border:1px solid #e0e0dc;padding:1rem;font-size:.82rem;line-height:1.8;color:#555;margin-bottom:1rem;background:#fafaf8}

/* お客様の声 */
.voice-info {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 20px;
  margin: 0 0 24px;
}

.voice-info-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
}

.voice-info-label {
  display: inline-block;
  padding: 4px 10px;
  background: #f3f3f3;
  font-weight: 700;
  border-radius: 3px;
}

.voice-info-text {
  display: inline-block;
}

.voice-main-image {
  margin-bottom: 30px;
}

.voice-main-image img,
.voice-photo img {
  max-width: 100%;
  height: auto;
  display: block;
}

.voice-planner-comment {
  margin-top: 40px;
  padding-top: 20px;
  border-top: 1px solid #ccc;
}

.voice-comment {
  line-height: 1.8;
  margin-bottom: 15px;
}

.voice-planner {
  font-size: 14px;
  font-weight: bold;
}

.voice-card-link {
  display: block;
  color: inherit;
  text-decoration: none;
}

.voice-card-planner {
  margin: 0;
  font-size: 14px;
  font-weight: bold;
  text-align: center;
}

/************************************************
 * voice ページネーション
 */
.pagination .nav-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px;
    margin: 40px 0 20px;
}

.pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 12px;
    border: 1px solid #d8d2c4;
    background: #fff;
    color: #3a2e1f;
    font-size: 14px;
    text-decoration: none;
    transition: all 0.2s ease;
}

.pagination a.page-numbers:hover {
    background: #3a2e1f;
    color: #fff;
    border-color: #3a2e1f;
}

.pagination .page-numbers.current {
    background: #3a2e1f;
    color: #fff;
    border-color: #3a2e1f;
    font-weight: bold;
}

.pagination .page-numbers.dots {
    border: none;
    background: transparent;
}

.pagination .page-numbers.prev,
.pagination .page-numbers.next {
    font-size: 16px;
}