﻿.ai-promotion-chat{display:flex;flex-direction:column;height:100%;width:100%;margin:0;background:#F6F8FC;border-radius:0;box-shadow:none;overflow:hidden}.ai-promotion-chat .chat-header{display:flex;justify-content:flex-start;align-items:center;padding:20px;background:#1847C7;color:white}.ai-promotion-chat .chat-header h3{margin:0;font-size:20px;font-weight:700}.ai-promotion-chat .chat-messages,.ai-promotion-chat #chat-messages{flex:1;overflow-y:auto;padding:20px;background:#F6F8FC}.ai-promotion-chat .chat-messages .message.disclaimer,.ai-promotion-chat #chat-messages .message.disclaimer{background:#FFFFFF !important;border-radius:4px !important;padding:8px !important;margin-bottom:16px}.ai-promotion-chat .chat-messages .message.disclaimer .message-content,.ai-promotion-chat #chat-messages .message.disclaimer .message-content{font-family:'Noto Sans JP', sans-serif !important;font-weight:500 !important;font-style:normal !important;font-size:12px !important;line-height:140% !important;letter-spacing:0 !important;color:#333333 !important}@media (max-width: 640px){.ai-promotion-chat .chat-messages .message.disclaimer .message-content,.ai-promotion-chat #chat-messages .message.disclaimer .message-content{font-size:11px !important}}.ai-promotion-chat .chat-messages .message,.ai-promotion-chat #chat-messages .message{margin-bottom:16px;animation:fadeIn 0.3s ease}.ai-promotion-chat .chat-messages .message.user,.ai-promotion-chat #chat-messages .message.user{display:flex;justify-content:flex-end}.ai-promotion-chat .chat-messages .message.user .message-content-wrapper,.ai-promotion-chat #chat-messages .message.user .message-content-wrapper{max-width:85%}@media (min-width: 641px){.ai-promotion-chat .chat-messages .message.user .message-content-wrapper,.ai-promotion-chat #chat-messages .message.user .message-content-wrapper{max-width:528px}}.ai-promotion-chat .chat-messages .message.user .message-content,.ai-promotion-chat #chat-messages .message.user .message-content{background:#1847C7;color:#FFFFFF;padding:12px 16px;border-radius:18px 18px 4px 18px;word-wrap:break-word;word-break:break-word;overflow-wrap:break-word;font-family:'Noto Sans JP', sans-serif;font-weight:400;font-size:15px;line-height:180%}@media (max-width: 640px){.ai-promotion-chat .chat-messages .message.user .message-content,.ai-promotion-chat #chat-messages .message.user .message-content{font-size:14px}}.ai-promotion-chat .chat-messages .message.assistant,.ai-promotion-chat #chat-messages .message.assistant{display:flex;justify-content:flex-start;align-items:flex-start;gap:12px}.ai-promotion-chat .chat-messages .message.assistant .message-avatar,.ai-promotion-chat #chat-messages .message.assistant .message-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;flex-shrink:0}.ai-promotion-chat .chat-messages .message.assistant .message-content-wrapper,.ai-promotion-chat #chat-messages .message.assistant .message-content-wrapper{max-width:85%}@media (min-width: 641px){.ai-promotion-chat .chat-messages .message.assistant .message-content-wrapper,.ai-promotion-chat #chat-messages .message.assistant .message-content-wrapper{max-width:528px}}.ai-promotion-chat .chat-messages .message.assistant .message-content,.ai-promotion-chat #chat-messages .message.assistant .message-content{background:#E6EBF5;color:#333333;padding:12px 16px;border-radius:18px 18px 18px 4px;word-wrap:break-word;word-break:break-word;overflow-wrap:break-word;box-shadow:0 2px 8px rgba(0,0,0,0.05);font-family:'Noto Sans JP', sans-serif;font-weight:400;font-size:15px;line-height:180%}@media (max-width: 640px){.ai-promotion-chat .chat-messages .message.assistant .message-content,.ai-promotion-chat #chat-messages .message.assistant .message-content{font-size:14px}}.ai-promotion-chat .chat-messages .message.assistant .message-content h1,.ai-promotion-chat .chat-messages .message.assistant .message-content h2,.ai-promotion-chat .chat-messages .message.assistant .message-content h3,.ai-promotion-chat #chat-messages .message.assistant .message-content h1,.ai-promotion-chat #chat-messages .message.assistant .message-content h2,.ai-promotion-chat #chat-messages .message.assistant .message-content h3{margin:0.5em 0;font-weight:700}.ai-promotion-chat .chat-messages .message.assistant .message-content h1,.ai-promotion-chat #chat-messages .message.assistant .message-content h1{font-size:1.5em}.ai-promotion-chat .chat-messages .message.assistant .message-content h2,.ai-promotion-chat #chat-messages .message.assistant .message-content h2{font-size:1.3em}.ai-promotion-chat .chat-messages .message.assistant .message-content h3,.ai-promotion-chat #chat-messages .message.assistant .message-content h3{font-size:1.1em}.ai-promotion-chat .chat-messages .message.assistant .message-content ul,.ai-promotion-chat .chat-messages .message.assistant .message-content ol,.ai-promotion-chat #chat-messages .message.assistant .message-content ul,.ai-promotion-chat #chat-messages .message.assistant .message-content ol{margin:0.5em 0;padding-left:1.5em}.ai-promotion-chat .chat-messages .message.assistant .message-content li,.ai-promotion-chat #chat-messages .message.assistant .message-content li{margin:0.25em 0}.ai-promotion-chat .chat-messages .message.assistant .message-content code,.ai-promotion-chat #chat-messages .message.assistant .message-content code{background:rgba(0,0,0,0.05);padding:2px 4px;border-radius:3px;font-family:monospace;font-size:0.9em}.ai-promotion-chat .chat-messages .message.assistant .message-content pre,.ai-promotion-chat #chat-messages .message.assistant .message-content pre{background:rgba(0,0,0,0.05);padding:8px;border-radius:4px;overflow-x:auto}.ai-promotion-chat .chat-messages .message.assistant .message-content pre code,.ai-promotion-chat #chat-messages .message.assistant .message-content pre code{background:none;padding:0}.ai-promotion-chat .chat-messages .message.assistant .message-content a,.ai-promotion-chat #chat-messages .message.assistant .message-content a{color:#1847C7;text-decoration:underline}.ai-promotion-chat .chat-messages .message.assistant .message-content a:hover,.ai-promotion-chat #chat-messages .message.assistant .message-content a:hover{text-decoration:none}.ai-promotion-chat .chat-messages .message.assistant .message-content p,.ai-promotion-chat #chat-messages .message.assistant .message-content p{margin:0.5em 0}.ai-promotion-chat .chat-messages .message.assistant .message-content p:first-child,.ai-promotion-chat #chat-messages .message.assistant .message-content p:first-child{margin-top:0}.ai-promotion-chat .chat-messages .message.assistant .message-content p:last-child,.ai-promotion-chat #chat-messages .message.assistant .message-content p:last-child{margin-bottom:0}.ai-promotion-chat .chat-messages .message.assistant .message-content hr,.ai-promotion-chat #chat-messages .message.assistant .message-content hr{border:none;border-top:1px solid rgba(0,0,0,0.1);margin:1em 0}.ai-promotion-chat .chat-messages .message.assistant .message-content strong,.ai-promotion-chat .chat-messages .message.assistant .message-content b,.ai-promotion-chat #chat-messages .message.assistant .message-content strong,.ai-promotion-chat #chat-messages .message.assistant .message-content b{font-weight:700}.ai-promotion-chat .chat-messages .message.assistant.streaming .message-content::after,.ai-promotion-chat #chat-messages .message.assistant.streaming .message-content::after{content:'▊';animation:blink 1s infinite}.ai-promotion-chat .chat-messages .message.error .message-content,.ai-promotion-chat #chat-messages .message.error .message-content{background:#ffebee;color:#c62828;padding:12px 16px;border-radius:8px;border-left:4px solid #c62828}.ai-promotion-chat .chat-messages .message.typing-indicator .typing-dots,.ai-promotion-chat #chat-messages .message.typing-indicator .typing-dots{display:inline-flex;align-items:center;gap:4px;padding:12px 16px;background:#E6EBF5;border-radius:18px 18px 18px 4px}.ai-promotion-chat .chat-messages .message.typing-indicator .typing-dots .dot,.ai-promotion-chat #chat-messages .message.typing-indicator .typing-dots .dot{width:8px;height:8px;background:#6B7280;border-radius:50%;-webkit-animation:typingAnimation 1.4s infinite ease-in-out;animation:typingAnimation 1.4s infinite ease-in-out;will-change:transform, opacity}.ai-promotion-chat .chat-messages .message.typing-indicator .typing-dots .dot:nth-child(1),.ai-promotion-chat #chat-messages .message.typing-indicator .typing-dots .dot:nth-child(1){-webkit-animation-delay:-0.32s;animation-delay:-0.32s}.ai-promotion-chat .chat-messages .message.typing-indicator .typing-dots .dot:nth-child(2),.ai-promotion-chat #chat-messages .message.typing-indicator .typing-dots .dot:nth-child(2){-webkit-animation-delay:-0.16s;animation-delay:-0.16s}.ai-promotion-chat .chat-messages .message.typing-indicator .typing-dots .dot:nth-child(3),.ai-promotion-chat #chat-messages .message.typing-indicator .typing-dots .dot:nth-child(3){-webkit-animation-delay:0s;animation-delay:0s}.ai-promotion-chat .chat-messages .message .message-time,.ai-promotion-chat #chat-messages .message .message-time{display:none}.ai-promotion-chat .chat-input-container{background:#F6F8FC;width:100%;max-width:100%;box-sizing:border-box}@media (max-width: 767px){.ai-promotion-chat .chat-input-container .chat-input-form{padding:12px 15px !important}}.ai-promotion-chat .chat-input-container .typing-indicator{display:none;justify-content:center;padding:10px}.ai-promotion-chat .chat-input-container .typing-indicator span{width:8px;height:8px;border-radius:50%;background:#999;margin:0 3px;-webkit-animation:typing 1.4s infinite;animation:typing 1.4s infinite;will-change:transform}.ai-promotion-chat .chat-input-container .typing-indicator span:nth-child(2){-webkit-animation-delay:0.2s;animation-delay:0.2s}.ai-promotion-chat .chat-input-container .typing-indicator span:nth-child(3){-webkit-animation-delay:0.4s;animation-delay:0.4s}.ai-promotion-chat .chat-input-container .chat-input-form{padding:20px 16px;width:100%;max-width:100%;box-sizing:border-box}.ai-promotion-chat .chat-input-container .chat-input-form .input-wrapper{position:relative;display:flex;align-items:flex-end;width:100%;max-width:100%;box-sizing:border-box}.ai-promotion-chat .chat-input-container .chat-input-form input,.ai-promotion-chat .chat-input-container .chat-input-form textarea{flex:1;width:100%;min-width:0;min-height:49px;padding:12px 40px 12px 16px;border:1px solid #e0e0e0;border-radius:8px;font-size:16px;font-family:'Noto Sans JP', sans-serif;outline:none;transition:border-color 0.3s;position:relative;z-index:1;resize:none;overflow:hidden;line-height:1.5;max-width:100%;box-sizing:border-box}.ai-promotion-chat .chat-input-container .chat-input-form input:focus,.ai-promotion-chat .chat-input-container .chat-input-form textarea:focus{border-color:#1847C7}.ai-promotion-chat .chat-input-container .chat-input-form input:disabled,.ai-promotion-chat .chat-input-container .chat-input-form textarea:disabled{background:#f5f5f5;cursor:not-allowed}.ai-promotion-chat .chat-input-container .chat-input-form textarea::-webkit-scrollbar{width:4px}.ai-promotion-chat .chat-input-container .chat-input-form textarea::-webkit-scrollbar-track{background:transparent}.ai-promotion-chat .chat-input-container .chat-input-form textarea::-webkit-scrollbar-thumb{background:#ccc;border-radius:2px}.ai-promotion-chat .chat-input-container .chat-input-form .send-button{position:absolute;right:8px;bottom:8px;width:32px;height:32px;padding:0;background:#1847C7;color:white;border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all 0.2s;z-index:2}.ai-promotion-chat .chat-input-container .chat-input-form .send-button svg{width:24px;height:24px}.ai-promotion-chat .chat-input-container .chat-input-form .send-button svg circle{fill:#1847C7;stroke:none}.ai-promotion-chat .chat-input-container .chat-input-form .send-button svg path{stroke:white}.ai-promotion-chat .chat-input-container .chat-input-form .send-button:hover:not(:disabled){background:#1339A8;transform:scale(1.05)}.ai-promotion-chat .chat-input-container .chat-input-form .send-button:hover:not(:disabled) svg circle{fill:#1339A8}.ai-promotion-chat .chat-input-container .chat-input-form .send-button:disabled{background:#e0e0e0;cursor:not-allowed}.ai-promotion-chat .chat-input-container .chat-input-form .send-button:disabled svg circle{fill:#e0e0e0}.ai-promotion-chat .chat-input-container .chat-input-form .send-button:disabled svg path{stroke:#a0a0a0}.ai-promotion-chat .cta-container{padding:20px;background:linear-gradient(135deg, #ffeaa7 0%, #fdcb6e 100%);border-top:1px solid #fdb94e}.ai-promotion-chat .cta-container .cta-wrapper{text-align:center}.ai-promotion-chat .cta-container .cta-wrapper p{color:#333;margin-bottom:16px;font-weight:500}.ai-promotion-chat .cta-container .cta-wrapper .cta-button{display:inline-block;padding:14px 32px;background:linear-gradient(135deg, #fd79a8 0%, #e84393 100%);color:white;text-decoration:none;border-radius:30px;font-weight:bold;transition:transform 0.2s, box-shadow 0.2s}.ai-promotion-chat .cta-container .cta-wrapper .cta-button:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(232,67,147,0.4)}.ai-promotion-chat .cta-container .cta-wrapper .cta-button.cta-apply{background:linear-gradient(135deg, #667eea 0%, #764ba2 100%)}.ai-promotion-chat .cta-container .cta-wrapper .cta-button.cta-apply:hover{box-shadow:0 6px 16px rgba(102,126,234,0.4)}@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes blink{0%,50%{opacity:1}51%,100%{opacity:0}}@-webkit-keyframes typing{0%,60%,100%{-webkit-transform:translateY(0);transform:translateY(0)}30%{-webkit-transform:translateY(-10px);transform:translateY(-10px)}}@keyframes typing{0%,60%,100%{-webkit-transform:translateY(0);transform:translateY(0)}30%{-webkit-transform:translateY(-10px);transform:translateY(-10px)}}.ai-promotion-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.5);z-index:9999;display:none;align-items:center;justify-content:center;backdrop-filter:blur(4px)}.ai-promotion-modal.show{display:flex;animation:modalFadeIn 0.3s ease-out}.ai-promotion-modal-content{background:white;border-radius:16px;width:90%;max-width:800px;height:80vh;max-height:600px;position:relative;box-shadow:0 20px 60px rgba(0,0,0,0.3);display:flex;flex-direction:column;animation:modalSlideIn 0.3s ease-out}.ai-promotion-modal-header{padding:20px 24px;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.ai-promotion-modal-title{font-size:20px;font-weight:600;color:#1e293b;margin:0}.ai-promotion-modal-close{background:none;border:none;font-size:24px;color:#64748b;cursor:pointer;padding:4px;border-radius:4px;transition:all 0.2s}.ai-promotion-modal-close:hover{background:#f1f5f9;color:#334155}.ai-promotion-modal-body{flex:1;overflow:hidden;padding:0}#ai-promotion-modal-container{height:100%;width:100%;overflow:hidden;background:transparent}#ai-promotion-modal-container .ai-promotion-chat{height:100%;width:100%;border-radius:0;box-shadow:none;background:#F6F8FC;margin:0}@media (max-width: 767px){.ai-promotion-modal{align-items:flex-end}.ai-promotion-modal-content{width:100%;height:85vh;max-height:none;border-radius:16px 16px 0 0;position:relative;bottom:auto;top:auto;animation:modalSlideUp 0.3s ease-out;transform:translateY(100%)}.ai-promotion-modal.show .ai-promotion-modal-content{transform:translateY(0)}.ai-promotion-modal-content.closing{animation:modalSlideDown 0.3s ease-in}.ai-promotion-modal-header{padding:16px 20px}.ai-promotion-modal-title{font-size:18px}.ai-promotion-modal .ai-coaching-container{padding:16px}}@keyframes modalFadeIn{from{opacity:0}to{opacity:1}}@keyframes modalSlideIn{from{opacity:0;transform:scale(0.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes modalSlideUp{from{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes modalSlideDown{from{transform:translateY(0)}to{transform:translateY(100%)}}@media (max-width: 768px){.ai-promotion-chat{height:100%;width:100%;border-radius:0}.ai-promotion-chat .chat-messages .message .message-content-wrapper{max-width:90%}#ai-promotion-modal-container .ai-promotion-chat{height:100%;width:100%}}@media (max-width: 375px){.ai-promotion-chat .chat-input-container .chat-input-form{padding:16px 12px !important}.ai-promotion-chat .chat-input-container .chat-input-form .input-wrapper input{padding:0 40px 0 12px;height:44px;font-size:16px !important}.ai-promotion-chat .chat-input-container .chat-input-form .input-wrapper .send-button{right:8px}.ai-promotion-chat .chat-messages{padding-top:12px !important;padding-left:12px !important;padding-right:12px !important}.ai-promotion-chat .chat-messages .message.user .message-content-wrapper,.ai-promotion-chat .chat-messages .message.assistant .message-content-wrapper{max-width:95%}.ai-promotion-chat .chat-messages .message .message-content{padding:10px 14px}}@supports (-webkit-touch-callout: none){.ai-promotion-chat{-webkit-overflow-scrolling:touch}.ai-promotion-chat .chat-messages{-webkit-overflow-scrolling:touch;padding-bottom:env(safe-area-inset-bottom, 20px)}.ai-promotion-chat .chat-input-container{padding-bottom:env(safe-area-inset-bottom, 0);width:100%;max-width:100vw;overflow-x:hidden;box-sizing:border-box}.ai-promotion-chat .chat-input-container .chat-input-form{width:100%;max-width:100%;box-sizing:border-box}.ai-promotion-chat .chat-input-container .chat-input-form .input-wrapper{width:100%;max-width:100%;display:flex;position:relative;box-sizing:border-box}.ai-promotion-chat .chat-input-container .chat-input-form .input-wrapper input{flex:1;width:100%;min-width:0;max-width:calc(100% - 50px);box-sizing:border-box}.ai-promotion-chat .chat-input-container .chat-input-form .input-wrapper .send-button{flex-shrink:0;position:absolute;right:12px}.ai-promotion-chat .chat-input-container.keyboard-visible{position:fixed;bottom:0;left:0;right:0;z-index:9999}.ai-promotion-chat input[type="text"],.ai-promotion-chat textarea{font-size:16px !important}.ai-promotion-modal-content .ai-promotion-chat{height:100%}.ai-promotion-modal-content .ai-promotion-chat .chat-input-container.keyboard-visible{position:fixed}}#chat-messages .message.disclaimer{background:#FFFFFF !important;border-radius:4px !important;padding:8px !important;margin-bottom:16px !important}#chat-messages .message.disclaimer .message-content{font-family:'Noto Sans JP', sans-serif !important;font-weight:500 !important;font-style:normal !important;font-size:12px !important;line-height:140% !important;letter-spacing:0 !important;color:#333333 !important}@media (max-width: 640px){#chat-messages .message.disclaimer .message-content{font-size:11px !important}}.bot-bubble-white{background-color:#E6EBF5;border-radius:12px;border-top-left-radius:0;padding:16px;box-shadow:0 2px 8px rgba(0,0,0,0.05);word-wrap:break-word;word-break:break-word;overflow-wrap:break-word;max-width:100%;font-weight:400}@media (min-width: 641px){.bot-bubble-white{max-width:528px}}.bot-bubble-white strong,.bot-bubble-white b{font-weight:700}.bot-bubble-white.streaming::after{content:'▊';animation:blink 1s infinite}.bot-bubble-blue{background-color:#1847C7;color:white;border-radius:18px;border-bottom-right-radius:4px;padding:16px;word-wrap:break-word;word-break:break-word;overflow-wrap:break-word;max-width:100%;box-shadow:0 2px 8px rgba(0,0,0,0.1);font-weight:400}@media (min-width: 641px){.bot-bubble-blue{max-width:528px}}.bot-bubble-blue strong,.bot-bubble-blue b{font-weight:700}.typing-indicator-message .animate-pulse{animation:pulse 1.5s cubic-bezier(0.4, 0, 0.6, 1) infinite}@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.5}}.ai-promotion-chat.h-full .chat-input-container{background:#F6F8FC}.ai-promotion-chat.h-full .chat-input-container .chat-input-form{padding:20px 16px;width:100%;max-width:100%;box-sizing:border-box}.ai-promotion-chat.h-full .chat-input-container .chat-input-form .input-wrapper{position:relative;display:flex;align-items:flex-end;width:100%;max-width:100%;box-sizing:border-box}.ai-promotion-chat.h-full .chat-input-container .chat-input-form input,.ai-promotion-chat.h-full .chat-input-container .chat-input-form textarea{flex:1;width:100%;min-width:0;min-height:49px;padding:12px 40px 12px 16px;border:1px solid #e0e0e0;border-radius:8px;font-size:16px;font-family:'Noto Sans JP', sans-serif;outline:none;transition:border-color 0.3s;position:relative;z-index:1;resize:none;overflow:hidden;line-height:1.5;max-width:100%;box-sizing:border-box}.ai-promotion-chat.h-full .chat-input-container .chat-input-form input:focus,.ai-promotion-chat.h-full .chat-input-container .chat-input-form textarea:focus{border-color:#1847C7}.ai-promotion-chat.h-full .chat-input-container .chat-input-form input:disabled,.ai-promotion-chat.h-full .chat-input-container .chat-input-form textarea:disabled{background:#f5f5f5;cursor:not-allowed}.ai-promotion-chat.h-full .chat-input-container .chat-input-form textarea::-webkit-scrollbar{width:4px}.ai-promotion-chat.h-full .chat-input-container .chat-input-form textarea::-webkit-scrollbar-track{background:transparent}.ai-promotion-chat.h-full .chat-input-container .chat-input-form textarea::-webkit-scrollbar-thumb{background:#ccc;border-radius:2px}.ai-promotion-chat.h-full .chat-input-container .chat-input-form .send-button{position:absolute;right:8px;bottom:8px;width:32px;height:32px;padding:0;background:#1847C7;color:white;border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all 0.2s;z-index:2}.ai-promotion-chat.h-full .chat-input-container .chat-input-form .send-button svg{width:24px;height:24px}.ai-promotion-chat.h-full .chat-input-container .chat-input-form .send-button svg circle{fill:#1847C7;stroke:none}.ai-promotion-chat.h-full .chat-input-container .chat-input-form .send-button svg path{stroke:white}.ai-promotion-chat.h-full .chat-input-container .chat-input-form .send-button:hover:not(:disabled){background:#1339A8;transform:scale(1.05)}.ai-promotion-chat.h-full .chat-input-container .chat-input-form .send-button:hover:not(:disabled) svg circle{fill:#1339A8}.ai-promotion-chat.h-full .chat-input-container .chat-input-form .send-button:disabled{background:#e0e0e0;cursor:not-allowed}.ai-promotion-chat.h-full .chat-input-container .chat-input-form .send-button:disabled svg circle{fill:#e0e0e0}.ai-promotion-chat.h-full .chat-input-container .chat-input-form .send-button:disabled svg path{stroke:#a0a0a0}.typing-indicator{display:flex;align-items:center;gap:12px;margin-bottom:16px;animation:fadeIn 0.3s ease}.typing-indicator .message-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;flex-shrink:0}.typing-indicator .typing-dots{background:#E6EBF5;padding:12px 16px;border-radius:18px 18px 18px 4px;box-shadow:0 2px 8px rgba(0,0,0,0.05);display:flex;align-items:center;gap:4px}.typing-indicator .typing-dots .dot{width:8px;height:8px;background:#666;border-radius:50%;-webkit-animation:typingAnimation 1.5s infinite;animation:typingAnimation 1.5s infinite;will-change:transform, opacity}.typing-indicator .typing-dots .dot:nth-child(2){-webkit-animation-delay:0.2s;animation-delay:0.2s}.typing-indicator .typing-dots .dot:nth-child(3){-webkit-animation-delay:0.4s;animation-delay:0.4s}@-webkit-keyframes typingAnimation{0%,60%,100%{-webkit-transform:translateY(0);transform:translateY(0);opacity:0.5}30%{-webkit-transform:translateY(-10px);transform:translateY(-10px);opacity:1}}@keyframes typingAnimation{0%,60%,100%{-webkit-transform:translateY(0);transform:translateY(0);opacity:0.5}30%{-webkit-transform:translateY(-10px);transform:translateY(-10px);opacity:1}}.cta-cards-container{margin-top:16px;display:flex;flex-direction:column;gap:12px}.cta-card{background:white;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,0.1);position:relative}@media (min-width: 641px){.cta-card{width:288px}}@media (max-width: 640px){.cta-card{width:224px}}.cta-card.clickable-card{cursor:pointer;overflow:hidden}a.cta-card-link{text-decoration:none !important;color:inherit !important;display:block}@media (min-width: 641px){a.cta-card-link{width:288px}}@media (max-width: 640px){a.cta-card-link{width:224px}}a.cta-card-link:hover{text-decoration:none !important}a.cta-card-link:visited{color:inherit !important}a.cta-card-link *{text-decoration:none !important}.cta-card-image-container{width:calc(100% - 32px);margin:16px 16px 0 16px;position:relative;overflow:hidden;border-radius:4px;background-color:white}@media (min-width: 641px){.cta-card-image-container{height:100px}}@media (max-width: 640px){.cta-card-image-container{height:auto;max-height:200px}}.cta-card-image{width:100%;height:auto;display:block}@media (min-width: 641px){.cta-card-image{position:absolute;top:0;left:0;width:100%;height:auto;object-fit:cover;object-position:top}}@media (max-width: 640px){.cta-card-image{position:relative;width:100%;height:auto;max-height:200px;object-fit:cover;object-position:center}}.cta-card-content{padding:16px}.cta-card-title{font-family:'Noto Serif JP', serif;font-weight:900;font-size:16px;line-height:140%;letter-spacing:0;color:#1e293b;margin:0 0 8px 0}.cta-card-description{font-family:'Noto Serif JP', serif;font-weight:600;font-size:13px;line-height:140%;letter-spacing:0;color:#64748b;margin:0 0 16px 0}.cta-card-separator{border:none;border-top:1px solid #e5e7eb;margin:16px 0 12px 0}.cta-card-term-name{font-family:'Noto Sans JP', sans-serif;font-weight:400;font-size:12px;line-height:160%;letter-spacing:0;color:#333333;margin-bottom:4px}.cta-card-term-period{font-family:'Noto Sans JP', sans-serif;font-weight:700;font-size:14px;line-height:140%;letter-spacing:0;color:#333333;margin-bottom:16px}.cta-card-button{display:inline-block;width:100%;background:#1847C7;color:#ffffff !important;text-align:center;font-weight:600;padding:12px 20px;border-radius:8px;text-decoration:none !important;transition:background-color 0.2s ease;pointer-events:none;user-select:none;font-size:14px;cursor:pointer}.cta-card-button:hover{background:#1339A8;color:#ffffff !important;text-decoration:none !important}.cta-card-button:active{transform:scale(0.98);text-decoration:none !important}.cta-card-button:visited{color:#ffffff !important;text-decoration:none !important}.cta-card-button:focus{text-decoration:none !important;outline:none}.bot-bubble-white .cta-cards-container{margin-top:12px;padding-top:12px;border-top:1px solid #e5e7eb}.message.email-form-message .message-content{max-width:100%}@media (min-width: 641px){.message.email-form-message .message-content{max-width:528px}}.message.email-form-message #email-collection-form .email-form-input-group{display:flex;flex-direction:column;gap:12px}@media (min-width: 641px){.message.email-form-message #email-collection-form .email-form-input-group{flex-direction:row;align-items:stretch;gap:12px}}.message.email-form-message #email-collection-form .email-form-input,.message.email-form-message #email-collection-form input[type="email"]{width:100%;box-sizing:border-box;color:#333333;transition:border-color 0.2s, box-shadow 0.2s}@media (min-width: 641px){.message.email-form-message #email-collection-form .email-form-input,.message.email-form-message #email-collection-form input[type="email"]{flex:1;min-width:0}}.message.email-form-message #email-collection-form .email-form-input:focus,.message.email-form-message #email-collection-form input[type="email"]:focus{border-color:#1847C7;box-shadow:0 0 0 3px rgba(24,71,199,0.1);outline:none}.message.email-form-message #email-collection-form .email-form-input:hover:not(:focus),.message.email-form-message #email-collection-form input[type="email"]:hover:not(:focus){border-color:#CBD5E1}@media (max-width: 640px){.message.email-form-message #email-collection-form .email-form-input,.message.email-form-message #email-collection-form input[type="email"]{font-size:16px !important}}.message.email-form-message #email-collection-form .email-form-submit,.message.email-form-message #email-collection-form button[type="submit"]{width:100%;transition:all 0.2s}@media (min-width: 641px){.message.email-form-message #email-collection-form .email-form-submit,.message.email-form-message #email-collection-form button[type="submit"]{width:auto;flex-shrink:0;padding:12px 24px}}.message.email-form-message #email-collection-form .email-form-submit:hover:not(:disabled),.message.email-form-message #email-collection-form button[type="submit"]:hover:not(:disabled){background:#1339A8;transform:translateY(-1px);box-shadow:0 4px 12px rgba(24,71,199,0.3)}.message.email-form-message #email-collection-form .email-form-submit:active:not(:disabled),.message.email-form-message #email-collection-form button[type="submit"]:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 6px rgba(24,71,199,0.2)}.message.email-form-message #email-collection-form .email-form-submit:disabled,.message.email-form-message #email-collection-form button[type="submit"]:disabled{cursor:not-allowed;opacity:0.6}.message.email-form-message .email-form-error{animation:shake 0.3s ease;font-family:'Noto Sans JP', sans-serif;font-weight:500;font-size:12px;line-height:140%;letter-spacing:0;color:#FF382B;margin-top:8px}.message.email-form-message .email-form-input:disabled,.message.email-form-message input[type="email"]:disabled{background-color:#F5F5F5 !important;color:#999999 !important;cursor:not-allowed !important;border-color:#E2E8F0 !important}.message.email-form-message .email-form-submit:disabled,.message.email-form-message button[type="submit"]:disabled{background-color:#E0E0E0 !important;color:#999999 !important;cursor:not-allowed !important;opacity:1 !important}.message.email-form-message .email-form-submit:disabled:hover,.message.email-form-message button[type="submit"]:disabled:hover{background-color:#E0E0E0 !important;transform:none !important;box-shadow:none !important}.ai-promotion-chat #email-collection-form .email-form-submit,.ai-promotion-chat #email-collection-form button[type="submit"],.ai-promotion-chat .email-form-message #email-collection-form .email-form-submit,.ai-promotion-chat .email-form-message #email-collection-form button[type="submit"]{position:static !important;width:100% !important;height:auto !important;border-radius:8px !important;padding:12px !important;display:block !important;z-index:auto !important;right:auto !important;bottom:auto !important}@media (min-width: 641px){.ai-promotion-chat #email-collection-form .email-form-submit,.ai-promotion-chat #email-collection-form button[type="submit"],.ai-promotion-chat .email-form-message #email-collection-form .email-form-submit,.ai-promotion-chat .email-form-message #email-collection-form button[type="submit"]{width:auto !important;flex-shrink:0 !important;padding:12px 24px !important}}.ai-promotion-chat #email-collection-form .email-form-submit:hover:not(:disabled),.ai-promotion-chat #email-collection-form button[type="submit"]:hover:not(:disabled),.ai-promotion-chat .email-form-message #email-collection-form .email-form-submit:hover:not(:disabled),.ai-promotion-chat .email-form-message #email-collection-form button[type="submit"]:hover:not(:disabled){transform:translateY(-1px) !important;box-shadow:0 4px 12px rgba(24,71,199,0.3) !important}.ai-promotion-chat #email-collection-form .email-form-submit:active:not(:disabled),.ai-promotion-chat #email-collection-form button[type="submit"]:active:not(:disabled),.ai-promotion-chat .email-form-message #email-collection-form .email-form-submit:active:not(:disabled),.ai-promotion-chat .email-form-message #email-collection-form button[type="submit"]:active:not(:disabled){transform:translateY(0) !important;box-shadow:0 2px 6px rgba(24,71,199,0.2) !important}@keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}@media (max-width: 640px){.bot-bubble-white .cta-card{background:white;box-shadow:0 2px 8px rgba(0,0,0,0.1);border-radius:12px}.bot-bubble-white .cta-card-content{background:white;border-radius:0 0 12px 12px}}.chat-progress-bar{height:8px;background-color:#C4C7CC;margin:16px 16px 16px 16px;border-radius:4px;overflow:hidden;flex-shrink:0;z-index:10;box-shadow:0 2px 8px rgba(0,0,0,0.1)}.chat-progress-bar-fill{height:100%;background-color:#1847C7;transition:width 0.3s ease;border-radius:4px}.chat-messages-wrapper{display:flex;flex-direction:column;overflow:hidden;flex:1;min-height:0}@media (min-width: 641px){main:has(.ai-promotion-chat.h-full){overflow:hidden !important;display:flex;flex-direction:column;flex:1;min-height:0}}
