@charset "UTF-8";
/* =========================================================
   トップページ（求職者向け）
   デザイン基準: 1500px / コンテンツ 1080px（左右 210px）
   ========================================================= */

/* ---------------------------------------------------------
   ファーストビュー
   背景（1500×860）は上 100px がヘッダーの下に隠れるので、
   下揃えで 1500×760 の枠に敷く。写真 3 枚は 1 枚の透過 PNG（1470×410）。
   重ねる要素の位置・サイズは 1500px 基準を cqw に換算（x / 15）。
   背景は .p-hero の幅いっぱいに伸ばし、中身（.p-hero__inner）は
   従来どおり最大 1600px で止める。
   PC: 背景は 1500:860 の疑似要素。見えている範囲（上 100px を除く 760px）の中心
   ＝画像の上から 480/860（55.814%）を .p-hero の上下中央に合わせるので、
   1600px までは下揃えと同じ、それ以上は中身を中心に上下へ均等に伸びる。
--------------------------------------------------------- */
.p-index .p-hero::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  aspect-ratio: 1500 / 860;
  background: image-set(url("../img/index/hero-bg.jpg") 1x, url("../img/index/hero-bg@2x.jpg") 2x) center / 100% 100% no-repeat;
  transform: translateY(-55.814%);
}

.p-index .p-hero__inner { aspect-ratio: 1500 / 760; }

/* 写真: 左 20px・上 100px */
.p-hero__photos {
  position: absolute;
  top: 6.6667cqw;
  left: 1.3333cqw;
  width: 98cqw; /* 1470px */
  height: auto;
}

.p-hero__copy {
  position: absolute;
  inset: 28.1667cqw 0 auto; /* 1 行目の行頭 422.5px */
}

/* キャッチ: 62px（助詞 50px）・濃緑。白いぼかしの縁取り */
.p-hero__catch {
  margin: 0;
  color: #09392d;
  font-size: 4.1333cqw; /* 62px */
  font-weight: 800;
  line-height: 5.6667cqw; /* 行送り 85px */
  letter-spacing: 0;
  white-space: nowrap;
  text-shadow:
    0 0 .1em var(--c-white),
    0 0 .15em var(--c-white),
    0 0 .2em var(--c-white),
    0 0 .3em var(--c-white);
}

.p-hero__catch small {
  font-size: 3.3333cqw; /* 50px */
  line-height: 1; /* 行送りを 85px のまま保つ */
}

.p-hero__catch-line {
  display: block;
  padding-left: 11.4cqw; /* 171px */
}

.p-hero__catch-line--2 { padding-left: 20.4667cqw; /* 307px */ }

/* タグ: 298×58 の白地・黄緑枠の角丸 3 つ（間隔 42px）。上端 721px */
.p-hero__tags {
  display: flex;
  justify-content: center;
  gap: 2.8cqw;
  margin: 1.9cqw 0 0; /* 2 行目の下端 592.5px → タグ上端 621px */
  padding: 0;
  list-style: none;
}

.p-hero__tags li {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 19.8667cqw;  /* 298px */
  height: 3.8667cqw;  /* 58px */
  border: max(1px, .1333cqw) solid #a6e66c;
  border-radius: 999px;
  background: var(--c-white);
  color: #68bb09;
  font-size: 1.8667cqw; /* 28px */
  font-weight: 700;
  line-height: 1;
}

/* SP: 文字は写真の下に通常配置（写真の上では小さくなりすぎるため） */
@media (max-width: 767.98px) {
  /* SP は文字が写真の下に回って縦長になるので、.p-hero に下揃え cover で敷く */
  .p-index .p-hero {
    background: image-set(url("../img/index/hero-bg.jpg") 1x, url("../img/index/hero-bg@2x.jpg") 2x) center bottom / cover no-repeat;
  }

  .p-index .p-hero::before { content: none; }

  .p-index .p-hero__inner {
    aspect-ratio: auto;
    padding: 4cqw 0 36px;
  }

  .p-hero__photos {
    position: static;
    display: block;
    margin-left: 1.3333cqw;
  }

  .p-hero__copy {
    position: static;
    margin-top: 16px;
    padding: 0 var(--gutter);
  }

  .p-hero__catch {
    font-size: 5.2cqw;
    line-height: 1.5;
    text-align: center;
    white-space: normal;
  }

  .p-hero__catch small { font-size: 4.2cqw; }

  .p-hero__catch-line,
  .p-hero__catch-line--2 { padding-left: 0; }

  .p-hero__tags {
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 16px;
  }

  .p-hero__tags li {
    width: auto;
    height: auto;
    padding: .4em 1.1em;
    border-width: 2px;
    font-size: .875rem;
  }
}

/* ---------------------------------------------------------
   事業期間・募集期間（白地。10/20 版で灰色地と斜めの下辺は廃止）
--------------------------------------------------------- */
.p-period {
  padding: 120px 0 0;
  text-align: center;
}

.p-period__list { margin: 0; }

.p-period__item--entry { margin-top: 84px; }

/* 見出し: 字間 12px、左右に 60px の罫線 */
.p-period__label {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  font-size: 1.5rem; /* 24px */
  font-weight: 800;
  line-height: 1.45;
  letter-spacing: 12px;
}

.p-period__label::before,
.p-period__label::after {
  content: "";
  width: 60px;
  height: 1px;
  background: var(--c-black);
}

.p-period__label::after { margin-left: -12px; } /* 末尾の字間を相殺 */

.p-period__date {
  margin: 14px 0 0;
  font-size: 1.75rem; /* 28px */
  font-weight: 800;
  line-height: 1;
}

.p-period__date em {
  font-size: 3.75rem; /* 60px */
  font-style: normal;
  line-height: 1;
}

.p-period__note {
  margin: 26px 0 0;
  font-size: 1rem; /* 16px */
  line-height: 1.45;
}

.p-period__item--entry .p-period__date {
  margin-top: 16px;
  font-size: 1.5rem; /* 24px */
}

.p-period__item--entry .p-period__date em { font-size: 3rem; /* 48px */ }

@media (max-width: 767.98px) {
  .p-period { padding: 48px 0 0; }
  .p-period__item--entry { margin-top: 36px; }

  .p-period__label {
    gap: 10px;
    font-size: 1.125rem;
    letter-spacing: 8px;
  }

  .p-period__label::before,
  .p-period__label::after { width: 36px; }

  .p-period__label::after { margin-left: -8px; }

  .p-period__date { font-size: 3.7vw; }
  .p-period__date em { font-size: 7.6vw; }
  .p-period__item--entry .p-period__date { font-size: 1.125rem; }
  .p-period__item--entry .p-period__date em { font-size: 2.25rem; }

  .p-period__note {
    margin-top: 16px;
    font-size: .8125rem;
  }
}

/* ---------------------------------------------------------
   最新情報
--------------------------------------------------------- */
.p-news { padding: 149px 0 151px; }

.p-news .c-btn-wrap { margin-top: 61px; }

@media (max-width: 767.98px) {
  .p-news { padding: 56px 0 72px; }
  .p-news .c-btn-wrap { margin-top: 36px; }
}

/* ---------------------------------------------------------
   本事業の 3 つのポイント（id="feature"。背景は 1500×861 のスライス）
   見出しは濃緑の平行四辺形（520×66）＋白丸（97px）の数字。
   カードは 404×447 の skewY(-4.25deg)（幅 404px で右上が 30px 上がる）＋緑の影、
   間隔 34px で 3 枚 = 1280px。
--------------------------------------------------------- */
.p-feature {
  --feature-green: #098347;
  --feature-dark: #09392d;
  padding: 98.5px 0 112px;
  background: var(--c-green-pale) image-set(url("../img/index/point-bg.png") 1x, url("../img/index/point-bg@2x.png") 2x) center top / cover no-repeat;
}

.p-feature .l-container { --content-w: 1280px; }

.p-feature__heading {
  display: flex;
  justify-content: center;
  margin: 0;
}

.p-feature__heading-inner {
  position: relative;
  isolation: isolate;
  display: inline-flex;
  align-items: center;
  padding: 0 39px 0 51px;
  color: var(--c-white);
  font-size: 2rem; /* 32px */
  font-weight: 700;
  line-height: 1.45;
  white-space: nowrap;
}

.p-feature__heading-inner::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 66px;
  margin-top: -33px;
  background: var(--feature-dark);
  clip-path: polygon(20px 0, 100% 0, calc(100% - 20px) 100%, 0 100%);
}

.p-feature__heading-num {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 97px;
  height: 97px;
  margin: 0 6.5px;
  padding-bottom: 10px; /* 数字の行ボックスは丸の中心より 5px 上 */
  border: 3px solid var(--feature-dark);
  border-radius: 50%;
  background: var(--c-white);
  color: var(--feature-dark);
  font-size: 3.75rem; /* 60px */
  font-weight: 500;
  line-height: 1;
}

.p-feature__list {
  --bs-gutter-x: 34px;
  --bs-gutter-y: 0px;
  margin-top: 106.5px;
  margin-bottom: 0;
  padding: 0;
  list-style: none;
}

.p-feature__card {
  position: relative;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 447px;
  padding: 69px 12px 8px;
  text-align: center;
}

.p-feature__card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border: 2px solid var(--c-black);
  background: var(--c-white);
  box-shadow: 5px 5px 0 var(--c-green);
  transform: skewY(-4.25deg);
}

/* 番号（オレンジ丸 80px。カード上辺の中央に重ねる） */
.p-feature__num {
  position: absolute;
  top: -45px;
  left: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 80px;
  height: 80px;
  margin-left: -40px;
  border-radius: 50%;
  background: #ed9e41;
  color: var(--c-white);
  font-size: 2.5rem; /* 40px */
  font-weight: 500;
  line-height: 1;
}

.p-feature__icon {
  flex-shrink: 0;
  width: 100px;
  height: auto;
}

/* 本文は 270px の枠の上下中央（3 枚目は区切り線・補足なし） */
.p-feature__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  justify-content: center;
  width: 100%;
}

.p-feature__title {
  margin: 0;
  font-size: 1.625rem; /* 26px */
  font-weight: 700;
  line-height: 40px;
}

.p-feature__title em {
  color: var(--feature-green);
  font-style: normal;
}

/* 区切り線（40×3）は見出しの 17px 下、補足はさらに 17px 下 */
.p-feature__text {
  margin: 0;
  font-size: 1.25rem; /* 20px */
  font-weight: 500;
  line-height: 32px;
}

.p-feature__text::before {
  content: "";
  display: block;
  width: 40px;
  height: 3px;
  margin: 17px auto 17px;
  background: var(--feature-green);
}

@media (max-width: 1399.98px) {
  .p-feature__title { font-size: min(1.625rem, 1.8vw); }
  .p-feature__text { font-size: min(1.25rem, 1.4vw); }
}

@media (max-width: 1199.98px) {
  .p-feature__list {
    --bs-gutter-x: 0px; /* 1 列。34px のままだと row の負マージンが SP のガター 16px を超える */
    --bs-gutter-y: 100px;
    margin-top: calc(106.5px - var(--bs-gutter-y));
  }

  .p-feature__card {
    max-width: 404px;
    margin-inline: auto;
  }

  .p-feature__title { font-size: 1.625rem; }
  .p-feature__text { font-size: 1.25rem; }
}

@media (max-width: 767.98px) {
  .p-feature { padding: 72px 0 88px; }

  .p-feature__heading-inner { padding: 0 20px 0 28px; font-size: 1.25rem; }
  .p-feature__heading-inner::before { height: 44px; margin-top: -22px; clip-path: polygon(13px 0, 100% 0, calc(100% - 13px) 100%, 0 100%); }
  .p-feature__heading-num { width: 64px; height: 64px; margin: 0 4px; padding-bottom: 6px; font-size: 2.375rem; }

  .p-feature__list {
    --bs-gutter-y: 90px;
    margin-top: calc(96px - var(--bs-gutter-y));
  }

  .p-feature__card { height: auto; min-height: 360px; padding: 56px 16px 40px; }
  .p-feature__num { width: 64px; height: 64px; margin-left: -32px; top: -36px; font-size: 2rem; }
  .p-feature__icon { width: 80px; }
  .p-feature__body { margin-top: 28px; }
  .p-feature__title { font-size: 1.25rem; line-height: 1.6; }
  .p-feature__text { font-size: 1rem; line-height: 1.8; }
  .p-feature__text::before { margin-block: 14px; }
}

/* ---------------------------------------------------------
   参加資格
--------------------------------------------------------- */
.p-requirements { padding: 150px 0; }

.p-requirements__body {
  gap: 68px;
  margin-top: 85px;
  padding-left: 16px; /* デザインはやや右寄り（中心 763px） */
}

.p-requirements__illust {
  flex-shrink: 0;
  width: 205px;
  margin-bottom: 10px;
}

.p-requirements__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.p-requirements__list li {
  min-height: 28px;
  padding-left: 43px;
  background: url("../img/index/check-mark.svg") no-repeat left top / 28px 28px;
  font-size: 1.125rem; /* 18px */
  font-weight: 700;
  line-height: 28px;
}

.p-requirements__list li + li { margin-top: 30px; }

.p-requirements__list small {
  display: block;
  margin-top: 13px;
  font-size: .875rem; /* 14px */
  font-weight: 500;
  line-height: 1.45;
}

@media (max-width: 767.98px) {
  .p-requirements { padding: 72px 0; }

  .p-requirements__body {
    gap: 32px;
    margin-top: 52px;
    padding-left: 0;
  }

  .p-requirements__illust { width: 140px; margin-bottom: 0; }

  .p-requirements__list li {
    padding-left: 36px;
    background-size: 24px 24px;
    font-size: 1rem;
    line-height: 1.6;
  }

  .p-requirements__list li + li { margin-top: 18px; }
}

/* ---------------------------------------------------------
   こんな方にお勧めです
--------------------------------------------------------- */
.p-recommend { padding: 0 0 151px; }

.p-recommend__list {
  --bs-gutter-x: 24px;
  --bs-gutter-y: 0px;
  margin-top: 85px;
  margin-bottom: 0;
  padding: 0;
  list-style: none;
}

.p-recommend__card {
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 366px;
  padding-top: 32px;
  border: 2px solid var(--c-black);
  border-radius: 16px;
  background: var(--c-white);
  box-shadow: 5px 5px 0 var(--c-green);
}

.p-recommend__icon {
  width: 132px;
  flex-shrink: 0;
}

.p-recommend__text {
  display: flex;
  flex: 1;
  align-items: center;
  margin: 0;
  padding: 6px 10px 0;
  font-size: 1.125rem; /* 18px */
  font-weight: 700;
  line-height: 30px;
  text-align: center;
}

@media (max-width: 991.98px) {
  .p-recommend__list {
    --bs-gutter-y: 24px;
    margin-top: calc(85px - var(--bs-gutter-y));
  }

  .p-recommend__card {
    max-width: 252px;
    margin-inline: auto;
  }
}

@media (max-width: 767.98px) {
  .p-recommend { padding-bottom: 80px; }

  .p-recommend__list {
    --bs-gutter-x: 12px;
    --bs-gutter-y: 14px;
    margin-top: calc(52px - var(--bs-gutter-y));
  }

  .p-recommend__card {
    height: 100%;
    min-height: 240px;
    padding: 18px 0 16px;
    border-radius: 12px;
    box-shadow: 4px 4px 0 var(--c-green);
  }

  .p-recommend__icon { width: 84px; }

  .p-recommend__text {
    padding: 10px 6px 0;
    font-size: .8125rem;
    line-height: 1.7;
  }

  .p-recommend__text br { display: none; }
}

/* ---------------------------------------------------------
   参加の流れ（淡い緑地）
--------------------------------------------------------- */
.p-flow {
  padding: 150px 0 143px;
  background: var(--c-green-pale);
}

/* 導入: 中央のイラスト＋右に重なる楕円の吹き出し */
.p-flow__intro {
  position: relative;
  width: 139px;
  margin: 65px auto 0;
}

.p-flow__intro-illust {
  display: block;
  width: 139px;
}

.p-flow__intro-balloon {
  position: absolute;
  top: 7px;
  left: 107px;
  display: flex;
  align-items: center;
  width: 230px;
  height: 144px;
  margin: 0;
  padding-left: 48px;
  border: 4px solid var(--c-green);
  border-radius: 50%;
  background: var(--c-white);
  font-size: 1.125rem; /* 18px */
  font-weight: 700;
  line-height: 28px;
}

/* ステップ */
.p-flow__steps {
  margin: 60px 0 0;
  padding: 0;
  list-style: none;
}

.p-flow__step {
  position: relative;
  display: flex;
}

/* ステップ間の下向き三角（74×37。上下 40px） */
.p-flow__step + .p-flow__step { margin-top: 120px; }
.p-flow__step--4 { margin-top: 160px !important; } /* 3→4 は吹き出しのぶん広い */

.p-flow__step + .p-flow__step::before,
.p-flow__goal::before {
  content: "";
  position: absolute;
  bottom: calc(100% + 41px);
  left: 50%;
  width: 74px;
  height: 37px;
  margin-left: -37px;
  background: url("../img/index/arrow-down-green.svg") no-repeat center / contain;
}

.p-flow__step--4::before { bottom: calc(100% + 61px) !important; }

/* 左の STEP 番号（白地・左右に緑の線） */
.p-flow__num {
  display: flex;
  flex: 0 0 222px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin: 0;
  border-inline: 2px solid var(--c-green);
  background: var(--c-white);
  color: var(--c-green);
  line-height: 1;
}

.p-flow__num-label {
  align-self: center;
  margin-top: 14px;
  font-size: 2rem; /* 32px */
  font-weight: 700;
}

.p-flow__num-value {
  font-size: 6.25rem; /* 100px */
  font-weight: 500;
}

.p-flow__content {
  position: relative;
  z-index: 1;
  margin-left: 50px;
}

.p-flow__title {
  margin: 0;
  font-size: 1.5rem; /* 24px */
  font-weight: 700;
  line-height: 1.45;
}

.p-flow__title small {
  font-size: 1.125rem; /* 18px */
  font-weight: 700;
}

.p-flow__title .p-flow__title-days { font-size: 1.25rem; /* 20px */ }

.p-flow__subtitle {
  margin: 10px 0 0;
  font-size: 1.25rem; /* 20px */
  font-weight: 700;
  line-height: 1.45;
}

.p-flow__list {
  margin: 27px 0 0;
  padding: 0;
  list-style: none;
  font-size: 1rem; /* 16px */
  line-height: 30px;
}

.p-flow__step--1 .p-flow__list { margin-top: 23px; }

.p-flow__list li {
  padding-left: 1em;
  text-indent: -1em;
}

.p-flow__list li::before { content: "・"; }

.p-flow__note {
  margin: 12px 0 0;
  font-size: .875rem; /* 14px */
  line-height: 1.45;
}

.p-flow__lead {
  margin: 25px 0 0;
  font-size: 1.25rem; /* 20px */
  font-weight: 700;
  line-height: 32px;
}

.p-flow__note + .p-flow__lead { margin-top: 28px; }

.p-flow__lead + .p-flow__note--md {
  margin-top: 9px;
  font-size: 1rem; /* 16px */
}

/* 装飾（イラスト・給与の丸・企業面接の吹き出し）
   PC はステップ行の左上（x=210）を基準にデザイン座標で絶対配置 */
.p-flow__deco {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.p-flow__deco > * {
  position: absolute;
  margin: 0;
}

/* 給与・通勤手当支給（親指アイコン付きの緑の丸 161×157。文字は丸の中心 93,89 に） */
.p-flow__pay {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 161px;
  height: 157px;
  padding: 21px 0 0 25px;
  background: url("../img/index/ico-thumb-up.svg") no-repeat 0 0 / 100% 100%;
  font-size: 1.125rem; /* 18px */
  font-weight: 700;
  line-height: 28px;
  text-align: center;
}

/* 企業面接（緑の丸＋左向きの尻尾 206.5×170） */
.p-flow__interview {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 206.5px;
  height: 170px;
  padding-left: 25.5px; /* 丸の中心 x=116 */
  background: url("../img/index/baloon-green.svg") no-repeat 0 0 / 100% 100%;
  font-size: 1rem; /* 16px */
  line-height: 30px;
  text-align: center;
}

.p-flow__interview strong {
  margin-bottom: 7px;
  font-size: 1.25rem; /* 20px */
  font-weight: 700;
  line-height: 1.45;
}

.p-flow__step--1 .p-flow__illust { top: 74px; left: 790px; width: 240px; }
.p-flow__step--2 .p-flow__pay { top: 97px; left: 580px; }
.p-flow__step--2 .p-flow__illust { top: 83px; left: 780px; width: 281px; }
.p-flow__step--3 .p-flow__illust { top: -7px; left: 875px; width: 135px; }
.p-flow__step--3 .p-flow__interview { top: 223px; left: 769px; }
.p-flow__step--4 .p-flow__pay { top: 20px; left: 702px; }
.p-flow__step--4 .p-flow__illust { top: 35px; left: 881px; width: 138px; }

/* 結び（左右に緑の斜線） */
.p-flow__goal {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  min-height: 56.5px;
  margin: 120px 0 0;
  font-size: 1.5rem; /* 24px */
  font-weight: 700;
  line-height: 1.45;
}

.p-flow__goal::before { bottom: calc(100% + 41px); }

.p-flow__goal {
  background:
    url("../img/index/line-left-green.svg") no-repeat left center / 26.5px 56.5px,
    url("../img/index/line-right-green.svg") no-repeat right center / 26.5px 56.5px;
  width: 594px;
  max-width: 100%;
  margin-inline: auto;
  padding: 0 49px 0 40px;
}

/* 1199px 以下: 装飾は本文の下に横並び */
@media (max-width: 1199.98px) {
  .p-flow__step { flex-wrap: wrap; }

  .p-flow__content { flex: 1; }

  .p-flow__deco {
    position: static;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 16px 32px;
    flex-basis: 100%;
    margin-top: 24px;
    padding-left: 272px;
  }

  .p-flow__deco > * { position: static; }

  .p-flow__step + .p-flow__step,
  .p-flow__step--4 { margin-top: 120px !important; }

  .p-flow__step--4::before { bottom: calc(100% + 41px) !important; }
}

@media (max-width: 767.98px) {
  .p-flow { padding: 72px 0 72px; }

  .p-flow__intro { margin-top: 52px; transform: translateX(-60px); }
  .p-flow__intro-illust { width: 110px; }

  .p-flow__intro-balloon {
    left: 86px;
    width: 180px;
    height: 116px;
    padding-left: 30px;
    border-width: 3px;
    font-size: .875rem;
    line-height: 1.6;
  }

  .p-flow__steps { margin-top: 40px; }

  .p-flow__step { display: block; background: var(--c-white); }

  .p-flow__step + .p-flow__step,
  .p-flow__step--4 { margin-top: 78px !important; }

  .p-flow__step + .p-flow__step::before,
  .p-flow__step--4::before,
  .p-flow__goal::before {
    bottom: calc(100% + 22px) !important;
    width: 56px;
    height: 28px;
    margin-left: -28px;
  }

  .p-flow__num {
    gap: 8px;
    height: 64px;
    border: 0;
    border-bottom: 2px solid var(--c-green);
  }

  .p-flow__num-label { margin-top: 8px; font-size: 1.25rem; }
  .p-flow__num-value { font-size: 3.25rem; }

  .p-flow__content {
    margin: 0;
    padding: 20px 16px 0;
  }

  .p-flow__title { font-size: 1.25rem; }
  .p-flow__title small { display: block; font-size: .875rem; }
  .p-flow__title .p-flow__title-days { display: inline; font-size: 1rem; }
  .p-flow__subtitle { font-size: 1rem; }
  .p-flow__list { margin-top: 14px !important; font-size: .9375rem; line-height: 1.8; }
  .p-flow__list br { display: none; }
  .p-flow__lead { margin-top: 14px !important; font-size: 1rem; line-height: 1.6; }
  .p-flow__lead br { display: none; }
  .p-flow__lead + .p-flow__note--md { font-size: .8125rem; }

  .p-flow__deco {
    gap: 12px 16px;
    margin: 0;
    padding: 16px 16px 20px;
  }

  .p-flow__pay { transform: scale(.85); margin: -12px; }
  .p-flow__interview { transform: scale(.85); margin: -13px; }
  .p-flow__step--1 .p-flow__illust { width: 180px; }
  .p-flow__step--2 .p-flow__illust { width: 200px; }
  .p-flow__step--3 .p-flow__illust,
  .p-flow__step--4 .p-flow__illust { width: 100px; }

  .p-flow__goal {
    margin-top: 78px;
    padding: 0 30px;
    background-size: 18px 38px, 18px 38px;
    font-size: 1.125rem;
  }
}

/* ---------------------------------------------------------
   PICK UP 求人情報 / 動画で見る企業の魅力（緑帯＋グレー地）
--------------------------------------------------------- */
.p-pickup { padding: 130px 0 151px; }

.p-pickup__lead {
  margin: 60px 0 0;
  font-size: 1.125rem; /* 18px */
  line-height: 36px;
  text-align: center;
}

.p-pickup__list,
.p-movie__list {
  --bs-gutter-x: 24px;
  --bs-gutter-y: 0px;
  margin-top: 51px;
  margin-bottom: 0;
  padding: 0;
  list-style: none;
}

.p-movie__list { margin-top: 65px; }

.p-pickup .c-btn-wrap,
.p-movie .c-btn-wrap { margin-top: 61px; }

.p-movie { padding: 150px 0 151px; }

@media (max-width: 991.98px) {
  .p-pickup__list {
    --bs-gutter-y: 32px;
    margin-top: calc(51px - var(--bs-gutter-y));
  }
}

@media (max-width: 767.98px) {
  .p-pickup,
  .p-movie { padding: 72px 0; }

  .p-pickup__lead {
    margin-top: 44px;
    font-size: .9375rem;
    line-height: 1.8;
  }

  .p-pickup__lead br { display: none; }

  .p-pickup__list,
  .p-movie__list {
    --bs-gutter-y: 28px;
    margin-top: calc(36px - var(--bs-gutter-y));
  }

  .p-pickup__list .c-card,
  .p-movie__list .c-card {
    max-width: 344px;
    margin-inline: auto;
  }

  .p-pickup .c-btn-wrap,
  .p-movie .c-btn-wrap { margin-top: 40px; }
}

/* ---------------------------------------------------------
   参加者の声（c-voice）。企業トップより余白が詰まっている:
   見出しまで 106px・見出し→吹き出し 93px・吹き出し同士 75px・下 131.5px。
   吹き出しの間隔は吹き出し基準（2 行 120px でも 75px）なので、
   アバター 140px を高さ 120px 扱いにして行の高さを吹き出しに合わせる。
--------------------------------------------------------- */
@media (min-width: 992px) {
  .p-index .c-voice__panel { padding-top: 106px; padding-bottom: 131.5px; }
  .p-index .c-voice__list { margin-top: 93px; }
  .p-index .c-voice__item + .c-voice__item { margin-top: 75px; }
  .p-index .c-voice__avatar { margin-block: -10px; }
  .p-index .c-voice__text { padding-right: 30px; } /* 1 行 40 字（640px）で折り返す */
}

/* ---------------------------------------------------------
   よくある質問
--------------------------------------------------------- */
.p-faq { padding: 0 0 120px; }

.p-faq .c-btn-wrap { margin-top: 80px; }

@media (max-width: 767.98px) {
  .p-faq { padding-bottom: 72px; }
  .p-faq .c-btn-wrap { margin-top: 48px; }
}

/* ---------------------------------------------------------
   フッター上の写真（4 枚横並び / SP は 2×2）
--------------------------------------------------------- */
.p-gallery { margin: 0; }

.p-gallery img {
  display: block;
  width: 100%;
  height: auto;
}
