/* =====================================================================
   新デザイン案A「静かな読み物」— 下層ページ共通の上書き（既存の <style> の後に読み込む）
   値の正は、デザイン定義書（案A）とトップページ末尾のブロック
   ===================================================================== */
:root{
  --bg:#f6f1ea; --alt:#efe8dc; --line:#d9cfbf; --ink:#26303c; --sub:#5b636e;
  --gold:#94561f;              /* 小さな文字・番号・リンク用の暖色 */
  --warm:#e6b06a;              /* 装飾専用（下線・ホバー・進捗線）。文字には使わない */
  --black:#1f232b;
  --navy:#26303c;              /* 下層ページでは紺をやめ、墨色に統一 */
  --blue:#3a4654;
  --head:'Zen Kaku Gothic New','Noto Sans JP',sans-serif;
  --kaku:'Zen Kaku Gothic New','Noto Sans JP',sans-serif;
}
body{background:var(--bg);color:var(--ink);padding-top:76px}
h1,h2,h3,h4{font-family:var(--head)}

/* ヘッダー：下層ページは常に生成りの面（header に .solid を付ける）。下端に読み進みの細い線 */
header.gh{position:fixed;left:0;right:0;top:0;border-bottom:0;transition:background .3s,box-shadow .3s}
header.gh.solid{background:rgba(246,241,234,.96);backdrop-filter:blur(8px);box-shadow:0 1px 0 rgba(38,48,60,.09)}
header.gh::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--warm);transform-origin:left;transform:scaleX(var(--p,0))}
.gh .wrap{height:76px}
.gnav a:not(.contact):hover{color:var(--gold)}
.gnav .contact{border-radius:8px;background:var(--ink);color:#fff}
.gnav .contact:hover{background:#3a4654;color:#fff}
.nav-toggle span{background:var(--ink)}
@media(max-width:980px){
  .gnav{background:rgba(246,241,234,.99)}
  header.gh .gnav a:not(.contact){color:var(--ink)}
  header.gh .gnav .contact{background:var(--ink);color:#fff}
}

/* 見出し帯（page-head）：紺の面と格子模様をやめ、生成りの帯に */
.page-head{background:var(--alt);color:var(--ink);padding:72px 0 56px;border-bottom:1px solid var(--line)}
.page-head::after{display:none}
.page-head h1{font-family:var(--head);font-weight:900;font-size:clamp(30px,4.4vw,52px);line-height:1.4;color:var(--ink)}
.page-head p{color:var(--sub)}
@media(max-width:560px){.page-head{min-height:0;padding:52px 0 40px}}

/* 小さなラベル：大文字英字＋広い字間をやめ、暖色の日本語ラベルに */
.tag,.tag.en,.s-head .tag,.page-head .tag,.rep-copy .tag,.total-copy .tag{font-family:var(--kaku);font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:none;color:var(--gold)}

/* 会社概要の代表カード：紺のベタ塗りをやめ、生成りの面に */
.rep-photo{background:var(--alt);color:var(--ink);border:1px solid var(--line)}
.rep-photo::after{display:none}
.rep-photo .rp-logo{filter:brightness(0)}
.rep-photo small,.rep-photo .rp-grp{color:var(--sub)}
.rep-photo .rp-div{background:var(--warm)}

/* 所属・フッター・追従ボタン */
.affiliation{background:var(--bg)}
.aff-logo svg path{fill:var(--ink)}
footer{background:#1f232b}
.foot-info dt{color:var(--warm)}
.foot-nav a:hover{color:var(--warm)}
.fb-contact{background:var(--ink);box-shadow:0 8px 24px rgba(38,48,60,.28);border-radius:8px}
.fb-contact:hover{background:#3a4654;color:#fff}
.fb-top{color:var(--ink)}
@media(prefers-reduced-motion:reduce){header.gh::after{display:none}}

/* サービスページ内ナビ：固定ヘッダー（76px）の下に、生成りの面で */
.service-nav{top:76px;background:rgba(246,241,234,.97)}
