/* お問い合わせフォーム（受付システム連携）。テーマの見た目に馴染む最小限のスタイル */
.ocf-form{max-width:640px}
.ocf-field{margin:0 0 18px}
.ocf-field>label{display:block;font-weight:600;margin-bottom:6px}
.ocf-req{color:#c0392b;font-size:.85em;font-weight:400}
.ocf-field input[type=text],.ocf-field input[type=email],.ocf-field input[type=tel],.ocf-field input[type=number],.ocf-field textarea,.ocf-field select{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid #c9c9c9;border-radius:6px;font:inherit;font-size:16px}
.ocf-options{display:flex;flex-wrap:wrap;gap:6px 18px}
.ocf-help{margin:4px 0 0;font-size:.85em;color:#666}
.ocf-field-error{margin:4px 0 0;font-size:.85em;color:#c0392b;min-height:1em}
.ocf-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.ocf-submit{padding:12px 28px;border:0;border-radius:6px;background:#1a73e8;color:#fff;font:inherit;font-size:16px;cursor:pointer}
.ocf-submit:disabled{opacity:.6;cursor:default}
.ocf-slide{position:relative;max-width:360px;user-select:none;-webkit-user-select:none;outline:none}
.ocf-slide:focus-visible .ocf-slide-track{box-shadow:0 0 0 3px rgba(26,115,232,.35)}
.ocf-slide-track{position:relative;height:52px;border-radius:26px;background:#e8eaed;overflow:hidden;display:flex;align-items:center;justify-content:center;transition:background .15s}
.ocf-slide-text{font-size:15px;color:#3c4043;pointer-events:none;transition:opacity .1s;padding:0 56px;text-align:center}
.ocf-slide-knob{position:absolute;left:4px;top:4px;width:44px;height:44px;border-radius:50%;background:#1a73e8;color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;line-height:1;cursor:grab;touch-action:none;transition:transform .15s}
.ocf-slide-knob>span{display:block;line-height:1}
.ocf-slide.is-drag .ocf-slide-knob{transition:none;cursor:grabbing}
.ocf-slide.is-done .ocf-slide-track,.ocf-slide.is-busy .ocf-slide-track{background:#d2e3fc}
.ocf-slide.is-hint .ocf-slide-track{background:#fce8e6}
.ocf-slide.is-hint .ocf-slide-text{color:#b3261e}
@keyframes ocf-nudge{0%,100%{transform:translateX(0);opacity:.8}50%{transform:translateX(3px);opacity:1}}
.ocf-slide:not(.is-drag):not(.is-done):not(.is-busy) .ocf-slide-knob>span{animation:ocf-nudge 1.6s ease-in-out infinite}
@media (prefers-reduced-motion:reduce){.ocf-slide-knob>span{animation:none}}
.ocf-error{padding:10px 14px;border-radius:6px;background:#fdecea;color:#b3261e;margin:0 0 14px}
.ocf-consent{margin:0 0 16px;padding:12px 14px;border:1px solid #c9c9c9;border-radius:6px;background:#fafafa}
.ocf-policy{max-height:220px;overflow-y:auto;white-space:pre-wrap;overflow-wrap:anywhere;background:#fff;border:1px solid #ddd;border-radius:4px;padding:12px 14px;margin:0 0 12px;font-size:.9em;line-height:1.7;color:#333}
.ocf-policy:focus-visible{outline:2px solid #1a73e8;outline-offset:1px}
.ocf-slot{display:block}
.ocf-tpl>p:empty{display:none}
.ocf-consent-label{display:flex;align-items:flex-start;gap:8px;font-size:.95em;cursor:pointer}
.ocf-consent-label input{margin-top:.2em;width:18px;height:18px;flex:0 0 auto}
.ocf-consent-link{display:inline-block;margin:6px 0 0 26px;font-size:.85em}
.ocf-submit.ocf-blocked,.ocf-submit:disabled{opacity:.5;cursor:not-allowed}
.ocf-slide.is-blocked{opacity:.6}
.ocf-slide.is-blocked .ocf-slide-knob{cursor:not-allowed}
.ocf-done{padding:18px;border-radius:8px;background:#f1f8f4;border:1px solid #cde7d6}
.ocf-done-title{font-weight:600;margin:0 0 6px}
.ocf-no{font-size:1.1em;margin:0 0 6px}
.ocf-downloads{margin:6px 0 0;padding-left:20px}
