@charset "UTF-8";
: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-base: #222222;
  --color-base-rgb:34, 34, 34;
  --color-outline: #0370AA;
  --color-outline-rgb:3, 112, 170;
  --color-bg-base: #ffffff;
  --color-bg-base-rgb:255, 255, 255;
  --color-ash-bg: #C4D0DC;
  --color-ash-bg-rgb:196, 208, 220;
  --color-ash: #AFAFAF;
  --color-ash-rgb:175, 175, 175;
  --color-border: #CCCCCC;
  --color-border-rgb:204, 204, 204;
  --color-light: #ffffff;
  --color-light-rgb:255, 255, 255;
  --color-dark: #000000;
  --color-dark-rgb:0, 0, 0;
  --color-hover: #E8445F;
  --color-hover-rgb:232, 68, 95;
}

:root {
  --ff-noto: "Noto Sans JP", "メイリオ", Meiryo, sans-serif;
  --ff-notoSerif: "Noto Serif JP", sans-serif;
  --ff-oswald: "Oswald", sans-serif;
  --ff-sans-serif: var(--ff-noto);
  --ff-serif: var(--ff-notoSerif);
  --ff-en: var(--ff-oswald);
}

:root {
  --typography-base-font-family: var(--ff-sans-serif);
  --typography-base-font-weight: 400;
  --typography-base-font-size: 1rem;
  --typography-base-line-height: 1.625;
  --typography-base-letter-spacing: 0.05em;
  --typography-std_jp_bold-font-family: var(--ff-sans-serif);
  --typography-std_jp_bold-font-weight: 700;
  --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_large_jp_medium_16-font-family: var(--ff-sans-serif);
  --typography-std_large_jp_medium_16-font-weight: 500;
  --typography-std_large_jp_medium_16-font-size: 1rem;
  --typography-std_large_jp_medium_16-line-height: 22px;
  --typography-std_large_jp_medium_16-letter-spacing: 0.05em;
  --typography-std_large_jp_medium_18-font-family: var(--ff-sans-serif);
  --typography-std_large_jp_medium_18-font-weight: 500;
  --typography-std_large_jp_medium_18-font-size: 1.125rem;
  --typography-std_large_jp_medium_18-line-height: 1.8125;
  --typography-std_large_jp_medium_18-letter-spacing: 0.05em;
  --typography-std_large_jp_bold_18-font-family: var(--ff-sans-serif);
  --typography-std_large_jp_bold_18-font-weight: 700;
  --typography-std_large_jp_bold_18-font-size: 1.125rem;
  --typography-std_large_jp_bold_18-line-height: 1.8125;
  --typography-std_large_jp_bold_18-letter-spacing: 0.05em;
  --typography-std_xl_jp_black_20-font-family: var(--ff-sans-serif);
  --typography-std_xl_jp_black_20-font-weight: 900;
  --typography-std_xl_jp_black_20-font-size: 1.25rem;
  --typography-std_xl_jp_black_20-line-height: 1.8125;
  --typography-std_xl_jp_black_20-letter-spacing: 0.05em;
  --typography-std_xxl_jp_black_32-font-family: var(--ff-sans-serif);
  --typography-std_xxl_jp_black_32-font-weight: 900;
  --typography-std_xxl_jp_black_32-font-size: 2rem;
  --typography-std_xxl_jp_black_32-line-height: 40px;
  --typography-std_xxl_jp_black_32-letter-spacing: 0.05em;
  --typography-dsp_xxxl_jp_black_46-font-family: var(--ff-sans-serif);
  --typography-dsp_xxxl_jp_black_46-font-weight: 900;
  --typography-dsp_xxxl_jp_black_46-font-size: 2.875rem;
  --typography-dsp_xxxl_jp_black_46-line-height: 58px;
  --typography-dsp_xxxl_jp_black_46-letter-spacing: 0.05em;
  --typography-en-font-family: var(--ff-en);
  --typography-en-letter-spacing: 0.05em;
  --typography-dsp_xxl_en_bold_32-font-family: var(--ff-en);
  --typography-dsp_xxl_en_bold_32-font-weight: 700;
  --typography-dsp_xxl_en_bold_32-font-size: 2rem;
  --typography-dsp_xxl_en_bold_32-line-height: 40px;
  --typography-dsp_xxl_en_bold_32-letter-spacing: 0;
  --typography-dsp_xxxl_en_bold-font-family: var(--ff-en);
  --typography-dsp_xxxl_en_bold-font-weight: 700;
  --typography-dsp_xxxl_en_bold-font-size: 2.875rem;
  --typography-dsp_xxxl_en_bold-line-height: 3.5;
  --typography-dsp_xxxl_en_bold-letter-spacing: 0;
  --typography-dsp_xxxxl_en_bold_112-font-family: var(--ff-en);
  --typography-dsp_xxxxl_en_bold_112-font-weight: 700;
  --typography-dsp_xxxxl_en_bold_112-font-size: 7rem;
  --typography-dsp_xxxxl_en_bold_112-line-height: 164px;
  --typography-dsp_xxxxl_en_bold_112-letter-spacing: 0;
}

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

:root {
  --space-block-xl: 120px;
  --space-block-lg: 80px;
  --space-block-md: 40px;
  --space-block-sm: 20px;
  --space-block-xs: 10px;
  --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-sm: 10px;
    --space-block-xs: 5px;
  }
}
:root {
  --scroll-adjust: 0px;
  --sec: 0.5s;
  --sec-fast: 0.2s;
  --sec-slow: 0.8s;
  --opacity: 0.6;
  --zoom: 1.1;
  --radius: 10px;
}

