.simple-calendar{margin-left:0;margin-top:20px;width:100%;animation:fadeIn 1s}.simple-calendar .calendar-heading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 5px}.simple-calendar .calendar-heading nav{margin:0px 0;display:flex;justify-content:space-between;align-items:center;width:100%;font-size:16px}.simple-calendar .calendar-heading nav a{display:block;width:14px;height:14px}.simple-calendar .calendar-heading nav a>svg{display:block;margin:2px 4px}.simple-calendar .calendar-heading nav .calendar-title{font-family:Arial, Helvetica, "Hiragino Sans", "Noto Sans JP", sans-serif;font-weight:400;font-size:14px;line-height:1.0}.simple-calendar thead{display:none}.simple-calendar table{display:table;border-spacing:0;border-collapse:collapse;width:100%;margin-top:12px}.simple-calendar tr{display:flex;justify-content:space-between}.simple-calendar .date-column{text-align:center;border-right:1px solid #DDDDDD}.simple-calendar .date-column.past-date .date-number{color:#DDDDDD}.simple-calendar .date-column.future-date.sat .date-number{color:#0064CA}.simple-calendar .date-column.future-date.sun .date-number{color:#F73737}.simple-calendar .date-column:last-child{border-right:none}.simple-calendar .date-column .date-header .date-day{height:22px;font-family:"Hiragino Sans", "Noto Sans JP", sans-serif;font-weight:400;font-size:12px;line-height:22px;color:#747474;text-align:center}.simple-calendar .date-column .date-header .date-day.sun{color:#F73737}.simple-calendar .date-column .date-header .date-day.sat{color:#0064CA}.simple-calendar .date-column .booking-slot{display:flex;align-items:center;flex-direction:column;gap:5px;padding:8px 0;box-sizing:border-box;width:39px;height:46px}.simple-calendar .date-column .booking-slot .date-number{font-family:Arial, Helvetica, sans-serif;font-weight:400;font-size:13px;line-height:1em;text-align:center}.simple-calendar .date-column .booking-slot .slot-available{cursor:pointer;text-align:center;width:12px;height:12px}.simple-calendar .date-column .booking-slot .slot-available>img{display:block;width:12px;height:12px}.simple-calendar .date-column .booking-slot .slot-unavailable{text-align:center;padding:0;width:16px;height:16px;display:flex;align-items:center;justify-content:center}.simple-calendar .date-column .booking-slot .slot-type{color:#BBBBBB;font-size:10px;font-weight:bold;cursor:pointer;text-align:center}.simple-calendar .date-column .booking-slot.date-selected{background-color:#173C80;border-radius:2px}.simple-calendar .date-column .booking-slot.date-selected .date-number.date-slot-type{color:#fff}.simple-calendar .date-column .booking-slot.date-selected .slot-available>img{filter:brightness(0) invert(1)}.simple-calendar .booking-legend{display:flex;gap:20px;margin-top:15px;justify-content:flex-start}.simple-calendar .booking-legend .legend-item{display:flex;align-items:center;gap:5px;font-family:"Hiragino Sans", "Noto Sans JP", sans-serif;font-weight:400;font-size:10px;line-height:1em;color:#B7B7B7}.simple-calendar .booking-legend .available-circle{display:inline-block;width:10px;height:10px;border:1px solid #C13636;border-radius:50%;position:relative}.simple-calendar .booking-legend .available-circle:after{content:'';position:absolute;top:2px;left:2px;width:4px;height:4px;background:transparent;border:1px solid #C13636;border-radius:50%}.simple-calendar .booking-legend .unavailable-mark{display:inline-block;width:10px;height:1px;background-color:#DDDDDD}.simple-calendar .booking-legend .tel-mark{color:#BBBBBB}.booking-panel{position:relative;width:325px;margin:0 auto;background:#ffffff;border-radius:3px;box-shadow:0px 0px 4px 0px rgba(0,0,0,0.15)}.booking-panel .booking-modal-close{position:absolute;cursor:pointer;z-index:1001;padding:0;border-radius:50%;display:flex;align-items:center;justify-content:center;position:absolute;top:-35px;right:0}.booking-panel .booking-modal-close i.fa-xmark{font-size:28px;color:#fff}.booking-panel-header{padding:20px 0 15px;text-align:center;font-family:"Hiragino Sans", "Noto Sans JP", sans-serif;font-weight:600;font-size:16px;line-height:1.0;letter-spacing:normal;color:#333333}.booking-panel-body{padding:20px 25px 25px}.booking-panel .booking-form-group{margin-bottom:10px;display:flex;align-items:center;justify-content:space-between}.booking-panel .booking-form-group.date{flex-direction:column;align-items:center;justify-content:space-around}.booking-panel .booking-form-group label{display:block;font-family:"Hiragino Sans", "Noto Sans JP", sans-serif;font-weight:600;font-size:14px;line-height:1em;letter-spacing:normal;color:#333333;width:67px}.booking-panel .select-date-wrapper{display:flex;align-items:center;justify-content:space-between;width:100%}.booking-panel .select-wrapper{position:relative}.booking-panel .select-wrapper::after{position:absolute;top:0;bottom:0;right:10px;margin:auto 0;content:'\f0dc';width:1em;height:1em;font-family:"Font Awesome 6 Free";font-weight:900;font-size:11px;text-align:center;line-height:1.0;color:#333;text-align:center}.booking-panel .booking-select{width:190px;height:40px;padding:0 15px;font-family:"Hiragino Sans", "Noto Sans JP", sans-serif;font-weight:400;font-size:14px;line-height:1em;letter-spacing:0.02em;color:#333333;background-color:#f4f4f4;border:1px solid #DDDDDD;border-radius:3px;appearance:none;cursor:pointer;box-sizing:border-box}.booking-panel .booking-select:focus{outline:none;border-color:#333333}.booking-panel .booking-date-select{width:190px;height:40px;padding:0 15px;font-family:"Hiragino Sans", "Noto Sans JP", sans-serif;font-weight:400;font-size:14px;line-height:1em;letter-spacing:0.02em;color:#333333;border:1px solid #DDDDDD;border-radius:3px;background-color:#f4f4f4;cursor:pointer;position:relative;z-index:1;box-sizing:border-box;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free v6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path d="M128 0c17.7 0 32 14.3 32 32l0 32 128 0 0-32c0-17.7 14.3-32 32-32s32 14.3 32 32l0 32 48 0c26.5 0 48 21.5 48 48l0 48L0 160l0-48C0 85.5 21.5 64 48 64l48 0 0-32c0-17.7 14.3-32 32-32zM0 192l448 0 0 272c0 26.5-21.5 48-48 48L48 512c-26.5 0-48-21.5-48-48L0 192zm64 80l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0c-8.8 0-16 7.2-16 16zm128 0l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0c-8.8 0-16 7.2-16 16zm144-16c-8.8 0-16 7.2-16 16l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0zM64 400l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0c-8.8 0-16 7.2-16 16zm144-16c-8.8 0-16 7.2-16 16l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0zm112 16l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0c-8.8 0-16 7.2-16 16z"/></svg>');background-repeat:no-repeat;background-position:right 10px center;background-size:9px}.booking-panel .booking-date-select:focus{outline:none;border-color:#333333}.booking-panel .radio-wrapper .booking-radio{display:none}.booking-panel .radio-wrapper .booking-radio:checked+.radio-label .radio-circle{border-color:#333333}.booking-panel .radio-wrapper .booking-radio:checked+.radio-label .radio-circle:after{transform:scale(1)}.booking-panel .radio-wrapper .radio-label{display:flex;align-items:center;cursor:pointer;font-family:"Hiragino Sans", "Noto Sans JP", sans-serif;font-weight:400;font-size:14px;line-height:1em;letter-spacing:0.02em;color:#333333}.booking-panel .radio-wrapper .radio-label .radio-circle{width:18px;height:18px;border:1px solid #DDDDDD;border-radius:50%;margin-right:8px;position:relative}.booking-panel .radio-wrapper .radio-label .radio-circle:after{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%, -50%) scale(0);width:10px;height:10px;border-radius:50%;background:#333333;transition:transform 0.2s}.booking-panel .booking-status-legend{display:flex;flex-direction:column;gap:10px;margin:15px 0}.booking-panel .booking-status-legend .status-item{display:flex;align-items:center;gap:8px;font-family:"Hiragino Sans", "Noto Sans JP", sans-serif;font-weight:400;font-size:14px;line-height:1em;color:#333333}.booking-panel .booking-status-legend .status-circle{width:16px;height:16px;position:relative}.booking-panel .booking-status-legend .status-circle.available:before,.booking-panel .booking-status-legend .status-circle.available:after{content:'';position:absolute;width:16px;height:16px;border-radius:50%;border:1.5px solid #C13636}.booking-panel .booking-status-legend .status-circle.unavailable:before{content:'';position:absolute;width:16px;height:1.5px;background:#DDDDDD;top:50%;transform:translateY(-50%)}.booking-panel .booking-status-legend .status-text{color:#333333}.booking-panel .booking-submit-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;height:55px;margin-top:20px;padding:0 20px;background-color:#000;color:#FFFFFF;border:none;border-radius:3px;font-family:"Hiragino Sans", "Noto Sans JP", sans-serif;font-weight:600;font-size:16px;line-height:55px;letter-spacing:0.8px;text-align:center;cursor:pointer;transition:background 0.3s}.booking-panel .booking-submit-btn.disabled{background-color:#b7b7b7;cursor:not-allowed}.booking-panel .booking-change-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:17px 20px;background:#DDDDDD;color:#FFFFFF;border:none;border-radius:100px;font-family:"Hiragino Sans", "Noto Sans JP", sans-serif;font-weight:600;font-size:16px;line-height:1em;letter-spacing:0.05em;text-align:center;cursor:pointer;transition:background 0.3s}.office-calendar-container-body-ajax{position:relative;left:0;width:100%;z-index:1000;max-height:0;overflow:hidden;opacity:0;visibility:hidden;transform:translateZ(0);-webkit-transform:translateZ(0);transition:max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1),opacity 0.3s ease,visibility 0.3s ease,padding 0.3s ease,margin 0.3s ease;-webkit-transition:max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1),opacity 0.3s ease,visibility 0.3s ease,padding 0.3s ease,margin 0.3s ease;padding:0;margin-top:0;pointer-events:none}.office-calendar-container-body-ajax.calendar-container-open{max-height:500px;opacity:1;visibility:visible;pointer-events:auto;animation:fadeIn 0.4s}.office-calendar-container-body-ajax.calendar-container-closed{max-height:0;opacity:0;visibility:hidden;pointer-events:none;padding:0;margin-top:0}.office-calendar-container-body-ajax .simple-calendar{margin-left:0;background:white;width:100%}.select-date-wrapper{position:relative}.step-form-modal-calendar{position:fixed;top:50%;left:50%;transform:translate(-50%, -50%) scale(0.95);width:100%;max-width:315px;background:white;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,0.15);z-index:1000;opacity:0;visibility:hidden;transition:transform 0.3s cubic-bezier(0.4, 0, 0.2, 1),opacity 0.3s ease,visibility 0.3s ease;padding:16px;pointer-events:none}.step-form-modal-calendar.step-form-modal-calendar-open{transform:translate(-50%, -50%) scale(1);opacity:1;visibility:visible;pointer-events:auto;animation:fadeIn 0.4s}.step-form-modal-calendar.step-form-modal-calendar-closed{transform:translate(-50%, -50%) scale(0.95);opacity:0;visibility:hidden;pointer-events:none}.step-form-modal-calendar-wrapper{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.5);z-index:999;opacity:0;visibility:hidden;transition:opacity 0.3s ease, visibility 0.3s ease;pointer-events:none}.step-form-modal-calendar-wrapper.calendar-container-open{opacity:1;visibility:visible;pointer-events:auto;display:flex;justify-content:center;align-items:center;animation:fadeIn 0.4s}.step-form-modal-calendar-wrapper.calendar-container-closed{opacity:0;visibility:hidden;pointer-events:none}@keyframes fadeIn{from{opacity:0.2}to{opacity:1}}@media (max-width: 768px){.bookings-new-class .booking-form-group.date label{width:80px !important}}
