@charset "UTF-8";

.contents {
  text-align: center;
  align-items: center;
  margin: 0 auto;
  width: 60rem;
}

h1{
	color: black;
	font-size: 5rem;
	font-weight: bold;
	margin-top: 0;
}

.stage-head{
	margin: 0 auto;
}

.days{
    font-size: 2.75vw;
    text-align: center;
}

.stage_schedule{
    border-collapse: collapse;
    width: 50vw;
    max-width:500px;
    height: 40vw;
    margin: auto auto 0.3vw auto;
}

.stage_schedule thead tr{
    font-size: 2.5vw;
    height: 3vw;
    background-color: rgba(215, 215, 215, 1);
}
.stage_schedule th,td{
    border: solid 2px black;
}

.stage-time{
    font-size:2.5vw;
    font-weight: 500;
    padding: 1vw;
}

.stage-program{
    font-size: 2.5vw;
    font-weight: 500;
}

.timetable-js{
    margin: auto;
}

.tabs {
  display: flex;
  align-items: center;
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
  max-width: 60rem;
}

.tab-button {
  flex: 1;
  padding: 10px;
  cursor: pointer;
  background: #eee;
  border: 1px solid #ccc;
  font-size: 3rem;
  font-weight: 550;
}

.tab-button.active {
  background: #ddd;
}

.timetable-container {
  position: relative;
  overflow-x: auto;
  max-width: 60rem;
  font-size: 2rem;
}
  
.timetable {
  position: relative;
  border-collapse: collapse;
}

.timetable__header {
  display: flex;
  font-size: 3rem;
}

.timetable__row {
  display: flex;
}

.timetable__cell {
  flex: 1;
  padding: 8px;
  border: 1px solid #ccc;
  text-align: center;
}
.timetable__cell_time {
  flex: 0.5;
  padding: 8px;
  border: 1px solid #ccc;
  text-align: center;
}
  
.time-bar {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 2px;
  background: red;
  transition: top 0.5s;
  z-index: 1;
}

.stage-element {
  display: flex;
  position: absolute;
  top: 0px;
  width: 100%;
}

.stage__cell_dummy {
  flex: 0.5;
  padding: 8px;
  border: 1px solid #0000;
  background-color: #0000;
  text-align: center;
}

.stage__cell_content {
  flex: 1;
  padding: 8px;
  border: 1px solid #ccc;
  text-align: center;
  background-color: aliceblue;
}