.schedule_table table {
  width: 100%;
  margin: auto;
  background: #fff;
}

.schedule_table table,
.schedule_table th,
.schedule_table td {
  border: #ddd thin solid;
  border-collapse: collapse;
}

.schedule_table th,
.schedule_table td {
  padding: 10px 10px;
}

.schedule_table th {
  text-align: left;
}

.schedule_table td {
  vertical-align: top;
}

.schedule_table td.url span.subtxt {
  font-size: 1.2rem;
  display: block;
}

@media print, screen and (max-width: 900px) {}

/* // note ///// #schedule ////// */

#schedule table {
  max-width: 1080px;
}

#schedule h3 span {
  margin-left: 1em;
}

#schedule thead th {
  background: #ededed;
}

#schedule .date,
#schedule .performer,
#schedule .url {
  white-space: nowrap;
}

#schedule td.title {
  max-width: 450px;
}

#schedule td.title a {
  color: #000;
}

.title_outer {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

#schedule td.title a:hover {
  text-decoration: underline;
}

#schedule td.title figure {
  width: 15%;
  margin: 0;
}

#schedule td.title .photo_copy {
  font-size: 1rem;
}

#schedule td.title .title_txt {
  width: 83%;
}

#schedule td.title a small {
  font-size: 1.2rem;
}

#schedule .linkbtn_s {
  display: block;
  text-align: center;
}

#schedule .soon {
  padding: 0.25em 1em;
  font-size: 1.1rem;
  background: #ccc;
  border-radius: 2em;
  color: #fff;
}

@media print, screen and (max-width: 900px) {

  #schedule table,
  #schedule th,
  #schedule td {
    border: none;
    border-collapse: collapse;
  }

  #schedule tr {
    border: #999 thin dotted;
  }

  #schedule thead {
    display: none;
  }

  #schedule th,
  #schedule td {
    display: block;
  }

  #schedule tr {
    display: block;
    margin-bottom: 2em;
  }

  #schedule td.date {
    padding-top: 1.5em;
  }

  #schedule td.url {
    padding-bottom: 2em;
  }

  #schedule td.date::before,
  #schedule td.performer::before,
  #schedule td.place::before {
    width: auto;
    height: 100%;
    font-weight: bold;
    content: attr(data-label);
    /* color: #9d4753; */
    margin-right: 0.5em;
    display: inline-block;
  }

  #schedule td {
    padding-left: 7.5%;
    padding-right: 7.5%;
  }

  #schedule .linkbtn_s {
    width: 70%;
    margin: auto;
    font-size: 1.4rem;
    padding: 0.75em 1em;
  }

  #schedule .soon {
    width: 70%;
    margin: auto;
    font-size: 1.4rem;
    padding: 0.75em 1em;
    display: block;
    text-align: center;
  }
}

@media print, screen and (max-width: 900px) {
  #schedule h3 span {
    margin-left: 0;
    display: block;
  }

  #schedule td {
    padding: 5px 5%;
  }

  #schedule td.date {
    padding-top: 1em;
  }

  #schedule td.title a {
    text-align: left;
    justify-content: space-between;
  }

  #schedule td.title figure {
    width: 20%;
    margin: 0;
  }

  #schedule td.title .title_txt {
    width: 75%;
    text-align: left;
    display: block;
    /* border: #f00 thin solid; */
  }

  #schedule .linkbtn_s,
  #schedule .soon {
    width: 80%;
    padding: 0.25em 1em;
    border: #000 thin solid;
    border-radius: 3em;
    position: relative;
  }

  #schedule .linkbtn_s::after {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    margin: 0 20px 2px 0;
    border-top: 1px solid #555;
    border-right: 1px solid #555;
    transform: rotate(45deg);
    margin-left: 15px;
  }

  #schedule td.url {
    padding-bottom: 1em;
  }
}

/* ===========================
   // id ///// #place /////
   =========================== */

#place .inside {
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
}

#place .box {
  width: 32%;
  padding: 3% 2.5% 1.5%;
  border: #ddd thin solid;
  background: #fff;
}

#place .box.new {
  width: 48%;
  margin-bottom: 30px;
  padding: 3% 2.5% 1.5%;
  border: #ddd thin solid;
  background: #fff;
}

#place .txtbox {
  height: 200px;
  margin-bottom: 10px;
}

#place h5 {
  margin-bottom: 30px;
  padding-bottom: 0.25em;
  font-size: 1.8rem;
  border-bottom: #000 thin solid;
}


#place ul.station li {
  margin-left: 1.2em;
  list-style: disc;
}


#place .mapbox {
  width: auto;
  margin: auto;
}

#place .mapbox iframe {
  width: 100%;
  height: 220px;
}

#place .notice {
  font-size: 1.6rem;
  padding-top: 15px;
}

@media print, screen and (max-width: 768px) {
  #place .inside {
    display: block;
  }

  #place .txtbox {
    height: auto;
    margin-bottom: 10px;
  }

  #place .box,
  #place .box.new {
    width: 100%;
    margin-bottom: 1em;
  }

  #place .mapbox {
    /* width: 60%; */
    width: 80%;
    margin: auto;
  }

  #place .mapbox iframe {
    width: 100%;
    height: 150px;
  }
}

@media print, screen and (max-width: 640px) {
  #place h5 {
    font-size: 2rem;
    text-align: center;
    border-bottom: none;
    margin-bottom: 0;
  }

  #place .box {
    margin-bottom: 45px;
    padding-left: 5%;
    padding-right: 5%;
    padding-bottom: 0;
    border: none;
  }

  #place .mapbox {
    margin-bottom: 1em;
  }

  .read_more {
    display: block;
  }

  .read_more li {
    width: 50%;
    margin: auto;
    color: #fff;
    background: #ee5362;
    text-align: center;
    border-radius: 3em;
    padding: 0.25em;
  }
}

/* ===========================
   // id ///// #past /////
   =========================== */
#past {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
}

#past h5 {
  font-size: 20px;
}

#past h5 .add {
  display: none;
}

#past .year {
  margin-bottom: 5em;
}

#past th {
  background: #ededed;
}

#past dd.title {
  font-weight: bold;
}

#past dd.title a {
  color: #000;
  text-decoration: underline;
}

#past dd.detail span {
  margin-right: 15px;
  display: inline-block;
}

#past h5 .add {
  display: none;
}

@media print, screen and (max-width: 640px) {
  #past {
    width: 95%;
  }

  #past h5 .add {
    color: #666;
    font-size: 1.2rem;
    padding-left: 1em;
    display: inline-block;
  }

  #past .year {
    margin-bottom: 3em;
  }
}

@media print, screen and (max-width: 768px) {
  #past h5 {
    font-size: 1.6rem;
  }
}

/* // note ///// #past table ////// */

/* #past thead th {
  background: #f3ede5;
} */

#past table {
  font-size: 1.3rem;
}

#past .date,
#past .performer,
#past .place {
  white-space: nowrap;
}

#past .schedule_table th,
#past .schedule_table td {
  padding: 5px 5px;
}

@media print, screen and (max-width: 768px) {
  #past table {
    display: block;
    overflow-x: scroll;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
  }

  #past .schedule_table table {
    border: #ddd thin solid;
  }

  #past .schedule_table th,
  #past .schedule_table td {
    border: #ddd thin dotted;
  }
}