/* Newcomer page only. Schedule content lives in data/recruit-schedule.js. */
.newcomer-hero__links { display:flex; flex-wrap:wrap; align-items:center; gap:12px 22px; margin-top:26px; }
.newcomer-hero__primary { border-color:var(--cyan-dark); }
.newcomer-lead { margin-bottom:20px; font-size:var(--fs-lead); font-weight:600; }
.recruit-schedule { border-top:1px solid var(--ink); }
.recruit-list__head, .recruit-list__row { display:grid; grid-template-columns:110px 120px minmax(160px,.8fr) minmax(0,1.3fr); gap:18px; }
.recruit-list__head { padding:10px 0; border-bottom:1px solid var(--line-dark); color:var(--ink-soft); font-size:var(--fs-caption); }
.recruit-list__row { padding:17px 0 18px; border-bottom:1px solid var(--line); }
.recruit-list__cell { min-width:0; }
.recruit-list__cell::before { display:none; }
.recruit-notes { margin:18px 0 0; padding-left:1.2em; color:var(--ink-soft); font-size:var(--fs-small); }
.recruit-registration { margin-top:18px; }
.newcomer-about-stack { display:grid; gap:0; }
.newcomer-ham-main { max-width:52rem; }
.newcomer-ham-main > p:not(.section-kicker) { margin-top:18px; }
.newcomer-keywords { padding:12px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); color:var(--ink-soft); font-size:var(--fs-small); }
.newcomer-keywords span { color:var(--pink-dark); margin:0 .28em; }
.newcomer-beginner { margin-top:34px; padding-top:24px; }
.newcomer-minor-title { margin:0; font-size:1.18rem; line-height:1.55; }
.newcomer-faq { margin-top:52px; padding-top:26px; border-top:4px solid var(--cyan); }
.newcomer-faq__head { max-width:32rem; }
.newcomer-faq dl { margin-top:26px; border-top:1px solid var(--ink); }
.newcomer-faq dl > div { display:grid; grid-template-columns:minmax(220px, .72fr) minmax(0,1.28fr); gap:34px; padding:19px 0 21px; border-bottom:1px solid var(--line); }
.newcomer-faq dt { font-weight:600; line-height:1.65; }
.newcomer-faq dd { margin:0; color:var(--ink-soft); font-size:var(--fs-small); line-height:1.8; }
.activity-days { margin-top:36px; padding-top:22px; }
.activity-days h3 { margin:0; font-size:1rem; }
.newcomer-year-list .record-row__year { color:var(--cyan-dark); }
.newcomer-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px 22px; }
.newcomer-gallery figure { margin:0; }
.newcomer-gallery img { width:100%; aspect-ratio:4/3; object-fit:cover; border-top:1px solid var(--line-dark); padding-top:8px; }
.newcomer-prose { max-width:46rem; }
.newcomer-prose h3 { margin-top:28px; font-size:1.2rem; }
.newcomer-prose h3:first-child { margin-top:0; }
.newcomer-prose p { margin-top:10px; }
.newcomer-callout { margin-top:28px !important; padding:15px 0 15px 16px; border-left:4px solid var(--pink); }
.place-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:42px; }
.place-entry figure { margin:0 0 16px; }
.place-entry img { width:100%; aspect-ratio:16/10; object-fit:cover; }
.place-entry h3 { font-size:1.2rem; }
.place-entry .plain-list { color:var(--ink-soft); font-size:var(--fs-small); }
@media (max-width: 800px) {
  .newcomer-faq dl > div { grid-template-columns:1fr; gap:7px; }
  .newcomer-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .place-grid { grid-template-columns:1fr; }
}
@media (max-width: 640px) {
  .newcomer-hero__links { align-items:stretch; }
  .newcomer-hero__primary { width:100%; }
  .recruit-list__head { display:none; }
  .recruit-list__row { grid-template-columns:1fr 1fr; gap:8px 16px; padding:15px 0 17px; }
  .recruit-list__cell { display:grid; grid-template-columns:48px 1fr; gap:8px; }
  .recruit-list__cell::before { display:block; content:attr(data-label); color:var(--ink-soft); font-size:.68rem; }
  .recruit-list__cell:nth-child(3), .recruit-list__cell:nth-child(4) { grid-column:1 / -1; }
  .newcomer-gallery { grid-template-columns:1fr; gap:24px; }
}
