/* 資料請求フォーム（スクール／FC LP 共用）。色はLPのトークンを使い、無い時の値を併記 */
.btn-doc{display:flex;align-items:center;justify-content:center;min-height:56px;padding:0 24px;background:#fff;color:var(--ink,#1e3a5f);border:1px solid var(--ink,#1e3a5f);font-weight:700;font-size:1rem;text-decoration:none;border-radius:2px;cursor:pointer;font-family:inherit;line-height:1.4;text-align:center}
.btn-doc:hover{background:var(--tint,#eef1f5)}
.link-doc{display:inline-block;margin-top:8px;color:var(--ink,#1e3a5f);font-size:.9375rem;font-weight:500;text-decoration:underline;text-underline-offset:3px;background:none;border:0;padding:4px 0;cursor:pointer;font-family:inherit}

.dr{width:min(480px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:32px 24px 24px;border:0;border-radius:2px;background:#fff;color:var(--text,#333);box-sizing:border-box}
.dr::backdrop{background:rgba(17,38,74,.6)}
.dr-close{position:absolute;top:8px;right:8px;width:44px;height:44px;border:0;background:none;font-size:1.5rem;color:var(--ink,#1e3a5f);cursor:pointer}
.dr-title{margin:0;padding-right:40px;font-family:var(--f-head,serif);font-weight:700;font-size:1.25rem;color:var(--ink,#1e3a5f);line-height:1.5}
.dr-title:focus{outline:none}
.dr-nb{display:inline-block}
.dr-lead{margin:8px 0 16px;font-size:.9375rem}
.dr-form label{display:block;margin-top:12px;font-weight:700;font-size:.9375rem;color:var(--ink,#1e3a5f)}
.dr-form input:not([type=checkbox]){display:block;width:100%;box-sizing:border-box;margin-top:4px;min-height:48px;padding:8px 12px;border:1px solid var(--rule,#d5dbe3);border-radius:2px;font-size:1rem;font-family:inherit;background:#fff;color:var(--text,#333)}
.dr-form input:focus-visible{outline:2px solid var(--gold-ink,#846520);outline-offset:1px}
.dr-req,.dr-opt{display:inline-block;margin-left:8px;padding:0 6px;font-size:.75rem;line-height:1.6;font-weight:700;vertical-align:1px}
.dr-req{color:#fff;background:var(--ink,#1e3a5f)}
.dr-opt{color:var(--sub,#5b6573);border:1px solid var(--rule,#d5dbe3)}
.dr-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.dr-form .dr-agree{display:flex;gap:8px;align-items:center;margin-top:16px;font-weight:500}
.dr-agree input{width:20px;height:20px;margin:0;flex:none}
.dr-agree a{color:var(--ink,#1e3a5f)}
.dr-purpose{margin:8px 0 0;font-size:.8125rem;color:var(--sub,#5b6573);line-height:1.7}
.dr-error{margin:12px 0 0;color:#b3261e;font-size:.875rem;font-weight:700}
.dr-submit{display:flex;align-items:center;justify-content:center;width:100%;min-height:56px;margin-top:20px;border:0;border-radius:2px;background:var(--navy-dark,#11264a);color:#fff;font-weight:700;font-size:1rem;font-family:inherit;text-decoration:none;cursor:pointer}
.dr-submit:disabled{opacity:.6;cursor:wait}
