/* =====================================================
   INTERESTING INNOVATION - RECRUIT / CULTURE（私たちの文化）
   style.css → sub.css の後に読み込む
   基準幅: PC 1920 / TB 768 / SP 393（1rem = 基準幅で 10px）
   Figma: 404:21165（フレーム名は "Company" だが採用の下層）
   ===================================================== */

/* 共通の見出し帯・パンくずは css/sub.css。ヘッダー・フッターはホームと同じ（style.css） */

/* 帯に重なる切り抜き写真（Figma "71 1" 640x408 @813,275） */
.cul-head-img { position: absolute; left: 74.5rem; top: 25rem; width: 80rem; z-index: 2; }
/* イラストが大きくなって端が見出し・パンくずにかかるので、文字を前面に出す */
.page-recruit-culture .page-head__ttl, .page-recruit-culture .crumb { z-index: 3; } /* スタッフ 3 人のイラスト（横長なので幅を広げて、下端は元の位置に合わせる） */
.cul-head-img.reveal { transform: translateY(3rem); }
.cul-head-img.reveal.is-visible { transform: none; }

/* ---------- ページ内リンク（Frame 721: 帯の下・右寄せ） ---------- */
.cul-anchors { display: flex; justify-content: flex-end; gap: 4.8rem; margin: 33.1rem 20rem 0 0; }
.cul-anchors a { display: block; padding-bottom: .1rem; border-bottom: 1px solid var(--black); font-size: 1.8rem; font-weight: 500; line-height: 1.5; transition: color .3s, border-color .3s; }
.cul-anchors a:hover { color: var(--orange); border-color: var(--orange); }

/* ---------- セクション見出し（日本語 48 + 英字オレンジ 20） ---------- */
.cul-sec-head { display: flex; align-items: center; gap: 3.2rem; margin-left: 20rem; }
.cul-sec-head__ja { font-size: 4.8rem; font-weight: 700; line-height: 1.1; white-space: nowrap; }
.cul-sec-head__en { font-size: 2rem; font-weight: 700; line-height: 1.2; color: var(--orange); }

/* ---------- 大切にしていること（活魚と活気で活力を: 会社情報と同じブロック） ---------- */
.cul-value { margin-top: 15.4rem; }
.cul-kakki { margin-top: 5rem; padding-left: 19.5rem; }
.cul-kakki__ttl { display: flex; justify-content: space-between; width: 154rem; font-size: 17.1rem; font-weight: 900; line-height: 1; white-space: nowrap; font-feature-settings: normal; } /* 文字を横幅いっぱいに均等配置（JS で 1 文字ずつ span 化） */
.cul-kakki__cols { display: grid; grid-template-columns: repeat(3, 45.7rem); gap: 6.7rem; margin: 3.6rem 0 0 1.3rem; }
/* ビジュアル部分: 列幅に対する % で配置（Figma の座標 / 457） */
.cul-kakki__vis { position: relative; aspect-ratio: 457 / 550; }
.cul-kakki__vis > * { position: absolute; }
.cul-kakki__circle { left: 29.5%; top: 0; width: 41.1%; }
.cul-kakki__cal { left: 37.6%; top: 14.4%; width: 24.7%; }
.cul-kakki__img--fish { left: 0; top: 38%; width: 99.8%; height: 58%; object-fit: contain; object-position: center bottom; } /* 下の見出しに重ならないよう、枠の中に収める */
.cul-kakki__vis--2 .cul-kakki__circle { top: .9%; }
.cul-kakki__vis--2 .cul-kakki__cal { top: 13.6%; }
.cul-kakki__img--beer { left: 0; top: 49.1%; width: 100%; }
.cul-kakki__brush { left: 79.9%; top: 1.8%; width: 19.5%; }
.cul-kakki__cal--lg { left: 59.3%; top: 13.6%; width: 35.9%; }
.cul-kakki__staff { left: 7.2%; top: 13.5%; width: 70.5%; height: 80%; overflow: hidden; }
.cul-kakki__staff img { width: 94.7%; margin-top: 3.4%; }
.cul-kakki__h { margin-top: 0; font-size: 3.2rem; font-weight: 700; line-height: 1.6; text-align: center; white-space: nowrap; }
.cul-kakki__p { margin-top: 1.8rem; font-size: 1.6rem; font-weight: 500; line-height: 1.6; text-align: center; }

/* ---------- 社内イベント ---------- */
.cul-event { margin-top: 16rem; }
.cul-events { display: grid; grid-template-columns: repeat(3, 47.5rem); gap: 4.8rem; width: 152rem; margin: 6.4rem 0 0 20rem; padding: 0; list-style: none; }
/* 6 枚のカードはグループが見えた時点でまとめて発火し、--d で順にふわっと入ってくる */
.cul-events.reveal { opacity: 1; transform: none; filter: none; }
.cul-events.reveal .cul-ecard { opacity: 0; transform: translateY(4rem); filter: blur(.4rem); transition: opacity .8s ease, transform .8s cubic-bezier(.2,.8,.2,1), filter .8s ease; transition-delay: var(--d, 0s); }
.cul-events.reveal.is-visible .cul-ecard { opacity: 1; transform: none; filter: none; }
.cul-ecard__img { position: relative; aspect-ratio: 475 / 316; background: #b5b5b5; border-radius: .5rem; overflow: hidden; }
.cul-ecard__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s cubic-bezier(.2,.8,.2,1); }
.cul-ecard:hover .cul-ecard__img img { transform: scale(1.04); }
.cul-ecard__img--logo { display: flex; align-items: center; justify-content: center; background: var(--black); } /* 写真未定: 黒地にロゴ（Figma 通り） */
.cul-ecard__img--logo img { width: 14.8rem; height: auto; filter: invert(1); transition: none; }
.cul-ecard:hover .cul-ecard__img--logo img { transform: none; }
.cul-ecard__ttl { margin-top: 2.4rem; font-family: 'Roboto', var(--font-ja); font-size: 2.4rem; font-weight: 600; line-height: 1; } /* Figma: Roboto SemiBold */
.cul-ecard__p { margin-top: 1.6rem; font-size: 1.6rem; font-weight: 400; line-height: 1.6; }

/* ---------- 制度・福利厚生 ---------- */
.cul-benefits { margin-top: 16rem; }
.cul-box { width: 152rem; margin: 9.2rem 0 0 20rem; padding: 8rem; background: #fff; border-radius: 2rem; }
.cul-box + .cul-box { margin-top: 6.4rem; }
.cul-box__ttl { font-size: 4rem; font-weight: 700; line-height: 1.1; }
.cul-table { width: 100%; margin-top: 4.8rem; border-collapse: collapse; border: 1px solid var(--orange); box-shadow: 0 .8rem 3.2rem rgba(0,0,0,.03); }
.cul-table th, .cul-table td { border-top: 1px solid var(--orange); vertical-align: middle; }
.cul-table tr:first-child th, .cul-table tr:first-child td { border-top: 0; }
.cul-table th { width: 28rem; padding: 3.2rem 0 3.2rem 5.6rem; font-size: 1.8rem; font-weight: 600; line-height: 1.4; text-align: left; color: var(--text); }
.cul-table td { padding: 3.2rem 4rem 3.2rem 0; font-size: 1.6rem; font-weight: 400; line-height: 1.7; }
.cul-table--text td { font-size: 1.6rem; line-height: 1.5; }

/* ---------- 採用サブナビ（btn_set: 4 つのリンクを縦線で区切る） ---------- */
.cul-rnav { margin-top: 16rem; }
.cul-rnav ul { display: flex; justify-content: center; width: 108.8rem; margin: 0 auto; padding: 0; list-style: none; }
.cul-rnav li { display: flex; align-items: center; height: 5.8rem; padding: 0 1.6rem; border-left: 1px solid rgba(0,0,0,.5); }
.cul-rnav li:last-child { border-right: 1px solid rgba(0,0,0,.5); }
.cul-rnav a { display: block; width: 24rem; padding: 1.6rem 2.4rem; font-size: 2rem; font-weight: 600; line-height: 1.3; text-align: center; white-space: nowrap; transition: color .3s; }
.cul-rnav a:hover, .cul-rnav a[aria-current="page"] { color: var(--orange); }

/* ---------- ENTRY（Frame 812 1920x951: 黄色 #ffdd78 + 写真をブラウンで着色し 50% 暗く） ----------
   .page-bg の padding-bottom(30.8rem) を打ち消して波（.bottom）の下まで写真を敷く。見えている高さは Figma と同じ 95.1rem */
.entry-cta { position: relative; height: 115.1rem; margin: 24rem 0 -30.8rem; background: #ffdd78; overflow: hidden; }
.entry-cta__bg { position: absolute; inset: 0; isolation: isolate; }
.entry-cta__bg img { width: 100%; height: 100%; object-fit: cover; }
.entry-cta__tint { position: absolute; inset: 0; background: #6d340c; mix-blend-mode: color; } /* Figma: fill #6d340c / COLOR */
.entry-cta__dim { position: absolute; inset: 0; background: rgba(0,0,0,.5); }
.entry-cta__link { position: absolute; left: 50%; top: 29.8rem; z-index: 1; display: flex; flex-direction: column; align-items: center; gap: 1.6rem; margin-left: -15.6rem; width: 31.2rem; }
.entry-cta__en { font-size: 9.6rem; font-weight: 700; line-height: 1; letter-spacing: -.03em; color: var(--orange); transition: transform .4s cubic-bezier(.2,.8,.2,1); }
.entry-cta__link:hover .entry-cta__en { transform: scale(1.05); }
.entry-cta__ja { font-size: 2.4rem; font-weight: 600; line-height: 1; color: #fff; }
.entry-cta__btns { position: absolute; left: 0; top: 55.4rem; z-index: 1; display: flex; justify-content: center; gap: 4rem; width: 100%; margin: 0; padding: 0; list-style: none; }
.entry-cta__btn { display: flex; align-items: center; justify-content: center; height: 10rem; padding: 0 5rem; background: #fff; border-radius: .5rem; font-size: 2.4rem; font-weight: 700; line-height: 1.5; white-space: nowrap; transition: background-color .3s, color .3s; }
.entry-cta__btns li:nth-child(2) .entry-cta__btn { padding: 0 7.4rem; } /* Figma: 292 幅 */
.entry-cta__btn:hover { background: var(--orange); color: #fff; }

/* =====================================================
   TB / SP 共通（〜1199px）
   ===================================================== */
@media (max-width: 1199px) {
  .cul-head-img { position: relative; left: auto; top: auto; width: 72%; margin: .8rem auto 0; } /* SP: パンくずを消した分だけ上へ（見出しが長いので重ねない） */
  .cul-head-img.reveal:not(.is-visible) { transform: translateY(3rem); }

  .cul-anchors { justify-content: flex-start; flex-wrap: wrap; gap: 1.2rem 2rem; margin: 2.4rem var(--pad-x) 0; }
  .cul-anchors a { font-size: 1.3rem; }

  .cul-sec-head { gap: 1.6rem; margin: 0 var(--pad-x); }
  .cul-sec-head__ja { font-size: 2.2rem; }
  .cul-sec-head__en { font-size: 1.2rem; }

  .cul-value { margin-top: 4.8rem; }
  .cul-kakki { margin-top: 2.4rem; padding: 0 var(--pad-x); }
  .cul-kakki__ttl { width: auto; font-size: 3.95rem; line-height: 1.2; }
  .cul-kakki__cols { grid-template-columns: 1fr; gap: 4.8rem; margin: 2.4rem 0 0; }
  .cul-kakki__vis { width: 80%; max-width: 34rem; margin: 0 auto; }
  .cul-kakki__h { font-size: 2rem; white-space: normal; }
  .cul-kakki__p { margin-top: 1.2rem; font-size: 1.4rem; line-height: 1.7; }
  .cul-kakki__p br { display: none; } /* SP は折り返しに任せる */

  .cul-event { margin-top: 6.4rem; }
  .cul-events { grid-template-columns: 1fr; gap: 3.2rem; width: auto; margin: 2.4rem var(--pad-x) 0; }
  .cul-ecard__img--logo img { width: 10rem; }
  .cul-ecard__ttl { margin-top: 1.6rem; font-size: 1.8rem; }
  .cul-ecard__p { margin-top: 1rem; font-size: 1.3rem; line-height: 1.7; }

  .cul-benefits { margin-top: 6.4rem; }
  .cul-box { width: auto; margin: 2.4rem var(--pad-x) 0; padding: 2.4rem 1.6rem 2.8rem; border-radius: 1.2rem; }
  .cul-box + .cul-box { margin-top: 2.4rem; }
  .cul-box__ttl { font-size: 2.2rem; }
  .cul-table { margin-top: 1.6rem; box-shadow: none; }
  /* SP は 見出し行 + 内容行 の縦積み */
  .cul-table, .cul-table tbody, .cul-table tr, .cul-table th, .cul-table td { display: block; width: auto; }
  .cul-table tr { border-top: 1px solid var(--orange); }
  .cul-table tr:first-child { border-top: 0; }
  .cul-table th, .cul-table td { border-top: 0; }
  .cul-table th { padding: 1.4rem 1.2rem 0; font-size: 1.4rem; line-height: 1.4; }
  .cul-table td { padding: .6rem 1.2rem 1.4rem; font-size: 1.3rem; line-height: 1.7; }
  .cul-table--text td { font-size: 1.3rem; line-height: 1.7; }

  .cul-rnav { margin: 6.4rem var(--pad-x) 0; }
  .cul-rnav ul { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; width: auto; background: rgba(0,0,0,.3); border: 1px solid rgba(0,0,0,.3); }
  .cul-rnav li { height: auto; padding: 0; border: 0; background: var(--beige); }
  .cul-rnav li:last-child { border: 0; }
  .cul-rnav a { width: 100%; padding: 1.4rem .8rem; font-size: 1.4rem; }

  .entry-cta { height: auto; margin: 6.4rem 0 -9.4rem; padding: 6.4rem var(--pad-x) calc(6.4rem + 9.4rem); } /* page-bg の padding-bottom(6.4rem + 3rem) ぶんを打ち消す */
  .entry-cta__link { position: relative; left: auto; top: auto; width: auto; margin: 0 auto; gap: 1rem; }
  .entry-cta__en { font-size: 6.4rem; }
  .entry-cta__ja { font-size: 1.6rem; }
  .entry-cta__btns { position: relative; top: auto; flex-direction: column; align-items: center; gap: 1.2rem; margin-top: 3.2rem; }
  .entry-cta__btns li { width: 100%; max-width: 30rem; }
  .entry-cta__btn, .entry-cta__btns li:nth-child(2) .entry-cta__btn { height: 6.4rem; padding: 0 2rem; font-size: 1.6rem; }
}

/* =====================================================
   TB のみ（768〜1199px）
   ===================================================== */
@media (min-width: 768px) and (max-width: 1199px) {
  .cul-head-img { width: 22.5%; margin-top: 2.4rem; } /* パンくずと重ならないように */

  .cul-anchors { justify-content: flex-end; gap: 3.2rem; margin-top: 3.2rem; }
  .cul-anchors a { font-size: 1.5rem; }

  .cul-sec-head { gap: 2.4rem; }
  .cul-sec-head__ja { font-size: 3.2rem; }
  .cul-sec-head__en { font-size: 1.5rem; }

  .cul-value { margin-top: 8rem; }
  .cul-kakki { margin-top: 3.2rem; }
  .cul-kakki__ttl { font-size: 7.5rem; }
  .cul-kakki__cols { grid-template-columns: repeat(3, 1fr); gap: 2.4rem; margin-top: 3.2rem; }
  .cul-kakki__vis { width: 100%; max-width: none; }
  .cul-kakki__h { font-size: 2rem; }
  .cul-kakki__p { font-size: 1.35rem; }

  .cul-event { margin-top: 10rem; }
  .cul-events { grid-template-columns: 1fr 1fr; gap: 4rem 3.2rem; margin-top: 3.2rem; }
  .cul-ecard__ttl { font-size: 2rem; }
  .cul-ecard__p { font-size: 1.4rem; }

  .cul-benefits { margin-top: 10rem; }
  .cul-box { margin-top: 4rem; padding: 4.8rem 4rem 5.2rem; border-radius: 2rem; }
  .cul-box + .cul-box { margin-top: 3.2rem; }
  .cul-box__ttl { font-size: 3rem; }
  .cul-table { margin-top: 2.8rem; }
  /* TB は表のまま */
  .cul-table { display: table; }
  .cul-table tbody { display: table-row-group; }
  .cul-table tr { display: table-row; border-top: 0; }
  .cul-table th, .cul-table td { display: table-cell; border-top: 1px solid var(--orange); }
  .cul-table tr:first-child th, .cul-table tr:first-child td { border-top: 0; }
  .cul-table th { width: 17rem; padding: 2rem 0 2rem 2.4rem; font-size: 1.5rem; }
  .cul-table td { padding: 2rem 2.4rem 2rem 0; font-size: 1.6rem; line-height: 1.7; }
  .cul-table--text td { font-size: 1.4rem; line-height: 1.6; }

  .cul-rnav { margin-top: 10rem; }
  .cul-rnav ul { grid-template-columns: repeat(4, 1fr); }
  .cul-rnav a { padding: 1.6rem .4rem; font-size: 1.5rem; }

  .entry-cta { margin: 10rem 0 -26rem; padding: 10rem var(--pad-x) calc(10rem + 26rem); } /* page-bg の padding-bottom(18rem + 8rem) ぶんを打ち消す */
  .entry-cta__link { gap: 1.4rem; }
  .entry-cta__en { font-size: 8rem; }
  .entry-cta__ja { font-size: 2rem; }
  .entry-cta__btns { flex-direction: row; gap: 2rem; margin-top: 4.8rem; }
  .entry-cta__btns li { width: auto; max-width: none; }
  .entry-cta__btn, .entry-cta__btns li:nth-child(2) .entry-cta__btn { height: 7.2rem; padding: 0 3.2rem; font-size: 1.8rem; }
}

/* ===== 活魚 ＋ 活気 ＝ 活力（列のあいだの記号）===== */
.cul-kakki__col:nth-child(2) .cul-kakki__vis::after, .cul-kakki__col:nth-child(3) .cul-kakki__vis::after { content: ""; position: absolute; z-index: 3; left: calc(-3.35rem - 2.2rem); top: calc(50% - 2.2rem); width: 4.4rem; height: 4.4rem; pointer-events: none; }
.cul-kakki__col:nth-child(2) .cul-kakki__vis::after { background: linear-gradient(var(--black), var(--black)) center / 100% 1rem no-repeat, linear-gradient(var(--black), var(--black)) center / 1rem 100% no-repeat; } /* ＋ */
.cul-kakki__col:nth-child(3) .cul-kakki__vis::after { height: 3rem; top: calc(50% - 1.5rem); background: linear-gradient(var(--black), var(--black)) 0 0 / 100% 1rem no-repeat, linear-gradient(var(--black), var(--black)) 0 100% / 100% 1rem no-repeat; } /* ＝ */
@media (min-width: 768px) and (max-width: 1199px) {
  .cul-kakki__col:nth-child(2) .cul-kakki__vis::after, .cul-kakki__col:nth-child(3) .cul-kakki__vis::after { left: calc(-1.2rem - 1.6rem); width: 3.2rem; height: 3.2rem; top: calc(50% - 1.6rem); background-size: 100% .65rem, .65rem 100%; }
  .cul-kakki__col:nth-child(3) .cul-kakki__vis::after { height: 2.1rem; top: calc(50% - 1.05rem); background-size: 100% .65rem, 100% .65rem; }
}
@media (max-width: 767px) { /* 縦に並ぶので、前の列とのあいだ（上）に置く */
  .cul-kakki__col:nth-child(2) .cul-kakki__vis::after, .cul-kakki__col:nth-child(3) .cul-kakki__vis::after { left: calc(50% - 1.8rem); top: calc(-4.8rem - 1.8rem); width: 3.6rem; height: 3.6rem; background-size: 100% .75rem, .75rem 100%; }
  .cul-kakki__col:nth-child(3) .cul-kakki__vis::after { height: 2.4rem; top: calc(-4.8rem - 1.2rem); background-size: 100% .75rem, 100% .75rem; }
}
@media (max-width: 767px) { .cul-kakki__cols { gap: 9.6rem; } } /* ＋・＝を置くため列のあいだを広く */
@media (max-width: 767px) { .cul-kakki__col:nth-child(3) .cul-kakki__vis::after { transform: rotate(90deg); } } /* スマホは上から下へ流れるので ＝ を縦向きに */
@media (max-width: 767px) { .cul-kakki__p { text-align: left; } } /* スマホの説明文は左寄せ */

/* SP: 「活魚と活気で活力を」は企業情報ページ（css/company.css）と同じレイアウトにそろえる */
@media (max-width: 767px) {
  .cul-kakki__vis { width: 100%; max-width: none; aspect-ratio: 1 / .802; }
  .cul-kakki__vis .cul-kakki__circle { left: 0; top: 0; width: 43.3%; z-index: 1; }
  .cul-kakki__vis .cul-kakki__cal, .cul-kakki__vis--3 .cul-kakki__cal--lg { left: 8.5%; top: 22.7%; width: 26%; z-index: 2; }
  .cul-kakki__vis .cul-kakki__img, .cul-kakki__vis--3 .cul-kakki__staff { left: 30%; top: 22.7%; width: 70%; height: 77.3%; }
  .cul-kakki__vis .cul-kakki__img { object-fit: contain; object-position: center bottom; }
  .cul-kakki__vis--1 { aspect-ratio: 1 / .66; }
  .cul-kakki__vis--2 { aspect-ratio: 1 / .47; }
  .cul-kakki__vis--1 .cul-kakki__circle, .cul-kakki__vis--2 .cul-kakki__circle { width: 24%; }
  .cul-kakki__vis--1 .cul-kakki__cal, .cul-kakki__vis--2 .cul-kakki__cal { left: 4.7%; width: 14.4%; }
  .cul-kakki__vis--1 .cul-kakki__cal { top: 24%; }
  .cul-kakki__vis--1 .cul-kakki__circle { top: 8.7%; }
  .cul-kakki__vis--2 .cul-kakki__cal { top: 21.5%; }
  .cul-kakki__vis--1 .cul-kakki__img { left: 16%; top: 0; width: 84%; height: 100%; object-position: center; z-index: 0; }
  .cul-kakki__vis--2 .cul-kakki__img { left: 10%; top: 0; width: 90%; height: 100%; object-position: center; z-index: 0; }
  .cul-kakki__vis--3 .cul-kakki__brush { left: 14%; top: 22.7%; width: 11%; z-index: 1; }
  .cul-kakki__vis--3 .cul-kakki__staff img { width: 100%; height: 100%; margin-top: 0; object-fit: contain; object-position: center bottom; }
  .cul-kakki__vis--3 { aspect-ratio: 1 / .62; }
  .cul-kakki__vis--3 .cul-kakki__cal--lg, .cul-kakki__vis--3 .cul-kakki__brush, .cul-kakki__vis--3 .cul-kakki__staff { top: 0; }
  .cul-kakki__vis--3 .cul-kakki__staff { height: 100%; }
  .cul-kakki__h { margin-top: 2rem; }
  .cul-kakki__col:nth-child(2) { margin-top: -2.4rem; }
  .cul-kakki__col:nth-child(2) .cul-kakki__vis::after { top: calc(-3.6rem - 1.8rem); }
}

/* SP: ページ内リンクは 3 等分のインデックス（下にオレンジの丸矢印。タップでオレンジに） */
@media (max-width: 767px) {
  .cul-anchors { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin: 3.2rem var(--pad-x) 0; }
  .cul-anchors a { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .8rem; padding: 0 .4rem; border-bottom: 0; font-size: 1.3rem; font-weight: 700; line-height: 1.3; text-align: center; letter-spacing: .02em; }
  .cul-anchors a::after { content: ""; width: 2rem; height: 2rem; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='10' fill='%23ff7d20'/%3E%3Cpath d='M6.5 8.5 10 12l3.5-3.5' fill='none' stroke='%23fff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat; transition: transform .3s cubic-bezier(.2,.8,.2,1); }
  .cul-anchors a:hover, .cul-anchors a:active { color: var(--orange); }
  .cul-anchors a:hover::after, .cul-anchors a:active::after { transform: translateY(.3rem); }
}
@media (max-width: 767px) { .cul-kakki, .cul-events, .cul-sec-head + .cul-box { margin-top: 4rem; } } /* SP: 見出しの下は企業情報の「会社概要」と同じ 4rem */

/* 制度・福利厚生の表: Figma（Requirements_Table）どおり、上は 4px の太線・行の区切りと下は 1px、左右の線なし（全デバイス共通） */
.cul-table { border: 0; border-top: max(.4rem, 3px) solid var(--orange); border-bottom: 1px solid var(--orange); box-shadow: none; } /* 影は付けない */
.cul-table th, .cul-table td { border-left: 0; border-right: 0; }
@media (max-width: 767px) {
  .cul-table th { padding: 1.6rem .8rem 0; color: var(--text); }
  .cul-table td { padding: .6rem .8rem 1.6rem; }
}
@media (max-width: 767px) { .entry-cta__en { font-size: 4.8rem; } } /* SP: ENTRY の文字を小さく（採用ページ共通でそろえる） */
@media (max-width: 767px) { .cul-anchors a + a { border-left: 1px solid rgba(0,0,0,.15); } } /* SP: 項目のあいだに縦線だけ */
@media (min-width: 768px) and (max-width: 1199px) { .entry-cta__btn, .entry-cta__btns li:nth-child(n) .entry-cta__btn { height: 5.6rem; } } /* TB: ENTRY のボタンを低く（採用ページ共通でそろえる） */
@media (min-width: 768px) and (max-width: 1199px) { .entry-cta__en { font-size: 6.4rem; } } /* TB: ENTRY の文字を少し小さく（採用ページ共通） */
@media (min-width: 768px) and (max-width: 1199px) { .entry-cta { padding-top: 16.9rem; padding-bottom: 29.1rem; } } /* TB: ENTRY の中身を見えている写真の範囲で縦中央に */
/* SP: ENTRY は採用ページ共通の形に（短いボタンを中央に縦 3 つ・矢印なし） */
@media (max-width: 767px) {
  .entry-cta__btns { display: flex; flex-direction: column; align-items: center; gap: 1.2rem; margin-top: 3.2rem; }
  .entry-cta__btns li { width: 24rem; max-width: none; }
  .entry-cta__btn, .entry-cta__btns li:nth-child(n) .entry-cta__btn { width: 100%; height: 5.2rem; padding: 0 1.6rem; justify-content: center; font-size: 1.5rem; }
  .entry-cta__btn .btn__arrow { display: none; }
  .entry-cta__ja { font-size: 1.6rem; }
}
@media (max-width: 767px) { .entry-cta { padding-top: 8rem; padding-bottom: 14.1rem; } } /* SP: ENTRY の上下の空きをそろえる（文字の上・ボタンの下とも 80px） */
