:root {
  --min-device-width: 360px;
  --site-width: 1200px;
  --space-inline-negative: calc(var(--space-inline) * -1);
  --vw100: max(calc(100vw - var(--scrollbar-width, 0)), var(--min-device-width));
  --vw: calc(var(--vw100) / 100);
  --site-outer: max(0px, calc((var(--vw100) - var(--site-width)) / 2));
  --site-gutter: max(var(--site-outer), var(--space-inline));
  --half-leading: calc((1lh - 1em) / 2);
  --half-leading-trim: calc(var(--half-leading) * -1);
  --ascender: 0.15em;
}
@supports not (top: 1lh) {
  :root {
    --half-leading: 0px;
  }
}

:root {
  --letter-spacing: 0;
}

:not(:root) {
  letter-spacing: var(--letter-spacing);
  line-height: 1.6;
}

:root {
  --color-base: #1C1C1C;
  --color-base2: #333333;
  --color-base-gray: #888888;
  --color-primary: #E60414;
  --color-secondary: #84D0FF;
  --color-secondary2: #4781DE;
  --color-bg-base: #ffffff;
  --color-bg-warm: #FFE5E7;
  --color-bg-warm2: #FFE5E7;
  --color-bg-warm3: #F7939A;
  --color-bg-warm4: #FFF2F3;
  --color-bg-ash: #F9F9F9;
  --color-bg-ash2: #FAFAFA;
  --color-bg-ash3: #F5F5F5;
  --color-bg-ash4: #EAEAEA;
  --color-bg-ash-grade1: #F2F2F2;
  --color-bg-ash-grade2: #F7F7F7;
  --color-border: #E2E2E2;
  --color-light: #ffffff;
  --color-dark: #000000;
}

:root {
  --ff-ibm: "IBM Plex Sans JP", sans-serif;
  --ff-notoSerif: "Noto Serif JP", sans-serif;
  --ff-cormorant: "Cormorant Garamond", serif;
  --ff-sans: var(--ff-ibm);
  --ff-serif: var(--ff-notoSerif);
  --ff-en: var(--ff-cormorant);
}

:root {
  --typography-base-font-family: var(--ff-sans);
  --typography-base-font-weight: 400;
  --typography-base-font-size: 0.9375rem;
  --typography-base-line-height: 2;
  --typography-base-letter-spacing: 0em;
}
@media (width <= 768px) {
  :root {
    --typography-base-font-size: 0.8125rem;
    --typography-base-line-height: 1.9230769231;
  }
}

:root {
  --space-inline: 30px;
}
@media (width <= 1200px) {
  :root {
    --space-inline: 16px;
  }
}

:root {
  --space-block-section: var(--space-block-xl);
  --space-block-xl: 120px;
  --space-block-lg: 60px;
  --space-block-md: 40px;
  --space-block-sm: 20px;
  --space-block-xs: 10px;
  --space-block-section-trim: calc(var(--space-block-section) - var(--half-leading));
  --space-block-xl-trim: calc(var(--space-block-xl) - var(--half-leading));
  --space-block-lg-trim: calc(var(--space-block-lg) - var(--half-leading));
  --space-block-md-trim: calc(var(--space-block-md) - var(--half-leading));
  --space-block-sm-trim: calc(var(--space-block-sm) - var(--half-leading));
  --space-block-xs-trim: calc(var(--space-block-xs) - var(--half-leading));
}
@media (width <= 768px) {
  :root {
    --space-block-xl: 60px;
    --space-block-lg: 30px;
    --space-block-md: 20px;
    --space-block-sm: 10px;
    --space-block-xs: 5px;
  }
}
:root {
  --scroll-adjust: 80px;
  --sec: 0.5s;
  --sec-fast: 0.3s;
  --sec-slow: 0.8s;
  --opacity: 0.5;
  --zoom: 1.1;
  --radius: 10px;
}
@media (width <= 768px) {
  :root {
    --scroll-adjust: 60px;
  }
}

