/*
 Theme Name: massive_tcd084 Child
 Template: massive_tcd084
 Version: 1.4
*/

/* ========== Job Single (existing) ========== */
.single-job .mv_job{
  position:relative;
  width:100%;
  height:700px;
  background-size:cover;
  background-position:center;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:#fff;
}
.single-job .mv_job .mv_inner{
  max-width:960px;
  margin:0 auto;
}
.single-job .mv_job .mv_ttl{
  font-size: clamp(24px, 4vw, 48px);
  font-weight:700;
  margin:0;
}
.single-job .mv_job .mv_label{
  display:inline-block;
  background:#e60000;
  padding:4px 12px;
  font-size:14px;
  margin-bottom:16px;
}
.single-job .entry_body .inner{
  max-width:960px;
  margin:60px auto;
  line-height: 1.75;
}
.single-job .sec_ttl{
  font-size: clamp(20px, 4vw, 32px);
  font-weight:700;
  margin:0;
}
.single-job .entry_body .inner p {
  margin-top: 1rem;
}
.single-job .job_overview .inner{
  max-width:960px;
  margin:60px auto;
  line-height: 1.75;
}
.single-job .job_table{
  width:100%;
  border-collapse:collapse;
}
.single-job .job_table th,
.single-job .job_table td{
  border:1px solid #ccc;
  padding:12px;
}
.single-job .job_table th{
  width:30%;
  background:#f8f8f8;
}
@media (max-width: 960px){
  .single-job .mv_job{height:30vh;}
  .single-job .entry_body .inner,
  .single-job .job_overview .inner{margin:45px 15px;}
}
/* ===== Job list fix ===== */

/* 丸印（擬似要素）を完全に無効化 */
.post_content .job_card_list > li::before,
.job_card_list > li::before {
  content: none !important;
  display: none !important;
}

/* リストのベース調整 */
.post_content .job_card_list,
.job_card_list{
  list-style: none;
  padding: 0;
  margin: 32px auto;          /* 60px→32px に圧縮 */
  max-width: 1140px;          /* 少し狭めて左右の余白を確保 */
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 32px;                  /* 40px→32px */
}

/* H2直後のリストはさらに間を詰める */
.post_content h2 + .job_card_list{
  margin-top: 24px;
}

@media (max-width: 640px){
  .post_content .job_card_list,
  .job_card_list{
    grid-template-columns: 1fr;
    gap: 24px;                /* モバイルの間隔も少し詰める */
    margin: 24px 0;
  }
}

/* カード本体 */
.job_card{
  border: 1px solid #e5e5e5;
  background: #fff;
  transition: box-shadow .25s ease, transform .25s ease;
  margin: 0;                  /* テーマ由来の li 余白打ち消し */
}
.job_card:hover{
  box-shadow: 0 6px 18px rgba(0,0,0,.08);
  transform: translateY(-2px);
}

/* 横並び */
.job_card_link{
  display: flex;
  align-items: stretch;
  text-decoration: none;
  color: inherit;
  min-height: 200px;          /* テキスト量が少ないカードの高さを確保 */
}
@media (max-width: 480px){
  .job_card_link{ flex-direction: column; min-height: 0; }
}

/* サムネイル */
.job_card_thumb{
  flex: 0 0 43%;
  max-width: 43%;
  position: relative;
}
@media (max-width: 480px){
  .job_card_thumb{
    flex: none;
    max-width: 100%;
  }
}
.job_card_thumb img{
  width: 100%;
  height: 100%;
  aspect-ratio: 1 / 1;        /* 正方形 */
  object-fit: cover;
  display: block;
}

/* テキスト側 */
.job_card_body{
  flex: 1;
  padding: 0 24px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  line-height: 1 !important;
}
.post_content p.job_card_style{
  font-size: 14px;
  font-weight: 600;
  margin: 0 0 10px !important;
}
.post_content p.job_card_ttl{
  font-size: clamp(16px, 4vw, 20px);
  font-weight: 700;
  line-height: 1.35;
  margin: 0 !important;
}
