/* =========================================================
   C案 — 雑誌のような余白と、大きな英字見出し
   オフホワイトの地／白とベージュの面／黒のセクション／アクセントはティール1色
   ・質感（紙）なし、影・枠線・グラデーションなし（DESIGN_RULES 12）
   ・見出しは英字 Jost（幾何学的なサンセリフ）＋和文 Noto Sans JP 900
   ・下層ページは A案の部品をこのファイルで着せ替える（.theme-c）
   ========================================================= */
.theme-c {
  --kraft: #F3F1EC;      /* 地（オフホワイト） */
  --kraft-2: #E6E0D3;    /* 写真の下地 */
  --paper: #FFFFFF;      /* 面（白） */
  --paper-2: #F3F1EC;
  --beige: #E7E1D5;      /* ベージュの面 */
  --soy: #E8D3A6;        /* 大豆色（MVの帯だけ） */
  --ink: #151515;
  --ink-2: #2A2A2A;
  --ink-3: #6A6A6A;
  --teal: #0E6976;
  --teal-ink: #0E6976;
  --teal-light: #8ED0D7;
  --teal-tint: #EFEBE3;
  --line: #E2DED5;
  --tex-kraft: none;
  --f-en: "Jost", "Noto Sans JP", sans-serif;
  --f-head: "Noto Sans JP", "Hiragino Sans", sans-serif;
  --c-r: 22px;
  --c-wrap: 1330px;
  --c-head: 112px;
  --hd-h: 80px;
  background: var(--kraft);
  color: var(--ink-2);
}
@media (max-width: 1024px) { .theme-c { --c-head: 84px; --hd-h: 64px; } }
@media (max-width: 640px) { .theme-c { --c-head: 52px; --c-r: 16px; } }

.c-wrap { width: min(var(--c-wrap), calc(100% - 110px)); margin: 0 auto; }
@media (max-width: 1024px) { .c-wrap { width: calc(100% - 56px); } }
@media (max-width: 640px) { .c-wrap { width: calc(100% - 32px); } }

/* ---------- ヘッダー（白い帯） ---------- */
.c-hd {
  position: fixed; top: 0; left: 0; right: 0; z-index: 60; height: var(--hd-h);
  display: flex; align-items: center; gap: 40px; padding: 0 55px; background: var(--paper);
}
.c-hd__logo { flex: none; width: 150px; }
.c-hd__nav { flex: 1; display: flex; justify-content: center; gap: 34px; }
.c-hd__nav a { font-family: var(--f-en); font-weight: 600; font-size: 15px; color: var(--ink); letter-spacing: .04em; }
.c-hd__nav a:hover, .c-hd__nav a[aria-current] { color: var(--teal); }
.c-hd__cta { display: flex; gap: 10px; }
.c-hd__contact, .c-hd__menu { display: none; }
/* top のときだけ、MV の上でヘッダーを透明にしない（雑誌のように常に白） */

/* ピル型ボタン（黒の塗り＋矢印。線は機能ボタンの枠として使う） */
.c-pill {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  padding: 9px 20px; border-radius: 999px; background: var(--ink); color: var(--paper);
  font-family: var(--f-en); font-weight: 700; font-size: 14px; letter-spacing: .06em; line-height: 1.3;
  transition: background .2s, color .2s;
}
.c-pill small { font-family: var(--f-ui); font-weight: 700; font-size: 11px; letter-spacing: .04em; }
.c-pill svg { width: 14px; height: 14px; flex: none; }
.c-pill:hover { background: var(--teal); }
.c-pill--line { background: transparent; color: var(--ink); box-shadow: inset 0 0 0 1.5px var(--ink); }
.c-pill--line:hover { background: var(--ink); color: var(--paper); }
.c-pill--white { background: var(--paper); color: var(--ink); }
.c-pill--white:hover { background: var(--teal-light); }
.c-pill--lg { min-width: 300px; padding: 17px 34px; font-family: var(--f-ui); font-size: 15px; letter-spacing: .1em; }
.c-btns { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.c-more { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; margin-top: 64px; }

@media (max-width: 1200px) { .c-hd__nav { gap: 20px; } .c-hd__nav a { font-size: 14px; } .c-hd { gap: 24px; padding: 0 28px; } }
@media (max-width: 1024px) {
  .c-hd { padding: 0 16px 0 24px; justify-content: space-between; }
  .c-hd__logo { width: 120px; }
  .c-hd__nav, .c-hd__cta { display: none; }
  .c-hd__contact { display: inline-flex; align-items: center; margin-left: auto; padding: 8px 16px; border-radius: 999px; background: var(--ink); color: var(--paper); font-family: var(--f-ui); font-weight: 700; font-size: 13px; letter-spacing: .06em; line-height: 1.4; }
  .c-hd__menu { display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; width: 50px; height: 44px; border: 0; border-radius: 10px; background: var(--ink); color: var(--paper); font-family: var(--f-en); font-weight: 700; font-size: 11px; letter-spacing: .08em; }
  .c-hd__menu i { display: block; width: 20px; height: 2px; background: var(--paper); }
  .c-pill--lg { min-width: 0; width: 100%; }
}

/* ---------- 見出し（大きな英字＋小さな和文） ---------- */
.c-head { text-align: center; margin-bottom: 64px; }
.c-head__en { font-family: var(--f-en); font-weight: 700; font-size: var(--c-head); line-height: 1; letter-spacing: .01em; color: var(--ink); text-transform: uppercase; }
.c-head__ja { margin-top: 14px; font-family: var(--f-ui); font-weight: 700; font-size: 14px; color: var(--ink); letter-spacing: .2em; }
.c-lead { max-width: 760px; margin: -24px auto 56px; text-align: center; font-weight: 700; font-size: var(--fs-lead); line-height: 2; color: var(--ink); }
@media (max-width: 640px) { .c-head { margin-bottom: 40px; } .c-lead { text-align: left; margin-top: -12px; } }

/* 小さなメタ情報（日付・カテゴリの点はティール1色） */
.c-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 8px; font-family: var(--f-en); font-weight: 600; font-size: 13px; color: var(--ink-3); letter-spacing: .04em; line-height: 1.5; }
.c-meta i { width: 7px; height: 7px; border-radius: 50%; background: var(--teal); flex: none; }
.c-note { margin-top: 18px; }
.c-sec--black .c-note { color: rgba(255,255,255,.7); }

/* ---------- セクション（背景の切り替え＋中央の小さな「つまみ」） ---------- */
.c-sec { position: relative; padding: 130px 0 140px; }
.c-sec--base { background: var(--kraft); }
.c-sec--white { background: var(--paper); }
.c-sec--black { background: var(--ink); color: var(--paper); }
.c-sec--black .c-head__en, .c-sec--black .c-head__ja { color: var(--paper); }
/* 上のセクションの色が、次のセクションへ少しだけ垂れる区切り。文字のない中央上端だけ */
.c-sec + .c-sec::before, .c-mv + .c-sec::before {
  content: ""; position: absolute; left: 50%; top: -1px; width: 56px; height: 24px; margin-left: -28px;
  background: var(--prev, var(--kraft));
  clip-path: polygon(0 0, 100% 0, 58% 82%, 50% 100%, 42% 82%);
}
.c-sec--white + .c-sec { --prev: var(--paper); }
.c-sec--base + .c-sec { --prev: var(--kraft); }
.c-sec--black + .c-sec { --prev: var(--ink); }
.c-mv + .c-sec { --prev: var(--soy); }
@media (max-width: 640px) { .c-sec { padding: 84px 0 96px; } }

/* ---------- MV ---------- */
.c-mv { position: relative; padding: calc(var(--hd-h) + 40px) 0 90px; background: linear-gradient(var(--kraft) 0 62%, var(--soy) 62% 100%); }
.c-mv__card { position: relative; width: min(1390px, calc(100% - 100px)); margin: 0 auto; aspect-ratio: 16 / 9; max-height: calc(100vh - 150px); border-radius: var(--c-r); overflow: hidden; background: #0d0f14; }
.c-mv__card video, .c-mv__card .c-mv__poster { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.c-mv__cap { position: absolute; left: 44px; bottom: 44px; z-index: 2; display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.c-mv__kicker { padding: 6px 14px; border-radius: 999px; background: var(--paper); font-family: var(--f-ui); font-weight: 700; font-size: 13px; color: var(--ink); letter-spacing: .1em; line-height: 1.5; }
.c-mv__copy { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; font-family: var(--f-head); font-weight: 900; font-size: clamp(32px, 3.6vw, 58px); line-height: 1.25; letter-spacing: .06em; }
.c-mv__copy span { padding: .12em .4em .16em; background: var(--ink); color: var(--paper); border-radius: 8px; }
.c-sound { position: absolute; right: 24px; top: 24px; z-index: 2; display: inline-flex; align-items: center; gap: 8px; padding: 8px 16px; border: 0; border-radius: 999px; background: var(--paper); color: var(--ink); font-family: var(--f-ui); font-weight: 700; font-size: 13px; letter-spacing: .08em; cursor: pointer; }
.c-sound svg { width: 18px; height: 18px; }
.c-sound:hover { background: var(--teal-light); }
/* 回るリング（ブランドのモチーフ1点。文字と重ならない右下の外側） */
.c-ring { position: absolute; right: max(6px, calc(50% - 760px)); bottom: -96px; z-index: 5; width: 210px; height: 210px; }
.c-ring__text { position: absolute; inset: 0; width: 100%; height: 100%; animation: c-spin 28s linear infinite; }
.c-ring__text text { font-family: var(--f-en); font-weight: 700; font-size: 15.5px; letter-spacing: .14em; fill: var(--ink); }
.c-ring img { position: absolute; left: 50%; top: 50%; width: 46%; transform: translate(-50%, -52%); }
@keyframes c-spin { to { transform: rotate(360deg); } }
@media (max-width: 1024px) {
  .c-mv { padding: calc(var(--hd-h) + 20px) 0 70px; }
  .c-mv__card { width: calc(100% - 40px); max-height: none; }
  .c-mv__cap { left: 24px; bottom: 24px; }
  .c-ring { width: 150px; height: 150px; right: 6px; bottom: -6px; }
}
@media (max-width: 640px) {
  .c-mv { padding: calc(var(--hd-h) + 12px) 0 40px; background: linear-gradient(var(--kraft) 0 40%, var(--soy) 40% 100%); }
  .c-mv__card { width: calc(100% - 24px); }
  .c-mv__cap { position: static; margin: 14px 12px 0; }
  .c-mv__copy { font-size: 30px; }
  .c-mv__kicker { font-size: 11px; }
  .c-sound { right: 10px; top: 10px; padding: 6px 12px; font-size: 12px; }
  .c-ring { display: none; }
}
/* スマホ：コピーは動画の下（動画カードの外）に出す */
@media (max-width: 640px) {
  .c-mv__card { overflow: visible; aspect-ratio: auto; background: none; }
  .c-mv__card video, .c-mv__card .c-mv__poster { position: relative; display: block; aspect-ratio: 16 / 9; height: auto; border-radius: var(--c-r); }
  .c-mv__card .c-mv__poster { display: none; }
}

/* ---------- WHAT'S NEW ---------- */
.c-new-grid { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 56px; align-items: start; }
.c-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 40px; }
.c-list a { display: grid; grid-template-columns: 122px minmax(0, 1fr); gap: 20px; align-items: center; }
.c-thumb { display: block; aspect-ratio: 1; overflow: hidden; border-radius: 8px; background: var(--kraft-2); }
.c-thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
a:hover .c-thumb img, a:hover .c-big__ph img, a:hover .c-person__ph img { transform: scale(1.05); }
.c-list b, .c-wlist b, .c-svc b { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; font-family: var(--f-head); font-weight: 900; font-size: 15px; line-height: 1.65; color: var(--ink); letter-spacing: .04em; }
.c-feature { position: relative; display: block; padding: 40px 34px 34px; background: var(--paper); border-radius: 4px; text-align: center; }
.c-feature__ph { display: block; aspect-ratio: 4 / 5; overflow: hidden; border-radius: 4px; }
.c-feature__ph img { width: 100%; height: 100%; object-fit: cover; }
.c-feature__no { display: block; margin-top: 22px; font-family: var(--f-en); font-weight: 700; font-size: 13px; color: var(--ink); letter-spacing: .12em; }
.c-feature b { display: block; margin-top: 8px; font-family: var(--f-head); font-weight: 900; font-size: 20px; line-height: 1.5; color: var(--ink); }
.c-feature__tx { display: block; margin-top: 8px; font-size: 13px; line-height: 1.8; }
/* ギザギザの「NEW!」バッジ（黒） */
.c-new {
  position: absolute; right: -26px; top: -30px; z-index: 2; display: grid; place-items: center; width: 92px; height: 92px;
  background: var(--ink); color: var(--paper); font-family: var(--f-en); font-weight: 700; font-size: 15px; line-height: 1.1; letter-spacing: .04em; text-align: center;
  clip-path: polygon(50% 0, 57% 9%, 68% 3%, 71% 14%, 83% 12%, 82% 24%, 94% 26%, 89% 37%, 99% 43%, 91% 51%, 99% 58%, 89% 64%, 94% 75%, 82% 77%, 83% 89%, 71% 87%, 68% 98%, 57% 92%, 50% 100%, 43% 92%, 32% 98%, 29% 87%, 17% 89%, 18% 77%, 6% 75%, 11% 64%, 1% 58%, 9% 51%, 1% 43%, 11% 37%, 6% 26%, 18% 24%, 17% 12%, 29% 14%, 32% 3%, 43% 9%);
}
@media (max-width: 1024px) { .c-new-grid { grid-template-columns: minmax(0, 1fr); } .c-feature { max-width: 420px; margin: 0 auto; } }
@media (max-width: 640px) {
  .c-list { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .c-list a { grid-template-columns: 96px minmax(0, 1fr); gap: 14px; }
  .c-new { right: -6px; top: -24px; width: 76px; height: 76px; font-size: 13px; }
}

/* ---------- 大きな1枚＋右のリスト（SERVICE / WORKS / MOVIE） ---------- */
.c-split { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 60px; align-items: start; }
.c-big { display: block; }
.c-big__ph { position: relative; display: block; aspect-ratio: 16 / 10; overflow: hidden; border-radius: 10px; background: #111; }
.c-big__ph img, .c-big__ph video { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.c-big > b { display: block; margin-top: 18px; font-family: var(--f-head); font-weight: 900; font-size: var(--fs-h4); line-height: 1.55; color: var(--ink); letter-spacing: .04em; }
.c-label { position: absolute; left: 28px; top: 28px; padding: 8px 18px; background: var(--ink); color: var(--paper); font-family: var(--f-en); font-weight: 700; font-size: 16px; letter-spacing: .2em; }
.c-svc { display: grid; gap: 14px; }
.c-svc a { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 20px; align-items: center; }
.c-svc__il { display: grid; place-items: center; aspect-ratio: 1; border-radius: 8px; background: var(--kraft); }
.c-svc__il img { width: 72%; height: 72%; object-fit: contain; transition: transform .3s; }
.c-svc a:hover .c-svc__il img { transform: translateY(-4px); }
.c-svc a:hover b, .c-list a:hover b, .c-wlist a:hover b, .c-big:hover > b { color: var(--teal); }
.c-wlist { display: grid; gap: 22px; }
.c-wlist a, .c-wlist--movie > li { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 24px; align-items: center; }
.c-thumb--sq { aspect-ratio: 1; }
.c-thumb--wide { position: relative; aspect-ratio: 16 / 10; }
.c-thumb--wide video { width: 100%; height: 100%; object-fit: cover; }
.c-play { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); display: grid; place-items: center; width: 84px; height: 84px; border: 0; border-radius: 50%; background: rgba(255,255,255,.92); color: var(--ink); cursor: pointer; }
.c-play svg { width: 30px; height: 30px; margin-left: 5px; }
.c-play--sm { width: 52px; height: 52px; }
.c-play--sm svg { width: 20px; height: 20px; margin-left: 3px; }
.c-sec--black .c-big > b, .c-sec--black .c-wlist b { color: var(--paper); }
.c-sec--black .c-meta { color: rgba(255,255,255,.72); }
.c-sec--black .c-meta i { background: var(--teal-light); }
.c-sec--black .c-big:hover > b, .c-sec--black .c-wlist a:hover b { color: var(--teal-light); }
@media (max-width: 1024px) {
  .c-split { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  .c-wlist a, .c-wlist--movie > li { grid-template-columns: 160px minmax(0, 1fr); }
}
@media (max-width: 640px) {
  .c-svc a { grid-template-columns: 84px minmax(0, 1fr); gap: 14px; }
  .c-wlist a, .c-wlist--movie > li { grid-template-columns: 120px minmax(0, 1fr); gap: 14px; }
  .c-label { left: 14px; top: 14px; font-size: 13px; padding: 6px 12px; }
  .c-play { width: 64px; height: 64px; }
}

/* ---------- 横スクロールのトラック（番組・社員） ---------- */
.c-rowhead { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 22px; }
.c-rowhead p { font-weight: 700; color: var(--ink); }
.c-rowhead h3 { font-family: var(--f-en); font-weight: 700; font-size: 24px; letter-spacing: .04em; }
.c-rowhead h3 small { margin-left: 12px; font-family: var(--f-ui); font-size: 13px; letter-spacing: .14em; }
.c-arrows { display: flex; gap: 10px; flex: none; }
.c-arrows button { display: grid; place-items: center; width: 46px; height: 46px; border: 0; border-radius: 50%; background: var(--ink); color: var(--paper); cursor: pointer; }
.c-arrows button:first-child svg { transform: rotate(180deg); }
.c-arrows button:hover { background: var(--teal); }
.c-arrows svg { width: 14px; height: 14px; }
.c-track { display: flex; gap: 20px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; padding-bottom: 6px; scrollbar-width: none; }
.c-track::-webkit-scrollbar { display: none; }
.c-track > * { flex: 0 0 calc((100% - 60px) / 4); scroll-snap-align: start; }
.c-prog { display: flex; flex-direction: column; justify-content: space-between; min-height: 230px; padding: 26px 26px 24px; background: var(--paper); border-radius: 10px; }
.c-prog__st { align-self: flex-start; padding: 4px 14px; border-radius: 999px; background: var(--ink); color: var(--paper); font-family: var(--f-ui); font-weight: 700; font-size: 13px; letter-spacing: .1em; line-height: 1.6; }
.c-prog b { margin-top: 24px; font-family: var(--f-head); font-weight: 900; font-size: 22px; line-height: 1.5; color: var(--ink); letter-spacing: .04em; }
@media (max-width: 1024px) { .c-track > * { flex-basis: calc((100% - 20px) / 2.3); } }
@media (max-width: 640px) { .c-track > * { flex-basis: 78%; } .c-rowhead p { font-size: 14px; } }

/* ---------- RECRUIT（ベージュの角丸パネル） ---------- */
.c-panel { position: relative; padding: 90px 70px 80px; background: var(--beige); border-radius: 30px; }
.c-panel--beige { background: var(--beige); }
.c-rc { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 56px; align-items: center; margin-bottom: 80px; }
.c-rc__copy { font-family: var(--f-head); font-weight: 900; font-size: var(--fs-catch); line-height: 1.4; color: var(--ink); letter-spacing: .06em; }
.c-rc__tx { margin-top: 22px; font-weight: 700; line-height: 2; color: var(--ink-2); }
.c-nums { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.c-nums li { padding: 22px 24px; background: var(--paper); border-radius: 14px; }
.c-nums li > span { font-weight: 700; font-size: 13px; color: var(--ink-3); letter-spacing: .1em; }
.c-nums b { display: flex; align-items: baseline; gap: 4px; margin-top: 6px; font-family: var(--f-en); font-weight: 700; font-size: var(--fs-num); line-height: 1; color: var(--teal); letter-spacing: .01em; }
.c-nums b small { font-family: var(--f-head); font-weight: 900; font-size: 16px; color: var(--ink); }
.c-nums li:nth-child(n+3) b { font-family: var(--f-head); font-weight: 900; font-size: 34px; }
.c-person { display: block; }
.c-person__ph { display: block; aspect-ratio: 4 / 5; overflow: hidden; border-radius: 10px; background: var(--paper); }
/* 現行サイトの社員写真は四隅に飾りの線が入っているので、少し拡大して切り落とす */
.c-person__ph img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 18%; transform: scale(1.14); transition: transform .5s; }
a:hover .c-person__ph img { transform: scale(1.2); }
.c-person b { display: block; margin-top: 14px; font-family: var(--f-head); font-weight: 900; font-size: 15px; line-height: 1.65; color: var(--ink); }
.c-person:hover b { color: var(--teal); }
@media (max-width: 1024px) { .c-rc { grid-template-columns: minmax(0, 1fr); } .c-panel { padding: 64px 32px 56px; } }
@media (max-width: 640px) { .c-panel { padding: 48px 18px 44px; border-radius: 22px; } .c-nums b { font-size: 40px; } .c-nums li:nth-child(n+3) b { font-size: 24px; } }

/* ---------- SCENE（大きな1枚＋アルバム） ---------- */
.c-album { display: grid; grid-template-columns: 340px minmax(0, 1fr); gap: 56px; align-items: start; padding: 70px 64px; }
.c-album__main { position: relative; display: block; text-align: center; }
.c-album__main .c-new { right: -18px; top: -26px; font-size: 12px; }
.c-album__ph { display: block; aspect-ratio: 4 / 5; overflow: hidden; border-radius: 6px; }
.c-album__ph img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 10%; transform: scale(1.12); }
.c-big__ph img.zoom { transform: scale(1.36); }
.c-album__main b { display: block; margin-top: 18px; font-family: var(--f-head); font-weight: 900; font-size: 20px; line-height: 1.5; color: var(--ink); }
.c-album__main .c-meta { justify-content: center; }
.c-album__grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; }
.c-album__grid li { aspect-ratio: 3 / 4; overflow: hidden; border-radius: 6px; }
.c-album__grid img { width: 100%; height: 100%; object-fit: cover; }
.c-album__more { grid-column: 2; justify-content: flex-start; margin-top: 0; }
@media (max-width: 1024px) { .c-album { grid-template-columns: minmax(0, 1fr); padding: 56px 28px; } .c-album__main { max-width: 320px; margin: 0 auto; } .c-album__more { grid-column: 1; justify-content: center; } .c-album__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 640px) { .c-album__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; } }

/* ---------- ABOUT（入口のバナー：白い面） ---------- */
.c-banners { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.c-banner { display: grid; grid-template-columns: 44% minmax(0, 1fr); align-items: center; gap: 22px; padding: 20px 24px 20px 20px; background: var(--paper); border-radius: 12px; }
.c-banner__ph { display: grid; place-items: center; aspect-ratio: 1; border-radius: 8px; background: var(--beige); }
.c-banner__ph img { width: 70%; height: 70%; object-fit: contain; }
.c-banner small { display: block; font-family: var(--f-en); font-weight: 700; font-size: 12px; color: var(--teal); letter-spacing: .14em; }
.c-banner b { display: block; margin-top: 4px; font-family: var(--f-head); font-weight: 900; font-size: 19px; color: var(--ink); line-height: 1.5; }
.c-banner span span { display: block; margin-top: 4px; font-size: 13px; line-height: 1.7; }
.c-banner:hover b { color: var(--teal); }
.c-sec--last { padding-bottom: 160px; }
@media (max-width: 1024px) { .c-banners { grid-template-columns: minmax(0, 1fr); } .c-banner { grid-template-columns: 140px minmax(0, 1fr); } }

/* ---------- フッター（黒） ---------- */
.c-ft { position: relative; overflow: hidden; background: var(--ink); color: rgba(255,255,255,.86); padding: 90px 0 0; }
.c-ft__top { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 40px; }
.c-ft__lead { font-weight: 700; font-size: 14px; color: var(--paper); }
.c-ft__tel { display: inline-flex; align-items: center; gap: 14px; margin-top: 16px; padding: 12px 12px 12px 26px; border-radius: 999px; background: #262626; font-family: var(--f-en); font-weight: 700; font-size: 30px; color: var(--paper); letter-spacing: .04em; }
.c-ft__tel > svg { width: 24px; height: 24px; color: var(--teal-light); }
.c-ft__telbtn { display: inline-flex; align-items: center; gap: 8px; margin-left: 16px; padding: 8px 16px; border-radius: 999px; background: var(--paper); color: var(--ink); font-size: 13px; letter-spacing: .1em; }
.c-ft__telbtn svg { width: 12px; height: 12px; }
.c-ft__note { margin-top: 10px; font-size: 12px; }
.c-ft__sns p { font-family: var(--f-en); font-weight: 700; font-size: 14px; color: var(--paper); letter-spacing: .08em; text-align: center; }
.c-ft__sns div { display: flex; gap: 10px; margin-top: 12px; }
.c-ft__sns a { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--paper); color: var(--ink); }
.c-ft__sns svg { width: 20px; height: 20px; }
.c-ft__sns a:hover { background: var(--teal-light); }
.c-ft__mid { display: grid; grid-template-columns: 1fr 1fr 340px; gap: 48px; margin-top: 80px; }
.c-ft__col h3 { margin-bottom: 14px; font-family: var(--f-en); font-weight: 700; font-size: 15px; color: var(--paper); letter-spacing: .1em; }
.c-ft__col a { display: block; padding: 5px 0; font-weight: 700; font-size: 14px; color: rgba(255,255,255,.86); letter-spacing: .06em; }
.c-ft__col a:hover { color: var(--teal-light); }
.c-ft__card { position: relative; padding: 30px 28px; background: #262626; border-radius: 4px; text-align: center; }
.c-ft__card .c-new { right: -14px; top: -20px; width: 82px; height: 82px; background: var(--paper); color: var(--ink); font-size: 12px; }
.c-ft__card img { width: 110px; margin: 0 auto; }
.c-ft__card p { margin-top: 12px; font-size: 14px; line-height: 1.8; color: var(--paper); }
.c-ft__card .c-pill { margin-top: 18px; }
.c-ft__bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 16px; margin-top: 80px; font-size: 12px; line-height: 1.9; color: rgba(255,255,255,.7); }
.c-ft__bottom a { color: var(--paper); }
.c-ft__logo { display: block; width: min(1330px, calc(100% - 110px)); margin: 60px auto -2%; opacity: .07; pointer-events: none; }
@media (max-width: 1024px) { .c-ft__mid { grid-template-columns: 1fr 1fr; } .c-ft__card { grid-column: 1 / -1; max-width: 420px; } }
@media (max-width: 640px) {
  .c-ft { padding-top: 64px; }
  .c-ft__tel { font-size: 22px; padding-left: 18px; }
  .c-ft__telbtn { display: none; }
  .c-ft__mid { grid-template-columns: minmax(0, 1fr); gap: 32px; margin-top: 56px; }
  .c-ft__logo { width: calc(100% - 32px); margin-bottom: 70px; }
}

/* ---------- だいずくん（黒いカードの吹き出し） ---------- */
.theme-c .bubble { background: var(--ink); color: var(--paper); border-radius: 12px; }
.theme-c .bubble::after { background: var(--ink); }
.theme-c .buddy__close { background: var(--paper); color: var(--ink); box-shadow: inset 0 0 0 1.5px var(--ink); }

/* ---------- スマホの固定CTA ---------- */
.theme-c .spcta { background: var(--paper); }
.theme-c .spcta a.is-main { background: var(--ink); }
.theme-c .spcta svg { color: var(--ink); }
.theme-c .spcta a.is-main svg { color: var(--paper); }

/* =========================================================
   下層ページ：A案の部品を C案の見た目に着せ替える
   ========================================================= */
.theme-c .panel, .theme-c .house, .theme-c .ttlbox, .theme-c .works__guide, .theme-c .svc, .theme-c .phase, .theme-c .price,
.theme-c .statement2, .theme-c .num, .theme-c .pcard, .theme-c .way4, .theme-c .station, .theme-c .career__step, .theme-c .career__side div {
  clip-path: none; border-radius: var(--c-r);
}
.theme-c .panel, .theme-c .svc, .theme-c .phase, .theme-c .works__guide { background: var(--paper); }
.theme-c .cut-a, .theme-c .cut-b, .theme-c .cut-c { clip-path: none; border-radius: 12px; }
.theme-c .wcard__tx { clip-path: none; border-radius: 0 0 12px 12px; }
.theme-c .rchero { background: var(--ink); }
/* ページ見出し：大きな英字を中央に */
.theme-c .pghero { padding-top: calc(var(--hd-h) + 90px); }
.theme-c .pghero__en { font-family: var(--f-en); font-weight: 700; font-size: var(--c-head); letter-spacing: .01em; }
.theme-c .pghero__catch { font-weight: 900; }
.theme-c .bc a:hover { color: var(--teal); }
.theme-c .sh__brand { letter-spacing: .3em; }
.theme-c .sh__big, .theme-c .h-sec small, .theme-c .career__en, .theme-c .house__en { font-family: var(--f-en); font-weight: 700; }
/* ボタン：黒いピル＋白い丸矢印 */
.theme-c .btn { border-radius: 999px; background: var(--ink); color: var(--paper); }
.theme-c .btn:hover { background: var(--teal); }
.theme-c .btn .carr { border-color: var(--paper); color: var(--paper); }
.theme-c a.btn:hover .carr { background: var(--paper); color: var(--teal); }
.theme-c .btn--light { background: var(--paper); color: var(--ink); }
.theme-c .btn--light .carr { border-color: var(--ink); color: var(--ink); }
.theme-c .guide__st, .theme-c .ribbon, .theme-c .tag { background: var(--ink); }
.theme-c .tag--o { background: var(--paper); color: var(--teal); border-color: var(--teal); }
.theme-c .ft { display: none; }
.theme-c .about__poem em { background: var(--ink); }

/* =========================================================
   C案 下層ページ専用の部品（一覧・記事・雑誌ページの作り）
   ========================================================= */
/* ページ見出し：パンくず＋中央の大きな英字＋和文＋リード */
.c-pagehead { padding: calc(var(--hd-h) + 56px) 0 70px; text-align: center; }
.c-bc { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 64px; font-family: var(--f-en); font-weight: 600; font-size: 12px; color: var(--ink-3); letter-spacing: .08em; }
.c-bc a { color: var(--ink); }
.c-bc a:hover { color: var(--teal); }
.c-pagehead .c-head { margin-bottom: 0; }
.c-pagehead__lead { max-width: 720px; margin: 36px auto 0; font-weight: 700; line-height: 2; color: var(--ink); }
.c-count { margin-bottom: 20px; font-family: var(--f-en); font-weight: 600; font-size: 13px; color: var(--ink-3); letter-spacing: .1em; }
@media (max-width: 640px) { .c-pagehead { padding: calc(var(--hd-h) + 28px) 0 44px; } .c-bc { margin-bottom: 36px; } .c-pagehead__lead { text-align: left; } }

/* 大きな写真（記事の扉） */
.c-hero { overflow: hidden; border-radius: var(--c-r); aspect-ratio: 21 / 9; background: var(--kraft-2); }
.c-hero img { width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 640px) { .c-hero { aspect-ratio: 4 / 3; } }

/* ページ内リンク（ピルの列） */
.c-jump { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 40px; }
.c-jump a { display: inline-flex; align-items: center; gap: 8px; padding: 9px 18px; border-radius: 999px; background: var(--paper); font-weight: 700; font-size: 14px; color: var(--ink); letter-spacing: .06em; }
.c-jump a svg { width: 12px; height: 12px; transform: rotate(90deg); }
.c-jump a:hover { background: var(--ink); color: var(--paper); }
.c-sec--white .c-jump a { background: var(--kraft); }

/* 記事の本文（細い段組み） */
.c-article { max-width: 760px; margin: 0 auto; }
.c-article__title { font-family: var(--f-head); font-weight: 900; font-size: var(--fs-h2); line-height: 1.5; color: var(--ink); letter-spacing: .06em; }
.c-article p { line-height: 2.1; }
.c-article p + p { margin-top: 1.3em; }
.c-article h2 { margin: 56px 0 18px; font-size: var(--fs-h4); line-height: 1.6; letter-spacing: .08em; }
.c-article__intro { margin-top: 28px; padding-bottom: 36px; font-weight: 700; color: var(--ink); }
.c-sign { margin-top: 28px; font-weight: 700; color: var(--ink); text-align: right; }

/* 記事カードの一覧（4列・3列） */
.c-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 44px 24px; }
.c-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.c-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.c-card { display: block; }
.c-card__ph { position: relative; display: block; aspect-ratio: 1; overflow: hidden; border-radius: 10px; background: var(--kraft-2); }
.c-card__ph--wide { aspect-ratio: 16 / 10; }
.c-card__ph--person { aspect-ratio: 4 / 5; background: var(--paper); }
.c-card__ph img, .c-card__ph video { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.c-card__ph--person img { object-position: 50% 18%; transform: scale(1.14); }
.c-card:hover .c-card__ph img { transform: scale(1.05); }
.c-card:hover .c-card__ph--person img { transform: scale(1.2); }
.c-card > b, .c-card__tx > b { display: block; margin-top: 14px; font-family: var(--f-head); font-weight: 900; font-size: 15px; line-height: 1.65; color: var(--ink); letter-spacing: .04em; }
a.c-card:hover > b { color: var(--teal); }
.c-card__ill { display: grid; place-items: center; }
.c-card__ill img { width: 66%; height: 66%; object-fit: contain; }
.c-card p { margin-top: 8px; font-size: 14px; line-height: 1.85; }
@media (max-width: 1024px) { .c-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } .c-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .c-grid, .c-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 12px; } .c-grid--2, .c-grid--1sp { grid-template-columns: minmax(0, 1fr); } .c-card > b, .c-card__tx > b { font-size: 14px; } }

/* 絞り込み（ピル。選択中は黒） */
.theme-c .filterbox { margin: 0 0 36px; justify-items: center; }
.theme-c .filterrow { justify-content: center; }
.theme-c .filterrow__label { width: auto; font-family: var(--f-en); font-size: 13px; letter-spacing: .14em; }
.theme-c .fbtn { border: 0; background: var(--paper); box-shadow: inset 0 0 0 1.5px var(--line); font-size: 13px; padding: 7px 18px; }
.theme-c .c-sec--white .fbtn { background: var(--kraft); box-shadow: none; }
.theme-c .fbtn:hover { box-shadow: inset 0 0 0 1.5px var(--ink); }
.theme-c .fbtn.is-on { background: var(--ink); color: var(--paper); box-shadow: none; }
.theme-c .fcount { justify-self: end; font-family: var(--f-en); }
@media (max-width: 640px) { .theme-c .filterrow { align-items: flex-start; } .theme-c .filterbox { justify-items: stretch; } }

/* 雑誌のページ：左にベージュの箱（写真）、右に説明 */
.c-mag { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 64px; align-items: center; }
.c-mag__box { display: grid; place-items: center; padding: 56px; background: var(--beige); border-radius: 4px; }
.c-mag__box img { width: 100%; max-width: 360px; border-radius: 4px; }
.c-mag__box--wide img { max-width: none; aspect-ratio: 4 / 3; object-fit: cover; }
.c-mag__tx h2 { font-family: var(--f-head); font-weight: 900; font-size: var(--fs-h3); line-height: 1.55; color: var(--ink); letter-spacing: .06em; }
.c-mag__tx .c-kick { display: block; margin-bottom: 14px; font-family: var(--f-en); font-weight: 700; font-size: 13px; color: var(--teal); letter-spacing: .16em; }
.c-mag__tx p { margin-top: 20px; line-height: 2.05; }
.c-mag__tx p + p { margin-top: 1em; }
@media (max-width: 1024px) { .c-mag { grid-template-columns: minmax(0, 1fr); gap: 36px; } }
@media (max-width: 640px) { .c-mag__box { padding: 28px; } }

/* 行の表（会社概要・募集要項）：区切り線は機能の線として残す */
.c-table { display: grid; grid-template-columns: 220px minmax(0, 1fr); }
.c-table dt, .c-table dd { margin: 0; padding: 22px 0; border-bottom: 1px solid var(--line); }
.c-table dt { font-weight: 700; color: var(--ink); letter-spacing: .1em; }
.c-table dd { line-height: 1.95; }
.c-table dd b { color: var(--ink); }
.c-table dd ul li { padding-left: 1em; text-indent: -1em; }
.c-table dd ul li::before { content: "・"; color: var(--teal); }
@media (max-width: 640px) { .c-table { grid-template-columns: minmax(0, 1fr); } .c-table dt { padding: 18px 0 0; border: 0; } .c-table dd { padding: 6px 0 18px; } }

/* 白い角丸の面（ベージュ・オフホワイトの地の上） */
.c-box { padding: 64px 70px; background: var(--paper); border-radius: var(--c-r); }
.c-sec--white .c-box { background: var(--kraft); }
@media (max-width: 1024px) { .c-box { padding: 48px 32px; } }
@media (max-width: 640px) { .c-box { padding: 36px 18px; } }

/* 小見出し（左に英字のキッカー） */
.c-subhead { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 12px 24px; margin-bottom: 36px; }
.c-subhead h2, .c-subhead h3 { font-family: var(--f-head); font-weight: 900; font-size: var(--fs-h3); line-height: 1.4; color: var(--ink); letter-spacing: .08em; }
.c-subhead small { display: block; margin-bottom: 8px; font-family: var(--f-en); font-weight: 700; font-size: 14px; color: var(--teal); letter-spacing: .18em; }
.c-sec--black .c-subhead h2, .c-sec--black .c-subhead h3 { color: var(--paper); }
.c-sec--black .c-subhead small { color: var(--teal-light); }

/* 12の工程 */
.c-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; counter-reset: st; }
.c-step { position: relative; padding: 26px 24px 28px; background: var(--paper); border-radius: 14px; }
.c-sec--white .c-step { background: var(--kraft); }
.c-step__n { font-family: var(--f-en); font-weight: 700; font-size: 44px; line-height: 1; color: var(--ink); }
.c-step__ph { display: inline-block; margin-left: 10px; vertical-align: 8px; font-weight: 700; font-size: 12px; color: var(--teal); letter-spacing: .1em; }
.c-step h3 { margin-top: 16px; font-size: 18px; letter-spacing: .06em; }
.c-step p { margin-top: 6px; font-size: 13px; line-height: 1.8; }
.c-step .c-tag { margin-top: 12px; }
@media (max-width: 1024px) { .c-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .c-steps { grid-template-columns: minmax(0, 1fr); } }
.c-tag { display: inline-block; padding: 3px 12px; border-radius: 999px; background: var(--ink); color: var(--paper); font-weight: 700; font-size: 12px; letter-spacing: .06em; line-height: 1.7; }
.c-tag--teal { background: var(--teal); }

/* 料金の帯（黒） */
.c-price { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 48px; align-items: center; padding: 60px 70px; background: var(--ink); color: rgba(255,255,255,.88); border-radius: var(--c-r); }
.c-price__label { font-family: var(--f-en); font-weight: 700; font-size: 14px; color: var(--teal-light); letter-spacing: .2em; }
.c-price__val { margin-top: 10px; font-weight: 900; font-size: var(--fs-h4); color: var(--paper); line-height: 1.5; }
.c-price__val b { font-family: var(--f-en); font-weight: 700; font-size: 84px; line-height: 1; margin-right: 6px; letter-spacing: .01em; }
.c-price ul li { padding: 14px 0; border-bottom: 1px solid rgba(255,255,255,.16); font-size: 14px; line-height: 1.8; }
.c-price ul li b { display: block; font-size: 16px; color: var(--paper); }
@media (max-width: 1024px) { .c-price { grid-template-columns: minmax(0, 1fr); padding: 44px 28px; } .c-price__val b { font-size: 64px; } }

/* サービスの1項目（大きな写真＋説明。交互） */
.c-svcrow { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 64px; align-items: center; scroll-margin-top: calc(var(--hd-h) + 30px); }
.c-svcrow + .c-svcrow { margin-top: 110px; }
.c-svcrow:nth-child(even) .c-svcrow__media { order: 2; }
.c-svcrow__media { position: relative; }
.c-svcrow__ph { position: relative; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 12px; background: var(--beige); }
.c-svcrow__ph img { width: 100%; height: 100%; object-fit: cover; }
.c-svcrow__ph.is-ill { display: grid; place-items: center; }
.c-svcrow__ph.is-ill img { width: 52%; height: auto; }
.c-svcrow__ill { position: absolute; right: -24px; bottom: -34px; width: 132px; }
.c-svcrow:nth-child(even) .c-svcrow__ill { right: auto; left: -24px; }
.c-svcrow h2 { margin-top: 18px; font-family: var(--f-head); font-weight: 900; font-size: var(--fs-h2); line-height: 1.35; color: var(--ink); letter-spacing: .06em; }
.c-svcrow__catch { margin-top: 12px; font-weight: 900; font-size: 18px; color: var(--teal); letter-spacing: .08em; }
.c-svcrow__tx { margin-top: 18px; line-height: 2; }
.c-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; }
.c-chips span { padding: 5px 14px; border-radius: 999px; background: var(--kraft); font-weight: 700; font-size: 13px; color: var(--ink); letter-spacing: .04em; line-height: 1.6; }
.c-sec--base .c-chips span { background: var(--paper); }
.c-works { margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--line); }
.c-works h3 { font-family: var(--f-en); font-weight: 700; font-size: 13px; color: var(--ink); letter-spacing: .16em; }
.c-works li { position: relative; margin-top: 8px; padding-left: 16px; font-size: 14px; line-height: 1.8; }
.c-works li::before { content: ""; position: absolute; left: 0; top: .72em; width: 7px; height: 7px; border-radius: 50%; background: var(--teal); }
@media (max-width: 1024px) { .c-svcrow { grid-template-columns: minmax(0, 1fr); gap: 44px; } .c-svcrow:nth-child(even) .c-svcrow__media { order: 0; } .c-svcrow + .c-svcrow { margin-top: 80px; } }
@media (max-width: 640px) { .c-svcrow__ill { width: 96px; right: -6px !important; left: auto !important; bottom: -28px; } }

/* 七変化のアイコンナビ */
.c-svcnav { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 10px; margin-top: 48px; }
.c-svcnav a { display: block; padding: 16px 8px 14px; background: var(--paper); border-radius: 12px; text-align: center; }
.c-svcnav img { width: 70px; height: 64px; margin: 0 auto; object-fit: contain; }
.c-svcnav small { display: block; margin-top: 6px; font-weight: 700; font-size: 12px; color: var(--teal); letter-spacing: .2em; }
.c-svcnav b { display: block; font-weight: 900; font-size: 13px; line-height: 1.5; color: var(--ink); }
.c-svcnav a:hover { background: var(--ink); }
.c-svcnav a:hover b, .c-svcnav a:hover small { color: var(--paper); }
@media (max-width: 1024px) { .c-svcnav { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 640px) { .c-svcnav { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; } .c-svcnav img { width: 52px; height: 48px; } .c-svcnav b { font-size: 12px; } }

/* 番組表（放送局ごと） */
.c-stations { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.c-station { padding: 26px 24px; background: var(--paper); border-radius: 14px; }
.c-sec--white .c-station { background: var(--kraft); }
.c-station h3 { display: inline-block; padding: 4px 14px; border-radius: 999px; background: var(--ink); color: var(--paper); font-size: 13px; letter-spacing: .1em; line-height: 1.6; }
.c-station li { padding: 14px 0; border-bottom: 1px solid var(--line); }
.c-station li:last-child { border-bottom: 0; padding-bottom: 0; }
.c-station li b { display: block; font-weight: 900; font-size: 16px; line-height: 1.55; color: var(--ink); }
.c-station li span { display: block; margin-top: 2px; font-size: 12px; color: var(--ink-3); font-weight: 700; }
.c-station li .c-tag { display: inline-block; margin-top: 6px; color: var(--paper); font-size: 11px; }
@media (max-width: 1024px) { .c-stations { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .c-stations { grid-template-columns: minmax(0, 1fr); } }

/* キャリアの道すじ（3段） */
.c-career { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; counter-reset: cr; }
.c-career li { position: relative; padding: 34px 30px 32px; border-radius: 16px; background: var(--paper); }
.c-career li:nth-child(2) { background: var(--beige); }
.c-career li:nth-child(3) { background: var(--ink); color: rgba(255,255,255,.88); }
.c-career li:nth-child(3) h3 { color: var(--paper); }
.c-career small { font-family: var(--f-en); font-weight: 700; font-size: 13px; color: var(--teal); letter-spacing: .16em; }
.c-career li:nth-child(3) small { color: var(--teal-light); }
.c-career h3 { margin-top: 8px; font-size: var(--fs-h3); letter-spacing: .08em; }
.c-career p { margin-top: 10px; font-size: 14px; line-height: 1.9; }
@media (max-width: 1024px) { .c-career { grid-template-columns: minmax(0, 1fr); } }

/* 大きな数字の列 */
.c-numrow { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.c-numrow li { padding: 26px 26px 24px; background: var(--paper); border-radius: 14px; }
.c-sec--white .c-numrow li { background: var(--kraft); }
.c-numrow li > span { font-weight: 700; font-size: 13px; color: var(--ink-3); letter-spacing: .1em; }
.c-numrow b { display: flex; align-items: baseline; gap: 4px; margin-top: 8px; font-family: var(--f-en); font-weight: 700; font-size: var(--fs-num); line-height: 1; color: var(--teal); }
.c-numrow b small { font-family: var(--f-head); font-weight: 900; font-size: 16px; color: var(--ink); }
.c-numrow b.is-text { font-family: var(--f-head); font-weight: 900; font-size: 30px; line-height: 1.3; }
.c-numrow p { margin-top: 10px; font-size: 13px; line-height: 1.7; }
@media (max-width: 1024px) { .c-numrow { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .c-numrow { gap: 10px; } .c-numrow li { padding: 18px 14px; } .c-numrow b { font-size: 40px; } .c-numrow b.is-text { font-size: 20px; } }

/* タブ（ピルの切り替え） */
.theme-c .tabs { justify-content: center; gap: 10px; border: 0; margin: 0 0 36px; }
.theme-c .tabs__btn { padding: 12px 26px; border-radius: 999px; background: var(--kraft); color: var(--ink); font-size: 15px; }
.theme-c .tabs__btn.is-on { background: var(--ink); color: var(--paper); }
.theme-c .tabs__btn.is-on::after { display: none; }
.theme-c .tabs__btn .status { margin-left: 8px; background: var(--teal); }
.theme-c .tabs__btn .status.is-closed { background: var(--ink-3); }

/* 記事ページの前後リンク */
.c-prevnext { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; max-width: 760px; margin: 64px auto 0; }
.c-prevnext .c-pill svg.is-back { transform: rotate(180deg); }

/* 社員の記事ページ */
.c-staffhead { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 64px; align-items: center; }
.c-staffhead__ph { aspect-ratio: 4 / 5; overflow: hidden; border-radius: var(--c-r); background: var(--paper); }
.c-staffhead__ph img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 15%; transform: scale(1.14); }
.c-staffhead__role { font-weight: 700; color: var(--teal); letter-spacing: .14em; }
.c-staffhead__name { margin-top: 4px; font-weight: 900; font-size: var(--fs-h4); color: var(--ink); letter-spacing: .2em; }
.c-staffhead h1 { margin-top: 28px; font-weight: 900; font-size: var(--fs-h2); line-height: 1.5; letter-spacing: .06em; }
@media (max-width: 1024px) { .c-staffhead { grid-template-columns: minmax(0, 1fr); gap: 36px; } .c-staffhead__ph { max-width: 460px; } }

/* フォーム（入力欄の枠は機能の線） */
.theme-c .field input[type="text"], .theme-c .field input[type="email"], .theme-c .field input[type="tel"], .theme-c .field select, .theme-c .field textarea { border: 1.5px solid #D9D4CA; border-radius: 10px; background: var(--paper); }
.theme-c .field input:focus, .theme-c .field select:focus, .theme-c .field textarea:focus { outline: 2px solid var(--ink); border-color: var(--ink); }
.theme-c .req { background: var(--ink); border-radius: 999px; padding: 0 10px; }
.theme-c .opt { border-radius: 999px; padding: 0 10px; }
.theme-c .checks input, .theme-c .form__agree input { accent-color: var(--ink); }
.theme-c .form__agree a { color: var(--teal); }
.theme-c .form__done { background: var(--beige); border-radius: 12px; }
.theme-c .form { margin: 0 auto; }
.c-telcard { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px; padding: 34px 44px; background: var(--ink); color: rgba(255,255,255,.85); border-radius: var(--c-r); }
.c-telcard b { display: block; font-family: var(--f-en); font-weight: 700; font-size: 40px; color: var(--paper); letter-spacing: .04em; line-height: 1.2; }
.c-telcard p { font-size: 13px; }
@media (max-width: 640px) { .c-telcard { padding: 26px 22px; } .c-telcard b { font-size: 30px; } }
.c-banners--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 1024px) { .c-banners--2 { grid-template-columns: minmax(0, 1fr); } }

.c-policy h2 { margin: 48px 0 12px; font-size: 20px; }
.c-stations--dark .c-station { background: #242424; color: rgba(255,255,255,.85); }
.c-stations--dark .c-station h3 { background: var(--paper); color: var(--ink); }
.c-stations--dark .c-station li { border-color: rgba(255,255,255,.14); }
.c-stations--dark .c-station li b { color: var(--paper); }
.c-stations--dark .c-station li span { color: rgba(255,255,255,.6); }
.c-sec--black .c-card > b { color: var(--paper); }
.c-sec--black .c-card:hover > b { color: var(--teal-light); }
.c-svcrow__ph .c-label { z-index: 2; }
.c-telcard a { color: inherit; }
.c-career li { list-style: none; }
.c-steps li { list-style: none; }
/* 現行サイトの写真の四隅の飾り線を切り落とす */
.c-crop { clip-path: inset(5% 5% 5% 5% round 4px); transform: scale(1.1); }

/* ---------- スマホの調整（写真を小さく2列に詰めない） ---------- */
figure.c-card { margin: 0; }
.c-mv, .c-sec { overflow-x: clip; }
@media (max-width: 640px) {
  .c-grid, .c-grid--3 { grid-template-columns: minmax(0, 1fr); gap: 36px; }
  .c-grid--people { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 12px; }
  /* 4つの姿勢：イラストは左、文章は右 */
  .c-grid--ways .c-card { display: grid; grid-template-columns: 104px minmax(0, 1fr); gap: 4px 16px; align-items: start; }
  .c-grid--ways .c-card__ph { grid-row: 1 / 4; }
  .c-grid--ways .c-card > b { margin-top: 0; }
  .c-grid--ways .c-card p { margin-top: 4px; }
  .c-svcrow__ph.is-ill img { width: 64%; }
  .c-career--2 { grid-template-columns: minmax(0, 1fr); }
  .c-mag__box .c-new { right: -4px !important; top: -20px !important; }
}
.c-career--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }@media (max-width: 640px) { .c-career--2 { grid-template-columns: minmax(0, 1fr); } }
