/*
 * 坂本案のページ（/solutions/…）に共通の見た目。ページ全体と相談の窓だけを置く（元の名前は css/solution.css）。
 * 各ページの本文（.fx の中）は solutions/static/solutions/<slug>/lp.css に置き、この後に読む（solutions/CLAUDE.md 5章）。
 * ・相談の窓（.rqd の中）：元＝cases/static/cases/css/type.css の「相談の窓」の分。
 */

/* ---------- ページ全体 ---------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;background:#fff;font-family:"Noto Sans JP","Yu Gothic",Meiryo,sans-serif}
.skip{position:absolute;left:16px;top:-60px;background:#10273b;color:#fff;padding:8px 14px;border-radius:2px;z-index:100;text-decoration:none}
.skip:focus{top:12px}
@media print{
  .navbar,.header-menu-modal,.footer,.skip{display:none!important}
}

/* ---------- 相談の窓（solutions/_request_dialog.html。元＝cases/css/type.css） ---------- */
.rqd{--ink:#17202c;--ink-3:#465569;--ground:#f3f6fa;--rule:#c3cfdd;--blue:#2c77cb;--navy:#0f3d73;--cta:#ff7007;--cta-hover:#e35f00;
  --f-display:"Zen Kaku Gothic New","Noto Sans JP",sans-serif;--f-body:"Noto Sans JP",system-ui,sans-serif;--f-code:"M PLUS 1 Code","Noto Sans JP",monospace;
  --line-thick:1.5px;--line-thin:1px;
  color:var(--ink);font-family:var(--f-body);font-size:17px;line-height:1.9}
.rqd{border:0;padding:0;background:#f6f9fc;width:100%;max-width:min(720px,calc(100vw - 24px));max-height:calc(100vh - 32px);overflow:auto}
.rqd::backdrop{background:rgba(15,32,58,.45)}
.rqd__head{position:sticky;top:0;z-index:1;display:flex;justify-content:space-between;align-items:stretch;background:#fff;border-bottom:var(--line-thick) solid var(--ink)}
.rqd__h{margin:0;padding:14px 20px;font-family:var(--f-display);font-weight:900;font-size:20px}
.rqd__body{padding:18px 20px 24px}
.rqd .x-close{appearance:none;border:0;border-left:var(--line-thin) solid var(--rule);background:none;font:inherit;font-size:14px;font-weight:700;color:var(--ink);padding:0 18px;cursor:pointer}
.rqd .x-close:hover{background:#f3f7fc}
.rqd .btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:56px;padding:0 26px;border:0;border-radius:999px;font-family:var(--f-body);font-weight:700;font-size:17px;letter-spacing:.04em;text-decoration:none;line-height:1.3;cursor:pointer;transition:background-color .2s,transform .2s,box-shadow .2s;white-space:nowrap}
.rqd .btn--cta{background:var(--cta);color:#fff;box-shadow:0 2px 0 #c95500}
.rqd .btn--cta:hover{background:var(--cta-hover)}
.rqd .btn--cta:active{transform:translateY(1px);box-shadow:0 1px 0 #c95500}
.rqd .btn__arrow{width:16px;height:16px;flex:none}
.rqd p,.rqd ol{margin:0}
.rqd a{color:var(--blue)}
.rq__from{display:none;margin:0 0 18px!important;padding:10px 14px;background:#eaf1fa;border-left:3px solid var(--blue);font-size:14.5px;line-height:1.7}
.rq__from.is-on{display:block}
.rq__form{border:var(--line-thick) solid var(--ink);background:#fff;padding:28px 28px 24px}
.rq__form fieldset{border:0;margin:0 0 20px;padding:0}
.rq__form legend,.rq__form label.lb{display:block;font-weight:700;font-size:15px;margin-bottom:6px}
.rq__form .req{font-size:11.5px;font-weight:700;color:#fff;background:var(--cta);border-radius:2px;padding:1px 6px;margin-left:8px;vertical-align:.1em}
/* ご依頼区分のラジオボタン（南條案の窓と同じ値。2026-10-13 18:01 田代さん指示で、5つから選べるようにした） */
.rq__radios{display:flex;flex-wrap:wrap;gap:8px}
.rq__radios label{display:flex;align-items:center;gap:6px;border:1px solid var(--rule);border-radius:4px;padding:6px 14px;font-size:15px;cursor:pointer}
.rq__radios label:has(input:checked){border-color:var(--blue);background:#eaf1fa}
.rq__radios input{margin:0}
.rq__f{margin-bottom:18px}
.rq__f small{display:block;color:var(--ink-3);font-size:12.5px;margin:-2px 0 6px}
.rq__form input[type=text],.rq__form input[type=email],.rq__form textarea{width:100%;box-sizing:border-box;border:1px solid var(--rule);border-radius:4px;padding:10px 12px;font:inherit;font-size:16px;line-height:1.7;background:#fff}
.rq__form textarea{min-height:200px;resize:vertical}
.rq__count{text-align:right;font-family:var(--f-code);font-size:12.5px;color:var(--ink-3);margin-top:4px!important}
.rq__count.is-over{color:#c62828;font-weight:500}
.rq__agree{text-align:center;font-size:14px;margin:6px 0 12px!important}
.rq__send{width:100%}
.rq__ts{display:flex;justify-content:center;margin:0 auto 16px;min-height:65px}
.rq__fee{text-align:center;font-size:14px;margin:0 0 12px!important}
.rq__box{border:1px solid var(--rule);background:var(--ground);padding:20px 22px;margin-top:24px}
.rq__box h3{font-size:16px;margin:0 0 10px;font-weight:700}
.rq__box ol{padding-left:1.3em;list-style:decimal;font-size:14.5px;line-height:1.75}
.rq__box ol li+li{margin-top:8px}
@media (max-width:900px){
  .rq__form{padding:20px 16px}
}
