/*
 * はた楽の業務スタイル（project）下層ページ専用スタイル。
 * デザイン基準幅: 1920px（Figma「採用TOP_仕事への取り組み」）
 */

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

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

/* ---------------------------------- intro + support cards */

.pj-intro {
  width: min(1331px, 92%);
  margin: 0 auto;
  padding-top: clamp(48px, 4.2vw, 80px);
}

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

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

.pj-intro__lead {
  margin: clamp(16px, 1.7vw, 32px) auto 0;
  max-width: 1200px;
  font-family: var(--pj-font-yu);
  font-weight: 700;
  font-size: clamp(15px, 1.15vw, 22px);
  line-height: 1.8;
  color: #000;
  text-align: center;
}

.pj-supports {
  display: grid;
  gap: clamp(24px, 2.1vw, 40px);
  margin-top: clamp(40px, 3.9vw, 74px);
}

.pj-card {
  padding: clamp(28px, 3.3vw, 64px);
  border: 1px solid var(--pj-red);
  border-radius: 10px;
}

.pj-card__label {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 0;
  font-family: var(--pj-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(--pj-red);
}

.pj-card__label img {
  width: 23px;
  height: 18px;
  object-fit: contain;
}

.pj-card__title {
  margin: clamp(8px, 0.9vw, 17px) 0 0;
  font-family: var(--pj-font-yu);
  font-weight: 700;
  font-size: clamp(24px, 2.1vw, 40px);
  line-height: 1.35;
  color: #000;
}

.pj-card__content {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: clamp(24px, 3vw, 60px);
  margin-top: clamp(20px, 1.7vw, 32px);
}

.pj-card__text {
  width: 50%;
  margin: 0;
  font-size: clamp(15px, 0.95vw, 18px);
  line-height: 1.6;
  color: #000;
}

.pj-card__text p {
  margin: 0;
}

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

.pj-card__img {
  display: block;
  flex: 0 0 42.45%;
  width: 42.45%;
  aspect-ratio: 511 / 318;
  height: auto;
  object-fit: cover;
  object-position: top;
}

/* ---------------------------------- schedule */

.pj-schedule {
  margin-top: clamp(160px, 4vw, 180px);
  padding: clamp(120px, 12vw, 240px) 0 clamp(160px, 5.2vw, 200px);
  background: url("../images/project/arch_bg.svg") center top / 100% 100% no-repeat;
}

.pj-schedule__inner {
  display: flex;
  align-items: flex-start;
  gap: clamp(48px, 5.2vw, 100px);
  width: min(1304px, 92%);
  margin: 0 auto;
}

.pj-schedule__main {
  flex: 1;
  min-width: 0;
}

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

.pj-schedule__heading {
  margin: clamp(8px, 0.8vw, 16px) 0 0;
  font-family: var(--pj-font-noto);
  font-weight: 700;
  font-size: clamp(26px, 2.2vw, 42px);
  line-height: 1.5;
  color: var(--pj-ink);
}

.pj-timeline {
  display: grid;
  gap: clamp(24px, 2.1vw, 40px);
  margin-top: clamp(32px, 3.2vw, 62px);
}

.pj-timeline__item {
  padding-bottom: clamp(16px, 1.3vw, 26px);
  border-bottom: 1px solid var(--pj-red);
}

.pj-timeline__time {
  margin: 0;
  font-size: clamp(24px, 1.7vw, 32px);
  line-height: 1.25;
  color: var(--pj-red);
}

.pj-timeline__title {
  margin: clamp(8px, 0.7vw, 14px) 0 0;
  font-weight: 600;
  font-size: clamp(18px, 1.15vw, 22px);
  line-height: 1.5;
  color: #000;
}

.pj-timeline__desc {
  margin: clamp(6px, 0.6vw, 12px) 0 0;
  font-size: clamp(15px, 0.95vw, 18px);
  line-height: 2;
  color: #000;
}

/* 写真コラージュ */

.pj-schedule__collage {
  position: relative;
  flex: 0 0 clamp(280px, 24.3vw, 466px);
  aspect-ratio: 466 / 676;
}

.pj-schedule__collage > * {
  position: absolute;
}

.pj-collage__photo {
  border-radius: 20px;
  object-fit: cover;
}

.pj-collage__photo--small {
  top: 0;
  left: 0;
  width: 61.2%;
  aspect-ratio: 285 / 256;
}

.pj-collage__photo--large {
  top: 31.4%;
  left: 4.9%;
  width: 90.1%;
  aspect-ratio: 420 / 377;
}

.pj-collage__box {
  border-radius: 10px;
  aspect-ratio: 1;
  background: var(--pj-red);
}

.pj-collage__box--pink {
  background: var(--pj-pink);
}

.pj-collage__box--1 {
  top: 24.9%;
  left: 75.3%;
  width: 15.9%;
}

.pj-collage__box--2 {
  top: 21%;
  left: 71.9%;
  width: 11.4%;
}

.pj-collage__box--3 {
  top: 89%;
  left: 0.6%;
  width: 15.9%;
}

.pj-collage__box--4 {
  top: 80.3%;
  left: 15.5%;
  width: 11.4%;
}

.pj-schedule + .recruit-links {
  margin-top: 0;
}

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

@media (max-width: 900px) {
  .pj-card__content {
    flex-direction: column;
  }

  .pj-card__text {
    width: 100%;
  }

  .pj-card__img {
    flex: none;
    width: 100%;
  }

  .pj-schedule {
    background-size: 300% 100%;
  }

  .pj-schedule__inner {
    flex-direction: column;
    align-items: center;
  }

  .pj-schedule__main {
    width: 100%;
  }

  .pj-schedule__collage {
    flex: none;
    width: min(380px, 86%);
  }
}
