@import url(https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap);#chat-container{opacity:0;transform:translateY(20px);transition:opacity .8s ease , transform .8s ease;display:none;position:fixed;bottom:30px;right:20px;height:73vh;width:32vw;min-width:380px;background:#fff;border-radius:16px;box-shadow:0 4px 16px rgba(0,0,0,.3);overflow:hidden;flex-direction:column;font-family:sans-serif;z-index:9999}#chat-container.show{opacity:1;transform:translateY(0);display:flex}.diagnosis-option-btn{display:block;text-align:left;background:#fff;color:#2d8bd0;padding:.3rem;border-radius:5px;margin-bottom:5px;font-weight:700;font-size:.8rem;border:solid 1px #0788c1}.progress-container{width:100%;background-color:#e0e0e0;border-radius:12px;overflow:hidden;margin:10px 0;box-shadow:0 2px 4px rgba(0,0,0,.1);position:relative;height:24px}.progress-bar{height:100%;background:linear-gradient(to right,#4caf50,#8bc34a);border-radius:12px;text-align:right;transition:width 1.5s ease-in-out;box-shadow:0 0 10px rgba(0,0,0,.2)}.progress-text{position:absolute;width:100%;top:50%;left:50%;transform:translate(-50%,-50%);color:#333;font-weight:bold;font-size:14px;text-shadow:1px 1px 2px rgba(255,255,255,.5);text-align:center}.progress-bar-start{width:0%}#quick-questions{margin:5px 0}.faq-link{width:100%;background:#fff;color:#2d8bd0;text-align:center;padding:.3rem;border-radius:5px;margin-bottom:5px;font-weight:700;font-size:.8rem;border:solid 1px #0788c1}#chat-launcher{position:fixed;bottom:20px;right:20px;color:#fff;padding:0;border-radius:24px;cursor:pointer;font-weight:bold;z-index:9999;font-family:sans-serif;max-width:150px}#chat-header{background:#273a60;color:#fff;padding:10px 14px;font-weight:bold;position:relative;display:flex;align-items:center;justify-content:space-between}#chat-header button{background:none;border:none;color:#fff;font-size:14px;cursor:pointer;margin-left:8px;padding:4px 8px;border-radius:4px}#chat-header #close-btn{font-size:18px;margin-left:auto}#chat-container.recruit-mode{background-color:#fff}#chat-container.recruit-mode #chat-header{background:#de223f}#chat-container.recruit-mode input,#chat-container.recruit-mode textarea{background-color:#f9f4f5;border-color:#de223f}#chat-messages{flex:1;padding:14px;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.chat-row{display:flex;align-items:flex-end;gap:10px}.from-user{flex-direction:row-reverse}.diagnosis-options{margin-top:10px}.chat-bubble{max-width:80%;font-size:clamp(1.4rem,1.5vw,1.5rem);background-color:#e7f0f6;padding:1.2rem 1.5rem;font-size:14px;line-height:1.66;position:relative;font-family:"Noto Sans JP",sans-serif;font-weight:500}.chat-btn-blue{width:100%;background:#fff;color:#2d8bd0;text-align:center;padding:.3rem;border-radius:5px;margin-bottom:5px;font-weight:700;font-size:.8rem;border:solid 1px #0788c1}.chat-link-btn{color:#0d6efd}.chat-link-bosyu-btn{width:100%;display:inline-block;padding:12px 24px;margin-top:15px;font-size:1.1em;font-weight:bold;color:#fff;background-color:#5b7bff;border:none;border-radius:50px;text-decoration:none;text-align:center;transition:all .3s ease;box-shadow:0 4px 6px rgba(0,0,0,.1)}.chat-link-bosyu-btn:hover{background-color:#0056b3;transform:translateY(-3px);box-shadow:0 7px 10px rgba(0,0,0,.15)}.chat-link-bosyu-btn:active{background-color:#004085;transform:translateY(0);box-shadow:0 4px 6px rgba(0,0,0,.1)}.chat-btn-shindan{width:100%;background:#04af7a;color:#fff;text-align:center;padding:.3rem;border-radius:5px;margin-bottom:5px;margin-top:10px;font-weight:700;font-size:.8rem;display:block;text-decoration:none;border:none}.user-bubble{background:#ffeded;box-shadow:2px 2px 10px 4px rgba(0,0,0,.05);border-radius:16px 16px 0}.bot-bubble{background-color:#e7f0f6;box-shadow:2px 2px 10px 4px rgba(0,0,0,.05);border-radius:16px 16px 16px 0}.chat-avatar{width:46px;height:46px;border-radius:50%;background:#fff}#chat-input{display:none;padding:10px;background:#fff;border-top:1px solid #ccc;flex-direction:row}#chat-input input{flex:1;padding:8px;border-radius:6px;border:1px solid #ccc}#chat-input button{margin-left:6px;padding:8px 14px;background:#007bff;color:#fff;border:none;border-radius:6px;cursor:pointer}.faq-links{color:#0788c1;text-decoration:underline}.feedback-row{margin-left:56px}.chat-btn-red{margin:4px 4px 0 0;padding:4px;width:60px;color:#fff;background:#ff6674;border-radius:6px;cursor:pointer;font-size:14px;border:none}.chat-btn-green{margin:4px 4px 0 0;padding:4px;width:60px;color:#fff;background:#4caf50;border-radius:6px;cursor:pointer;font-size:14px;border:none}.feedback-btn:hover{background-color:#d0e9ff}.fade-in{animation:fadeInUp .5s ease forwards}@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}.faq-example-btn{color:#0d6efd;text-decoration:underline;text-align:left;background:none;border:none}.example-block small{font-size:.6rem}.chat-message.bot .privacy-policy-link{font-size:.6rem;margin-top:5px;margin-bottom:5px;display:inline-block;color:#1976d2;text-decoration:none}#chat-footer{text-align:center;margin:0 auto;padding:2px 10px}#set-patient-button-in-chat,#set-recruit-button-in-chat{font-size:12px;padding:2px;border:solid 1px #dedede;background:#fff}.chat-link-btn{width:100%;background:#fff;color:#2d8bd0;text-align:center;padding:.3rem;border-radius:5px;margin-bottom:5px;font-weight:700;font-size:.8rem;border:solid 1px #0788c1}.chat-link-btn:hover{background-color:#0788c1;color:#fff}.chat-row.feedback-row .chat-bubble button{margin-top:10px;width:100%;box-sizing:border-box}.chat-bubble img{max-width:100%;height:auto;display:block;margin:10px 0;border-radius:5px}.chat-bubble.typing-loader-bubble{background-color:#e0e0e0;color:#e0e0e0;border-radius:20px;padding:8px 15px;font-size:14px;max-width:70%;word-wrap:break-word;box-shadow:0 1px 1px rgba(0,0,0,.1);display:inline-flex;align-items:center;justify-content:center;min-width:50px}.typing-indicator{display:inline-block;width:8px;height:8px;background-color:#666;border-radius:50%;animation:bounce 1s infinite ease-in-out;margin:0 2px;opacity:.7}.chat-bubble .typing-indicator:nth-child(1) {animation-delay:0s}.chat-bubble .typing-indicator:nth-child(2) {animation-delay:.15s}.chat-bubble .typing-indicator:nth-child(3) {animation-delay:.3s}@keyframes bounce {
    0%, 80%, 100% { transform: translateY(0); }
    40% { transform: translateY(-5px); }
}@media screen and (max-width:480px){#chat-container{bottom:0;right:0;width:100vw;height:100dvh}#chat-launcher{max-width:120px}}#fixed-buttons-container{position:fixed;bottom:-100px;left:0;width:100%;display:flex;justify-content:center;gap:15px;padding:10px;box-sizing:border-box;z-index:1000;transition:bottom .5s ease-out , transform .5s ease-out;flex-wrap:wrap;padding:15px}#fixed-buttons-container.show{bottom:0;transform:translateY(0)}#fixed-buttons-container.hide{bottom:-100px;transform:translateY(20px)}.fixed-button{flex:1;max-width:48%;display:flex;column-gap:8px;flex-direction:row;align-items:center;justify-content:center;padding:12px 10px;background-color:#007bff;color:#fff;text-decoration:none;border-radius:8px;font-size:15px;box-shadow:0 4px 10px rgba(0,0,0,.2);transition:background-color .3s ease , transform .2s ease , box-shadow .3s ease;text-align:center;font-family:"Noto Sans JP",sans-serif}.fixed-button:hover{background-color:#0056b3;box-shadow:0 6px 15px rgba(0,0,0,.3)}.fixed-button:active{transform:translateY(0);box-shadow:0 2px 5px rgba(0,0,0,.2)}.button-icon{width:30px;height:30px}.btn-kyuujin p,.btn-kanjya p{margin-bottom:0}.btn-kyuujin{box-shadow:0 4px 12px rgba(0,0,0,.2);border:none;background-color:#fff;color:#e75785;border:.08rem solid #e75785;line-height:1.1}.btn-kanjya{box-shadow:0 4px 12px rgba(0,0,0,.2);border:none;background-color:#fff;color:#1ca987;border:.08rem solid #1ca987;line-height:1.1}.btn-kanjya:hover{background:#1ca987;color:#fff}.btn-kyuujin:hover{background:#e75785;color:#fff}.btn-kanjya-text{font-size:12px;background:#1ca987;color:#fff;padding:2px 10px;display:inline;margin-bottom:3px;position:absolute;top:6px}.btn-kyuujin-text{font-size:12px;background:#e75785;color:#fff;padding:2px 10px;display:inline;margin-bottom:3px;position:absolute;top:6px}@media (min-width:768px){#fixed-buttons-container{justify-content:center}.fixed-button{flex:none;font-size:15px;padding:15px 30px;flex-direction:row}.button-icon{margin-right:10px;margin-bottom:0}}