/* =========================================================
   歌う求人票〈住まい版〉 企業採用紹介ページ
   2026-08-21 構成刷新。採用が主題。写真主役・色面のコントラストで読ませる。
   主色は深緑、差し色は現場の安全色。濃い面はフッターだけに留める。
   ========================================================= */

:root {
  --scp-ink: #0F1512;
  --scp-paper: #FFFFFF;
  --scp-sand: #F3F1EC;
  --scp-green: #0E6B4A;
  --scp-green-deep: #08432E;
  --scp-green-soft: #E4EFE9;
  --scp-orange: #E2571E;
  --scp-orange-dark: #B8420F;
  --scp-muted: #6B7472;
  --scp-line: #DDD9D1;
}

body.umj-company-profile-page * { box-sizing: border-box; }

body.umj-company-profile-page {
  margin: 0;
  background: var(--scp-paper);
  color: var(--scp-ink);
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, system-ui, sans-serif;
  font-size: 16px;
  line-height: 1.9;
  -webkit-font-smoothing: antialiased;
}

.umj-company-profile-page h1,
.umj-company-profile-page h2,
.umj-company-profile-page h3 {
  margin: 0;
  font-weight: 900;
  letter-spacing: .01em;
  text-wrap: balance;
}

.scp-shell { width: min(72rem, calc(100% - 3rem)); margin-inline: auto; }
.scp-narrow { max-width: 46rem; }

.scp-label {
  margin: 0 0 .9rem;
  display: flex; align-items: center; gap: .7rem;
  font-family: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: .6875rem; letter-spacing: .18em; text-transform: uppercase;
  color: var(--scp-green);
}
.scp-label::before { content: ""; width: 2rem; height: 2px; background: var(--scp-orange); flex: none; }
.scp-label--light { color: #9FD8BF; }

/* ---- 未承認プレビューの告知 ---- */
.scp-preview-bar {
  position: relative; z-index: 40;
  padding: .6rem 1.25rem;
  background: #7A4B00; color: #fff;
  font-size: .75rem; font-weight: 700; letter-spacing: .04em; text-align: center;
}
.scp-sample-bar {
  position: relative; z-index: 40;
  padding: .6rem 1.25rem;
  background: var(--scp-green); color: #fff;
  font-size: .75rem; font-weight: 700; letter-spacing: .04em; text-align: center;
}
.scp-image-notice {
  position: relative; z-index: 40;
  padding: .5rem 1.25rem;
  background: #FFF5CF; color: #5A4308; border-bottom: 1px solid #EDDA91;
  font-size: .6875rem; line-height: 1.6; text-align: center;
}
.scp-image-notice strong { margin-right: .45rem; }

/* ---- 追従する応募バー ---- */
.scp-sticky {
  position: sticky; top: 0; z-index: 30;
  background: var(--scp-ink); color: #fff;
  transform: translateY(-100%); transition: transform .25s ease;
}
.scp-sticky.is-on { transform: translateY(0); }
.scp-sticky__inner { display: flex; align-items: center; justify-content: space-between; gap: 1.25rem; padding: .7rem 0; }
.scp-sticky__name {
  margin: 0; font-size: .9375rem; font-weight: 700;
  min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.scp-sticky__name small { display: block; color: #9AA8A2; font-weight: 400; font-size: .75rem; }
.scp-sticky__btn {
  flex: none; padding: .7rem 1.4rem;
  background: var(--scp-orange); color: #fff;
  text-decoration: none; font-size: .875rem; font-weight: 700;
}
.scp-sticky__btn:hover { background: var(--scp-orange-dark); }

/* ---- ヒーロー ---- */
.scp-hero { position: relative; background: var(--scp-ink); }
.scp-hero__img,
.scp-hero .scp-hero__art {
  display: block; width: 100%;
  height: clamp(26rem, 64vh, 38rem);
  object-fit: cover; object-position: center 36%;
  filter: saturate(1.05) contrast(1.03) brightness(1.08);
}
.scp-hero::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(85deg, rgba(8,45,32,.9) 0%, rgba(8,45,32,.62) 44%, rgba(14,107,74,.12) 100%);
}
.scp-hero--drawn::after {
  background: linear-gradient(85deg, rgba(8,45,32,.84) 0%, rgba(8,45,32,.56) 48%, rgba(14,107,74,.1) 100%);
}
.scp-hero__inner { position: absolute; inset: 0; z-index: 1; display: flex; align-items: center; }
.scp-hero__badge {
  display: inline-block; margin-bottom: 1.4rem; padding: .45rem 1rem;
  background: var(--scp-orange); color: #fff;
  font-family: "IBM Plex Mono", monospace; font-size: .6875rem; letter-spacing: .12em;
}
.umj-company-profile-page .scp-hero h1 {
  max-width: 14em; color: #fff; font-size: clamp(2.7rem, 7.4vw, 5rem); line-height: 1.12; letter-spacing: .01em;
}
.scp-hero__tagline { margin: 1.1rem 0 0; max-width: 30em; color: #fff; font-size: clamp(1.125rem, 2.6vw, 1.5rem); line-height: 1.55; font-weight: 900; }
.scp-hero__lead { margin: 1rem 0 0; max-width: 32em; color: #CFE0D8; font-size: clamp(.9375rem, 2vw, 1.0625rem); line-height: 1.9; }

.scp-chips { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1.8rem; }
.scp-chips span {
  padding: .45rem .9rem;
  background: rgba(255,255,255,.14); color: #fff; border: 1px solid rgba(255,255,255,.3);
  font-size: .8125rem; font-weight: 500;
}

/* ---- イメージ写真の明示。実在の社員・現場ではないため必ず出す ---- */
.scp-shot { position: relative; display: block; }
.scp-stock-tag {
  position: absolute; right: 0; bottom: 0; z-index: 2;
  padding: .25rem .55rem;
  background: rgba(15,21,18,.78); color: #E4E2DD;
  font-family: "IBM Plex Mono", monospace; font-size: .625rem; letter-spacing: .1em;
}
.scp-hero .scp-stock-tag { right: 1.5rem; bottom: 1.25rem; }

/* ---- 企業と求人の要点。最初のスクロールで違いが分かるようにする ---- */
.scp-summary { padding: clamp(2.5rem, 6vw, 4.5rem) 0; background: var(--scp-paper); }
.scp-summary__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
.scp-summary__card { padding: clamp(1.5rem, 3vw, 2.25rem); background: var(--scp-sand); border-top: 5px solid var(--scp-green); }
.scp-summary__card--job { background: var(--scp-green-soft); border-top-color: var(--scp-orange); }
.scp-summary__label {
  margin: 0 0 .55rem; color: var(--scp-green);
  font-family: "IBM Plex Mono", monospace; font-size: .6875rem; letter-spacing: .16em; text-transform: uppercase;
}
.scp-summary__card--job .scp-summary__label { color: var(--scp-orange-dark); }
.umj-company-profile-page .scp-summary h2 { font-size: clamp(1.45rem, 3vw, 1.9rem); }
.scp-summary__intro { margin: 1rem 0 0; color: #41504A; font-size: .9375rem; line-height: 1.9; }
.scp-summary ul { list-style: none; margin: 1.15rem 0 0; padding: 0; display: grid; gap: .65rem; }
.scp-summary li { position: relative; padding-left: 1.25rem; font-size: .9375rem; line-height: 1.75; font-weight: 700; }
.scp-summary li::before { content: ""; position: absolute; left: 0; top: .7em; width: .5rem; height: .5rem; background: var(--scp-orange); }
.scp-summary__more { display: inline-block; margin-top: 1.25rem; color: var(--scp-green-deep); font-size: .875rem; font-weight: 900; text-decoration: none; border-bottom: 2px solid var(--scp-orange); }
.scp-summary__more:hover { color: var(--scp-orange-dark); }
.scp-summary__more:focus-visible { outline: 3px solid var(--scp-orange); outline-offset: 3px; }

/* ---- 装飾。うすい家の線画とやわらかい円で面に奥行きを出す ---- */
.scp-deco { position: relative; overflow: hidden; isolation: isolate; }
.scp-deco > .scp-shell { position: relative; z-index: 1; }
.scp-deco__house {
  position: absolute; pointer-events: none; z-index: 0;
  right: -4rem; top: 50%; transform: translateY(-50%);
  width: clamp(18rem, 34vw, 30rem); opacity: .05;
}
.scp-deco__house--left { right: auto; left: -5rem; opacity: .045; }
.scp-deco__blob { position: absolute; pointer-events: none; z-index: 0; border-radius: 50%; filter: blur(40px); }
.scp-deco__blob--a { width: 26rem; height: 26rem; right: -8rem; top: -10rem; background: rgba(255,255,255,.12); }
.scp-deco__blob--b { width: 22rem; height: 22rem; left: -8rem; bottom: -9rem; background: rgba(226,87,30,.10); }

/* ---- CMソングの帯。採用が主題なので控えめに ---- */
.scp-songbar { background: var(--scp-sand); border-bottom: 1px solid var(--scp-line); }
.scp-songbar__inner {
  display: grid; grid-template-columns: auto 1fr minmax(14rem, 22rem);
  gap: 1.5rem; align-items: center; padding: 1.1rem 0;
}
.scp-songbar__inner .scp-song__sleeve { width: 3.5rem; height: 3.5rem; display: block; }
.scp-songbar__lead {
  margin: 0; font-family: "IBM Plex Mono", monospace;
  font-size: .6875rem; letter-spacing: .1em; color: var(--scp-muted);
}
.scp-songbar__title { margin: .1rem 0 0; font-size: 1rem; font-weight: 700; }
.scp-songbar__audio { width: 100%; height: 40px; }
/* 埋め込みプレイヤーは高さが要るため、帯を1段深くして横幅も広く取る */
.scp-songbar__inner--embed { grid-template-columns: auto 1fr minmax(18rem, 26rem); padding: 1.4rem 0; }
.scp-songbar__embed { width: 100%; height: 156px; border: 0; display: block; }

/* ---- セクション ---- */
.scp-section { padding: clamp(3.5rem, 7vw, 6rem) 0; }
.scp-section--soft { background: var(--scp-sand); }
.scp-sec-head { margin-bottom: 2.5rem; }
.umj-company-profile-page h2 { font-size: clamp(1.5rem, 4vw, 2.4rem); line-height: 1.35; }
.scp-sec-note { margin: .9rem 0 0; color: var(--scp-muted); font-size: .9375rem; }

/* ---- 募集内容 ---- */
.scp-spec { display: grid; grid-template-columns: 9rem 1fr; margin: 0; border-top: 3px solid var(--scp-ink); }
.scp-spec dt { padding: 1.2rem 0; border-bottom: 1px solid var(--scp-line); color: var(--scp-muted); font-size: .8125rem; font-weight: 700; }
.scp-spec dd { margin: 0; padding: 1.2rem 0 1.2rem 1.5rem; border-bottom: 1px solid var(--scp-line); font-size: .9375rem; line-height: 1.9; }

.scp-apply {
  display: block; margin-top: 2.5rem; padding: 1.45rem 1.5rem;
  background: var(--scp-orange); color: #fff;
  text-align: center; text-decoration: none;
  font-size: 1.125rem; font-weight: 900; letter-spacing: .04em;
}
.scp-apply:hover { background: var(--scp-orange-dark); }
.scp-apply:focus-visible { outline: 3px solid var(--scp-ink); outline-offset: 3px; }
.scp-apply-note { margin: .9rem 0 0; text-align: center; color: var(--scp-muted); font-size: .8125rem; }

/* ---- 数字：色面で見せる ---- */
.scp-figures { background: var(--scp-green); color: #fff; }
.umj-company-profile-page .scp-figures h2 { color: #fff; }
.scp-figures .scp-deco__house { opacity: .09; }
.scp-fig-grid { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 2.5rem; border-top: 1px solid rgba(255,255,255,.28); }
.scp-fig { padding: 2rem 1.5rem 1.75rem 0; border-right: 1px solid rgba(255,255,255,.28); }
.scp-fig:last-child { border-right: 0; }
.scp-fig b { display: block; font-size: clamp(2.2rem, 5.5vw, 3.4rem); line-height: 1; font-weight: 900; font-variant-numeric: tabular-nums; }
.scp-fig span { display: block; margin-top: .7rem; color: #C6E0D5; font-size: .8125rem; line-height: 1.65; }
.scp-fig small { display: block; margin-top: .2rem; color: #A9CCBE; font-size: .6875rem; }

/* ---- 仕事：1枚大きく、2枚小さく ---- */
.scp-work { display: grid; grid-template-columns: 1.25fr 1fr; gap: 2rem; align-items: start; }
.scp-work figure { margin: 0; }
.scp-work img, .scp-work > figure > svg { display: block; width: 100%; object-fit: cover; }
.scp-work__lead img, .scp-work__lead > svg { aspect-ratio: 4 / 3; }
.scp-work__side { display: grid; gap: 2rem; }
.scp-work__side img, .scp-work__side svg { aspect-ratio: 16 / 10; }
.scp-work__cap { display: block; margin-top: 1rem; font-family: "IBM Plex Mono", monospace; font-size: .6875rem; letter-spacing: .12em; color: var(--scp-orange); }
.scp-work h3 { margin: .4rem 0 .5rem; font-size: 1.25rem; }
.scp-work p { margin: 0; color: var(--scp-muted); font-size: .9375rem; line-height: 1.9; }

/* ---- 職種カード ---- */
.scp-role-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(17rem, 1fr)); gap: 1.5rem; }
.scp-role-card { padding: 1.75rem 1.5rem; background: var(--scp-paper); border-top: 3px solid var(--scp-green); }
.scp-role-card h3 { margin: 0 0 .5rem; font-size: 1.125rem; font-weight: 700; }
.scp-role-card__pitch { margin: 0 0 1rem; font-size: .9375rem; line-height: 1.85; }
.scp-role-card ul { margin: 0 0 1rem; padding-left: 1.1rem; color: var(--scp-muted); font-size: .875rem; line-height: 1.9; }
.scp-role-card__fit { margin: 0 0 1rem; color: var(--scp-muted); font-size: .875rem; line-height: 1.85; }
.scp-role-card__fit strong { display: block; color: var(--scp-ink); font-size: .8125rem; }
.scp-role-card a { color: var(--scp-orange); font-size: .875rem; font-weight: 700; text-decoration: none; }
.scp-role-card a:hover { text-decoration: underline; }

/* ---- 一日の流れ ---- */
.scp-timeline { list-style: none; margin: 0; padding: 0; position: relative; }
.scp-timeline::before { content: ""; position: absolute; left: 4.35rem; top: 1rem; bottom: 1rem; width: 2px; background: var(--scp-line); }
.scp-timeline li { display: grid; grid-template-columns: 5.5rem 1fr; gap: 2rem; align-items: baseline; padding: 1.3rem 0; position: relative; }
.scp-timeline li::after {
  content: ""; position: absolute; left: 4rem; top: 2rem; width: .7rem; height: .7rem;
  background: var(--scp-orange); border: 3px solid var(--scp-sand); border-radius: 50%;
}
.scp-timeline time { font-family: "IBM Plex Mono", monospace; font-size: 1.0625rem; font-weight: 500; font-variant-numeric: tabular-nums; }
.scp-timeline p { margin: 0; }

/* ---- 働く魅力 ---- */
.scp-points { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 2.5rem; }
.scp-points li { border-top: 3px solid var(--scp-green); padding-top: 1.4rem; }
.scp-points__n { display: block; margin-bottom: .6rem; font-family: "IBM Plex Mono", monospace; font-size: .75rem; letter-spacing: .14em; color: var(--scp-orange); }
.scp-points p { margin: 0; font-size: .9375rem; line-height: 1.9; }

/* ---- インタビュー。黒は重すぎるので明るい緑の面にする ---- */
.scp-voice { background: var(--scp-green-soft); }
.scp-voice__grid { display: grid; grid-template-columns: 22rem 1fr; gap: clamp(2rem, 5vw, 3.5rem); align-items: start; margin-top: 2.5rem; }
.scp-voice__grid--noimage { grid-template-columns: 1fr; }
.scp-voice__grid img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.scp-voice__who { margin: 1rem 0 0; font-family: "IBM Plex Mono", monospace; font-size: .75rem; letter-spacing: .1em; color: var(--scp-muted); }
.scp-pull {
  margin: 0 0 2.25rem; padding-left: 1.5rem; border-left: 4px solid var(--scp-orange);
  font-size: clamp(1.25rem, 3vw, 1.75rem); line-height: 1.75; font-weight: 900; color: var(--scp-green-deep);
}
.scp-qa { display: grid; gap: 1.75rem; }
.scp-qa__q { margin: 0 0 .5rem; font-size: 1.0625rem; font-weight: 700; }
.scp-qa__q::before { content: "Q. "; font-family: "IBM Plex Mono", monospace; color: var(--scp-orange); }
.scp-qa__a { margin: 0; color: #41504A; font-size: .9375rem; line-height: 2; }

/* ---- 本文 ---- */
.scp-entry-content { font-size: 1rem; line-height: 2; }
.scp-entry-content p { margin: 0 0 1.25rem; }
.scp-entry-content p:last-child { margin-bottom: 0; }

/* ---- 働く人の記事 ---- */
.scp-story-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); gap: 1.5rem; }
.scp-story-card { background: var(--scp-paper); border: 1px solid var(--scp-line); }
.scp-story-card img { display: block; width: 100%; height: auto; }
.scp-story-card__body { padding: 1.5rem; }
.scp-story-card__label { margin: 0 0 .5rem; font-family: "IBM Plex Mono", monospace; font-size: .6875rem; letter-spacing: .12em; color: var(--scp-orange); }
.scp-story-card h3 { margin: 0 0 .5rem; font-size: 1.0625rem; font-weight: 700; }
.scp-story-card p { margin: 0 0 1rem; color: var(--scp-muted); font-size: .9375rem; line-height: 1.85; }
.scp-story-card a { color: var(--scp-orange); font-size: .875rem; font-weight: 700; text-decoration: none; }
.scp-story-card a:hover { text-decoration: underline; }
.scp-source-note { margin: 1.5rem 0 0; color: var(--scp-muted); font-size: .75rem; line-height: 1.8; }

/* ---- 制度と風土 ---- */
.scp-culture-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); gap: 1.25rem; }
.scp-culture-grid article { padding: 1.5rem; background: var(--scp-sand); border-left: 3px solid var(--scp-green); }
.scp-culture-grid h3 { margin: 0 0 .4rem; font-size: 1rem; font-weight: 700; }
.scp-culture-grid p { margin: 0; color: var(--scp-muted); font-size: .9375rem; line-height: 1.85; }

/* ---- 歌詞 ---- */
.scp-lyrics-wrap { display: grid; grid-template-columns: auto 1fr; gap: clamp(1.75rem, 4vw, 3rem); align-items: start; }
.scp-lyrics-wrap .scp-song__sleeve { width: clamp(7rem, 14vw, 10rem); height: auto; display: block; }
.scp-lyrics { margin: 0; font-size: clamp(1.0625rem, 2.4vw, 1.3125rem); line-height: 2.4; font-weight: 500; }
.scp-lyrics-note { margin: 1.5rem 0 0; color: var(--scp-muted); font-size: .8125rem; }

/* ---- 会社の新着（公式サイトから自動取得） ---- */
.scp-news-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
.scp-news-card {
  display: flex; flex-direction: column; gap: .6rem;
  padding: 1.6rem 1.4rem; background: var(--scp-paper);
  border: 1px solid var(--scp-line); border-top: 3px solid var(--scp-green);
  text-decoration: none; color: inherit;
  transition: transform .15s ease, box-shadow .15s ease;
}
.scp-news-card:hover { transform: translateY(-3px); box-shadow: 0 12px 28px rgba(15,21,18,.09); }
.scp-news-card:focus-visible { outline: 3px solid var(--scp-orange); outline-offset: 3px; }
.scp-news-card time { font-family: "IBM Plex Mono", monospace; font-size: .75rem; color: var(--scp-muted); font-variant-numeric: tabular-nums; }
.scp-news-card b { font-size: 1rem; font-weight: 700; line-height: 1.7; }
.scp-news-card span { margin-top: auto; font-family: "IBM Plex Mono", monospace; font-size: .6875rem; letter-spacing: .1em; color: var(--scp-orange); }
.scp-news-note { margin: 1.4rem 0 0; color: var(--scp-muted); font-size: .75rem; line-height: 1.8; }

/* ---- SNS。埋め込みはせずリンクだけ ---- */
.scp-sns { display: flex; flex-wrap: wrap; gap: .9rem; }
.scp-sns a {
  display: flex; align-items: center; gap: .6rem;
  padding: .85rem 1.3rem; background: var(--scp-paper); border: 1px solid var(--scp-line);
  text-decoration: none; color: inherit; font-size: .9375rem; font-weight: 700;
  transition: border-color .15s ease, color .15s ease;
}
.scp-sns a:hover { border-color: var(--scp-green); color: var(--scp-green); }
.scp-sns a:focus-visible { outline: 3px solid var(--scp-orange); outline-offset: 3px; }
.scp-sns svg { width: 1.15rem; height: 1.15rem; fill: currentColor; flex: none; }

/* ---- メディア掲載。記事本文は転載しない ---- */
.scp-press-list { list-style: none; margin: 0; padding: 0; border-top: 3px solid var(--scp-ink); }
.scp-press-list li { padding: 1.5rem 0; border-bottom: 1px solid var(--scp-line); }
.scp-press-list__src { display: flex; gap: .85rem; align-items: baseline; flex-wrap: wrap; margin: 0 0 .45rem; font-family: "IBM Plex Mono", monospace; font-size: .75rem; letter-spacing: .06em; color: var(--scp-muted); }
.scp-press-list__src b { color: var(--scp-ink); font-weight: 500; }
.scp-press-list h3 { font-size: 1.125rem; font-weight: 700; line-height: 1.6; }
.scp-press-list h3 a { color: inherit; text-decoration: none; border-bottom: 2px solid var(--scp-orange); padding-bottom: .1rem; }
.scp-press-list h3 a:hover { color: var(--scp-orange); }
.scp-press-list p { margin: .6rem 0 0; color: var(--scp-muted); font-size: .875rem; line-height: 1.9; }
.scp-press-note { margin: 1.4rem 0 0; color: var(--scp-muted); font-size: .75rem; line-height: 1.8; }

/* ---- 応募までの流れ ---- */
.scp-process-list { list-style: none; margin: 0; padding: 0; display: grid; gap: .75rem; }
.scp-process-list li { display: grid; grid-template-columns: 2.75rem 1fr; gap: 1rem; align-items: baseline; padding: 1rem 1.25rem; background: var(--scp-paper); }
.scp-process-list span { font-family: "IBM Plex Mono", monospace; font-size: .875rem; color: var(--scp-orange); }
.scp-process-list p { margin: 0; font-size: .9375rem; }

/* ---- 求職者導線。企業の応募ボタンより必ず弱くする ---- */
.scp-seeker {
  display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; flex-wrap: wrap;
  padding: 2rem; background: var(--scp-green-soft);
}
.umj-company-profile-page .scp-seeker h2 { margin: 0 0 .5rem; font-size: 1.25rem; }
.scp-seeker p { margin: 0; color: #4A5A54; font-size: .875rem; line-height: 1.8; }
.scp-seeker a {
  flex: none; padding: .85rem 1.6rem;
  border: 2px solid var(--scp-green); color: var(--scp-green); background: #fff;
  font-size: .9375rem; font-weight: 700; text-decoration: none;
}
.scp-seeker a:hover { background: var(--scp-green); color: #fff; }
.scp-seeker a:focus-visible { outline: 3px solid var(--scp-orange); outline-offset: 3px; }

/* ---- フッター ---- */
.scp-footer { padding: 3rem 0; background: var(--scp-ink); color: #8F9A96; font-size: .8125rem; line-height: 2; }
.scp-footer p { margin: 0; }
.scp-footer strong { color: #E4E9E7; font-weight: 500; }
.scp-footer a { color: #8F9A96; margin-right: 1.25rem; }
.scp-footer__contact { margin-top: .5rem; }

@media (max-width: 64rem) {
  .scp-summary__grid { grid-template-columns: 1fr; }
  .scp-work { grid-template-columns: 1fr; }
  .scp-fig-grid { grid-template-columns: repeat(2, 1fr); }
  .scp-fig:nth-child(2) { border-right: 0; }
  .scp-fig:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.28); }
  .scp-points { grid-template-columns: 1fr; gap: 1.75rem; }
  .scp-voice__grid { grid-template-columns: 1fr; }
  .scp-voice__grid img { max-width: 20rem; }
  .scp-news-grid { grid-template-columns: 1fr; }
  .scp-songbar__inner { grid-template-columns: auto 1fr; row-gap: .9rem; }
  .scp-songbar__audio, .scp-songbar__embed { grid-column: 1 / -1; }
  .scp-songbar__inner--embed { grid-template-columns: auto 1fr; }
}

@media (max-width: 34rem) {
  .umj-company-profile-page .scp-hero h1 { font-size: clamp(2.25rem, 12vw, 3.25rem); }
  .scp-hero__tagline { font-size: 1.0625rem; }
  .scp-spec { grid-template-columns: 1fr; }
  .scp-spec dt { padding-bottom: 0; border-bottom: 0; }
  .scp-spec dd { padding: .3rem 0 1.2rem; }
  .scp-timeline::before, .scp-timeline li::after { display: none; }
  .scp-timeline li { grid-template-columns: 1fr; gap: .2rem; }
  .scp-lyrics-wrap { grid-template-columns: 1fr; }
  .scp-footer a { display: inline-block; margin-right: 1rem; }
}

@media (prefers-reduced-motion: reduce) {
  .scp-sticky, .scp-news-card { transition: none; }
}
