/* 湘南ドローンアカデミー 受講案内チャット
   位置の調整: :root{--sda-chat-bottom:88px;--sda-chat-right:16px} のようにサイト側で上書きできます */
.sda-chat-root{--sda-chat-c:#0A6E93;--sda-chat-c-dark:#08587A;--sda-chat-c-soft:#E8F3F7;--sda-chat-ink:#1E2A30;--sda-chat-sub:#5B6B73;--sda-chat-line:#DCE5E9;--sda-chat-bg:#F5F8FA;font-family:"Noto Sans JP","Hiragino Sans","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;font-size:15px;line-height:1.7;color:var(--sda-chat-ink);-webkit-font-smoothing:antialiased}
.sda-chat-root *,.sda-chat-root *::before,.sda-chat-root *::after{box-sizing:border-box}
.sda-chat-root button,.sda-chat-root textarea{font:inherit;color:inherit;margin:0}
.sda-chat-root [hidden]{display:none!important}
.sda-chat-launcher{position:fixed;right:var(--sda-chat-right,20px);bottom:calc(var(--sda-chat-bottom,20px) + env(safe-area-inset-bottom,0px));z-index:9000;display:block;padding:0;background:none;border:0;cursor:pointer}
.sda-chat-launcher__btn{display:flex;align-items:center;gap:8px;min-height:52px;padding:8px 18px 8px 14px;border-radius:999px;background:var(--sda-chat-c);color:#fff;border:2px solid #fff;box-shadow:0 0 0 2px var(--sda-chat-c),0 8px 22px rgba(4,30,40,.38);transition:transform .2s ease,background .2s ease}
.sda-chat-launcher__btn svg{flex:none;width:24px;height:24px}
.sda-chat-launcher__label{display:flex;font-size:14px;font-weight:700;line-height:1.3;letter-spacing:.02em;white-space:nowrap}
.sda-chat-launcher:hover .sda-chat-launcher__btn{background:var(--sda-chat-c-dark);transform:translateY(-2px)}
.sda-chat-launcher:focus-visible{outline:none}
.sda-chat-launcher:focus-visible .sda-chat-launcher__btn{outline:3px solid #F2A93B;outline-offset:3px}
.sda-chat-panel{position:fixed;right:var(--sda-chat-right,20px);bottom:calc(var(--sda-chat-bottom,20px) + env(safe-area-inset-bottom,0px));z-index:9001;display:flex;flex-direction:column;width:380px;height:600px;max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px);background:#fff;border:1px solid var(--sda-chat-line);border-radius:16px;box-shadow:0 18px 48px rgba(10,40,55,.18),0 2px 8px rgba(10,40,55,.08);overflow:hidden;animation:sda-chat-in .22s ease-out}
@keyframes sda-chat-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.sda-chat-head{display:flex;align-items:center;gap:8px;padding:12px 10px 12px 16px;background:var(--sda-chat-c);color:#fff;flex:none}
.sda-chat-head__ttl{flex:1;min-width:0;display:grid;line-height:1.35}
.sda-chat-head__ttl small{font-size:11px;opacity:.9;letter-spacing:.04em}
.sda-chat-head__ttl b{font-size:16px;font-weight:700}
.sda-chat-iconbtn{display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:10px;background:transparent;color:#fff;cursor:pointer;transition:background .15s}
.sda-chat-iconbtn:hover{background:rgba(255,255,255,.16)}
.sda-chat-iconbtn:focus-visible{outline:2px solid #fff;outline-offset:-2px}
.sda-chat-iconbtn svg{width:20px;height:20px}
.sda-chat-log{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:18px 14px 8px;background:var(--sda-chat-bg);display:flex;flex-direction:column;gap:12px}
.sda-chat-msg{display:flex;flex-direction:column;gap:8px;max-width:88%}
.sda-chat-msg--ai{align-self:flex-start}
.sda-chat-msg--user{align-self:flex-end;align-items:flex-end}
.sda-chat-bubble{padding:10px 14px;border-radius:14px;word-break:break-word;overflow-wrap:anywhere}
.sda-chat-msg--ai .sda-chat-bubble{background:#fff;border:1px solid var(--sda-chat-line);border-top-left-radius:4px;box-shadow:0 1px 2px rgba(10,40,55,.04)}
.sda-chat-msg--user .sda-chat-bubble{background:var(--sda-chat-c);color:#fff;border-top-right-radius:4px;white-space:pre-wrap}
.sda-chat-bubble p{margin:0}
.sda-chat-bubble p+p,.sda-chat-bubble p+ul,.sda-chat-bubble p+ol,.sda-chat-bubble ul+p,.sda-chat-bubble ol+p{margin-top:.6em}
.sda-chat-bubble ul,.sda-chat-bubble ol{margin:.3em 0;padding-left:1.4em}
.sda-chat-bubble li+li{margin-top:.2em}
.sda-chat-bubble strong{font-weight:700;color:var(--sda-chat-c-dark)}
.sda-chat-bubble a{color:var(--sda-chat-c);text-decoration:underline;text-underline-offset:2px;word-break:break-all}
.sda-chat-bubble a:hover{color:var(--sda-chat-c-dark)}
.sda-chat-bubble--error{background:#FFF8F0!important;border-color:#F1D9BE!important}
.sda-chat-typing{display:inline-flex;gap:5px;padding:4px 2px}
.sda-chat-typing i{width:7px;height:7px;border-radius:50%;background:var(--sda-chat-c);opacity:.35;animation:sda-chat-dot 1.1s infinite ease-in-out}
.sda-chat-typing i:nth-child(2){animation-delay:.15s}
.sda-chat-typing i:nth-child(3){animation-delay:.3s}
@keyframes sda-chat-dot{0%,80%,100%{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
.sda-chat-sugs{display:flex;flex-wrap:wrap;gap:6px}
.sda-chat-sug{padding:7px 12px;background:#fff;color:var(--sda-chat-c);border:1px solid var(--sda-chat-c);border-radius:999px;font-size:13px;line-height:1.45;text-align:left;cursor:pointer;transition:background .15s,color .15s}
.sda-chat-sug:hover{background:var(--sda-chat-c-soft)}
.sda-chat-sug:focus-visible{outline:2px solid var(--sda-chat-c);outline-offset:2px}
.sda-chat-sug:disabled{opacity:.5;cursor:default}
.sda-chat-form{display:flex;align-items:flex-end;gap:8px;padding:10px 12px;border-top:1px solid var(--sda-chat-line);background:#fff;flex:none}
.sda-chat-input{flex:1;min-width:0;min-height:44px;max-height:120px;padding:10px 12px;border:1px solid var(--sda-chat-line);border-radius:12px;background:#fff;font-size:16px;line-height:1.5;resize:none;outline:none;transition:border-color .15s,box-shadow .15s}
.sda-chat-input:focus{border-color:var(--sda-chat-c);box-shadow:0 0 0 3px rgba(10,110,147,.15)}
.sda-chat-input::placeholder{color:#8A989F}
.sda-chat-send{display:grid;place-items:center;flex:none;width:44px;height:44px;border:0;border-radius:12px;background:var(--sda-chat-c);color:#fff;cursor:pointer;transition:background .15s}
.sda-chat-send:hover{background:var(--sda-chat-c-dark)}
.sda-chat-send:focus-visible{outline:2px solid var(--sda-chat-c);outline-offset:2px}
.sda-chat-send:disabled{background:#B7C7CE;cursor:default}
.sda-chat-send svg{width:20px;height:20px}
.sda-chat-note{margin:0;padding:0 14px 10px;background:#fff;color:var(--sda-chat-sub);font-size:11px;line-height:1.55;flex:none}
.sda-chat-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media (max-width:899px){
.sda-chat-launcher{right:var(--sda-chat-right,12px);bottom:calc(var(--sda-chat-bottom,14px) + env(safe-area-inset-bottom,0px))}
.sda-chat-launcher__btn{gap:6px;min-height:48px;padding:6px 14px 6px 11px}
.sda-chat-launcher__btn svg{width:22px;height:22px}
.sda-chat-launcher__label{flex-direction:column;font-size:12px;line-height:1.25}
}
@media (max-width:640px){
.sda-chat-panel{inset:0;width:100%;height:100%;max-height:none;border:0;border-radius:0;padding-bottom:env(safe-area-inset-bottom,0px)}
.sda-chat-head{padding-top:calc(12px + env(safe-area-inset-top,0px))}
html.sda-chat-lock,html.sda-chat-lock body{overflow:hidden}
}
@media (prefers-reduced-motion:reduce){.sda-chat-panel,.sda-chat-typing i{animation:none}.sda-chat-launcher__btn{transition:none}}
