:root {
  --min-device-width: 390px;
  --site-width: 1120px;
  --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));
  --viewport-inner-width: calc(var(--vw100) - var(--frame-size) * 2);
  --viewport-inner-width2: calc(var(--vw100) - var(--space-inline) * 2);
  --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);
}

:root {
  --color-base: #111111;
  --color-base-rgb:17, 17, 17;
  --color-outline: #111111;
  --color-outline-rgb:17, 17, 17;
  --color-primary: #0B4DC7;
  --color-primary-rgb:11, 77, 199;
  --color-secondary: #F84E02;
  --color-secondary-rgb:248, 78, 2;
  --color-tertiary: #4AAD69;
  --color-tertiary-rgb:74, 173, 105;
  --color-bg-base: #E6E6E6;
  --color-bg-base-rgb:230, 230, 230;
  --color-bg-warm: #FFFF00;
  --color-bg-warm-rgb:255, 255, 0;
  --color-bg-ash: #E6E6E6;
  --color-bg-ash-rgb:230, 230, 230;
  --color-border: #CCCCCC;
  --color-border-rgb:204, 204, 204;
  --color-border2: #DDDDDD;
  --color-border2-rgb:221, 221, 221;
  --color-input: #F5F5F5;
  --color-input-rgb:245, 245, 245;
  --color-light: #ffffff;
  --color-light-rgb:255, 255, 255;
  --color-dark: #000000;
  --color-dark-rgb:0, 0, 0;
}

:root {
  --ff-noto: "Noto Sans JP", sans-serif;
  --ff-jost: "Jost", sans-serif;
  --ff-sans-serif: var(--ff-noto);
  --ff-em: var(--ff-jost);
}

:root {
  --typography-txt-xmd-font-family: var(--ff-sans-serif);
  --typography-txt-xmd-font-weight: 700;
  --typography-txt-xmd-font-size: 1.125rem;
  --typography-txt-xmd-line-height: 1.7777777778;
  --typography-txt-xmd-letter-spacing: 0.05em;
  --typography-txt-md-font-family: var(--ff-sans-serif);
  --typography-txt-md-font-weight: 700;
  --typography-txt-md-font-size: 1rem;
  --typography-txt-md-line-height: 1.75;
  --typography-txt-md-letter-spacing: 0.05em;
  --typography-txt-sm-font-family: var(--ff-sans-serif);
  --typography-txt-sm-font-weight: 700;
  --typography-txt-sm-font-size: 0.875rem;
  --typography-txt-sm-line-height: 1.7142857143;
  --typography-txt-sm-letter-spacing: 0.05em;
  --typography-txt-xsm-font-family: var(--ff-sans-serif);
  --typography-txt-xsm-font-weight: 700;
  --typography-txt-xsm-font-size: 0.75rem;
  --typography-txt-xsm-line-height: 1.6666666667;
  --typography-txt-xsm-letter-spacing: 0.05em;
  --typography-title-xxlg-font-family: var(--ff-sans-serif);
  --typography-title-xxlg-font-weight: 700;
  --typography-title-xxlg-font-size: 3.75rem;
  --typography-title-xxlg-line-height: 1.2;
  --typography-title-xxlg-letter-spacing: 0.05em;
  --typography-title-xlg-font-family: var(--ff-sans-serif);
  --typography-title-xlg-font-weight: 700;
  --typography-title-xlg-font-size: 2.5rem;
  --typography-title-xlg-line-height: 1.15;
  --typography-title-xlg-letter-spacing: 0.05em;
  --typography-title-lg-font-family: var(--ff-sans-serif);
  --typography-title-lg-font-weight: 700;
  --typography-title-lg-font-size: 1.875rem;
  --typography-title-lg-line-height: 1.3333333333;
  --typography-title-lg-letter-spacing: 0.05em;
  --typography-title-md-en-font-family: var(--ff-em);
  --typography-title-md-en-font-weight: 500;
  --typography-title-md-en-font-size: 1.25rem;
  --typography-title-md-en-line-height: 1.5;
  --typography-title-md-en-letter-spacing: 0.05em;
  --typography-title-md-font-family: var(--ff-sans-serif);
  --typography-title-md-font-weight: 700;
  --typography-title-md-font-size: 1.25rem;
  --typography-title-md-line-height: 1.6;
  --typography-title-md-letter-spacing: 0.05em;
  --typography-title-xmd-font-family: var(--ff-sans-serif);
  --typography-title-xmd-font-weight: 700;
  --typography-title-xmd-font-size: 1.625rem;
  --typography-title-xmd-line-height: 1.5384615385;
  --typography-title-xmd-letter-spacing: 0.05em;
}
@media (width <= 1120px) {
  :root {
    --typography-txt-xmd-font-size: 1rem;
    --typography-txt-xmd-line-height: 1.75;
  }
}
@media (width <= 1120px) {
  :root {
    --typography-txt-md-font-size: 0.875rem;
    --typography-txt-md-line-height: 1.7142857143;
  }
}
@media (width <= 1120px) {
  :root {
    --typography-txt-sm-font-size: 0.75rem;
    --typography-txt-sm-line-height: 1.6666666667;
  }
}
@media (width <= 1120px) {
  :root {
    --typography-txt-xsm-font-size: 0.625rem;
    --typography-txt-xsm-line-height: 1.6;
  }
}
@media (width <= 1120px) {
  :root {
    --typography-title-xxlg-font-size: 2.25rem;
    --typography-title-xxlg-line-height: 1.2777777778;
  }
}
@media (width <= 1120px) {
  :root {
    --typography-title-xlg-font-size: 2rem;
    --typography-title-xlg-line-height: 1.1111111111;
  }
}
@media (width <= 1120px) {
  :root {
    --typography-title-lg-font-size: 1.625rem;
    --typography-title-lg-line-height: 1.3846153846;
  }
}
@media (width <= 1120px) {
  :root {
    --typography-title-md-en-font-size: 1.125rem;
    --typography-title-md-en-line-height: 1.5555555556;
  }
}
@media (width <= 1120px) {
  :root {
    --typography-title-md-font-size: 1.125rem;
    --typography-title-md-line-height: 1.6666666667;
  }
}
@media (width <= 1120px) {
  :root {
    --typography-title-xmd-font-size: 1.375rem;
    --typography-title-xmd-line-height: 1.8181818182;
  }
}

:root {
  --space-inline-inner: 20px;
  --space-inline-inner-sm: 12px;
  --space-inline-inner-sm2: 15px;
  --space-inline: calc(var(--frame-size) + var(--space-inline-inner));
  --space-inline-sm: calc(var(--frame-size) + var(--space-inline-inner-sm));
  --space-inline-sm2: calc(var(--frame-size) + var(--space-inline-inner-sm2));
}

:root {
  --space-block-section: var(--space-block-xl);
  --space-block-xl: 100px;
  --space-block-xl-half: calc(var(--space-block-xl) / 2);
  --space-block-lg: 80px;
  --space-block-md: 40px;
  --space-block-sm: 30px;
  --space-block-xs: 20px;
  --space-block-xxs: 10px;
  --space-block-xxxs: 5px;
  --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-xl-half-trim: calc(var(--space-block-xl-half) - 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));
  --space-block-xxs-trim: calc(var(--space-block-xxs) - var(--half-leading));
  --space-block-xxxs-trim: calc(var(--space-block-xxxs) - var(--half-leading));
}
:root {
  --header-size: 114px;
  --header-z-index: 5000;
  --scroll-adjust: var(--header-size);
  --frame-size: 30px;
  --sec: 0.5s;
  --sec-fast: 0.2s;
  --sec-slow: 0.8s;
  --opacity: 0.6;
  --zoom: 1.1;
  --radius: 10px;
  --radius-lg: 20px;
  --radius-sm: 4px;
}
@media (width <= 1020px) {
  :root {
    --frame-size: 15px;
  }
}
@media (width <= 768px) {
  :root {
    --header-size: 70px;
  }
}

html {
  scrollbar-gutter: stable;
}

