:root {
  --min-device-width: 360px;
  --site-width: 1000px;
  --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);
}

:root {
  --color-light: #ffffff;
  --color-dark: #000000;
  --color-base: #262626;
  --color-outline: var(--color-base);
  --color-primary: #F32525;
  --color-primary-dark: #D9232D;
  --color-primary-pale: #FFF5F5;
  --color-primary-grade1: #F15C5C;
  --color-primary-grade2: #FE0100;
  --color-secondary: #0099FF;
  --color-secondary-dark: #1888D2;
  --color-secondary-pale: #E8F6FF;
  --color-secondary-pale2: #D0EAF8;
  --color-tertiary: #FF8929;
  --color-tertiary-grade1: #FFF2E2;
  --color-tertiary-grade2: #FF8900;
  --color-line: #20CF68;
  --color-line-grade1: #20CF68;
  --color-line-grade2: #5CEB97;
  --color-line-bg: #DCFEEA;
  --color-border: #CCCCCC;
  --color-beige: #FFF8EE;
  --color-gray: #E7ECEF;
  --color-gray-dark: #EEEEEE;
  --color-warm: var(--color-beige);
  --color-ash: var(--color-gray);
  --color-ash-dark: var(--color-gray-dark);
  --color-bg-base: var(--color-light);
}

:root {
  --ff-noto: "Noto Sans JP", sans-serif;
  --ff-poppins: "Poppins", sans-serif;
  --ff-sans-serif: var(--ff-noto);
  --ff-alphanumeric: var(--ff-poppins);
}

:root {
  --typography-text_xl_bold-font-family: var(--ff-sans-serif);
  --typography-text_xl_bold-font-weight: 700;
  --typography-text_xl_bold-font-size: 2.5rem;
  --typography-text_xl_bold-line-height: 1.75;
  --typography-text_xl_bold-letter-spacing: 0;
  --typography-text_lg_bold-font-family: var(--ff-sans-serif);
  --typography-text_lg_bold-font-weight: 700;
  --typography-text_lg_bold-font-size: 1.25rem;
  --typography-text_lg_bold-line-height: 1.45;
  --typography-text_lg_bold-letter-spacing: 0;
  --typography-text_lg_plus_bold-font-family: var(--ff-sans-serif);
  --typography-text_lg_plus_bold-font-weight: 700;
  --typography-text_lg_plus_bold-font-size: 1.5rem;
  --typography-text_lg_plus_bold-line-height: 1.4583333333;
  --typography-text_lg_plus_bold-letter-spacing: 0;
  --typography-text_lg_bold_loose-font-family: var(--ff-sans-serif);
  --typography-text_lg_bold_loose-font-weight: 700;
  --typography-text_lg_bold_loose-font-size: 1.25rem;
  --typography-text_lg_bold_loose-line-height: 1.95;
  --typography-text_lg_bold_loose-letter-spacing: 0;
  --typography-text_md-font-family: var(--ff-sans-serif);
  --typography-text_md-font-weight: 500;
  --typography-text_md-font-size: 1rem;
  --typography-text_md-line-height: 1.75;
  --typography-text_md-letter-spacing: 0;
  --typography-text_md_bold-font-family: var(--ff-sans-serif);
  --typography-text_md_bold-font-weight: 700;
  --typography-text_md_bold-font-size: 1rem;
  --typography-text_md_bold-line-height: 1.5;
  --typography-text_md_bold-letter-spacing: 0;
  --typography-text_sm-font-family: var(--ff-sans-serif);
  --typography-text_sm-font-weight: 500;
  --typography-text_sm-font-size: 0.875rem;
  --typography-text_sm-line-height: 1.2857142857;
  --typography-text_sm-letter-spacing: 0;
  --typography-text_xs-font-family: var(--ff-sans-serif);
  --typography-text_xs-font-weight: 500;
  --typography-text_xs-font-size: 0.75rem;
  --typography-text_xs-line-height: 1.3333333333;
  --typography-text_xs-letter-spacing: 0;
  --typography-title_lg-font-family: var(--ff-sans-serif);
  --typography-title_lg-font-weight: 700;
  --typography-title_lg-font-size: 2.5rem;
  --typography-title_lg-line-height: 1.45;
  --typography-title_lg-letter-spacing: 0;
  --typography-title_md-font-family: var(--ff-sans-serif);
  --typography-title_md-font-weight: 700;
  --typography-title_md-font-size: 1.875rem;
  --typography-title_md-line-height: 1.4666666667;
  --typography-title_md-letter-spacing: 0;
  --typography-title_sm-font-family: var(--ff-sans-serif);
  --typography-title_sm-font-weight: 700;
  --typography-title_sm-font-size: 1.5rem;
  --typography-title_sm-line-height: 1.4583333333;
  --typography-title_sm-letter-spacing: 0;
  --typography-text_xxl_en-font-family: var(--ff-alphanumeric);
  --typography-text_xxl_en-font-weight: 600;
  --typography-text_xxl_en-font-size: 5.625rem;
  --typography-text_xxl_en-line-height: 1.0465116279;
  --typography-text_xxl_en-letter-spacing: 0;
  --typography-text_xl_en-font-family: var(--ff-alphanumeric);
  --typography-text_xl_en-font-weight: 600;
  --typography-text_xl_en-font-size: 4.0625rem;
  --typography-text_xl_en-line-height: 1.3230769231;
  --typography-text_xl_en-letter-spacing: 0;
  --typography-text_lg_en-font-family: var(--ff-alphanumeric);
  --typography-text_lg_en-font-weight: 600;
  --typography-text_lg_en-font-size: 2.375rem;
  --typography-text_lg_en-line-height: 2.2631578947;
  --typography-text_lg_en-letter-spacing: 0;
  --typography-text_md_en-font-family: var(--ff-alphanumeric);
  --typography-text_md_en-font-weight: 600;
  --typography-text_md_en-font-size: 1.5rem;
  --typography-text_md_en-line-height: 1.25;
  --typography-text_md_en-letter-spacing: 0;
  --typography-text_sm_en-font-family: var(--ff-alphanumeric);
  --typography-text_sm_en-font-weight: 600;
  --typography-text_sm_en-font-size: 1rem;
  --typography-text_sm_en-line-height: 1.125;
  --typography-text_sm_en-letter-spacing: 0;
}
@media (width <= 1000px) {
  :root {
    --typography-text_xl_bold-font-size: 2.25rem;
    --typography-text_xl_bold-line-height: 1.6666666667;
  }
}
@media (width <= 1000px) {
  :root {
    --typography-title_lg-font-family: var(--ff-sans-serif);
    --typography-title_lg-font-weight: 700;
    --typography-title_lg-font-size: 2.25rem;
    --typography-title_lg-line-height: 1.4444444444;
    --typography-title_lg-letter-spacing: 0;
  }
}

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

: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: 60px;
  --space-block-md: 40px;
  --space-block-sm: 30px;
  --space-block-xs: 20px;
  --space-block-xxs: 10px;
  --space-block-xxxs: 6px;
  --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: 142px;
  --header-z-index: 5000;
  --scroll-adjust: var(--header-size);
  --sec: 0.5s;
  --sec-fast: 0.2s;
  --sec-slow: 0.8s;
  --opacity: 0.7;
  --zoom: 1.1;
  --radius: 4px;
  --radius-lg: 10px;
}
@media (width <= 1000px) {
  :root {
    --header-size: 90px;
  }
}

html {
  scrollbar-gutter: stable;
}

