.iw-calendar{--iw-key:#00b3ea;--iw-ink:#23414f;background:#fff;color:var(--iw-ink);font:17px/1.65 -apple-system,BlinkMacSystemFont,"Yu Gothic",Meiryo,sans-serif;max-width:850px;margin:24px auto;padding:0 4px;box-sizing:border-box}.iw-calendar *{box-sizing:border-box}.iw-calendar .iw-title{font-size:24px;font-weight:700;margin:0 0 12px;padding:0;border:0;background:none;color:var(--iw-ink)}.iw-intro{margin:0 0 18px}.iw-nav{display:flex;gap:12px;justify-content:space-between;margin:12px 0}.iw-nav a,.iw-nav span{display:flex;align-items:center;justify-content:center;min-height:48px;flex:1;border:1px solid var(--iw-key);border-radius:6px;text-decoration:none;color:#006580;font-weight:700;background:#fff}.iw-nav span{color:#87949b;border-color:#dce5e9;background:#f7f9fa}.iw-range{font-size:19px;font-weight:700;text-align:center;margin:18px 0 8px}.iw-legend{font-size:15px;margin:4px 0}.iw-scroll-hint{font-size:14px;color:#546d79;margin:5px 0 12px}.iw-scroll{overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;position:relative;border:1px solid #cfdee5;border-radius:5px}.iw-calendar .iw-table{width:100%;min-width:576px;table-layout:fixed;border-collapse:separate;border-spacing:0;margin:0;line-height:1.3;font-size:17px}.iw-calendar .iw-table th,.iw-calendar .iw-table td{width:72px;text-align:center;vertical-align:middle;border:0;border-right:1px solid #e0e9ed;border-bottom:1px solid #e0e9ed;padding:3px;background:#fff}.iw-calendar .iw-table thead th{height:64px;background:#eefaff;color:#23414f;font-weight:700}.iw-table thead th span{display:block}.iw-calendar .iw-table th.iw-time{position:sticky;left:0;z-index:1;background:#f6f9fa;font-size:15px;box-shadow:1px 0 #cbdde5}.iw-calendar .iw-table thead th.iw-time{z-index:2;background:#e7f7fc}.iw-slot,.iw-unavailable{display:flex;align-items:center;justify-content:center;min-width:52px;min-height:48px;width:100%;text-decoration:none}.iw-calendar .iw-slot{font-size:29px;line-height:1;font-weight:700;color:#00708e;border:1px solid #8bd9ee;border-radius:5px;background:#fff}.iw-slot:hover{background:#e6f9ff!important}.iw-unavailable{font-size:21px;color:#aebbc2}.iw-calendar a:focus-visible,.iw-scroll:focus-visible{outline:3px solid #005e85;outline-offset:2px}.iw-stale{padding:14px;background:#fff5f1;border-left:4px solid #cd3720}.iw-stale a{display:inline-flex;align-items:center;min-height:44px;color:#8d2517}.iw-calendar.iw-expired .iw-slot{color:#aebbc2;background:#f4f7f8;border-color:#dce5e9;pointer-events:none}.iw-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.iw-empty{padding:18px;background:#f6fafc}@media(min-width:700px){.iw-scroll-hint{display:none}}@media(max-width:430px){.iw-calendar .iw-title{font-size:22px}.iw-nav{gap:8px}.iw-range{font-size:17px}}

.iw-preview-notice{padding:14px;background:#fff8ec;border-left:4px solid #a26900;font-size:15px}.iw-preview-slot{cursor:default}

/* Keep dates visible while the page scrolls through the table. */
.iw-calendar {
  --iw-sticky-top: var(--swl-adminbarH, 0px);
  scroll-margin-top: calc(var(--iw-sticky-top) + 8px);
}
@media (min-width: 960px) {
  #body_wrap:has(.l-fixHeader) .iw-calendar {
    --iw-sticky-top: calc(var(--swl-adminbarH, 0px) + var(--swl-fix_headerH, 56px));
  }
}
@media (max-width: 959px) {
  #body_wrap:has(.l-header[data-spfix="1"]) .iw-calendar {
    --iw-sticky-top: calc(var(--swl-adminbarH, 0px) + var(--swl-headerH, 0px));
  }
}
.iw-calendar .iw-scroll { overflow: visible; }
.iw-calendar .iw-table { min-width: 0; }
.iw-calendar .iw-table :is(th, td) { width: auto; }
.iw-calendar .iw-table tbody th.iw-time { position: static; }
.iw-calendar .iw-table thead th { position: sticky; top: var(--iw-sticky-top); z-index: 3; }
.iw-calendar .iw-table thead th.iw-time { z-index: 4; }
.iw-calendar .iw-slot { min-width: 0; scroll-margin-top: calc(var(--iw-sticky-top) + 66px); }

.iw-flow {
  margin: 4px 0 18px;
  color: #23414f;
  font: 700 14px/1.35 -apple-system, BlinkMacSystemFont, "Yu Gothic", Meiryo, sans-serif;
}
.iw-flow .iw-progress {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
.iw-progress li {
  position: relative;
  display: grid;
  justify-items: center;
  gap: 6px;
  margin: 0 !important;
  padding: 0 !important;
  color: #526671;
  text-align: center;
  white-space: nowrap;
}
.iw-progress li:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 14px;
  left: calc(50% + 20px);
  width: calc(100% - 40px);
  height: 3px;
  border-radius: 2px;
  background: #d5e3e8;
}
.iw-progress li.iw-step-done:not(:last-child)::after { background: #0080a4; }
.iw-step-marker {
  display: grid;
  place-items: center;
  width: 31px;
  height: 31px;
  border: 2px solid #c2d2d8;
  border-radius: 50%;
  background: #fff;
  font-size: 14px;
}
.iw-progress .iw-step-done { color: #006580; }
.iw-step-done .iw-step-marker { border-color: #0080a4; background: #e7f7fc; }
.iw-progress [aria-current="step"] { color: #00566f; }
.iw-progress [aria-current="step"] .iw-step-marker {
  border-color: #006580;
  background: #006580;
  box-shadow: 0 0 0 3px #d9f4fc;
  color: #fff;
}
.iw-progress [aria-current="step"] .iw-step-label { font-weight: 800; }
@media (max-width: 355px) {
  .iw-flow { font-size: 13px; }
}

@media (max-width: 699px) {
  .iw-calendar .iw-scroll {
    width: min(calc(100vw - 8px), 600px);
    margin-inline: calc((100% - min(calc(100vw - 8px), 600px)) / 2);
    overflow: visible;
    border: 0;
    max-height: none;
  }
  .iw-calendar .iw-table { min-width: 0; }
  .iw-calendar .iw-table :is(th, td) {
    width: auto;
    padding: 0;
    border-right: 0;
    box-shadow: inset -1px 0 #e0e9ed;
  }
  .iw-calendar .iw-table th.iw-time { width: 40px; font-size: 13px; }
  .iw-calendar .iw-table thead th { height: 54px; font-size: clamp(12px, 3.6vw, 16px); }
  .iw-calendar .iw-table tbody th.iw-time { position: static; }
  .iw-calendar .iw-table thead th { top: var(--iw-sticky-top); }
  .iw-calendar .iw-slot, .iw-calendar .iw-unavailable { min-width: 0; min-height: 48px; }
  .iw-calendar .iw-slot {
    font-size: 25px;
    scroll-margin-top: calc(var(--iw-sticky-top) + 58px);
  }
  .iw-calendar .iw-slot:focus-visible { outline-offset: -3px; }
}

.iw-calendar .iw-table thead th.iw-holiday { color: #cd3720; background: #fff1ed; }

.iw-step-link {
  display: grid;
  justify-items: center;
  gap: 6px;
  min-height: 44px;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.iw-form-back {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 16px;
  margin: 4px 0 18px;
}
.iw-form-back a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 4px 12px;
  border: 1px solid #a6cbd5;
  border-radius: 5px;
  color: #006580;
  text-decoration: none;
}
.iw-step-link:focus-visible, .iw-form-back a:focus-visible {
  outline: 2px solid #005e85;
  outline-offset: 3px;
}
.iw-calendar .iw-table a.iw-slot {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0;
}
.iw-calendar .iw-table a.iw-slot::after {
  content: "";
  box-sizing: border-box;
  width: 22px;
  height: 22px;
  border: 2px solid currentColor;
  border-radius: 50%;
}

#inyou-mts-week > .inyou-reserve-course {
  box-sizing: border-box;
  margin: 0 0 14px;
  padding: 11px 14px;
  border: 1px solid #d5e2e8;
  border-radius: 6px;
  background: #f7fbfd;
  font-size: 15px;
  line-height: 1.55;
}

.iw-booking-footer {
  position: fixed;
  z-index: 20;
  inset: auto 0 0;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  padding: 6px 16px calc(6px + env(safe-area-inset-bottom, 0px));
  background: #fff;
  border-top: 1px solid #d5e2e8;
}
.iw-booking-footer .iw-nav {
  width: min(100%, 850px);
  gap: 8px;
  margin: 0;
}
.iw-calendar .iw-table thead th.iw-today-date {
  background: #d9f3fc;
  box-shadow: inset 0 3px #00b3ea;
}

.iw-calendar[aria-busy="true"] .iw-nav a { cursor: progress; }
