@charset "UTF-8";
/** 共通 **/
#booking-package-locale-ja {
  width: 100%;
}

#booking-package-locale-ja button, #booking-package-locale-ja textarea, #booking-package-locale-ja select {
  font-family: "Noto Sans JP","游ゴシック","游ゴシック体","Yu Gothic","Yu Gothic Medium","Hiragino Sans","Hiragino Kaku Gothic ProN",Meiryo,"sans-serif";
}

#booking-package-locale-ja #booking-package {
  font-size: 1.11111vw !important;
}

#booking-package-locale-ja #booking-package #booking-package_calendarPage .calendar .day_slot {
  position: relative;
  height: auto;
  min-height: 5.0em;
  padding-bottom: 5px;
}

#booking-package-locale-ja #booking-package #booking-package_calendarPage .calendar .day_slot.sat {
  background: #f4f9ff;
}

#booking-package-locale-ja #booking-package #booking-package_calendarPage .calendar .day_slot.sat:not(.pastDay):hover {
  background: #efefef;
}

#booking-package-locale-ja #booking-package #booking-package_calendarPage .calendar .day_slot.sat .dateField {
  color: #afaeff;
}

#booking-package-locale-ja #booking-package #booking-package_calendarPage .calendar .day_slot.sun {
  background: #fff4f9;
}

#booking-package-locale-ja #booking-package #booking-package_calendarPage .calendar .day_slot.sun:not(.pastDay):hover {
  background: #efefef;
}

#booking-package-locale-ja #booking-package #booking-package_calendarPage .calendar .day_slot.sun .dateField {
  color: #ff8e8f;
}

#booking-package-locale-ja #booking-package #booking-package_calendarPage .calendar .week_slot {
  background: #EB6D94 !important;
  color: #fff;
}

#booking-package-locale-ja #booking-package #booking-package_calendarPage .calendar .day_slot .remainderNumbers div[data-deadline="true"] {
  display: none;
}

#booking-package-locale-ja #booking-package #booking-package_calendarPage .calendar .day_slot .dateField {
  text-align: left;
  padding-top: 0.27778vw;
  padding-left: 0.55556vw;
  color: #C0C0C0;
  font-style: italic;
  font-weight: 700;
  font-size: 0.97222vw !important;
}

#booking-package-locale-ja #booking-package #booking-package_calendarPage .calendar .day_slot .symbolPanel {
  opacity: 0;
}

#booking-package-locale-ja #booking-package #booking-package_calendarPage .calendar .pastDay .remainderNumbers {
  display: none;
}

#booking-package-locale-ja #booking-package #booking-package_schedulePage #courseMainPanel .selectable_service_slot {
  white-space: nowrap;
}

#booking-package-locale-ja #booking-package #booking-package_schedulePage #courseMainPanel .selectable_service_slot[data-key="1"] {
  display: none !important;
}

#booking-package-locale-ja #booking-package #booking-package_schedulePage #courseMainPanel .selectable_service_slot .service_details .serviceCost{
  display: inline-block;
}

#booking-package-locale-ja #booking-package #booking-package_schedulePage #courseMainPanel .selectable_service_slot .courseCostPanel {
  float: none;
}

#booking-package-locale-ja #booking-package #booking-package_schedulePage #courseMainPanel .toCharge, #booking-package-locale-ja #booking-package #booking-package_schedulePage #courseMainPanel .minimumCharge {
  display: none;
}

#booking-package-locale-ja #booking-package #booking-package_schedulePage #scheduleMainPanel .selectable_time_slot .timeSlot,#booking-package-locale-ja #booking-package #booking-package_schedulePage #scheduleMainPanel .selectable_time_slot  .remainingSlots{
  white-space: nowrap;
}

#booking-package-locale-ja #booking-package #booking-package_schedulePage #blockPanel {
  height: 0 !important;
}

#booking-package-locale-ja #booking-package #booking-package_schedulePage #bottomPanel button {
  background: #555;
  color: #fff;
  border: none;
  border-radius: 0.4em;
  font-size: 1.11111vw !important;
  padding: 0.7em;
  cursor: pointer;
}

#booking-package-locale-ja #booking-package #booking-package_schedulePage #bottomPanel #previous_available_day_button, #booking-package-locale-ja #booking-package #booking-package_schedulePage #bottomPanel #next_available_day_button {
  display: none;
}

#booking-package-locale-ja #booking-package #booking-package_inputFormPanel {
  position: relative;
}

#booking-package-locale-ja #booking-package #booking-package_inputFormPanel #returnToSchedules-clone {
  background: #555;
  color: #fff;
  border: none;
  border-radius: 0.4em;
  font-size: 1.11111vw !important;
  padding: 0.3em 0.6em;
  cursor: pointer;
  position: absolute;
  top: 10px;
  left: 0;
  z-index: 4;
  width: auto;
  min-width: 4.86111vw;
}

#booking-package-locale-ja #booking-package #booking-package_inputFormPanel #returnToSchedules-clone::before {
  content: "\f104";
  font-family: "Font Awesome 6 Free";
  font-weight: 600;
  margin-right: 0.3472vw;
}

#booking-package-locale-ja #booking-package #booking-package_inputFormPanel #reservationHeader {
  font-size: 1.52777vw !important;
}

#booking-package-locale-ja #booking-package #booking-package_inputFormPanel .row {
  display: flex;
  justify-content: center;
  border-right: 1px solid #ddd;
  border-left: 1px solid #ddd;
  padding: 0;
}

#booking-package-locale-ja #booking-package #booking-package_inputFormPanel .row.hiderow {
  display: none;
}

#booking-package-locale-ja #booking-package #booking-package_inputFormPanel .row.error_empty_value {
  background: #fff !important;
}

#booking-package-locale-ja #booking-package #booking-package_inputFormPanel .row.error_empty_value .value:after {
  content: "\5FC5\9808\9805\76EE\3067\3059";
  font-size: 0.97222vw !important;
  color: #F33;
}

#booking-package-locale-ja #booking-package #booking-package_inputFormPanel .row.valida_error .value input[type="text"] {
  border: 1px solid #F33;
}

#booking-package-locale-ja #booking-package #booking-package_inputFormPanel .row.valida_error .value::after {
  content: "\9069\5207\306A\5F62\5F0F\3067\5165\529B\3057\3066\304F\3060\3055\3044";
  font-size: 0.97222vw !important;
  color: #F33;
}

#booking-package-locale-ja #booking-package #booking-package_inputFormPanel .row.valida_error .value.flex_value::before {
  width: 100%;
}

#booking-package-locale-ja #booking-package #booking-package_inputFormPanel .row .name {
  width: 40%;
  border-right: 1px solid #ddd;
  padding: 1em 3em 1em 2em;
  display: flex;
  align-items: center;
  font-size: 1.11111vw !important;
  background: #FFF4F4;
  white-space: nowrap;
}

#booking-package-locale-ja #booking-package #booking-package_inputFormPanel .row .name.required {
  position: relative;
}

#booking-package-locale-ja #booking-package #booking-package_inputFormPanel .row .name.required:after {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  content: "\5FC5\9808";
  font-size: 0.69444vw !important;
  padding: 0.2em 0.4em;
  border: 1px solid #ff1c1c;
  border-radius: 0.2em;
  right: 0.694444vw;
}

#booking-package-locale-ja #booking-package #booking-package_inputFormPanel .row .value {
  position: relative;
  width: 60%;
  padding: 1em 2em;
}

#booking-package-locale-ja #booking-package #booking-package_inputFormPanel .row .value .description {
  margin: 0;
}

#booking-package-locale-ja #booking-package #booking-package_inputFormPanel .row .value #booking_package_input_regular + .description {
  font-size: 0.77vw;
  margin-top: 0.69444vw;
}

#booking-package-locale-ja #booking-package #booking-package_inputFormPanel .row .value #booking_package_input_terms + .description {
  border: 1px solid #EFEFEF;
  height: 10em;
  overflow: auto;
  margin-top: 0.69444vw;
  padding: 0.8em;
  font-size: 0.83333vw;
}

#booking-package-locale-ja #booking-package #booking-package_inputFormPanel .row .value #booking_package_input_terms + .description::-webkit-scrollbar {
  width: 6px;
}

#booking-package-locale-ja #booking-package #booking-package_inputFormPanel .row .value #booking_package_input_terms + .description::-webkit-scrollbar-thumb {
  background: #EA6D93;
  border-radius: 6px;
}

#booking-package-locale-ja #booking-package #booking-package_inputFormPanel .row .value #booking_package_input_terms + .description::-webkit-scrollbar-track {
  background: #efefef;
}

#booking-package-locale-ja #booking-package #booking-package_inputFormPanel .row .value #booking_package_selectedServicesPanel .courseLinePanelInLink {
  color: #000;
  cursor: default;
  font-weight: normal;
  pointer-events: none;
}

#booking-package-locale-ja #booking-package #booking-package_inputFormPanel .row .value .bookingDate, #booking-package-locale-ja #booking-package #booking-package_inputFormPanel .row .value .bookingTime {
  font-weight: bold;
  font-size: 1.25vw !important;
}

#booking-package-locale-ja #booking-package #booking-package_inputFormPanel .row .value .capa {
  color: #F33;
  border: 1px solid #F33;
  border-radius: 0.3em;
  padding: 0.2em 0.4em;
  margin-left: 0.7em;
  font-size: 0.83333vw !important;
  font-weight: bold;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

#booking-package-locale-ja #booking-package #booking-package_inputFormPanel .row .value input[type="text"] {
  font-size: 1.25vw !important;
  padding: 0.8em;
  box-sizing: border-box;
  font-family: "Noto Sans JP","游ゴシック","游ゴシック体","Yu Gothic","Yu Gothic Medium","Hiragino Sans","Hiragino Kaku Gothic ProN",Meiryo,"sans-serif";
}

#booking-package-locale-ja #booking-package #booking-package_inputFormPanel .row .value input[type="text"]::placeholder {
  color: #ddd;
}

#booking-package-locale-ja #booking-package #booking-package_inputFormPanel .row .value select {
  font-size: 1.25vw !important;
  padding: 0.8em;
  box-sizing: border-box;
  color: #333333;
  cursor: pointer;
}

#booking-package-locale-ja #booking-package #booking-package_inputFormPanel .row .value #booking_package_input_coupons {
  width: 80%;
}

#booking-package-locale-ja #booking-package #booking-package_inputFormPanel .row .value #applyCouponButton {
  margin-top: 0;
  width: 20%;
  border: 1px solid #9E3A58;
  background: #9E3A58;
  color: #fff;
  font-size: 1.25vw !important;
  padding: 0.8em 0;
  cursor: pointer;
  transition: opacity 0.2s;
}

#booking-package-locale-ja #booking-package #booking-package_inputFormPanel .row .value #applyCouponButton:hover {
  opacity: 0.8;
}

#booking-package-locale-ja #booking-package #booking-package_inputFormPanel .row .value.flex_value {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

#booking-package-locale-ja #booking-package #booking-package_inputFormPanel .row .value.flex_value #booking_package_input_age {
  width: 20%;
}

#booking-package-locale-ja #booking-package #booking-package_inputFormPanel .row .value.flex_value span {
  font-size: 1.25vw !important;
  margin-left: 0.69444vw;
}

#booking-package-locale-ja #booking-package #booking-package_inputFormPanel #paymentPanel button, #booking-package-locale-ja #booking-package #booking-package_inputFormPanel #nextAndReturnPanel button {
  color: #fff;
  border: none;
  border-radius: 0.4em;
  font-size: 1.11111vw !important;
  padding: 0.7em;
  cursor: pointer;
  margin-top: 0.69444vw;
}

#booking-package-locale-ja #booking-package #booking-package_inputFormPanel #paymentPanel {
  margin-top: 1.388889vw;
}

#booking-package-locale-ja #booking-package #booking-package_inputFormPanel #paymentPanel button {
  background: #EA6D93;
}

#booking-package-locale-ja #booking-package #booking-package_inputFormPanel #paymentPanel #booking-package_pay_with_stripe {
  padding: 0;
  opacity: 1;
  transition: opacity 0.4s;
}

#booking-package-locale-ja #booking-package #booking-package_inputFormPanel #paymentPanel #booking-package_pay_with_stripe.hidden_panel {
  opacity: 0;
}

#booking-package-locale-ja #booking-package #booking-package_inputFormPanel #paymentPanel #booking-package_pay_with_stripe #payment-form .form-row #card-element {
  box-sizing: border-box;
}

#booking-package-locale-ja #booking-package #booking-package_inputFormPanel #paymentPanel #booking-package_pay_with_stripe #payment-request-button, #booking-package-locale-ja #booking-package #booking-package_inputFormPanel #paymentPanel #booking-package_pay_with_stripe .orLabel {
  display: none !important;
}

#booking-package-locale-ja #booking-package #booking-package_inputFormPanel #paymentPanel #booking-package_pay_locally {
  padding: 0;
}

#booking-package-locale-ja #booking-package #booking-package_inputFormPanel #nextAndReturnPanel {
  padding: 0;
}

#booking-package-locale-ja #booking-package #booking-package_inputFormPanel #nextAndReturnPanel button {
  background: #555;
}

#booking-package-locale-ja #booking-package_myBookingDetailsFroVisitor .buttonPanel button {
  color: #fff;
  border: none;
  border-radius: 0.4em;
  font-size: 0.97222vw !important;
  padding: 0.4em 0.6em;
  cursor: pointer;
  margin-top: 0.69444vw;
}

#booking-package-locale-ja #booking-package_myBookingDetailsFroVisitor .buttonPanel button.cancel_booking_button {
  background: #F53649;
  margin-left: 0;
}

#booking-package-locale-ja #booking-package_myBookingDetailsFroVisitor .buttonPanel button.return_button {
  display: none;
  background: #555;
}

/** pc表示 **/
@media screen and (min-width: 46.88125em) {
  /** カレンダー画面 **/
  #booking-package_calendarPage .day_slot .remainderNumbers {
    font-weight: 600;
    font-size: 0.83333vw !important;
  }
  #booking-package_calendarPage .day_slot .remainderNumbers div {
    display: flex;
    align-items: center;
    margin-left: 0.55556vw;
    margin-top: 0.6em;
  }
  #booking-package_calendarPage .day_slot .remainderNumbers div::before {
    content: "残り：" attr(data-remainder);
    display: inline-block;
    color: #333;
    border: 1px solid #333;
    border-radius: 0.3em;
    padding: 0 0.2em;
    margin-right: 0.4em;
    font-size: 0.69444vw !important;
    font-weight: bold;
  }
}

/** スマホ表示 **/
@media screen and (max-width: 46.875em) {
  #booking-package-locale-ja {
    width: 100%;
    margin: 0 auto;
  }
  #booking-package-locale-ja #booking-package {
    font-size: 3.73333vw !important;
  }
  #booking-package-locale-ja #booking-package #booking-package_calendarPage .calendarPanel {
    grid-template-columns: 1fr 3fr 1fr !important;
  }
  #booking-package-locale-ja #booking-package #booking-package_calendarPage .calendar .day_slot .dateField {
    padding-top: 2px;
    padding-left: 4px;
    color: #C0C0C0;
    font-style: italic;
    font-weight: 700;
    font-size: 2.66667vw !important;
  }
  #booking-package-locale-ja #booking-package #booking-package_calendarPage .calendar .day_slot .remainderNumbers {
    font-size: 3.2vw !important;
    font-weight: 600;
    margin-top: 0.2em;
  }
  #booking-package-locale-ja #booking-package #booking-package_calendarPage .calendar .day_slotHeight {
    height: auto;
    min-height: 5.0em;
  }
  #booking-package-locale-ja #booking-package #booking-package_schedulePage #bottomPanel button {
    font-size: 3.2vw !important;
    padding: 0.7em 1.2em;
  }
  #booking-package-locale-ja #booking-package #booking-package_inputFormPanel #returnToSchedules-clone {
    background: #555;
    color: #fff;
    border: none;
    border-radius: 0.4em;
    font-size: 3.73333vw !important;
    padding: 0.3em 0.3em 0.4em;
    cursor: pointer;
    position: absolute;
    top: 10px;
    left: 0;
    z-index: 4;
    min-width: 13.33333vw;
  }
  #booking-package-locale-ja #booking-package #booking-package_inputFormPanel #returnToSchedules-clone::before {
    content: "\f104";
    font-family: "Font Awesome 6 Free";
    font-weight: 600;
    margin-right: 1.33333vw;
  }
  #booking-package-locale-ja #booking-package #booking-package_inputFormPanel #reservationHeader {
    font-size: 4.266666vw !important;
  }
  #booking-package-locale-ja #booking-package #booking-package_inputFormPanel .row {
    display: block;
    padding: 0;
  }
  #booking-package-locale-ja #booking-package #booking-package_inputFormPanel .row .name {
    font-size: 3.2vw !important;
    width: 100%;
    border-right: none;
    box-sizing: border-box;
    padding: 2vw 4vw;
  }
  #booking-package-locale-ja #booking-package #booking-package_inputFormPanel .row .name.required:after {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    content: "\5FC5\9808";
    font-size: 2.66666vw !important;
    padding: 0.2em 0.4em;
    border: 1px solid #ff1c1c;
    border-radius: 0.2em;
    right: 3em;
  }
  #booking-package-locale-ja #booking-package #booking-package_inputFormPanel .row .value {
    font-size: 3.73333vw !important;
    width: 100%;
    padding: 2vw 4vw;
    box-sizing: border-box;
  }
  #booking-package-locale-ja #booking-package #booking-package_inputFormPanel .row .value .description {
    margin: 0;
  }
  #booking-package-locale-ja #booking-package #booking-package_inputFormPanel .row .value .capa {
    font-size: 1.86666vw !important;
  }
  #booking-package-locale-ja #booking-package #booking-package_inputFormPanel .row .value input[type="text"], #booking-package-locale-ja #booking-package #booking-package_inputFormPanel .row .value select {
    font-size: 1.6rem !important;
  }
  #booking-package-locale-ja #booking-package #booking-package_inputFormPanel .row .value input[type="text"] {
    -webkit-appearance: none;
    border-radius: 0;
  }
  #booking-package-locale-ja #booking-package #booking-package_inputFormPanel .row .value #applyCouponButton {
    font-size: 1.6rem !important;
    margin-top: 0;
    padding: 0.8em 0;
    border: 1px solid #9E3A58;
    background: #9E3A58;
    color: #fff;
  }
  #booking-package-locale-ja #booking-package #booking-package_inputFormPanel .row .value .bookingDate, #booking-package-locale-ja #booking-package #booking-package_inputFormPanel .row .value .bookingTime {
    font-size: 3.73333vw !important;
  }
  #booking-package-locale-ja #booking-package #booking-package_inputFormPanel .row .value #booking_package_input_terms label, #booking-package-locale-ja #booking-package #booking-package_inputFormPanel .row .value #booking_package_input_paymentMethod label {
    margin-left: 0;
  }
  #booking-package-locale-ja #booking-package #booking-package_inputFormPanel .row .value #booking_package_input_terms label input, #booking-package-locale-ja #booking-package #booking-package_inputFormPanel .row .value #booking_package_input_paymentMethod label input {
    margin-left: 0;
  }
  #booking-package-locale-ja #booking-package #booking-package_inputFormPanel .row .value #booking_package_input_regular + .description {
    font-size: 2.8vw;
    margin-top: 1.2vw;
  }
  #booking-package-locale-ja #booking-package #booking-package_inputFormPanel .row .value #booking_package_input_terms + .description {
    border: 1px solid #EFEFEF;
    height: 10em;
    overflow: auto;
    margin-top: 1.06666vw;
    padding: 0.8em;
    font-size: 2.66667vw;
  }
  #booking-package-locale-ja #booking-package #booking-package_inputFormPanel .row .value.flex_value #booking_package_input_age {
    width: 20%;
  }
  #booking-package-locale-ja #booking-package #booking-package_inputFormPanel .row .value.flex_value span {
    font-size: 1.6rem !important;
    margin-left: 2.66667vw;
  }
  #booking-package-locale-ja #booking-package #booking-package_inputFormPanel .row.error_empty_value .value:after {
    content: "\5FC5\9808\9805\76EE\3067\3059";
    font-size: 3.373333vw !important;
    color: #F33;
  }
  #booking-package-locale-ja #booking-package #booking-package_inputFormPanel .row.valida_error .value::after {
    content: "\9069\5207\306A\5F62\5F0F\3067\5165\529B\3057\3066\304F\3060\3055\3044";
    font-size: 2.66667vw !important;
    color: #F33;
  }
  #booking-package-locale-ja #booking-package #booking-package_inputFormPanel #paymentPanel, #booking-package-locale-ja #booking-package #booking-package_inputFormPanel #nextAndReturnPanel {
    display: block;
    width: 100%;
    position: relative;
  }
  #booking-package-locale-ja #booking-package #booking-package_inputFormPanel #paymentPanel button, #booking-package-locale-ja #booking-package #booking-package_inputFormPanel #nextAndReturnPanel button {
    font-size: 3.2vw !important;
    margin-top: 2.66666vw;
  }
  #booking-package-locale-ja #booking-package #booking-package_inputFormPanel #paymentPanel #booking-package_pay_locally .bookingButton, #booking-package-locale-ja #booking-package #booking-package_inputFormPanel #paymentPanel #booking-package_pay_with_stripe .paymentButton {
    width: 100%;
  }
  #booking-package-locale-ja #booking-package #booking-package_inputFormPanel #paymentPanel #booking-package_pay_locally .stripe {
    display: none !important;
  }
  #booking-package-locale-ja #booking-package #booking-package_inputFormPanel #paymentPanel #booking-package_pay_with_stripe {
    padding: 2.66666vw 0;
    position: relative;
  }
  #booking-package-locale-ja #booking-package #booking-package_inputFormPanel #paymentPanel #booking-package_pay_with_stripe.stripe {
    position: relative;
  }
  #booking-package-locale-ja #booking-package #booking-package_inputFormPanel #paymentPanel #booking-package_pay_with_stripe.show {
    display: block !important;
  }
  #booking-package-locale-ja #booking-package #booking-package_inputFormPanel #nextAndReturnPanel {
    transition: margin 0.4s;
  }
  #booking-package-locale-ja #bookingBlockPanel .loader {
    top: 35%;
  }
  #booking-package-locale-ja #booking-package_myBookingDetailsFroVisitor .buttonPanel button {
    font-size: 3.2vw !important;
    margin-top: 2.66666vw;
  }
}
