/* ============================================================
   GC Recruit 2.0 — 専用ブロック（gc/〜）とスクロール演出のスタイル
   site.css の設計トークン（--ink / --rust / --bg-deep / --serif …）を使用
   ============================================================ */

/* ---------- アクセシビリティ ---------- */
.screen-reader-text{ position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); border:0; }
.skip-link:focus{ position:fixed; left:12px; top:12px; width:auto; height:auto; clip:auto; z-index:1000; padding:10px 16px; background:var(--rust); color:#fff; font-size:14px; }
a:focus-visible, button:focus-visible, summary:focus-visible{ outline:2px solid var(--rust); outline-offset:3px; }
.gh__links a:focus-visible, .gf a:focus-visible{ outline-offset:2px; }

/* ---------- 写真（実画像／プレースホルダー） ---------- */
.gc-media{ position:relative; margin:0; width:100%; overflow:hidden; background:var(--bg-alt); }
.gc-media img{ display:block; width:100%; height:100%; object-fit:cover; }
.gc-media--16x9{ aspect-ratio:16/9; } .gc-media--21x9{ aspect-ratio:21/9; } .gc-media--3x2{ aspect-ratio:3/2; }
.gc-media--4x3{ aspect-ratio:4/3; } .gc-media--1x1{ aspect-ratio:1/1; } .gc-media--4x5{ aspect-ratio:4/5; } .gc-media--3x4{ aspect-ratio:3/4; }
.gc-media--free img{ height:auto; }
.gc-media--free.gc-ph{ aspect-ratio:16/10; }
.gc-ph{ display:flex; flex-direction:column; justify-content:flex-end; align-items:flex-start; gap:6px; padding:14px; border:1px solid var(--line); color:var(--ink-soft); min-height:96px; }
.gc-ph::before{ content:''; position:absolute; inset:0; opacity:.5; background:linear-gradient(135deg, transparent 48%, var(--line) 48.5%, var(--line) 51.5%, transparent 52%); }
.gc-ph__label{ position:relative; z-index:1; font-size:12px; letter-spacing:.08em; padding:4px 9px; background:rgba(28,27,23,.78); color:#fff; font-family:var(--sans); max-width:100%; }
.gc-ph__spec{ position:relative; z-index:1; font-size:11px; line-height:1.6; letter-spacing:.02em; }
.gc-media--1x1.gc-ph{ padding:6px; min-height:0; align-items:center; justify-content:center; text-align:center; }
.gc-media--1x1.gc-ph .gc-ph__spec{ display:none; }
.gc-media--1x1.gc-ph .gc-ph__label{ padding:2px 6px; font-size:11px; }

/* ---------- 演出（motion.js が付けるクラスにだけ反応。JS無効・reduced-motion では常に表示） ---------- */
.gc-anim{ --gc-dur:.7s; --gc-dist:24px; --gc-delay:0s; }
.gc-anim--normal, .gc-anim--fade, .gc-anim--up, .gc-anim--left, .gc-anim--right{
  opacity:0;
  transition: opacity var(--gc-dur) cubic-bezier(.22,.61,.36,1) var(--gc-delay), transform var(--gc-dur) cubic-bezier(.22,.61,.36,1) var(--gc-delay);
}
.gc-anim--normal, .gc-anim--up{ transform: translateY(var(--gc-dist)); }
.gc-anim--left{ transform: translateX(calc(-1 * var(--gc-dist))); }
.gc-anim--right{ transform: translateX(var(--gc-dist)); }
.gc-anim.is-in{ opacity:1; transform:none; }
/* 子要素の順番表示（カード・数字・年表） */
.gc-anim.gc-cards--stagger .gc-card, .gc-anim.gc-numbers .gc-number, .gc-anim.gc-timeline .gc-timeline__item{ transition: opacity .6s ease, transform .6s ease; }
.gc-anim.gc-cards--stagger:not(.is-in) .gc-card, .gc-anim.gc-numbers:not(.is-in) .gc-number, .gc-anim.gc-timeline:not(.is-in) .gc-timeline__item{ opacity:0; transform: translateY(18px); }
.gc-anim.is-in .gc-card:nth-child(1), .gc-anim.is-in .gc-number:nth-child(1), .gc-anim.is-in .gc-timeline__item:nth-child(1){ transition-delay:.04s; }
.gc-anim.is-in .gc-card:nth-child(2), .gc-anim.is-in .gc-number:nth-child(2), .gc-anim.is-in .gc-timeline__item:nth-child(2){ transition-delay:.12s; }
.gc-anim.is-in .gc-card:nth-child(3), .gc-anim.is-in .gc-number:nth-child(3), .gc-anim.is-in .gc-timeline__item:nth-child(3){ transition-delay:.20s; }
.gc-anim.is-in .gc-card:nth-child(4), .gc-anim.is-in .gc-number:nth-child(4), .gc-anim.is-in .gc-timeline__item:nth-child(4){ transition-delay:.28s; }
.gc-anim.is-in .gc-card:nth-child(5), .gc-anim.is-in .gc-number:nth-child(5), .gc-anim.is-in .gc-timeline__item:nth-child(5){ transition-delay:.36s; }
.gc-anim.is-in .gc-card:nth-child(6), .gc-anim.is-in .gc-number:nth-child(6), .gc-anim.is-in .gc-timeline__item:nth-child(6){ transition-delay:.44s; }
/* 固定表示（pin） */
.gc-anim--pin.is-pinned{ min-height: calc(100vh + var(--gc-pin-len, 100vh)); }
.gc-anim--pin.is-pinned > .gc-pin__sticky{ position:sticky; top:0; min-height:100vh; min-height:100svh; display:flex; flex-direction:column; justify-content:center; }
.gc-section.gc-anim--pin.is-pinned{ padding:0; }
.gc-section.gc-anim--pin.is-pinned .gc-section__inner{ padding: clamp(64px,9vw,132px) 0; }
/* スクロール連動 */
.gc-anim--scrub{ will-change: transform; }
@media (prefers-reduced-motion: reduce){
  .gc-anim, .gc-anim > *{ opacity:1 !important; transform:none !important; transition:none !important; }
  .gc-anim--pin.is-pinned{ min-height:0; }
  .gc-anim--pin.is-pinned > .gc-pin__sticky{ position:static; min-height:0; }
}

/* ---------- FV ---------- */
.gc-fv{ position:relative; display:flex; align-items:flex-end; min-height:100vh; min-height:100svh; padding-top:76px; background:var(--bg-deep); color:#fff; overflow:hidden; }
.gc-fv--tall{ min-height:80vh; min-height:80svh; } .gc-fv--medium{ min-height:62vh; min-height:62svh; }
.gc-fv__media{ position:absolute; inset:0; }
.gc-fv__media .gc-media{ position:absolute; inset:0; aspect-ratio:auto; height:100%; background:transparent; }
.gc-fv__media img, .gc-fv__video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.gc-fv__video{ z-index:1; }
.gc-fv__media::after{ content:''; position:absolute; inset:0; z-index:2; background:linear-gradient(180deg, rgba(14,26,48,calc(var(--gc-fv-overlay,.45) * .35)) 0%, rgba(14,26,48,var(--gc-fv-overlay,.45)) 65%, rgba(14,26,48,calc(var(--gc-fv-overlay,.45) + .3)) 100%); }
.gc-fv__ph{ position:absolute; inset:0; border:none; background:linear-gradient(135deg,#223454 0%,#16233d 60%,#0e1a30 100%); color:#cfd4e0; padding:100px 24px 24px; justify-content:flex-start; }
/* FVのコピーは常に画面下に配置されるため、案内テキストは上に置いて重ならないようにする。
   上部100pxは固定ヘッダー（76px）の下に文字が隠れないための余白 */
.gc-fv__ph .gc-ph__spec{ color:#cfd4e0; max-width:36em; }
.gc-fv__ph::before{ display:none; }
.gc-fv__content{ position:relative; z-index:3; width:100%; padding-bottom: clamp(56px,8vh,96px); }
.gc-fv__eyebrow{ margin:0 0 22px; font-size:13.5px; letter-spacing:.16em; color:var(--accent-light,#e7a483); }
.gc-fv__copy{ margin:0; font-size: clamp(34px,5.6vw,72px); line-height:1.35; max-width:15em; font-weight:600; color:#fff; }
.gc-fv__en{ margin:16px 0 0; font-family:var(--serif); font-size: clamp(12px,1.1vw,15px); letter-spacing:.24em; color:var(--accent-light,#e7a483); }
.gc-fv__lead{ margin:22px 0 0; max-width:34em; font-size: clamp(15px,1.3vw,17px); line-height:2; color:#cfd4e0; }
.gc-fv--align-center .gc-fv__copyblock{ text-align:center; }
.gc-fv--align-center .gc-fv__copy, .gc-fv--align-center .gc-fv__lead{ margin-left:auto; margin-right:auto; }
.gc-fv__scroll{ position:absolute; right:var(--edge); bottom:34px; z-index:3; display:flex; align-items:center; gap:10px; font-size:12px; letter-spacing:.14em; color:#cfd4e0; }
.gc-fv__scroll .bar{ width:1px; height:38px; background:rgba(255,255,255,.4); position:relative; overflow:hidden; }
.gc-fv__scroll .bar::after{ content:''; position:absolute; top:-100%; left:0; right:0; height:100%; background:var(--accent-light,#e7a483); animation: gcScrollbar 1.8s ease-in-out infinite; }
@keyframes gcScrollbar{ 0%{ top:-100%; } 50%{ top:0; } 100%{ top:100%; } }
/* FVの文字は表示直後に順番にふわっと（JSあり時のみ） */
.gc-js .gc-fv.gc-anim .gc-fv__eyebrow, .gc-js .gc-fv.gc-anim .gc-fv__copy, .gc-js .gc-fv.gc-anim .gc-fv__en, .gc-js .gc-fv.gc-anim .gc-fv__lead, .gc-js .gc-fv.gc-anim .gc-fv__scroll{ opacity:0; transform: translateY(14px); transition: opacity .9s ease, transform .9s cubic-bezier(.22,.61,.36,1); }
.gc-js .gc-fv.gc-anim.is-in .gc-fv__eyebrow{ opacity:1; transform:none; transition-delay:.1s; }
.gc-js .gc-fv.gc-anim.is-in .gc-fv__copy{ opacity:1; transform:none; transition-delay:.25s; }
.gc-js .gc-fv.gc-anim.is-in .gc-fv__en{ opacity:1; transform:none; transition-delay:.5s; }
.gc-js .gc-fv.gc-anim.is-in .gc-fv__lead{ opacity:1; transform:none; transition-delay:.65s; }
.gc-js .gc-fv.gc-anim.is-in .gc-fv__scroll{ opacity:1; transform:none; transition-delay:1s; }
@media (prefers-reduced-motion: reduce){
  .gc-fv--has-poster .gc-fv__video{ display:none; }
  .gc-fv__scroll .bar::after{ animation:none; top:0; }
}
.gc-motion-static .gc-fv--has-poster .gc-fv__video{ display:none; }
@media (max-width:780px){ .gc-fv{ min-height:88vh; min-height:88svh; } .gc-fv__scroll{ display:none; } }

/* ---------- セクション ---------- */
.gc-section{ position:relative; padding: clamp(64px,9vw,132px) 0; }
.gc-section--sp-tight{ padding: clamp(40px,6vw,84px) 0; }
.gc-section--sp-deep{ padding: clamp(88px,12vw,180px) 0; }
.gc-section--sp-none{ padding:0; }
.gc-section--bg-alt{ background:var(--bg-alt); }
.gc-section--bg-paper{ background:#f2eee7; }
.gc-section--bg-deep{ background:var(--bg-deep); color:#f2efe6; }
.gc-section--bg-deep .section-title, .gc-section--bg-deep h2, .gc-section--bg-deep h3{ color:#fff; }
.gc-section--bg-deep .section-kicker{ color:var(--accent-light,#e7a483); }
.gc-section--bg-deep .section-lead, .gc-section--bg-deep .gc-card__text, .gc-section--bg-deep .gc-split__text, .gc-section--bg-deep .gc-number__note{ color:#cfd4e0; }
.gc-section--bg-deep .text-link, .gc-section--bg-deep .gc-card__more{ color:#fff; }
.gc-section--bg-deep .btn:not(.btn--primary){ border-color:rgba(255,255,255,.55); color:#fff; }
.gc-section--bg-deep .btn:not(.btn--primary):hover{ background:#fff; color:var(--bg-deep); }
.gc-section__inner{ position:relative; }
.gc-section__full{ width:100%; }
.gc-section__head{ margin-bottom: clamp(32px,5vw,64px); }
.gc-section__head .section-lead{ margin-top:18px; }
.gc-section--head-row .gc-section__head{ display:flex; align-items:flex-end; justify-content:space-between; flex-wrap:wrap; gap:16px 32px; }
.gc-section--head-row .gc-section__head .section-title{ font-size: clamp(24px,3vw,32px); }
.gc-section--head-split .gc-section__head{ display:grid; grid-template-columns:1fr 1fr; gap:24px 48px; align-items:end; }
.gc-section--head-split .gc-head__text{ display:contents; }
.gc-section--head-split .gc-head__text .section-kicker, .gc-section--head-split .gc-head__text .section-title{ grid-column:1; }
.gc-section--head-split .gc-head__text .section-lead{ grid-column:2; margin-top:0; }
.gc-head__num{ font-family:var(--serif); }
.gc-section__body > * + *{ margin-top: clamp(40px,6vw,72px); }
.gc-section__more{ margin-top:40px; }
/* 飾り */
.gc-section--deco-grid{ background-image: linear-gradient(rgba(28,27,23,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(28,27,23,.045) 1px, transparent 1px); background-size:48px 48px; }
.gc-section--bg-deep.gc-section--deco-grid{ background-image: linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px); background-size:40px 40px; }
.gc-section--deco-ruler .gc-section__head{ position:relative; padding-top:22px; }
.gc-section--deco-ruler .gc-section__head::before{ content:''; position:absolute; left:0; right:0; top:0; height:1px; background:currentColor; opacity:.3; }
.gc-section--deco-ruler .gc-section__head::after{ content:''; position:absolute; left:0; top:-4px; width:1px; height:9px; background:currentColor; opacity:.5; box-shadow: calc(min(100%, 1200px)) 0 0 currentColor; }
.gc-section--deco-dim .section-title{ position:relative; display:inline-block; padding-bottom:16px; }
.gc-section--deco-dim .section-title::after{ content:''; position:absolute; left:0; right:0; bottom:0; height:1px; background:var(--rust); }
.gc-section--deco-skeleton .gc-section__inner > .gc-skeleton{ position:absolute; right:var(--edge); top:50%; transform:translateY(-50%); width:min(40vw,540px); height:auto; opacity:.55; pointer-events:none; z-index:0; }
.gc-section--deco-skeleton .wrap{ position:relative; z-index:1; }
.gc-skeleton .sk{ fill:none; stroke:var(--ink); stroke-width:1.2; stroke-linecap:square; }
.gc-skeleton .sk--diag{ stroke:var(--rust); }
.gc-skeleton circle{ fill:var(--bg); stroke:var(--rust); stroke-width:1.2; }
.gc-section--bg-deep .gc-skeleton .sk{ stroke:rgba(255,255,255,.7); }
.gc-section--bg-deep .gc-skeleton circle{ fill:var(--bg-deep); }
@media (max-width:900px){
  .gc-section--head-split .gc-section__head{ grid-template-columns:1fr; }
  .gc-section--head-split .gc-head__text .section-lead{ grid-column:1; }
  .gc-section--deco-skeleton .gc-section__inner > .gc-skeleton{ position:static; transform:none; width:70%; margin:0 auto 24px; display:block; }
}

/* ---------- 写真＋文章 ---------- */
.gc-split{ display:grid; grid-template-columns:1fr 1fr; gap: clamp(28px,5vw,80px); align-items:center; }
.gc-split--w-wide{ grid-template-columns:1.35fr 1fr; } .gc-split--w-narrow{ grid-template-columns:.8fr 1.2fr; }
.gc-split--img-right .gc-split__media{ order:2; }
.gc-split--img-right.gc-split--w-wide{ grid-template-columns:1fr 1.35fr; }
.gc-split--img-right.gc-split--w-narrow{ grid-template-columns:1.2fr .8fr; }
.gc-split__media{ position:relative; }
.gc-split__media .gc-skeleton{ position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.gc-split__caption{ margin:10px 0 0; font-size:12.5px; color:var(--ink-soft); }
.gc-split__body .section-lead{ margin-top:14px; }
.gc-split__text{ margin-top:22px; font-size:15px; line-height:2.1; color:var(--ink-soft); max-width:32em; }
.gc-split__text p{ margin:0 0 1.2em; } .gc-split__text p:last-child{ margin-bottom:0; }
.gc-split__sub{ margin:20px 0 0; font-family:var(--serif); font-size:16px; }
.gc-split__link{ margin-top:26px; }
.gc-content .gc-split__text p{ margin:0 0 1.2em; }
@media (max-width:900px){
  .gc-split, .gc-split--w-wide, .gc-split--w-narrow, .gc-split--img-right.gc-split--w-wide, .gc-split--img-right.gc-split--w-narrow{ grid-template-columns:1fr; }
  .gc-split--img-right .gc-split__media{ order:0; }
}

/* ---------- カード一覧 ---------- */
.gc-cards{ position:relative; --cols:3; --gap:28px; }
.gc-cards--cols-2{ --cols:2; } .gc-cards--cols-3{ --cols:3; } .gc-cards--cols-4{ --cols:4; }
.gc-cards--gap-s{ --gap:14px; } .gc-cards--gap-l{ --gap:44px; }
.gc-cards__track{ display:grid; grid-template-columns: repeat(var(--cols), minmax(0,1fr)); gap: var(--gap); }
.gc-card{ position:relative; }
.gc-card__link{ display:block; color:inherit; }
.gc-card__link:hover .gc-media img{ opacity:.92; }
.gc-card__media{ position:relative; z-index:1; }
.gc-card__body{ margin-top:18px; }
.gc-card__tag{ display:block; }
.gc-card__meta{ display:block; font-size:12.5px; color:var(--rust); letter-spacing:.06em; }
.gc-card__title{ margin:8px 0 0; font-size: clamp(19px,1.8vw,22px); line-height:1.5; }
.gc-card__copy{ margin:10px 0 0; font-family:var(--serif); font-size: clamp(16px,1.4vw,19px); line-height:1.7; }
.gc-card__text{ margin:10px 0 0; font-size:14px; line-height:1.95; color:var(--ink-soft); }
.gc-card__more{ margin-top:14px; }
.gc-card__num{
  position:absolute; z-index:0; left:-.12em; top:-.62em; pointer-events:none;
  font: 600 clamp(72px,9vw,150px)/1 var(--serif); letter-spacing:-.02em; color:transparent; -webkit-text-stroke:1px var(--line);
  transform: translate(var(--gc-num-x,0), var(--gc-num-y,0)) scale(var(--gc-num-scale,1)); transform-origin:left top;
}
.gc-section--bg-deep .gc-card__num{ -webkit-text-stroke-color: rgba(255,255,255,.35); }
/* BUSINESS：2枚を左右均等に */
.gc-cards--business .gc-cards__track{ grid-template-columns: repeat(2, minmax(0,1fr)); align-items:stretch; }
.gc-cards--business .gc-card__title{ font-size:20px; }
/* PROJECT：3件を大小の写真で（同じ形が並ばないように） */
.gc-cards--project .gc-cards__track{ grid-template-columns: repeat(12, 1fr); align-items:start; }
.gc-cards--project .gc-card{ grid-column: span 6; }
.gc-cards--project .gc-card:nth-child(3n+1){ grid-column: 1 / span 7; }
.gc-cards--project .gc-card:nth-child(3n+2){ grid-column: 8 / span 5; margin-top: clamp(32px,8vw,120px); }
.gc-cards--project .gc-card:nth-child(3n+3){ grid-column: 3 / span 7; margin-top: clamp(-40px,-3vw,-16px); }
.gc-cards--project .gc-card__num{ -webkit-text-stroke-color: rgba(28,27,23,.35); }
/* WORK：写真の下に寸法線 */
.gc-cards--work .gc-card__body{ position:relative; margin-top:14px; padding-top:16px; }
.gc-cards--work .gc-card__body::before{ content:''; position:absolute; left:0; right:0; top:0; height:1px; background:var(--ink); opacity:.35; }
.gc-cards--work .gc-card__body::after{ content:''; position:absolute; left:0; top:-4px; width:1px; height:9px; background:var(--ink); opacity:.5; box-shadow: 100% 0 0 var(--ink); }
.gc-cards--work .gc-card__copy{ font-size:16px; }
/* PEOPLE：縦写真＋番号の重なり、交互に段差 */
.gc-cards--people .gc-card:nth-child(even){ margin-top: clamp(24px,5vw,72px); }
.gc-cards--people .gc-card__num{ left:auto; right:-.12em; top:-.55em; font-size: clamp(96px,12vw,200px); }
.gc-cards--people .gc-card__media{ width:88%; }
.gc-cards--people .gc-card:nth-child(even) .gc-card__media{ margin-left:auto; }
.gc-cards--people .gc-card__copy{ font-size: clamp(17px,1.6vw,21px); }
/* 横スクロール（PC・JS駆動） */
.gc-cards--hscroll.is-driven{ position:relative; }
.gc-cards--hscroll.is-driven .gc-cards__sticky{
  position:sticky; top:0; height:100vh; height:100svh; display:flex; flex-direction:column; justify-content:center; overflow:hidden;
  width:100vw; margin-left: calc(50% - 50vw); padding-left: max(var(--edge), calc((100vw - var(--max)) / 2 + var(--edge)));
}
.gc-cards--hscroll.is-driven .gc-cards__track{ display:flex; width:max-content; gap: clamp(40px,5vw,96px); align-items:flex-start; will-change:transform; margin:0; }
.gc-cards--hscroll.is-driven .gc-card{ flex:none; width:min(46vw,640px); grid-column:auto !important; margin-top:0 !important; }
.gc-cards--hscroll.is-driven .gc-card:nth-child(2){ width:min(26vw,360px); margin-top:6vh !important; }
.gc-cards--hscroll.is-driven .gc-card:nth-child(3){ width:min(40vw,560px); margin-top:2vh !important; }
.gc-cards--hscroll.is-driven .gc-card .gc-media{ max-height:46svh; }
.gc-cards--hscroll.is-driven .gc-card:nth-child(2) .gc-media{ aspect-ratio:3/4; }
.gc-cards__progress{ display:flex; align-items:center; gap:10px; margin-top:24px; font: 500 13px/1 var(--serif); letter-spacing:.12em; color:var(--ink-soft); }
.gc-cards--hscroll.is-driven .gc-cards__progress{ position:absolute; right:var(--edge); bottom:28px; margin:0; }
.gc-cards__bar{ display:block; width:120px; height:1px; background:rgba(28,27,23,.2); position:relative; }
.gc-cards__bar b{ position:absolute; left:0; top:0; height:1px; width:0; background:var(--rust); }
.gc-section--bg-deep .gc-cards__progress{ color:#cfd4e0; } .gc-section--bg-deep .gc-cards__bar{ background:rgba(255,255,255,.2); }
/* 横スワイプ（スマホ・JS無効時の横スクロール指定） */
.gc-cards--hscroll.is-swipe .gc-cards__track, .no-js .gc-cards--hscroll .gc-cards__track{
  display:flex; overflow-x:auto; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; gap:20px; padding: 0 var(--edge) 12px; margin: 0 calc(-1 * var(--edge)); scrollbar-width:none;
}
.gc-cards--hscroll.is-swipe .gc-cards__track::-webkit-scrollbar{ display:none; }
.gc-cards--hscroll.is-swipe .gc-card{ flex:none; width:min(80vw,480px); scroll-snap-align:start; grid-column:auto; margin-top:0; }
@media (max-width:900px){
  .gc-cards__track, .gc-cards--business .gc-cards__track, .gc-cards--project .gc-cards__track{ grid-template-columns:1fr; }
  .gc-cards--cols-4 .gc-cards__track{ grid-template-columns:1fr 1fr; }
  .gc-cards--project .gc-card, .gc-cards--project .gc-card:nth-child(3n+1), .gc-cards--project .gc-card:nth-child(3n+2), .gc-cards--project .gc-card:nth-child(3n+3){ grid-column:1; margin-top:0; }
  .gc-cards--people .gc-card:nth-child(even){ margin-top:0; }
  .gc-cards--people .gc-card__media{ width:100%; }
  .gc-cards--people .gc-card__num{ font-size:96px; }
  .gc-card__num{ font-size:80px; }
}
@media (min-width:901px) and (max-width:1100px){ .gc-cards--cols-4 .gc-cards__track{ grid-template-columns:repeat(2,1fr); } }

/* ---------- 数字 ---------- */
.gc-numbers{ position:relative; --cols:3; }
.gc-numbers--cols-2{ --cols:2; } .gc-numbers--cols-3{ --cols:3; } .gc-numbers--cols-4{ --cols:4; }
.gc-numbers__rule{ position:relative; height:1px; background:currentColor; opacity:.3; }
.gc-numbers__rule i{ position:absolute; top:-4px; width:1px; height:9px; background:currentColor; }
.gc-numbers__rule i:first-child{ left:0; } .gc-numbers__rule i:last-child{ right:0; }
.gc-numbers__list{
  display:grid; grid-template-columns: repeat(var(--cols), minmax(0,1fr)); gap:24px; margin:28px 0 0; padding:0; list-style:none;
  transform: translate(var(--gc-num-x,0), var(--gc-num-y,0)) scale(var(--gc-num-scale,1)); transform-origin:center;
}
.gc-number{ margin:0; }
.gc-number__value{ display:block; font: 600 clamp(56px,7vw,112px)/1 var(--serif); letter-spacing:-.01em; color:var(--ink); }
.gc-numbers--outline .gc-number__value{ color:transparent; -webkit-text-stroke:1.2px var(--ink); }
.gc-section--bg-deep .gc-numbers--outline .gc-number__value{ -webkit-text-stroke-color:#fff; }
.gc-section--bg-deep .gc-number__value{ color:#fff; }
.gc-number__unit{ font-style:normal; font-size:.36em; margin-left:.12em; letter-spacing:.1em; }
.gc-number__label{ display:block; margin-top:10px; font-size:12px; letter-spacing:.16em; color:var(--rust); }
.gc-section--bg-deep .gc-number__label{ color:var(--accent-light,#df9a72); }
.gc-number__note{ display:block; margin-top:6px; font-size:13.5px; line-height:1.8; color:var(--ink-soft); }
.gc-numbers__note{ margin:20px 0 0; font-size:12.5px; color:var(--ink-soft); }
.gc-numbers__more{ margin-top:36px; }
/* 箱型（会社を知る） */
.gc-numbers--boxed .gc-numbers__list{ gap:1px; margin-top:0; background:rgba(28,27,23,.14); border:1px solid rgba(28,27,23,.14); }
.gc-numbers--boxed .gc-number{ padding:38px 30px; background:var(--bg); min-height:220px; display:flex; flex-direction:column; justify-content:space-between; }
.gc-numbers--boxed .gc-number__value{ font-size: clamp(48px,6vw,96px); order:2; margin-top:auto; }
.gc-numbers--boxed .gc-number__label{ order:1; margin-top:0; }
.gc-numbers--boxed .gc-number__note{ order:3; margin-top:14px; font-size:12px; }
.gc-section--bg-deep .gc-numbers--boxed .gc-numbers__list{ background:rgba(255,255,255,.14); border-color:rgba(255,255,255,.14); }
.gc-section--bg-deep .gc-numbers--boxed .gc-number{ background:#12213b; }
.gc-section--bg-deep .gc-numbers--boxed .gc-number__note{ color:rgba(255,255,255,.62); }
/* 罫線型（環境） */
.gc-numbers--line .gc-numbers__list{ gap:0; margin-top:0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.gc-numbers--line .gc-number{ padding:28px 24px; border-left:1px solid var(--line); }
.gc-numbers--line .gc-number:first-child{ border-left:none; padding-left:0; }
.gc-numbers--line .gc-number__value{ font-size: clamp(40px,4.6vw,64px); }
/* 図面モチーフ */
.gc-numbers--deco-blueprint{ padding: clamp(32px,4vw,56px); border:1px solid var(--line); background-image: linear-gradient(rgba(28,27,23,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(28,27,23,.06) 1px, transparent 1px); background-size:40px 40px; }
.gc-numbers--deco-blueprint::before, .gc-numbers--deco-blueprint::after{ content:''; position:absolute; pointer-events:none; border-color:rgba(163,90,52,.5); border-style:solid; }
.gc-numbers--deco-blueprint::before{ width:42%; height:1px; right:5%; top:22px; border-width:1px 0 0; }
.gc-numbers--deco-blueprint::after{ width:1px; height:45%; right:7%; bottom:8%; border-width:0 0 0 1px; }
.gc-section--bg-deep .gc-numbers--deco-blueprint{ border-color:rgba(255,255,255,.14); background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px); }
@media (max-width:900px){
  .gc-numbers__list{ grid-template-columns:1fr; gap:20px; }
  .gc-numbers--outline .gc-number{ display:grid; grid-template-columns:auto 1fr; gap:4px 16px; align-items:baseline; }
  .gc-numbers--outline .gc-number__value{ grid-row:1/3; }
  .gc-numbers--line .gc-number{ border-left:none; border-top:1px solid var(--line); padding:20px 0; }
  .gc-numbers--line .gc-number:first-child{ border-top:none; }
  .gc-numbers--boxed .gc-number{ min-height:170px; }
  .gc-numbers--cols-4 .gc-numbers__list, .gc-numbers--boxed .gc-numbers__list{ grid-template-columns:1fr 1fr; }
}

/* ---------- 一覧（NEWS・ブログ・職種） ---------- */
.gc-list-more{ margin:28px 0 0; }
.gc-empty{ margin:0; padding:24px 0; color:var(--ink-soft); }
.grid-3.grid--2{ grid-template-columns:repeat(2,1fr); } .grid-3.grid--4{ grid-template-columns:repeat(4,1fr); gap:28px; }
@media (max-width:860px){ .grid-3.grid--2, .grid-3.grid--4{ grid-template-columns:1fr; } }
.news-row--thumb{ align-items:center; }
.news-row__thumb{ flex:none; width:120px; } .news-row__thumb .ph{ border:none; }
.job-row__type{ display:block; font-size:11.5px; color:var(--rust); letter-spacing:.06em; margin-bottom:6px; font-weight:400; }
.job-row--thumb{ grid-template-columns: 160px 1.1fr 1fr 1fr auto; }
.job-row__thumb .ph{ border:none; }
@media (max-width:820px){ .job-row--thumb{ grid-template-columns:1fr; } .news-row__thumb{ width:100%; order:-1; } }
.section--detail{ padding-top:150px; }
.job-body__heading{ font-size:20px; margin-bottom:12px; }
.job-body__supplement{ margin-top:40px; }

/* ---------- ENTRY ---------- */
.gc-entry .entry-cta__inner{ padding-top: clamp(48px,6vw,80px); padding-bottom: clamp(48px,6vw,80px); }
.gc-entry:not(.gc-entry--frame) .entry-cta__inner{ padding-top:0; padding-bottom:0; }
.gc-entry--frame.is-framed .entry-frame__edge--t{ transform: scaleX(1); transition-delay:0s; }
.gc-entry--frame.is-framed .entry-frame__edge--r{ transform: scaleY(1); transition-delay:.4s; }
.gc-entry--frame.is-framed .entry-frame__edge--b{ transform: scaleX(1); transition-delay:.8s; }
.gc-entry--frame.is-framed .entry-frame__edge--l{ transform: scaleY(1); transition-delay:1.2s; }
.gc-entry--frame.is-framed .entry-frame__joint{ opacity:1; }
.gc-motion-static .entry-frame__edge, .no-js .entry-frame__edge{ transform:none !important; transition:none; }
.gc-motion-static .entry-frame__joint, .no-js .entry-frame__joint{ opacity:1; transition:none; }
.gc-entry__text{ max-width:100%; }
@media (max-width:900px){ .gc-entry--frame .entry-cta__inner{ margin-left:12px; margin-right:12px; } }

/* ---------- 年表・ステップ ---------- */
.gc-timeline{ list-style:none; margin:0; padding:0; border-left:1px solid var(--line); }
.gc-timeline__item{ position:relative; display:grid; grid-template-columns:120px 1fr; gap:24px; padding:22px 0 22px 32px; margin:0; }
.gc-timeline__item::before{ content:''; position:absolute; left:-4px; top:34px; width:7px; height:7px; border-radius:50%; background:var(--rust); }
.gc-timeline__year{ font-family:var(--serif); font-size: clamp(20px,2vw,26px); line-height:1.3; color:var(--ink); }
.gc-timeline__title{ margin:0; font-size:17px; line-height:1.6; }
.gc-timeline__text{ margin:8px 0 0; font-size:14.5px; line-height:2; color:var(--ink-soft); }
.gc-timeline--steps{ border-left:none; display:grid; grid-template-columns: repeat(auto-fit, minmax(200px,1fr)); gap:1px; background:var(--line); }
.gc-timeline--steps .gc-timeline__item{ display:block; background:var(--bg); padding:28px 24px; }
.gc-timeline--steps .gc-timeline__item::before{ display:none; }
.gc-timeline--steps .gc-timeline__year{ display:block; font-family:var(--serif); font-size:12px; letter-spacing:.16em; color:var(--rust); }
.gc-timeline--steps .gc-timeline__title{ margin-top:10px; font-size:18px; }
.gc-section--bg-alt .gc-timeline--steps .gc-timeline__item{ background:var(--bg); }
@media (max-width:700px){ .gc-timeline__item{ grid-template-columns:1fr; gap:6px; } }

/* ---------- クロストーク ---------- */
.gc-ct__head{ display:grid; grid-template-columns:.55fr 1fr; column-gap:64px; align-items:end; }
.gc-ct__head .section-kicker{ grid-column:1; }
.gc-ct__theme{ grid-column:1; margin:0; font-size: clamp(34px,4.6vw,64px); line-height:1.3; }
.gc-ct__intro{ grid-column:2; grid-row:1 / span 2; align-self:end; max-width:38em; margin:0; line-height:2.1; }
.gc-ct__group{ margin-top:56px; }
.gc-ct__members{ display:grid; grid-template-columns: repeat(auto-fit, minmax(210px,1fr)); gap:1px; margin:1px 0 0; padding:0; list-style:none; background:var(--line); }
.gc-ct__member{ display:flex; gap:14px; align-items:flex-start; padding:20px; margin:0; background:#fff; transition: opacity .5s ease, filter .5s ease; }
.gc-js .gc-ct__member{ opacity:.35; filter:grayscale(1); }
.gc-js .gc-ct__member.is-in, .gc-motion-static .gc-ct__member{ opacity:1; filter:none; }
.gc-ct__avatar .gc-media{ width:56px; height:56px; border-radius:50%; flex:none; }
.gc-ct__member-text b{ display:block; font-family:var(--serif); font-size:17px; font-weight:600; }
.gc-ct__member-text span{ display:block; font-size:12.5px; color:var(--rust); margin-top:2px; }
.gc-ct__member-text small{ display:block; font-size:12px; color:var(--ink-soft); margin-top:6px; line-height:1.7; }
.gc-ct__body > * + *{ margin-top: clamp(64px,8vw,110px); }
.gc-ct__body{ margin-top: clamp(64px,8vw,110px); }
.gc-ct-chapter{ position:relative; padding-left: min(16vw,210px); }
.gc-ct-chapter__num{ position:absolute; left:0; top:-30px; font: 600 clamp(80px,12vw,170px)/1 var(--serif); color:rgba(163,90,52,.15); pointer-events:none; }
.gc-ct-chapter__title{ position:relative; margin:0; font-size: clamp(26px,3.4vw,44px); line-height:1.55; }
.gc-ct-chapter__q{ display:flex; gap:10px; margin:32px 0 0; padding:18px 22px; background:var(--bg-deep); color:#fff; font-size:14px; line-height:1.8; }
.gc-ct-chapter__qmark{ flex:none; color:var(--accent-light,#e7a483); }
.gc-ct-chapter__lines{ margin-top:28px; display:flex; flex-direction:column; gap:22px; }
.gc-ct-line{ display:grid; grid-template-columns:64px 1fr; gap:18px; align-items:start; max-width:44em; }
.gc-ct-line--r{ margin-left:auto; grid-template-columns:1fr 64px; }
.gc-ct-line--r .gc-ct-line__who{ order:2; }
.gc-ct-line__who{ display:flex; flex-direction:column; align-items:center; gap:6px; text-align:center; }
.gc-ct-line__avatar .gc-media{ width:48px; height:48px; border-radius:50%; }
.gc-ct-line__name{ font-size:12px; font-weight:600; line-height:1.3; }
.gc-ct-line__name small{ display:block; font-weight:400; font-size:10.5px; color:var(--ink-soft); margin-top:2px; }
.gc-ct-line__bubble{ position:relative; background:#fff; padding:18px 22px; border-radius:2px 18px 18px 18px; border:1px solid var(--line); }
.gc-ct-line--r .gc-ct-line__bubble{ border-radius:18px 2px 18px 18px; }
.gc-ct-line__bubble p{ margin:0; font-size:15px; line-height:2; color:var(--ink); }
.gc-ct-line--short .gc-ct-line__bubble{ padding:10px 16px; align-self:center; }
.gc-ct-line--short .gc-ct-line__bubble p{ font-size:14px; color:var(--ink-soft); }
.gc-content .gc-ct-line__bubble p{ margin:0; }
.gc-ct-photo{ margin:0; }
.gc-ct-photo--half{ max-width:60%; margin:0 auto; }
.gc-ct-photo--left{ max-width:46%; margin-right:auto; } .gc-ct-photo--right{ max-width:46%; margin-left:auto; }
.gc-ct-photo figcaption{ margin-top:10px; font-size:12.5px; color:var(--ink-soft); }
.gc-ct-summary{ text-align:center; }
.gc-ct-summary__text{ margin:16px 0 0; padding: clamp(28px,4vw,54px); border:1px solid var(--rust); font-family:var(--serif); font-size: clamp(20px,2.6vw,32px); line-height:1.8; color:var(--ink); }
.gc-ct-summary__link{ margin-top:32px; }
@media (max-width:780px){
  .gc-ct__head{ grid-template-columns:1fr; }
  .gc-ct__intro{ grid-column:1; grid-row:auto; margin-top:24px; }
  .gc-ct__members{ grid-template-columns:1fr 1fr; }
  .gc-ct__member{ flex-direction:column; gap:10px; padding:14px; }
  .gc-ct__member-text small{ display:none; }
  .gc-ct-chapter{ padding-left:0; }
  .gc-ct-chapter__num{ position:static; display:block; font-size:74px; margin-bottom:8px; }
  .gc-ct-line, .gc-ct-line--r{ grid-template-columns:48px 1fr; margin-left:0; }
  .gc-ct-line--r .gc-ct-line__who{ order:0; }
  .gc-ct-line--r .gc-ct-line__bubble{ border-radius:2px 18px 18px 18px; }
  .gc-ct-photo--half, .gc-ct-photo--left, .gc-ct-photo--right{ max-width:100%; }
}

/* ---------- 固定ページ内の余白調整 ---------- */
.gc-content--blocks > .gc-section + .gc-section{ margin-top:0; }
.gc-content .gc-section__body > .wp-block-group + .wp-block-group{ margin-top:0; }
.gc-content .gc-ct-chapter__q, .gc-content .gc-number__label, .gc-content .gc-card__text, .gc-content .gc-card__copy{ margin-top: revert-layer; }
.gc-content .gc-card__copy{ margin-top:10px; } .gc-content .gc-card__text{ margin-top:10px; } .gc-content .gc-ct-chapter__q{ margin-top:32px; }

/* ---------- フッター追加分 ---------- */
.gf__entry-list{ margin-top:20px; border-top:1px solid var(--line-on-deep); padding-top:18px; }
.gf__entry-link{ color:#fff; }
.gf__legal a{ margin-right:18px; }
.gf__col h4 a:hover{ color:var(--accent-light,#e7a483); }

/* ============================================================
   2.1：写真×図形の重なり／レイヤー視差／自由な色／TOP縮小
   ============================================================ */

/* ---------- 図形（gc_shape_html） ----------
   親（写真の枠・セクション・カード・FV）は position:relative。
   back = 写真の後ろ（z:0）、front = 写真の上（z:2）。写真本体は z:1 */
.gc-shape{
  position:absolute; z-index:0; pointer-events:none; display:block;
  width: var(--gc-shape-size, 55%); aspect-ratio: var(--gc-shape-ar, 1);
  color: var(--gc-shape-color, var(--rust)); opacity: var(--gc-shape-op, 1);
  transform:
    translate(calc(var(--gc-shape-bx, 0%) + var(--gc-shape-x, 0%)), calc(var(--gc-shape-by, 0%) + var(--gc-shape-y, 0%)))
    translate3d(var(--gc-lx, 0px), var(--gc-ly, 0px), 0)
    rotate(var(--gc-shape-rot, 0deg));
  will-change: transform;
}
.gc-shape svg{ display:block; width:100%; height:100%; fill:currentColor; overflow:visible; }
.gc-shape--layer-front{ z-index:2; }
/* 位置：角や辺に掛かるように、自分の大きさの 30〜40% ぶん外側へずらして置く */
.gc-shape--pos-tl{ left:0; top:0; --gc-shape-bx:-32%; --gc-shape-by:-32%; }
.gc-shape--pos-t{ left:50%; top:0; --gc-shape-bx:-50%; --gc-shape-by:-42%; }
.gc-shape--pos-tr{ right:0; top:0; --gc-shape-bx:32%; --gc-shape-by:-32%; }
.gc-shape--pos-l{ left:0; top:50%; --gc-shape-bx:-42%; --gc-shape-by:-50%; }
.gc-shape--pos-c{ left:50%; top:50%; --gc-shape-bx:-50%; --gc-shape-by:-50%; }
.gc-shape--pos-r{ right:0; top:50%; --gc-shape-bx:42%; --gc-shape-by:-50%; }
.gc-shape--pos-bl{ left:0; bottom:0; --gc-shape-bx:-32%; --gc-shape-by:32%; }
.gc-shape--pos-b{ left:50%; bottom:0; --gc-shape-bx:-50%; --gc-shape-by:42%; }
.gc-shape--pos-br{ right:0; bottom:0; --gc-shape-bx:32%; --gc-shape-by:32%; }
/* 自動：カードごとに 左上 → 右上 を交互に（写真の角に掛け、下の文字には重ねない） */
.gc-shape--pos-auto{ left:0; top:0; --gc-shape-bx:-28%; --gc-shape-by:-24%; }
.gc-card:nth-child(even) > .gc-shape--pos-auto, .gc-card:nth-child(even) > .gc-card__link > .gc-shape--pos-auto{ left:auto; right:0; --gc-shape-bx:28%; --gc-shape-by:-24%; }
.gc-cards--people .gc-card:nth-child(even) > .gc-card__link > .gc-shape--pos-auto, .gc-cards--people .gc-card:nth-child(even) > .gc-shape--pos-auto{ --gc-shape-by:-30%; }
/* レイヤー（写真側）：JS が --gc-lx/--gc-ly を書き込む。図形は上の合成 transform を使う */
.gc-layer:not(.gc-shape){ transform: translate3d(var(--gc-lx, 0px), var(--gc-ly, 0px), 0); }
.gc-anim--layer{ will-change: opacity; }

/* 写真＋文章：写真を図形の上（back）／下（front）に */
.gc-split--has-shape .gc-split__media > .gc-media{ position:relative; z-index:1; }
.gc-split--has-shape .gc-split__caption{ position:relative; z-index:1; }
/* セクション：中身を図形より上に。図形のはみ出しは横スクロールを起こさないよう切り取る（overflow:clip は sticky を壊さない） */
.gc-section--has-shape{ overflow-x: clip; }
.gc-section__inner > .wrap, .gc-section__inner > .gc-section__full{ position:relative; z-index:1; }
.gc-section__inner > .gc-section__shape{ z-index:0; }
.gc-section__inner > .gc-section__shape.gc-shape--layer-front{ z-index:2; }
/* FV：写真（0）→ 暗くする膜（2）→ 図形（2・後ろ）→ 文字（3）→ 図形（4・前） */
.gc-fv--has-shape{ overflow:hidden; }
.gc-fv > .gc-fv__shape{ z-index:2; }
.gc-fv > .gc-fv__shape.gc-shape--layer-front{ z-index:4; }
.gc-fv__media::after{ background: linear-gradient(180deg,
  color-mix(in srgb, var(--gc-fv-ovc, var(--bg-deep-2)) calc(var(--gc-fv-overlay,.45) * 35%), transparent) 0%,
  color-mix(in srgb, var(--gc-fv-ovc, var(--bg-deep-2)) calc(var(--gc-fv-overlay,.45) * 100%), transparent) 65%,
  color-mix(in srgb, var(--gc-fv-ovc, var(--bg-deep-2)) calc(min(1, var(--gc-fv-overlay,.45) + .3) * 100%), transparent) 100%); }
/* カード：図形は写真の後ろ（番号と同じ層） */
.gc-card--has-shape{ position:relative; }
.gc-card--has-shape .gc-card__shape{ z-index:0; }
.gc-card--has-shape .gc-card__shape.gc-shape--layer-front{ z-index:2; }
.gc-card--has-shape .gc-card__body{ position:relative; z-index:1; }
/* クロストーク：集合写真 */
.gc-ct__groupwrap{ position:relative; margin-top:56px; }
.gc-ct__groupwrap > .gc-ct__group{ position:relative; z-index:1; margin-top:0; }
/* 図形の大きさはスマホでは控えめに */
@media (max-width:900px){
  .gc-shape{ width: calc(var(--gc-shape-size, 55%) * .8); }
  .gc-section__inner > .gc-section__shape{ width: calc(var(--gc-shape-size, 55%) * 1.2); }
}
/* JS無効・動きを減らす：図形は動かさない（表示はする） */
.gc-motion-static .gc-layer, .no-js .gc-layer{ --gc-lx:0px; --gc-ly:0px; }
@media (prefers-reduced-motion: reduce){ .gc-layer{ --gc-lx:0px !important; --gc-ly:0px !important; } }

/* ---------- 自由な色（ブロック単位） ---------- */
.gc-section--custom-bg{ background: var(--gc-sec-bg) !important; background-image:none; }
.gc-section--custom-fg, .gc-section--custom-fg .section-title, .gc-section--custom-fg h2, .gc-section--custom-fg h3, .gc-section--custom-fg .text-link, .gc-section--custom-fg .gc-card__more{ color: var(--gc-sec-fg) !important; }
.gc-section--custom-fg .section-lead, .gc-section--custom-fg .gc-card__text, .gc-section--custom-fg .gc-split__text, .gc-section--custom-fg .gc-number__note, .gc-section--custom-fg .gc-card__meta{ color: var(--gc-sec-fg) !important; opacity:.82; }
.gc-section--custom-fg .btn:not(.btn--primary){ border-color: var(--gc-sec-fg); color: var(--gc-sec-fg); }
.gc-section--custom-fg .btn:not(.btn--primary):hover{ background: var(--gc-sec-fg); color: var(--gc-sec-bg, var(--bg)); }
.gc-entry--custom-bg{ background: var(--gc-entry-bg) !important; }
.gc-entry--custom-fg, .gc-entry--custom-fg .entry-cta__title, .gc-entry--custom-fg .entry-cta__kicker, .gc-entry--custom-fg .entry-cta__sub{ color: var(--gc-entry-fg) !important; }
.gc-numbers--custom-value .gc-number__value{ color: var(--gc-num-value-color) !important; -webkit-text-stroke-color: var(--gc-num-value-color) !important; }
.gc-numbers--custom-label .gc-number__label{ color: var(--gc-num-label-color) !important; }
.gc-card__num{ -webkit-text-stroke-color: var(--gc-card-num-color, var(--line)); }
.gc-section--bg-deep .gc-card__num{ -webkit-text-stroke-color: var(--gc-card-num-color, rgba(255,255,255,.35)); }
.gc-cards--project .gc-card__num{ -webkit-text-stroke-color: var(--gc-card-num-color, rgba(28,27,23,.35)); }

/* ---------- カード一覧の大きさ（TOP の PEOPLE 縮小など） ---------- */
.gc-cards--size-s:not(.gc-cards--hscroll) .gc-cards__track{ max-width: 920px; margin-left:auto; margin-right:auto; }
.gc-cards--size-s .gc-card__title{ font-size: clamp(17px,1.5vw,19px); }
.gc-cards--size-s .gc-card__copy{ font-size: clamp(15px,1.25vw,17px); }
.gc-cards--size-s .gc-card__text{ font-size:13.5px; }
.gc-cards--size-s .gc-card__num{ font-size: clamp(56px,7vw,112px); }
.gc-cards--size-s.gc-cards--people .gc-card__num{ font-size: clamp(64px,8vw,128px); }
.gc-cards--size-s.gc-cards--people .gc-card:nth-child(even){ margin-top: clamp(16px,3vw,40px); }
.gc-cards--size-l .gc-card__title{ font-size: clamp(21px,2vw,26px); }
.gc-cards--size-l .gc-card__copy{ font-size: clamp(18px,1.6vw,22px); }


/* ---------- 募集職種：簡略表示（職種名＋詳しく見る のみ） ---------- */
.job-list--compact .job-row{ grid-template-columns: 1fr auto; gap:16px; padding:18px 0; }
.job-list--compact .job-row__title{ font-size:17px; display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; }
.job-list--compact .job-row__type{ display:inline; margin:0; }
.job-list--compact .text-link{ font-size:13.5px; }
