/* --- JPEGスケジュール表用スタイル --- */
.jpeg-schedule-wrapper {
  overflow-x: auto;
  width: 100%;
}

.jpeg-schedule {
	width: 100%;
	min-width: 600px;
	border-collapse: collapse;
	margin: 20px 0;
	font-size: 14px;
	text-align: center;
}

.jpeg-schedule th,
.jpeg-schedule td {
	border: 1px solid #ccc;
	padding: 8px;
	text-align: center;
	vertical-align: middle;
	white-space: nowrap;
	text-align-last: center;
}

.jpeg-schedule thead th {
	background-color: #98DCD7;
	font-weight: bold;
}

.bg-yellow { background-color: #ffffcc; }
.bg-blue2 {
	background-color: #D5E2E5 !important;
}
.bg-blue   { background-color: #e0f0ff; }
.bg-green  { background-color: #e5ffe5; }
.bg-pink   { background-color: #ffe5f0; }
.bg-orange { background-color: #ffe0b3; }
.bg-gray   { background-color: #f9f9f9; }

@media (max-width: 600px) {
  .jpeg-schedule {
    font-size: 12px;
    width: 100%;
  }
}
/* --- ここまでスケジュール表用スタイル --- */
/* --- プログラム要約セクション（囲みなし・色付き見出しのみ）--- */
  .schedule-container {
      display: grid;
      grid-template-columns: 110px 260px 260px;
      grid-template-rows:
        80px
        repeat(54, 30px);
      width: 630px;
      margin: 40px auto;
      border-left: 1px solid #000;
      border-top: 1px solid #000;
      background: #fff;
      position: relative;
      box-sizing: border-box;
    }
    .header {
      grid-row: 1 / 2;
      background: #fff;
      border-bottom: 1px solid #000;
      border-right: 1px solid #000;
    }
    .time {
      background: #fff;
      border-right: 1px solid #000;
      border-top: 1px solid #000;
      text-align: right;
      padding-right: 5px;
      font-size: 1.15em;
      z-index: 2;
    }
    .time-empty {
      border-right: 1px solid #000;
      grid-column: 1/2;
      background: #fff;
      z-index: 1;
    }
    .lightblue { background: #e6f0fa; }
    .lightgreen { background: #eaf4e2; }
    .yellow { background: #fff86b; }
    .orange { background: #ffb366; }
    .pink { background: #f9b6d2; }
    .gray { background: #f4f4f4; }
    .event {
      border: 1px solid #000;
      box-sizing: border-box;
      z-index: 1;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1.08em;
      padding: 0 4px;
      line-height: 1.5;
      word-break: break-all;
      text-align: center;
      min-height: 30px;
      border-radius: 0;
      box-shadow: none;
      margin: 0;
      background-clip: padding-box;
    }
.jpeg-schedule-wrapper {
  width: 100%;
  overflow-x: auto;
  margin: 0 auto;
  padding: 0;
  box-sizing: border-box;
}

.bg-yellow { background-color: #ffffcc !important; }
.bg-blue   { background-color: #e0f0ff !important; }
.bg-green  { background-color: #e5ffe5 !important; }
.bg-pink   { background-color: #ffe5f0 !important; }
.bg-orange { background-color: #ffe0b3 !important; }
.bg-gray   { background-color: #f9f9f9 !important; }

.program-summary {
  font-size: 16px;
  line-height: 1.7;
  margin-bottom: 30px;
  padding: 0 10px;
}

.program-summary h3 {
  font-size: 22px;
  margin-bottom: 1em;
  border-bottom: 2px solid #ccc;
  padding-bottom: 6px;
}

.program-summary h4 {
	font-size: 18px;
	margin-top: 1.5em;
	margin-bottom: 0.6em;
	padding: 4px 6px;
	background-color: #EDF9EB;     /* 淡いグリーン系 */
	border-left: 4px solid #009999; /* 青緑のアクセント */
	color: #004d4d;                /* 落ち着いた緑文字 */
}


.program-summary ul {
  padding-left: 1.0em;
  list-style-type: none;
}

.program-summary ul li {
  margin-bottom: 1em;
}

.program-summary span {
	color: #333;
	font-size: 95%;
	display: block;
	margin-top: 0.3em;
	padding-left: 4em;  /* ← この行を追加 */
}
.program-summary em {
  display: block;
  margin-top: 0.4em;
  color: #555;
  font-style: normal;
  font-size: 90%;
  padding-left: 1em;
  border-left: 3px solid #ccc;
}
.program-summary em2 {
	display: block;
	margin-top: 0.4em;
	color: #555;
	font-style: normal;
	font-size: 90%;
	padding-left: 4em;
	border-left: 3px solid #ccc;
}
/* モバイル対応 */
@media screen and (max-width: 600px) {
  .program-summary {
    font-size: 14px;
    padding: 0 5px;
  }

  .program-summary h3 {
    font-size: 18px;
  }

  .program-summary h4 {
    font-size: 16px;
  }
}
