/* LET'S TALK AI窓口のパネル（80s：黒地・モノスペース・ピンクの細線） */
.sf-talk{position:fixed;top:0;right:0;bottom:0;width:min(420px,100vw);z-index:9600;background:#101113;color:#f2eee5;display:flex;flex-direction:column;transform:translateX(102%);transition:transform .28s cubic-bezier(.2,.8,.2,1);box-shadow:-20px 0 60px rgba(0,0,0,.5);border-left:1px solid #2b2d31}
html.sf-talk-open .sf-talk{transform:none}
html.sf-talk-open{overflow:hidden}
.sf-talk-head{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid #2b2d31}
.sf-talk-head small{display:block;font:700 9px "Courier New",Courier,monospace;letter-spacing:.2em;color:var(--sf-sun-3,#ff5f9e)}
.sf-talk-head strong{display:block;font:700 22px "Courier New",Courier,monospace;letter-spacing:.14em;margin-top:4px}
.sf-talk-close{width:40px;height:40px;border:1px solid #6d6d6d;background:none;color:#fff;font-size:22px;border-radius:0;cursor:pointer}
.sf-talk-list{flex:1;overflow-y:auto;padding:18px 16px;display:flex;flex-direction:column;gap:14px}
.sf-talk-msg{display:flex;gap:10px;align-items:flex-start}
.sf-talk-msg .who{flex:0 0 34px;height:34px;display:grid;place-items:center;border:1px solid #6d6d6d;font:700 10px "Courier New",Courier,monospace;letter-spacing:.08em;color:#ddd}
.sf-talk-msg.is-ai .who{border-color:var(--sf-sun-3,#ff5f9e);color:var(--sf-sun-3,#ff5f9e)}
.sf-talk-msg .bub{font-size:14px;line-height:1.8;padding:10px 12px;border:1px solid #2b2d31;background:#17181b;max-width:calc(100% - 44px);word-break:break-word}
.sf-talk-msg.is-me{flex-direction:row-reverse}.sf-talk-msg.is-me .bub{background:#1f2024}
.sf-talk-msg .bub a{color:#ffd07a;text-decoration:underline;word-break:break-all}
.sf-talk .dots{display:inline-flex;gap:5px;padding:4px 0}.sf-talk .dots b{width:6px;height:6px;background:var(--sf-sun-3,#ff5f9e);animation:sfDots .9s steps(1) infinite}.sf-talk .dots b:nth-child(2){animation-delay:.3s}.sf-talk .dots b:nth-child(3){animation-delay:.6s}
@keyframes sfDots{0%,66%{opacity:.2}33%{opacity:1}}
.sf-talk-chips{display:flex;flex-wrap:wrap;gap:8px;padding:0 16px 12px}
.sf-talk-chips button{border:1px solid #4a4c52;background:none;color:#ddd;font-size:12px;padding:7px 10px;border-radius:0;cursor:pointer}
.sf-talk-chips button:hover{border-color:var(--sf-sun-3,#ff5f9e);color:#fff}
.sf-talk-form{display:flex;gap:8px;padding:12px 16px;border-top:1px solid #2b2d31}
.sf-talk-form .sf-talk-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.sf-talk-form .sr{position:absolute;left:-9999px}
.sf-talk-form input#sf-talk-in{flex:1;min-height:46px;border:1px solid #6d6d6d;background:#0b0c0e;color:#fff;padding:0 12px;font-size:16px;border-radius:0}
.sf-talk-form button{width:52px;min-height:46px;border:1px solid var(--sf-sun-3,#ff5f9e);background:none;color:#fff;font-size:16px;border-radius:0;cursor:pointer;box-shadow:0 0 12px rgba(255,95,158,.25)}
.sf-talk-foot{display:flex;flex-wrap:wrap;gap:6px 16px;padding:10px 16px 14px;font:11px "Courier New",Courier,monospace;letter-spacing:.06em;color:#9a9a9a;border-top:1px solid #2b2d31}
.sf-talk-foot a{color:#fff;text-decoration:underline}.sf-talk-foot span{width:100%;font-size:10px}
@media (max-width:700px){.sf-talk{width:100vw;border-left:0}.sf-talk-head{padding:14px 16px}.sf-talk-head strong{font-size:18px}}
@media (prefers-reduced-motion:reduce){.sf-talk{transition:none}.sf-talk .dots b{animation:none;opacity:.8}}

/* お問い合わせページ：フォームの代わりにチャットを本文に埋め込む */
.sf-talk.is-inline{position:static;width:100%;transform:none;box-shadow:none;border:1px solid #2b2d31;height:620px;max-height:80vh;border-radius:0}
.sf-talk.is-inline .sf-talk-close{display:none}
.sf-talk-msg.is-done .bub{border-color:var(--sf-sun-3,#ff5f9e);color:#fff}
@media (max-width:700px){.sf-talk.is-inline{height:70vh;min-height:480px}}

/* 会話で埋まるお問い合わせフォーム（お問い合わせページ） */
.sf-lead-form{margin-top:18px;border:1px solid #2b2d31;background:#101113;color:#f2eee5;padding:18px 16px 16px}
.sf-lead-form .head{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:baseline;margin-bottom:14px}
.sf-lead-form .head small{font:700 9px "Courier New",Courier,monospace;letter-spacing:.2em;color:var(--sf-sun-3,#ff5f9e)}.sf-lead-form .head strong{font-size:16px;font-weight:600}.sf-lead-form .head .auto{width:100%;font-size:11px;color:#9a9a9a}
.sf-lead-form .grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.sf-lead-form label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#cfcfcf}.sf-lead-form label b{display:inline-block;margin-left:6px;font-size:9px;font-weight:700;color:var(--sf-sun-3,#ff5f9e);letter-spacing:.1em}
.sf-lead-form label.wide{margin-top:12px}
.sf-lead-form input,.sf-lead-form textarea{border:1px solid #6d6d6d;background:#0b0c0e;color:#fff;padding:10px 12px;font-size:16px;border-radius:0;width:100%;box-sizing:border-box;font-family:inherit}
.sf-lead-form input.is-auto,.sf-lead-form textarea.is-auto{border-color:var(--sf-sun-3,#ff5f9e);box-shadow:inset 0 0 0 1px rgba(255,95,158,.35)}
.sf-lead-form .foot{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;margin-top:14px}
.sf-lead-form button{border:1px solid var(--sf-sun-3,#ff5f9e);background:none;color:#fff;font:700 12px "Courier New",Courier,monospace;letter-spacing:.16em;padding:13px 18px;border-radius:0;cursor:pointer;box-shadow:0 0 14px rgba(255,95,158,.25)}
.sf-lead-form button:disabled{border-color:#555;color:#777;box-shadow:none;cursor:not-allowed}
.sf-lead-form .st{font-size:12px;color:#9a9a9a}.sf-lead-form .done{margin:0;font-size:14px;color:#fff}
.sf-lead-form.is-sent input,.sf-lead-form.is-sent textarea{opacity:.6}
@media (max-width:700px){.sf-lead-form .grid{grid-template-columns:1fr}}

.sf-talk-progress{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;margin-top:12px;font:11px "Courier New",Courier,monospace;letter-spacing:.08em;color:#8d8d8d}.sf-talk-progress small{font-size:10px;letter-spacing:.16em;color:var(--sf-sun-3,#ff5f9e)}.sf-talk-progress span.is-on{color:#fff}

.sf-talk-next{display:flex;flex-wrap:wrap;gap:8px;padding:2px 0 4px 44px}.sf-talk-next button{border:1px solid #6d6d6d;background:#17181b;color:#fff;font-size:13px;padding:10px 14px;border-radius:0;cursor:pointer}.sf-talk-next button.is-primary{border-color:var(--sf-sun-3,#ff5f9e);box-shadow:0 0 12px rgba(255,95,158,.25);font-weight:700}
@media (max-width:700px){.sf-talk-next{padding-left:0}}

.sf-talk-card{margin:4px 0 4px 44px;border:1px solid var(--sf-sun-3,#ff5f9e);background:#151016;padding:14px 14px 12px;box-shadow:0 0 16px rgba(255,95,158,.18)}.sf-talk-card small{display:block;font:700 9px "Courier New",Courier,monospace;letter-spacing:.2em;color:var(--sf-sun-3,#ff5f9e);margin-bottom:8px}.sf-talk-card dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:6px 12px;font-size:13px}.sf-talk-card dt{color:#9a9a9a}.sf-talk-card dd{margin:0;color:#fff;word-break:break-word}.sf-talk-card .btns{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.sf-talk-card .btns button{border:1px solid #6d6d6d;background:#17181b;color:#fff;font-size:13px;padding:10px 14px;border-radius:0;cursor:pointer}.sf-talk-card .btns .go{border-color:var(--sf-sun-3,#ff5f9e);font-weight:700}.sf-talk-card .done{margin:0;font-size:13px;color:#fff}
@media (max-width:700px){.sf-talk-card{margin-left:0}}

.sf-talk-ask{display:flex;gap:10px;align-items:baseline;padding:8px 16px 0;border-top:1px solid #2b2d31}.sf-talk-ask small{font:700 9px "Courier New",Courier,monospace;letter-spacing:.2em;color:var(--sf-sun-3,#ff5f9e)}.sf-talk-ask strong{font-size:13px;color:#fff}.sf-talk-ask+.sf-talk-form{border-top:0;padding-top:8px}

/* スマホ：埋め込みチャットは高さ固定をやめ、冒頭の文が必ず見えるように（2026-09-10「スマホで見るとPCで見れてたとこが見れない」） */
@media (max-width:700px){.sf-talk.is-inline{height:auto;max-height:none;min-height:0}.sf-talk.is-inline .sf-talk-list{flex:none;max-height:56vh;min-height:200px}.sf-talk-chips{padding:0 12px 10px}.sf-talk-chips button{font-size:12px;padding:7px 9px}.sf-talk-head{padding:12px 14px}}
.sf-talk.is-inline .sf-talk-list{scroll-behavior:smooth}

/* お問い合わせページ＝チャット画面だけ（2026-09-10 井埜さん「チャット画面だけにしちゃえば」） */
.sf-contact-chat{width:min(860px,92vw)!important;margin:60px auto 80px!important}
.sf-contact-heading-mini{margin:0 0 18px}.sf-contact-heading-mini h1{font-size:clamp(40px,6vw,64px)!important;margin:6px 0 0}
.sf-contact-chat .sf-talk.is-inline{height:auto;max-height:none}.sf-contact-chat .sf-talk.is-inline .sf-talk-list{flex:none;min-height:300px;max-height:58vh}
.sf-contact-chat .sf-contact-note{font-size:11px;line-height:1.9;color:#9a9a9a;margin:14px 0 0}.sf-contact-chat .sf-contact-note a{color:#ddd;text-decoration:underline}
@media (max-width:700px){.sf-contact-chat{width:88vw!important;/* 2026-09-12 他ページと左右の余白を揃える */margin:28px auto 60px!important}.sf-contact-heading-mini{margin-bottom:12px}.sf-contact-chat .sf-talk.is-inline .sf-talk-list{min-height:240px;max-height:52vh}}

/* 候補ボタンは会話が始まったら出さない：display の指定が hidden 属性に勝っていたので打ち消す（2026-09-10 ★2回目） */
.sf-talk-chips[hidden]{display:none!important}

/* スマホのチャットだけの画面（/contact/?talk=app）。2026-09-10 井埜さん「letstalkのボタン押したらスマホの場合チャットだけの画面、webアプリっぽく」 */
@media (max-width:700px){body.sf-talk-app{overflow:hidden}body.sf-talk-app .sf-talk.is-inline{position:fixed;inset:0;z-index:9600;height:100dvh;max-height:none;min-height:0;display:flex;flex-direction:column;border:0;border-radius:0;background:#0f1012;padding-bottom:env(safe-area-inset-bottom)}body.sf-talk-app .sf-talk.is-inline .sf-talk-head{padding:14px 16px;padding-top:calc(14px + env(safe-area-inset-top))}body.sf-talk-app .sf-talk.is-inline .sf-talk-close{display:block}body.sf-talk-app .sf-talk.is-inline .sf-talk-list{flex:1 1 auto;min-height:0;max-height:none;overflow-y:auto;-webkit-overflow-scrolling:touch}body.sf-talk-app .sf-contact-fab,body.sf-talk-app .sf-analog-toggle,body.sf-talk-app .sf-burger{display:none!important}}
