/* =============================================================
   ORCA Archive — consolidated stylesheet v2
   2026-05-28
   方針：過去の追記パッチを削除し、現行で必要なブロックだけに整理。
   以後はこのファイル内の該当ブロックを直接修正し、末尾追記で散らかさない。
   ============================================================= */


/* =============================================================
   1. Core / Common components
   ============================================================= */
:root {
  /* カラーパレット */
  --color-primary:      #1B4A8A;   /* メイン：深い青 */
  --color-primary-dark: #0F2E5C;   /* メイン濃い */
  --color-accent:       #C9A24A;   /* アクセント：古代金 */
  --color-accent-dark:  #A07A2E;   /* アクセント濃い */

  --color-bg:           #FBFAF6;   /* ページ背景：羊皮紙白 */
  --color-bg-alt:       #F4F1E8;   /* セクション背景 */
  --color-bg-card:      #FFFFFF;   /* カード背景 */

  --color-text:         #111827;   /* 本文テキスト */
  --color-text-mute:    #6B7280;   /* 補助テキスト・日付 */
  --color-text-light:   #9CA3AF;   /* さらに薄い */

  --color-rule:         #E4DDC9;   /* 罫線・区切り線 */
  --color-border:       #D1C9B0;   /* ボーダー */

  /* カテゴリ別カラー */
  --color-company:      #1B4A8A;   /* 企業ストーリー */
  --color-news:         #0F6E56;   /* ニュース */
  --color-anohanashi:   #7B3F9A;   /* あの話！ */

  /* タイポグラフィ */
  --font-serif:   'Noto Serif JP', 'Georgia', serif;
  --font-sans:    'Noto Sans JP', 'Hiragino Kaku Gothic ProN', sans-serif;
  --font-deco:    'Cinzel', 'Playfair Display', serif;
  --font-mono:    'Consolas', 'Monaco', monospace;

  /* フォントサイズ */
  --text-xs:   0.75rem;    /* 12px */
  --text-sm:   0.875rem;   /* 14px */
  --text-base: 1rem;       /* 16px */
  --text-lg:   1.125rem;   /* 18px */
  --text-xl:   1.25rem;    /* 20px */
  --text-2xl:  1.5rem;     /* 24px */
  --text-3xl:  1.875rem;   /* 30px */
  --text-4xl:  2.25rem;    /* 36px */

  /* スペーシング */
  --space-1:   0.25rem;
  --space-2:   0.5rem;
  --space-3:   0.75rem;
  --space-4:   1rem;
  --space-6:   1.5rem;
  --space-8:   2rem;
  --space-12:  3rem;
  --space-16:  4rem;

  /* レイアウト */
  --content-max:    1200px;
  --content-narrow:  800px;
  --radius-sm:        4px;
  --radius:           8px;
  --radius-lg:       12px;
  --radius-xl:       16px;

  /* シャドウ */
  --shadow-sm:  0 1px 3px rgba(0,0,0,.08);
  --shadow:     0 2px 8px rgba(0,0,0,.10);
  --shadow-lg:  0 4px 20px rgba(0,0,0,.13);

  /* トランジション */
  --transition: 0.2s ease;
}

/* ダークモード変数（body.dark で上書き） */
body.dark {
  --color-bg:       #0F1419;
  --color-bg-alt:   #1A1F26;
  --color-bg-card:  #1E2530;
  --color-text:     #F0EDE8;
  --color-text-mute:#9BA3AF;
  --color-rule:     #2D3748;
  --color-border:   #374151;
}


/* =============================================================
   リセット・ベース
   ============================================================= */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html {
  scroll-behavior: smooth;
  font-size: 16px;
}

body {
  font-family: var(--font-sans);
  font-size: var(--text-base);
  color: var(--color-text);
  background-color: var(--color-bg);
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
  transition: background-color 0.3s, color 0.3s;
}

img { max-width: 100%; height: auto; display: block; }
a { color: var(--color-primary); text-decoration: none; transition: color var(--transition); }
a:hover { color: var(--color-accent); }

/* =============================================================
   レイアウト
   ============================================================= */
.zelus-container {
  max-width: var(--content-max);
  margin: 0 auto;
  padding: 0 var(--space-6);
}

.zelus-container--narrow {
  max-width: var(--content-narrow);
  margin: 0 auto;
  padding: 0 var(--space-6);
}

.zelus-section {
  padding: var(--space-16) 0;
}

.zelus-section--alt {
  background-color: var(--color-bg-alt);
}


/* =============================================================
   ヘッダー
   ============================================================= */
.zelus-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(27, 74, 138, 0.97);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid rgba(201, 162, 74, 0.4);
  box-shadow: 0 2px 12px rgba(0,0,0,.2);
}

.zelus-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 64px;
  max-width: var(--content-max);
  margin: 0 auto;
  padding: 0 var(--space-6);
}

.zelus-logo {
  display: flex;
  flex-direction: column;
  gap: 1px;
  text-decoration: none;
}

.zelus-logo__en {
  font-family: var(--font-deco);
  font-size: var(--text-xl);
  font-weight: 800;
  color: #FFFFFF;
  letter-spacing: 0.1em;
  line-height: 1;
}

.zelus-logo__ja {
  font-family: var(--font-serif);
  font-size: var(--text-xs);
  color: var(--color-accent);
  letter-spacing: 0.15em;
}

.zelus-nav {
  display: flex;
  align-items: center;
  gap: var(--space-1);
}

.zelus-nav__link {
  color: rgba(255,255,255,.85);
  font-size: var(--text-sm);
  font-weight: 500;
  padding: var(--space-2) var(--space-3);
  border-radius: var(--radius-sm);
  letter-spacing: 0.05em;
  transition: all var(--transition);
  position: relative;
}

.zelus-nav__link::after {
  content: '';
  position: absolute;
  bottom: 0; left: 50%; right: 50%;
  height: 2px;
  background: var(--color-accent);
  transition: all var(--transition);
}

.zelus-nav__link:hover,
.zelus-nav__link.current {
  color: #fff;
  background: rgba(255,255,255,.1);
}

.zelus-nav__link:hover::after,
.zelus-nav__link.current::after {
  left: var(--space-3);
  right: var(--space-3);
}

/* ダークモードトグル */
.zelus-dark-toggle {
  background: rgba(255,255,255,.15);
  border: 1px solid rgba(255,255,255,.25);
  border-radius: 20px;
  color: #fff;
  cursor: pointer;
  font-size: var(--text-sm);
  padding: 5px 12px;
  transition: all var(--transition);
  margin-left: var(--space-3);
  white-space: nowrap;
}

.zelus-dark-toggle:hover {
  background: rgba(255,255,255,.25);
}

/* ハンバーガーメニュー（モバイル） */
.zelus-hamburger {
  display: none;
  background: none;
  border: none;
  cursor: pointer;
  padding: var(--space-2);
  flex-direction: column;
  gap: 5px;
}

.zelus-hamburger span {
  display: block;
  width: 22px;
  height: 2px;
  background: #fff;
  border-radius: 1px;
  transition: all var(--transition);
}


/* =============================================================
   カテゴリバッジ
   ============================================================= */
.zelus-badge {
  display: inline-block;
  font-size: var(--text-xs);
  font-weight: 700;
  padding: 3px 10px;
  border-radius: 20px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  vertical-align: middle;
}

.zelus-badge--company    { background: var(--color-company);    color: #fff; }
.zelus-badge--news       { background: var(--color-news);       color: #fff; }
.zelus-badge--anohanashi { background: var(--color-anohanashi); color: #fff; }

/* 薄いバッジ（ボーダータイプ） */
.zelus-badge--company-outline    { border: 1.5px solid var(--color-company);    color: var(--color-company);    background: transparent; }
.zelus-badge--news-outline       { border: 1.5px solid var(--color-news);       color: var(--color-news);       background: transparent; }
.zelus-badge--anohanashi-outline { border: 1.5px solid var(--color-anohanashi); color: var(--color-anohanashi); background: transparent; }


/* =============================================================
   記事カード（全カテゴリ共通）
   ============================================================= */
.zelus-card {
  background: var(--color-bg-card);
  border: 1px solid var(--color-rule);
  border-radius: var(--radius-lg);
  overflow: hidden;
  transition: transform var(--transition), box-shadow var(--transition);
  display: flex;
  flex-direction: column;
}

.zelus-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-lg);
}

.zelus-card__thumb {
  width: 100%;
  aspect-ratio: 16/9;
  background: var(--color-bg-alt);
  object-fit: cover;
}

.zelus-card__body {
  padding: var(--space-4) var(--space-6);
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.zelus-card__meta {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  flex-wrap: wrap;
}

.zelus-card__date {
  font-size: var(--text-xs);
  color: var(--color-text-mute);
}

.zelus-card__title {
  font-family: var(--font-serif);
  font-size: var(--text-lg);
  font-weight: 700;
  color: var(--color-text);
  line-height: 1.5;
  transition: color var(--transition);
}

.zelus-card:hover .zelus-card__title {
  color: var(--color-primary);
}

.zelus-card__excerpt {
  font-size: var(--text-sm);
  color: var(--color-text-mute);
  line-height: 1.7;
  flex: 1;
}

.zelus-card__footer {
  border-top: 1px solid var(--color-rule);
  padding: var(--space-3) var(--space-6);
  display: flex;
  justify-content: flex-end;
}

.zelus-card__link {
  font-size: var(--text-sm);
  font-weight: 600;
  color: var(--color-primary);
  display: flex;
  align-items: center;
  gap: 4px;
}

.zelus-card__link::after { content: '→'; }

/* カードグリッド */
.zelus-cards {
  display: grid;
  gap: var(--space-6);
}

.zelus-cards--3 { grid-template-columns: repeat(3, 1fr); }
.zelus-cards--4 { grid-template-columns: repeat(4, 1fr); }
.zelus-cards--2 { grid-template-columns: repeat(2, 1fr); }


/* =============================================================
   企業カード（カンパニーロゴ特化）
   ============================================================= */
.zelus-company-card {
  background: var(--color-bg-card);
  border: 1px solid var(--color-rule);
  border-radius: var(--radius-lg);
  padding: var(--space-6);
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  transition: transform var(--transition), box-shadow var(--transition);
  position: relative;
  overflow: hidden;
}

.zelus-company-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--color-primary), var(--color-accent));
}

.zelus-company-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-lg);
}

.zelus-company-card__logo {
  width: 60px;
  height: 60px;
  border-radius: var(--radius);
  background: var(--color-bg-alt);
  border: 1px solid var(--color-rule);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.zelus-company-card__logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 4px;
}

.zelus-company-card__name {
  font-family: var(--font-serif);
  font-size: var(--text-xl);
  font-weight: 700;
  color: var(--color-text);
}

.zelus-company-card__code {
  font-size: var(--text-xs);
  color: var(--color-text-mute);
  font-family: var(--font-mono);
}

.zelus-company-card__excerpt {
  font-size: var(--text-sm);
  color: var(--color-text-mute);
  line-height: 1.7;
  flex: 1;
}


/* =============================================================
   セクションヘッダー
   ============================================================= */
.zelus-section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: var(--space-8);
  padding-bottom: var(--space-4);
  border-bottom: 2px solid var(--color-rule);
}

.zelus-section-head__title {
  font-family: var(--font-serif);
  font-size: var(--text-2xl);
  font-weight: 700;
  color: var(--color-text);
  display: flex;
  align-items: center;
  gap: var(--space-3);
}

.zelus-section-head__title::before {
  content: '';
  display: block;
  width: 4px;
  height: 1.4em;
  background: var(--color-accent);
  border-radius: 2px;
}

.zelus-section-head__link {
  font-size: var(--text-sm);
  color: var(--color-primary);
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 4px;
  white-space: nowrap;
}

.zelus-section-head__link::after { content: '→'; }


/* =============================================================
   今週のポイントボックス
   ============================================================= */
.zelus-weekly-box {
  background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);
  border-radius: var(--radius-xl);
  padding: var(--space-8) var(--space-12);
  color: #fff;
  position: relative;
  overflow: hidden;
}

.zelus-weekly-box::before {
  content: 'WEEKLY CODEX';
  position: absolute;
  top: var(--space-4); right: var(--space-8);
  font-family: var(--font-deco);
  font-size: 2.5rem;
  color: rgba(255,255,255,.06);
  font-weight: 800;
  letter-spacing: 0.1em;
  pointer-events: none;
}

.zelus-weekly-box__label {
  font-family: var(--font-deco);
  font-size: var(--text-xs);
  letter-spacing: 0.2em;
  color: var(--color-accent);
  margin-bottom: var(--space-2);
}

.zelus-weekly-box__title {
  font-family: var(--font-serif);
  font-size: var(--text-2xl);
  font-weight: 700;
  margin-bottom: var(--space-6);
}

.zelus-weekly-box__content {
  font-size: var(--text-base);
  line-height: 1.9;
  color: rgba(255,255,255,.9);
}

.zelus-weekly-box__content p + p { margin-top: var(--space-3); }

.zelus-weekly-box__footer {
  margin-top: var(--space-6);
  font-size: var(--text-xs);
  color: rgba(255,255,255,.5);
  display: flex;
  align-items: center;
  gap: var(--space-3);
}

/* 自動更新ボタン（管理者のみ表示） */
.zelus-weekly-box__update-btn {
  background: rgba(255,255,255,.15);
  border: 1px solid rgba(255,255,255,.3);
  border-radius: var(--radius-sm);
  color: #fff;
  cursor: pointer;
  font-size: var(--text-xs);
  padding: 4px 10px;
  transition: all var(--transition);
}

.zelus-weekly-box__update-btn:hover { background: rgba(255,255,255,.25); }


/* =============================================================
   トレ助コメント枠（ニュース記事専用）
   ============================================================= */
.toresuke-comment {
  background: var(--color-bg-alt);
  border: 1px solid var(--color-rule);
  border-left: 4px solid var(--color-accent);
  border-radius: 0 var(--radius-lg) var(--radius-lg) 0;
  padding: var(--space-6);
  margin: var(--space-8) 0;
  display: flex;
  gap: var(--space-6);
  align-items: flex-start;
}

.toresuke-comment__avatar {
  width: 64px;
  height: 64px;
  flex-shrink: 0;
  border-radius: 50%;
  background: var(--color-bg-card);
  border: 2px solid var(--color-accent);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  overflow: hidden;
}

.toresuke-comment__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.toresuke-comment__body {}

.toresuke-comment__label {
  font-size: var(--text-xs);
  font-weight: 700;
  color: var(--color-accent);
  letter-spacing: 0.1em;
  margin-bottom: var(--space-2);
}

.toresuke-comment__name {
  font-family: var(--font-serif);
  font-size: var(--text-base);
  font-weight: 700;
  color: var(--color-text);
  margin-bottom: var(--space-3);
}

.toresuke-comment__text {
  font-size: var(--text-base);
  line-height: 1.85;
  color: var(--color-text);
}


/* =============================================================
   パンくずリスト
   ============================================================= */
.zelus-breadcrumb {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  font-size: var(--text-sm);
  color: var(--color-text-mute);
  margin-bottom: var(--space-6);
  flex-wrap: wrap;
}

.zelus-breadcrumb__sep { color: var(--color-rule); }

.zelus-breadcrumb a {
  color: var(--color-text-mute);
}

.zelus-breadcrumb a:hover {
  color: var(--color-primary);
}

/* =============================================================
   記事詳細ページ共通
   ============================================================= */
.zelus-article {
  max-width: var(--content-narrow);
  margin: 0 auto;
  padding: var(--space-12) var(--space-6);
}

.zelus-article__header {
  margin-bottom: var(--space-8);
  padding-bottom: var(--space-6);
  border-bottom: 2px solid var(--color-rule);
}

.zelus-article__title {
  font-family: var(--font-serif);
  font-size: var(--text-4xl);
  font-weight: 700;
  line-height: 1.35;
  color: var(--color-text);
  margin-top: var(--space-4);
  margin-bottom: var(--space-4);
}

.zelus-article__meta {
  display: flex;
  align-items: center;
  gap: var(--space-4);
  font-size: var(--text-sm);
  color: var(--color-text-mute);
  flex-wrap: wrap;
}

/* 本文スタイル */
.zelus-article__content {
  line-height: 1.9;
}

.zelus-article__content h2 {
  font-family: var(--font-serif);
  font-size: var(--text-2xl);
  font-weight: 700;
  margin: var(--space-12) 0 var(--space-4);
  padding-left: var(--space-4);
  border-left: 4px solid var(--color-accent);
  color: var(--color-primary);
}

.zelus-article__content h3 {
  font-family: var(--font-serif);
  font-size: var(--text-xl);
  font-weight: 700;
  margin: var(--space-8) 0 var(--space-3);
  color: var(--color-text);
}

.zelus-article__content p {
  margin-bottom: var(--space-4);
}

.zelus-article__content blockquote {
  background: var(--color-bg-alt);
  border-left: 4px solid var(--color-accent);
  padding: var(--space-4) var(--space-6);
  margin: var(--space-6) 0;
  border-radius: 0 var(--radius) var(--radius) 0;
  font-style: italic;
  color: var(--color-text-mute);
}

/* =============================================================
   年表（企業ストーリー専用）
   ============================================================= */
.zelus-timeline {
  position: relative;
  padding-left: var(--space-8);
  margin: var(--space-8) 0;
}

.zelus-timeline::before {
  content: '';
  position: absolute;
  top: 0; bottom: 0;
  left: 10px;
  width: 2px;
  background: linear-gradient(to bottom, var(--color-accent), var(--color-rule));
}

.zelus-timeline__item {
  position: relative;
  margin-bottom: var(--space-8);
}

.zelus-timeline__item::before {
  content: '';
  position: absolute;
  left: calc(var(--space-8) * -1 + 5px);
  top: 8px;
  width: 10px;
  height: 10px;
  background: var(--color-accent);
  border-radius: 50%;
  border: 2px solid var(--color-bg);
}

.zelus-timeline__year {
  font-family: var(--font-deco);
  font-size: var(--text-sm);
  font-weight: 700;
  color: var(--color-accent);
  letter-spacing: 0.1em;
  margin-bottom: var(--space-1);
}

.zelus-timeline__event {
  font-family: var(--font-serif);
  font-size: var(--text-lg);
  font-weight: 700;
  color: var(--color-text);
  margin-bottom: var(--space-2);
}

.zelus-timeline__desc {
  font-size: var(--text-sm);
  color: var(--color-text-mute);
  line-height: 1.75;
}


/* =============================================================
   フッター
   ============================================================= */
.zelus-footer {
  background: var(--color-primary-dark);
  color: rgba(255,255,255,.7);
  padding: var(--space-12) 0 var(--space-6);
  margin-top: var(--space-16);
}

.zelus-footer__inner {
  max-width: var(--content-max);
  margin: 0 auto;
  padding: 0 var(--space-6);
}

.zelus-footer__top {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: var(--space-8);
  margin-bottom: var(--space-8);
  padding-bottom: var(--space-8);
  border-bottom: 1px solid rgba(255,255,255,.1);
}

.zelus-footer__brand .zelus-logo__en { font-size: var(--text-2xl); }
.zelus-footer__brand .zelus-logo__ja { margin-top: var(--space-1); }
.zelus-footer__brand p {
  margin-top: var(--space-4);
  font-size: var(--text-sm);
  line-height: 1.8;
}

.zelus-footer__nav h3 {
  font-size: var(--text-sm);
  font-weight: 700;
  color: rgba(255,255,255,.9);
  letter-spacing: 0.1em;
  margin-bottom: var(--space-4);
}

.zelus-footer__nav ul { list-style: none; }
.zelus-footer__nav li { margin-bottom: var(--space-2); }
.zelus-footer__nav a {
  color: rgba(255,255,255,.6);
  font-size: var(--text-sm);
  transition: color var(--transition);
}

.zelus-footer__nav a:hover { color: var(--color-accent); }

.zelus-footer__bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: var(--text-xs);
  color: rgba(255,255,255,.4);
  flex-wrap: wrap;
  gap: var(--space-4);
}


/* =============================================================
   ボタン
   ============================================================= */
.zelus-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  font-size: var(--text-sm);
  font-weight: 600;
  padding: var(--space-3) var(--space-6);
  border-radius: var(--radius);
  border: none;
  cursor: pointer;
  transition: all var(--transition);
  text-decoration: none;
  letter-spacing: 0.03em;
}

.zelus-btn--primary {
  background: var(--color-primary);
  color: #fff;
}

.zelus-btn--primary:hover {
  background: var(--color-primary-dark);
  color: #fff;
  transform: translateY(-1px);
  box-shadow: var(--shadow);
}

.zelus-btn--accent {
  background: var(--color-accent);
  color: #fff;
}

.zelus-btn--accent:hover {
  background: var(--color-accent-dark);
  color: #fff;
  transform: translateY(-1px);
}

.zelus-btn--outline {
  background: transparent;
  color: var(--color-primary);
  border: 2px solid var(--color-primary);
}

.zelus-btn--outline:hover {
  background: var(--color-primary);
  color: #fff;
}

.zelus-btn--lg {
  font-size: var(--text-base);
  padding: var(--space-4) var(--space-8);
}

/* 「もっと見る」リンク */
.zelus-more-link {
  display: flex;
  justify-content: center;
  margin-top: var(--space-8);
}


/* =============================================================
   ヒーローセクション（TOPページ）
   ============================================================= */
.zelus-hero {
  background:
  linear-gradient(rgba(40, 24, 8, 0.18), rgba(40, 24, 8, 0.18)),
  url("https://orcaarchive.com/wp-content/uploads/2026/05/oldpaper.jpg");
background-size: cover;
background-position: center;
  color: #fff;
  padding: var(--space-16) 0;
  text-align: center;
  position: relative;
  overflow: hidden;
}

.zelus-hero::before {
  content: '';
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  font-family: var(--font-deco);
  font-size: clamp(4rem, 15vw, 12rem);
  color: rgba(255,255,255,.04);
  font-weight: 800;
  letter-spacing: 0.08em;
  white-space: nowrap;
  pointer-events: none;
}

.zelus-hero__inner { position: relative; z-index: 1; }

.zelus-hero__label {
  font-family: var(--font-deco);
  font-size: var(--text-xs);
  letter-spacing: 0.3em;
  color: var(--color-accent);
  margin-bottom: var(--space-4);
}

.zelus-hero__title {
  font-family: var(--font-serif);
  font-size: clamp(var(--text-3xl), 5vw, 3.5rem);
  font-weight: 700;
  line-height: 1.35;
  margin-bottom: var(--space-4);
}

.zelus-hero__sub {
  font-size: var(--text-lg);
  color: rgba(255,255,255,.8);
  margin-bottom: var(--space-8);
}


/* =============================================================
   ニュースリスト（横ライン形式）
   ============================================================= */
.zelus-news-list {
  list-style: none;
}

.zelus-news-list__item {
  display: flex;
  align-items: flex-start;
  gap: var(--space-4);
  padding: var(--space-4) 0;
  border-bottom: 1px solid var(--color-rule);
}

.zelus-news-list__item:last-child { border-bottom: none; }

.zelus-news-list__date {
  font-size: var(--text-xs);
  color: var(--color-text-mute);
  white-space: nowrap;
  padding-top: 3px;
  min-width: 90px;
  font-family: var(--font-mono);
}

.zelus-news-list__title {
  font-size: var(--text-base);
  font-weight: 600;
  color: var(--color-text);
  line-height: 1.55;
  transition: color var(--transition);
}

.zelus-news-list__item:hover .zelus-news-list__title {
  color: var(--color-primary);
}


/* =============================================================
   管理者ツールバー（Claude API ボタン）
   ============================================================= */
.zelus-admin-bar {
  display: none; /* 管理者ログイン時のみ表示（PHPで制御） */
  background: var(--color-bg-alt);
  border: 1px solid var(--color-rule);
  border-radius: var(--radius);
  padding: var(--space-4) var(--space-6);
  margin-bottom: var(--space-6);
  align-items: center;
  gap: var(--space-4);
  flex-wrap: wrap;
}

.zelus-admin-bar.is-visible {
  display: flex;
}

.zelus-admin-bar__label {
  font-size: var(--text-xs);
  font-weight: 700;
  color: var(--color-text-mute);
  letter-spacing: 0.1em;
}

.zelus-admin-btn {
  background: var(--color-primary);
  color: #fff;
  border: none;
  border-radius: var(--radius-sm);
  padding: var(--space-2) var(--space-4);
  font-size: var(--text-sm);
  font-weight: 600;
  cursor: pointer;
  transition: all var(--transition);
  display: flex;
  align-items: center;
  gap: var(--space-2);
}

.zelus-admin-btn:hover {
  background: var(--color-primary-dark);
  transform: translateY(-1px);
}

.zelus-admin-btn--news { background: var(--color-news); }
.zelus-admin-btn--news:hover { background: #0B5A46; }

.zelus-admin-btn--weekly { background: var(--color-accent); }
.zelus-admin-btn--weekly:hover { background: var(--color-accent-dark); }


/* =============================================================
   ローディングスピナー（API通信中）
   ============================================================= */
.zelus-spinner {
  display: inline-block;
  width: 16px;
  height: 16px;
  border: 2px solid rgba(255,255,255,.3);
  border-top-color: #fff;
  border-radius: 50%;
  animation: spin 0.6s linear infinite;
  vertical-align: middle;
}

@keyframes spin { to { transform: rotate(360deg); } }

.zelus-spinner--dark {
  border-color: rgba(27,74,138,.2);
  border-top-color: var(--color-primary);
}

/* =============================================================
   レスポンシブ対応
   ============================================================= */
@media (max-width: 1024px) {
  .zelus-cards--4 { grid-template-columns: repeat(2, 1fr); }
  .zelus-footer__top { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 768px) {
  .zelus-nav { display: none; }
  .zelus-nav.is-open {
    display: flex;
    flex-direction: column;
    position: absolute;
    top: 64px; left: 0; right: 0;
    background: var(--color-primary-dark);
    padding: var(--space-4);
    z-index: 99;
    border-top: 1px solid rgba(255,255,255,.1);
  }
  .zelus-hamburger { display: flex; }
  .zelus-dark-toggle { display: none; }

  .zelus-cards--3 { grid-template-columns: 1fr 1fr; }
  .zelus-cards--2 { grid-template-columns: 1fr; }
  .zelus-cards--4 { grid-template-columns: 1fr; }

  .zelus-weekly-box { padding: var(--space-6); }
  .zelus-weekly-box::before { display: none; }

  .zelus-footer__top { grid-template-columns: 1fr; }

  .zelus-article__title { font-size: var(--text-3xl); }

  .toresuke-comment { flex-direction: column; }
}

@media (max-width: 480px) {
  .zelus-cards--3 { grid-template-columns: 1fr; }
  .zelus-section-head { flex-direction: column; align-items: flex-start; gap: var(--space-3); }
  .zelus-article__title { font-size: var(--text-2xl); }
}/* ============================================================


/* =============================================================
   2. Company story article components: zc / zcfr
   ============================================================= */
   企業ストーリー詳細ページ用CSS（ソフトバンク・ファストリテイリング等）
   zelus-style.css の末尾に追記
   ============================================================ */

/* ── ティッカーバー ── */
.zc-wrap,.zcfr-wrap{max-width:860px;margin:0 auto;font-family:'Noto Sans JP','Inter',sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased;}
.zc-wrap *,.zcfr-wrap *{box-sizing:border-box;}

.zc-ticker,.zcfr-ticker{background:#fff;border:1px solid #e4ddc9;border-radius:10px;padding:1rem 1.4rem;margin-bottom:2.5rem;display:flex;align-items:center;gap:1rem;flex-wrap:wrap;box-shadow:0 1px 2px rgba(10,36,71,.04);}
.zc-ticker-code,.zcfr-ticker-code{font-family:'Cinzel',serif;font-size:15px;font-weight:800;letter-spacing:.1em;color:#0a2447;}
.zc-ticker-tag,.zcfr-ticker-tag{font-size:10px;color:#6b7280;padding:2px 8px;border:1px solid #e4ddc9;border-radius:3px;letter-spacing:.06em;}
.zc-ticker-name,.zcfr-ticker-name{font-size:13px;color:#3b475c;}
.zc-ticker-price,.zcfr-ticker-price{font-size:26px;font-weight:800;letter-spacing:-.03em;margin-left:auto;color:#0a2447;}
.zc-ticker-badge,.zcfr-ticker-badge{font-size:12px;font-weight:700;padding:3px 10px;border-radius:4px;}
.zc-badge-up,.zcfr-badge-up{background:#ecfdf5;color:#15803d;}
.zc-badge-dn,.zcfr-badge-dn{background:#eaf2fb;color:#1b4a8a;}
.zc-ticker-loading,.zcfr-loading{font-size:13px;color:#6b7280;margin-left:auto;animation:zc-blink 1.4s ease-in-out infinite;}
@keyframes zc-blink{0%,100%{opacity:1}50%{opacity:.3}}

/* ── ヒーロー ── */
.zc-hero,.zcfr-hero{margin-bottom:3rem;}
.zc-eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-family:'Cinzel',serif;font-size:11px;letter-spacing:.24em;color:#1b4a8a;font-weight:700;margin-bottom:.9rem;padding:4px 10px;background:#eaf2fb;border-radius:3px;}
.zcfr-eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-family:'Cinzel',serif;font-size:11px;letter-spacing:.24em;color:#1b4a8a;font-weight:700;margin-bottom:.9rem;padding:4px 10px;background:#eaf2fb;border-radius:3px;}
.zc-h1,.zcfr-h1{font-family:'Noto Serif JP',serif;font-weight:900;font-size:clamp(2.2rem,5vw,3.4rem);line-height:1.1;letter-spacing:.02em;color:#0a2447;margin-bottom:1.1rem;}
.zc-lead,.zcfr-lead{font-size:15px;color:#3b475c;line-height:2;max-width:640px;}

/* ── セクション ── */
.zc-sec-head,.zcfr-sec-head{display:flex;align-items:baseline;gap:.8rem;margin-bottom:.6rem;margin-top:3rem;}
.zc-sec-num,.zcfr-sec-num{font-family:'Cinzel',serif;font-size:11px;font-weight:700;color:#c9a24a;letter-spacing:.12em;}
.zc-sec-title,.zcfr-sec-title{font-family:'Noto Serif JP',serif;font-size:16px;font-weight:700;color:#0a2447;letter-spacing:.06em;}
.zc-rule{height:1px;background:#e4ddc9;margin-bottom:1.8rem;position:relative;}
.zc-rule::before{content:'';position:absolute;left:0;top:0;width:40px;height:1px;background:#c9a24a;}
.zcfr-rule{height:1px;background:#e4ddc9;margin-bottom:1.8rem;position:relative;}
.zcfr-rule::before{content:'';position:absolute;left:0;top:0;width:40px;height:1px;background:#1b4a8a;}

/* ── タイムライン ── */
.zc-tl,.zcfr-tl{position:relative;padding-left:2.4rem;}
.zc-tl::before,.zcfr-tl::before{content:'';position:absolute;left:8px;top:10px;bottom:10px;width:1px;background:#d9d1bb;}
.zc-tl-item,.zcfr-tl-item{position:relative;margin-bottom:2.4rem;}
.zc-tl-dot,.zcfr-tl-dot{position:absolute;left:-2.4rem;top:6px;width:14px;height:14px;border-radius:50%;border:2px solid #d9d1bb;background:#fbfaf6;}
.zc-tl-item.hl .zc-tl-dot{background:#1b4a8a;border-color:#1b4a8a;box-shadow:0 0 0 3px #d6e6f5;}
.zcfr-tl-item.hl .zcfr-tl-dot{background:#1b4a8a;border-color:#1b4a8a;box-shadow:0 0 0 3px #eaf2fb;}
.zc-tl-year,.zcfr-tl-year{font-family:'Cinzel',serif;font-size:11px;font-weight:700;letter-spacing:.1em;color:#6b7280;margin-bottom:.35rem;}
.zc-tl-item.hl .zc-tl-year{color:#1b4a8a;}
.zcfr-tl-item.hl .zcfr-tl-year{color:#1b4a8a;}
.zc-tl-title,.zcfr-tl-title{font-family:'Noto Serif JP',serif;font-size:15px;font-weight:700;color:#111827;margin-bottom:.5rem;}
.zc-tl-body,.zcfr-tl-body{font-size:13.5px;color:#3b475c;line-height:1.9;}

/* ── 事業カード ── */
.zc-biz-grid,.zcfr-biz-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;}
.zc-biz-card{background:#fff;border:1px solid #e4ddc9;border-radius:10px;border-top:3px solid #1b4a8a;padding:1.1rem 1.2rem;box-shadow:0 1px 2px rgba(10,36,71,.04);}
.zcfr-biz-card{background:#fff;border:1px solid #e4ddc9;border-radius:10px;border-top:3px solid #1b4a8a;padding:1.1rem 1.2rem;box-shadow:0 1px 2px rgba(10,36,71,.04);}
.zc-biz-num,.zcfr-biz-num{font-family:'Cinzel',serif;font-size:10px;color:#c9a24a;letter-spacing:.12em;margin-bottom:.4rem;}
.zc-biz-name,.zcfr-biz-name{font-family:'Noto Serif JP',serif;font-size:15px;font-weight:700;color:#0a2447;margin-bottom:.5rem;}
.zc-biz-desc,.zcfr-biz-desc{font-size:12.5px;color:#3b475c;line-height:1.75;}

/* ── 指標グリッド ── */
.zc-metrics,.zcfr-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;}
.zc-metric,.zcfr-metric{background:#fff;border:1px solid #e4ddc9;border-radius:6px;padding:1rem 1.1rem;}
.zc-metric-label,.zcfr-metric-label{font-size:11px;color:#6b7280;margin-bottom:.4rem;letter-spacing:.06em;}
.zc-metric-val,.zcfr-metric-val{font-size:21px;font-weight:700;color:#0a2447;letter-spacing:-.02em;}
.zc-metric-note,.zcfr-metric-note{font-size:11px;color:#6b7280;margin-top:.25rem;}
.zc-skel,.zcfr-skel{font-size:21px;font-weight:700;color:#d9d1bb;animation:zc-blink 1.4s ease-in-out infinite;}
.zc-data-note,.zcfr-data-note{font-size:11px;color:#6b7280;margin-top:.85rem;}

/* ── インサイト ── */
.zc-insight{background:#eaf2fb;border-left:3px solid #1b4a8a;border-radius:0 6px 6px 0;padding:1.2rem 1.5rem;margin-top:2rem;}
.zc-insight-label{font-family:'Cinzel',serif;font-size:11px;letter-spacing:.2em;color:#1b4a8a;font-weight:700;margin-bottom:.5rem;}
.zc-insight-body{font-size:13.5px;color:#3b475c;line-height:1.9;}
.zcfr-insight{background:#eaf2fb;border-left:3px solid #1b4a8a;border-radius:0 6px 6px 0;padding:1.2rem 1.5rem;margin-top:2rem;}
.zcfr-insight-label{font-family:'Cinzel',serif;font-size:11px;letter-spacing:.2em;color:#1b4a8a;font-weight:700;margin-bottom:.5rem;}
.zcfr-insight-body{font-size:13.5px;color:#3b475c;line-height:1.9;}

/* ── アコーディオン（ソフトバンク：紺） ── */
.zc-accordion,.zcfr-accordion{margin-top:3rem;border-top:2px solid #e4ddc9;padding-top:2.5rem;}
.zc-acc-btn{width:100%;background:linear-gradient(135deg,#0a2447 0%,#1b4a8a 100%);color:#fff;border:none;border-radius:10px;padding:1.4rem 2rem;display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-family:'Noto Serif JP',serif;font-size:16px;font-weight:700;letter-spacing:.05em;transition:opacity .2s;}
.zc-acc-btn:hover{opacity:.9;}
/* ── アコーディオン（ファストリテイリング：赤） ── */
.zcfr-acc-btn{width:100%;background:linear-gradient(135deg,#0a2447 0%,#1b4a8a 100%);color:#fff;border:none;border-radius:10px;padding:1.4rem 2rem;display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-family:'Noto Serif JP',serif;font-size:16px;font-weight:700;letter-spacing:.05em;transition:opacity .2s;}
.zcfr-acc-btn:hover{opacity:.9;}

.zc-btn-inner,.zcfr-btn-inner{display:flex;align-items:center;gap:1rem;}
.zc-acc-sub,.zcfr-acc-sub{font-size:11px;font-family:'Cinzel',serif;letter-spacing:.2em;color:rgba(255,255,255,.8);font-weight:600;display:block;margin-bottom:3px;}
.zc-acc-arrow,.zcfr-acc-arrow{width:28px;height:28px;border:1.5px solid rgba(255,255,255,.35);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .3s;}
.zc-acc-btn.open .zc-acc-arrow,.zcfr-acc-btn.open .zcfr-acc-arrow{transform:rotate(180deg);}
.zc-acc-body,.zcfr-acc-body{display:none;margin-top:2rem;padding:2rem 2.5rem;background:#fff;border:1px solid #e4ddc9;border-radius:10px;box-shadow:0 2px 8px rgba(10,36,71,.05);}
.zc-acc-body.open,.zcfr-acc-body.open{display:block;}

/* ── 詳細ストーリー本文 ── */
.zc-story h2,.zcfr-story h2{font-family:'Noto Serif JP',serif;font-size:18px;font-weight:700;color:#0a2447;margin:2.5rem 0 .8rem;padding-left:1rem;line-height:1.55;}
.zc-story h2:first-child,.zcfr-story h2:first-child{margin-top:0;}
.zc-story h2{border-left:3px solid #c9a24a;}
.zcfr-story h2{border-left:3px solid #1b4a8a;}
.zc-story p,.zcfr-story p{font-size:14.5px;color:#3b475c;line-height:2;margin-bottom:1.2rem;}
.zc-story p:last-child,.zcfr-story p:last-child{margin-bottom:0;}

@media(max-width:600px){
  .zc-metrics,.zcfr-metrics{grid-template-columns:repeat(2,1fr);}
  .zc-h1,.zcfr-h1{font-size:2.2rem;}
  .zc-acc-body,.zcfr-acc-body{padding:1.5rem 1.2rem;}
}


/* =============================================================
   3. Search UI / company autocomplete
   ============================================================= */

/* ------------------------------------------------------------
   D-2. サイト全体検索バー（B-3）
   ------------------------------------------------------------ */
.zelus-search-bar-section {
  background: var(--color-bg-alt);
  padding: var(--space-6) 0;
  border-bottom: 1px solid var(--color-rule);
}

.zelus-search-bar {
  display: flex;
  max-width: 600px;
  margin: 0 auto;
  background: var(--color-bg-card);
  border: 1px solid var(--color-rule);
  border-radius: var(--radius);
  overflow: hidden;
  transition: border-color 0.2s, box-shadow 0.2s;
}

.zelus-search-bar:focus-within {
  border-color: var(--color-accent);
  box-shadow: 0 0 0 3px rgba(201,162,74,.15);
}

.zelus-search-bar__input {
  flex: 1;
  border: none;
  background: transparent;
  padding: var(--space-3) var(--space-4);
  font-family: var(--font-sans);
  font-size: var(--text-base);
  color: var(--color-text);
  outline: none;
}

.zelus-search-bar__input::placeholder {
  color: var(--color-text-mute);
}

.zelus-search-bar__btn {
  background: var(--color-primary);
  color: #fff;
  border: none;
  padding: 0 var(--space-5);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .2s;
}

.zelus-search-bar__btn:hover {
  background: var(--color-accent);
}

.zelus-search-bar__btn svg {
  width: 18px;
  height: 18px;
}


/* ------------------------------------------------------------
   D-3. 企業オートコンプリート検索（C-1）
   ------------------------------------------------------------ */
.zelus-company-search {
  position: relative;
  flex: 1;
  max-width: 320px;
  margin: 0 var(--space-4);
}

.zelus-company-search--hero {
  max-width: 480px;
  margin: var(--space-6) auto 0;
}

.zelus-company-search__input {
  width: 100%;
  padding: var(--space-2) var(--space-4);
  border: 1px solid var(--color-rule);
  border-radius: var(--radius);
  background: var(--color-bg-card);
  color: var(--color-text);
  font-family: var(--font-sans);
  font-size: var(--text-sm);
  outline: none;
  transition: border-color .2s, box-shadow .2s;
  box-sizing: border-box;
}

.zelus-company-search--hero .zelus-company-search__input {
  padding: var(--space-3) var(--space-4);
  font-size: var(--text-base);
  background: rgba(255,255,255,.95);
  color: #111;
}

.zelus-company-search__input:focus {
  border-color: var(--color-accent);
  box-shadow: 0 0 0 3px rgba(201,162,74,.15);
}

.zelus-company-search__results {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  margin-top: 4px;
  background: var(--color-bg-card);
  border: 1px solid var(--color-rule);
  border-radius: var(--radius);
  box-shadow: 0 8px 24px rgba(0,0,0,.12);
  list-style: none;
  padding: 0;
  max-height: 320px;
  overflow-y: auto;
  z-index: 100;
}

.zelus-company-search__results[hidden] {
  display: none;
}

.zelus-company-search__item {
  padding: var(--space-3) var(--space-4);
  cursor: pointer;
  border-bottom: 1px solid var(--color-rule);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--space-3);
  color: var(--color-text);
  text-decoration: none;
}

.zelus-company-search__item:last-child {
  border-bottom: none;
}

.zelus-company-search__item:hover,
.zelus-company-search__item--active {
  background: var(--color-bg-alt);
  color: var(--color-accent);
}

.zelus-company-search__item-name {
  font-weight: 500;
}

.zelus-company-search__item-code {
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  color: var(--color-text-mute);
  flex-shrink: 0;
}

.zelus-company-search__empty {
  padding: var(--space-4);
  text-align: center;
  color: var(--color-text-mute);
  font-size: var(--text-sm);
  list-style: none;
}


/* ------------------------------------------------------------
   F. zelus-section-head のレイアウト微調整（検索ボックスあり版）
   ------------------------------------------------------------ */
.zelus-section-head--with-search {
  display: flex;
  align-items: center;
  gap: var(--space-4);
  flex-wrap: wrap;
}

.zelus-section-head--with-search .zelus-section-head__title {
  margin-right: auto;
}


/* ------------------------------------------------------------
   レスポンシブ（モバイル対応）
   ------------------------------------------------------------ */
@media (max-width: 768px) {
  .zelus-company-search {
    max-width: 100%;
    margin: var(--space-3) 0 0;
    flex-basis: 100%;
  }

  .zelus-section-head--with-search {
    flex-wrap: wrap;
  }

  .zelus-company-search--hero {
    max-width: 100%;
  }
}


/* =============================================================
   4. Company story hero
   ============================================================= */
.zelus-companystory-hero {
  background: linear-gradient(135deg, var(--color-primary-dark) 0%, var(--color-primary) 60%, #2A5F9E 100%);
  color: #fff;
  padding: var(--space-12) 0;
}

.zelus-companystory-hero__inner {
  display: flex;
  align-items: flex-start;
  gap: var(--space-6);
  flex-wrap: wrap;
}

.zelus-companystory-hero__logo {
  flex-shrink: 0;
  background: rgba(255,255,255,.12);
  border-radius: var(--radius);
  padding: var(--space-3) var(--space-4);
}

.zelus-companystory-hero__text {
  flex: 1;
  min-width: 200px;
}

.zelus-companystory-hero__title {
  font-family: var(--font-serif);
  font-size: var(--text-3xl);
  font-weight: 700;
  color: #fff;
  margin: 0 0 var(--space-3);
  line-height: 1.3;
}

.zelus-companystory-hero__tagline {
  font-size: var(--text-sm);
  color: rgba(255,255,255,.75);
  margin: 0 0 var(--space-4);
}

/* 銘柄情報バッジ群 */
.zelus-companystory-hero__meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  margin-top: var(--space-3);
}

.zelus-companystory-hero__badge {
  display: inline-block;
  font-size: var(--text-xs);
  padding: 4px 12px;
  border-radius: 999px;
  font-weight: 600;
  letter-spacing: .04em;
}

/* 証券コード：白背景 + 紺文字（目立たせる） */
.zelus-companystory-hero__badge--code {
  background: rgba(255,255,255,.95);
  color: var(--color-primary-dark);
  font-size: var(--text-sm);
  font-weight: 700;
  padding: 4px 14px;
}

/* 市場区分：半透明白枠 */
.zelus-companystory-hero__badge--market {
  background: rgba(255,255,255,.15);
  border: 1px solid rgba(255,255,255,.5);
  color: #fff;
}

/* 正式名称：半透明 */
.zelus-companystory-hero__badge--formal {
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.3);
  color: rgba(255,255,255,.9);
}

/* 業種：アクセントカラー系 */
.zelus-companystory-hero__badge--industry {
  background: rgba(201,162,74,.25);
  border: 1px solid rgba(201,162,74,.6);
  color: #f5d98a;
}



/* =============================================================
   5. Article readability sizing
   ============================================================= */
/* ================================================================
   本文サイズの可読性向上（Forbes等の主要メディア標準に合わせる）
   ================================================================ */
.zelus-article__content {
  font-size: 18px;
  line-height: 1.9;
}

.zelus-article__content p {
  font-size: 18px;
  line-height: 1.9;
}

/* モバイルでは少し小さく */
@media (max-width: 768px) {
  .zelus-article__content,
  .zelus-article__content p {
    font-size: 17px;
  }
}
/* ================================================================
   文字サイズ全体調整
   ================================================================ */

/* タイムライン本文・タイトル */
.zc-tl-body, .zcfr-tl-body {
  font-size: 16px !important;
  line-height: 1.9;
}
.zc-tl-title, .zcfr-tl-title {
  font-size: 20px !important;
}

/* 事業カード */
.zc-biz-desc, .zcfr-biz-desc {
  font-size: 15px !important;
}
.zc-biz-name, .zcfr-biz-name {
  font-size: 20px !important;
}

/* 記事リード文（グレーの説明文） */
.zelus-article__content > p:first-of-type,
.zelus-article__lead {
  font-size: 18px !important;
  line-height: 1.85;
}

/* SECTORバー（業種・説明行） */
.zelus-article__meta,
.zelus-article__meta a,
.zelus-article__meta span {
  font-size: 15px !important;
}
/* タイトル（ファーストリテイリング等） */
.zcfr-h1 {
  font-size: clamp(2.5rem, 3.2vw, 3.2rem) !important;
}

/* SECTORバー */
.zcfr-hero [style*="font-size:10px"],
.zcfr-hero [style*="font-size: 10px"],
.zcfr-hero [style*="font-size:11px"],
.zcfr-hero [style*="font-size: 11px"],
.zcfr-hero [style*="font-size:13px"],
.zcfr-hero [style*="font-size: 13px"] {
  font-size: 15px !important;
}
.zelus-logo__img {
  height: 150px;
  width: auto;
  display: block;
}


/* =============================================================
   6. ORCA common utilities
   ============================================================= */
/* ========================================
   ORCA Archive v2
   2026 Rebuild System
======================================== */
/* ========================================
ORCA Global Structure System
======================================== */

.orca-container{
max-width:1200px;
margin:0 auto;
padding:0 32px;
}

.orca-story-wrap{
position:relative;
z-index:2;
}

.orca-section{
position:relative;
margin:120px 0;
}

.orca-section-title{
font-size:clamp(28px,4vw,48px);
line-height:1.4;
letter-spacing:.04em;
}

.orca-text{
font-size:17px;
line-height:2.1;
letter-spacing:.03em;
}
/* ========================================
ORCA Exploration Atmosphere
======================================== */

.orca-story-wrap{
position:relative;
}

.orca-story-wrap::before{
content:"";
position:absolute;
inset:0;
pointer-events:none;
opacity:.035;
background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220' viewBox='0 0 220 220'%3E%3Cg fill='none' stroke='%23c8a46a' stroke-width='1'%3E%3Cpath d='M40 40h140v140H40z'/%3E%3Cpath d='M70 70h80v80H70z'/%3E%3Ccircle cx='110' cy='110' r='12'/%3E%3C/g%3E%3C/svg%3E");
background-size:220px;
mix-blend-mode:multiply;
}
/* ========================================
ORCA Company Hero Alignment
======================================== */

.orca-company-hero-inner{
max-width:860px;
}
/* ========================================
ORCA Company Hero Alignment
======================================== */

.orca-company-hero-title{
padding-left:0;
box-sizing:border-box;
}


/* =============================================================
   7. ORCA global visual system
   全ページ共通：古紙 / 金 / 茶 / 読みやすい墨色
   ============================================================= */
:root {
  --color-primary: #6d4c24;
  --color-primary-dark: #2a1d12;
  --color-company: #7b5a2d;
  --color-accent: #c49a4a;
  --color-accent-dark: #9b6a28;

  --orca-ink: #24180f;
  --orca-ink-soft: #3d2c1d;
  --orca-body: #463421;
  --orca-muted: #6f5a3b;
  --orca-gold: #c49a4a;
  --orca-gold-dark: #9b6a28;
  --orca-brown: #6b4a24;
  --orca-paper: #f3ead7;
  --orca-paper-panel: #fbf3df;
  --orca-paper-deep: #ead7ad;
  --orca-dark-bg: #120d09;
  --orca-dark-panel: #1d1711;
  --orca-dark-ink: #f0dfbf;
  --orca-dark-body: #d7c6a8;
}

/* Header */
#zelus-header,
.zelus-header {
  background: linear-gradient(180deg, rgba(58,43,28,.98) 0%, rgba(78,58,38,.96) 100%) !important;
  border-bottom: 1px solid rgba(218,179,101,.28) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.18) !important;
}

.zelus-nav__link { color: #f3e4c3 !important; }
.zelus-nav__link:hover,
.zelus-nav__link.current {
  background: rgba(214,184,128,.16) !important;
  color: #fff3d6 !important;
}
.zelus-dark-toggle {
  background: rgba(245,231,200,.12) !important;
  border: 1px solid rgba(245,231,200,.24) !important;
  color: #f5e7c8 !important;
}

body.admin-bar .zelus-header { top: 32px; }
@media (max-width: 782px) { body.admin-bar .zelus-header { top: 46px; } }

/* Non-home pages */
body:not(.home) {
  background:
    radial-gradient(circle at 20% 10%, rgba(255,255,255,.35), transparent 30%),
    radial-gradient(circle at 80% 20%, rgba(196,154,74,.12), transparent 28%),
    linear-gradient(180deg, #f1e4c9 0%, #ead8b4 100%) !important;
  color: var(--orca-body) !important;
}
body:not(.home) #container,
body:not(.home) .content,
body:not(.home) .main,
body:not(.home) main,
body:not(.home) #main,
body:not(.home) .article,
body:not(.home) .entry-content,
body:not(.home) .zelus-section,
body:not(.home) .zelus-article,
body:not(.home) .zelus-article__content,
body:not(.home) .zc-wrap,
body:not(.home) .zcfr-wrap {
  background: transparent !important;
}
body:not(.home) h1,
body:not(.home) h2,
body:not(.home) h3,
body:not(.home) h4,
body:not(.home) .entry-title,
body:not(.home) .zelus-article__title,
body:not(.home) .zc-h1,
body:not(.home) .zcfr-h1,
body:not(.home) .zc-tl-title,
body:not(.home) .zcfr-tl-title,
body:not(.home) .zc-biz-name,
body:not(.home) .zcfr-biz-name,
body:not(.home) .zc-metric-val,
body:not(.home) .zcfr-metric-val,
body:not(.home) .zelus-card__title,
body:not(.home) .zelus-company-card__name {
  color: var(--orca-ink) !important;
}
body:not(.home) p,
body:not(.home) li,
body:not(.home) .zc-lead,
body:not(.home) .zcfr-lead,
body:not(.home) .zc-tl-body,
body:not(.home) .zcfr-tl-body,
body:not(.home) .zc-biz-desc,
body:not(.home) .zcfr-biz-desc,
body:not(.home) .zc-story p,
body:not(.home) .zcfr-story p,
body:not(.home) .zelus-article__content p { color: var(--orca-body) !important; }
body:not(.home) .zc-ticker-name,
body:not(.home) .zcfr-ticker-name,
body:not(.home) .zc-metric-note,
body:not(.home) .zcfr-metric-note,
body:not(.home) .zc-data-note,
body:not(.home) .zcfr-data-note,
body:not(.home) .zelus-card__excerpt,
body:not(.home) .zelus-card__date { color: var(--orca-muted) !important; }
body:not(.home) a,
body:not(.home) .zelus-card__link,
body:not(.home) .zelus-section-head__link,
body:not(.home) .zelus-breadcrumb a,
body:not(.home) .zc-tl-year,
body:not(.home) .zcfr-tl-year,
body:not(.home) .zc-sec-num,
body:not(.home) .zcfr-sec-num,
body:not(.home) .zc-sec-title,
body:not(.home) .zcfr-sec-title,
body:not(.home) .zc-biz-num,
body:not(.home) .zcfr-biz-num { color: var(--orca-gold-dark) !important; }
body:not(.home) a:hover { color: var(--orca-brown) !important; }

body:not(.home) .zelus-badge,
body:not(.home) .zelus-badge--company,
body:not(.home) .zelus-badge--company-outline,
body:not(.home) .zelus-tag,
body:not(.home) .zelus-label,
body:not(.home) [class*="badge"] {
  background: var(--orca-brown) !important;
  border-color: var(--orca-brown) !important;
  color: #fff8e8 !important;
}
body:not(.home) .zc-eyebrow,
body:not(.home) .zcfr-eyebrow,
body:not(.home) .zelus-article_label,
body:not(.home) .zelus-label-company,
body:not(.home) [class*="eyebrow"] {
  background: rgba(251,243,223,.96) !important;
  color: var(--orca-brown) !important;
  border: 1px solid rgba(196,154,74,.38) !important;
}

body:not(.home) .zelus-card,
body:not(.home) .zelus-company-card,
body:not(.home) .zc-biz-card,
body:not(.home) .zcfr-biz-card,
body:not(.home) .zc-metric,
body:not(.home) .zcfr-metric,
body:not(.home) .zc-insight,
body:not(.home) .zcfr-insight,
body:not(.home) .zc-ticker,
body:not(.home) .zcfr-ticker {
  background:
    radial-gradient(circle at 18% 20%, rgba(255,255,255,.38), transparent 34%),
    linear-gradient(180deg, #fbf1d8 0%, #edd9aa 100%) !important;
  border: 1px solid rgba(129,97,44,.24) !important;
  border-top-color: var(--orca-gold) !important;
  box-shadow: 0 8px 18px rgba(75,50,20,.08) !important;
}
body:not(.home) .zelus-card__footer,
body:not(.home) .zelus-company-card__footer {
  background: rgba(229,201,143,.45) !important;
  border-top: 1px solid rgba(118,78,31,.18) !important;
}
body:not(.home) .zc-rule,
body:not(.home) .zcfr-rule,
body:not(.home) .zelus-section-head {
  background: rgba(129,97,44,.18) !important;
  border-color: rgba(129,97,44,.22) !important;
}
body:not(.home) .zc-rule::before,
body:not(.home) .zcfr-rule::before,
body:not(.home) .zelus-section-head__title::before { background: var(--orca-gold) !important; }
body:not(.home) .zc-tl::before,
body:not(.home) .zcfr-tl::before,
body:not(.home) .zelus-timeline::before { background: rgba(129,97,44,.26) !important; }
body:not(.home) .zc-tl-dot,
body:not(.home) .zcfr-tl-dot,
body:not(.home) .zelus-timeline__item::before {
  background: var(--orca-paper) !important;
  border-color: rgba(129,97,44,.38) !important;
}
body:not(.home) .zc-tl-item.hl .zc-tl-dot,
body:not(.home) .zcfr-tl-item.hl .zcfr-tl-dot {
  background: var(--orca-gold) !important;
  border-color: var(--orca-gold) !important;
  box-shadow: 0 0 0 3px rgba(196,154,74,.20) !important;
}
body:not(.home) .zc-acc-btn,
body:not(.home) .zcfr-acc-btn,
body:not(.home) .zelus-btn,
body:not(.home) .zelus-btn-outline,
body:not(.home) .zelus-btn--outline {
  background: linear-gradient(180deg, #b8893b 0%, #7a4f20 100%) !important;
  color: #fff8e8 !important;
  border: 1px solid rgba(255,255,255,.22) !important;
  border-radius: 12px !important;
}
body:not(.home) [style*="#1b4a8a"],
body:not(.home) [style*="#1B4A8A"],
body:not(.home) [style*="#0a2447"],
body:not(.home) [style*="#0F2E5C"],
body:not(.home) [style*="#2A5F9E"],
body:not(.home) [style*="blue"] {
  color: var(--orca-ink) !important;
  border-color: var(--orca-gold) !important;
}
body:not(.home) .zelus-footer,
.zelus-footer {
  background: linear-gradient(180deg, #3b2819 0%, #1c120b 100%) !important;
  color: #e9d7b6 !important;
  border-top: 1px solid rgba(201,162,74,.28) !important;
}
body:not(.home) .zelus-footer a,
body:not(.home) .zelus-footer p,
body:not(.home) .zelus-footer li { color: rgba(233,215,182,.78) !important; }

/* Dark mode */
body.dark,
body.dark-mode,
body.dark #container,
body.dark-mode #container,
body.dark .content,
body.dark-mode .content,
body.dark .main,
body.dark-mode .main,
body.dark main,
body.dark-mode main,
body.dark #main,
body.dark-mode #main,
body.dark .article,
body.dark-mode .article,
body.dark .entry-content,
body.dark-mode .entry-content,
body.dark .zelus-article,
body.dark-mode .zelus-article,
body.dark .zelus-article__content,
body.dark-mode .zelus-article__content,
body.dark .zc-wrap,
body.dark-mode .zc-wrap,
body.dark .zcfr-wrap,
body.dark-mode .zcfr-wrap {
  background: var(--orca-dark-bg) !important;
  background-color: var(--orca-dark-bg) !important;
  color: var(--orca-dark-body) !important;
}
body.dark h1,
body.dark-mode h1,
body.dark h2,
body.dark-mode h2,
body.dark h3,
body.dark-mode h3,
body.dark h4,
body.dark-mode h4,
body.dark .zc-h1,
body.dark-mode .zc-h1,
body.dark .zcfr-h1,
body.dark-mode .zcfr-h1,
body.dark .zc-tl-title,
body.dark-mode .zc-tl-title,
body.dark .zcfr-tl-title,
body.dark-mode .zcfr-tl-title,
body.dark .zc-biz-name,
body.dark-mode .zc-biz-name,
body.dark .zcfr-biz-name,
body.dark-mode .zcfr-biz-name,
body.dark .zelus-card__title,
body.dark-mode .zelus-card__title {
  color: var(--orca-dark-ink) !important;
}
body.dark p,
body.dark-mode p,
body.dark li,
body.dark-mode li,
body.dark .zc-tl-body,
body.dark-mode .zc-tl-body,
body.dark .zcfr-tl-body,
body.dark-mode .zcfr-tl-body,
body.dark .zc-biz-desc,
body.dark-mode .zc-biz-desc,
body.dark .zcfr-biz-desc,
body.dark-mode .zcfr-biz-desc {
  color: var(--orca-dark-body) !important;
}
body.dark a,
body.dark-mode a { color: #d7b46a !important; }
body.dark .zelus-card,
body.dark-mode .zelus-card,
body.dark .zelus-company-card,
body.dark-mode .zelus-company-card,
body.dark .zc-biz-card,
body.dark-mode .zc-biz-card,
body.dark .zcfr-biz-card,
body.dark-mode .zcfr-biz-card,
body.dark .zc-metric,
body.dark-mode .zc-metric,
body.dark .zcfr-metric,
body.dark-mode .zcfr-metric,
body.dark .zc-ticker,
body.dark-mode .zc-ticker,
body.dark .zcfr-ticker,
body.dark-mode .zcfr-ticker,
body.dark .zc-acc-body,
body.dark-mode .zc-acc-body,
body.dark .zcfr-acc-body,
body.dark-mode .zcfr-acc-body {
  background: linear-gradient(180deg, #251b12 0%, #18110c 100%) !important;
  border-color: rgba(201,162,74,.25) !important;
}
body.dark .zc-insight,
body.dark-mode .zc-insight,
body.dark .zcfr-insight,
body.dark-mode .zcfr-insight {
  background: #211912 !important;
  border-left-color: var(--orca-gold) !important;
}
body.dark .zc-acc-btn,
body.dark-mode .zc-acc-btn,
body.dark .zcfr-acc-btn,
body.dark-mode .zcfr-acc-btn {
  background: linear-gradient(135deg, #3a2816 0%, #7a5524 100%) !important;
}


/* =========================================================
ORCA TOP CURRENT FINAL 2026-05-28
TOPページ専用の最終整理ブロック
過去のPOLISH/FIX/EMERGENCY追記を整理し、この1ブロックで管理
========================================================= */

/* ------------------------------
  1. TOP土台：暗い遺跡背景
------------------------------ */
body.home .orca-top-content,
body.home main,
body.home #main {
  background:
    radial-gradient(circle at 50% 0%, rgba(201,162,74,0.16), transparent 30%),
    radial-gradient(circle at 20% 35%, rgba(120,82,36,0.12), transparent 28%),
    radial-gradient(circle at 82% 50%, rgba(120,82,36,0.10), transparent 30%),
    linear-gradient(180deg, #0b0c0b 0%, #14110d 42%, #090a09 100%) !important;
}

body.home #container,
body.home .content,
body.home .main,
body.home .article,
body.home .entry-content {
  background: transparent !important;
}

/* ------------------------------
  2. ヒーロー
------------------------------ */
body.home .orca-top-hero {
  display: flex !important;
  align-items: center !important;
  min-height: 620px !important;
  height: 620px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-bottom: 1px solid rgba(218,179,101,.28) !important;
  background-image:
    linear-gradient(
      90deg,
      rgba(5, 6, 5, 0.72) 0%,
      rgba(5, 6, 5, 0.42) 38%,
      rgba(5, 6, 5, 0.16) 68%,
      rgba(5, 6, 5, 0.30) 100%
    ),
    url("https://orcaarchive.com/wp-content/uploads/2026/05/orca-hero-light.jpg") !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  box-shadow: 0 28px 56px rgba(0,0,0,.55) !important;
}

body.home.dark .orca-top-hero,
body.dark-mode.home .orca-top-hero {
  background-image:
    linear-gradient(
      90deg,
      rgba(0, 0, 0, 0.78) 0%,
      rgba(0, 0, 0, 0.48) 40%,
      rgba(0, 0, 0, 0.18) 68%,
      rgba(0, 0, 0, 0.38) 100%
    ),
    url("https://orcaarchive.com/wp-content/uploads/2026/05/orca-hero-dark.jpg") !important;
}

body.home .orca-top-hero .zelus-container {
  max-width: 1180px !important;
  width: 100% !important;
  transform: none !important;
}

body.home .orca-top-hero .zelus-hero__inner {
  max-width: 520px !important;
  margin-left: 18px !important;
  text-align: left !important;
}

body.home .orca-top-hero .zelus-hero__label {
  color: #d9ad58 !important;
  text-shadow: 0 2px 10px rgba(0,0,0,.7);
}

body.home .orca-top-hero .zelus-hero__title {
  color: #fff4d8 !important;
  font-size: clamp(34px, 4.6vw, 62px) !important;
  line-height: 1.25 !important;
  text-shadow: 0 3px 18px rgba(0,0,0,.72);
}

body.home .orca-top-hero .zelus-hero__sub {
  color: #f1dfbd !important;
  text-shadow: 0 2px 12px rgba(0,0,0,.68);
}

body.home .orca-top-hero .zelus-btn,
body.home .orca-top-hero .zelus-btn--primary,
body.home .orca-top-hero .zelus-btn--accent {
  background: linear-gradient(180deg, #d7ad58 0%, #a7772f 100%) !important;
  color: #fff8e8 !important;
  border: 1px solid rgba(255,236,180,.32) !important;
  border-radius: 999px !important;
  box-shadow: 0 12px 24px rgba(0,0,0,.35) !important;
}

/* ------------------------------
  3. 検索バー
------------------------------ */
body.home .zelus-search-bar-section {
  padding: 22px 0 24px !important;
  margin-top: 0 !important;
  background: linear-gradient(180deg, #0b0b09 0%, #12100d 100%) !important;
  border-top: none !important;
  border-bottom: 1px solid rgba(218,179,101,.14) !important;
}

body.home .zelus-search-bar {
  max-width: 560px !important;
  transform: translateY(-6px);
  border-radius: 4px !important;
  background:
    linear-gradient(rgba(255, 250, 232, 0.82), rgba(232, 205, 155, 0.56)),
    url("https://orcaarchive.com/wp-content/uploads/2026/05/oldpaper.jpg") !important;
  background-size: auto, 720px auto !important;
  border: 1px solid rgba(122, 85, 35, 0.36) !important;
  box-shadow:
    0 12px 28px rgba(0,0,0,.42),
    inset 0 1px 0 rgba(255,255,255,.28) !important;
}

/* ------------------------------
  4. Weekly / 今週の経済ポイント
------------------------------ */
body.home .orca-discovery-panel,
body.home .zelus-weekly-box {
  max-width: 1180px !important;
  margin: 18px auto 18px !important;
  border-radius: 2px !important;
  padding: 24px 30px !important;
  overflow: hidden !important;
  border: 1px solid rgba(108, 70, 25, 0.30) !important;
  background:
    linear-gradient(rgba(255,246,220,.78), rgba(226,195,137,.52)),
    url("https://orcaarchive.com/wp-content/uploads/2026/05/oldpaper.jpg") !important;
  background-size: auto, 980px auto !important;
  box-shadow:
    0 22px 52px rgba(0,0,0,0.52),
    0 1px 0 rgba(255,255,255,0.24) inset !important;
}

/* ------------------------------
  5. 企業ストーリー・ニュース 共通ボード
------------------------------ */
body.home .orca-archive-section,
body.home .orca-news-section {
  position: relative !important;
  max-width: 1180px !important;
  min-height: 300px !important;
  height: auto !important;
  margin: 22px auto 24px !important;
  padding: 58px 250px 20px 24px !important;
  overflow: visible !important;
  border-radius: 2px !important;
  border: 1px solid rgba(108, 70, 25, 0.30) !important;
  background:
    linear-gradient(rgba(255, 246, 220, 0.82), rgba(229, 197, 136, 0.56)),
    url("https://orcaarchive.com/wp-content/uploads/2026/05/oldpaper.jpg") !important;
  background-size: auto, 1050px auto !important;
  background-repeat: repeat !important;
  box-shadow:
    0 22px 52px rgba(0,0,0,0.52),
    0 1px 0 rgba(255,255,255,0.24) inset !important;
}

body.home .orca-news-section {
  clear: both !important;
  margin-top: 26px !important;
}

/* 古い疑似要素の点線・枠線を停止 */
body.home .orca-archive-section::before,
body.home .orca-archive-section::after,
body.home .orca-news-section::before,
body.home .orca-news-section::after {
  content: none !important;
  display: none !important;
}

/* ------------------------------
  6. 見出し巻物ラベル
------------------------------ */
body.home .orca-archive-section .orca-paper-tab,
body.home .orca-news-section .orca-paper-tab {
  position: absolute !important;
  top: -30px !important;
  left: -6px !important;
  z-index: 20 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 470px !important;
  height: 92px !important;
  padding: 0 86px !important;
  background-image: url("https://orcaarchive.com/wp-content/uploads/2026/05/oldpaperroll.png") !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: contain !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-size: 0 !important;
  color: #3a2712 !important;
  overflow: visible !important;
}

body.home .orca-archive-section .orca-paper-tab::before,
body.home .orca-news-section .orca-paper-tab::before {
  display: block !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  background: none !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  transform: none !important;
  z-index: 1 !important;
  color: #3a2712 !important;
  font-size: 22px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: 0.03em !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.55) !important;
}

body.home .orca-archive-section .orca-paper-tab::before {
  content: "企業ストーリー" !important;
}

body.home .orca-news-section .orca-paper-tab::before {
  content: "注目のニュース" !important;
}

body.home .orca-archive-section .orca-paper-tab::after,
body.home .orca-news-section .orca-paper-tab::after {
  content: none !important;
  display: none !important;
}

/* ------------------------------
  7. 右上リンク
------------------------------ */
body.home .orca-archive-section .orca-section-link,
body.home .orca-news-section .orca-section-link {
  position: absolute !important;
  top: 24px !important;
  right: 24px !important;
  z-index: 6 !important;
  padding-top: 0 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
  color: #5c3e1c !important;
  text-shadow: none !important;
}

body.home .orca-archive-section .orca-section-link::after,
body.home .orca-news-section .orca-section-link::after {
  content: " →";
}

/* ------------------------------
  8. 企業カード
------------------------------ */
body.home .orca-archive-grid {
  position: relative !important;
  z-index: 2 !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px !important;
  width: calc(100% - 20px) !important;
  max-width: none !important;
  margin: 0 !important;
  align-items: start !important;
}

body.home .orca-archive-grid:has(.orca-archive-card:nth-child(2):last-child) {
  grid-template-columns: repeat(2, minmax(280px, 1fr)) !important;
  width: min(680px, 100%) !important;
  max-width: 680px !important;
  gap: 22px !important;
  margin-left: 0 !important;
  margin-right: auto !important;
}

body.home .orca-archive-card {
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
  border-radius: 14px !important;
  border: 1px solid rgba(110, 77, 35, 0.18) !important;
  background:
    linear-gradient(rgba(255,250,236,.74), rgba(232,205,156,.50)),
    url("https://orcaarchive.com/wp-content/uploads/2026/05/oldpaper.jpg") !important;
  background-size: auto, 620px auto !important;
  box-shadow: 0 6px 14px rgba(0,0,0,.14) !important;
}

body.home .orca-archive-card__thumb {
  display: block !important;
  aspect-ratio: 16 / 10 !important;
  border-radius: 14px 14px 0 0 !important;
  background: #c8a96c !important;
  overflow: hidden !important;
}

body.home .orca-archive-card__thumb img,
body.home .zelus-card__thumb img,
body.home img.zelus-card__thumb {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  opacity: 1 !important;
  visibility: visible !important;
}

body.home .orca-archive-card__badge {
  position: absolute !important;
  top: 10px !important;
  left: 10px !important;
  z-index: 5 !important;
  margin: 0 !important;
  padding: 5px 10px !important;
  border-radius: 4px !important;
  background: linear-gradient(180deg, #ffd85a 0%, #c99322 100%) !important;
  color: #3a2508 !important;
  font-weight: 900 !important;
  font-size: 11px !important;
  box-shadow: 0 3px 7px rgba(0,0,0,.32) !important;
}

body.home .orca-archive-card__body,
body.home .orca-archive-card__meta {
  background:
    linear-gradient(rgba(255,253,246,.86), rgba(248,241,225,.84)),
    url("https://orcaarchive.com/wp-content/uploads/2026/05/oldpaper.jpg") !important;
  background-size: auto, 760px auto !important;
}

body.home .orca-archive-card__body {
  padding: 12px 14px 8px !important;
}

body.home .orca-archive-card__title {
  font-size: 16px !important;
  font-weight: 800 !important;
  line-height: 1.45 !important;
  margin-bottom: 5px !important;
}

body.home .orca-archive-card__title a {
  color: #26190c !important;
}

body.home .orca-archive-card__excerpt {
  font-size: 13px !important;
  line-height: 1.55 !important;
  color: #4c351a !important;
}

body.home .orca-archive-card__meta {
  padding: 9px 14px !important;
  border-top: 1px solid rgba(103, 66, 22, 0.14) !important;
  border-radius: 0 0 14px 14px !important;
  font-size: 11px !important;
  color: #7a6440 !important;
}

body.home .orca-archive-card__paw {
  opacity: 0.55 !important;
}

/* ------------------------------
  9. ニュース欄
------------------------------ */
body.home .orca-news-board {
  position: relative !important;
  z-index: 2 !important;
  width: min(680px, 100%) !important;
  max-width: 680px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

body.home .orca-news-board__grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(280px, 1fr)) !important;
  gap: 22px !important;
  width: 100% !important;
  max-width: 680px !important;
}

body.home .orca-news-empty,
body.home .orca-empty-panel {
  min-height: 54px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 2px !important;
  background:
    linear-gradient(rgba(255,253,246,.82), rgba(248,241,225,.78)),
    url("https://orcaarchive.com/wp-content/uploads/2026/05/oldpaper.jpg") !important;
  background-size: auto, 760px auto !important;
  border: 1px solid rgba(103, 66, 22, 0.14) !important;
  color: #5b4224 !important;
  font-size: 13px !important;
}

/* ------------------------------
  10. 下部3カラム資料帯
------------------------------ */
body.home .orca-bottom-panels {
  position: relative !important;
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 0 !important;
  max-width: 1180px !important;
  margin: 24px auto 28px !important;
  padding: 22px 24px !important;
  border-radius: 2px !important;
  border: 1px solid rgba(108, 70, 25, 0.30) !important;
  background:
    linear-gradient(rgba(255, 246, 220, 0.82), rgba(229, 197, 136, 0.56)),
    url("https://orcaarchive.com/wp-content/uploads/2026/05/oldpaper.jpg") !important;
  background-size: auto, 1050px auto !important;
  box-shadow:
    0 22px 52px rgba(0,0,0,0.52),
    0 1px 0 rgba(255,255,255,0.24) inset !important;
}

body.home .orca-bottom-card {
  position: relative !important;
  z-index: 2 !important;
  min-height: 132px !important;
  padding: 18px 24px !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

body.home .orca-bottom-card + .orca-bottom-card {
  border-left: 1px solid rgba(103, 66, 22, 0.18) !important;
}

body.home .orca-bottom-card__title {
  font-size: 20px !important;
  margin-bottom: 8px !important;
  color: #26190c !important;
}

body.home .orca-bottom-card__text,
body.home .orca-check-list li,
body.home .orca-log-list__link,
body.home .orca-log-list__date {
  font-size: 13px !important;
  line-height: 1.75 !important;
  color: #4c351a !important;
}

/* ------------------------------
  11. ダークモード
------------------------------ */
body.home.dark .orca-top-content,
body.home.dark main,
body.home.dark #main,
body.dark-mode.home .orca-top-content,
body.dark-mode.home main,
body.dark-mode.home #main {
  background:
    radial-gradient(circle at 50% 0%, rgba(201, 162, 74, 0.14), transparent 30%),
    linear-gradient(180deg, #080908 0%, #12100d 42%, #070807 100%) !important;
}

body.home.dark .orca-archive-section,
body.home.dark .orca-news-section,
body.home.dark .orca-bottom-panels,
body.dark-mode.home .orca-archive-section,
body.dark-mode.home .orca-news-section,
body.dark-mode.home .orca-bottom-panels {
  background:
    linear-gradient(rgba(255, 242, 204, 0.68), rgba(213, 176, 106, 0.48)),
    url("https://orcaarchive.com/wp-content/uploads/2026/05/oldpaper.jpg") !important;
  background-size: auto, 1050px auto !important;
  border-color: rgba(201, 162, 74, 0.34) !important;
}

/* ------------------------------
  12. レスポンシブ
------------------------------ */
@media (max-width: 1100px) {
  body.home .orca-archive-section,
  body.home .orca-news-section {
    min-height: 320px !important;
    padding: 58px 28px 24px 24px !important;
  }

  body.home .orca-archive-grid,
  body.home .orca-archive-grid:has(.orca-archive-card:nth-child(2):last-child),
  body.home .orca-news-board,
  body.home .orca-news-board__grid {
    width: 100% !important;
    max-width: none !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 900px) {
  body.home .orca-news-board__grid,
  body.home .orca-bottom-panels {
    grid-template-columns: 1fr !important;
  }

  body.home .orca-bottom-card + .orca-bottom-card {
    border-left: none !important;
    border-top: 1px solid rgba(103, 66, 22, 0.18) !important;
  }
}

@media (max-width: 640px) {
  body.home .orca-top-hero {
    height: 500px !important;
    min-height: 500px !important;
  }

  body.home .orca-discovery-panel,
  body.home .orca-archive-section,
  body.home .orca-news-section,
  body.home .orca-bottom-panels {
    width: calc(100% - 24px) !important;
    padding: 52px 16px 18px !important;
  }

  body.home .orca-archive-section .orca-paper-tab,
  body.home .orca-news-section .orca-paper-tab {
    top: -24px !important;
    left: -6px !important;
    width: 280px !important;
    height: 72px !important;
    padding: 0 48px !important;
  }

  body.home .orca-archive-section .orca-paper-tab::before,
  body.home .orca-news-section .orca-paper-tab::before {
    font-size: 16px !important;
  }

  body.home .orca-archive-grid,
  body.home .orca-archive-grid:has(.orca-archive-card:nth-child(2):last-child),
  body.home .orca-news-board__grid {
    grid-template-columns: 1fr !important;
  }
}