/* フォームの見た目つなぎ（2026-10-19）。見た目は元の見本に合わせ、入力できるようにしただけ */
.fx input.f,.fx textarea.f,.form input.f{width:100%;box-sizing:border-box;font:inherit;font-size:14px;color:#111;outline:none;appearance:none;-webkit-appearance:none}
.form input.f{padding:0 12px}
.fx textarea.f{display:block;resize:vertical;padding:12px;line-height:1.6}
.fx .f::placeholder,.form .f::placeholder{color:#a0a5b5;opacity:1}
.fx .f:focus,.form .f:focus{border-color:#000;background:#fff;box-shadow:0 0 0 3px rgba(255,220,0,.55)}
.fx .chip{cursor:pointer;user-select:none}
.fx .chip:focus-visible{outline:3px solid rgba(255,220,0,.9);outline-offset:2px}
.fx .agree{cursor:pointer}
.fx .agree input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.fx .agree input:checked+i{background:#000;border-color:#000;position:relative}
.fx .agree input:checked+i:after{content:"";position:absolute;left:4px;top:0;width:5px;height:10px;border:solid #FFF000;border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}
.fx .agree input:focus-visible+i{outline:3px solid rgba(255,220,0,.9);outline-offset:2px}
.fx button.go,.form button.btn{width:100%;border:0;font-family:inherit;cursor:pointer;line-height:1.4}
.fx button.go{font-size:16px}.form button.btn{font-size:15px}
.fx button.go:disabled,.form button.btn:disabled{opacity:.6;cursor:wait}
.is-err .f,.is-err.f{border-color:#d33!important;background:#fff6f6!important}
.is-err .chips .chip{border-color:#d33}
.fx .agree.is-err{box-shadow:inset 0 0 0 1.5px #d33;background:#fff6f6}
.fx .agree.is-err i{border-color:#d33}
.er{margin:6px 0 0!important;font-size:12px!important;font-weight:700;color:#c62828!important;text-align:left}

/* トップのミニフォーム用・同意チェック（contact/download の .fx .agree に合わせる） */
.form .agree{display:flex;align-items:flex-start;gap:8px;font-size:11.5px;line-height:1.65;margin:14px 0 0;padding:10px 12px;background:#f6f7fa;border-radius:8px;cursor:pointer;color:#333}
.form .agree i{flex:none;width:16px;height:16px;border:2px solid #9aa0b4;border-radius:4px;background:#fff;margin-top:2px;box-sizing:border-box}
.form .agree a{color:var(--navy,#000);font-weight:700}
.form .agree input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.form .agree input:checked+i{background:#000;border-color:#000;position:relative}
.form .agree input:checked+i:after{content:"";position:absolute;left:3px;top:-1px;width:4px;height:9px;border:solid #FFF000;border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}
.form .agree input:focus-visible+i{outline:3px solid rgba(255,220,0,.9);outline-offset:2px}
.form .agree.is-err{box-shadow:inset 0 0 0 1.5px #d33;background:#fff6f6}
.form .agree.is-err i{border-color:#d33}

/* Turnstile */
.tslot{margin:16px 0 4px;min-height:65px}
.tslot.is-err{outline:2px solid #e11;outline-offset:4px;border-radius:6px}
.form .tslot{margin:12px 0 8px}
