/* ============================
   Recruit page
============================ */

.rc-hero{padding:80px 0 40px}
.rc-hero-title{
  font-family:"Noto Sans JP",sans-serif;
  font-weight:300;
  font-size:clamp(40px,6vw,72px);
  letter-spacing:.08em;
  line-height:1;
  margin-bottom:80px;
}
.rc-hero-divider{height:1px;background:#e5e5e5;margin-bottom:24px}
.rc-hero-meta{display:flex;gap:180px;font-size:12px}
.rc-hero-meta dt{color:#aaa;letter-spacing:.15em;font-size:11px;margin-bottom:8px}
.rc-hero-meta dd{color:#333;letter-spacing:.08em}

/* ===== Hero photo ===== */
.rc-hero-photo-wrap{padding:40px 0}
.rc-hero-photo{
  width:100%;
  aspect-ratio:16/7;
  max-height:460px;
  background-size:cover;
  background-position:center;
}

/* ===== Why Join Us ===== */
.rc-why{padding:80px 0}
.rc-why .section-label{margin-bottom:80px}
.why-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:80px 60px;
  border-bottom:1px solid #e5e5e5;
  padding-bottom:70px;
}
.why-grid{
  border-top:1px solid transparent;
}
.why-item{padding-left:clamp(0px,4vw,60px)}
.why-title{
  font-family:"Noto Sans JP",sans-serif;
  font-weight:400;
  font-size:clamp(17px,1.8vw,20px);
  letter-spacing:.1em;
  margin-bottom:18px;
  color:#222;
}
.why-text{
  font-size:13px;
  line-height:2;
  letter-spacing:.06em;
  color:#555;
  max-width:420px;
}

/* ===== Open Positions ===== */
.rc-positions{padding:60px 0 80px}
.rc-positions .section-label{margin-bottom:50px}
.position-list{display:flex;flex-direction:column;gap:20px}
.position-card{
  border:1px solid #e8e8e8;
  border-radius:2px;
  transition:box-shadow .3s ease,border-color .3s ease;
}
.position-card:hover{
  border-color:#ccc;
  box-shadow:0 4px 14px rgba(0,0,0,.05);
}
.position-card a{
  display:grid;
  grid-template-columns:1fr auto 24px;
  gap:24px;
  align-items:center;
  padding:26px 30px;
}
.position-card a:hover{opacity:1}
.position-title{
  font-family:"Noto Sans JP",sans-serif;
  font-weight:400;
  font-size:clamp(15px,1.6vw,18px);
  letter-spacing:.08em;
  color:#222;
  margin-bottom:8px;
}
.position-desc{
  font-size:12px;
  letter-spacing:.06em;
  color:#888;
}
.position-tags{display:flex;gap:10px;flex-wrap:wrap}
.pos-tag{
  font-size:11px;
  letter-spacing:.08em;
  color:#777;
  background:#f2f2f2;
  padding:6px 14px;
  border-radius:999px;
}
.position-arrow{
  font-size:16px;
  color:#666;
  text-align:right;
  transition:transform .3s ease,color .3s ease;
}
.position-card:hover .position-arrow{transform:translateX(4px);color:#222}

/* ===== Benefits ===== */
.rc-benefits{padding:60px 0 120px}
.rc-benefits .section-label{margin-bottom:50px}
.benefit-list{border-top:1px solid #e5e5e5}
.benefit-row{
  display:grid;
  grid-template-columns:220px 1fr;
  padding:30px 0;
  border-bottom:1px solid #e5e5e5;
  gap:30px;
  align-items:start;
}
.benefit-cat-en{
  font-size:10px;
  letter-spacing:.3em;
  color:#888;
  margin-bottom:10px;
}
.benefit-cat-jp{
  font-size:15px;
  letter-spacing:.12em;
  color:#222;
}
.benefit-items{
  font-size:15px;
  line-height:1.9;
  letter-spacing:.06em;
  color:#222;
  padding-top:22px;
}

@media (max-width:960px){
  .rc-hero-meta{gap:60px}
  .rc-hero-photo{aspect-ratio:16/10}
  .rc-why{padding:60px 0}
  .rc-why .section-label{margin-bottom:48px}
  .why-grid{grid-template-columns:1fr;gap:50px;padding-bottom:50px}
  .why-item{padding-left:0}
  .rc-positions{padding:40px 0 60px}
  .position-card a{grid-template-columns:1fr 24px;padding:22px 20px}
  .position-tags{grid-column:1/-1;margin-top:6px}
  .rc-benefits{padding:40px 0 100px}
  .benefit-row{grid-template-columns:1fr;gap:10px;padding:24px 0}
  .benefit-items{padding-top:0;font-size:14px}
}
