@charset "UTF-8";
/* ======== hrt_lead_cvarea_1 ======== */
.c-table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 1.5rem;
}

.c-table th,
.c-table td {
  border: 1px solid #dbdbdb;
  padding: 0.75em;
  vertical-align: top;
}

.c-table th {
  background-color: #f5f5f5;
  font-weight: bold;
  text-align: left;
  white-space: nowrap;
}

.c-table--evaluation td:first-child {
  white-space: nowrap;
}

.c-table--roadmap td:nth-child(2) {
  white-space: nowrap;
}

.c-table tbody tr:nth-child(odd) {
  background-color: #f9f9f9;
}

.c-table tbody tr:hover {
  background-color: #f0f0f0;
}

/* ======== 追加：CV導線・固定導線 ======== */
/*.c-cta__hero {
  background: linear-gradient(135deg, #f6fffb, #eff8ff);
  border: 1px solid #e3eef7;
  border-radius: 12px;
  padding: 150px;
  margin: 24px 0 32px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
}*/

.c-cta__hero {
  background: linear-gradient(135deg, #f6fffb, #eff8ff);
  border: 1px solid #e3eef7;
  border-radius: 12px;
  padding: 24px; /* 150px → 24px に縮小（←後で少しだけ圧縮を上書き） */
  margin: 24px 0 32px;
  display: flex;
  align-items: center;
  gap: 16px;
}

.c-cta__hero .c-cta__title {
  font-weight: 700;
  margin: 0 0 6px;
  line-height: 1.4;
}

.c-cta__hero .c-cta__text {
  margin: 0;
  font-size: 0.95rem;
}

.c-cta__hero .c-cta__btns {
  margin-left: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 12px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.c-btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 12px 16px;  /* ←後で少しだけ圧縮を上書き */
  border-radius: 8px;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap; /* ボタンのテキストを改行させない（全体適用） */
}

.c-btn--primary {
  background: #056EB4;
  color: #fff;
}

.c-btn--primary_JOBOLE {
  background: #056EB4;
  color: #fff;
  border: 2px solid #026db4;
} /* 記事内JOBOLEボタン */
.c-btn--primary_HRads {
  background: #e73849;
  color: #fff;
  border: 2px solid #e7273a;
} /* 記事内HRadsボタン */
.c-btn--primary_aggregate {
  background: #67b64c;
  color: #fff;
  border: 2px solid #61be42;
} /* 記事内検索エンジンボタン */
.c-btn--primary:hover {
  opacity: 0.9;
}

.c-btn--outline {
  border: 2px solid #00a870;
  color: #00a870;
  background: #fff;
}

.c-btn--outline:hover {
  background: #f1fff9;
}

.c-cta__note {
  font-size: 0.8rem;
  color: #666;
  margin-top: 6px;
}

/* サイドバー固定（視認性UP） */
.c-card__sticky {
  position: -webkit-sticky;
  position: sticky;
  top: 16px;
  border: 1px solid #e7eaef;
  border-radius: 12px;
  padding: 16px;
  background: #fff;
}

.c-card__sticky h5 {
  font-weight: 700;
  margin-bottom: 8px;
}

.c-card__sticky .c-card__text {
  font-size: 0.9rem;
  margin-bottom: 12px;
}

/* ーーーーーJOBOLEーーーーー */
/* カード型：タイトル中央＋左右2カラム（左：画像／右：本文＋ボタン） */
.c-cta__hero.c-cta__hero--card_JOBOLE {
  display: grid;
  grid-template-columns: 220px 1fr; /* 画像幅 / 本文 */
  grid-template-areas: "title   title" "media   content" "media   btns";
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px 28px;
  padding: 24px;  /* ←後で少しだけ圧縮を上書き */
  border: 2px solid #056EB4; /* 枠色（お好みで） */
  border-radius: 14px;
  /* ====== ここから色分け帯の指定 ====== */
  --header-h: 70px; /* 上の色帯の高さ */
  --header-bg: #1492D1; /* 上帯の色 */
  --body-bg: #ffff; /* 本文側の背景色 */
  /* 上：header-bg、下：body-bg で塗り分け */
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0, var(--header-bg)), color-stop(var(--header-bg)), color-stop(var(--body-bg)), to(var(--body-bg)));
  background: linear-gradient(to bottom, var(--header-bg) 0, var(--header-bg) var(--header-h), var(--body-bg) var(--header-h), var(--body-bg) 100%);
  overflow: hidden; /* 角丸に帯をフィットさせる */
}

/* 各エリアの割り当て */
.c-cta__hero--card_JOBOLE .c-cta__title {
  grid-area: title;
  text-align: center;
  margin: 0 0 4px;
  font-weight: 700;
  color: #fff;
  font-size: 25px;
}

.c-cta__hero--card_JOBOLE .c-cta__img {
  grid-area: media;
  width: 100%;
  max-width: 320px;
  height: auto;
  display: block;
  border-radius: 6px;
}

.c-cta__hero--card_JOBOLE .c-cta__text {
  grid-area: content;
  margin: 0;
  line-height: 1.8;
}

.c-cta__hero--card_JOBOLE .c-cta__btns {
  grid-area: btns;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 12px;
}

.c-cta__hero--card_JOBOLE .c-btn {
  border-radius: 999px;
  padding: 12px 20px; /* ←後で少しだけ圧縮を上書き */
  font-weight: 800;
}

/* スマホは縦積み */
@media (max-width: 768px) {
  .c-cta__hero.c-cta__hero--card_JOBOLE {
    grid-template-columns: 1fr;
    grid-template-areas: "title" "media" "content" "btns";
  }
  .c-cta__hero--card_JOBOLE .c-cta__btns {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
/* ーーーーーーーーーーーー */
/* ーーーーーHRadsーーーーー */
.c-cta__hero.c-cta__hero--card_HRads {
  display: grid;
  grid-template-columns: 220px 1fr;
  grid-template-areas: "title   title" "media   content" "media   btns";
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px 28px;
  padding: 24px; /* ←後で少しだけ圧縮を上書き */
  border: 2px solid #EC132A;
  border-radius: 14px;
  --header-h: 70px;
  --header-bg: #e45a68;
  --body-bg: #ffff;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0, var(--header-bg)), color-stop(var(--header-bg)), color-stop(var(--body-bg)), to(var(--body-bg)));
  background: linear-gradient(to bottom, var(--header-bg) 0, var(--header-bg) var(--header-h), var(--body-bg) var(--header-h), var(--body-bg) 100%);
  overflow: hidden;
}

.c-cta__hero--card_HRads .c-cta__title {
  grid-area: title;
  text-align: center;
  margin: 0 0 4px;
  font-weight: 700;
  color: #fff;
  font-size: 25px;
}

.c-cta__hero--card_HRads .c-cta__img_logo {
  grid-area: media;
  width: 100%;
  max-width: 320px;
  height: auto;
  display: block;
  border-radius: 0px;
}

.c-cta__hero--card_HRads .c-cta__img_table {
  grid-area: media;
  width: 100%;
  max-width: 480px;
  height: auto;
  display: block;
  border-radius: 0px;
}

.c-cta__hero--card_HRads .c-cta__text {
  grid-area: content;
  margin: 0;
  line-height: 1.8;
}

.c-cta__hero--card_HRads .c-cta__btns {
  grid-area: btns;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 12px;
}

.c-cta__hero--card_HRads .c-btn {
  border-radius: 999px;
  padding: 12px 20px; /* ←後で少しだけ圧縮を上書き */
  font-weight: 800;
}

/* スマホは縦積み */
@media (max-width: 768px) {
  .c-cta__hero.c-cta__hero--card_HRads {
    grid-template-columns: 1fr;
    grid-template-areas: "title" "media" "content" "btns";
  }
  .c-cta__hero--card_HRads .c-cta__btns {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
/* ーーーーーーーーーーーー */
/* ーーーーーaggregateーーーーー */
.c-cta__hero.c-cta__hero--card_aggregate {
  display: grid;
  grid-template-columns: 1fr 220px;
  grid-template-areas: "title     title" "content   ." "content_1 media_1" "content_2 media_2" "content_3 media_3" "btns      btns";
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px 28px;
  padding: 24px; /* ←後で少しだけ圧縮を上書き */
  border: 2px solid #61be42;
  border-radius: 14px;
  --header-h: 70px;
  --header-bg: #67b64c;
  --body-bg: #fff;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0, var(--header-bg)), color-stop(var(--header-bg)), color-stop(var(--body-bg)), to(var(--body-bg)));
  background: linear-gradient(to bottom, var(--header-bg) 0, var(--header-bg) var(--header-h), var(--body-bg) var(--header-h), var(--body-bg) 100%);
  overflow: hidden;
}

/* 画像の重ね合わせ土台（共通） */
.c-cta__mediaStack { position: relative; }
.c-cta__mediaStack .c-media__base { display: block; width: 100%; height: auto; }
.c-cta__mediaStack .p-features__img {
  position: absolute; inset: 0; width: 100%; height: 100%;
  -o-object-fit: contain; object-fit: contain; pointer-events: none;
}

/* ドット（任意位置） */
.c-cta__mediaStack .c-dot {
  position: absolute;
  width: 14px; height: 14px; border-radius: 999px;
  background: #61be42;
  -webkit-box-shadow: 0 0 0 6px rgba(97,190,66,.25);
          box-shadow: 0 0 0 6px rgba(97,190,66,.25);
  top: 22%; right: 18%;
  -webkit-animation: pulse 2s infinite; animation: pulse 2s infinite;
}

@-webkit-keyframes pulse {
  0% { -webkit-box-shadow: 0 0 0 0 rgba(97,190,66,.35); box-shadow: 0 0 0 0 rgba(97,190,66,.35); }
  70% { -webkit-box-shadow: 0 0 0 12px rgba(97,190,66,0); box-shadow: 0 0 0 12px rgba(97,190,66,0); }
  100% { -webkit-box-shadow: 0 0 0 0 rgba(97,190,66,0); box-shadow: 0 0 0 0 rgba(97,190,66,0); }
}
@keyframes pulse {
  0% { box-shadow: 0 0 0 0 rgba(97,190,66,.35); }
  70% { box-shadow: 0 0 0 12px rgba(97,190,66,0); }
  100% { box-shadow: 0 0 0 0 rgba(97,190,66,0); }
}

/* エリア割り当て */
.c-cta__hero--card_aggregate .c-cta__title {
  grid-area: title; text-align: center; margin: 0 0 4px;
  font-weight: 700; color: #fff; font-size: 25px;
}
.c-cta__hero--card_aggregate .c-cta__text { grid-area: content;  margin: 0; line-height: 1.8; }
.c-cta__hero--card_aggregate .c-cta__text_1 { grid-area: content_1; margin: 0; line-height: 1.8; }
.c-cta__hero--card_aggregate .c-cta__text_2 { grid-area: content_2; margin: 0; line-height: 1.8; }
.c-cta__hero--card_aggregate .c-cta__text_3 { grid-area: content_3; margin: 0; line-height: 1.8; }

.c-cta__hero--card_aggregate .c-cta__img_table_1,
.c-cta__hero--card_aggregate .c-cta__img_table_2,
.c-cta__hero--card_aggregate .c-cta__img_table_3 {
  width: auto; max-width: 360px; justify-self: end;
}

.c-cta__hero--card_aggregate .c-cta__btns {
  grid-area: btns; display: flex; gap: 12px; justify-self: end;
}

.c-cta__hero--card_aggregate .c-btn {
  border-radius: 999px;
  padding: 10px 20px; /* ←後で少しだけ圧縮を上書き */
  font-weight: 800;
}

/* スマホは縦積み */
@media (max-width: 768px) {
  .c-cta__hero.c-cta__hero--card_aggregate {
    grid-template-columns: 1fr;
    grid-template-areas:
      "title" "content" "content_1" "media_1"
      "content_2" "media_2" "content_3" "media_3" "btns";
  }
  .c-cta__hero--card_aggregate .c-cta__btns { justify-self: center; }
  .c-cta__hero--card_aggregate .c-cta__img_table_1,
  .c-cta__hero--card_aggregate .c-cta__img_table_2,
  .c-cta__hero--card_aggregate .c-cta__img_table_3 {
    max-width: min(420px, 100%); justify-self: center;
  }
}
/* ← ラッパーdivにエリアを割り当て（CSSだけで修正） */
.c-cta__hero--card_aggregate > div:has(> .c-cta__text)   { grid-area: content; }
.c-cta__hero--card_aggregate > div:has(> .c-cta__text_1) { grid-area: content_1; }
.c-cta__hero--card_aggregate > div:has(> .c-cta__text_2) { grid-area: content_2; }
.c-cta__hero--card_aggregate > div:has(> .c-cta__text_3) { grid-area: content_3; }

/* ーーーーーーーーーーーー */
/* 右下固定ドック（JOBOLE常時表示） */
.c-fixeddock {
  position: fixed;
  right: 16px;
  bottom: 96px; /* totopボタンを考慮 */
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
  z-index: 9999;
}

.c-fixeddock__btn {
  -webkit-box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
          box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
  border-radius: 999px;
  padding: 12px 16px; /* ←後で少しだけ圧縮を上書き */
  font-weight: 800;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  text-decoration: none;
  white-space: nowrap;
}

.c-fixeddock__btn--jobole   { background: #056EB4; color:#fff; }
.c-fixeddock__btn--HRads    { background: #e73849; color:#fff; }
.c-fixeddock__btn--aggregate{ background: #53B332; color:#fff; }
.c-fixeddock__btn--contact  { background: #000000; color:#fff; }
.c-fixeddock__btn:hover { opacity: 0.92; }

/* SPで主張しすぎないよう抑制 */
@media (max-width: 768px) {
  .c-cta__hero {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .c-cta__hero .c-cta__btns { margin-left: 0; width: 100%; }
  .c-cta__hero .c-btn {
    -webkit-box-flex: 1; -ms-flex: 1 1 auto; flex: 1 1 auto;
    -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center;
  }
  .c-fixeddock { right: 12px; bottom: 80px; }
}

/* =========================================================
   ▼▼ ここから追記（SPのみ：～768pxで下部固定バー化）▼▼
   ========================================================= */
@media (max-width: 768px) {
  main { padding-bottom: calc(78px + env(safe-area-inset-bottom)) !important; }

  html body .c-cta__hero .c-cta__btns {
    position: fixed !important;
    left: 0; right: 0; bottom: 0;
    margin: 0 !important; width: 100% !important;
    padding: 10px 12px calc(10px + env(safe-area-inset-bottom)) !important;
    background: rgba(255,255,255,0.96) !important;
    -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px);
    border-top: 1px solid rgba(0,0,0,0.06);
    box-shadow: 0 -8px 20px rgba(0,0,0,0.08) !important;
    z-index: 10000 !important;
    display: flex !important; justify-content: center !important; align-items: stretch !important; gap: 8px !important;
    overflow-x: auto !important; -webkit-overflow-scrolling: touch; scrollbar-width: none;
  }
  html body .c-cta__hero .c-cta__btns::-webkit-scrollbar { display: none; }

  html body .c-cta__hero .c-cta__btns .c-btn {
    flex: 1 1 33% !important; min-width: 32% !important;
    min-height: 48px !important; padding: 12px 14px !important;
    white-space: nowrap !important; text-overflow: ellipsis; overflow: hidden;
  }

  .c-fixeddock { display: none !important; }
  .c-cta__hero { padding: 16px !important; }
}

/* 表のはみ出し対策 */
@media (max-width: 1024px) {
  .c-table { table-layout: fixed !important; width: 100% !important; word-break: break-word !important; }
  .c-table th, .c-table td { white-space: normal !important; }
  .c-table--evaluation td:first-child,
  .c-table--roadmap td:nth-child(2),
  .c-table th { white-space: normal !important; }
}

/* ======== PC/SPラベル出し分け ======== */
.c-btn .u-label--sp { display: none; }
@media (max-width: 768px) {
  .c-btn .u-label--pc { display: none; }
  .c-btn .u-label--sp { display: inline; }
}

/* ▼ 固定ドックのPC/SPラベル出し分け（修正） */
.c-fixeddock__btn .u-label--sp { display: none !important; }  /* PCではSP文言を隠す */
.c-fixeddock__btn .u-label--pc { display: inline !important; }

@media (max-width: 768px) {
  .c-fixeddock__btn .u-label--pc { display: none !important; } /* SPではPC文言を隠す */
  .c-fixeddock__btn .u-label--sp { display: inline-block !important; }
}

/* ======== 固定バー競合対策 ======== */
@media (max-width: 768px) {
  .c-cta__hero.c-cta__hero--card_JOBOLE .c-cta__btns,
  .c-cta__hero.c-cta__hero--card_HRads .c-cta__btns,
  .c-cta__hero.c-cta__hero--card_aggregate .c-cta__btns {
    position: static !important; inset: auto !important; width: auto !important;
    margin: 8px 0 0 !important; padding: 0 !important; background: transparent !important;
    border: 0 !important; box-shadow: none !important; overflow: visible !important;
    justify-content: center !important; align-items: center !important; gap: 8px !important;
  }
}
.c-btn__cv { position: relative; z-index: 10001; }
@media (max-width: 768px) {
  .c-btn__cv { padding-bottom: env(safe-area-inset-bottom); }
  .c-cta__btns--fixed {
    position: fixed !important; left: 0; right: 0; bottom: 0;
    margin: 0 !important; width: 100% !important;
    padding: 10px 12px calc(10px + env(safe-area-inset-bottom)) !important;
    background: rgba(255,255,255,0.96) !important;
    backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px);
    border-top: 1px solid rgba(0,0,0,0.06);
    box-shadow: 0 -8px 20px rgba(0,0,0,0.08) !important;
    z-index: 10000 !important;
    display: flex !important; justify-content: center !important; align-items: stretch !important; gap: 8px !important;
    overflow-x: auto !important; -webkit-overflow-scrolling: touch;
  }
  .c-cta__btns--fixed .c-btn {
    flex: 1 1 33% !important; min-width: 32% !important;
    min-height: 48px !important; padding: 12px 14px !important;
    white-space: nowrap !important; text-overflow: ellipsis; overflow: hidden;
  }
}

/* ===========================================
   ▼▼ SPで.c-fixeddockを最下部固定バー化 ▼▼
   =========================================== */
.c-fixeddock { z-index: 10002; }

@media (max-width: 768px) {
  body .c-fixeddock {
    position: fixed; left: 0; right: 0; bottom: 0;
    display: flex !important; flex-direction: row; align-items: stretch; gap: 8px;
    width: 100%; padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
    background: rgba(255,255,255,0.96); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
    border-top: 1px solid rgba(0,0,0,0.06); box-shadow: 0 -8px 20px rgba(0,0,0,0.10);
    z-index: 10002; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none;
  }
  body .c-fixeddock::-webkit-scrollbar { display: none; }

  body .c-fixeddock__btn {
    flex: 1 1 25%; min-width: 22%;
    min-height: 48px; padding: 12px 12px;
    justify-content: center; border-radius: 999px;
    white-space: nowrap; text-overflow: ellipsis; overflow: hidden; gap: 6px;
    font-size: clamp(11px, 3.3vw, 14px);
  }
  body .c-fixeddock__btn i { font-size: 1rem; }
  .c-fixeddock__btn .u-label--pc { display: none; }
  .c-fixeddock__btn .u-label--sp {
    display: inline-block; max-width: 10ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; vertical-align: middle;
  }
  main { padding-bottom: max(84px, calc(78px + env(safe-area-inset-bottom))) !important; }
}
@media (max-width: 360px) {
  body .c-fixeddock__btn i { display: none; }
  body .c-fixeddock__btn .u-label--sp { max-width: 12ch; }
}

/* ===============================================
   ▼▼ 最終上書き：SPで2×2グリッド＋折返し表示 ▼▼
   =============================================== */
@media (max-width: 768px) {
  body .c-fixeddock {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-auto-flow: row !important;
    grid-auto-rows: minmax(56px, auto) !important;
    gap: 10px !important;
    overflow: visible !important;
    -webkit-overflow-scrolling: auto !important;
  }
  body .c-fixeddock__btn {
    width: 100% !important; flex: initial !important; min-width: 0 !important;
    white-space: normal !important;
    font-size: clamp(10px, 2.8vw, 13px) !important;
    min-height: 56px !important; padding: 10px 12px !important;
  }
  body .c-fixeddock__btn .u-label--sp {
    max-width: none !important; overflow: visible !important; text-overflow: clip !important;
    white-space: normal !important; line-height: 1.15 !important; text-align: center !important;
  }
  body .c-fixeddock__btn i { font-size: 0.95rem !important; }

  /* 2段分の高さを考慮して本文下余白を増やす（←後でさらに少し圧縮を上書き） */
  main { padding-bottom: max(168px, calc(140px + env(safe-area-inset-bottom))) !important; }
}

/* =========================================================
   ▼▼ ここから“縦幅ちょい圧縮”の最終上書き（要求の変更点） ▼▼
   ========================================================= */

/* 1) 枠（カード全体）の上下パディングを少しだけ減らす */
.c-cta__hero { padding: 20px !important; } /* 24px → 20px */
.c-cta__hero.c-cta__hero--card_JOBOLE,
.c-cta__hero.c-cta__hero--card_HRads,
.c-cta__hero.c-cta__hero--card_aggregate { padding: 20px !important; } /* 24px → 20px */

@media (max-width: 768px) {
  .c-cta__hero { padding: 14px !important; } /* SP時 16px → 14px */
}

/* 2) すべての汎用ボタンの上下パディングを少しだけ減らす */
.c-btn { padding: 10px 14px !important; }           /* 12x16 → 10x14 */
.c-cta__hero--card_JOBOLE .c-btn,
.c-cta__hero--card_HRads  .c-btn { padding: 10px 18px !important; } /* 12x20 → 10x18 */
.c-cta__hero--card_aggregate .c-btn { padding: 8px 18px !important; } /* 10x20 → 8x18 */
.c-fixeddock__btn { padding: 10px 14px !important; } /* 12x16 → 10x14 */

/* 3) 下部固定バー内のボタン高さをほんの少しだけ圧縮 */
@media (max-width: 768px) {
  /* 記事内固定バー（.c-cta__btns 内） */
  html body .c-cta__hero .c-cta__btns .c-btn { min-height: 20px !important; padding: 10px 12px !important; } /* 48px → 44px */
  .c-cta__btns--fixed .c-btn { min-height: 20px !important; padding: 10px 12px !important; }

  /* 右下ドック（SP 2×2 グリッド） */
  body .c-fixeddock { grid-auto-rows: minmax(32px, auto) !important; } /* 56px → 52px */
  body .c-fixeddock__btn { min-height: 32px !important; padding: 9px 10px !important; }

  /* 2段ぶんの下余白も少しだけ圧縮 */
  main { padding-bottom: max(152px, calc(128px + env(safe-area-inset-bottom))) !important; } /* 168px → 152px */
}
/* =========================================================
   ▲▲ “縦幅ちょい圧縮”ここまで ▲▲
   ========================================================= */

/* =========================================================
   ▼▼ 追加：SPのみタイトル縮小（JOBOLEカードの帯内に収める）▼▼
   ========================================================= */
@media (max-width: 768px) {
  /* タイトル文字を可変で小さく＆行高を詰める */
  .c-cta__hero--card_JOBOLE .c-cta__title,
  .c-cta__hero--card_HRads .c-cta__title,
  .c-cta__hero--card_aggregate .c-cta__title {
    font-size: clamp(16px, 5.2vw, 20px) !important;
    line-height: 1.25 !important;
    padding: 0 6px !important;     /* 端で折り返しを防ぐため、左右わずかに余白 */
    letter-spacing: -0.01em;
    text-wrap: balance;            /* 対応ブラウザで見栄え向上（未対応でも無害） */
  }
  /* タイトル帯の高さをわずかに下げて見た目を整える（任意） */
  .c-cta__hero.c-cta__hero--card_JOBOLE,
  .c-cta__hero.c-cta__hero--card_HRads,
  .c-cta__hero.c-cta__hero--card_aggregate {
    --header-h: 80px;
  }
}
/* =========================================================
   ▲▲ 追加ここまで ▲▲
   ========================================================= */

/* トップへ固定ボタンを常に最前面＆少し下げる */
.c-btn__fixed{
  position: fixed;
  right: 16px;
  bottom: 24px;      /* ここを少し増やすと覗きにくい */
  z-index: 9999;     /* 最前面に */
}
.c-btn__fixedbtn{
  border-radius: 9999px;
  box-shadow: 0 4px 12px rgba(0,0,0,.25);
}

/* aggregateカード：画像の配置を明示（タイトル行の右は空欄にする） */
.c-cta__hero--card_aggregate .c-cta__img_table_1 { grid-area: media_1; }
.c-cta__hero--card_aggregate .c-cta__img_table_2 { grid-area: media_2; }
.c-cta__hero--card_aggregate .c-cta__img_table_3 { grid-area: media_3; }

/* 仕上げ：画像の位置とサイズを揃える（任意） */
.c-cta__hero--card_aggregate .c-cta__img_table_1,
.c-cta__hero--card_aggregate .c-cta__img_table_2,
.c-cta__hero--card_aggregate .c-cta__img_table_3 {
  justify-self: end;       /* 右端に寄せる */
  align-self: start;       /* 行の上揃え（テキストの先頭と揃う） */
  max-width: 360px;
  width: 100%;
}