: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: #E6E6E6;
  --color-base-light2: #AAAAAA;
  --color-base-light3: #EEEEEE;
  --color-primary: #0D3BD9;
  --color-primary2: #2350EB;
  --color-primary3: #082176;
  --color-primary4: #55C7FF;
  --color-primary5: #0191D8;
  --color-attention: #FF0000;
  --color-bg-base: #F5F5F5;
  --color-bg-ash: #333333;
  --color-grad-primary: #0D3BD9;
  --color-grad-primary2: #1244DB;
  --color-grad-primary3: #092CA2;
  --color-grad-primary-pale: #14B4B4;
  --color-grad-primary-pale2: #0191D8;
  --color-grad-primary-pale3: #4AB0F4;
  --color-grad-primary-pale4: #53C2F8;
  --color-grad-primary-pale5: #14B1B5;
  --color-grad-primary-pale6: #004DFF;
  --color-grad-primary-pale7: #002046;
  --color-grad-secondary: #C676D9;
  --color-grad-secondary2: #A96DD9;
  --color-grad-dark: #111111;
  --color-grad-primary-dark: #1140DD;
  --color-grad-pale: #ADE4FF;
  --color-grad-light: #FFFFFF;
  --color-border: #CCCCCC;
  --color-border2: #AAAAAA;
  --color-border3: #C4C4C4;
  --color-ash: #CCCCCC;
  --color-light: #ffffff;
  --color-dark: #000000;
}

:root {
  --ff-zen: "Zen Kaku Gothic New", sans-serif;
  --ff-arimo: "Arimo", sans-serif;
  --ff-sans-serif: var(--ff-zen);
  --ff-en: var(--ff-arimo);
}

:root {
  --typography-text-md-r-font-family: var(--ff-sans-serif);
  --typography-text-md-r-font-weight: 400;
  --typography-text-md-r-font-size: 1rem;
  --typography-text-md-r-line-height: 2;
  --typography-text-md-r-letter-spacing: 0.05em;
  --typography-text-sm-font-family: var(--ff-sans-serif);
  --typography-text-sm-font-weight: 400;
  --typography-text-sm-font-size: 0.75rem;
  --typography-text-sm-line-height: 1.5;
  --typography-text-sm-letter-spacing: 0.05em;
  --typography-text-xsm-font-family: var(--ff-sans-serif);
  --typography-text-xsm-font-weight: 700;
  --typography-text-xsm-font-size: 0.875rem;
  --typography-text-xsm-line-height: 1.4285714286;
  --typography-text-xsm-letter-spacing: 0.05em;
  --typography-text-md-b-font-family: var(--ff-sans-serif);
  --typography-text-md-b-font-weight: 700;
  --typography-text-md-b-font-size: 1rem;
  --typography-text-md-b-line-height: 2;
  --typography-text-md-b-letter-spacing: 0.05em;
  --typography-text-xmd-m-font-family: var(--ff-sans-serif);
  --typography-text-xmd-m-font-weight: 500;
  --typography-text-xmd-m-font-size: 1.125rem;
  --typography-text-xmd-m-line-height: 1.8888888889;
  --typography-text-xmd-m-letter-spacing: 0.05em;
  --typography-text-xmd-b-font-family: var(--ff-sans-serif);
  --typography-text-xmd-b-font-weight: 700;
  --typography-text-xmd-b-font-size: 1.125rem;
  --typography-text-xmd-b-line-height: 1.8888888889;
  --typography-text-xmd-b-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.375rem;
  --typography-text-xxmd-line-height: 1.6363636364;
  --typography-text-xxmd-letter-spacing: 0.05em;
  --typography-text-lg-font-family: var(--ff-sans-serif);
  --typography-text-lg-font-weight: 700;
  --typography-text-lg-font-size: 1.5rem;
  --typography-text-lg-line-height: 1.5833333333;
  --typography-text-lg-letter-spacing: 0.05em;
  --typography-text-xlg-font-family: var(--ff-sans-serif);
  --typography-text-xlg-font-weight: 700;
  --typography-text-xlg-font-size: 2rem;
  --typography-text-xlg-line-height: 1.5;
  --typography-text-xlg-letter-spacing: 0.05em;
  --typography-text-xxlg-font-family: var(--ff-sans-serif);
  --typography-text-xxlg-font-weight: 700;
  --typography-text-xxlg-font-size: 2.75rem;
  --typography-text-xxlg-line-height: 1.4545454545;
  --typography-text-xxlg-letter-spacing: 0em;
  --typography-en-title-sm-font-family: var(--ff-en);
  --typography-en-title-sm-font-weight: 700;
  --typography-en-title-sm-font-size: 1rem;
  --typography-en-title-sm-line-height: 1.25;
  --typography-en-title-sm-letter-spacing: 0.05em;
  --typography-en-title-md-font-family: var(--ff-en);
  --typography-en-title-md-font-weight: 700;
  --typography-en-title-md-font-size: 1.375rem;
  --typography-en-title-md-line-height: 1.1818181818;
  --typography-en-title-md-letter-spacing: 0.05em;
  --typography-en-title-xlg-font-family: var(--ff-en);
  --typography-en-title-xlg-font-weight: 700;
  --typography-en-title-xlg-font-size: 3.5rem;
  --typography-en-title-xlg-line-height: 1.1071428571;
  --typography-en-title-xlg-letter-spacing: 0.05em;
  --typography-en-title-xxlg-font-family: var(--ff-en);
  --typography-en-title-xxlg-font-weight: 700;
  --typography-en-title-xxlg-font-size: 6.25rem;
  --typography-en-title-xxlg-line-height: 1.02;
  --typography-en-title-xxlg-letter-spacing: 0em;
}
@media (width <= 768px) {
  :root {
    --typography-text-md-r-font-size: 0.875rem;
    --typography-text-md-r-line-height: 1.8571428571;
  }
}
@media (width <= 768px) {
  :root {
    --typography-text-md-b-font-size: 0.875rem;
    --typography-text-md-b-line-height: 1.8571428571;
  }
}
@media (width <= 768px) {
  :root {
    --typography-text-xmd-m-font-size: 1rem;
    --typography-text-xmd-m-line-height: 1.75;
  }
}
@media (width <= 768px) {
  :root {
    --typography-text-xmd-b-font-size: 1rem;
    --typography-text-xmd-b-line-height: 1.75;
  }
}
@media (width <= 768px) {
  :root {
    --typography-text-xxmd-font-size: 1.125rem;
    --typography-text-xxmd-line-height: 1.6666666667;
  }
}
@media (width <= 768px) {
  :root {
    --typography-text-lg-font-size: 1.25rem;
    --typography-text-lg-line-height: 1.6;
  }
}
@media (width <= 768px) {
  :root {
    --typography-text-xlg-font-size: 1.375rem;
    --typography-text-xlg-line-height: 1.5454545455;
  }
}
@media (width <= 768px) {
  :root {
    --typography-text-xxlg-font-size: 2.25rem;
    --typography-text-xxlg-line-height: 1.3888888889;
  }
}
@media (width <= 768px) {
  :root {
    --typography-en-title-xlg-font-size: 2.5rem;
    --typography-en-title-xlg-line-height: 1.25;
  }
}
@media (width <= 768px) {
  :root {
    --typography-en-title-xxlg-font-size: 3.375rem;
    --typography-en-title-xxlg-line-height: 1;
  }
}

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

:root {
  --space-block-section: var(--space-block-xxxxl);
  --space-block-xxxxl: 180px;
  --space-block-xxxl: 120px;
  --space-block-xxl: 100px;
  --space-block-xl: 60px;
  --space-block-lg: 40px;
  --space-block-md: 30px;
  --space-block-sm: 20px;
  --space-block-xs: 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-xxxxl-trim: calc(var(--space-block-xxxxl) - var(--half-leading));
  --space-block-xxxxl-negative: calc(var(--space-block-xxxxl) * -1);
  --space-block-xxxl-trim: calc(var(--space-block-xxxl) - var(--half-leading));
  --space-block-xxxl-negative: calc(var(--space-block-xxxl) * -1);
  --space-block-xxl-trim: calc(var(--space-block-xxl) - var(--half-leading));
  --space-block-xxl-negative: calc(var(--space-block-xxl) * -1);
  --space-block-xl-trim: calc(var(--space-block-xl) - var(--half-leading));
  --space-block-xl-negative: calc(var(--space-block-xl) * -1);
  --space-block-lg-trim: calc(var(--space-block-lg) - var(--half-leading));
  --space-block-lg-negative: calc(var(--space-block-lg) * -1);
  --space-block-md-trim: calc(var(--space-block-md) - var(--half-leading));
  --space-block-md-negative: calc(var(--space-block-md) * -1);
  --space-block-sm-trim: calc(var(--space-block-sm) - var(--half-leading));
  --space-block-sm-negative: calc(var(--space-block-sm) * -1);
  --space-block-xs-trim: calc(var(--space-block-xs) - var(--half-leading));
  --space-block-xs-negative: calc(var(--space-block-xs) * -1);
}
@media (width <= 920px) {
  :root {
    --space-block-xxxxl: 120px;
    --space-block-xxxl: 100px;
    --space-block-xxl: 80px;
  }
}
:root {
  --header-size: 80px;
  --scroll-adjust: var(--header-size);
  --sec: 0.5s;
  --sec-fast: 0.2s;
  --sec-slow: 0.8s;
  --opacity: 0.5;
  --zoom: 1.1;
  --radius: 10px;
  --text-shadow: 0 3px 12px rgba(0, 0, 0, 0.16);
}
@media (width <= 1170px) {
  :root {
    --header-size: 60px;
  }
}

