/*
Theme Name: Tsuchiya KPF
Theme URI: https://radiantcoco.co.jp/
Author: RadiantCoCo
Description: 土屋共創プラットフォーム コーポレートサイト用テーマ（お知らせ・お問い合わせ）。静的HTMLと同じデザイン。
Version: 1.2.11
Requires PHP: 7.4
Text Domain: tsuchiya-kpf
*/

/* ---------- WP固有の調整（本体のスタイルは assets/site.css） ---------- */
.anchor-nav a.is-on{ background:var(--dark); color:#fff; border-color:var(--dark); }
.news-eyecatch img{ width:100%; height:auto; border-radius:20px; display:block; }
.news-body{ font-size:18px; line-height:2; letter-spacing:.03em; color:var(--ink); }
.news-body p{ margin-bottom:28px; }
.news-body h2{ font-size:26px; font-weight:900; margin:48px 0 18px; line-height:1.5; }
.news-body h3{ font-size:21px; font-weight:700; margin:36px 0 14px; }
.news-body ul,.news-body ol{ padding-left:1.4em; margin-bottom:28px; }
.news-body img{ max-width:100%; height:auto; border-radius:16px; }
.news-body a{ color:#C4677A; text-decoration:underline; }
.news-body blockquote{ border-left:4px solid var(--line); padding-left:20px; color:var(--ink-2); }
.news-body table{ width:100%; border-collapse:collapse; margin-bottom:28px; }
.news-body th,.news-body td{ border:1px solid var(--line); padding:12px 14px; text-align:left; }
.page-link{ color:var(--ink); border-color:var(--line); }
.page-item.active .page-link{ background:var(--dark); border-color:var(--dark); color:#fff; }

/* ---------- WPForms を既存フォームの見た目に ---------- */
.kpf-form .wpforms-container{ margin:0; }
.kpf-form .wpforms-field{ padding:0 0 26px !important; }
.kpf-form .wpforms-field-label{ display:block; font-size:16px; font-weight:700; margin-bottom:10px; color:var(--ink); }
.kpf-form .wpforms-required-label{ color:#fff; background:#C4677A; font-size:11px; border-radius:999px; padding:2px 10px; margin-left:10px; font-weight:700; }
.kpf-form input[type="text"],.kpf-form input[type="email"],.kpf-form input[type="tel"],.kpf-form select,.kpf-form textarea{
  width:100% !important; max-width:none !important; border:1px solid var(--line) !important; border-radius:14px !important; padding:16px 18px !important; font-size:16px !important; line-height:1.5 !important; height:auto !important; background-color:#fff !important; color:var(--ink) !important; box-sizing:border-box; }
.kpf-form select{ -webkit-appearance:none !important; appearance:none !important; cursor:pointer; padding-right:48px !important;
  background:#fff url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%23222' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 18px center !important; }
.kpf-form select option{ color:var(--ink); background:#fff; }
.kpf-form .wpforms-field select,.kpf-form .wpforms-field input,.kpf-form .wpforms-field textarea{ pointer-events:auto; opacity:1; }
.kpf-form textarea{ min-height:200px; }
.kpf-form input:focus,.kpf-form select:focus,.kpf-form textarea:focus{ border-color:var(--ink) !important; box-shadow:none !important; outline:none; }
.kpf-form .wpforms-field-checkbox label,.kpf-form .wpforms-field-gdpr-checkbox label{ font-size:14.5px; }
.kpf-form .wpforms-field-description{ font-size:13px; color:var(--ink-3); margin-top:6px; }
.kpf-form .wpforms-submit-container{ padding-top:10px !important; }
.kpf-form button[type="submit"]{ background:var(--dark) !important; color:#fff !important; border:none !important; border-radius:999px !important; padding:16px 40px !important; font-size:16px !important; font-weight:700 !important; transition:.3s; }
.kpf-form button[type="submit"]:hover{ background:#111 !important; transform:translateY(-3px); box-shadow:0 12px 24px rgba(0,0,0,.18); }
.kpf-form .wpforms-confirmation-container-full{ background:var(--gray); border:none; border-radius:20px; padding:32px; }
.kpf-form .wpforms-error{ color:#C4677A !important; font-size:13px; }

/* ---------- 確認画面（エントリープレビュー）・ページ送り ---------- */
.kpf-form .wpforms-page-indicator{ display:none; }
.kpf-form .wpforms-pagebreak-left,.kpf-form .wpforms-pagebreak-right{ display:inline-block; }
.kpf-form .wpforms-page-button{ background:var(--dark) !important; color:#fff !important; border:none !important; border-radius:999px !important; padding:16px 40px !important; font-size:16px !important; font-weight:700 !important; cursor:pointer; }
.kpf-form .wpforms-page-prev{ background:#fff !important; color:var(--ink) !important; border:1px solid var(--line) !important; margin-right:12px; }
.kpf-form .wpforms-field-entry-preview .wpforms-entry-preview-notice{ font-size:15px; color:var(--ink-2); margin-bottom:16px; }
.kpf-form .wpforms-entry-preview-table{ width:100%; border-collapse:collapse; }
.kpf-form .wpforms-entry-preview-table th,.kpf-form .wpforms-entry-preview-table td{ border-bottom:1px solid var(--line); padding:14px 12px; font-size:16px; text-align:left; vertical-align:top; }
.kpf-form .wpforms-entry-preview-table th{ width:32%; font-weight:700; color:var(--ink-2); }
.kpf-form .wpforms-entry-preview-label{ font-weight:700; color:var(--ink-2); margin-top:14px; }
.kpf-form .wpforms-entry-preview-value{ font-size:16px; }

/* ---------- お知らせ本文用パーツ（カスタムHTMLブロックで使用） ---------- */
.nw-lead{ font-size:19px; line-height:2; margin-bottom:36px; }
.nw-h{ position:relative; font-size:22px; font-weight:900; letter-spacing:.04em; margin:56px 0 20px; padding-left:18px; line-height:1.5; }
.nw-h::before{ content:""; position:absolute; left:0; top:.35em; width:6px; height:1.1em; border-radius:3px; background:var(--accent, #C4677A); }
.nw-h.pink::before{ background:#E29AA8; } .nw-h.blue::before{ background:#7FB6E0; } .nw-h.green::before{ background:#8FC48A; } .nw-h.orange::before{ background:#E9B06E; }
.nw-p{ font-size:17px; line-height:2; margin-bottom:22px; }

/* 体制ツリー */
.nw-tree{ list-style:none; margin:8px 0 32px; padding:0; }
.nw-tree ul{ list-style:none; margin:0; padding:0 0 0 30px; position:relative; }
.nw-tree li{ position:relative; margin:10px 0; }
.nw-tree ul li::before{ content:""; position:absolute; left:-18px; top:22px; width:18px; border-top:2px solid var(--line); }
.nw-tree ul li::after{ content:""; position:absolute; left:-18px; top:-12px; height:34px; border-left:2px solid var(--line); }
.nw-tree ul li:not(:last-child)::after{ height:calc(100% + 14px); }
.nw-tree .co{ display:inline-flex; align-items:center; gap:10px; background:var(--gray, #F4F3F1); border-radius:999px; padding:10px 20px; font-size:16px; font-weight:700; }
.nw-tree .co i{ width:12px; height:12px; border-radius:50%; background:#C9C4BC; flex:none; }
.nw-tree .co.grp{ background:var(--p-champagne); } .nw-tree .co.grp i{ background:#C9A95C; }
.nw-tree .co.hold{ background:var(--p-blue); font-size:17px; } .nw-tree .co.hold i{ background:#5B9BD5; }
.nw-tree .co.care{ background:var(--p-salmon); } .nw-tree .co.care i{ background:#E8876E; }
.nw-tree .co.col{ background:var(--p-orange); } .nw-tree .co.col i{ background:#E39A3C; }
.nw-tree .co.ccp{ background:var(--p-pink); } .nw-tree .co.ccp i{ background:#D9728C; }
.nw-tree .co.now{ box-shadow:0 0 0 2px var(--ink) inset; }

/* 概要表 */
.nw-dl{ display:grid; grid-template-columns:150px 1fr; border-top:1px solid var(--line); margin:8px 0 40px; }
.nw-dl dt,.nw-dl dd{ padding:16px 12px; border-bottom:1px solid var(--line); margin:0; font-size:16px; line-height:1.8; }
.nw-dl dt{ font-weight:700; color:var(--ink-2); background:#FAF9F7; }
.nw-dl dd ul{ margin:0; padding-left:1.2em; }
.nw-dl dd ul li{ margin:2px 0; }
@media (max-width:575.98px){ .nw-dl{ grid-template-columns:1fr; } .nw-dl dt{ border-bottom:0; padding-bottom:4px; } .nw-dl dd{ padding-top:4px; } .nw-h{ font-size:20px; } .nw-lead{ font-size:17px; } }
.nw-sign{ text-align:right; margin-top:40px; font-size:16px; line-height:1.9; }

/* ---------- 記事本文の白カード（背景の三角と重ならないように） ---------- */
.news-card{ position:relative; z-index:2; background:#fff; border-radius:28px; padding:48px 56px 52px; box-shadow:0 10px 40px rgba(0,0,0,.05); }
.news-card .news-body{ position:relative; }
@media (max-width:767.98px){ .news-card{ padding:28px 22px 32px; border-radius:20px; } }
.single .content .route{ position:relative; z-index:2; }

/* お知らせ用：ボタン・画像・注記 */
.nw-btn{ display:inline-flex; align-items:center; gap:12px; background:var(--dark); color:#fff !important; text-decoration:none !important; border-radius:999px; padding:16px 34px; font-size:16px; font-weight:700; transition:.3s; }
.nw-btn:hover{ transform:translateY(-3px); box-shadow:0 12px 24px rgba(0,0,0,.18); }
.nw-btn .ar{ width:28px; height:28px; border-radius:50%; background:#fff; color:var(--ink); display:inline-flex; align-items:center; justify-content:center; font-size:13px; }
.nw-center{ text-align:center; margin:36px 0 8px; }
.nw-img{ margin:0 0 32px; } .nw-img img{ width:100%; height:auto; border-radius:20px; display:block; }
.nw-note{ font-size:14px; color:var(--ink-3); line-height:1.8; margin-top:16px; }

/* ===== v1.2.0 お問い合わせ：確認画面の並び（表 → Turnstile →［戻る］［送信する］）===== */
.kpf-form .wpforms-form.is-arranged .wpforms-recaptcha-container{display:flex;justify-content:center;padding:28px 0 0 !important;margin:0 !important}
.kpf-form .wpforms-form.is-arranged .kpf-form-actions{display:flex;justify-content:center;align-items:center;gap:14px;padding:24px 0 0}
.kpf-form .wpforms-form.is-arranged .kpf-form-actions .wpforms-page-prev{margin:0 !important}
.kpf-form .wpforms-form.is-arranged .kpf-form-actions .wpforms-submit-container{padding:0 !important;margin:0 !important}
/* 入力画面（最後のページ以外）では、送信の段は WPForms が隠すので「戻る」も一緒に隠す */
.kpf-form .kpf-form-actions:has(.wpforms-submit-container[style*="display: none"]),
.kpf-form .kpf-form-actions:has(.wpforms-submit-container[style*="display:none"]){display:none}
@media (max-width:640px){
  .kpf-form .wpforms-form.is-arranged .kpf-form-actions{flex-direction:column-reverse;align-items:stretch;gap:12px}
  .kpf-form .wpforms-form.is-arranged .kpf-form-actions .wpforms-page-prev{width:100%;margin:0 !important}
  .kpf-form .wpforms-form.is-arranged .kpf-form-actions .wpforms-submit-container{width:100%}
  .kpf-form .wpforms-form.is-arranged .kpf-form-actions .wpforms-submit{width:100%}
}
/* WPForms が Turnstile の枠を「見えない方式」扱い（wpforms-is-turnstile-invisible）にして高さ0にするときの対策（HD v1.2.1 と同じ） */
.kpf-form .wpforms-recaptcha-container.wpforms-is-turnstile{height:auto !important;min-height:0 !important;overflow:visible !important}
.kpf-form .wpforms-recaptcha-container.wpforms-is-turnstile .wpforms-turnstile{height:auto !important;max-height:none !important;overflow:visible !important}
/* 送信が終わって完了メッセージが出たら、フォームの上の案内文を隠す */
.kpf-contact:has(.kpf-form [class*="wpforms-confirmation-container"]) .ct-intro{display:none}

/* ===== v1.2.1 ボタンの文字を上下の真ん中に／確認画面の余白を詰める ===== */
.kpf-form .wpforms-page-button,
.kpf-form button[type="submit"]{display:inline-flex !important;align-items:center !important;justify-content:center !important;height:auto !important;min-height:52px !important;line-height:1.2 !important;padding:0 40px !important;vertical-align:middle;box-sizing:border-box}
/* 「戻る」を移したあとに残る、最後のページの空のページ区切り欄を消す */
.kpf-form .wpforms-form.is-arranged .wpforms-page.last .wpforms-field-pagebreak:not(:has(button)){display:none !important}
.kpf-form .wpforms-form.is-arranged .wpforms-recaptcha-container{padding-top:16px !important}

/* ===== v1.2.2 送信完了メッセージの枠をサイトの色・形に（WPForms の緑の枠をやめる） ===== */
.kpf-form [class*="wpforms-confirmation-container"]{background:var(--gray) !important;border:none !important;border-radius:20px !important;padding:36px 40px !important;color:var(--ink) !important;font-size:16px !important;line-height:1.9 !important;box-shadow:none !important}
.kpf-form [class*="wpforms-confirmation-container"] p{margin:0 0 14px !important;font-size:16px !important;line-height:1.9 !important;color:var(--ink) !important}
.kpf-form [class*="wpforms-confirmation-container"] p:first-child{font-size:19px !important;font-weight:700 !important;margin-bottom:18px !important}
.kpf-form [class*="wpforms-confirmation-container"] p:last-child{margin-bottom:0 !important}
@media (max-width:767.98px){.kpf-form [class*="wpforms-confirmation-container"]{padding:26px 22px !important}.kpf-form [class*="wpforms-confirmation-container"] p:first-child{font-size:17px !important}}
