.hpocb-root, .hpocb-root * { box-sizing: border-box; }
/* 直接URLではサイトヘッダーを隠し、サイト内メニュー経由だけ表示します。 */
body.hpocb-direct-landing #site-header { display:none!important; }
.hpocb-root { --hpocb-navy:#0b2345; --hpocb-orange:#f36b21; --hpocb-ink:#172033; --hpocb-muted:#64748b; --hpocb-line:#dbe3eb; --hpocb-bg:#f6f8fb; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif; color:var(--hpocb-ink); }
.hpocb-launcher { position:fixed; right:24px; bottom:24px; z-index:99990; display:inline-flex; align-items:center; gap:9px; min-height:52px; padding:0 20px; border:0; border-radius:999px; background:var(--hpocb-navy); color:#fff; font:700 16px/1 inherit; box-shadow:0 12px 30px rgba(11,35,69,.28); cursor:pointer; }
.hpocb-launcher-icon { display:grid; flex:0 0 auto; place-items:center; width:24px; height:24px; }
.hpocb-launcher-icon svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.8; }
.hpocb-launcher:hover,.hpocb-launcher:focus-visible { background:#163a70; }
.hpocb-overlay[hidden] { display:none; }
.hpocb-overlay { position:fixed; inset:0; z-index:99999; display:grid; place-items:end end; padding:22px; background:rgba(5,16,34,.36); }
.hpocb-dialog { display:flex; flex-direction:column; width:min(410px,100%); max-height:min(720px,calc(100vh - 44px)); overflow:hidden; border-radius:18px; background:#fff; box-shadow:0 20px 60px rgba(5,16,34,.3); }
.hpocb-head { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; padding:17px 18px 14px; color:#fff; background:var(--hpocb-navy); }
.hpocb-head strong { display:block; font-size:17px; line-height:1.35; }
.hpocb-head span { display:block; margin-top:3px; font-size:12px; line-height:1.45; opacity:.8; }
.hpocb-close { flex:0 0 auto; width:34px; height:34px; padding:0; border:1px solid rgba(255,255,255,.45); border-radius:50%; background:transparent; color:#fff; font-size:24px; line-height:1; cursor:pointer; }
.hpocb-body { overflow:auto; padding:16px; background:var(--hpocb-bg); }
.hpocb-intro { margin:0 0 14px; font-size:15px; line-height:1.7; }
.hpocb-free-question { width:100%; min-height:94px; padding:10px 12px; border:1px solid var(--hpocb-line); border-radius:9px; background:#fff; color:var(--hpocb-ink); font:16px/1.4 inherit; resize:vertical; }
.hpocb-free-question:focus { border-color:var(--hpocb-orange); outline:3px solid rgba(243,107,33,.16); }
.hpocb-free-question-actions { margin:-4px 0 16px; }
.hpocb-actions { display:grid; gap:8px; }
.hpocb-button, .hpocb-action, .hpocb-link-button { display:inline-flex; align-items:center; justify-content:center; width:100%; min-height:44px; padding:10px 13px; border:1px solid var(--hpocb-line); border-radius:10px; background:#fff; color:var(--hpocb-navy); font:700 14px/1.4 inherit; text-align:left; text-decoration:none; cursor:pointer; }
.hpocb-button:hover,.hpocb-button:focus-visible,.hpocb-action:hover,.hpocb-action:focus-visible { border-color:var(--hpocb-orange); outline:none; }
.hpocb-primary { border-color:var(--hpocb-orange); background:var(--hpocb-orange); color:#fff; text-align:center; }
.hpocb-muted-button { background:#eff4f9; }
.hpocb-search { width:100%; min-height:46px; margin:0 0 10px; padding:10px 12px; border:1px solid var(--hpocb-line); border-radius:10px; color:var(--hpocb-ink); font:16px/1.4 inherit; }
.hpocb-search:focus,.hpocb-field input:focus,.hpocb-field textarea:focus,.hpocb-field select:focus { border-color:var(--hpocb-orange); outline:3px solid rgba(243,107,33,.16); }
.hpocb-result { padding:14px; border:1px solid var(--hpocb-line); border-radius:12px; background:#fff; }
.hpocb-kicker { margin:0 0 6px; color:var(--hpocb-orange); font-size:12px; font-weight:700; }
.hpocb-result h3 { margin:0 0 10px; font-size:17px; line-height:1.55; }
.hpocb-result p { margin:0; font-size:15px; line-height:1.75; }
.hpocb-subhead { margin:16px 0 8px; font-size:14px; }
.hpocb-note,.hpocb-status { margin:10px 0 0; color:var(--hpocb-muted); font-size:13px; line-height:1.6; }
.hpocb-status[role="alert"] { color:#a23c15; font-weight:700; }
.hpocb-form-head { margin:0 0 14px; }
.hpocb-form-head h3 { margin:0 0 5px; font-size:19px; }
.hpocb-form-head p { margin:0; font-size:14px; line-height:1.65; }
.hpocb-progress { display:flex; gap:5px; margin:14px 0 16px; }
.hpocb-progress i { display:block; flex:1; height:5px; border-radius:99px; background:#dce5ef; }
.hpocb-progress i.is-current { background:var(--hpocb-orange); }
.hpocb-field { display:grid; gap:6px; margin:0 0 14px; }
.hpocb-field label,.hpocb-field legend { font-size:14px; font-weight:700; }
.hpocb-field input,.hpocb-field textarea,.hpocb-field select { width:100%; min-height:46px; padding:10px 12px; border:1px solid var(--hpocb-line); border-radius:9px; background:#fff; color:var(--hpocb-ink); font:16px/1.4 inherit; }
.hpocb-field textarea { min-height:104px; resize:vertical; }
.hpocb-field small { color:var(--hpocb-muted); font-size:12px; line-height:1.5; }
.hpocb-checks { display:grid; gap:8px; padding:0; border:0; }
.hpocb-check { display:flex; align-items:flex-start; gap:8px; padding:10px; border:1px solid var(--hpocb-line); border-radius:9px; background:#fff; font-size:14px; line-height:1.45; }
.hpocb-check input { width:19px; height:19px; margin:1px 0 0; accent-color:var(--hpocb-orange); }
.hpocb-form-actions { display:grid; grid-template-columns:1fr 1.4fr; gap:9px; margin-top:18px; }
.hpocb-summary { display:grid; gap:8px; margin:0; }
.hpocb-summary div { padding:10px; border-radius:9px; background:#fff; }
.hpocb-summary dt { color:var(--hpocb-muted); font-size:12px; }
.hpocb-summary dd { margin:3px 0 0; overflow-wrap:anywhere; font-size:14px; line-height:1.55; }
.hpocb-edit { display:inline-block; margin-top:6px; padding:0; border:0; background:transparent; color:var(--hpocb-navy); font:700 13px/1.4 inherit; text-decoration:underline; cursor:pointer; }
.hpocb-complete { padding:18px; border-radius:12px; background:#fff; text-align:center; }
.hpocb-complete h3 { margin:0 0 10px; font-size:20px; }
.hpocb-complete p { margin:0 0 10px; font-size:15px; line-height:1.7; }
.hpocb-reference { display:inline-block; margin-top:5px; padding:8px 12px; border-radius:99px; background:#fff2eb; color:#a23c15; font-weight:700; }
.hpocb-sr { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
@media (max-width:640px) { .hpocb-launcher { right:12px; bottom:calc(12px + env(safe-area-inset-bottom)); width:calc(100% - 24px); min-height:52px; } .hpocb-overlay { padding:0; place-items:stretch; } .hpocb-dialog { width:100%; max-height:none; height:100%; border-radius:0; } .hpocb-head { padding-top:calc(17px + env(safe-area-inset-top)); } .hpocb-body { padding:16px 14px calc(22px + env(safe-area-inset-bottom)); } .hpocb-form-actions { grid-template-columns:1fr; } }
