.program_table {
  position: relative;
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  border-top: 1px solid var(--common-border-color);
  border-collapse: collapse;
  border-spacing: 0px; 
}
.program_table th {
  background-color: var(--common-border-color);
  color: #ffffff;
  font-weight: bold;
  padding: 4px 0px 6px 0px;
}
.program_table td {
  padding: 12px 12px 12px 12px;
  border-bottom: 1px solid var(--common-border-color);
  line-height: 1.8em;
}
.program_table td.time {
  width: 15%;
  vertical-align: top;
  text-align: center;
}
.program_table td.desc {
  width: 84%;
  text-align: center;
}
.program_table td:last-child {
  border-left: 1px solid var(--common-border-color);
}
.program_table td.desc .text,
.program_table td.desc .subtext {
  text-align: left;
}
.program_table td.desc .subtext {
  display: block;
  width: 98%;
}
.program_table td.desc .subtext {
  display: inline-block;
  width: 70%;
  padding-left: 2px;
}
.program_table td.desc .speaker {
  display: inline-block;
  width: 25%;
  vertical-align: bottom;
  text-align: right;
}
.program_table .bg_gray {
  background-color: #cccccc;
}
@media screen and (max-width: 767px) {
  .program_table {
    width: 100%;
  }
  .program_table td.time {
    line-height: 1.0em;
    width: 18%;
  }
  .program_table td.desc {
    padding: 8px 12px 8px 12px;
    width: 81%;
  }
  .program_table td.desc .text,
  .program_table td.desc .subtext {
    display: block;
    width: 100%;
    margin-top: 4px;
  }
  .program_table td.desc .subtext {
    padding-left: 0px;
  }
  .program_table td.desc .speaker {
    display: block;
    width: 100%;
    text-align: right;
    margin-bottom: 4px;
  }
}