@charset "UTF-8";

/* ===================================================================== */
/* corp.css: 企業向けの新設ページ専用（for_business ほか 7 ページ）       */
/* - style.css / component.css は触らない。新しいクラスは .corp- 接頭辞   */
/* - 色はこの :root だけに書く。値は既存 CSS に実在するものだけ           */
/* - ブレークポイントは max-width:768px と min-width:992px               */
/* ===================================================================== */
:root {
  --corp-yellow: #fbdb00;
  --corp-yellow-bg: #ffdc66;
  --corp-cream: #fff8c2;
  --corp-text: #333;
  --corp-text-sub: #666;
  --corp-gray-light: #ebebeb;
  --corp-white: #fff;
  --corp-line: #ccc;
  --corp-scrim: rgba(0, 0, 0, .8);
}

/* ===================================================================== */
/* hero                                                                  */
/* ===================================================================== */
#fh5co-hero [class*='corp-hero--'] {
  background-position: center;
  background-size: cover;
}
#fh5co-hero .corp-hero--for_business {
  background-image: url(../images/illust/hero_for_business.svg);
}
#fh5co-hero .corp-hero--support_models {
  background-image: url(../images/illust/hero_support_models.svg);
}
#fh5co-hero .corp-hero-wrap {
  flex-direction: column;
  height: auto;
  min-height: 42rem;
  padding-bottom: 4rem;
  padding-top: 10rem;
  text-align: center;
}
/* 図版の明るい部分（ホワイトボード・付箋）に白い見出しが重なっても読めるよう、文字の背面だけ既存のヘッダー地の色を敷く */
.corp-hero_panel {
  background-color: var(--corp-scrim);
  border-radius: .5rem;
  max-width: 80rem;
  padding: 2.5rem 3rem;
}
.corp-hero_script {
  color: var(--corp-white);
  font-family: 'Kaushan Script', cursive;
  font-size: 2.4rem;
  line-height: 1.2;
  margin: 1rem 0 0;
}
.corp-hero_lead {
  color: var(--corp-white);
  margin: 1.5rem 0 0;
}

/* ===================================================================== */
/* 見出し（英字の飾り見出し + h2）・本文リンク・注記                     */
/* ===================================================================== */
.corp-heading {
  margin-bottom: 3rem;
  text-align: center;
}
.corp-heading .heading-h2-english {
  margin-bottom: .5rem;
}
.corp-heading .heading-h2 {
  margin-bottom: 0;
}
.corp-heading_lead {
  margin: 2rem auto 0;
  max-width: 80rem;
}
.corp-link {
  text-decoration: underline;
}
.corp-note {
  color: var(--corp-text-sub);
  font-size: 1.4rem;
  line-height: 1.6;
}
.corp-main a:focus-visible,
.corp-main summary:focus-visible,
.corp-hero-wrap a:focus-visible {
  outline: 3px solid var(--corp-text);
  outline-offset: 2px;
}
.corp-main [id] {
  scroll-margin-top: 8rem;
}
.corp-dl {
  margin: 0;
}
.corp-dl dt {
  font-weight: bold;
}
.corp-dl dd {
  margin: 0 0 1.5rem;
}
.corp-dl dd:last-child {
  margin-bottom: 0;
}

/* ===================================================================== */
/* grid（Bootstrap 3 の列では組めない等幅カードの並び）                  */
/* ===================================================================== */
.corp-grid {
  display: grid;
  gap: 3rem;
  grid-template-columns: repeat(auto-fit, minmax(28rem, 1fr));
}
.corp-grid--2 {
  grid-template-columns: repeat(auto-fit, minmax(40rem, 1fr));
}
.corp-grid > * {
  min-width: 0;
}
.corp-grid .fh5co-card {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.corp-grid .fh5co-card-body {
  display: flex;
  flex: 1;
  flex-direction: column;
}
.corp-card_foot {
  margin-top: auto;
  padding-top: 2rem;
}
.corp-card_foot .button a {
  display: block;
  min-height: 44px;
}
.corp-card_foot .button a + a {
  margin-top: 1rem;
}

/* ===================================================================== */
/* 読者別の要点（corp_audience）・状況別カード                           */
/* ===================================================================== */
.corp-audience_sub {
  display: block;
  font-size: 1.2rem;
  font-weight: normal;
  margin-top: .5rem;
}
.corp-audience_question {
  font-weight: bold;
  margin-bottom: 2rem;
}
.corp-audience .corp-dl dt {
  border-top: 1px solid var(--corp-line);
  padding-top: 1.5rem;
}
.corp-audience .corp-link,
.corp-facts .corp-link {
  display: inline-block;
  font-size: 1.4rem;
  padding: 1rem 0;
}
.corp-facts {
  display: grid;
  gap: .5rem 1.5rem;
  grid-template-columns: max-content 1fr;
  margin: 2rem 0 0;
}
.note-area .corp-facts {
  margin-top: 0;
}
.note-area .corp-facts .corp-link {
  padding: .95rem 0;
}
.corp-linklist a {
  display: inline-block;
  padding: 1.3rem 0;
}
.corp-facts dt {
  font-weight: bold;
}
.corp-facts dd {
  margin: 0;
}

/* ===================================================================== */
/* 柱カード（カード全体がリンク）                                        */
/* ===================================================================== */
a.corp-pillar,
a.corp-pillar:hover {
  color: var(--corp-text);
}
.corp-pillar_kicker {
  font-family: 'Kaushan Script', cursive;
  font-size: 3rem;
  line-height: 1;
  margin-bottom: 1rem;
}
.corp-pillar .heading-h3 {
  margin-bottom: 1rem;
}
.corp-pillar_more {
  font-size: 1.4rem;
  margin-top: auto;
  padding-top: 1.5rem;
  text-decoration: underline;
}

/* ===================================================================== */
/* 出口の振り分け表（corp_exit_table）                                   */
/* ===================================================================== */
.corp-exit_head,
.corp-exit_row {
  align-items: center;
  display: grid;
  gap: 1rem 3rem;
  grid-template-columns: 1fr 1.4fr 1fr;
  padding: 2rem;
}
.corp-exit_head {
  background-color: var(--corp-text);
  color: var(--corp-white);
  font-size: 1.4rem;
  font-weight: bold;
  padding: 1rem 2rem;
}
.corp-exit_rows {
  list-style: none;
  margin: 0;
  padding: 0;
}
.corp-exit_row {
  border-bottom: 1px solid var(--corp-gray-light);
}
.corp-exit_who {
  font-size: 1.8rem;
  font-weight: bold;
  margin: 0;
}
.corp-exit_route p {
  margin: 0;
}
.corp-exit_btn a {
  display: block;
  min-height: 44px;
}
.corp-exit_note {
  margin: 0;
  padding: 2rem;
  text-align: center;
}

/* ===================================================================== */
/* 3 つの型: CSS の図・比較表（wide）・カード（narrow）                  */
/* only_pc_show / only_sp_show は 768〜1025px で両方消えるので使わない   */
/* ===================================================================== */
.corp-only-narrow {
  display: none;
}
.corp-figure {
  margin: 0 auto 4rem;
  max-width: 82rem;
}
.corp-figure_pair {
  display: grid;
  gap: 2rem;
  grid-template-columns: 1fr 1fr;
}
.corp-figure_box {
  text-align: center;
}
.corp-figure_kicker {
  display: block;
  font-size: 1.2rem;
  font-weight: bold;
}
.corp-figure_name {
  display: block;
  font-size: 2rem;
  font-weight: bold;
}
.corp-figure_both {
  border: 2px solid var(--corp-text);
  border-radius: 0 0 .5rem .5rem;
  border-top: none;
  font-weight: bold;
  margin: 0 4rem;
  padding: 1.5rem 2rem;
  text-align: center;
}
.corp-compare {
  border-collapse: collapse;
  margin: 0;
  table-layout: fixed;
  width: 100%;
}
.corp-compare th,
.corp-compare td {
  border-bottom: 1px solid var(--corp-gray-light);
  border-left: 1px solid var(--corp-gray-light);
  padding: 1.5rem 2rem;
  text-align: left;
  vertical-align: top;
}
.corp-compare th:first-child {
  border-left: none;
  width: 15rem;
}
.corp-compare thead th {
  background-color: var(--corp-text);
  color: var(--corp-white);
  font-size: 1.8rem;
  text-align: center;
}
.corp-compare tbody th {
  background-color: var(--corp-gray-light);
  font-size: 1.4rem;
}
.corp-compare .button a {
  display: block;
  margin-bottom: 1rem;
  min-height: 44px;
}
.corp-compare .button a:last-child {
  margin-bottom: 0;
}

/* ===================================================================== */
/* 統計枠（corp_stat）・理論の引用（corp_ref）・社内説明（corp_approval_box） */
/* ===================================================================== */
.corp-stat_claim {
  font-weight: bold;
}
.corp-stat_meta {
  border-top: 1px solid var(--corp-line);
  margin: auto 0 0;
  padding-top: 1.5rem;
}
.corp-stat_meta dt,
.corp-stat_meta dd {
  display: inline;
  margin: 0;
}
.corp-stat_meta dt::after {
  content: ": ";
}
.corp-stat_meta dd::after {
  content: "";
  display: block;
  margin-bottom: .5rem;
}
.corp-stat_meta a {
  display: inline-block;
  overflow-wrap: anywhere;
  padding: 1.1rem 0;
}
.corp-ref {
  height: 100%;
}
.corp-ref_label {
  display: block;
  font-size: 1.2rem;
  font-weight: bold;
  margin-bottom: .5rem;
}
.corp-ref_cite {
  font-size: 1.4rem;
  font-weight: bold;
  margin: 1rem 0 0;
}
.corp-ref_cite a {
  font-weight: normal;
}
.corp-ref_more {
  margin: 2rem 0 0;
}
.corp-approval {
  background-color: var(--corp-cream);
  border-left: .5rem solid var(--corp-yellow);
  border-radius: .5rem;
  padding: 2rem;
}
.corp-approval .heading-h3 {
  margin-bottom: 1.5rem;
}

/* ===================================================================== */
/* 助成制度の注記（corp_subsidy_note）・2 連 CTA（corp_cta）・FAQ         */
/* ===================================================================== */
.corp-subsidy {
  align-items: center;
  display: grid;
  gap: 2rem 4rem;
  grid-template-columns: 1.6fr 1fr;
}
.corp-subsidy a.corp-link {
  display: inline-block;
  padding: 1.3rem 0;
}
.corp-subsidy p {
  margin: 0 0 1rem;
}
.corp-free {
  margin-bottom: 3rem;
}
.corp-grid .corp-free,
.corp-grid .corp-terms {
  height: auto;
}
.corp-cta .fh5co-card-body {
  justify-content: space-between;
}
.corp-cta .button-cv {
  margin-top: 2rem;
}
.corp-faq details {
  border-bottom: 1px solid var(--corp-line);
}
.corp-faq summary {
  cursor: pointer;
  font-weight: bold;
  min-height: 44px;
  padding: 1.5rem 0;
}
.corp-faq details > div {
  padding: 0 0 2rem;
}

@media screen and (max-width: 768px) {
  .corp-only-wide {
    display: none;
  }
  .corp-only-narrow {
    display: block;
  }
  .corp-hero_panel {
    padding: 1.5rem;
  }
  .corp-hero_script {
    font-size: 2rem;
  }
  #fh5co-hero .corp-hero_panel .heading-h1 {
    font-size: 2.8rem;
  }
  .corp-heading .heading-h2 {
    font-size: 2.4rem;
  }
  .corp-heading .heading-h2-english {
    font-size: 3rem;
  }
  .corp-exit_head {
    display: none;
  }
  .corp-exit_row,
  .corp-subsidy,
  .corp-figure_pair {
    grid-template-columns: 1fr;
  }
  .corp-figure_both {
    margin: 0 2rem;
  }
  .corp-grid {
    grid-template-columns: 1fr;
  }
}

/* ===================================================================== */
/* セッション 2: /org_design/ /thinking_culture/ /people_investment/      */
/* ===================================================================== */
#fh5co-hero .corp-hero--org_design {
  background-image: url(../images/illust/hero_org_design.svg);
}
#fh5co-hero .corp-hero--thinking_culture {
  background-image: url(../images/illust/hero_thinking_culture.svg);
}
#fh5co-hero .corp-hero--people_investment {
  background-image: url(../images/illust/hero_people_investment.svg);
}
/* 長い h1 が「…よ / うに」のように 2 文字だけ折り返すのを防ぐ（未対応ブラウザでは無視されるだけ） */
.corp-hero_panel .heading-h1 {
  text-wrap: balance;
}
/* 灰・黄の節の上では .note-area（灰）が地に沈むので白にする */
.corp-ref--white {
  background-color: var(--corp-white);
}
.corp-thesis {
  font-size: 1.8rem;
  font-weight: bold;
  margin: 3rem 0 0;
  text-align: center;
}

/* チェックリスト（native checkbox。JS なし・送信なし・保存なし） */
.corp-checklist {
  margin: 0 auto;
  max-width: 86rem;
}
.corp-checklist_items {
  list-style: none;
  margin: 0;
  padding: 0;
}
.corp-check {
  align-items: center;
  border-bottom: 1px solid var(--corp-gray-light);
  cursor: pointer;
  display: flex;
  font-weight: bold;
  gap: 1.5rem;
  margin: 0;
  max-width: none;
  min-height: 5.6rem;
  padding: 1rem 0;
}
.corp-check input[type="checkbox"] {
  accent-color: var(--corp-text);
  flex: none;
  height: 2.4rem;
  margin: 0;
  width: 2.4rem;
}
.corp-check input[type="checkbox"]:focus-visible {
  outline: 3px solid var(--corp-text);
  outline-offset: 2px;
}
.corp-checklist .corp-note {
  margin: 2rem 0 0;
  text-align: center;
}

/* 図: 組織の構造 ⇄ 仕事の構造 */
.corp-mirror {
  align-items: center;
  display: grid;
  gap: 2rem;
  grid-template-columns: 1fr auto 1fr;
}
.corp-mirror_mid {
  font-size: 1.4rem;
  font-weight: bold;
  text-align: center;
}
.corp-mirror_mid i {
  display: block;
  font-size: 2.4rem;
}
.corp-figure_caption {
  margin: 1.5rem 0 0;
  text-align: center;
}

/* 図: use / misuse / disuse / abuse（左上だけクリーム） */
.corp-quad {
  display: grid;
  gap: 1rem;
  grid-template-columns: 1fr 1fr;
  margin: 0 auto;
  max-width: 72rem;
}
.corp-quad_cell {
  background-color: var(--corp-gray-light);
  border-radius: .5rem;
  padding: 1.5rem 2rem;
}
.corp-quad_cell--use {
  background-color: var(--corp-cream);
}
.corp-quad_kicker {
  display: block;
  font-size: 1.2rem;
  font-weight: bold;
  letter-spacing: .1em;
}
.corp-quad_title {
  display: block;
  font-size: 1.8rem;
  font-weight: bold;
}

/* 「使われる」と「使いこなす」の対比 */
.corp-versus {
  display: grid;
  gap: 1rem;
  grid-template-columns: 1fr 1fr;
}
.corp-versus_side {
  background-color: var(--corp-gray-light);
  border-radius: .5rem;
  padding: 1.5rem;
}
.corp-versus_side--master {
  background-color: var(--corp-cream);
}
.corp-versus_label {
  display: block;
  font-size: 1.2rem;
  font-weight: bold;
  margin-bottom: .5rem;
}

/* 支援カード（corp_support_card） */
.corp-support_kicker {
  display: block;
  font-size: 1.2rem;
  font-weight: normal;
  margin-bottom: .5rem;
}
.corp-support_items {
  margin: 1.5rem 0 0;
  padding-left: 2rem;
}
.corp-applink {
  display: inline-block;
  font-size: 1.4rem;
  margin-top: auto;
  padding: 1.3rem 0;
}

/* 図: 3 層のラインナップ（幅の違う 3 帯） */
.corp-layers {
  list-style: none;
  margin: 0;
  padding: 0;
}
.corp-layers li {
  border-radius: .5rem;
  font-weight: bold;
  margin: 0 auto .8rem;
  padding: 1rem 2rem;
  text-align: center;
}
.corp-layers_top {
  background-color: var(--corp-text);
  color: var(--corp-white);
  width: 46%;
}
.corp-layers_mid {
  background-color: var(--corp-gray-light);
  width: 68%;
}
.corp-layers_base {
  background-color: var(--corp-yellow-bg);
  width: 90%;
}
.corp-compare--lineup th:first-child {
  width: 26%;
}
.corp-compare--lineup thead th {
  font-size: 1.4rem;
  text-align: left;
}
.corp-compare--lineup tbody th {
  background-color: transparent;
  font-size: 1.6rem;
}

/* 方針 → 取り組み → 指標 */
.corp-steps {
  align-items: center;
  display: grid;
  gap: 1rem;
  grid-template-columns: 1fr auto 1fr auto 1fr;
  list-style: none;
  margin: 2rem 0 0;
  padding: 0;
}
.corp-steps_item {
  background-color: var(--corp-gray-light);
  border-radius: .5rem;
  font-weight: bold;
  padding: 1rem .5rem;
  text-align: center;
}
.corp-steps_item--here {
  background-color: var(--corp-yellow-bg);
}

/* FAM333: 図版 + 文（メニュー・料金・件数は書かない） */
.corp-media {
  align-items: center;
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.corp-media img {
  display: block;
  height: auto;
  width: 100%;
}
.corp-media_body {
  padding: 3rem;
}
.corp-media_body .heading-h2 {
  font-size: 2.4rem;
  margin-bottom: 1.5rem;
}
.corp-media_body .corp-link {
  display: inline-block;
  padding: 1.3rem 0;
}

/* ページ末尾の文献一覧（corp_reflist） */
.corp-reflist_items {
  column-gap: 3rem;
  columns: 3;
  font-size: 1.4rem;
  list-style: none;
  margin: 1rem 0 0;
  padding: 0;
}
.corp-reflist_items li {
  break-inside: avoid;
  margin-bottom: .5rem;
}
.corp-reflist .corp-note {
  margin: 1.5rem 0 0;
}
.corp-reflist .corp-link {
  display: inline-block;
  padding: 1.3rem 0;
}
.corp-approval_intro {
  margin: 0 0 1.5rem;
}
.corp-stat_meta .corp-stat_extra {
  display: block;
}

@media screen and (max-width: 768px) {
  .corp-mirror,
  .corp-quad,
  .corp-versus,
  .corp-media {
    grid-template-columns: 1fr;
  }
  .corp-layers_top,
  .corp-layers_mid,
  .corp-layers_base {
    width: 100%;
  }
  .corp-reflist_items {
    columns: 1;
  }
  .corp-media_body {
    padding: 2rem;
  }
  .corp-steps {
    gap: .5rem;
  }
  .corp-steps_item {
    font-size: 1.4rem;
  }
}

/* ===================================================================== */
/* セッション 3: /theory/ /faq/ と、既存ページに置く partial 3 本         */
/* （corp_top_section / corp_bridge / body_conversion_corp は自分で      */
/*   この CSS を読む。セレクタは .corp- 配下だけ = 既存要素に当たらない） */
/* ===================================================================== */
#fh5co-hero .corp-hero--theory {
  background-image: url(../images/illust/hero_theory.svg);
}
#fh5co-hero .corp-hero--faq {
  background-image: url(../images/illust/hero_faq.svg);
}
.corp-embed a:focus-visible {
  outline: 3px solid var(--corp-text);
  outline-offset: 2px;
}

/* 文献一覧（/theory/）: 柱ごとに 1 カード。見出し帯は既存の .heading-h3-bar */
.corp-bib + .corp-bib {
  margin-top: 3rem;
}
.corp-bib_head {
  align-items: baseline;
  display: flex;
  flex-wrap: wrap;
  gap: .5rem 2rem;
  justify-content: space-between;
  text-align: left;
}
.corp-bib_kicker {
  font-family: 'Kaushan Script', cursive;
  font-size: 2.4rem;
  font-weight: normal;
  line-height: 1;
  margin-right: 1rem;
}
.corp-bib_head a,
.corp-bib_head a:hover {
  color: var(--corp-yellow);
  display: inline-block;
  font-size: 1.4rem;
  padding: 1.1rem 0;
  text-decoration: underline;
}
.corp-bib_head a:focus-visible {
  outline-color: var(--corp-white);
}
.corp-biblist {
  list-style: none;
  margin: 0;
  padding: 0;
}
.corp-biblist li {
  border-bottom: 1px solid var(--corp-line);
  padding: 1.5rem 0;
}
.corp-biblist li:first-child {
  padding-top: 0;
}
.corp-biblist li:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}
.corp-biblist_cite {
  font-weight: bold;
  margin: 0;
}
.corp-biblist_bib {
  color: var(--corp-text-sub);
  font-size: 1.4rem;
  line-height: 1.6;
  margin: .5rem 0 0;
  overflow-wrap: anywhere;
}
.corp-biblist_bib .corp-link {
  display: inline-block;
  padding: 1.1rem 0;
}
.corp-updated {
  margin: 2rem 0 0;
  text-align: right;
}

/* FAQ: グループへのジャンプ（カード全体がリンク = .corp-pillar の型）と、<details> の中身 */
.corp-jump .fh5co-card-body {
  text-align: center;
}
.corp-jump .heading-h3 {
  margin-bottom: .5rem;
}
.corp-jump .corp-note {
  margin: 0;
}
.corp-faq summary::before {
  content: 'Q. ';
}
/* 開閉できることを示す印（既存サイトが読み込み済みの Font Awesome 5 Free。ブラウザ既定の三角は出ないため） */
.corp-faq summary {
  list-style: none;
  padding-right: 4rem;
  position: relative;
}
.corp-faq summary::-webkit-details-marker {
  display: none;
}
.corp-faq summary::after {
  content: '\f078';
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  position: absolute;
  right: .5rem;
  top: 50%;
  transform: translateY(-50%);
}
.corp-faq details[open] > summary::after {
  content: '\f077';
}
/* /faq/ の hero は左上に白い吹き出しがあり、白文字のパンくずが重なって読めない → パンくずの背面にだけ既存のヘッダー地の色を敷く */
#fh5co-hero:has(.corp-hero--faq) #breadcrumbs .breadcrumb-list {
  background-color: var(--corp-scrim);
  border-radius: 0 0 .5rem 0;
  display: inline-block;
}
.corp-faq details:last-child {
  border-bottom: 0;
}
.corp-faq details > div > p {
  margin: 0 0 1rem;
}
.corp-faq details .corp-link {
  display: inline-block;
  margin-right: 2rem;
  padding: 1.1rem 0;
}

/* トップ新節: サムネイルつきの入口カード（.corp-pillar + 図版）。992px 以上は 5 枚を 1 行に */
.corp-entry img {
  aspect-ratio: 16 / 9;
  border-radius: .5rem .5rem 0 0;
  display: block;
  height: auto;
  object-fit: cover;
  width: 100%;
}
.corp-entry .heading-h3 {
  font-size: 1.8rem;
}
.corp-entry_cta {
  margin-top: 4rem;
}

/* service_02 / service_03 の導線節: 3 つの型のチップ */
.corp-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: center;
  list-style: none;
  margin: 3rem 0;
  padding: 0;
}
.corp-chips li {
  background-color: var(--corp-white);
  border: 1px solid var(--corp-line);
  border-radius: .5rem;
  font-weight: bold;
  padding: 1rem 2rem;
}

/* 共通バナー（body_conversion_corp）: 暗い地 + 図版。黄の文字は暗い地の上だけ */
.corp-banner {
  background-color: var(--corp-text);
  border-radius: .5rem;
  display: grid;
  grid-template-columns: 44% 1fr;
  overflow: hidden;
}
.corp-banner img {
  display: block;
  height: 100%;
  object-fit: cover;
  object-position: left center;   /* 図版は左に人物、右 56% は文字用の余白（image-spec.md） */
  width: 100%;
}
.corp-banner_body {
  padding: 3rem 4rem;
}
.corp-banner .corp-banner_script {
  color: var(--corp-yellow);
  font-family: 'Kaushan Script', cursive;
  font-size: 2.4rem;
  line-height: 1.2;
  margin: 0;
}
.corp-banner .heading-h2 {
  color: var(--corp-white);
  margin: .5rem 0 1.5rem;
  text-align: left;
}
.corp-banner_body > p {
  color: var(--corp-white);
}
.corp-banner .button-cv {
  margin: 2rem 0 0;
  text-align: left;
}
.corp-banner a:focus-visible {
  outline-color: var(--corp-white);
}
/* バナーの節と、直後の既存 CV の節（どちらも bc-gray）の間が空きすぎないように */
.fh5co-cards.corp-embed--banner {
  padding-bottom: 0;
}

@media screen and (max-width: 768px) {
  .corp-banner {
    grid-template-columns: 1fr;
  }
  .corp-banner img {
    height: 16rem;
  }
  .corp-banner_body {
    padding: 2rem;
  }
  .corp-banner .button-cv a {
    padding: 1.5rem 2rem;
  }
}
@media screen and (min-width: 992px) {
  .corp-grid--4 {
    grid-template-columns: repeat(4, 1fr);
  }
  .corp-grid--5 {
    gap: 2rem;
    grid-template-columns: repeat(5, 1fr);
  }
}
