@charset "UTF-8";.site-main-appointment-nagi{min-height:100vh;background-color:#f8f5f0;padding:2rem 1rem}.site-main-appointment-nagi .booking-card{max-width:800px;margin:0 auto;background:#fff;border-radius:8px;box-shadow:0 4px 16px #0000001a;padding:2rem}.site-main-appointment-nagi .booking-header{text-align:center;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:2px solid #C9A961}.site-main-appointment-nagi .booking-header .location-title{font-size:2rem;color:#8b2e2e;margin-bottom:.5rem}.site-main-appointment-nagi .step-title{font-size:1.5rem;color:#8b2e2e;margin-bottom:1.5rem;padding-left:1rem;border-left:4px solid #C9A961}.site-main-appointment-nagi .booking-field-group{margin-bottom:1.5rem}.site-main-appointment-nagi .booking-field-group label{display:block;font-weight:600;margin-bottom:.5rem;color:#2c3e50}.site-main-appointment-nagi .booking-field-group label .required-asterisk{color:#8b2e2e;margin-left:.25rem}.site-main-appointment-nagi .booking-field-group input[type=date],.site-main-appointment-nagi .booking-field-group input[type=text],.site-main-appointment-nagi .booking-field-group input[type=email],.site-main-appointment-nagi .booking-field-group input[type=tel],.site-main-appointment-nagi .booking-field-group select{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;transition:border-color .3s ease}.site-main-appointment-nagi .booking-field-group input[type=date]:focus,.site-main-appointment-nagi .booking-field-group input[type=text]:focus,.site-main-appointment-nagi .booking-field-group input[type=email]:focus,.site-main-appointment-nagi .booking-field-group input[type=tel]:focus,.site-main-appointment-nagi .booking-field-group select:focus{outline:none;border-color:#c9a961;box-shadow:0 0 0 3px #c9a9611a}.site-main-appointment-nagi .booking-field-group input[type=date]:disabled,.site-main-appointment-nagi .booking-field-group input[type=text]:disabled,.site-main-appointment-nagi .booking-field-group input[type=email]:disabled,.site-main-appointment-nagi .booking-field-group input[type=tel]:disabled,.site-main-appointment-nagi .booking-field-group select:disabled{background-color:#f5f5f5;cursor:not-allowed}.site-main-appointment-nagi .booking-field-group input[type=date]{position:relative}.site-main-appointment-nagi .booking-field-group input[type=date]:not(.date-unselected){color:#2c3e50}.site-main-appointment-nagi .booking-field-group input[type=date].date-unselected{color:transparent}.site-main-appointment-nagi .booking-field-group input[type=date].date-unselected:before{content:"年 / 月 / 日";position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:#999;pointer-events:none}.site-main-appointment-nagi .booking-field-group input.is-invalid,.site-main-appointment-nagi .booking-field-group select.is-invalid{border-color:#c62828;box-shadow:0 0 0 3px #c6282833}.site-main-appointment-nagi .custom-select-wrapper{position:relative;width:100%}.site-main-appointment-nagi .custom-select-wrapper .custom-select-display{display:flex;flex-direction:column;justify-content:center;width:100%;min-height:51px;padding:10px 15px;gap:.25rem;border:1px solid #ddd;border-radius:4px;background-color:#fff;box-sizing:border-box;cursor:pointer}.site-main-appointment-nagi .custom-select-wrapper .custom-select-display.placeholder{color:#757575;font-size:1rem}.site-main-appointment-nagi .custom-select-wrapper .custom-select-display .custom-select-group{font-size:1rem;font-weight:600;color:#2c3e50;line-height:1.3}.site-main-appointment-nagi .custom-select-wrapper .custom-select-display .custom-select-option{font-size:.85rem;color:#666;line-height:1.3}.site-main-appointment-nagi .custom-select-wrapper select{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.site-main-appointment-nagi .service-description-box{margin-top:-.5rem;margin-bottom:1.5rem;padding:1rem 1.25rem;background-color:#fff9e6;border:1px solid #C9A961;border-radius:4px;font-size:.8rem;color:#2c3e50;line-height:1.6;text-align:left}.site-main-appointment-nagi .service-description-box p:first-child{margin-top:0}.site-main-appointment-nagi .service-description-box p:last-child{margin-bottom:0}.site-main-appointment-nagi .phone-input-wrapper{display:flex;gap:.5rem}.site-main-appointment-nagi .phone-input-wrapper #country-code-selector{flex:0 0 120px}.site-main-appointment-nagi .phone-input-wrapper #phone-number{flex:1 1 auto}.site-main-appointment-nagi .validation-error-message{color:#c62828;font-size:.85rem;margin-top:.5rem;text-align:left;min-height:1em}.site-main-appointment-nagi .time-slots-wrapper{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center;margin-top:1.5rem}.site-main-appointment-nagi .time-slot-btn{padding:1rem 2rem;background:#fff;border:2px solid #C9A961;border-radius:8px;color:#2c3e50;font-size:1.125rem;font-weight:600;cursor:pointer;transition:all .3s ease}.site-main-appointment-nagi .time-slot-btn:hover{background:#F8F5F0;border-color:#8b2e2e;transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.site-main-appointment-nagi .time-slot-btn.selected{background:#8B2E2E;border-color:#8b2e2e;color:#fff;box-shadow:0 4px 12px #8b2e2e4d}.site-main-appointment-nagi #line-guidance-container{margin-bottom:1.5rem}.site-main-appointment-nagi #line-guidance-container .info-box{padding:1rem 1.25rem;background:linear-gradient(135deg,#FFF9E6 0%,#FFEFD5 100%);border-left:4px solid #C9A961;color:#2c3e50;border-radius:4px;font-size:.9rem;line-height:1.6}.site-main-appointment-nagi #line-guidance-container .info-box p{margin:0 0 .5rem}.site-main-appointment-nagi #line-guidance-container .info-box strong{color:#8b2e2e;font-weight:700}.site-main-appointment-nagi #line-guidance-container .info-box .fallback-link-container{border-top:1px solid #e9ddc0;margin-top:1rem;padding-top:1rem;text-align:center}.site-main-appointment-nagi .booking-not-accepting{text-align:center;padding:2rem 1rem}.site-main-appointment-nagi .booking-not-accepting__message{margin-bottom:2.5rem;padding:2rem;background:linear-gradient(135deg,#FFF9E6 0%,#FFEFD5 100%);border-radius:8px;border-left:4px solid #C9A961}.site-main-appointment-nagi .booking-not-accepting__title{font-size:1.75rem;color:#8b2e2e;margin-bottom:1rem;font-weight:700}.site-main-appointment-nagi .booking-not-accepting__description{font-size:1rem;color:#2c3e50;line-height:1.8;margin-bottom:0}.site-main-appointment-nagi .booking-not-accepting__line-cta{margin-bottom:2rem;padding:2rem;background:linear-gradient(135deg,#E7F7EE 0%,#D5F2E3 100%);border-radius:8px;border-left:4px solid #06C755}.site-main-appointment-nagi .booking-not-accepting__line-title{font-size:1.5rem;color:#06c755;margin-bottom:1rem;font-weight:700}.site-main-appointment-nagi .booking-not-accepting__line-description{font-size:.95rem;color:#2c3e50;line-height:1.7;margin-bottom:1.5rem}.site-main-appointment-nagi .booking-not-accepting__line-button{display:inline-flex;align-items:center;gap:.75rem;padding:1rem 2.5rem;background:linear-gradient(135deg,#06C755 0%,#059540 100%);color:#fff;font-size:1.125rem;font-weight:600;border-radius:8px;text-decoration:none;transition:all .3s ease;box-shadow:0 4px 12px #06c7554d}.site-main-appointment-nagi .booking-not-accepting__line-button .line-icon{font-size:1.5rem}.site-main-appointment-nagi .booking-not-accepting__line-button:hover{background:linear-gradient(135deg,#05ae4a 0%,#047d35 100%);transform:translateY(-2px);box-shadow:0 6px 16px #06c75566}.site-main-appointment-nagi .booking-not-accepting__fallback{padding:1.5rem;background:#f5f5f5;border-radius:8px;border:1px solid #ddd}.site-main-appointment-nagi .booking-not-accepting__fallback-text{font-size:.9rem;color:#666;margin-bottom:1rem}.site-main-appointment-nagi .booking-not-accepting__fallback-button{display:inline-block;padding:.75rem 1.5rem;background:#6c757d;color:#fff;font-size:1rem;font-weight:500;border-radius:4px;text-decoration:none;transition:all .3s ease}.site-main-appointment-nagi .booking-not-accepting__fallback-button:hover{background:#545b62;transform:translateY(-2px);box-shadow:0 4px 12px #0003}@media (max-width: 768px){.site-main-appointment-nagi .booking-not-accepting{padding:1rem .5rem}.site-main-appointment-nagi .booking-not-accepting__message{padding:1.5rem}.site-main-appointment-nagi .booking-not-accepting__title{font-size:1.5rem}.site-main-appointment-nagi .booking-not-accepting__description{font-size:.9rem}.site-main-appointment-nagi .booking-not-accepting__line-cta{padding:1.5rem}.site-main-appointment-nagi .booking-not-accepting__line-title{font-size:1.25rem}.site-main-appointment-nagi .booking-not-accepting__line-description{font-size:.85rem}.site-main-appointment-nagi .booking-not-accepting__line-button{padding:.875rem 2rem;font-size:1rem}.site-main-appointment-nagi .booking-not-accepting__line-button .line-icon{font-size:1.25rem}.site-main-appointment-nagi .booking-not-accepting__fallback{padding:1rem}.site-main-appointment-nagi .booking-not-accepting__fallback-text{font-size:.85rem}.site-main-appointment-nagi .booking-not-accepting__fallback-button{padding:.625rem 1.25rem;font-size:.9rem}}.site-main-appointment-nagi #booking-form{margin-top:2.5rem;padding-top:2rem;border-top:1px solid #e0e0e0}.site-main-appointment-nagi .selection-summary{background-color:#f6f1e6;border-left:4px solid #C9A961;padding:1rem;margin-bottom:1.5rem;border-radius:4px}.site-main-appointment-nagi .customer-info-fields{display:flex;flex-wrap:wrap;gap:0 1.5rem}.site-main-appointment-nagi .customer-info-fields .booking-field-group{flex-grow:1}.site-main-appointment-nagi .customer-info-fields .name-field{flex-basis:calc(50% - .75rem)}.site-main-appointment-nagi button[type=submit],.site-main-appointment-nagi .fallback-button{width:100%;padding:1rem 2rem;margin-top:2.5rem;background:linear-gradient(135deg,#8B2E2E 0%,#652121 100%);border:none;border-radius:8px;color:#fff;font-size:1.125rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-decoration:none;display:inline-block;text-align:center}.site-main-appointment-nagi button[type=submit]:hover:not(:disabled),.site-main-appointment-nagi .fallback-button:hover:not(:disabled){background:linear-gradient(135deg,#782828 0%,#521b1b 100%);transform:translateY(-2px);box-shadow:0 6px 16px #8b2e2e4d}.site-main-appointment-nagi button[type=submit]:disabled,.site-main-appointment-nagi .fallback-button:disabled{background:#ccc;cursor:not-allowed;opacity:.6}.site-main-appointment-nagi button[type=submit].line,.site-main-appointment-nagi .fallback-button.line{background:linear-gradient(135deg,#06C755 0%,#059540 100%)}.site-main-appointment-nagi button[type=submit].line:hover,.site-main-appointment-nagi .fallback-button.line:hover{background:linear-gradient(135deg,#05ae4a 0%,#047d35 100%)}.site-main-appointment-nagi .loader{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem}.site-main-appointment-nagi .loader .spinner{border:4px solid rgba(201,169,97,.1);border-left-color:#c9a961;border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite}.site-main-appointment-nagi .loader p{margin-top:1rem;color:#2c3e50}@keyframes spin{to{transform:rotate(360deg)}}.site-main-appointment-nagi .modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:10000}.site-main-appointment-nagi .modal-overlay .modal-content{background:#fff;padding:2rem;border-radius:8px;max-width:500px;width:90%;position:relative;box-shadow:0 8px 32px #0003}.site-main-appointment-nagi .modal-overlay .modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:2rem;color:#999;cursor:pointer;line-height:1}.site-main-appointment-nagi .modal-overlay .modal-close:hover{color:#8b2e2e}.site-main-appointment-nagi .modal-overlay .booking-message{padding:1rem;border-radius:4px;margin-bottom:1rem}.site-main-appointment-nagi .modal-overlay .booking-message.error{background:#FEE;border-left:4px solid #C00;color:#c00}.site-main-appointment-nagi .modal-overlay .booking-message.success{background:#EFE;border-left:4px solid #0C0;color:#0a0}.site-main-appointment-nagi #cancellation-policy-container{margin-top:2rem;padding:1.5rem;border:1px solid #e0e0e0;border-radius:4px;background-color:#f8f5f0}.site-main-appointment-nagi #cancellation-policy-container .cancellation-policy-title{margin-top:0;margin-bottom:1rem;font-size:1rem;font-weight:700;color:#8b2e2e}.site-main-appointment-nagi #cancellation-policy-container .cancellation-policy-text{max-height:150px;overflow-y:auto;border:1px solid #dee2e6;padding:1rem;background-color:#fff;font-size:.8rem;line-height:1.7;text-align:left;margin-bottom:1rem}.site-main-appointment-nagi #cancellation-policy-container .cancellation-policy-agreement{display:flex;align-items:center;justify-content:center;cursor:pointer}.site-main-appointment-nagi #cancellation-policy-container .cancellation-policy-agreement input[type=checkbox]{-webkit-appearance:checkbox;-moz-appearance:checkbox;appearance:checkbox;width:16px;height:16px;margin:0;flex-shrink:0;cursor:pointer}.site-main-appointment-nagi #cancellation-policy-container .cancellation-policy-agreement label{font-size:.9rem;padding-left:.75rem;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;margin:0}.site-main-appointment-nagi .fallback-link-container{margin-top:1rem;padding-top:1rem;border-top:1px dashed #ced4da;text-align:center}.site-main-appointment-nagi .fallback-link-container .fallback-message{font-size:.9rem;color:#6c757d;margin-bottom:1rem}.site-main-appointment-nagi .fallback-link-container .fallback-button{display:inline-block;font-weight:500;color:#fff;background-color:#6c757d;padding:.75rem 1.5rem;border-radius:4px;text-decoration:none;transition:background-color .2s}.site-main-appointment-nagi .fallback-link-container .fallback-button:hover{background-color:#545b62}.site-main-appointment-nagi .fallback-link-container .fallback-button.line{background-color:#06c755}.site-main-appointment-nagi .fallback-link-container .fallback-button.line:hover{background-color:#059540}@media (max-width: 768px){.site-main-appointment-nagi{padding:1rem .5rem}.site-main-appointment-nagi .booking-card{padding:1.5rem}.site-main-appointment-nagi .booking-header .location-title{font-size:1.5rem}.site-main-appointment-nagi .time-slots-wrapper{gap:.75rem}.site-main-appointment-nagi .time-slot-btn{padding:.75rem 1.5rem;font-size:1rem;flex:1 0 calc(50% - .75rem);min-width:120px}.site-main-appointment-nagi .customer-info-fields{gap:0}.site-main-appointment-nagi .customer-info-fields .name-field{flex-basis:100%;margin-bottom:1.5rem}}.nagi-mock-mode-banner{position:fixed;top:0;left:0;right:0;z-index:99999;background:linear-gradient(135deg,#ff6b6b 0%,#ee5a6f 100%);color:#fff;padding:1rem 1.5rem;display:flex;align-items:center;gap:1rem;box-shadow:0 4px 12px #0000004d;animation:pulse-banner 2s ease-in-out infinite}.nagi-mock-mode-banner__icon{font-size:2rem;flex-shrink:0;animation:bounce-icon 1s ease-in-out infinite}.nagi-mock-mode-banner__content{flex:1}.nagi-mock-mode-banner__content strong{display:block;font-size:1.125rem;margin-bottom:.25rem;text-transform:uppercase;letter-spacing:.05em;font-weight:700}.nagi-mock-mode-banner__content p{margin:0;font-size:.9rem;opacity:.95;line-height:1.4}@keyframes pulse-banner{0%,to{opacity:1}50%{opacity:.85}}@keyframes bounce-icon{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@media (max-width: 768px){.nagi-mock-mode-banner{padding:.875rem 1rem;gap:.75rem}.nagi-mock-mode-banner__icon{font-size:1.5rem}.nagi-mock-mode-banner__content strong{font-size:1rem}.nagi-mock-mode-banner__content p{font-size:.8rem}}.nagi-lp:has(.nagi-mock-mode-banner) .nagi-lp__container{padding-top:80px}@media (max-width: 768px){.nagi-lp:has(.nagi-mock-mode-banner) .nagi-lp__container{padding-top:70px}}
