/* メイン */
/** ～1119px **/
main {
  padding: 0 5px;
}

/** 1120px～ **/
@media only screen and (min-width: 1120px) {
  main {
    padding: 0;
  }
}

/* セクションタイトル */
h3.section-title {
  margin: 20px 0 5px 0;
}

@scope (section#section1) {
  table td {
    padding: 5px;
    text-align: center;
  }

  p.diagram-revision-timetable,
  p.diagram-revision-details {
    margin: 20px 0 0 0;
  }

  ul.diagram-revision-timetable,
  ul.diagram-revision-details {
    list-style: square;
  }
}

@media screen and (min-width: 600px) {
  table {
    border-collapse: collapse;
    margin: 5px 0 0 0;
  }
  table th {
    font-size: normal;
    font-weight: bold;
    background-color: skyblue;
  }
  table tr {
    border: 1px solid black;
  }
  table td.line-left {
    border-left: 1px solid black;
  }
}

@media screen and (max-width: 600px) {
  table,
  tbody,
  th,
  tr,
  td {
    display: block;
  }
  table {
    border-left: 1px solid black;
    border-right: 1px solid black;
    width: 100%;
  }
  table th {
    border-top: 1px solid black;

    background-color: skyblue;
  }
  table tr {
    margin-top: 5px;
    border-bottom: 1px solid black;
  }

  table td {
    position: relative;
  }
  table td.diagram {
    border-top: 1px solid black;
    border-bottom: 1px solid black;
  }
  table td.diagram.weekday {
    background-color: azure;
  }
  table td.diagram.holiday {
    background-color: lightcoral;
  }
}
