/* career.html — index.html と同じトーンに寄せる上書き */

/* company.css の大きい文字・強い字間をページ内だけ抑える */
.training {
  font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif !important;
  letter-spacing: 0.02em !important;
  font-size: 16px !important;
  line-height: 1.75 !important;
  color: #1e293b !important;
  background: var(--ahc-bg-muted, #f0f4f8);
}

.training a {
  word-break: normal;
}

/* company.css の固定幅 container を解除して Bootstrap に寄せる */
.training .container {
  width: 100% !important;
  max-width: 1100px !important;
  overflow: visible !important;
}

.training #main-content {
  padding: 2rem 0 3rem;
}

/* ====== career hero / points (kenshu.ahc-net.co.jp 風) ====== */
.training .career-hero {
  position: relative;
  background: linear-gradient(160deg, var(--ahc-navy, #1c293f) 0%, var(--ahc-navy-mid, #2d4a6a) 55%, #152238 100%);
  color: #fff;
  padding: clamp(2.25rem, 5vw, 4rem) 0;
  margin: -2rem 0 1.75rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.training .career-hero__inner {
  max-width: 52rem;
}

.training .career-hero__eyebrow {
  margin: 0 0 0.75rem;
  font-family: "Lato", "Noto Sans JP", sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.35em;
  color: var(--ahc-accent, #c5a03a);
}

.training .career-hero__title {
  margin: 0 0 0.9rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  letter-spacing: 0.06em;
  font-size: clamp(1.6rem, 3.6vw, 2.5rem);
  line-height: 1.25;
  color: #fff;
}

.training .career-hero__lead {
  margin: 0 0 1.25rem;
  color: rgba(255, 255, 255, 0.88);
  font-size: 0.95rem;
  line-height: 2;
}

.training .career-hero__cta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: center;
}

.training .career-hero .btn {
  border-radius: 999px;
  padding: 0.7rem 1.25rem;
  font-weight: 700;
  letter-spacing: 0.06em;
}

.training .career-hero .btn-primary {
  background: var(--ahc-accent, #c5a03a);
  border-color: var(--ahc-accent, #c5a03a);
  color: #1c293f;
}

.training .career-hero .btn-primary:hover {
  filter: brightness(0.98);
}

.training .career-hero .btn-outline-light {
  border-color: rgba(255, 255, 255, 0.6);
  color: #fff;
}

.training .career-hero .btn-outline-light:hover {
  background: rgba(255, 255, 255, 0.12);
}

.training .career-points {
  padding: 0.5rem 0 0.25rem;
}

.training .career-section-heading {
  text-align: center;
  margin-bottom: 1.25rem;
}

.training .career-section-heading__en {
  display: block;
  font-family: "Lato", sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.35em;
  color: var(--ahc-accent, #c5a03a);
  margin-bottom: 0.5rem;
}

.training .career-section-heading__ja {
  margin: 0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--ahc-navy, #1c293f);
  letter-spacing: 0.06em;
}

.training .career-points__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.9rem;
}

@media (min-width: 768px) {
  .training .career-points__grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
  }
}

.training .career-point-card {
  background: #fff;
  border: 1px solid var(--ahc-border, #dce4ee);
  box-shadow: 0 2px 16px rgba(28, 41, 63, 0.06);
  padding: 1.25rem 1.15rem;
  height: 100%;
  border-radius: 0.75rem;
}

.training .career-point-card__no {
  margin: 0 0 0.5rem;
  font-size: 0.8rem;
  letter-spacing: 0.2em;
  font-weight: 800;
  color: var(--ahc-navy, #1c293f);
}

.training .career-point-card__title {
  margin: 0 0 0.6rem;
  font-size: 1.05rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  color: var(--ahc-navy, #1c293f);
}

.training .career-point-card__text {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.95;
  color: #334155;
}

/* 古いグリッド（col-xs / row-eq-height）を崩れないように */
.training .row-eq-height {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.training .col-xs-4,
.training .col-xs-9,
.training .col-xs-12,
.training .col-xs-3,
.training .col-sm-4,
.training .col-sm-6 {
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
}

.training .training-01 .img,
.training #nursery .img {
  display: none !important;
}

.training #training .training-01 .detail {
  width: 100% !important;
}

.training #training > * + * {
  margin-top: 1.75rem;
}

/* 先頭ブロックをカードっぽく */
.training #training .training-01,
.training #training .training-03,
.training #calendar,
.training #nursery {
  background: transparent;
}

.training #training .training-01 .detail,
.training #training > div:not(.training-01):not(.training-03) > .container,
.training #calendar .container,
.training #nursery .container {
  background: #fff;
  border: 1px solid var(--ahc-border, #dce4ee);
  box-shadow: 0 2px 16px rgba(28, 41, 63, 0.06);
  padding: 1.75rem 1.5rem;
  border-radius: 0.9rem;
}

@media (min-width: 768px) {
  .training #training .training-01 .detail,
  .training #calendar .container,
  .training #nursery .container {
    padding: 2.25rem 2rem;
  }
}

/* 見出し */
.training #main-content h3 {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--ahc-navy, #1c293f);
  letter-spacing: 0.06em;
  margin: 0 0 1rem;
}

.training #main-content h2 {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--ahc-navy, #1c293f);
  letter-spacing: 0.06em;
}

.training #main-content p {
  color: #334155;
  font-size: 0.95rem;
  line-height: 1.95;
  margin-bottom: 1.1rem;
}

/* カレンダー：月一覧をグリッド化 */
.training #calendar ul.row-eq-height {
  list-style: none;
  padding-left: 0;
  margin: 1.25rem 0 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.75rem;
}

@media (min-width: 768px) {
  .training #calendar ul.row-eq-height {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 992px) {
  .training #calendar ul.row-eq-height {
    grid-template-columns: repeat(3, 1fr);
  }
}

.training #calendar ul.row-eq-height li {
  border: 1px solid #e2e8f0;
  background: #f8fafc;
  padding: 0.85rem 1rem;
  border-radius: 0.7rem;
}

.training #calendar dt {
  font-weight: 800;
  color: var(--ahc-navy, #1c293f);
  margin-bottom: 0.25rem;
}

.training #calendar dd {
  margin: 0;
  color: #334155;
  font-size: 0.9rem;
}

/* 保育園リンク：折り返し + 余白 */
.training .n-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: flex-start;
}

.training .n-links a {
  display: inline-block;
  flex: 0 0 auto;
}

.training .n-links img {
  width: min(240px, 100%);
  height: auto;
  display: block;
  border: 1px solid #e2e8f0;
  background: #fff;
}

/* 連絡先の帯（training-03） */
.training .training-03 .container {
  background: var(--ahc-navy, #1c293f);
  color: #fff;
  border: none;
  box-shadow: 0 2px 16px rgba(28, 41, 63, 0.06);
  padding: 1.25rem 1.5rem;
  border-radius: 0.9rem;
}

.training .training-03 .container b {
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.06em;
}

/* テーブル */
.training table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 1rem;
  background: #fff;
}

.training th,
.training td {
  border: 1px solid var(--ahc-border, #dce4ee);
  padding: 0.85rem 1rem;
  vertical-align: top;
  font-size: 0.9rem;
  line-height: 1.8;
}

.training th {
  width: 30%;
  background: #f8fafc;
  color: var(--ahc-navy, #1c293f);
  font-weight: 700;
}

@media (max-width: 480px) {
  .training {
    overflow-x: hidden;
  }

  .training .sawa-nav > .container-fluid {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }

  .training .sawa-nav .navbar-brand h2 {
    font-size: 0.95rem !important;
  }

  .training #main-content {
    padding: 1.25rem 0 2rem;
  }

  .training .container {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }

  .training #training > * + * {
    margin-top: 1rem;
  }

  .training #training .training-01 .detail,
  .training #training > div:not(.training-01):not(.training-03) > .container,
  .training #calendar .container,
  .training #nursery .container {
    padding: 1.25rem 1rem;
    border-radius: 0.75rem;
  }

  .training #main-content h3 {
    font-size: 1.15rem;
    text-align: center;
    line-height: 1.55;
    margin-bottom: 0.85rem;
  }

  .training #main-content h2 {
    font-size: 1.12rem;
    line-height: 1.55;
    text-align: center;
    margin-bottom: 1rem;
  }

  .training #main-content h4 {
    font-size: 1.05rem;
    line-height: 1.6;
  }

  .training #main-content p {
    font-size: 0.92rem;
    line-height: 1.85;
    margin-bottom: 0.9rem;
  }

  .training #training p br,
  .training #nursery p br {
    display: none;
  }

  .training .training-03 .container {
    padding: 1rem;
  }

  .training .training-03 .container b {
    display: block;
    font-size: 0.92rem;
    line-height: 1.8;
    letter-spacing: 0.03em;
  }

  .training table,
  .training tbody,
  .training tr,
  .training th,
  .training td {
    display: block;
    width: 100% !important;
  }

  .training table {
    border: 1px solid var(--ahc-border, #dce4ee);
    border-radius: 0.75rem;
    overflow: hidden;
  }

  .training tr + tr {
    border-top: 1px solid var(--ahc-border, #dce4ee);
  }

  .training th,
  .training td {
    border: none;
    padding: 0.75rem 0.85rem;
  }

  .training th {
    padding-bottom: 0.25rem;
    background: #f8fafc;
    font-size: 0.82rem;
  }

  .training td {
    padding-top: 0.35rem;
    font-size: 0.88rem;
    line-height: 1.75;
  }

  .training #calendar ul.row-eq-height {
    gap: 0.65rem;
  }

  .training #calendar ul.row-eq-height li {
    padding: 0;
    overflow: hidden;
  }

  .training #calendar dt {
    margin-bottom: 0;
    padding: 0.6rem 0.85rem;
    background: var(--ahc-navy, #1c293f);
    color: #fff;
  }

  .training #calendar dd {
    padding: 0.65rem 0.85rem;
    background: #fff;
  }

  .training .n-links {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }

  .training .n-links a {
    width: 100%;
  }

  .training .n-links img {
    width: 100%;
    max-height: 9rem;
    object-fit: contain;
    padding: 0.5rem;
  }
}

