:root {
  
  --color-ink: #19253D;          
  --color-main: #245BFF;         
  --color-main-2: #245BFF;       
  --color-accent: #245BFF;       
  --color-accent-2: #245BFF;
  --color-lime: #D9FF5C;         
  --color-base: #F8FAFF;         
  --color-white: #ffffff;        
  --color-pale: #F8FAFF;         
  --color-line: #c5cfe6;         
  --color-on-dark: #ffffff;      
  --color-on-dark-line: rgb(255 255 255 / 0.7);
  --color-deco-line: rgb(36 91 255 / 0.14);   
  --mq-light: rgb(36 91 255 / 0.26);          
  --mq-dark: rgb(255 255 255 / 0.3);          
  --mq-ink: rgb(25 37 61 / 0.22);             
  --hatch-light: rgb(36 91 255 / 0.07);       
  --hatch-dark: rgb(255 255 255 / 0.07);
  --hatch-ink: rgb(25 37 61 / 0.07);
  --color-error: #c8312b;        
  --color-shadow: rgb(25 37 61 / 0.18);

  
  --bg-dark: var(--color-main);
  --bg-accent: linear-gradient(90deg, var(--color-accent) 0%, var(--color-accent-2) 100%);

  
  --font-body: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", system-ui, sans-serif;
  --font-head: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", system-ui, sans-serif;
  --font-en: "Oswald", "Noto Sans JP", sans-serif;
  --fs-min: 13px;
  
  --fs-base: clamp(var(--fs-min), min(2.2dvh, 3.75vw), 14.5px);
  --fs-ui: max(var(--fs-min), 13px);
  --fs-input: 16px;
  --fw-body: 700;                
  --ls-body: 0.04em;
  --lh-body: 2;
  --lh-head: 1.4;
  --fs-copy: 1.85em;             
  --fw-copy: 900;
  --lh-copy: 1.42;
  --ls-copy: 0.02em;
  --fs-quote: 1.32em;            
  --lh-quote: 1.15;
  --fs-en-xl: clamp(46px, 14vw, 68px);   

  
  --col: 480px;
  --header-h: 56px;
  --gutter: 24px;                
  --sp-1: 0.45em;
  --sp-p: 0.8em;
  --sp-g: 1.15em;
  --pad-y: 1.2em;
  --reading-gap: 16px;
  --vision-figure-h: min(calc(min(100vw, var(--col)) * 180 / 263), max(170px, calc(70dvh - 204px)));
  --vision-head-space: 12px;
  --vision-body-size: clamp(14px, min(2.3dvh, 4.1vw), 16.5px);
  --qa-figure-h: min(calc(min(100vw, var(--col)) * 306 / 439), max(180px, calc(60dvh - 130px)));
  --qa-body-size: clamp(14px, min(2.3dvh, 4.1vw), 16.5px);
  --qa-top-space: clamp(0px, calc(100dvh - 600px), 24px);
  --rk-figure-h: min(calc(min(100vw, var(--col)) * 297 / 411), max(190px, calc(61dvh - 127px)));
  --rk-pay-num: 1.9em;
  --rk-body-size: clamp(14px, min(2.3dvh, 4.1vw), 16.5px);
  --rk-top-space: clamp(0px, calc(100dvh - 600px), 32px);
  --next-h: 0px;
  --radius-pill: 999px;
  --radius-s: 6px;
  --shadow-soft: 0 0 10px 0 var(--color-shadow);
  --shadow-column: 0 0 24px 0 var(--color-shadow);
  --tilt: -30deg;                

  
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --rise: 24px;
  --dur-in: 600ms;
  --dur-hover: 200ms;
  --dur-person: 480ms;           
  --dur-en: 1000ms;              
  --dur-line: 900ms;             
  --blur-in: 3px;
  --ease-split: cubic-bezier(0.87, 0, 0.13, 1);   
  --ease-snappy: cubic-bezier(0.42, 0, 0.08, 1);  
  --ease-intro: cubic-bezier(0.19, 1, 0.22, 1);                   
}

@media (max-height: 600px) { :root { --pad-y: 0.7em; } }

@media (min-height: 860px) { :root { --sp-g: 1.9em; --sp-p: 1.1em; } }

@media (max-width: 600px) { :root { --rk-pay-num: 1.65em; } }
