:root {
  --min-device-width: 360px;
  --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));
  --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-light: #CCCCCC;
  --color-base-light2: #A3A3A3;
  --color-outline: #111111;
  --color-primary: #DC000C;
  --color-secondary: #F0A630;
  --color-attention: #DC000C;
  --color-bg-base: #ffffff;
  --color-ash: #707070;
  --color-ash-dark: #333333;
  --color-ash-dark2: #4B4B4B;
  --color-ash-light: #F5F5F5;
  --color-ash-light2: #DDDDDD;
  --color-border: #4B4B4B;
  --color-border-light: #A3A3A3;
  --color-border-light2: #DDDDDD;
  --color-border-light3: #707070;
  --color-scrollbar: #C1C1C1;
  --color-scrollbar-track: #FAFAFA;
  --color-light: #ffffff;
  --color-dark: #000000;
}

:root {
  --ff-noto: "Noto Sans JP", sans-serif;
  --ff-stack: "Stack Sans Text", sans-serif;
  --ff-sans-serif: var(--ff-noto);
  --ff-en: var(--ff-stack);
}

:root {
  --typography-text_m_sm-font-family: var(--ff-sans-serif);
  --typography-text_m_sm-font-weight: 500;
  --typography-text_m_sm-font-size: 0.875rem;
  --typography-text_m_sm-line-height: 1.4285714286;
  --typography-text_m_sm-letter-spacing: 0.05em;
  --typography-text_b_sm-font-family: var(--ff-sans-serif);
  --typography-text_b_sm-font-weight: 700;
  --typography-text_b_sm-font-size: 0.875rem;
  --typography-text_b_sm-line-height: 1.4285714286;
  --typography-text_b_sm-letter-spacing: 0.05em;
  --typography-text_m_md_tight-font-family: var(--ff-sans-serif);
  --typography-text_m_md_tight-font-weight: 500;
  --typography-text_m_md_tight-font-size: 1rem;
  --typography-text_m_md_tight-line-height: 1.625;
  --typography-text_m_md_tight-letter-spacing: 0.05em;
  --typography-text_m_md-font-family: var(--ff-sans-serif);
  --typography-text_m_md-font-weight: 500;
  --typography-text_m_md-font-size: 1rem;
  --typography-text_m_md-line-height: 2;
  --typography-text_m_md-letter-spacing: 0.05em;
  --typography-text_b_md-font-family: var(--ff-sans-serif);
  --typography-text_b_md-font-weight: 700;
  --typography-text_b_md-font-size: 1rem;
  --typography-text_b_md-line-height: 1.625;
  --typography-text_b_md-letter-spacing: 0.05em;
  --typography-text_b_xmd-font-family: var(--ff-sans-serif);
  --typography-text_b_xmd-font-weight: 700;
  --typography-text_b_xmd-font-size: 1.375rem;
  --typography-text_b_xmd-line-height: 1.6363636364;
  --typography-text_b_xmd-letter-spacing: 0.05em;
  --typography-text_xxmd-font-family: var(--ff-sans-serif);
  --typography-text_xxmd-font-weight: 700;
  --typography-text_xxmd-font-size: 1.75rem;
  --typography-text_xxmd-line-height: 1.4285714286;
  --typography-text_xxmd-letter-spacing: 0.05em;
  --typography-title_b_md-font-family: var(--ff-sans-serif);
  --typography-title_b_md-font-weight: 700;
  --typography-title_b_md-font-size: 2.25rem;
  --typography-title_b_md-line-height: 1.3333333333;
  --typography-title_b_md-letter-spacing: 0;
  --typography-title_b_xlg-font-family: var(--ff-sans-serif);
  --typography-title_b_xlg-font-weight: 700;
  --typography-title_b_xlg-font-size: 3.25rem;
  --typography-title_b_xlg-line-height: 1.3846153846;
  --typography-title_b_xlg-letter-spacing: 0;
  --typography-title_b_xxlg-font-family: var(--ff-sans-serif);
  --typography-title_b_xxlg-font-weight: 700;
  --typography-title_b_xxlg-font-size: 4.25rem;
  --typography-title_b_xxlg-line-height: 1.3823529412;
  --typography-title_b_xxlg-letter-spacing: 0.05em;
  --typography-EN_text_xsm-font-family: var(--ff-en);
  --typography-EN_text_xsm-font-weight: 500;
  --typography-EN_text_xsm-font-size: 1rem;
  --typography-EN_text_xsm-line-height: 1.25;
  --typography-EN_text_xsm-letter-spacing: 0.06em;
  --typography-EN_text_sm-font-family: var(--ff-en);
  --typography-EN_text_sm-font-weight: 700;
  --typography-EN_text_sm-font-size: 1.125rem;
  --typography-EN_text_sm-line-height: 1.2222222222;
  --typography-EN_text_sm-letter-spacing: 0.06em;
  --typography-EN_text_md-font-family: var(--ff-en);
  --typography-EN_text_md-font-weight: 700;
  --typography-EN_text_md-font-size: 1.75rem;
  --typography-EN_text_md-line-height: 1.3571428571;
  --typography-EN_text_md-letter-spacing: 0.06em;
  --typography-EN_text_xmd-font-family: var(--ff-en);
  --typography-EN_text_xmd-font-weight: 700;
  --typography-EN_text_xmd-font-size: 2.25rem;
  --typography-EN_text_xmd-line-height: 1.1111111111;
  --typography-EN_text_xmd-letter-spacing: 0.06em;
  --typography-EN_text_xxmd-font-family: var(--ff-en);
  --typography-EN_text_xxmd-font-weight: 700;
  --typography-EN_text_xxmd-font-size: 3.625rem;
  --typography-EN_text_xxmd-line-height: 1.3793103448;
  --typography-EN_text_xxmd-letter-spacing: 0;
  --typography-EN_text_xxxmd-font-family: var(--ff-en);
  --typography-EN_text_xxxmd-font-weight: 700;
  --typography-EN_text_xxxmd-font-size: 5.375rem;
  --typography-EN_text_xxxmd-line-height: 1.1627906977;
  --typography-EN_text_xxxmd-letter-spacing: 0;
}
@media (width <= 1120px) {
  :root {
    --typography-title_b_xlg-font-size: 2.625rem;
    --typography-title_b_xlg-line-height: 1.2380952381;
  }
}
@media (width <= 1120px) {
  :root {
    --typography-EN_text_xxxmd-font-size: 4rem;
    --typography-EN_text_xxxmd-line-height: 1.15625;
  }
}

:root {
  --space-inline: 50px;
}
@media (width <= 768px) {
  :root {
    --space-inline: 25px;
  }
}

:root {
  --space-block-section: var(--space-block-xl);
  --space-block-xxl: 160px;
  --space-block-xxl-half: calc(var(--space-block-xxl) / 2);
  --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-section-trim: calc(var(--space-block-section) - var(--half-leading));
  --space-block-section-negative: calc(var(--space-block-section) * -1);
  --space-block-section\+: calc(var(--space-block-section) + 50px);
  --space-block-xxl-trim: calc(var(--space-block-xxl) - var(--half-leading));
  --space-block-xxl-negative: calc(var(--space-block-xxl) * -1);
  --space-block-xxl\+: calc(var(--space-block-xxl) + 50px);
  --space-block-xxl-half-trim: calc(var(--space-block-xxl-half) - var(--half-leading));
  --space-block-xxl-half-negative: calc(var(--space-block-xxl-half) * -1);
  --space-block-xxl-half\+: calc(var(--space-block-xxl-half) + 50px);
  --space-block-xl-trim: calc(var(--space-block-xl) - var(--half-leading));
  --space-block-xl-negative: calc(var(--space-block-xl) * -1);
  --space-block-xl\+: calc(var(--space-block-xl) + 50px);
  --space-block-xl-half-trim: calc(var(--space-block-xl-half) - var(--half-leading));
  --space-block-xl-half-negative: calc(var(--space-block-xl-half) * -1);
  --space-block-xl-half\+: calc(var(--space-block-xl-half) + 50px);
  --space-block-lg-trim: calc(var(--space-block-lg) - var(--half-leading));
  --space-block-lg-negative: calc(var(--space-block-lg) * -1);
  --space-block-lg\+: calc(var(--space-block-lg) + 50px);
  --space-block-md-trim: calc(var(--space-block-md) - var(--half-leading));
  --space-block-md-negative: calc(var(--space-block-md) * -1);
  --space-block-md\+: calc(var(--space-block-md) + 50px);
  --space-block-sm-trim: calc(var(--space-block-sm) - var(--half-leading));
  --space-block-sm-negative: calc(var(--space-block-sm) * -1);
  --space-block-sm\+: calc(var(--space-block-sm) + 50px);
  --space-block-xs-trim: calc(var(--space-block-xs) - var(--half-leading));
  --space-block-xs-negative: calc(var(--space-block-xs) * -1);
  --space-block-xs\+: calc(var(--space-block-xs) + 50px);
  --space-block-xxs-trim: calc(var(--space-block-xxs) - var(--half-leading));
  --space-block-xxs-negative: calc(var(--space-block-xxs) * -1);
  --space-block-xxs\+: calc(var(--space-block-xxs) + 50px);
}
:root {
  --header-size: 100px;
  --header-z-index: 5000;
  --scroll-adjust: var(--header-size);
  --sec: 0.5s;
  --sec-fast: 0.2s;
  --sec-slow: 0.8s;
  --opacity: 0.5;
  --zoom: 1.1;
  --radius: 10px;
}
@media (width <= 1000px) {
  :root {
    --header-size: 72px;
  }
}

html {
  scrollbar-gutter: stable;
}

