#timetable .timetable_area {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0 5%;
  max-width: 1440px;
  margin-right: auto;
  margin-left: auto;
}
#timetable .timetable_area .timetable_navi {
  display: flex;
  justify-content: center;
  margin-bottom: var(--wp--preset--spacing--50);
  width: 100%;
  text-align: center;
}
#timetable .timetable_area .timetable_navi .mode_btn {
  cursor: pointer;
  display: block;
  padding: 0.5em;
  text-decoration: none;
  font-weight: bold;
  font-size: clamp(1rem, 0.375rem + 1.67vw, 1.625rem);
  width: min(50%, 400px);
  border: solid 1px var(--wp--preset--color--theme-black);
  background-color: var(--wp--preset--color--theme-white);
  color: var(--wp--preset--color--theme-gray);
  transition: all 0.2s;
}
#timetable .timetable_area .timetable_navi .mode_btn.-active {
  background-color: var(--wp--preset--color--theme-black);
  color: var(--wp--preset--color--theme-white);
}
#timetable .timetable_area .timetable_navi .mode_btn:not(.-active):hover {
  color: var(--wp--preset--color--theme-black);
}
#timetable .timetable_area .timetable_head {
  order: 0;
  flex-shrink: 0;
  flex-grow: 0;
  text-align: center;
}
#timetable .timetable_area .timetable_head:has([aria-expanded=false]):not(:hover) {
  opacity: 0.4;
}
#timetable .timetable_area .timetable_head .timetable_tab {
  margin: 0;
  font-size: 2.25rem;
  line-height: 1.25;
}
#timetable .timetable_area .timetable_head .timetable_week {
  display: flex;
  justify-content: center;
}
#timetable .timetable_area .timetable_head .timetable_week .weektype_btn {
  display: block;
  padding: 0.5em;
  min-width: 5em;
  font-weight: bold;
  font-size: 1.75rem;
}
#timetable .timetable_area .timetable_head .timetable_week .weektype_btn:last-of-type {
  color: var(--wp--preset--color--theme-red);
}
#timetable .timetable_area .timetable_head .timetable_week .weektype_btn::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0;
  border-top: solid 0px var(--wp--preset--color--theme-red);
  z-index: 10;
}
#timetable .timetable_area .timetable_head .timetable_week .weektype_btn.-active::after {
  border-top-width: 5px;
}
#timetable .timetable_area .timetable_body {
  order: 1;
  padding-top: var(--wp--preset--spacing--30);
  width: 100%;
  border-top: solid 1px;
}
#timetable .timetable_area[data-tt-mode=favorite] .timetable .tt_program:has(input.fav_switch:not(:checked)) {
  display: none !important;
}
#timetable .timetable_table {
  padding-bottom: 1rem;
}
#timetable .timetable_table:has(.weektype_switch:not(:checked)) {
  display: none !important;
}
@media (max-width: 1199px) {
  #timetable .timetable_table {
    overflow: auto clip;
  }
}
#timetable .timetable {
  --timetable--preset--facility-main-height: 3rem;
  --timetable--preset--facility-sub-height: 2rem;
  --timetable--preset--item-width: 5rem;
  --timetable--preset--item-height: 8rem;
  display: grid;
  grid-template-columns: 2rem repeat(auto-fit, minmax(0px, 1fr));
  gap: 0;
  min-width: 1000px;
  line-height: 1;
}
#timetable .timetable tr,
#timetable .timetable th,
#timetable .timetable td {
  display: block;
  padding: 0;
  border-style: solid;
  border-width: 0;
}
#timetable .timetable thead,
#timetable .timetable tbody {
  display: grid;
}
#timetable .timetable thead .tt_hour:not(:last-child),
#timetable .timetable tbody .tt_hour:not(:last-child) {
  height: calc(var(--timetable--preset--item-height) * 2 + 1px);
}
#timetable .timetable thead .tt_hour:last-child,
#timetable .timetable tbody .tt_hour:last-child {
  height: 0;
}
#timetable .timetable thead {
  grid-template-columns: 2rem;
}
#timetable .timetable thead th.tt_facility {
  visibility: hidden;
  height: calc(var(--timetable--preset--facility-main-height) + var(--timetable--preset--facility-sub-height) + var(--timetable--preset--item-height) / 2 + 1rem + 2px);
}
#timetable .timetable thead th.tt_hour .hour {
  display: block;
  padding: 0.25em;
  font-size: var(--wp--preset--font-size--x-small);
  text-align: right;
  translate: 0 -50%;
}
#timetable .timetable tbody {
  grid-template-columns: repeat(auto-fit, minmax(var(--timetable--preset--item-width), 1fr));
  background-color: var(--wp--preset--color--theme-lightgray);
}
#timetable .timetable tbody:not(:has(th[rowspan])):has(.tt_program.break) {
  grid-column: span 2;
}
#timetable .timetable tbody:has(th[rowspan="2"]) {
  grid-column: span 2;
}
#timetable .timetable tbody:has(th[rowspan="2"]):has(.tt_program.break) {
  grid-column: span 3;
}
#timetable .timetable tbody:has(th[rowspan="3"]) {
  grid-column: span 3;
}
#timetable .timetable tbody:has(th[rowspan="3"]):has(.tt_program.break) {
  grid-column: span 4;
}
#timetable .timetable tbody:has(th[rowspan="4"]) {
  grid-column: span 4;
}
#timetable .timetable tbody:has(th[rowspan="4"]):has(.tt_program.break) {
  grid-column: span 5;
}
#timetable .timetable tbody:has(th[rowspan="5"]) {
  grid-column: span 5;
}
#timetable .timetable tbody:has(th[rowspan="5"]):has(.tt_program.break) {
  grid-column: span 6;
}
#timetable .timetable tbody tr {
  border-color: var(--wp--preset--color--theme-white);
  border-right-width: 1px;
}
#timetable .timetable tbody tr:has(th[rowspan]) ~ tr {
  margin-top: var(--timetable--preset--facility-main-height);
}
#timetable .timetable tbody tr:has(.tt_program.break) {
  grid-column: span 2;
}
#timetable .timetable tbody tr:has(.tt_program.break) .tt_program {
  width: calc(50% - 1px);
}
#timetable .timetable tbody tr:has(.tt_program.break) .tt_program.break {
  right: 0;
}
#timetable .timetable tbody th,
#timetable .timetable tbody td {
  width: 100%;
}
#timetable .timetable tbody th {
  position: sticky;
  top: 0;
  left: 0;
  z-index: 200;
  display: flex;
  justify-content: center;
  align-items: center;
  border-bottom-width: 1px;
  background-color: var(--wp--preset--color--theme-darkgray);
  color: var(--wp--preset--color--theme-white);
  text-wrap: balance;
}
#timetable .timetable tbody th.venue_main {
  height: var(--timetable--preset--facility-main-height);
  font-size: var(--wp--preset--font-size--x-small);
}
#timetable .timetable tbody th.venue_main[rowspan="2"] {
  width: calc(200% + 1px);
}
#timetable .timetable tbody th.venue_main[rowspan="3"] {
  width: calc(300% + 2px);
}
#timetable .timetable tbody th.venue_main[rowspan="4"] {
  width: calc(400% + 3px);
}
#timetable .timetable tbody th.venue_main[rowspan="5"] {
  width: calc(500% + 4px);
}
#timetable .timetable tbody th.venue_main[colspan] {
  height: calc(var(--timetable--preset--facility-main-height) + var(--timetable--preset--facility-sub-height));
}
#timetable .timetable tbody th.venue_sub {
  top: var(--timetable--preset--facility-main-height);
  height: var(--timetable--preset--facility-sub-height);
  font-size: var(--wp--preset--font-size--xx-small);
}
#timetable .timetable tbody td {
  display: block;
  width: 100%;
  border-color: var(--wp--preset--color--theme-gray);
}
#timetable .timetable tbody td.venue_thumb {
  padding-bottom: 1rem;
}
#timetable .timetable tbody td.venue_thumb .thumbnail {
  display: block;
  margin: 0;
  width: 100%;
  height: calc(var(--timetable--preset--item-height) / 2);
}
#timetable .timetable tbody td.venue_thumb .thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#timetable .timetable tbody td.tt_hour {
  border-top-width: 1px;
}
#timetable .timetable tbody td.tt_hour:not(:last-child)::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  width: auto;
  height: 0;
  border-top: dotted 1px var(--wp--preset--color--theme-gray);
}
#timetable .timetable tbody.venue_museum th {
  background-color: #AC095F;
}
#timetable .timetable tbody.venue_museum .tt_program {
  text-shadow: -1px -1px 0px #EDD9E3, -1px 0px 0px #EDD9E3, -1px 1px 0px #EDD9E3, 0px -1px 0px #EDD9E3, 0px 0px 1px #EDD9E3, 0px 1px 0px #EDD9E3, 1px -1px 0px #EDD9E3, 1px 0px 0px #EDD9E3, 1px 1px 0px #EDD9E3;
}
#timetable .timetable tbody.venue_museum .tt_program .program_hour {
  background-color: rgba(172, 9, 95, 0.12);
}
#timetable .timetable tbody.venue_hall th {
  background-color: #4778A8;
}
#timetable .timetable tbody.venue_hall .tt_program {
  text-shadow: -1px -1px 0px #E1E7EC, -1px 0px 0px #E1E7EC, -1px 1px 0px #E1E7EC, 0px -1px 0px #E1E7EC, 0px 0px 1px #E1E7EC, 0px 1px 0px #E1E7EC, 1px -1px 0px #E1E7EC, 1px 0px 0px #E1E7EC, 1px 1px 0px #E1E7EC;
}
#timetable .timetable tbody.venue_hall .tt_program .program_hour {
  background-color: rgba(71, 120, 168, 0.12);
}
#timetable .timetable tbody.venue_workshop th {
  background-color: #BC586A;
}
#timetable .timetable tbody.venue_workshop .tt_program {
  text-shadow: -1px -1px 0px #EFE3E5, -1px 0px 0px #EFE3E5, -1px 1px 0px #EFE3E5, 0px -1px 0px #EFE3E5, 0px 0px 1px #EFE3E5, 0px 1px 0px #EFE3E5, 1px -1px 0px #EFE3E5, 1px 0px 0px #EFE3E5, 1px 1px 0px #EFE3E5;
}
#timetable .timetable tbody.venue_workshop .tt_program .program_hour {
  background-color: rgba(188, 88, 106, 0.12);
}
#timetable .timetable tbody.venue_crafts-studio th {
  background-color: #B67E45;
}
#timetable .timetable tbody.venue_crafts-studio .tt_program {
  text-shadow: -1px -1px 0px #EFE8E2, -1px 0px 0px #EFE8E2, -1px 1px 0px #EFE8E2, 0px -1px 0px #EFE8E2, 0px 0px 1px #EFE8E2, 0px 1px 0px #EFE8E2, 1px -1px 0px #EFE8E2, 1px 0px 0px #EFE8E2, 1px 1px 0px #EFE8E2;
}
#timetable .timetable tbody.venue_crafts-studio .tt_program .program_hour {
  background-color: rgba(182, 126, 69, 0.12);
}
#timetable .timetable tbody.venue_kotan th {
  background-color: #618172;
}
#timetable .timetable tbody.venue_kotan .tt_program {
  text-shadow: -1px -1px 0px #E3E8E6, -1px 0px 0px #E3E8E6, -1px 1px 0px #E3E8E6, 0px -1px 0px #E3E8E6, 0px 0px 1px #E3E8E6, 0px 1px 0px #E3E8E6, 1px -1px 0px #E3E8E6, 1px 0px 0px #E3E8E6, 1px 1px 0px #E3E8E6;
}
#timetable .timetable tbody.venue_kotan .tt_program .program_hour {
  background-color: rgba(97, 129, 114, 0.12);
}
#timetable .timetable tbody.venue_throughout-upopoy th {
  background-color: #986B5B;
}
#timetable .timetable tbody.venue_throughout-upopoy .tt_program {
  text-shadow: -1px -1px 0px #ECE6E5, -1px 0px 0px #ECE6E5, -1px 1px 0px #ECE6E5, 0px -1px 0px #ECE6E5, 0px 0px 1px #ECE6E5, 0px 1px 0px #ECE6E5, 1px -1px 0px #ECE6E5, 1px 0px 0px #ECE6E5, 1px 1px 0px #ECE6E5;
}
#timetable .timetable tbody.venue_throughout-upopoy .tt_program .program_hour {
  background-color: rgba(152, 107, 91, 0.12);
}
#timetable .timetable tbody .tt_program {
  display: block;
  position: absolute;
  padding-top: 2em;
  width: 100%;
  height: var(--timetable--preset--item-height);
  color: inherit;
  font-size: var(--wp--preset--font-size--smallest);
  text-decoration: none;
  line-height: 1;
  z-index: auto;
}
#timetable .timetable tbody .tt_program > * {
  display: block;
  margin: 0 0.25rem 0.125rem;
}
#timetable .timetable tbody .tt_program a {
  display: block;
  color: inherit;
  text-decoration: none;
}
#timetable .timetable tbody .tt_program .program_fav {
  position: absolute;
  top: 0;
  right: 0;
  margin: 0.25rem;
  width: 1em;
  height: 1em;
  font-size: var(--wp--preset--font-size--x-small);
  z-index: 20;
  line-height: 1;
}
#timetable .timetable tbody .tt_program .program_fav .fav_button {
  cursor: pointer;
  display: block;
  padding: 0;
  width: 1em;
  height: 1em;
  border: none;
  background: none;
  transition: all 0.2s;
}
#timetable .timetable tbody .tt_program .program_fav .fav_button .icn {
  fill: var(--wp--preset--color--theme-white);
}
#timetable .timetable tbody .tt_program .program_fav .fav_button:hover {
  scale: 1.05;
}
#timetable .timetable tbody .tt_program .program_fav .fav_button:active {
  scale: 0.95;
}
#timetable .timetable tbody .tt_program .program_fav .fav_switch:checked + .fav_button .icn {
  fill: var(--wp--preset--color--theme-red);
}
#timetable .timetable tbody .tt_program .program_fee {
  position: absolute;
  top: 0;
  margin: 0.25rem;
  right: 1.25em;
  width: 1em;
  height: 1em;
  font-size: var(--wp--preset--font-size--x-small);
  z-index: 20;
  line-height: 1;
}
#timetable .timetable tbody .tt_program .program_fee .icn.fee_paid {
  fill: #D10F5A;
}
#timetable .timetable tbody .tt_program .program_fee .icn.fee_partially-paid {
  fill: #E68E01;
}
#timetable .timetable tbody .tt_program .program_hour {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  margin: 0;
  padding: 0.25rem;
  z-index: 0;
}
#timetable .timetable tbody .tt_program .program_time {
  z-index: 10;
}
#timetable .timetable tbody .tt_program .program_title {
  font-weight: bold;
  font-size: 1.2em;
  z-index: 10;
}
#timetable .timetable tbody .tt_program .program_thumb {
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0;
  margin: 0;
  aspect-ratio: 16/9;
  background-color: var(--wp--preset--color--theme-gray);
  z-index: 0;
}
#timetable .timetable tbody .tt_program .program_thumb img {
  aspect-ratio: 16/9;
  -o-object-fit: cover;
     object-fit: cover;
}/*# sourceMappingURL=timetable.css.map */