/* ============================================================
   ntw-c : root.css  —  デザイントークン
   方向: グレー基調＋深緑の差し色／明朝見出し＋細ゴシック本文＋Jost英ラベル
   署名: 年輪＝等高線（独自モチーフ）。型・色は :root で一元管理。
   ============================================================ */

:root{
  --paper:#edece7; --paper2:#e5e4dd; --ink:#191c19; --sub:#6f736c;
  --green:#23553e; --green2:#3c7a5d; --gray:#a7aaa2; --line:#d7d7cf;
  --mint:#8fd3ad; --ochre:#c8a24a; --terra:#b5623a;

  --serif:"Hiragino Mincho ProN","Yu Mincho","YuMincho","Noto Serif JP",serif;
  --sans:"Hiragino Kaku Gothic ProN","Yu Gothic","YuGothic","Noto Sans JP","Meiryo",sans-serif;
  --latin:"Jost","Helvetica Neue",Arial,sans-serif;

  /* 型スケール */
  --fs-hero:     clamp(40px, 5.2vw, 72px);
  --fs-display:  clamp(28px, 3.4vw, 46px);
  --fs-h2:       clamp(25px, 2.7vw, 36px);
  --fs-h3:       21px;
  --fs-lead:     clamp(14px, 1.05vw, 16px);
  --fs-body:     16px;
  --fs-small:    13px;
  --fs-lab:      13px;

  --fw-light:300; --fw-regular:400; --fw-medium:500;

  --lh-hero:1.42; --lh-head:1.5; --lh-body:1.95;
  --ls-hero:.05em; --ls-head:.04em; --ls-lab:.32em; --ls-wide:.08em;

  --sp-2xs:.5rem; --sp-xs:.75rem; --sp-sm:1rem; --sp-md:1.5rem;
  --sp-lg:2.5rem; --sp-xl:4rem; --sp-2xl:6rem; --sp-3xl:clamp(88px,13vh,176px);

  --wrap:1200px; --gut:clamp(24px,5vw,76px);
  --radius:2px;
  --ease:cubic-bezier(.2,.6,.2,1);
  --shadow:0 18px 48px -26px rgba(25,28,25,.4);
}

*,*::before,*::after{box-sizing:border-box}
*{margin:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  font-family:var(--sans); font-weight:var(--fw-light);
  font-size:var(--fs-body); line-height:var(--lh-body);
  color:var(--ink); background:var(--paper);
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
h1,h2,h3,h4{font-family:var(--serif);font-weight:var(--fw-regular);line-height:var(--lh-head);letter-spacing:var(--ls-head);color:var(--ink)}
h2{font-size:var(--fs-h2)} h3{font-size:var(--fs-h3)}
p{font-size:var(--fs-body)}
a{color:inherit;text-decoration:none}
img,svg,video{display:block;max-width:100%;height:auto}
ul{list-style:none;padding:0}

:focus-visible{outline:2px solid var(--green);outline-offset:3px}
.skip-link{position:absolute;left:-9999px;top:0;z-index:999;background:var(--ink);color:var(--paper);padding:.6rem 1rem}
.skip-link:focus{left:0}

/* 英ラベル（Jost・字間広め） */
.lab{display:inline-block;font-family:var(--latin);font-size:var(--fs-lab);font-weight:var(--fw-regular);letter-spacing:var(--ls-lab);text-transform:uppercase;color:var(--green)}

/* スクロール出現（no-jsでは常に表示。html.js 時のみ初期非表示）
   --d ：連なる要素を順番に出すための遅延（JSが付与） */
.rv{transition:opacity 1s var(--ease),transform 1s var(--ease);transition-delay:var(--d,0ms)}
html.js .rv{opacity:0;transform:translateY(26px)}
html.js .rv.in{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .rv{opacity:1!important;transform:none!important}
}
