/* 会社サイト用の相談チャット。 */
.chat-launcher{position:fixed;right:24px;bottom:24px;z-index:1800;border:0;border-radius:40px;padding:16px 21px;display:flex;align-items:center;gap:9px;background:#0a4a31;color:white;box-shadow:0 4px 20px #0a4a3128;cursor:pointer;font:600 14px/1.4 -apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN",sans-serif}
.chat-launcher svg{width:22px;height:22px}
.chat-panel{position:fixed;inset:auto 24px 24px auto;margin:0;padding:0;border:1px solid #e0e8e2;border-radius:18px;width:420px;max-width:calc(100vw - 32px);height:700px;max-height:calc(100dvh - 72px);color:#18372a;background:white;box-shadow:0 12px 70px #173f2926;font:14px/1.8 -apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN",sans-serif;overflow:hidden;z-index:2000}
.chat-panel::backdrop{background:#102d2020}.chat-panel[open]{display:flex;flex-direction:column}.chat-panel [hidden]{display:none!important}.chat-panel *{box-sizing:border-box}.chat-panel button,.chat-panel input,.chat-panel textarea{font:inherit}.chat-panel button,.chat-panel a,.chat-panel summary{touch-action:manipulation}.chat-panel button{cursor:pointer}.chat-panel button:disabled{cursor:not-allowed;opacity:.4}
.chat-panel button:focus-visible,.chat-panel a:focus-visible,.chat-panel textarea:focus-visible,.chat-panel input:focus-visible,.chat-panel summary:focus-visible,.chat-launcher:focus-visible{outline:3px solid #00a650;outline-offset:3px}
.chat-head{display:flex;align-items:center;gap:10px;padding:18px 20px;border-bottom:1px solid #edf1ee;flex-shrink:0;background:white}
.chat-head img{width:30px;height:30px;object-fit:contain}.chat-head h2{font-size:17px;font-weight:600;line-height:1.5;letter-spacing:.02em}
.chat-reset{margin-left:auto;border:0;background:none;color:#78867e;font-size:11px!important;padding:8px 3px;text-underline-offset:3px}.chat-reset:hover{text-decoration:underline}
.chat-close{width:34px;height:34px;border:0;border-radius:50%;background:transparent;color:#53695c;font-size:26px!important;line-height:1;flex-shrink:0}.chat-close:hover{background:#f3f6f4}
.chat-test-controls{display:flex;align-items:center;gap:14px;padding:10px 22px;border-bottom:1px solid #edf1ee;font-size:12px;flex-shrink:0;background:#f7faf8}.chat-refresh{border:0;border-bottom:1px solid #a3b9ac;background:transparent;color:#356348;font-size:12px!important;padding:2px 0}
.chat-messages{padding:24px 22px;overflow-y:auto;overscroll-behavior:contain;flex:1;min-height:80px;display:flex;flex-direction:column;gap:22px;scroll-behavior:auto}
.chat-message{max-width:100%;white-space:pre-wrap;overflow-wrap:anywhere;color:#284436;font-size:14px;line-height:1.95;flex-shrink:0}
.chat-message-user{align-self:flex-end;max-width:88%;padding:10px 15px;border-radius:15px 15px 4px 15px;background:#eef6f1;color:#244f38}
.chat-message a{display:block;color:#587b66;font-size:11px;margin-top:9px;text-underline-offset:3px;line-height:1.7}
.chat-quick{display:flex;gap:8px;flex-wrap:wrap;padding:0 22px 18px;flex-shrink:0}.chat-chip{border:1px solid #d9e5dd;background:white;color:#486953;border-radius:22px;padding:7px 14px;font-size:12px!important;min-height:36px}.chat-chip:hover{background:#f4f8f5}
.chat-organize{display:inline-block;text-decoration:none;align-self:center;margin:0 22px 15px;padding:4px 0;border:0;border-bottom:1px solid #b7c9bd;background:none;color:#547460;font-size:12px!important;line-height:1.6;flex-shrink:0}
.chat-status{font-size:12px;line-height:1.7;color:#6e6647;background:#faf9f4;padding:10px 22px;flex-shrink:0;overflow-wrap:anywhere}
.chat-form{padding:16px 22px 5px;border-top:1px solid #edf1ee;flex-shrink:0;background:white}.chat-input-row{display:flex;align-items:flex-end;gap:8px;border:1px solid #d6e2d9;border-radius:13px;padding:6px;background:#fff}.chat-input-row:focus-within{border-color:#80ad92}
.chat-form textarea{resize:vertical;min-height:40px;height:40px;max-height:100px;border:0;border-radius:8px;padding:8px 7px;flex:1;min-width:0;color:#244634;background:white;font-size:14px;line-height:1.7}.chat-form textarea:focus-visible{outline:none}
.chat-send{width:36px;height:36px;flex-shrink:0;border:0;background:#0a4a31;color:white;border-radius:9px;font-size:23px!important;font-weight:500;line-height:1}
.chat-input-caution{font-size:10px;line-height:1.6;color:#87948b;margin-top:8px;letter-spacing:0}.chat-count{font-size:10px;color:#7c6240;margin-top:4px}
.chat-privacy{font-size:10px;line-height:1.7;color:#7b8b80;margin-top:7px}.chat-privacy summary{cursor:pointer;width:max-content;margin-left:auto;list-style:none;text-decoration:underline;text-underline-offset:3px}.chat-privacy summary::-webkit-details-marker{display:none}.chat-privacy>p{font-size:11px;line-height:1.8;margin:10px 0 3px;padding:11px;background:#f6f9f7;border-radius:6px;max-height:115px;overflow:auto;color:#61776a}
.chat-panel-footer{font-size:10px;line-height:1.7;text-align:center;color:#8b978f;padding:9px 16px 15px;background:white;flex-shrink:0}
@media(max-width:600px){.chat-launcher{right:14px;bottom:calc(16px + env(safe-area-inset-bottom,0px));padding:14px 18px}.chat-panel{inset:calc(var(--chat-visible-top,0px) + 44px) 10px auto;max-width:none;width:calc(100vw - 20px);height:calc(var(--chat-visible-height,100dvh) - 54px);max-height:calc(var(--chat-visible-height,100dvh) - 54px);border-radius:15px}.chat-head{padding:15px 17px}.chat-messages{padding:22px 19px;gap:20px;min-height:0}.chat-quick{padding:0 19px 17px}.chat-form{padding:14px 17px 5px}.chat-form textarea{font-size:16px;resize:none;min-height:44px;height:44px;line-height:1.6}.chat-status{padding:10px 19px}.chat-panel-footer{padding-bottom:max(13px,env(safe-area-inset-bottom,0px))}.chat-test-controls{padding:9px 19px}.chat-message{font-size:14px}
  .chat-panel[data-keyboard-open]{top:calc(var(--chat-visible-top,0px) + 8px);height:calc(var(--chat-visible-height,100dvh) - 16px);max-height:calc(var(--chat-visible-height,100dvh) - 16px)}
  .chat-panel[data-keyboard-open] .chat-head{padding:9px 14px}
  .chat-panel[data-keyboard-open] .chat-messages{padding:12px 17px;gap:14px}
  .chat-panel[data-keyboard-open] .chat-quick,.chat-panel[data-keyboard-open] .chat-organize,.chat-panel[data-keyboard-open] .chat-panel-footer{display:none}
  .chat-panel[data-keyboard-open] .chat-form{padding:10px 14px max(8px,env(safe-area-inset-bottom,0px))}
}
@media(prefers-reduced-motion:reduce){.chat-panel,.chat-launcher{scroll-behavior:auto;transition:none}}
.chat-bot-check{max-width:100%;overflow:hidden;margin:8px 0}.chat-bot-check iframe{max-width:100%}
