/* ========================================
   RACS Legal — Styles
   ======================================== */

.legal-body{max-width:800px;margin:0 auto}
.legal-body h2{font-family:var(--f-head);font-size:var(--fs-lg);font-weight:700;color:var(--ink);margin:40px 0 12px;padding-bottom:8px;border-bottom:1px solid var(--border)}
.legal-body h3{font-family:var(--f-head);font-size:var(--fs-md);font-weight:700;color:var(--ink);margin:28px 0 8px}
.legal-body p{font-size:var(--fs-md);color:var(--ink-2);line-height:1.9;margin-bottom:12px}
.legal-body .sub-item{font-size:var(--fs-md);color:var(--ink-2);line-height:1.9;margin-bottom:6px;padding-left:1.5em;text-indent:-1.5em}
.legal-body .enact-date{font-family:var(--f-head);font-size:var(--fs-sm);color:var(--ink-3);text-align:center;margin-bottom:32px}

/* Price table */
.legal-table{width:100%;border-collapse:collapse;margin:16px 0 24px;font-size:var(--fs-sm)}
.legal-table th,.legal-table td{border:1px solid var(--border);padding:10px 12px;text-align:left}
.legal-table th{background:var(--bg-2);font-family:var(--f-head);font-weight:600;color:var(--ink);white-space:nowrap}
.legal-table td{color:var(--ink-2)}
.legal-table .text-center{text-align:center}

/* Account list */
.legal-body .acct-list{margin:8px 0 16px;padding-left:0;list-style:none}
.legal-body .acct-list li{font-size:var(--fs-md);color:var(--ink-2);line-height:1.9;padding-left:1.5em;position:relative}
.legal-body .acct-list li::before{content:"・";position:absolute;left:0}

/* Important matters checklist */
.legal-important{margin:0;padding:32px;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--r-lg)}
/* legal-form.html 専用：page-headerとlegal-importantの間の余白を40pxへ */
.sec-compact-top{padding-top:40px}
.imp-check{display:flex;align-items:flex-start;gap:10px;padding:14px 0;border-bottom:1px solid var(--border-2)}
.imp-check:last-child{border-bottom:none}
.imp-check input[type="checkbox"]{width:20px;height:20px;accent-color:var(--brand);flex-shrink:0;margin-top:2px;cursor:pointer}
.imp-check label{font-size:var(--fs-sm);color:var(--ink-2);cursor:pointer;line-height:1.7}
.imp-check label strong{color:var(--ink);font-weight:700}

/* Consent gate */
.legal-gate{margin:48px 0 0;padding:32px;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--r-lg);text-align:center}
.legal-gate-inner{max-width:480px;margin:0 auto}
.legal-gate .form-consent{justify-content:center;margin:0 0 24px}
.legal-gate .form-submit{margin-top:0}

/* Divider before form */
.legal-divider{border:none;border-top:2px solid var(--brand);margin:56px 0 48px;opacity:.3}

/* Form section inside legal page */
.legal-form-section{max-width:680px;margin:0 auto}
.legal-form-section .form-section-title{font-family:var(--f-head);font-size:clamp(22px,2.8vw,28px);font-weight:700;color:var(--ink);text-align:center;margin-bottom:8px}
.legal-form-section .form-section-sub{font-size:var(--fs-md);color:var(--ink-3);text-align:center;margin-bottom:40px;line-height:1.7}

/* Tokushoho table */
.toku-table{width:100%;max-width:800px;margin:0 auto;border-collapse:collapse}
.toku-table th,.toku-table td{border:1px solid var(--border);padding:14px 16px;font-size:var(--fs-md);line-height:1.8;vertical-align:top}
.toku-table th{background:var(--bg-2);font-family:var(--f-head);font-weight:600;color:var(--ink);white-space:nowrap;width:200px}
.toku-table td{color:var(--ink-2)}

@media(max-width:768px){
  .legal-body{padding:0}
  .legal-table{font-size:var(--fs-xs);display:block;overflow-x:auto}
  .toku-table th{width:120px;font-size:var(--fs-sm)}
  .toku-table td{font-size:var(--fs-sm)}
}

/* ===== v9: Inline style CSS化 ===== */
/* 初期非表示（JSで style.display='block' にして表示制御） */
#legal-gate{display:none}
#form-area{display:none}
/* 利用規約末尾「以上」 */
.legal-close{margin-top:32px}
/* 重要事項ブロックの見出しと導入文 */
.legal-important h2{border-bottom:2px solid var(--brand);padding-bottom:8px;color:var(--brand)}
.legal-important > p:first-of-type{margin-bottom:24px}
/* 申込フォーム内サブセクション見出し（.legal-body h3 のマージン上書き） */
.apply-form h3{font-family:var(--f-head);font-size:var(--fs-md);font-weight:700;color:var(--ink);margin:32px 0 16px}
/* Honeypot は racs/style.css に一元化（v10） */

/* ===== LEGAL APPLY CTA (C-14: legal.html L288-294 インラインstyle CSS化) ===== */
.legal-apply-cta{margin-top:40px;padding:32px;background:var(--ci-light);border:1px solid var(--ci-gold-sub);border-radius:8px;text-align:center}
.legal-apply-cta h2{margin-top:0}
.legal-apply-cta-actions{margin-top:24px;display:flex;justify-content:center}
.legal-apply-note{margin-top:20px;font-size:0.9em;color:var(--ink-3)}
