/* オープン社内報（採用トップの一覧・/recruit/recruit_column/） */
.recruit-column-section {
  margin-top: 0;
}
.recruit-column-related {
  margin-top: 64px;
}
.recruit-column-section .column__cards {
  margin-top: 24px;
}
.recruit-column-more {
  margin: 32px 0 0;
  text-align: center;
}
.recruit-column-more a,
.recruit-column-more a:link,
.recruit-column-more a:visited {
  display: inline-block;
  min-width: 280px;
  padding: 14px 32px;
  border: 1px solid #000;
  border-radius: 0;
  background-color: #fff;
  color: #000 !important;              /* 記事ページの .single_content a { color: 青 !important } より優先 */
  font-weight: 700;
  text-decoration: none !important;
  opacity: 1 !important;
  transition: background-color .2s, color .2s;
}
.recruit-column-more a:hover,
.recruit-column-more a:focus-visible,
.single_content .recruit-column-more a:hover {
  background-color: #000;
  color: #fff !important;
  text-decoration: none !important;
  opacity: 1 !important;
}
@media (max-width: 767px) {
  .recruit-column-related { margin-top: 48px; }
  .recruit-column-more a { min-width: 0; width: 100%; box-sizing: border-box; }
}

/* 採用トップのカード: 画像の下に日付とタイトル */
.recruit-column-list .contentsblock_li a {
  display: block;
  text-decoration: none;
}
/* サムネイルは横長 1.91:1（SNSシェア画像と同じ比率）に揃え、縦長の画像は上下を切る */
.recruit-column-list .contentsblock_li img {
  display: block;
  width: 100% !important;
  max-width: none;
  height: auto !important;
  margin: 0;
  padding: 0;
  aspect-ratio: 1200 / 628;
  object-fit: cover !important;        /* ページ既存の .old_css_item_style … img { object-fit: contain } より優先 */
  object-position: center !important;
}
.recruit-column-date {
  display: block;
  margin-top: 10px;
  color: #919191;
  font-size: 13px;
  letter-spacing: .05em;
}
.recruit-column-title {
  display: block;
  margin-top: 4px;
  color: #2a2a2a;
  font-weight: 700;
  line-height: 1.6;
}
.recruit-column-list .contentsblock_li a:hover .recruit-column-title {
  color: #053a94;
}

/* 記事ページ: 日付とアイキャッチ */
.recruit-column-meta {
  margin-bottom: 16px;
  color: #919191;
  font-size: 14px;
  letter-spacing: .05em;
}
.recruit-column-eyecatch {
  margin: 0 0 32px;
}
.recruit-column-eyecatch img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 4px;
}

/* 一覧ページ（/recruit/recruit_column/）のサムネイルも同じ比率に */
.post-type-archive-recruit_column .card__img {
  aspect-ratio: 1200 / 628 !important;
  height: auto !important;
  overflow: hidden;
}
.post-type-archive-recruit_column .card__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* 採用トップ: アクセルオフSNAP の写真（正方形・PC 4列／スマホ 2列） */
.recruit-snap-section {
  margin-top: 64px;
}
.recruit-snap-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
}
.recruit-snap-grid li {
  margin: 0;
  padding: 0;
  list-style: none;
}
.recruit-snap-grid a {
  display: block;
  overflow: hidden;
}
.recruit-snap-grid img {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  transition: transform .3s;
}
.recruit-snap-grid a:hover img {
  transform: scale(1.05);
}
@media (max-width: 767px) {
  .recruit-snap-section { margin-top: 48px; }
  .recruit-snap-grid { grid-template-columns: repeat(2, 1fr); gap: 4px; }
}

/* 一覧ページ上部のヘッダー画像（1920x480） */
.open-shanaiho-hero {
  margin: 0;
  padding: 0;
  line-height: 0;
  background-color: #fff;
}
.open-shanaiho-hero picture,
.open-shanaiho-hero img {
  display: block;
  width: 100%;
  max-width: 1920px;
  height: auto;
  margin: 0 auto;
}
.post-type-archive-recruit_column .column__inner {
  margin-top: 40px;
}
@media (max-width: 767px) {
  .post-type-archive-recruit_column .column__inner { margin-top: 24px; }
}
