:root{color:#333;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fffaf5;font-family:Hiragino Kaku Gothic ProN,Hiragino Sans,Meiryo,sans-serif;font-weight:400;line-height:1.6}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}body,#root{min-height:100vh}:root{color:#3a3434;background:#fff9f4;font-family:Hiragino Kaku Gothic ProN,Hiragino Sans,Meiryo,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}.chat-test-page{background:radial-gradient(circle at 20% 18%,#ffffffe6,#0000 26%),linear-gradient(120deg,#f9e7d5e6,#fffaf3f2 42%,#eef8f8cc);place-items:center;min-height:auto;padding:0;display:grid;position:relative;overflow:visible}.chat-widget{z-index:3;background:#fff;border:0 solid #fff;flex-direction:column;width:min(400px,100vw - 32px);max-height:min(720px,100vh - 40px);display:flex;box-shadow:0 24px 80px #5c463238}.chat-header{color:#f6740a;text-align:center;background:#fffaf6;border-bottom:1px solid #fdc27d;justify-content:center;align-items:center;padding:14px 18px 12px;display:flex}.chat-header span{letter-spacing:.2em;font-size:13px;display:block}.chat-header strong{letter-spacing:.08em;font-size:22px;display:block}.avatar,.bot-avatar{color:#6d9fa7;background:#e8f7f9;border-radius:50%;flex:none;place-items:center;font-weight:800;display:grid}.avatar{border:1px solid #b9d9df;width:40px;height:40px}.bot-avatar{width:30px;height:30px;font-size:13px;overflow:hidden}.bot-avatar img{object-fit:cover;width:100%;height:100%;display:block}.chat-progress{z-index:5;color:#f6740a;background:#fff;grid-template-columns:auto 1fr;gap:6px 18px;padding:10px 20px 12px;font-size:13px;font-weight:700;display:grid;position:sticky;top:0}.chat-progress span:nth-child(2){text-align:center;letter-spacing:2px}.progress-track{background:#efdccd;border-radius:999px;grid-column:1/-1;height:10px;overflow:hidden}.progress-track div{border-radius:inherit;background:#f88b1f;height:100%;transition:width .25s}.chat-body{background:#fff7ea;flex:1;min-height:0;padding:0 9px 38px;overflow-y:auto}.chat-row{align-items:flex-start;gap:8px;margin-bottom:10px;display:flex}.chat-row.bot:not(.image-message){animation:.45s both chatSlideFadeIn}.chat-row.user{justify-content:flex-end}.completed-exchange{border-bottom:1px solid #f0e6dd;margin:0 0 18px;padding:0 0 16px}.completed-exchange .chat-row{margin-bottom:8px}.chat-bubble{color:#4d4d4d;background:#fff;border-radius:3px;max-width:338px;padding:11px 14px;font-size:17px;font-weight:600;line-height:1.7}.image-message{margin:0;animation:.55s both softPopIn;display:block}.intro-banner,.inner-button-message{animation-delay:0s}.chat-image-bubble{cursor:default;background:#fff0;border:0;border-radius:0;width:100%;padding:0;position:relative;overflow:hidden}.video-chatbot-trigger{cursor:pointer}.chat-image-bubble img{width:100%;height:auto;display:block}.inner-button-message .floating-video-wrapper{z-index:2;border:3px solid #fff;border-radius:50%;width:21%;height:63%;position:absolute;top:46%;left:12px;overflow:hidden;transform:translateY(-36%)}.inner-button-message .floating-video-wrapper video{object-fit:cover;width:100%;height:100%;display:block}.exit-modal-overlay{z-index:1900;background:#3a3434b8;justify-content:center;align-items:center;padding:20px;animation:.25s exitModalFadeIn;display:flex;position:fixed;inset:0}@keyframes exitModalFadeIn{0%{opacity:0}to{opacity:1}}.exit-modal{background:0 0;width:min(360px,100%);max-height:min(90vh,640px);animation:.3s exitModalSlideIn;position:relative;overflow:hidden}@keyframes exitModalSlideIn{0%{opacity:0;transform:translateY(16px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.exit-modal-close{z-index:2;color:#6d5f57;cursor:pointer;background:#ffffffeb;border:none;border-radius:50%;place-items:center;width:36px;height:36px;font-size:1.4rem;line-height:1;display:grid;position:absolute;top:10px;right:10px}.exit-modal-image{width:100%;height:auto;display:block}.exit-modal-media{aspect-ratio:1104/1508;width:100%;position:relative}.exit-modal-hotspots{position:absolute;inset:0}.exit-modal-hotspot{cursor:pointer;background:0 0;border:none;margin:0;padding:0;position:absolute}.exit-modal-hotspot-later{width:27%;height:6.8%;bottom:2.2%;left:4.5%}.exit-modal-hotspot-line{width:59.5%;height:6.8%;bottom:2.2%;left:35.5%}.video-chatbot-modal{z-index:2000;background:#ffffff8c;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.video-chatbot-modal.active{display:flex}.video-chatbot-modal-content{background:#1a1a2e;border-radius:1.5rem;width:90%;max-width:380px;max-height:90vh;animation:.3s videoModalSlideIn;position:relative;overflow:hidden;box-shadow:0 25px 50px -12px #ffffff80}@keyframes videoModalSlideIn{0%{opacity:0;transform:translateY(20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.video-chatbot-container{flex-direction:column;display:flex}.video-chatbot-video-wrapper{aspect-ratio:9/16;background:#000;width:100%;position:relative;overflow:hidden}.video-chatbot-video-wrapper>video{object-fit:cover;cursor:pointer;width:100%;height:100%;display:block}.video-chatbot-side-controls{z-index:10;flex-direction:column;gap:.5rem;display:flex;position:absolute;top:1rem;right:1rem}.video-control-button{color:#fff;cursor:pointer;background:#00000080;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:background .3s;display:flex}.video-control-button:hover{background:#000000b3}.video-control-button svg{width:20px;height:20px}.video-control-button.speed{font-size:.85rem;font-weight:600}.video-control-button.subtitles{letter-spacing:.02em;font-size:.75rem;font-weight:700}.video-control-button.subtitles.off{opacity:.55}.video-control-button.close{place-items:center;padding:0 0 4px;font-size:1.25rem;line-height:1;display:grid}.video-center-play-button{color:#fff;cursor:pointer;opacity:0;pointer-events:none;background:#0009;border:0;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;transition:all .3s;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.video-center-play-button.visible{opacity:1;pointer-events:auto}.video-center-play-button:hover{background:#000c;transform:translate(-50%,-50%)scale(1.1)}.video-center-play-button svg{width:28px;height:28px;margin-left:4px}.video-chatbot-subtitle{z-index:6;color:#fff;text-align:center;text-shadow:0 1px 2px #00000059;pointer-events:none;background:#00000073;border-radius:.5rem;width:80%;margin:0 auto;padding:.35rem .85rem;font-size:.8rem;font-weight:600;line-height:1.55;position:absolute;bottom:33%;left:1rem;right:1rem}.video-chatbot-choices{z-index:10;background:linear-gradient(#0000 0%,#1a1a2ef2 40%,#1a1a2e 100%);flex-direction:column;gap:.5rem;padding:1rem 1rem 1.5rem;display:flex;position:absolute;bottom:0;left:0;right:0}.video-choice-button,.video-action-button{text-align:center;cursor:pointer;border-radius:.5rem;width:100%;padding:.65rem 1rem;font-size:.9rem;transition:all .2s}.video-choice-button{color:#1f2937;background:#fff;border:1px solid #e5e7eb;font-weight:500}.video-choice-button:hover{background:#f3f4f6;border-color:#d1d5db}.video-choice-button.selected,.video-action-button{color:#fff;background:#fa9928;border:0;font-weight:600}.video-action-button:hover{background:#d87531}.video-chatbot-progress-container{z-index:5;background:#fff3;height:3px;position:absolute;bottom:0;left:0;right:0}.video-chatbot-progress-bar{background:#e0a06f;width:0%;height:100%;transition:width .1s linear}@media (width<=768px){.video-chatbot-modal-content{width:95%;max-width:340px}}@media (height<=700px){.video-chatbot-video-wrapper{aspect-ratio:9/14}.video-chatbot-choices{padding:.75rem .75rem 1rem}.video-choice-button,.video-action-button{padding:.65rem 1rem;font-size:.9rem}}.user-bubble{color:#fff;background:#fa9928}.chat-input-card{margin-top:8px;padding:0 4px 8px;animation:.45s both softPopIn}.chat-question-title{color:#3c3c3c;margin:12px 0 8px;font-size:15px;font-weight:800}.date-choice-section{border-top:1px solid #f0e6dd;margin-top:18px;padding-top:14px}.slot-status{color:#7b6759;background:#fff4ea;border:1px solid #ebd1bb;border-radius:3px;margin:0 0 12px;padding:10px 12px;font-size:13px;font-weight:700;line-height:1.6}.slot-status.error{color:#c94350;background:#fff5f5;border-color:#e8b5a8}.calendar-card{background:#fff;border:1px solid #e0a06f;position:relative;overflow:hidden}.calendar-header{color:#fff;text-align:center;background:#fa9928;grid-template-columns:44px 1fr 44px;align-items:center;font-weight:800;display:grid}.calendar-header button{color:#fff;cursor:pointer;background:0 0;border:0;height:40px;font-size:36px;line-height:1}.calendar-grid{grid-template-columns:repeat(7,1fr);display:grid}.day-labels{color:#555;text-align:center;background:#fff;border-bottom:1px solid #ecd9c7;font-size:13px}.day-labels span{padding:8px 0}.calendar-day{color:#858585;background:#dfe5e8;border:0;min-height:34px}.calendar-day.available{color:#333;cursor:pointer;background:#fff}.calendar-loading-overlay{z-index:4;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);background:#fffaf6c7;place-items:center;display:grid;position:absolute;inset:40px 0 0}.dots{justify-content:center;align-items:center;display:flex}.dots .dot{background-color:#fa9928;border-radius:50%;width:12px;height:12px;margin:0 5px;animation:1.5s ease-in-out infinite dot-pulse}.dots .dot:first-child{animation-delay:0s}.dots .dot:nth-child(2){animation-delay:.2s}.dots .dot:nth-child(3){animation-delay:.4s}@keyframes dot-pulse{0%,80%,to{opacity:.35;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.calendar-day.selected,.time-grid button.selected,.choice-group button.selected{color:#fff;background:#fa9928}.calendar-day.selected{background:#ffc581}.time-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.time-grid button,.choice-group button{color:#5b5555;cursor:pointer;background:#fff;border:1px solid #e4c8af;border-radius:4px;padding:11px 12px}.chat-fields{gap:16px;display:grid}.chat-fields label,.choice-group legend{color:#3c3c3c;gap:8px;font-size:14px;font-weight:800;display:grid}.chat-fields input,.chat-fields select{color:#333;background:#fff;border:1px solid #e4c8af;border-radius:4px;width:100%;min-height:44px;padding:10px 12px}.chat-fields input:focus,.chat-fields select:focus,.choice-group button:focus-visible,.time-grid button:focus-visible,.calendar-day:focus-visible,.primary-button:focus-visible,.secondary-button:focus-visible,.line-complete-button:focus-visible{border-color:#d87531;outline:none}.split-fields,.triple-fields{gap:8px;display:grid}.split-fields{grid-template-columns:repeat(2,1fr)}.triple-fields{grid-template-columns:1.15fr .9fr .9fr}.choice-group{border:0;grid-template-columns:repeat(3,1fr);gap:8px;margin:0;padding:0;display:grid}.choice-group legend{grid-column:1/-1}.choice-group.vertical{grid-template-columns:1fr 1fr}.error,.choice-group.error,.time-grid.has-error{outline-offset:2px;outline:2px solid #d87531}.error-text{color:#c94350;margin:8px 0 0;font-size:12px;font-weight:700}.confirm-card{background:#fff;border:1px solid #ebd1bb;padding:16px}.confirm-card dl{gap:12px;margin:0 0 18px;display:grid}.confirm-card div{gap:4px;display:grid}.confirm-card dt{color:#fa9928;font-size:12px;font-weight:800}.confirm-card dd{color:#333;margin:0;font-size:14px}.line-complete-button{color:#fff;text-align:center;cursor:pointer;background:#06c755;border:0;width:100%;padding:14px 16px;font-weight:800;text-decoration:none;display:block}.line-complete-button[aria-disabled=true]{opacity:.72;cursor:wait;pointer-events:none}.confirm-submit-error{margin:0 0 12px}.after-hours-notice{border-radius:6px;margin:0 0 14px;padding:12px 0;font-size:13px;line-height:1.6}.after-hours-notice-hours{color:#6b4a2e}.after-hours-notice-hours p{margin:0}.after-hours-notice-hours p+p{margin-top:6px}.confirm-note{color:#888;text-align:center;margin:10px 0 0;font-size:12px}.date-choice-section+.date-choice-section{margin-top:18px}.second-preferred-toggle{color:#9b6c48;cursor:pointer;background:#fff;border:1px solid #e8c9a8;border-radius:5px;width:100%;min-height:42px;margin-top:12px;padding:10px 16px;font-weight:800;display:block}.second-preferred-toggle:hover{background:#fff7ea}.second-preferred-toggle:focus-visible{outline:none;box-shadow:0 0 0 2px #f6831859}.second-preferred-skip{color:#9b6c48;cursor:pointer;background:#f2e2d2;border:0;border-radius:5px;width:100%;min-height:42px;margin-top:12px;padding:10px 16px;font-weight:800;display:block}.second-preferred-skip:hover{background:#e8d4c0}.second-preferred-skip:focus-visible{outline:none;box-shadow:0 0 0 2px #f6831859}.consultation-step label{display:block}.consultation-notes{width:100%;font:inherit;resize:vertical;box-sizing:border-box;border:1px solid #e8c9a8;border-radius:5px;min-height:120px;margin-top:8px;padding:12px;line-height:1.6}.consultation-notes:focus{outline-offset:2px;outline:2px solid #d87531}.consultation-skip-button{color:#9b6c48;cursor:pointer;background:#f2e2d2;border:0;border-radius:5px;width:100%;min-height:42px;margin-top:12px;padding:10px 16px;font-weight:800;display:block}.consultation-skip-button:hover{background:#e8d4c0}.privacy-consent{border-top:1px solid #f0e0cf;margin-bottom:14px;padding:14px 0 0}.privacy-consent-text{color:#555;margin:0 0 12px;font-size:13px;line-height:1.7}.privacy-consent-text a{color:#d87531;font-weight:700}.privacy-consent-checkbox{color:#333;cursor:pointer;align-items:flex-start;gap:8px;font-size:14px;line-height:1.5;display:flex}.privacy-consent-checkbox input{flex-shrink:0;margin-top:3px}.privacy-consent-checkbox.error{color:#c0392b}.chat-actions{background:#fff7ea;gap:10px;padding:14px 18px 60px;animation:.45s both softPopIn;display:flex}.primary-button,.secondary-button{cursor:pointer;border:0;border-radius:5px;min-height:42px;padding:0 20px;font-weight:800}.primary-button{color:#fff;background:#ffc582;flex:1;margin-left:auto;transition:background .2s,box-shadow .2s}.primary-button.is-ready{background:#f68318;box-shadow:0 4px 12px #d8753140}.secondary-button{color:#9b6c48;background:#f2e2d2}.intro-greeting,.current-question{animation-delay:0s}@keyframes softPopIn{0%{opacity:0;transform:translateY(10px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes chatSlideFadeIn{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}@media (width<=860px){.chat-test-page{min-height:auto;padding:0;overflow:visible}.chat-widget{width:100%;max-height:none}}
