/* HAL-WEB theme r2 — 色・書体・寸法のトークン。値は実装仕様 r2 v1.0 のまま（v0.3 で書体の代替名のみ追加）。 */
:root{
  --c-bg:#F8F6F1;
  --c-surface:#FCFBF8;
  --c-soft:#F0F3F0;
  --c-sand:#E9DFCF;
  --c-text:#183640;
  --c-muted:#52666B;
  --c-primary:#174F5D;
  --c-primary-ink:#FFFFFF;
  --c-primary-hover:#103C49;
  --c-accent:#D4C0A3;
  --c-line:#D4D9D5;
  --c-focus:#A14A2B;
  --c-hero-heading:#0D3442;
  --c-foot-ink:#183640;
  --c-foot-muted:#52666B;
  --c-foot-link:#12384A;
  --c-logo-ink:#12384A;
  --c-logo-muted:#5B6B71;
  --c-logo-english:#2E7D86;
  --c-wave:#81AFB2;
  --c-logo-bar:#C48A55;
  --f-sans:"Noto Sans JP","Noto Sans CJK JP","Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",system-ui,sans-serif;
  --f-heading:var(--f-sans);
  --f-hero:"Noto Serif JP","Noto Serif CJK JP","Hiragino Mincho ProN","Yu Mincho","YuMincho",serif;
  --f-latin:"Inter",Arial,sans-serif;
  --fs-base:16px; --lh-base:1.9;
  --fs-h1:clamp(40px,4.0625vw,56px); --fs-h2:28px; --fs-h3:18px;
  --fs-hero-lead:19px; --lh-hero-heading:1.48; --lh-hero-lead:1.75;
  --wrap:1280px; --pad:clamp(32px,4.5vw,64px);
  --sp-1:8px; --sp-2:16px; --sp-3:24px; --sp-4:40px; --sp-5:64px; --sp-6:96px;
  --radius:2px; --radius-card:0px;
  --header-min-height:88px; --header-padding-y:16px; --header-gap:32px;
  --nav-gap:32px; --nav-size:14px; --nav-contact-w:144px;
  --logo-mark-header:46px; --logo-mark-footer:34px; --logo-gap:14px;
  --logo-jp-kind-size:11px; --logo-jp-kind-track:.32em;
  --logo-jp-name-size:21px; --logo-jp-name-track:.14em;
  --logo-en-size:9.5px; --logo-en-track:.42em;
  --hero-min-height:430px; --hero-pad-top:56px; --hero-pad-bottom:56px;
  --hero-text-width:560px; --hero-heading-gap:20px; --hero-lead-gap:20px;
  --hero-media-width:68%; --hero-media-position:64% 50%;
  --hero-image-transition:linear-gradient(90deg,#F8F6F1 0%,#F8F6F1 34%,rgba(248,246,241,.94) 40%,rgba(248,246,241,0) 57%);
  --hero-wave-height:22px;
  --button-min-height:48px; --button-pad-x:28px; --button-gap:12px;
  --band-padding-y:32px; --band-heading-size:16px; --band-item-size:15px;
  --band-columns:5; --band-gap:20px; --band-icon-size:32px;
  --footer-padding-y:24px; --footer-gap:32px; --footer-phone-size:22px;
}
@media (max-width:1199px){
  :root{--band-columns:3;--header-gap:20px;--nav-gap:20px;--hero-text-width:520px;}
}
@media (max-width:1099px){
  :root{--header-min-height:80px;--header-padding-y:14px;}
  /* headerはロゴ1行＋ナビ1行へ。HTML順序/4ページは変えない。 */
}
@media (max-width:767px){
  :root{
    --pad:24px;--fs-h1:clamp(30px,8.75vw,34px);--fs-h2:24px;--fs-h3:17px;
    --fs-hero-lead:16px;--sp-4:32px;--sp-5:48px;--sp-6:64px;
    --logo-mark-header:40px;--logo-mark-footer:34px;--logo-gap:10px;
    --logo-jp-kind-size:10px;--logo-jp-name-size:18px;--logo-jp-name-track:.08em;
    --logo-en-size:8.5px;--logo-en-track:.30em;
    --hero-min-height:0px;--hero-pad-top:36px;--hero-pad-bottom:36px;
    --hero-text-width:100%;--hero-heading-gap:16px;--hero-lead-gap:20px;
    --hero-media-width:100%;--hero-media-position:65% 50%;
    --band-columns:2;--band-gap:16px;--band-item-size:14px;
    --footer-phone-size:24px;--footer-gap:20px;
  }
}
@media (max-width:479px){
  :root{--pad:20px;--band-columns:1;--logo-jp-name-size:17px;--nav-gap:8px;}
}
@media (prefers-reduced-motion:reduce){:root{scroll-behavior:auto;}}
