﻿/* =========================================
   Recruit List
   ======================================= */

body {
 opacity: 1;
}
.recruit-list {
 padding-block: 60px 0;
 height: auto;
 overflow: hidden;
 text-align: left;
}
.section-title {
 margin-inline: 60px;
 margin-bottom: 40px;
}
.recruit-list .container {
 max-width: unset;
 padding-inline: unset;
 margin-inline: 60px;
 width: auto;
}
.recruit-message {
 font-size: 1rem;
 margin-bottom: 30px;
 color: #333;
}
.card-grid {
 display: flex;
 flex-wrap: wrap;
 gap: 32px;
 justify-content: flex-start;
}
.job-card {
 flex: 0 0 calc((100% - 32px * 2) / 3);
 max-width: calc((100% - 32px * 2) / 3);
 background: #fff;
 border: 1px solid #ddd;
 border-radius: 12px;
 padding: 24px;
 box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
 display: flex;
 flex-direction: column;
}
.job-title {
 font-size: 24px;
 font-weight: 600;
 margin-bottom: 12px;
}
.job-meta {
 margin: 0 0 12px 0;
 padding: 0;
 list-style: none;
}
.job-meta li {
 margin-bottom: 4px;
}
.job-desc,
.job-notes {
 margin-bottom: 14px;
}
.btn-apply {
 margin-top: auto;
 display: inline-block;
 background: #e91e63;
 color: #fff;
 padding: 10px 18px;
 border-radius: 999px;
 text-align: center;
 text-decoration: none;
 font-weight: 600;
 transition: all 0.2s;
}

@media (min-width: 769px) {
 .btn-apply:hover {
  background: #444;
  color: #fff;
 }
}

/* レスポンシブ：768px 以下は 1 列 */
@media (max-width: 768px) {
 .section-title {
  margin-inline: 30px;
  margin-bottom: 30px;
 }
 .recruit-list .container {
  margin-inline: 30px;
 }
 .card-grid {
  gap: 24px;
 }
 .job-card {
  flex: 0 0 calc((100% - 24px * 1) / 2);
  max-width: calc((100% - 24px * 1) / 2);
 }
}

@media (max-width: 600px) {
 .recruit-list {
  padding-block: 30px 0;
 }
 .section-title {
  margin-inline: 20px;
  margin-bottom: 30px;
 }
 .recruit-list .container {
  margin-inline: 20px;
 }
 .job-card {
  flex: 1 1 100%;
  max-width: 100%;
 }
}
