section#news {
    margin-top: 15px;
}

#news .news-wrapper {

  max-height: 200px; /* 高さは任意で調整 */

  overflow-y: auto;

}



#news ul {

  margin: 0;

  padding: 0;

}



#news ul li {

  font-size: 16px;
	
  border-bottom: 1px solid #ccc;

  list-style: none;

  display: flex;

  align-items: center;

  padding: 15px 0; /* 上下の余白のみ */

}



/* 最初のliにborder-topを追加 */

#news ul li:first-child {

  border-top: 1px solid #ccc;

}



#news ul li .news-date {

  font-weight: 600; /* 日時だけ太く */

  margin-left: 15px; /* 日時の前に余白 */

  margin-right: 30px; /* 日時とタイトルの間に余白 */

  min-width: 80px;

}

					

/* 最初の記事の上だけ余白を40pxに調整 */

.job-post:first-child {

  margin-top: 40px;

}



/* 最後の記事の下だけ余白を40pxに調整 */

.job-post:last-child {

  margin-bottom: 40px;

}

					

.job-title::before {

  content: "［";

}



.job-title::after {

  content: "］";

}

					

.job-post {

  margin-top: 60px;    /* 記事上の余白（すべての記事） */

  margin-bottom: 60px; /* 記事下の余白（すべての記事） */

}

					

.job-title {

  text-align: center;

  font-weight: normal !important;

  font-size: 16px;

}

					

.job-post table {

  width: 100%;

  max-width: 640px;

  margin-left: auto;

  margin-right: auto;

  border-collapse: collapse;

}

					

.jobdesc-field-block {

  border: none !important;

  border-collapse: collapse;

  width: 100%;           /* 横いっぱいに広げる */

  table-layout: auto;    /* thの内容幅に合わせる */

  background: none !important;

  box-shadow: none !important;

}



.jobdesc-field-block th,

.jobdesc-field-block td {

  border: 1px solid #ccc;

  padding: 15px 20px;  /* 上下15px、左右20px */

  vertical-align: top;

}



.jobdesc-field-block th {

  white-space: nowrap;   /* 折り返さず最小幅で */

  width: 1%;             /* 内容に合わせるため1%指定 */

}



.jobdesc-field-block td {

  width: auto;           /* 残り幅を全て使う */

  word-wrap: break-word; /* 長文折り返し */

}

					

/* 一番左の列（最初のthとtd）の左ボーダーを消す */

.jobdesc-field-block th:first-child,

.jobdesc-field-block td:first-child {

  border-left: none;

}



/* 一番右の列（最後のthとtd）の右ボーダーを消す */

.jobdesc-field-block th:last-child,

.jobdesc-field-block td:last-child {

  border-right: none;

}

					

/* 一番上の行の上ボーダーを消す */

.jobdesc-field-block tr:first-child th,

.jobdesc-field-block tr:first-child td {

  border-top: none;

}



/* 一番下の行の下ボーダーを消す */

.jobdesc-field-block tr:last-child th,

.jobdesc-field-block tr:last-child td {

  border-bottom: none;

}



@media screen and (max-width:640px) { 
section#news {
    margin-bottom: 40px;
}
	
	
.job-post table  {

	font-size:12px;}

}


/* ===== 動画共通設定 ===== */
.movie {
  position: relative;
  width: 100%;
  height: 100vh;
  overflow: hidden;

  /* Safari 黒味対策：背景に poster を仕込む */
  background: #000 url("https://sujuku-sou.jp/movie/pc_poster.png") center/cover no-repeat;
}

.movie video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  background: none; /* Safari黒枠対策 */
}

.movie .overlay-frame {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  aspect-ratio: 16 / 9;
  background: url("https://sujuku-sou.jp/movie/overlay.png") center/cover no-repeat;
  transform: translate(-50%, -50%);
  z-index: 1;
  pointer-events: none;
}

.movie .overlay-bottom {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  pointer-events: none;
}

.movie::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image: radial-gradient(rgba(255,255,255,0.2) 20%, transparent 21%);
  background-size: 6px 6px;
  mix-blend-mode: screen;
  pointer-events: none;
  z-index: 1;
}

/* ===== スマホ用 高さ80vh & 背景画像切替 ===== */
@media screen and (max-width: 768px) {
  .movie {
    height: 80vh;
    background: #000 url("https://sujuku-sou.jp/movie/sp_poster.png") center/cover no-repeat;
  }
}

/*テキストマーカー*/
.highlight-text {
  background: linear-gradient(
    transparent 50%, 
    rgba(255, 255, 0, 0.5) 50%
  );
  background-size: 0% 100%; 
  background-repeat: no-repeat;
  transition: background-size 2.0s ease-out;
}

.highlight-text.active {
  background-size: 100% 100%;
}

.bd-webp #bk24429 {
    margin-top: 1px;
}

.highlight-text-or {
  background: linear-gradient(
    transparent 50%, 
    rgba(243, 152, 53, 0.3) 50%
  );
  background-size: 0% 100%; 
  background-repeat: no-repeat;
  transition: background-size 2.0s ease-out;
  font-weight: bold;
}

.highlight-text-or.active {
  background-size: 100% 100%;
}