.oc{--oc-blue: var(--blue, #0044CC);--oc-blue-soft: var(--blue-soft, #E8EEFB);--oc-line: var(--line, #E5E7EB);--oc-line-strong: var(--line-strong, #CCCCCC);--oc-ink: var(--ink, #111111);--oc-sub: var(--sub, #4B5563);--oc-mute: var(--mute, #8A8F98);--oc-paper-deep: var(--paper-deep, #F1F3F6);--oc-navy: var(--navy, #111111);--oc-warn: var(--warn, #C2410C);--oc-font-display: var(--font-display, "Noto Sans JP", "Hiragino Sans", sans-serif);--oc-font-body: var(--font-body, "Noto Sans JP", "Hiragino Sans", sans-serif);--oc-dock-h: var(--dock-h, 0px);--oc-gap: 16px;position:fixed;right:var(--oc-gap);bottom:calc(var(--oc-dock-h) + 12px + env(safe-area-inset-bottom));z-index:60;display:flex;flex-direction:column;align-items:flex-end;gap:10px;font-family:var(--oc-font-body)}.oc [hidden]{display:none!important}.oc .oc-launcher{display:inline-flex;align-items:center;gap:8px;padding:4px 16px 4px 4px;border:0;border-radius:999px;background:var(--oc-blue);color:#fff;font-family:var(--oc-font-display);font-weight:700;font-size:14px;cursor:pointer;box-shadow:0 10px 24px -10px #04c9,0 2px 6px #00000014;transition:transform .15s ease}.oc .oc-launcher:hover{transform:translateY(-1px)}.oc .oc-launcher img{width:44px;height:44px;border-radius:50%;object-fit:cover;background:#fff;border:2px solid #fff}.oc.is-open .oc-launcher{display:none}.oc .oc-teaser{position:relative;max-width:290px;animation:oc-pop .35s cubic-bezier(.2,.8,.2,1.2) both}.oc .oc-teaser-body{display:block;width:100%;text-align:left;border:1px solid var(--oc-line-strong);background:#fff;color:var(--oc-ink);border-radius:14px 14px 4px;padding:12px 34px 12px 14px;font:inherit;font-size:14px;line-height:1.6;cursor:pointer;box-shadow:0 16px 36px -18px #0b254573}.oc .oc-teaser-body:hover{border-color:var(--oc-blue)}.oc .oc-teaser-text b{color:var(--oc-blue)}.oc .oc-teaser-sub{display:block;margin-top:4px;font-size:12px;color:var(--oc-mute)}.oc .oc-teaser-x{position:absolute;top:4px;right:4px;width:28px;height:28px;border:0;background:none;color:var(--oc-mute);font-size:18px;line-height:1;cursor:pointer;border-radius:50%}.oc .oc-teaser-x:hover{background:var(--oc-paper-deep);color:var(--oc-ink)}@keyframes oc-pop{0%{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:none}}.oc .oc-panel{width:min(380px,calc(100vw - 2 * var(--oc-gap)));height:min(600px,calc(100dvh - 120px));display:flex;flex-direction:column;background:#fff;border:1px solid var(--oc-line-strong);border-radius:14px;overflow:hidden;box-shadow:0 30px 60px -24px #0b254580,0 2px 8px #0000000f;animation:oc-pop .25s ease both}.oc .oc-head{display:flex;align-items:center;gap:10px;padding:10px 8px 10px 14px;border-bottom:1px solid var(--oc-line);background:#fff}.oc .oc-head img{width:36px;height:36px;border-radius:50%;object-fit:cover}.oc .oc-head-text{flex:1;min-width:0}.oc .oc-head-name{margin:0;font-family:var(--oc-font-display);font-weight:700;font-size:14px;line-height:1.3;color:var(--oc-navy)}.oc .oc-head-sub{margin:0;font-size:11.5px;color:var(--oc-mute);line-height:1.3}.oc .oc-close{width:36px;height:36px;border:0;background:none;font-size:22px;line-height:1;color:var(--oc-sub);cursor:pointer;border-radius:50%}.oc .oc-close:hover{background:var(--oc-paper-deep)}.oc .oc-log{flex:1;overflow-y:auto;padding:14px 12px 8px;background:#f8fafc;display:flex;flex-direction:column;gap:8px;overscroll-behavior:contain}.oc .oc-msg{max-width:88%;padding:9px 12px;border-radius:12px;font-size:14px;line-height:1.7;word-break:auto-phrase;white-space:pre-wrap;animation:oc-pop .2s ease both}.oc .oc-msg.bot{align-self:flex-start;background:#fff;border:1px solid var(--oc-line);color:var(--oc-ink);border-bottom-left-radius:4px}.oc .oc-msg.me{align-self:flex-end;background:var(--oc-blue);color:#fff;border-bottom-right-radius:4px}.oc .oc-msg.typing{display:inline-flex;gap:4px;padding:13px 14px}.oc .oc-msg.typing i{width:6px;height:6px;border-radius:50%;background:var(--oc-mute);animation:oc-dot 1s infinite ease-in-out}.oc .oc-msg.typing i:nth-child(2){animation-delay:.15s}.oc .oc-msg.typing i:nth-child(3){animation-delay:.3s}@keyframes oc-dot{0%,80%,to{opacity:.3;transform:none}40%{opacity:1;transform:translateY(-3px)}}.oc .oc-actions{display:flex;flex-wrap:wrap;gap:8px;padding:10px 12px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--oc-line);background:#fff}.oc .oc-actions:empty{display:none}.oc .oc-choice{flex:1 1 calc(50% - 4px);min-height:44px;padding:8px 12px;border:1.5px solid var(--oc-blue);border-radius:10px;background:#fff;color:var(--oc-blue);font-family:var(--oc-font-display);font-weight:700;font-size:14px;line-height:1.4;cursor:pointer;text-align:center;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;transition:background .12s,color .12s}.oc .oc-choice:hover,.oc .oc-choice:focus-visible{background:var(--oc-blue);color:#fff;outline:none}.oc .oc-choice.sub{flex-basis:100%;border-color:var(--oc-line-strong);color:var(--oc-sub);font-weight:500}.oc .oc-choice.sub:hover,.oc .oc-choice.sub:focus-visible{background:var(--oc-paper-deep);color:var(--oc-ink)}.oc .oc-field{flex-basis:100%;display:grid;grid-template-columns:1fr auto;gap:8px}.oc .oc-field input{min-width:0;min-height:44px;padding:8px 12px;border:1.5px solid var(--oc-line-strong);border-radius:10px;font:inherit;font-size:16px}.oc .oc-field input:focus{outline:none;border-color:var(--oc-blue);box-shadow:0 0 0 3px var(--oc-blue-soft)}.oc .oc-send{min-height:44px;padding:0 18px;border:0;border-radius:10px;background:var(--oc-blue);color:#fff;font-family:var(--oc-font-display);font-weight:700;font-size:14px;cursor:pointer}.oc .oc-error{grid-column:1 / -1;margin:0;font-size:12.5px;color:var(--oc-warn)}@media (max-width: 639px){.oc{--oc-gap: 12px}.oc .oc-launcher-label{display:none}.oc .oc-launcher{padding:4px}.oc.is-open{left:0;right:0;bottom:0}.oc .oc-panel{width:100%;height:min(82dvh,640px);border-radius:16px 16px 0 0;border-bottom:0}html.oc-open .dock{transform:translateY(110%);opacity:0;pointer-events:none}}@media (min-width: 900px){.oc{bottom:20px;right:20px}}.oc.oc-site{z-index:950}.oc.oc-site .oc-choice,.oc.oc-site .oc-send,.oc.oc-site .oc-launcher{letter-spacing:normal;text-transform:none}@media (max-width: 768px){.oc.oc-lift:not(.is-open){bottom:calc(80px + env(safe-area-inset-bottom))}html.oc-open [data-sticky-cta],html.oc-open [data-pb-sticky]{visibility:hidden}}@media (prefers-reduced-motion: reduce){.oc .oc-teaser,.oc .oc-panel,.oc .oc-msg,.oc .oc-msg.typing i{animation:none}}
