.faqbot-launcher{z-index:90;background:var(--color-accent);color:#fff;cursor:pointer;border:0;border-radius:9999px;align-items:center;gap:8px;height:50px;padding:0 16px;transition:transform .2s,box-shadow .2s,bottom .35s cubic-bezier(.22,.61,.36,1);display:inline-flex;position:fixed;bottom:24px;right:24px;box-shadow:0 12px 32px -12px #0f647d73,0 0 18px #0d9cb538}.faqbot-launcher:hover{transform:translateY(-2px);box-shadow:0 16px 36px -12px #0f647d80,0 0 24px #0d9cb54d}.faqbot-launcher-icon{transform-origin:50% 100%;flex-shrink:0;width:37px;height:30px;display:block}@keyframes faqbot-hop{0%{transform:translateY(0)scale(1)}18%{transform:translateY(0)scale(1.1,.86)}45%{transform:translateY(-7px)scale(.95,1.08)}68%{transform:translateY(0)scale(1.05,.94)}84%{transform:translateY(-2px)scale(.99,1.02)}to{transform:translateY(0)scale(1)}}.faqbot-launcher-icon.is-hopping{animation-name:faqbot-hop;animation-duration:.62s;animation-timing-function:cubic-bezier(.28,.84,.42,1);animation-fill-mode:both}.faqbot-launcher-label{letter-spacing:.75px;font-family:Inter,Noto Sans JP,sans-serif;font-size:15px;font-weight:800;line-height:1}.faqbot-panel[hidden]{display:none}.faqbot-panel{z-index:90;background:var(--color-bg-card);opacity:0;border:1px solid #0d9cb566;border-radius:16px;flex-direction:column;width:420px;max-width:calc(100vw - 32px);height:min(640px,100vh - 180px);transition:opacity .25s,transform .25s cubic-bezier(.22,.61,.36,1);display:flex;position:fixed;bottom:90px;right:24px;overflow:hidden;transform:translateY(12px);box-shadow:0 24px 60px -20px #0f647d61,0 0 24px #0d9cb51a}.faqbot-panel.is-open{opacity:1;transform:translateY(0)}.faqbot-head{background:var(--color-accent);color:#fff;align-items:center;gap:10px;padding:12px 14px 12px 20px;display:flex}.faqbot-head-text{flex-direction:column;gap:2px;margin-right:auto;display:flex}.faqbot-head-sub{letter-spacing:.08em;opacity:.82;font-family:Inter,sans-serif;font-size:13px;font-weight:700;line-height:1}.faqbot-head-title{font-family:Noto Sans JP,sans-serif;font-size:20px;font-weight:700;line-height:1.4}.faqbot-head-btn{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff8c;border-radius:9999px;flex-shrink:0;padding:5px 12px;font-family:Noto Sans JP,sans-serif;font-size:13px;font-weight:700;line-height:1.4;transition:background .2s}.faqbot-head-btn:hover{background:#ffffff2e}.faqbot-head-btn.is-close{width:32px;height:32px;padding:0;position:relative}.faqbot-head-btn.is-close span:before,.faqbot-head-btn.is-close span:after{content:"";background:#fff;border-radius:1px;width:14px;height:2px;position:absolute;top:15px;left:9px}.faqbot-head-btn.is-close span:before{transform:rotate(45deg)}.faqbot-head-btn.is-close span:after{transform:rotate(-45deg)}.faqbot-log{overscroll-behavior:contain;background:#f6fbfc;flex-direction:column;flex:1;gap:12px;padding:20px 16px;display:flex;overflow-y:auto}.faqbot-msg{display:flex}.faqbot-msg.is-user{justify-content:flex-end}.faqbot-bubble{border:1px solid var(--color-border-soft);background:#fff;border-radius:14px;max-width:92%;padding:14px 16px;box-shadow:0 8px 20px -14px #0f647d66}.faqbot-msg.is-user .faqbot-bubble{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.faqbot-text,.faqbot-answer{color:var(--color-text-muted);font-family:Noto Sans JP,sans-serif;font-size:16px;line-height:26px}.faqbot-msg.is-user .faqbot-text{color:#fff;font-weight:500}.faqbot-answer a{color:var(--color-accent);text-underline-offset:3px;text-decoration:underline}.faqbot-set-head{border-bottom:1px solid var(--color-border-faint);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:8px;display:flex}.faqbot-set-title{color:var(--color-text);font-family:Inter,Noto Sans JP,sans-serif;font-size:17px;font-weight:700;line-height:26px}.faqbot-set-cap{color:var(--color-accent);white-space:nowrap;background:#0d9cb51a;border-radius:9999px;flex-shrink:0;padding:2px 10px;font-family:Inter,Noto Sans JP,sans-serif;font-size:13px;font-weight:700;line-height:20px}.faqbot-set-meta{color:var(--color-text-muted);margin-top:8px;font-family:Noto Sans JP,sans-serif;font-size:13px;font-weight:500;line-height:20px}.faqbot-set-desc{color:var(--color-text-muted);margin-top:6px;font-family:Noto Sans JP,sans-serif;font-size:16px;line-height:26px}.faqbot-set-price{border:1px solid var(--color-border-faint);background:#0d9cb50d;border-radius:10px;margin-top:12px;padding:10px 12px}.faqbot-set-price-label{color:var(--color-text-muted);font-family:Noto Sans JP,sans-serif;font-size:12px;font-weight:500;line-height:18px}.faqbot-set-was{color:var(--color-text-muted);flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;font-family:Inter,Noto Sans JP,sans-serif;font-size:12px;font-weight:500;line-height:18px;display:flex}.faqbot-set-sale{background:var(--color-accent);color:#fff;border-radius:9999px;padding:1px 8px;font-weight:700}.faqbot-set-plan{justify-content:space-between;align-items:baseline;gap:10px;margin-top:4px;font-family:Inter,Noto Sans JP,sans-serif;line-height:24px;display:flex}.faqbot-set-plan-name{color:var(--color-text-muted);font-size:13px;font-weight:500}.faqbot-set-plan-price{color:var(--color-accent);white-space:nowrap;flex-shrink:0;font-size:16px;font-weight:800}.faqbot-set-note{color:var(--color-text-muted);margin-top:6px;font-family:Noto Sans JP,sans-serif;font-size:12px;font-weight:500;line-height:18px}.faqbot-set-equip{color:var(--color-text-muted);margin-top:10px;font-family:Noto Sans JP,sans-serif;font-size:13px;line-height:20px}.faqbot-set-link{color:var(--color-accent);align-items:center;gap:6px;margin-top:12px;font-family:Noto Sans JP,sans-serif;font-size:16px;font-weight:700;line-height:26px;display:inline-flex}.faqbot-set-link:after{content:"→";transition:transform .2s}.faqbot-set-link:hover:after{transform:translate(3px)}.faqbot-equip-head{border-bottom:1px solid var(--color-border-faint);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:8px;display:flex}.faqbot-equip-title{color:var(--color-text);font-family:Inter,Noto Sans JP,sans-serif;font-size:17px;font-weight:700;line-height:26px}.faqbot-equip-price{color:var(--color-accent);white-space:nowrap;flex-shrink:0;font-family:Inter,Noto Sans JP,sans-serif;font-size:17px;font-weight:800;line-height:26px}.faqbot-equip-tax{font-size:12px;font-weight:500}.faqbot-equip-meta{color:var(--color-text-muted);margin-top:8px;font-family:Noto Sans JP,sans-serif;font-size:13px;font-weight:500;line-height:20px}.faqbot-equip-desc{color:var(--color-text-muted);margin-top:6px;font-family:Noto Sans JP,sans-serif;font-size:16px;line-height:26px}.faqbot-equip-link{color:var(--color-accent);align-items:center;gap:6px;margin-top:12px;font-family:Noto Sans JP,sans-serif;font-size:16px;font-weight:700;line-height:26px;display:inline-flex}.faqbot-equip-link:after{content:"→";transition:transform .2s}.faqbot-equip-link:hover:after{transform:translate(3px)}.faqbot-guide-head{border-bottom:1px solid var(--color-border-faint);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:8px;display:flex}.faqbot-guide-title{color:var(--color-text);font-family:Noto Sans JP,sans-serif;font-size:17px;font-weight:700;line-height:26px}.faqbot-guide-badge{color:var(--color-accent);white-space:nowrap;background:#0d9cb51a;border-radius:9999px;flex-shrink:0;padding:2px 10px;font-family:Noto Sans JP,sans-serif;font-size:13px;font-weight:700;line-height:20px}.faqbot-guide-meta{color:var(--color-text-muted);margin-top:8px;font-family:Inter,Noto Sans JP,sans-serif;font-size:13px;font-weight:500;line-height:20px}.faqbot-guide-desc{color:var(--color-text-muted);margin-top:6px;font-family:Noto Sans JP,sans-serif;font-size:16px;line-height:26px}.faqbot-guide-link{color:var(--color-accent);align-items:center;gap:6px;margin-top:12px;font-family:Noto Sans JP,sans-serif;font-size:16px;font-weight:700;line-height:26px;display:inline-flex}.faqbot-guide-link:after{content:"→";transition:transform .2s}.faqbot-guide-link:hover:after{transform:translate(3px)}.faqbot-choices{flex-direction:column;gap:8px;display:flex}.faqbot-choice{text-align:left;width:100%;color:var(--color-text);cursor:pointer;background:#fff;border:1px solid #0d9cb566;border-radius:12px;padding:12px 16px;font-family:Noto Sans JP,sans-serif;font-size:16px;font-weight:700;line-height:26px;transition:background .2s,border-color .2s,transform .2s}.faqbot-choice:hover{border-color:var(--color-accent);background:#eaf7fa;transform:translate(2px)}.faqbot-choice.is-two-line{flex-direction:column;gap:2px;display:flex}.faqbot-choice-main{font-size:16px;font-weight:700;line-height:26px}.faqbot-choice-sub{color:var(--color-text-muted);font-size:13px;font-weight:500;line-height:20px}.faqbot-choice.is-soft{border-color:var(--color-border-soft);color:var(--color-text-muted);background:0 0;font-weight:500}.faqbot-choice.is-soft:hover{border-color:var(--color-border);background:#ffffffb3}.faqbot-choice.is-cta{background:var(--color-accent);border-color:var(--color-accent);color:#fff;text-align:center}.faqbot-choice.is-cta:hover{background:#0b8aa1;border-color:#0b8aa1}.faqbot-foot{border-top:1px solid var(--color-border-faint);background:#fff;gap:8px;padding:12px;display:flex}.faqbot-input{border:1px solid var(--color-border);min-width:0;color:var(--color-text);background:#fff;border-radius:10px;flex:1;padding:10px 14px;font-family:Noto Sans JP,sans-serif;font-size:16px;line-height:26px;transition:border-color .2s,box-shadow .2s}.faqbot-input::placeholder{color:#8aa5ad}.faqbot-input:focus{border-color:var(--color-accent);outline:none;box-shadow:0 0 0 3px #0d9cb529}.faqbot-input:disabled{cursor:not-allowed;background:#f2f6f7}.faqbot-send{background:var(--color-accent);color:#fff;cursor:pointer;border:0;border-radius:10px;flex-shrink:0;padding:0 18px;font-family:Noto Sans JP,sans-serif;font-size:16px;font-weight:700;line-height:26px;transition:background .2s}.faqbot-send:hover{background:#0b8aa1}@media (width<=768px){.faqbot-launcher{gap:8px;height:44px;padding:0 14px;bottom:16px;right:16px}.faqbot-launcher-icon{width:32px;height:26px}.faqbot-launcher-label{letter-spacing:.7px;font-size:14px}}@media (width<=600px){.faqbot-launcher.is-open{opacity:0;pointer-events:none}.faqbot-panel{border-width:1px 0 0;border-radius:16px 16px 0 0;width:100%;max-width:none;height:min(86vh,100vh - 64px);bottom:0;left:0;right:0}.faqbot-bubble{max-width:96%}}@media (prefers-reduced-motion:reduce){.faqbot-launcher,.faqbot-panel,.faqbot-choice,.faqbot-equip-link:after,.faqbot-set-link:after{transition:none}.faqbot-launcher-icon.is-hopping{animation-name:none}}