@charset "utf-8";
/* event-archive Document */
section {
      padding: 2em;
    }
    h2 {
      color: #c00;
      border-bottom: 2px solid #c00;
      padding-bottom: 0.3em;
	  margin-bottom: 0.8em;
    }
    .event-entry {
      display: flex;
      margin-bottom: 2em;
    }
    .event-entry img {
      max-width: 200px;
      height: auto;
      margin-right: 1em;
    }
    .event-entry div {
      flex: 1;
    }

.event-link {
      margin-top: 2em;
      padding: 1em;
      background: #f2f2f2;
      border-radius: 5px;
    }
    .event-link a {
      text-decoration: none;
      color: #c00;
      font-weight: bold;
    }
    .event-link a:hover {
      text-decoration: underline;
    }
.schedule-scroll {
  overflow-x: hidden;
  width: 100%;
}

.image-schedule table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9em;
}

.image-schedule td {
  padding: 0.4em 0.6em;
  vertical-align: top;
}

.image-schedule td:first-child {
  white-space: nowrap;
  width: 6em;
  font-weight: bold;
}



/* 左側の列（出演）など）幅固定 */
.image-schedule td:first-child {
  white-space: nowrap;
  width: 6em; /* 適宜調整可能 */
  font-weight: bold;
}
.image-schedule {
  display: flex;
  gap: 1em;
  margin-top: 2em;
  align-items: flex-start;
	border-bottom: 1px solid #535353;
	padding-bottom: 1em;
}
.image-schedule img {
  max-width: 150px;
  height: auto;
  border: 1px solid #ccc;
}
    .image-schedule .text {
  max-width: 600px;
}

.latest-schedule {
  margin-bottom: 2em;
  padding: 1em;
  background: #fdf6f0;
  border-radius: 8px;
}

.latest-schedule h3 {
  font-size: 1.2em;
  margin-bottom: 1em;
  border-bottom: 2px solid #c00;
  padding-bottom: 0.3em;
  
}

.schedule-block {
  display: flex;
	flex-direction: column;
  flex-wrap: nowrap;
  align-items: flex-start;
  gap: 1em;
}

.schedule-image img {
  max-width: 150px;
	align-self: center;
  height: auto;
  border: 1px solid #ccc;
}

.schedule-text {
  flex: 1;
  font-size: 0.95em;
  line-height: 1.6;
}

    .return-button {
      text-align: right;
      margin-top: 2em;
      margin-bottom: 2em;
    }
    .return-button a {
      background: #c00;
      color: #fff;
      padding: 0.5em 1em;
      text-decoration: none;
      border-radius: 5px;
    }
    .return-button a:hover {
      background: #900;
    }
    
	  #back-to-top {
      position: fixed;
      bottom: 20px;
      right: 20px;
      background: #c00;
      color: #fff;
      padding: 0.5em 1em;
      border: none;
      border-radius: 5px;
      font-size: 0.9em;
      cursor: pointer;
      display: none;
      z-index: 1000;
    }
    #back-to-top:hover {
      background: #900;
		}

@media (max-width: 600px) {
  
.schedule-block {
    flex-wrap: nowrap;
    overflow-x: auto;
  }

  .schedule-text {
    min-width: auto; /*  */
  }

  .schedule-image img {
    max-width: 120px;
  }

}
 