@import url(https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap);*{box-sizing:border-box}#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:"Noto Sans JP",sans-serif!important;z-index:9999}#wpfooter{position:relative!important}#chat-container.show{opacity:1;transform:translateY(0);display:flex}.diagnosis-option-btn{display:block;text-align:left;background:#fff;color:#2d8bd0;padding:.5rem .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:.5rem .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:100%;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:.5rem .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:80%;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:80%;display:inline-block;padding:12px 24px;margin-top:15px;font-size:1.1em;font-weight:bold;color:#fff;background-color:#04af7a;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)}.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}.chat-btn-gray{margin:4px 4px 0 0;padding:4px;width:60px;color:#333;background:#eee;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;line-height:1.66}.example-block small{font-size:.6rem}.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:.5rem .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,.btn-questionnaire 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-questionnaire{box-shadow:0 4px 12px rgba(0,0,0,.2);border:none;background-color:#fff;color:#575ce7;border:.08rem solid #575ce7;line-height:1.1}.btn-kanjya:hover{background:#1ca987;color:#fff}.btn-kyuujin:hover{background:#e75785;color:#fff}.btn-questionnaire:hover{background:#575ce7;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}.btn-questionnaire-text{font-size:12px;background:#575ce7;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}}.form-input-row{margin:15px 0}.form-input-bubble{background:#fff;border:2px solid #e0e0e0;border-radius:12px;padding:20px;max-width:100%}.form-input-field{width:100%;padding:10px;font-size:16px;border:2px solid #ddd;border-radius:8px;box-sizing:border-box;transition:border-color .3s ease , box-shadow .3s ease;font-family:inherit}.form-input-field:focus{outline:none;border-color:#4a90e2;box-shadow:0 0 0 3px rgba(74,144,226,.1)}.form-input-field:valid{border-color:#4caf50}.form-input-field:invalid{border-color:#d32f2f}select.form-input-field{padding:0 10px;font-size:16px;border:2px solid #ddd;border-radius:8px;box-sizing:border-box;transition:border-color .3s ease , box-shadow .3s ease;font-family:inherit}.form-textarea{resize:vertical;min-height:100px;line-height:1.6}select.form-input-field{cursor:pointer;appearance:none;background-image:url(data:image/svg+xml,%3Csvg\ xmlns=\'http://www.w3.org/2000/svg\'\ width=\'12\'\ height=\'12\'\ viewBox=\'0\ 0\ 12\ 12\'%3E%3Cpath\ fill=\'%23333\'\ d=\'M6\ 9L1\ 4h10z\'/%3E%3C/svg%3E);background-repeat:no-repeat;background-position:right 15px center;padding-right:40px}.form-input-validation{color:#d32f2f;font-size:13px;margin-top:8px;padding:8px 12px;background:#ffebee;border-radius:6px;display:none;animation:fadeIn .3s ease}.form-input-actions{margin-top:15px;justify-content:center}.form-submit-btn{width:100%;padding:5px;font-size:16px}.form-submit-btn-gray{width:100%;font-size:14px;padding:5px}.form-summary{background:#f9f9f9;padding:20px;border-radius:10px;margin:15px 0;border-left:4px solid #4a90e2}.form-summary-item{margin-bottom:12px;padding:10px;background:#fff;border-radius:6px;line-height:1.6}.form-summary-item strong{color:#333;display:block;min-width:120px;font-weight:600}.form-input-field:focus{animation:inputFocus .3s ease}@keyframes inputFocus {
    0% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.02);
    }
    100% {
        transform: scale(1);
    }
}.form-input-actions button{transition:all .3s ease}.form-input-actions button:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.15)}.form-input-actions button:active{transform:translateY(0)}@media (max-width:600px){.form-input-bubble{padding:15px;max-width:95%}.form-input-field{font-size:16px}.form-input-actions{flex-direction:column}.form-input-actions button{width:100%}.form-summary-item strong{display:block;margin-bottom:5px}}.form-input-field::placeholder{color:#999;opacity:1}.form-input-field:focus::placeholder{opacity:.5}@keyframes shake {
    0%, 100% {
        transform: translateX(0);
    }
    10%, 30%, 50%, 70%, 90% {
        transform: translateX(-5px);
    }
    20%, 40%, 60%, 80% {
        transform: translateX(5px);
    }
}.form-input-field:invalid:not(:placeholder-shown) {animation:shake .5s ease}input[type="date"].form-input-field{position:relative}input[type="date"].form-input-field::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.6;transition:opacity .3s ease}input[type="date"].form-input-field::-webkit-calendar-picker-indicator:hover{opacity:1}@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}.form-input-validation{animation:fadeIn .3s ease}.form-input-field:disabled{background-color:#f5f5f5;cursor:not-allowed;opacity:.6}.form-required-mark{color:#d32f2f;margin-left:4px;font-weight:bold}.form-progress-container{margin:10px 0;padding:10px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.1)}.form-progress-container .progress-container{width:100%;background-color:rgba(255,255,255,.3);border-radius:12px;overflow:hidden;height:8px;box-shadow:inset 0 1px 3px rgba(0,0,0,.2)}.form-progress-container .progress-bar{height:100%;background:linear-gradient(to right,#4caf50,#8bc34a);border-radius:12px;transition:width .5s ease;box-shadow:0 0 10px rgba(76,175,80,.5)}.form-progress-container span{color:#fff;font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.2)}.form-progress-fixed{position:sticky;top:0;z-index:100;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);padding:12px 15px;box-shadow:0 2px 8px rgba(0,0,0,.15)}.form-progress-info{display:flex;justify-content:space-between;margin-bottom:8px;color:#fff;font-size:13px;font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.2)}.progress-bar-container{width:100%;background-color:rgba(255,255,255,.3);border-radius:12px;overflow:hidden;height:6px;box-shadow:inset 0 1px 3px rgba(0,0,0,.2)}.progress-bar-fill{height:100%;background:linear-gradient(to right,#4caf50,#8bc34a);border-radius:12px;transition:width .5s ease;box-shadow:0 0 10px rgba(76,175,80,.5)}