: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: #000000;
  --color-outline: #000000;
  --color-primary: #1F3B5D;
  --color-bg-base: #ffffff;
  --color-ash: #EEEEEE;
  --color-light: #ffffff;
  --color-dark: #000000;
}

:root {
  --ff-zen: "Zen Old Mincho", serif;
  --ff-mrs: "Mrs Saint Delafield", cursive;
  --ff-libre: "Libre Baskerville", serif;
  --ff-noto: "Noto Sans JP", sans-serif;
  --ff-serif: var(--ff-zen);
  --ff-san-serif: var(--ff-noto);
  --ff-en: var(--ff-mrs);
  --ff-en2: var(--ff-libre);
}

:root {
  --typography-dsp_en_xxxxl-font-family: var(--ff-en);
  --typography-dsp_en_xxxxl-font-weight: 400;
  --typography-dsp_en_xxxxl-font-style: normal;
  --typography-dsp_en_xxxxl-font-size: 5.25rem;
  --typography-dsp_en_xxxxl-line-height: 0.9523809524;
  --typography-dsp_en_xxxxl-letter-spacing: 0;
  --typography-std_jp_xxxl_bold-font-family: var(--ff-serif);
  --typography-std_jp_xxxl_bold-font-weight: 700;
  --typography-std_jp_xxxl_bold-font-style: normal;
  --typography-std_jp_xxxl_bold-font-size: 2.875rem;
  --typography-std_jp_xxxl_bold-line-height: 1.44;
  --typography-std_jp_xxxl_bold-letter-spacing: 0.05em;
  --typography-dsp_en_xxl-font-family: var(--ff-en);
  --typography-dsp_en_xxl-font-weight: 400;
  --typography-dsp_en_xxl-font-style: normal;
  --typography-dsp_en_xxl-font-size: 2.125rem;
  --typography-dsp_en_xxl-line-height: 1.1764705882;
  --typography-dsp_en_xxl-letter-spacing: 0;
  --typography-std_jp_xxl_bold-font-family: var(--ff-serif);
  --typography-std_jp_xxl_bold-font-weight: 700;
  --typography-std_jp_xxl_bold-font-style: normal;
  --typography-std_jp_xxl_bold-font-size: 2.125rem;
  --typography-std_jp_xxl_bold-line-height: 1.5882352941;
  --typography-std_jp_xxl_bold-letter-spacing: 0.05em;
  --typography-std_en_xl_italic-font-family: var(--ff-libre);
  --typography-std_en_xl_italic-font-weight: 400;
  --typography-std_en_xl_italic-font-style: italic;
  --typography-std_en_xl_italic-font-size: 1.5rem;
  --typography-std_en_xl_italic-line-height: 1.5833333333;
  --typography-std_en_xl_italic-letter-spacing: 0.05em;
  --typography-std_jp_xl_bold_tight-font-family: var(--ff-serif);
  --typography-std_jp_xl_bold_tight-font-weight: 700;
  --typography-std_jp_xl_bold_tight-font-style: normal;
  --typography-std_jp_xl_bold_tight-font-size: 1.5rem;
  --typography-std_jp_xl_bold_tight-line-height: 1.6666666667;
  --typography-std_jp_xl_bold_tight-letter-spacing: 0.05em;
  --typography-std_jp_large_bold-font-family: var(--ff-serif);
  --typography-std_jp_large_bold-font-weight: 700;
  --typography-std_jp_large_bold-font-style: normal;
  --typography-std_jp_large_bold-font-size: 1.125rem;
  --typography-std_jp_large_bold-line-height: 1.5555555556;
  --typography-std_jp_large_bold-letter-spacing: 0.05em;
  --typography-std_jp_bold-font-family: var(--ff-serif);
  --typography-std_jp_bold-font-weight: 700;
  --typography-std_jp_bold-font-style: normal;
  --typography-std_jp_bold-font-size: 1rem;
  --typography-std_jp_bold-line-height: 1.625;
  --typography-std_jp_bold-letter-spacing: 0.05em;
  --typography-std_jp_regular-font-family: var(--ff-san-serif);
  --typography-std_jp_regular-font-weight: 400;
  --typography-std_jp_regular-font-style: normal;
  --typography-std_jp_regular-font-size: 1rem;
  --typography-std_jp_regular-line-height: 2;
  --typography-std_jp_regular-letter-spacing: 0.05em;
  --typography-std_jp_regular_tight-font-family: var(--ff-san-serif);
  --typography-std_jp_regular_tight-font-weight: 400;
  --typography-std_jp_regular_tight-font-style: normal;
  --typography-std_jp_regular_tight-font-size: 1rem;
  --typography-std_jp_regular_tight-line-height: 1.625;
  --typography-std_jp_regular_tight-letter-spacing: 0.05em;
  --typography-std_jp_small_bold-font-family: var(--ff-serif);
  --typography-std_jp_small_bold-font-weight: 700;
  --typography-std_jp_small_bold-font-style: normal;
  --typography-std_jp_small_bold-font-size: 0.875rem;
  --typography-std_jp_small_bold-line-height: 1.5714285714;
  --typography-std_jp_small_bold-letter-spacing: 0.05em;
  --typography-std_en_small_italic-font-family: var(--ff-en2);
  --typography-std_en_small_italic-font-weight: 400;
  --typography-std_en_small_italic-font-style: italic;
  --typography-std_en_small_italic-font-size: 0.875rem;
  --typography-std_en_small_italic-line-height: 1.5714285714;
  --typography-std_en_small_italic-letter-spacing: 0.05em;
  --typography-std_jp02_small_regula-font-family: var(--ff-san-serif);
  --typography-std_jp02_small_regula-font-weight: 400;
  --typography-std_jp02_small_regula-font-style: normal;
  --typography-std_jp02_small_regula-font-size: 0.875rem;
  --typography-std_jp02_small_regula-line-height: 1.5714285714;
  --typography-std_jp02_small_regula-letter-spacing: 0.05em;
  --typography-std_jp_xs_bold-font-family: var(--ff-serif);
  --typography-std_jp_xs_bold-font-weight: 700;
  --typography-std_jp_xs_bold-font-style: normal;
  --typography-std_jp_xs_bold-font-size: 0.75rem;
  --typography-std_jp_xs_bold-line-height: 1.6666666667;
  --typography-std_jp_xs_bold-letter-spacing: 0.05em;
  --typography-std_jp_xs_regular-font-family: var(--ff-serif);
  --typography-std_jp_xs_regular-font-weight: 400;
  --typography-std_jp_xs_regular-font-style: normal;
  --typography-std_jp_xs_regular-font-size: 0.625rem;
  --typography-std_jp_xs_regular-line-height: 1.5;
  --typography-std_jp_xs_regular-letter-spacing: 0.05em;
}
@media (width <= 1120px) {
  :root {
    --typography-dsp_en_xxxxl-font-style: normal;
    --typography-dsp_en_xxxxl-font-size: 4rem;
    --typography-dsp_en_xxxxl-line-height: 0.9375;
  }
}
@media (width <= 1120px) {
  :root {
    --typography-std_jp_xxxl_bold-font-style: normal;
    --typography-std_jp_xxxl_bold-font-size: 2.5rem;
    --typography-std_jp_xxxl_bold-line-height: 1.75;
  }
}
@media (width <= 1120px) {
  :root {
    --typography-std_jp_xxl_bold-font-style: normal;
    --typography-std_jp_xxl_bold-font-size: 1.875rem;
    --typography-std_jp_xxl_bold-line-height: 1.6;
  }
}
@media (width <= 1120px) {
  :root {
    --typography-std_jp_xl_bold_tight-font-style: normal;
    --typography-std_jp_xl_bold_tight-font-size: 1.25rem;
    --typography-std_jp_xl_bold_tight-line-height: 1.7;
  }
}
@media (width <= 1120px) {
  :root {
    --typography-std_jp_large_bold-font-style: normal;
    --typography-std_jp_large_bold-font-size: 1rem;
    --typography-std_jp_large_bold-line-height: 1.5;
  }
}
@media (width <= 1120px) {
  :root {
    --typography-std_jp_bold-font-style: normal;
    --typography-std_jp_bold-font-size: 0.875rem;
    --typography-std_jp_bold-line-height: 1.5714285714;
  }
}
@media (width <= 1120px) {
  :root {
    --typography-std_jp_regular-font-style: normal;
    --typography-std_jp_regular-font-size: 0.875rem;
    --typography-std_jp_regular-line-height: 2;
  }
}
@media (width <= 1120px) {
  :root {
    --typography-sp_std_jp_large_bold-font-family: var(--ff-serif);
    --typography-sp_std_jp_large_bold-font-weight: 400;
    --typography-sp_std_jp_large_bold-font-style: normal;
    --typography-sp_std_jp_large_bold-font-size: 1rem;
    --typography-sp_std_jp_large_bold-line-height: 2;
    --typography-sp_std_jp_large_bold-letter-spacing: 0.05em;
  }
}
@media (width <= 1120px) {
  :root {
    --typography-std_jp_regular_tight-font-style: normal;
    --typography-std_jp_regular_tight-font-size: 0.875rem;
    --typography-std_jp_regular_tight-line-height: 1.5714285714;
  }
}
@media (width <= 1120px) {
  :root {
    --typography-std_jp_small_bold-font-style: normal;
    --typography-std_jp_small_bold-font-size: 0.75rem;
    --typography-std_jp_small_bold-line-height: 1.6666666667;
  }
}
@media (width <= 1120px) {
  :root {
    --typography-std_en_small_italic-font-style: italic;
    --typography-std_en_small_italic-font-size: 0.75rem;
    --typography-std_en_small_italic-line-height: 1.6666666667;
  }
}
@media (width <= 1120px) {
  :root {
    --typography-std_jp02_small_regula-font-style: normal;
    --typography-std_jp02_small_regula-font-size: 0.75rem;
    --typography-std_jp02_small_regula-line-height: 1.6666666667;
  }
}
@media (width <= 1120px) {
  :root {
    --typography-std_jp_xs_bold-font-style: normal;
    --typography-std_jp_xs_bold-font-size: 0.625rem;
    --typography-std_jp_xs_bold-line-height: 1.8;
  }
}
@media (width <= 768px) {
  :root {
    --typography-sp_std_jp_bold-font-family: var(--ff-serif);
    --typography-sp_std_jp_bold-font-weight: 700;
    --typography-sp_std_jp_bold-font-style: normal;
    --typography-sp_std_jp_bold-font-size: 0.875rem;
    --typography-sp_std_jp_bold-line-height: 1.5714285714;
    --typography-sp_std_jp_bold-letter-spacing: 0.05em;
  }
}
@media (width <= 768px) {
  :root {
    --typography-sp_std_jp_xs_regular-font-family: var(--ff-san-serif);
    --typography-sp_std_jp_xs_regular-font-weight: 400;
    --typography-sp_std_jp_xs_regular-font-style: normal;
    --typography-sp_std_jp_xs_regular-font-size: 0.625rem;
    --typography-sp_std_jp_xs_regular-line-height: 1.5;
    --typography-sp_std_jp_xs_regular-letter-spacing: 0.05em;
  }
}

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

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

html {
  scrollbar-gutter: stable;
}

