/* portal-v2 · /company/ — Split Studio + Long Document
 * スコープ: .theme-portal-v2 のみ。/company/ 専用の上書きスタイル。
 * 参照: /design.md（色・形・タイポの確定値）
 * 会社情報を装飾より先に読ませる。人物写真・3Dイラストは追加しない。
 */

/* ---- ページ見出し帯 ---- */
.theme-portal-v2 .page-hero {
  background: var(--portal-paper);
  border-bottom: 1px solid var(--portal-rule);
}

.theme-portal-v2 .page-hero .crumbs a:hover {
  color: var(--portal-primary-deep);
}

.theme-portal-v2 .page-hero h1 {
  font-size: var(--portal-text-page-title);
  color: var(--portal-ink);
}

.theme-portal-v2 .sec-title {
  color: var(--portal-ink);
}

/* ---- 実績スタッツ：1px罫線カード + 上部アクセント ---- */
.theme-portal-v2 .cred-stats {
  gap: var(--space-md);
}

.theme-portal-v2 .cred {
  background: var(--portal-surface);
  border: 1px solid var(--portal-rule);
  border-top: 2px solid var(--portal-primary);
  border-radius: var(--portal-radius-card);
  padding: var(--space-md) var(--space-lg) var(--space-lg);
  box-shadow: none;
}

.theme-portal-v2 .cred-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  margin-bottom: var(--space-sm);
  border-radius: 6px;
  background: var(--portal-primary-wash);
  color: var(--portal-primary-deep);
}

.theme-portal-v2 .cred-icon .ph {
  width: 16px;
  height: 16px;
}

.theme-portal-v2 .cred b {
  font-family: var(--portal-font-numeric);
  color: var(--portal-ink);
}

.theme-portal-v2 .cred span {
  color: var(--portal-muted);
}

/* ---- 会社概要 dl ---- */
.theme-portal-v2 .about-profile > div {
  border-top: 1px solid var(--portal-rule);
}

.theme-portal-v2 .about-profile > div:last-child {
  border-bottom: 1px solid var(--portal-rule);
}

.theme-portal-v2 .about-profile dt {
  color: var(--portal-ink);
}

.theme-portal-v2 .about-profile dd {
  color: var(--portal-muted);
}

/* ---- 提供モデルの思想：帯セクション（背景はlegacyのremapで中立グレーになる） ---- */
.theme-portal-v2 .wf-list li {
  background: var(--portal-surface);
  border: 1px solid var(--portal-rule-strong);
  border-radius: var(--portal-radius-pill);
  color: var(--portal-ink);
  font-weight: 500;
}

.theme-portal-v2 .wf-quote {
  color: var(--portal-ink);
  font-weight: 700;
}

.theme-portal-v2 .note-box {
  background: var(--portal-surface);
  border: 1px solid var(--portal-rule);
  color: var(--portal-muted);
}

/* ---- 比較表 ---- */
.theme-portal-v2 .cmp-scroll {
  border: 1px solid var(--portal-rule);
  border-radius: var(--portal-radius-card);
}

.theme-portal-v2 .cmp {
  background: var(--portal-surface);
}

.theme-portal-v2 .cmp th,
.theme-portal-v2 .cmp td {
  border-bottom: 1px solid var(--portal-rule);
}

.theme-portal-v2 .cmp th {
  background: var(--portal-paper);
  color: var(--portal-ink);
}

.theme-portal-v2 .cmp .hl {
  background: var(--portal-primary-wash);
  color: var(--portal-primary-deep);
}

.theme-portal-v2 .cmp th.hl {
  background: var(--portal-primary);
  color: var(--portal-surface);
}

.theme-portal-v2 .mark-ok {
  color: var(--portal-primary-deep);
}

.theme-portal-v2 .mark-tri {
  color: var(--portal-muted);
}

.theme-portal-v2 .cmp-note {
  color: var(--portal-muted);
}

/* ---- 代表メッセージ ---- */
.theme-portal-v2 .msg p {
  color: var(--portal-muted);
}

.theme-portal-v2 .msg p.strong {
  color: var(--portal-ink);
  font-family: var(--portal-font-heading);
  font-weight: 700;
}

.theme-portal-v2 .msg-sign {
  color: var(--portal-ink);
}

.theme-portal-v2 .msg-sign small {
  color: var(--portal-muted);
}

/* ---- FAQ ---- */
.theme-portal-v2 .faq-item {
  border-bottom: 1px solid var(--portal-rule);
}

.theme-portal-v2 .faq-item:first-child {
  border-top: 1px solid var(--portal-rule);
}

.theme-portal-v2 .faq-item summary::before {
  color: var(--portal-primary-deep);
  font-family: var(--portal-font-numeric);
}

.theme-portal-v2 .faq-item summary::after {
  color: var(--portal-muted);
}

.theme-portal-v2 .faq-item .a {
  color: var(--portal-muted);
}
