/* ==========================================================================
   money-vim 記事ページ（本文タイポグラフィ・現況ボックス・条件表・変更点・公式情報）
   ========================================================================== */
.section-post{padding:40px 0 64px}
.post-body{max-width:800px;margin:0 auto}
.post-body a{color:var(--blue-deep);text-decoration:underline;text-underline-offset:3px}
.post-body a:hover{color:var(--blue)}

.post-body.is-plain{font-size:15.5px;line-height:2.0}
.post-body.is-plain p{margin:0 0 1.6em}
.post-body.is-plain h2{font-weight:700;color:var(--navy);font-size:clamp(19px,2.6vw,23px);line-height:1.55;padding:10px 14px;background:var(--bg-soft);border-left:5px solid var(--blue);border-radius:0 8px 8px 0;margin:52px 0 20px}
.post-body.is-plain h3{font-weight:700;color:var(--navy);font-size:17px;line-height:1.6;padding-bottom:8px;border-bottom:2px solid var(--line);margin:36px 0 14px;position:relative}
.post-body.is-plain h3::after{content:"";position:absolute;left:0;bottom:-2px;width:56px;height:2px;background:var(--blue)}
.post-body.is-plain h4{font-weight:700;color:var(--navy);font-size:15.5px;margin:26px 0 10px}
.post-body.is-plain ul,.post-body.is-plain ol{margin:0 0 1.6em}
.post-body.is-plain ul li{position:relative;padding:4px 0 4px 20px;line-height:1.9}
.post-body.is-plain ul li::before{content:"";position:absolute;left:4px;top:15px;width:6px;height:6px;border-radius:50%;background:var(--blue)}
.post-body.is-plain ol{list-style:decimal;padding-left:1.5em}
.post-body.is-plain ol li{padding:4px 0;line-height:1.9}
.post-body.is-plain ol li::marker{color:var(--blue);font-weight:700}
.post-body.is-plain img{border-radius:12px;margin:12px 0}
.post-body.is-plain figure{margin:28px 0}
.post-body.is-plain figcaption{margin-top:8px;text-align:center;color:var(--ink-soft);font-size:13px}
.post-body.is-plain blockquote{margin:28px 0;padding:18px 22px;background:var(--blue-pale);border-left:4px solid var(--blue);border-radius:0 10px 10px 0;font-size:14.5px}
.post-body.is-plain blockquote p:last-child{margin-bottom:0}
.post-body.is-plain strong{font-weight:700;color:var(--navy)}
.post-body.is-plain hr{border:none;border-top:1px solid var(--line);margin:44px 0}
.post-body.is-plain table{width:100%;border-collapse:collapse;margin:24px 0;font-size:14.5px}
.post-body.is-plain th,.post-body.is-plain td{border:1px solid var(--line);padding:10px 14px;text-align:left;line-height:1.8;vertical-align:top}
.post-body.is-plain th{background:var(--bg-soft);color:var(--navy);font-weight:700;white-space:nowrap}
.post-body.is-plain .table-wide{margin:24px 0;overflow-x:auto;-webkit-overflow-scrolling:touch}
.post-body.is-plain .table-wide table{margin:0}
.post-body.is-plain .scroll-hint{display:none}
.post-body.is-plain .note{background:var(--bg-soft);border-radius:10px;padding:12px 16px;font-size:13px;line-height:1.8;color:var(--ink-soft);margin:0 0 1.6em}
.post-body.is-plain .caution{background:var(--red-soft);border-radius:10px;padding:14px 18px;font-size:14px;margin:0 0 1.6em}

/* ---------- 現況ボックス ---------- */
.status-box{max-width:800px;margin:0 auto 28px;border-radius:14px;padding:20px 24px;border:1px solid var(--line);background:#fff}
.status-box.is-open{border-color:#bfe3d0;background:var(--green-soft)}
.status-box.is-closed{border-color:#ecc3c3;background:var(--red-soft)}
.status-box.is-unknown{border-color:#ecd6ad;background:var(--amber-soft)}
.status-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.status-badge{display:inline-block;font-weight:700;font-size:14px;padding:5px 14px;border-radius:999px;color:#fff;background:var(--ink-soft)}
.is-open .status-badge{background:var(--green)}
.is-closed .status-badge{background:var(--red)}
.is-unknown .status-badge{background:var(--amber)}
.status-date{font-size:13px;color:var(--ink-soft)}
.status-txt{margin-top:10px;font-size:14.5px;line-height:1.9}
.status-link{margin-top:8px;font-size:14px}
.status-link a{font-weight:700;color:var(--blue-deep);text-decoration:underline;text-underline-offset:3px}

/* ---------- 条件表 ---------- */
.cond-wrap{max-width:800px;margin:0 auto 36px}
.cond-ttl{font-weight:700;color:var(--navy);font-size:17px;margin-bottom:10px}
.cond-table{width:100%;border-collapse:collapse;font-size:14.5px;background:#fff}
.cond-table th,.cond-table td{border:1px solid var(--line);padding:10px 14px;text-align:left;line-height:1.8;vertical-align:top}
.cond-table th{width:34%;background:var(--bg-soft);color:var(--navy);font-weight:700}
.cond-note{margin-top:8px;font-size:12.5px;color:var(--ink-soft)}

/* ---------- 変更点 ---------- */
.changes-wrap{max-width:800px;margin:0 auto 36px;border:1px solid var(--line);border-radius:14px;padding:18px 22px;background:var(--blue-pale)}
.changes-ttl{font-weight:700;color:var(--navy);font-size:15.5px;margin-bottom:4px}
.changes-lead{font-size:12.5px;color:var(--ink-soft);margin-bottom:8px}
.changes-list li{position:relative;padding:4px 0 4px 20px;font-size:14.5px;line-height:1.85}
.changes-list li::before{content:"";position:absolute;left:4px;top:14px;width:6px;height:6px;border-radius:50%;background:var(--blue)}

/* ---------- 公式情報 ---------- */
.official-box{max-width:800px;margin:40px auto 0;border-top:1px solid var(--line);padding-top:22px}
.official-ttl{font-weight:700;color:var(--navy);font-size:14px;margin-bottom:8px}
.official-list{display:grid;grid-template-columns:120px 1fr;gap:6px 12px;font-size:14px}
.official-list dt{color:var(--ink-soft)}
.official-list a{color:var(--blue-deep);text-decoration:underline;text-underline-offset:3px}

.editor-box{max-width:800px;margin:14px auto 0;font-size:13px;color:var(--ink-soft)}
.editor-box a{color:var(--blue-deep);text-decoration:underline;text-underline-offset:3px}
.post-back{text-align:center;margin-top:44px}

@media (max-width:760px){
  .section-post{padding:28px 0 48px}
  .post-body.is-plain{font-size:15px}
  .post-body.is-plain h2{font-size:18px;margin:40px 0 16px}
  .post-body.is-plain table{font-size:13.5px}
  .post-body.is-plain th,.post-body.is-plain td{padding:8px 10px;white-space:normal}
  .post-body.is-plain .table-wide{border:1px solid var(--line);border-radius:10px;margin:0 0 24px}
  .post-body.is-plain .table-wide table{min-width:660px;table-layout:fixed}
  .post-body.is-plain .table-wide th,.post-body.is-plain .table-wide td{border-top:0;border-left:0}
  .post-body.is-plain .table-wide tr>*:last-child{border-right:0}
  .post-body.is-plain .table-wide tr:last-child>*{border-bottom:0}
  .post-body.is-plain .scroll-hint{display:block;font-size:12px;color:var(--ink-soft);margin:24px 0 6px}
  .post-body.is-plain .table-wide tr>*:first-child{position:sticky;left:0;z-index:1;width:104px;min-width:104px;box-shadow:1px 0 0 var(--line)}
  .post-body.is-plain .table-wide td:first-child{background:var(--bg)}
  .post-body.is-plain .table-wide thead th:first-child{z-index:2}
  .cond-table th{width:38%}
  .status-box{padding:16px 18px}
  .official-list{grid-template-columns:1fr}
  .official-list dt{margin-top:6px}
}

/* ---------- お問い合わせフォーム（Contact Form 7） ---------- */
.wpcf7 form{max-width:640px}
.wpcf7 label{display:block;font-weight:700;color:var(--navy);font-size:14px;margin:18px 0 6px}
.wpcf7 input[type=text],.wpcf7 input[type=email],.wpcf7 textarea{display:block;width:100%;font:inherit;font-size:15px;padding:11px 14px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;margin-top:6px}
.wpcf7 textarea{min-height:180px}
.wpcf7 input:focus,.wpcf7 textarea:focus{outline:2px solid var(--blue);outline-offset:1px;border-color:var(--blue)}
.wpcf7 .cf7-note{font-size:13px;color:var(--ink-soft);margin:16px 0}
.wpcf7 input[type=submit]{font:inherit;font-weight:700;font-size:15px;color:#fff;background:var(--blue);border:0;border-radius:8px;padding:13px 32px;cursor:pointer}
.wpcf7 input[type=submit]:hover{background:var(--blue-deep)}
.wpcf7 .wpcf7-not-valid-tip{color:var(--red);font-size:12.5px;margin-top:4px}
.wpcf7 .wpcf7-response-output{margin:20px 0 0;padding:12px 16px;border-radius:8px;border:1px solid var(--line);font-size:14px}
.wpcf7 form.sent .wpcf7-response-output{background:var(--green-soft);border-color:#bfe3d0}
.wpcf7 form.invalid .wpcf7-response-output,.wpcf7 form.failed .wpcf7-response-output{background:var(--red-soft);border-color:#ecc3c3}
