@charset "UTF-8";
html,
body {
  overflow: visible;
}

#calendar {
  width: 100%;
  text-align: center;
  color: #2E3849;
  border: solid 1px #DCE1E9;
  border-top: none;
  overflow: auto;
}
#calendar.embed {
  height: calc(100% - 58px);
}
#calendar #calendar_width {
  min-width: 100%;
}
#calendar ul {
  min-width: 100%;
  display: grid;
  list-style: none;
  background: #FFF;
}
#calendar ul li {
  position: relative;
}
#calendar ul li.time + li.spaces {
  border-left: solid 1px #DCE1E9;
}
#calendar .time {
  background: #FFFFE6;
}
#calendar .time .title {
  font-size: 10px;
  font-size: 1rem;
  min-height: 30px;
  border-bottom: solid 1px #DCE1E9;
  display: flex;
  align-items: center;
  justify-content: center;
}
#calendar .time .title:last-child {
  border-bottom: none;
}
#calendar .time .hour {
  border-bottom: solid 1px #DCE1E9;
}
#calendar .time > div {
  position: relative;
  height: 36px;
  box-sizing: border-box;
  font-size: 12px;
  font-size: 1.2rem;
}
#calendar .time > div b {
  position: absolute;
  top: -6px;
  left: 5px;
  display: block;
  width: 34px;
  background: #FFFFE6;
  line-height: 12px;
}
#calendar .time > div b small {
  font-size: 10px;
  font-size: 1rem;
  font-weight: normal;
}
#calendar .time > div.h30 b {
  color: #8A95A8;
  font-size: 10px;
  font-size: 1rem;
  font-weight: normal;
}
#calendar .spaces {
  font-size: 0;
  line-height: 0;
}
#calendar .spaces > * {
  box-sizing: border-box;
  font-size: 0;
}
#calendar .spaces .court {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #F7F9FB;
  min-height: 30px;
  border-bottom: solid 1px #DCE1E9;
  border-right: solid 1px #DCE1E9;
}
#calendar .spaces .court:last-child {
  border-bottom: none;
}
#calendar .spaces .court p {
  padding: 0 5px;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.2;
}
#calendar .spaces a,
#calendar .spaces .not_allowed {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
#calendar .spaces a > p,
#calendar .spaces .not_allowed > p {
  display: block;
  overflow: hidden;
  width: 100%;
  padding: 0 5px;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 20px;
  word-break: break-all;
  word-wrap: break-word;
}

#calendar_week {
  width: 100%;
  border: solid 1px #DCE1E9;
  border-top: none;
  overflow: auto;
}
#calendar_week table {
  min-width: 100%;
  text-align: center;
  color: #2E3849;
  border-collapse: separate;
  border-spacing: 0;
  border: none;
  background: #FFF;
}
#calendar_week table tbody:last-child tr:last-child > * {
  border-bottom: none;
}
#calendar_week table tr > *:last-child {
  border-right: none;
}
#calendar_week .time {
  background: #FFFFE6;
}
#calendar_week .time > * {
  height: 24px;
  border-bottom: solid 1px #DCE1E9;
}
#calendar_week .time .times {
  min-width: 60px;
  font-size: 10px;
  font-size: 1rem;
  white-space: nowrap;
}
#calendar_week .time .title {
  font-size: 10px;
  font-size: 1rem;
  min-width: 100px;
  white-space: nowrap;
}
#calendar_week .time td {
  min-width: 6px;
  width: 0.5%;
}
#calendar_week .time .border:not(:last-child) {
  border-right: solid 1px #DCE1E9;
}
#calendar_week .time .hour {
  position: relative;
  font-size: 10px;
  font-size: 1rem;
  height: 100%;
  height: 26px;
}
#calendar_week .time .hour b {
  position: absolute;
  left: -8px;
  top: 50%;
  display: block;
  margin-top: -9px;
  background: #FFFFE6;
  line-height: 18px;
  white-space: nowrap;
}
#calendar_week .time .hour b small {
  font-size: 10px;
  font-size: 1rem;
  font-weight: normal;
}
#calendar_week .time .hour.h30 b {
  color: #8A95A8;
  font-size: 10px;
  font-size: 1rem;
  font-weight: normal;
}
#calendar_week .spaces {
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.2;
}
#calendar_week .spaces .day {
  position: sticky;
  left: 0;
  z-index: 500;
  padding: 3px;
  white-space: nowrap;
  border-bottom: solid 1px #DCE1E9;
  border-right: solid 1px #DCE1E9;
  background: #F9F9F9;
  font-weight: normal;
  font-size: 11px;
  font-size: 1.1rem;
  line-height: 1.4;
}
#calendar_week .spaces .day.土 {
  background: #EDF0FA;
}
#calendar_week .spaces .day.土 span {
  color: #4990E2;
}
#calendar_week .spaces .day.日, #calendar_week .spaces .day.holiday {
  background: #FDF3F3;
}
#calendar_week .spaces .day.日 span, #calendar_week .spaces .day.holiday span {
  color: #F44A4F !important;
}
#calendar_week .spaces .court {
  position: sticky;
  left: 60px;
  z-index: 500;
  background: #F7F9FB;
  border-bottom: solid 1px #DCE1E9;
  border-right: solid 1px #DCE1E9;
  font-size: 11px;
  font-size: 1.1rem;
  line-height: 1.2;
}
#calendar_week .spaces .court p {
  padding: 5px;
}
#calendar_week .spaces .slot {
  position: relative;
  height: 36px;
  text-align: center;
  vertical-align: middle;
}
#calendar_week .spaces .slot > p {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
  padding: 0 5px;
  line-height: 1.2;
  text-align: center;
  word-break: break-all;
  word-wrap: break-word;
}
#calendar_week .spaces .slot i {
  margin: 0 auto;
}
#calendar_week .spaces .link:not(.private) {
  cursor: pointer;
}
#calendar_week .spaces .slot:last-child .ex,
#calendar_week .spaces .slot:nth-last-child(2) .ex {
  left: auto !important;
  right: 50%;
  margin-left: 0 !important;
  margin-right: -20px;
}
#calendar_week .spaces .slot:last-child .ex p::after,
#calendar_week .spaces .slot:nth-last-child(2) .ex p::after {
  left: auto !important;
  right: 15px;
}

.spaces i:not(.i14) {
  display: block;
  width: 10px;
  height: 10px;
  background: no-repeat top;
  background-size: 10px 12px;
  font-size: 0;
  color: transparent;
}
.spaces i:not(.i14).free {
  background-image: url("../img/free.68a0f395995c.png");
}
.spaces i:not(.i14).free.join10.full.no {
  background-image: url("../img/batsu.c2c2f3c93d49.png");
}
.spaces i:not(.i14).none {
  width: 6px;
  height: 1px;
  background: rgba(0, 0, 0, 0.2);
}
.spaces i:not(.i14).free.join5, .spaces i:not(.i14).free.join6, .spaces i:not(.i14).free.join7, .spaces i:not(.i14).free.join8, .spaces i:not(.i14).free.join9, .spaces i:not(.i14).free.join10.not_full {
  background-image: url("../img/sankaku.06edebd83e5d.png");
}
.spaces i:not(.i14).free.join10.full {
  background-image: url("../img/sikaku.98655d4143e6.png");
}
.spaces .not_allowed,
.spaces .private {
  cursor: not-allowed;
}
.spaces .not_allowed {
  position: relative;
  background: #EEEEEE;
  border-bottom: solid 1px #DCE1E9;
  border-right: solid 1px #DCE1E9;
}
.spaces .link.disabled:not(.rental_booking):not(.facility_usage),
.spaces .disabled:not(.rental_booking):not(.facility_usage) {
  position: relative;
  background: #BBB;
  background-image: -webkit-gradient(linear, 0 0, 100% 100%, color-stop(0.25, #CCC), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, #CCC), color-stop(0.75, #CCC), color-stop(0.75, transparent), to(transparent));
  -webkit-background-size: 7px 7px;
}
.spaces .link.disabled:not(.rental_booking):not(.facility_usage) i,
.spaces .disabled:not(.rental_booking):not(.facility_usage) i {
  display: none;
}
.spaces td.join10.full.no,
.spaces a.join10.full.no {
  background-color: #EEEEEE;
}
.spaces a,
.spaces .link {
  position: relative;
  text-decoration: none;
  background: #FFF;
  border-bottom: solid 1px #DCE1E9;
  border-right: solid 1px #DCE1E9;
  color: #2E3849;
}
.spaces a:hover:not(.court),
.spaces .link:hover:not(.court):not(.private),
.spaces td.join10.full.no:hover {
  background: #FF8E8E !important;
  color: #FFF !important;
}
.spaces a:hover:not(.court) .free,
.spaces .link:hover:not(.court):not(.private) .free,
.spaces td.join10.full.no:hover .free {
  background-image: url("../img/free_white.f2d40255c1f8.png");
}
.spaces a:hover:not(.court) .none,
.spaces .link:hover:not(.court):not(.private) .none,
.spaces td.join10.full.no:hover .none {
  background: #FFF;
}
.spaces a:hover:not(.court) .free.join10.full.no,
.spaces .link:hover:not(.court):not(.private) .free.join10.full.no,
.spaces td.join10.full.no:hover .free.join10.full.no {
  background-image: url("../img/batsu_white.7ca3db618b52.png");
}
.spaces a:hover:not(.court) .free.join5,
.spaces a:hover:not(.court) .free.join6,
.spaces a:hover:not(.court) .free.join7,
.spaces a:hover:not(.court) .free.join8,
.spaces a:hover:not(.court) .free.join9,
.spaces a:hover:not(.court) .free.join10.not_full,
.spaces .link:hover:not(.court):not(.private) .free.join5,
.spaces .link:hover:not(.court):not(.private) .free.join6,
.spaces .link:hover:not(.court):not(.private) .free.join7,
.spaces .link:hover:not(.court):not(.private) .free.join8,
.spaces .link:hover:not(.court):not(.private) .free.join9,
.spaces .link:hover:not(.court):not(.private) .free.join10.not_full,
.spaces td.join10.full.no:hover .free.join5,
.spaces td.join10.full.no:hover .free.join6,
.spaces td.join10.full.no:hover .free.join7,
.spaces td.join10.full.no:hover .free.join8,
.spaces td.join10.full.no:hover .free.join9,
.spaces td.join10.full.no:hover .free.join10.not_full {
  background-image: url("../img/sankaku_white.42b1173cf3b4.png");
}
.spaces a:hover:not(.court) .free.join10.full,
.spaces .link:hover:not(.court):not(.private) .free.join10.full,
.spaces td.join10.full.no:hover .free.join10.full {
  background-image: url("../img/sikaku_white.6055597fa8b1.png");
}
.spaces .ex {
  display: none;
  text-align: left;
  z-index: 9999;
  max-width: 90%;
  min-width: 170px;
  word-break: break-all;
  white-space: normal;
  line-height: 1.2;
}
.spaces .ex.top {
  bottom: calc(100% + 12px);
}
.spaces .ex.bottom {
  top: calc(100% + 12px);
}
.spaces .ex p {
  word-break: break-all;
  white-space: normal;
  line-height: 1.2 !important;
}
.spaces .not_allowed.white:not(.facility_usage):not(.rental_booking) {
  background: #FAFAFA;
  border-bottom: solid 1px #DCE1E9;
  border-right: solid 1px #DCE1E9;
}
.spaces .not_allowed.white:not(.facility_usage):not(.rental_booking) i {
  display: block;
}
.spaces .not_allowed.over:not(.facility_usage):not(.rental_booking) {
  background: #FAFAFA;
  border-bottom: solid 1px #DCE1E9;
  border-right: solid 1px #DCE1E9;
}
.spaces .not_allowed.over:not(.facility_usage):not(.rental_booking) i {
  display: block;
}
.spaces .not_allowed.excess:not(.facility_usage):not(.rental_booking) {
  background: #BBB;
  background-image: -webkit-gradient(linear, 0 0, 100% 100%, color-stop(0.25, #CCC), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, #CCC), color-stop(0.75, #CCC), color-stop(0.75, transparent), to(transparent));
  -webkit-background-size: 7px 7px;
}
.spaces .not_allowed.excess:not(.facility_usage):not(.rental_booking) i {
  display: none;
}
.spaces .not_allowed.disabled:not(.facility_usage):not(.rental_booking) {
  background: #BBB;
  background-image: -webkit-gradient(linear, 0 0, 100% 100%, color-stop(0.25, #CCC), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, #CCC), color-stop(0.75, #CCC), color-stop(0.75, transparent), to(transparent));
  -webkit-background-size: 7px 7px;
}
.spaces .rental_booking,
.spaces .rental_booking.disabled {
  background: #B5CAF4;
}
.spaces .school,
.spaces .school.disabled {
  background: #D0FFFF;
}
.spaces .school.private,
.spaces .school.private.white.not_allowed,
.spaces .school.status_private,
.spaces .school.status_private.white.not_allowed {
  background: rgba(208, 255, 255, 0.6);
}
.spaces .personal,
.spaces .personal.disabled,
.spaces .individual,
.spaces .individual.disabled {
  background: #E9FCAF;
}
.spaces .individual.private,
.spaces .individual.private.white.not_allowed,
.spaces .individual.status_private,
.spaces .individual.status_private.white.not_allowed {
  background: rgba(233, 252, 175, 0.6);
}
.spaces .tournament,
.spaces .tournament.disabled {
  background: #F8B461;
}
.spaces .tournament.private,
.spaces .tournament.private.white.not_allowed,
.spaces .tournament.status_private,
.spaces .tournament.status_private.white.not_allowed {
  background: rgba(248, 180, 97, 0.6);
}
.spaces .match_make,
.spaces .match_make.disabled {
  background: #FFC4F0;
}
.spaces .match_make.private,
.spaces .match_make.private.white.not_allowed,
.spaces .match_make.status_private,
.spaces .match_make.status_private.white.not_allowed {
  background: rgba(255, 196, 240, 0.6);
}
.spaces .league,
.spaces .league.disabled {
  background: #BFF9BF;
}
.spaces .league.private,
.spaces .league.private.white.not_allowed,
.spaces .league.status_private,
.spaces .league.status_private.white.not_allowed {
  background: rgba(191, 249, 191, 0.6);
}
.spaces .generic,
.spaces .generic.disabled {
  background: #FFCEC4;
}
.spaces .generic.private,
.spaces .generic.private.white.not_allowed,
.spaces .generic.status_private,
.spaces .generic.status_private.white.not_allowed {
  background: rgba(255, 206, 196, 0.6);
}
.spaces .private > p,
.spaces .stauts_private > p {
  opacity: 0.6;
}

.time_title {
  position: relative;
  margin: 0;
  padding: 10px;
  border: solid 1px #DCE1E9;
  background: #FFF;
}
.time_title ol {
  display: table;
  margin: 0 auto;
  list-style: none;
}
.time_title ol > li {
  display: table-cell;
  vertical-align: middle;
}
.time_title ol > li.next {
  text-align: right;
}
.time_title ol > li.prev, .time_title ol > li.next {
  width: 36px;
}
.time_title ol > li.prev {
  padding-left: 140px;
}
.time_title ol > li.next {
  padding-right: 140px;
}
.time_title ol > li.prev a, .time_title ol > li.next a {
  display: inline-block;
  width: 36px;
  height: 36px;
  border-radius: 5px;
  background: url("../img/arrow_calendar2.8e1f60073470.png") no-repeat center;
  background-size: 10px 10px;
  font-size: 0;
  color: transparent;
  vertical-align: top;
}
.time_title ol > li.next a {
  transform: rotate(180deg);
}
.time_title ol > li a:hover {
  background-image: url("../img/arrow_calendar2_on.8092c934f5ee.png");
  background-color: #F7F9FB;
}
.time_title h3 {
  margin: 0;
  padding: 8px 0;
  font-size: 20px;
  font-size: 2rem;
  line-height: 1;
  text-align: center;
}
.time_title h3 .week {
  display: inline-block;
  margin-right: -6px;
  font-size: 14px;
  font-size: 1.4rem;
}
.time_title h3 .week .土 {
  color: #4990E2;
}
.time_title h3 .week .日,
.time_title h3 .week .holiday {
  color: #F44A4F;
}
.time_title.embed h3 {
  padding: 0;
  height: 36px;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
  line-height: 36px;
}
.time_title .btns {
  position: absolute;
  right: 10px;
  top: 10px;
  display: table;
  font-size: 0;
  line-height: 1;
}

#calendar + .time_title,
#calendar_week + .time_title {
  border-top: none;
}

.time_title .btns > li {
  display: table-cell;
}

.time_title .btns > li + li {
  padding-left: 10px;
}

.time_title .btns a {
  display: inline-block;
  padding: 11px;
  border: solid 1px #DCE1E9;
  border-radius: 5px;
  color: #647479;
  font-size: 12px;
  font-size: 1.2rem;
  text-decoration: none;
}

.time_title .btns a.selected,
.time_title .btns a:hover {
  border-color: #004477;
  background: #004477;
  color: #FFF;
}

.time_title .btns .tabs a {
  border-radius: 0;
}

.time_title .btns .tabs a:first-child {
  border-radius: 5px 0 0 5px;
}

.time_title .btns .tabs a:last-child {
  border-radius: 0 5px 5px 0;
}

/* タイムテーブルの上下日付 ここまで */
#calendar_scroll_bar {
  overflow-x: scroll;
  overflow-y: hidden;
  height: 15px;
  border: solid 1px #DCE1E9;
  border-top: none;
}

#calendar_switch {
  padding: 10px 10px 20px;
}
#calendar_switch ul {
  display: table;
  width: 100%;
  border-radius: 5px;
  box-shadow: 1px 1px 0 #DCE1E9;
  background: #F7F9FB;
}
#calendar_switch ul > li {
  display: table-cell;
  width: 10%;
}
#calendar_switch ul > li a {
  display: block;
  padding: 10px;
  text-align: center;
  line-height: 1;
  font-size: 14px;
  font-size: 1.4rem;
}
#calendar_switch ul > li a.selected {
  background: #004477;
  color: #FFF;
}
#calendar_switch ul > li:first-child a {
  border-radius: 5px 0 0 5px;
}
#calendar_switch ul > li:last-child a {
  border-radius: 0 5px 5px 0;
}

.time_title_sp ol {
  display: table;
  width: 100%;
}
.time_title_sp li {
  display: table-cell;
  padding: 20px 10px 0;
  vertical-align: middle;
  text-align: center;
}
.time_title_sp .prev {
  width: 54px;
  padding-right: 0;
  text-align: left;
}
.time_title_sp .next {
  width: 54px;
  padding-left: 0;
  text-align: right;
}
.time_title_sp .day {
  display: table;
  width: 100%;
  height: 44px;
  border-radius: 5px;
  background: #F7F9FB url("../img/select_arrow_sp.0b8ca9229338.png") no-repeat right;
  background-size: 20px 8px;
  box-shadow: 1px 1px 0 #DCE1E9;
}
.time_title_sp .day h3 {
  display: table-cell;
  padding: 0 20px;
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 1.2;
  vertical-align: middle;
  cursor: pointer;
}
.time_title_sp .day .week {
  font-size: 11px;
  font-size: 1.1rem;
}
.time_title_sp .day .before,
.time_title_sp .day .after {
  display: inline-block;
}
.time_title_sp .day .before .week {
  margin: 0 -6px 0 -4px;
}
.time_title_sp .day .after .week {
  margin: 0 0 0 -4px;
}
.time_title_sp .day .土 {
  color: #4990E2;
}
.time_title_sp .day .日,
.time_title_sp .day .holiday {
  color: #F44A4F;
}
.time_title_sp ol a,
.time_title_sp .prev span {
  display: block;
  height: 44px;
  border-radius: 5px;
  background: #F7F9FB url("../img/arrow_calendar2.8e1f60073470.png") no-repeat center;
  background-size: 10px 10px;
  text-align: center;
  line-height: 28px;
  font-size: 0;
  color: transparent;
  box-shadow: 1px 1px 0 #DCE1E9;
}
.time_title_sp .prev span {
  position: relative;
  background: #F7F9FB;
  box-shadow: none;
}
.time_title_sp .prev span::after {
  position: absolute;
  left: 50%;
  top: 50%;
  content: "";
  width: 10px;
  height: 10px;
  margin: -5px 0 0 -5px;
  background: url("../img/arrow_calendar2.8e1f60073470.png") no-repeat center;
  background-size: 10px 10px;
  opacity: 0.2;
}
.time_title_sp ol .next a {
  transform: rotate(180deg);
  box-shadow: -1px -1px 0 #DCE1E9;
}

#space_category {
  display: flex;
  position: relative;
  z-index: 1;
  padding: 0 20px;
  list-style: none;
}
#space_category li {
  margin: 0 0 -1px;
}
#space_category li + li {
  margin-left: 5px;
}
#space_category li a {
  display: block;
  padding: 10px 20px;
  background: #FFF;
  color: #647479;
  border: solid 1px #DCE1E9;
  text-decoration: none;
}
#space_category li a.selected {
  padding-top: 8px;
  border-top: solid 3px #004477;
  border-bottom-color: #FFF;
  background: #FFF;
  color: #000;
}

/* カレンダーのスタイル ここから */
.res_calendar_title {
  position: relative;
  background: #F7F9FB;
  text-align: center;
  padding: 10px;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: bold;
  line-height: 1;
}

.res_calendar_title a {
  position: absolute;
  top: 0;
  display: block;
  width: 32px;
  height: 32px;
  background: url("../img/arrow_calendar.f424a34b8b46.png") no-repeat 11px 11px;
  background-size: 6px 10px;
  font-size: 0;
  color: transparent;
  text-align: left;
}

.res_calendar_title a:hover {
  background-image: url("../img/arrow_calendar_hover.42b4e8716500.png");
}

.res_calendar_title img {
  width: 6px;
  height: 10px;
  vertical-align: top;
}

.res_calendar_title .prev {
  left: 0;
}

.res_calendar_title .next {
  right: 0;
  transform: rotate(180deg);
}

.res_calendar {
  margin: 0;
  padding: 5px;
}
.res_calendar table {
  border-collapse: separate;
  border-spacing: 0;
}

.res_calendar tr > * {
  width: 26px;
  padding: 1px;
  text-align: center;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: bold;
}

.res_calendar a,
.res_calendar span:not(.ex) {
  position: relative;
  display: block !important;
  padding: 6px 0;
  border-radius: 13px;
  text-align: center;
  text-decoration: none;
  line-height: 1;
  color: #333;
}
.res_calendar a .ex,
.res_calendar span:not(.ex) .ex {
  bottom: 30px;
}

.res_calendar .month_not_member * {
  opacity: 0.25;
}

.res_calendar a.today {
  background: #FCE8C6;
  color: #EA9914;
}

.res_calendar .saturday a.today,
.res_calendar .F + .S span.today {
  background: #E4EFFB;
}

.res_calendar .sunday a.today,
.res_calendar .national_holiday a.today {
  background: #FEE4E5;
}

.res_calendar .sunday a,
.res_calendar .S span,
.res_calendar .日 span {
  color: #F44A4F;
}

.res_calendar .saturday a,
.res_calendar .F + .S span,
.res_calendar .土 span {
  color: #4990E2;
}

.res_calendar .national_holiday a {
  color: #F44A4F;
}

.res_calendar .cell a:hover,
.res_calendar .selected_day:not(.month_not_member) a {
  opacity: 1;
  background: #004477;
  color: #FFF;
}
.res_calendar .cell a:hover .ex,
.res_calendar .cell a:hover .ex p,
.res_calendar .selected_day:not(.month_not_member) a .ex,
.res_calendar .selected_day:not(.month_not_member) a .ex p {
  opacity: 1;
}

.res_calendar .sunday a:hover,
.res_calendar .sunday.selected_day:not(.month_not_member) a {
  background: #F44A4F;
}

.res_calendar .saturday a:hover,
.res_calendar .saturday.selected_day:not(.month_not_member) a {
  background: #4990E2;
}

.res_calendar .national_holiday a:hover,
.res_calendar .national_holiday.selected_day:not(.month_not_member) a {
  background: #F44A4F;
}

.week_calendars .selected_day a {
  margin-left: -1px;
  margin-right: -1px;
  padding-left: 1px;
  padding-right: 1px;
  border-radius: 0;
  border: none !important;
  background: #004477 !important;
  color: #FFF !important;
}

.week_calendars .selected_day.week_start a {
  border-radius: 13px 0 0 13px;
}

.week_calendars .selected_day.week_end a {
  border-radius: 0 13px 13px 0;
}

.week_calendars .selected_day.monday a {
  margin-left: -7px;
  padding-left: 7px;
}

.week_calendars .selected_day.sunday a {
  margin-right: -7px;
  padding-right: 7px;
}

.week_calendars .selected_day.monday.week_start a {
  margin-left: -1px;
  padding-left: 1px;
}

.week_calendars .selected_day.sunday.week_end a {
  margin-right: -1px;
  padding-right: 1px;
}

.week_calendars2 .selected_day a {
  margin: 0 -1px;
  border-radius: 0;
  border: none !important;
  background: #004477 !important;
  color: #FFF !important;
}

.week_calendars2 .selected_day.week_start a {
  border-radius: 13px 0 0 13px;
}

.week_calendars2 .selected_day.week_end a {
  border-radius: 0 13px 13px 0;
}

.week_calendars2 .selected_day.monday a {
  margin-left: -6px;
  padding-left: 6px;
}

.week_calendars2 .selected_day.sunday a {
  margin-right: -6px;
  padding-right: 6px;
}

.week_calendars2 .selected_day.monday.week_start a {
  margin-left: -2px;
  padding-left: 2px;
}

.week_calendars2 .selected_day.sunday.week_end a {
  margin-right: -2px;
  padding-right: 2px;
}

.res_calendar .disabled {
  opacity: 0.25;
}

.calendar_block {
  width: 194px;
  background: #FFF;
}
.calendar_block + .calendar_block {
  margin-left: 10px;
}

/* カレンダーのスタイルここまで */
/* タイムテーブルの色の指標 ここから */
#time_sample {
  border: solid 1px #DCE1E9;
  border-top: none;
  padding: 20px 0 10px 20px;
  background: #F7F9FB;
  text-align: center;
}
#time_sample ul {
  display: block;
  font-size: 0;
  margin: 0 auto;
}
#time_sample ul li {
  display: inline-block;
  padding: 0 20px 10px 0;
  font-size: 12px;
  font-size: 1.2rem;
  vertical-align: middle;
  line-height: 20px;
}
#time_sample ul li span {
  display: inline-block;
  width: 20px;
  height: 20px;
  margin-right: 6px;
  padding: 4px;
  border: solid 2px #CCC;
  background: #FFF;
  font-size: 0;
  vertical-align: top;
}
#time_sample .tentative {
  background-color: #FFFFCC;
  border-color: #F1D963;
}
#time_sample .reserve,
#time_sample .reserve_visitor {
  background-color: #B5CAF4;
  border-color: #80A0E9;
}
#time_sample .reserve_member {
  background-color: #B0ACF2;
  border-color: #8C88DF;
}
#time_sample .school {
  background-color: #D0FFFF;
  border-color: #B2D8D8;
}
#time_sample .league {
  background-color: #BFF9BF;
  border-color: #A2D4A2;
}
#time_sample .individual {
  background-color: #E9FCAF;
  border-color: #CCDC9A;
}
#time_sample .tournament {
  background-color: #F8B461;
  border-color: #D49A54;
}
#time_sample .match_make {
  background-color: #FFC4F0;
  border-color: #DBAACE;
}
#time_sample .generic {
  background-color: #FFCEC4;
  border-color: #E1B4AB;
}
#time_sample .empty {
  background-color: #DDDDDD;
  border-color: #CCC;
}
#time_sample img {
  width: 8px;
  height: 8px;
  vertical-align: top;
}