.civio-chatbot-root{position:fixed;right:18px;bottom:18px;z-index:1200;font-family:"Noto Sans JP","Yu Gothic",sans-serif}
.civio-chatbot-toggle{position:relative;width:62px;height:62px;min-width:62px;min-height:62px;padding:0;border:1px solid rgba(255,255,255,.14);border-radius:50%;background:#0a0a0a;color:#fff;box-shadow:0 18px 42px rgba(0,0,0,.30),0 0 0 1px rgba(209,17,28,.14);display:grid;place-items:center;cursor:pointer;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.civio-chatbot-toggle:before{content:"";position:absolute;inset:5px;border:1px solid rgba(255,255,255,.08);border-radius:50%}
.civio-chatbot-toggle:after{content:"";position:absolute;right:7px;bottom:7px;width:8px;height:8px;border-radius:50%;background:#d1111c;box-shadow:0 0 0 3px #0a0a0a}
.civio-chatbot-toggle:hover{transform:translateY(-2px);background:#141414;box-shadow:0 22px 48px rgba(0,0,0,.36),0 0 0 1px rgba(209,17,28,.28)}
.civio-chatbot-mark{position:relative;z-index:1;width:34px;height:34px;object-fit:contain;display:block;filter:none}
.civio-chatbot-panel{position:absolute;right:0;bottom:76px;width:min(400px,calc(100vw - 24px));height:min(740px,calc(100vh - 100px));background:#fff;border:1px solid #d5d5d5;box-shadow:0 30px 66px rgba(0,0,0,.24);display:flex;flex-direction:column;overflow:hidden;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(10px) scale(.985);transform-origin:100% 100%;transition:opacity .18s ease,transform .18s ease,visibility .18s ease}
.civio-chatbot-root.is-open .civio-chatbot-panel{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0) scale(1)}
.civio-chatbot-head{background:#0b0b0b;color:#fff;padding:15px 16px 13px;border-bottom:3px solid #d1111c;display:flex;align-items:center;justify-content:space-between;gap:10px}
.civio-chatbot-brand{display:flex;align-items:center;gap:12px;min-width:0}.civio-chatbot-brand .civio-chatbot-mark{width:30px;height:30px;flex:0 0 auto}.civio-chatbot-brand strong{display:block;font-size:15px;line-height:1.2;letter-spacing:.11em}.civio-chatbot-brand span{display:block;margin-top:3px;font-size:10px;color:#bfbfbf;line-height:1.3;letter-spacing:.08em;text-transform:uppercase}
.civio-chatbot-close{appearance:none;width:34px;height:34px;min-width:34px;min-height:34px;padding:0;border:0;border-radius:50%;background:transparent;color:#fff;display:grid;place-items:center;cursor:pointer;font-size:21px;line-height:1}.civio-chatbot-close:hover{background:rgba(255,255,255,.08)}
.civio-chatbot-notice{padding:0 16px;font-size:10.5px;line-height:1.65;color:#505050;background:#f5f5f5;border-bottom:1px solid #e3e3e3;max-height:156px;overflow:auto}.civio-chatbot-notice summary{min-height:40px;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none;color:#171717;font-size:11px;font-weight:700;letter-spacing:.04em}.civio-chatbot-notice summary::-webkit-details-marker{display:none}.civio-chatbot-notice summary:after{content:"＋";flex:0 0 auto;color:#b10f18;font-size:16px;font-weight:400;line-height:1}.civio-chatbot-notice[open] summary:after{content:"－"}.civio-chatbot-notice-body{padding:0 0 10px}.civio-chatbot-notice p{margin:0 0 5px}.civio-chatbot-notice p:last-child{margin-bottom:0}.civio-chatbot-notice a{color:#a90f18;text-decoration:underline;text-underline-offset:2px}
.civio-chatbot-quick{padding:11px 16px 0;display:flex;gap:8px;flex-wrap:wrap;background:#fafafa}.civio-chatbot-chip{appearance:none;min-height:0;padding:7px 11px;border:1px solid #d5d5d5;border-radius:0;background:#fff;color:#202020;font-size:11px;font-weight:600;line-height:1.4;letter-spacing:.02em;cursor:pointer}.civio-chatbot-chip:hover{border-color:#d1111c;color:#d1111c;background:#fff}
.civio-chatbot-messages{flex:1;overflow:auto;padding:16px;background:#fafafa;display:flex;flex-direction:column;gap:12px;scrollbar-width:thin;scrollbar-color:#c7c7c7 transparent}
.civio-chatbot-msg{max-width:90%;padding:12px 13px;border-radius:0;line-height:1.78;font-size:13px;white-space:pre-wrap;word-break:break-word;border:1px solid #dfdfdf;background:#fff;color:#171717}.civio-chatbot-msg p{margin:0 0 8px}.civio-chatbot-msg p:last-child{margin-bottom:0}.civio-chatbot-msg a{color:#b10f18;text-decoration:underline;text-underline-offset:2px}.civio-chatbot-msg--assistant{align-self:flex-start;border-left:3px solid #d1111c}.civio-chatbot-msg--user{align-self:flex-end;background:#111;color:#fff;border-color:#111}
.civio-chatbot-status{padding:0 16px 8px;font-size:11px;color:#666;min-height:18px;background:#fafafa}.civio-chatbot-status.is-error{color:#b40f18}
.civio-chatbot-form{border-top:1px solid #e3e3e3;background:#fff;padding:12px 12px 14px}.civio-chatbot-input{width:100%;resize:none;min-height:92px;max-height:160px;border:1px solid #d5d5d5;padding:12px 13px;font:inherit;font-size:13px;line-height:1.7;border-radius:0;outline:none;background:#fff;color:#111}.civio-chatbot-input:focus{border-color:#d1111c;box-shadow:0 0 0 2px rgba(209,17,28,.07)}.civio-chatbot-agreement{margin:7px 1px 0;color:#777;font-size:9.5px;line-height:1.55}.civio-chatbot-agreement a{color:#a90f18;text-decoration:underline;text-underline-offset:2px}
.civio-chatbot-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}.civio-chatbot-count{font-size:11px;color:#6a6a6a}.civio-chatbot-send{appearance:none;min-height:0;padding:10px 18px;border:1px solid #d1111c;border-radius:0;background:#d1111c;color:#fff;font-size:12px;font-weight:700;line-height:1.4;letter-spacing:.08em;cursor:pointer}.civio-chatbot-send:hover{background:#b90f18;border-color:#b90f18}.civio-chatbot-send[disabled],.civio-chatbot-chip[disabled]{opacity:.55;cursor:not-allowed}
@media(max-width:720px){
  .civio-chatbot-root{right:8px;bottom:8px}
  .civio-chatbot-panel{right:0;bottom:0;width:calc(100vw - 16px);height:auto;max-height:calc(var(--civio-viewport-height,100dvh) - 16px);transform-origin:100% 100%}
  .civio-chatbot-root.is-open .civio-chatbot-toggle{opacity:0;visibility:hidden;pointer-events:none;transform:scale(.88)}
  .civio-chatbot-head{flex:0 0 auto;padding:12px 14px 10px}
  .civio-chatbot-brand{gap:10px}.civio-chatbot-brand .civio-chatbot-mark{width:27px;height:27px}.civio-chatbot-brand strong{font-size:14px}.civio-chatbot-brand span{font-size:9px}
  .civio-chatbot-notice{flex:0 0 auto;padding:0 14px;max-height:min(42dvh,240px)}
  .civio-chatbot-notice summary{min-height:39px;font-size:10.5px}
  .civio-chatbot-notice-body{padding-bottom:9px}
  .civio-chatbot-quick{flex:0 0 auto;padding:10px 14px 0;gap:7px}
  .civio-chatbot-chip{padding:7px 10px;font-size:10.5px}
  .civio-chatbot-messages{flex:1 1 auto;min-height:86px;max-height:30dvh;padding:12px 14px;gap:10px;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
  .civio-chatbot-msg{max-width:94%;padding:10px 11px;font-size:12px;line-height:1.68}
  .civio-chatbot-status{flex:0 0 auto;padding:0 14px 6px;min-height:14px;font-size:10px}
  .civio-chatbot-form{flex:0 0 auto;padding:10px 10px calc(10px + env(safe-area-inset-bottom))}
  .civio-chatbot-input{min-height:74px;max-height:112px;padding:10px 11px;font-size:16px;line-height:1.55}
  .civio-chatbot-agreement{margin-top:6px;font-size:9px;line-height:1.45}
  .civio-chatbot-actions{margin-top:8px}.civio-chatbot-send{padding:9px 17px}.civio-chatbot-count{font-size:10px}
  .civio-chatbot-root.has-conversation .civio-chatbot-quick{display:none}
  .civio-chatbot-toggle{width:58px;height:58px;min-width:58px;min-height:58px}.civio-chatbot-mark{width:31px;height:31px}
}

/* Article pages contain strong button rules. Keep all CIVIO GUIDE controls identical. */
body.cv-article-page .civio-chatbot-root button,body.cv-legacy-article .civio-chatbot-root button{appearance:none!important;-webkit-appearance:none!important;font:inherit!important;box-sizing:border-box!important;transform:none}
body.cv-article-page .civio-chatbot-root .civio-chatbot-toggle,body.cv-legacy-article .civio-chatbot-root .civio-chatbot-toggle{width:62px!important;height:62px!important;min-width:62px!important;min-height:62px!important;padding:0!important;border:1px solid rgba(255,255,255,.14)!important;border-radius:50%!important;background:#0a0a0a!important;color:#fff!important;box-shadow:0 18px 42px rgba(0,0,0,.30),0 0 0 1px rgba(209,17,28,.14)!important;display:grid!important;place-items:center!important}
body.cv-article-page .civio-chatbot-root .civio-chatbot-toggle:hover,body.cv-legacy-article .civio-chatbot-root .civio-chatbot-toggle:hover{background:#141414!important;color:#fff!important;transform:translateY(-2px)!important;box-shadow:0 22px 48px rgba(0,0,0,.36),0 0 0 1px rgba(209,17,28,.28)!important}
body.cv-article-page .civio-chatbot-root .civio-chatbot-mark,body.cv-legacy-article .civio-chatbot-root .civio-chatbot-mark{width:34px!important;height:34px!important;display:block!important;object-fit:contain!important}
body.cv-article-page .civio-chatbot-root .civio-chatbot-close,body.cv-legacy-article .civio-chatbot-root .civio-chatbot-close{width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;padding:0!important;border:0!important;border-radius:50%!important;background:transparent!important;color:#fff!important;font-size:21px!important;line-height:1!important;display:grid!important;place-items:center!important}
body.cv-article-page .civio-chatbot-root .civio-chatbot-chip,body.cv-legacy-article .civio-chatbot-root .civio-chatbot-chip{min-height:0!important;padding:7px 11px!important;border:1px solid #d5d5d5!important;border-radius:0!important;background:#fff!important;color:#202020!important;font-size:11px!important;font-weight:600!important;line-height:1.4!important;box-shadow:none!important}
body.cv-article-page .civio-chatbot-root .civio-chatbot-chip:hover,body.cv-legacy-article .civio-chatbot-root .civio-chatbot-chip:hover{border-color:#d1111c!important;background:#fff!important;color:#d1111c!important;transform:none!important}
body.cv-article-page .civio-chatbot-root .civio-chatbot-send,body.cv-legacy-article .civio-chatbot-root .civio-chatbot-send{min-height:0!important;padding:10px 18px!important;border:1px solid #d1111c!important;border-radius:0!important;background:#d1111c!important;color:#fff!important;font-size:12px!important;font-weight:700!important;line-height:1.4!important;letter-spacing:.08em!important;box-shadow:none!important}
body.cv-article-page .civio-chatbot-root .civio-chatbot-send:hover,body.cv-legacy-article .civio-chatbot-root .civio-chatbot-send:hover{border-color:#b90f18!important;background:#b90f18!important;color:#fff!important;transform:none!important}
@media(max-width:720px){body.cv-article-page .civio-chatbot-root .civio-chatbot-toggle,body.cv-legacy-article .civio-chatbot-root .civio-chatbot-toggle{width:58px!important;height:58px!important;min-width:58px!important;min-height:58px!important}body.cv-article-page .civio-chatbot-root .civio-chatbot-mark,body.cv-legacy-article .civio-chatbot-root .civio-chatbot-mark{width:31px!important;height:31px!important}}

@media(max-width:720px){body.cv-article-page .civio-chatbot-root.is-open .civio-chatbot-toggle,body.cv-legacy-article .civio-chatbot-root.is-open .civio-chatbot-toggle{opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:scale(.88)!important}}
