:root {
  
  --color-ink: #1d2230;          
  --color-main: #2f70cb;         
  --color-main-2: #2f70cb;       
  --color-accent: #beaf87;       
  --color-accent-2: #beaf87;
  --color-base: #fcfcfc;         
  --color-pale: #e8e9ee;         
  --color-line: #c9ccd6;
  --color-on-dark: #fcfcfc;
  --color-on-dark-line: rgb(252 252 252 / 0.75);
  --color-error: #c8312b;
  --color-shadow: rgb(29 34 48 / 0.16);
  --color-hard: #1d2230;         

  
  --bg-dark: var(--color-main);
  --bg-accent: var(--color-ink);   
  --bg-fv: radial-gradient(80% 58% at 66% 34%, color-mix(in srgb, var(--color-main) 30%, var(--color-base)) 0%, color-mix(in srgb, var(--color-main) 62%, var(--color-base)) 34%, var(--color-main) 70%, color-mix(in srgb, var(--color-main) 88%, var(--color-hard)) 100%);   
  --fv-dots: radial-gradient(circle, color-mix(in srgb, var(--color-hard) 20%, transparent) 0.9px, transparent 1.3px) 0 0 / 4px 4px;   

  
  --font-body: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", system-ui, sans-serif;
  --font-head: "Dela Gothic One", "Noto Sans JP", sans-serif;   
  --font-catch: "Noto Sans JP", sans-serif;   
  --font-sales: "Montserrat", "Noto Sans JP", sans-serif;   
  --font-en: "DotGothic16", "Noto Sans JP", monospace;
  --fs-min: 13px;
  --fs-base: clamp(var(--fs-min), 3.85vw, 15px);
  --fs-ui: max(var(--fs-min), 13px);
  --fs-input: 16px;
  --fs-sec: clamp(22px, 7.7vw, 38px);   
  --fs-head: 1.85em;             
  --fw-body: 500;
  --ls-body: 0.04em;
  --lh-body: 2;
  --lh-head: 1.5;
  --ls-head: 0.05em;

  
  --col: 480px;
  --header-h: 56px;
  --cut: min(30vw, 144px);   
  --gutter: 25px;               
  --sp-1: 0.6em;
  --sp-p: 1.2em;
  --sp-g: 2em;
  --pad-y: 1.2em;
  --next-h: 0px;
  --radius-pill: 999px;
  --radius-s: 8px;
  --shadow-soft: 0 6px 18px -8px var(--color-shadow);
  --shadow-column: 0 0 24px 0 var(--color-shadow);

  
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --rise: 30px;                  
  --dur-in: 900ms;
  --dur-hover: 300ms;
  --dur-type: 55ms;              
}
@media (max-height: 600px) { :root { --pad-y: 0.7em; } }
