/*
 * はた楽の教育制度（career）下層ページ専用スタイル。
 * デザイン基準幅: 1920px（Figma「採用TOP_教育支援」）
 */

.career-page {
  --cr-red: #811c21;
  --cr-red-deep: #751b1e;
  --cr-cream: #fff4d0;
  --cr-ink: #333;
  --cr-font-yu: "Yu Gothic", YuGothic, "游ゴシック体", "游ゴシック", "Noto Sans JP", sans-serif;
  --cr-font-noto: "Noto Sans JP", sans-serif;
  --cr-font-roboto: "Roboto", "Noto Sans JP", sans-serif;
  font-family: var(--cr-font-noto);
  color: var(--cr-ink);
  overflow-x: clip;
}

.career-page img {
  max-width: 100%;
}

/* ---------------------------------- intro + キャリアパス図 */

.cr-intro {
  width: min(1200px, 92%);
  margin: 0 auto;
  padding-top: clamp(48px, 4.2vw, 80px);
  text-align: center;
}

.cr-intro__heading {
  margin: 0;
  font-family: var(--cr-font-yu);
  font-weight: 700;
  font-size: clamp(26px, 2.3vw, 44px);
  line-height: 2;
  color: #000;
}

.cr-intro__accent {
  color: var(--cr-red-deep);
}

.cr-intro__lead {
  margin: clamp(20px, 2.1vw, 41px) 0 0;
  font-family: var(--cr-font-yu);
  font-weight: 700;
  font-size: clamp(15px, 1.15vw, 22px);
  line-height: 1.8;
  color: #000;
}

.cr-intro__diagram {
  margin-top: clamp(60px, 6.25vw, 120px);
}

.cr-intro__diagram img {
  display: block;
  width: 100%;
  height: auto;
}

/* ---------------------------------- 全幅写真 */

.cr-photo {
  margin-top: clamp(100px, 10.4vw, 200px);
}

.cr-photo img {
  display: block;
  width: 100%;
  height: clamp(220px, 23vw, 441px);
  object-fit: cover;
  object-position: center center;
}

/* ---------------------------------- 教育体制 */

.cr-education {
  position: relative;
  background: var(--cr-cream);
  padding: clamp(48px, 4.2vw, 80px) 0;
  overflow: hidden;
}

.cr-education__heart {
  position: absolute;
  width: 48%;
  opacity: 0.15;
  pointer-events: none;
}

.cr-education__heart--1 {
  top: 2.8%;
  right: -19%;
}

.cr-education__heart--2 {
  top: 32.4%;
  left: -20%;
}

.cr-education__heart--3 {
  top: 57%;
  right: -19%;
}

.cr-education__heart--4 {
  top: 76.6%;
  left: -19%;
}

.cr-education__inner {
  position: relative;
  width: min(1560px, 94%);
  margin: 0 auto;
}

.cr-education__header {
  text-align: center;
}

.cr-education__eyebrow {
  margin: 0;
  font-family: var(--cr-font-roboto);
  font-weight: 900;
  font-size: clamp(17px, 1.25vw, 24px);
  letter-spacing: 0.11em;
  line-height: 1.4;
  text-transform: uppercase;
  color: var(--cr-red);
}

.cr-education__heading {
  margin: clamp(10px, 1vw, 20px) 0 0;
  font-family: var(--cr-font-yu);
  font-weight: 700;
  font-size: clamp(36px, 3.6vw, 70px);
  line-height: 1.2;
  color: var(--cr-ink);
}

.cr-education__cards {
  display: grid;
  gap: clamp(40px, 4.2vw, 80px);
  margin-top: clamp(40px, 3.3vw, 64px);
}

.cr-card {
  display: flex;
  align-items: center;
  gap: clamp(28px, 3.3vw, 64px);
  padding: clamp(28px, 3.3vw, 64px) clamp(28px, 4.2vw, 80px);
  background: #fff;
  border-radius: 10px;
}

.cr-card__icon {
  flex: 0 0 clamp(140px, 11.9vw, 229px);
  width: clamp(140px, 11.9vw, 229px);
  aspect-ratio: 1;
  border-radius: 50%;
  object-fit: cover;
}

.cr-card__body {
  flex: 1;
  min-width: 0;
}

.cr-card__head {
  display: flex;
  align-items: center;
  gap: clamp(16px, 1.5vw, 28px);
  padding-bottom: 12px;
  border-bottom: 1px solid var(--cr-red);
}

.cr-card__num {
  margin: 0;
  font-family: var(--cr-font-roboto);
  font-weight: 900;
  font-size: clamp(32px, 2.55vw, 49px);
  letter-spacing: 0.11em;
  line-height: 1;
  color: var(--cr-red);
}

.cr-card__title {
  margin: 0;
  font-family: var(--cr-font-noto);
  font-weight: 500;
  font-size: clamp(24px, 2.1vw, 40px);
  line-height: 1.15;
  color: #000;
}

.cr-card__text {
  margin: clamp(16px, 1.3vw, 25px) 0 0;
  font-size: clamp(15px, 0.95vw, 18px);
  line-height: 1.6;
  color: #000;
}

.cr-card__text p {
  margin: 0;
}

.cr-card__text p + p {
  margin-top: 1.6em;
}

.cr-education + .recruit-links {
  margin-top: 0;
}

/* ---------------------------------- responsive */

@media (max-width: 900px) {
  .cr-card {
    flex-direction: column;
    align-items: center;
    text-align: left;
  }

  .cr-card__body {
    width: 100%;
  }

  .cr-card__head {
    flex-wrap: wrap;
    gap: 12px;
  }

  .cr-education__heart {
    width: 70%;
  }
}
