: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-primary: #2F8B6F;
  --color-primary2: #23727C;
  --color-primary3: #0A77D5;
  --color-secondary: #D89C56;
  --color-secondary2: #C1853F;
  --color-tertiary: #DA345E;
  --color-tertiary2: #F72B2D;
  --color-tertiary3: #EC7B7D;
  --color-require: #BC1D1D;
  --color-lp-primary: #004DB7;
  --color-lp-primary2: #022354;
  --color-lp-secondary: #F76172;
  --color-lp-secondary2: #9F6420;
  --color-line: #19C754;
  --color-beauty: #B02A5D;
  --color-bg-base: #F7F5F0;
  --color-bg-primary: #C4E7D9;
  --color-bg-primary2: #BFE0D2;
  --color-lp-bg-secondary: #FAE0E3;
  --color-lp-bg-secondary2: #c4d5f3;
  --color-bg-ash: #F5F5F5;
  --color-bg-ash2: #EBEBEB;
  --color-ash: #666666;
  --color-border: #DDDDDD;
  --color-border2: #CCCCCC;
  --color-border3: #C7C7C7;
  --color-light: #ffffff;
  --color-dark: #000000;
}

:root {
  --ff-zenkaku: "Zen Kaku Gothic Antique", sans-serif;
  --ff-expletus: "Expletus Sans", sans-serif;
  --ff-poppins: "Poppins", sans-serif;
  --ff-mincho: "Zen Old Mincho", serif;
  --ff-sans-serif: var(--ff-zenkaku);
  --ff-en: var(--ff-expletus);
  --ff-en2: var(--ff-poppins);
  --ff-sans-serif2: var(--ff-mincho);
}

: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: 500;
  --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.7142857143;
  --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-b-font-family: var(--ff-sans-serif);
  --typography-text-xmd-b-font-weight: 700;
  --typography-text-xmd-b-font-size: 1.25rem;
  --typography-text-xmd-b-line-height: 1.7;
  --typography-text-xmd-b-letter-spacing: 0.05em;
  --typography-title-lg-b-font-family: var(--ff-sans-serif);
  --typography-title-lg-b-font-weight: 700;
  --typography-title-lg-b-font-size: 1.625rem;
  --typography-title-lg-b-line-height: 1.7692307692;
  --typography-title-lg-b-letter-spacing: 0.05em;
  --typography-title-xlg-b-font-family: var(--ff-sans-serif);
  --typography-title-xlg-b-font-weight: 700;
  --typography-title-xlg-b-font-size: 1.875rem;
  --typography-title-xlg-b-line-height: 1.6;
  --typography-title-xlg-b-letter-spacing: 0.05em;
  --typography-title-xxlg-b-font-family: var(--ff-sans-serif);
  --typography-title-xxlg-b-font-weight: 700;
  --typography-title-xxlg-b-font-size: 2.125rem;
  --typography-title-xxlg-b-line-height: 1.5294117647;
  --typography-title-xxlg-b-letter-spacing: 0.05em;
  --typography-title-xxxlg-font-family: var(--ff-sans-serif);
  --typography-title-xxxlg-font-weight: 700;
  --typography-title-xxxlg-font-size: 2.9375rem;
  --typography-title-xxxlg-line-height: 1.4680851064;
  --typography-title-xxxlg-letter-spacing: 0.05em;
  --typography-EN-title-md-m-font-family: var(--ff-en);
  --typography-EN-title-md-m-font-weight: 500;
  --typography-EN-title-md-m-font-size: 2rem;
  --typography-EN-title-md-m-line-height: 1.40625;
  --typography-EN-title-md-m-letter-spacing: 0em;
  --typography-EN-title-xxlg-b-font-family: var(--ff-en);
  --typography-EN-title-xxlg-b-font-weight: 500;
  --typography-EN-title-xxlg-b-font-size: 6.625rem;
  --typography-EN-title-xxlg-b-line-height: 1.1320754717;
  --typography-EN-title-xxlg-b-letter-spacing: 0em;
  --typography-lp-text-md-b-font-family: var(--ff-sans-serif);
  --typography-lp-text-md-b-font-weight: 700;
  --typography-lp-text-md-b-font-size: 1.25rem;
  --typography-lp-text-md-b-line-height: 1.45;
  --typography-lp-text-md-b-letter-spacing: 0em;
  --typography-lp-text-lg-b-font-family: var(--ff-sans-serif);
  --typography-lp-text-lg-b-font-weight: 700;
  --typography-lp-text-lg-b-font-size: 1.625rem;
  --typography-lp-text-lg-b-line-height: 1.4615384615;
  --typography-lp-text-lg-b-letter-spacing: 0em;
  --typography-lp-title-md-b-font-family: var(--ff-sans-serif);
  --typography-lp-title-md-b-font-weight: 700;
  --typography-lp-title-md-b-font-size: 2.625rem;
  --typography-lp-title-md-b-line-height: 1.4523809524;
  --typography-lp-title-md-b-letter-spacing: 0em;
  --typography-lp-title-lg-b-font-family: var(--ff-sans-serif);
  --typography-lp-title-lg-b-font-weight: 700;
  --typography-lp-title-lg-b-font-size: 3.25rem;
  --typography-lp-title-lg-b-line-height: 1.1153846154;
  --typography-lp-title-lg-b-letter-spacing: 0em;
  --typography-lp2-text-md-b-font-family: var(--ff-sans-serif);
  --typography-lp2-text-md-b-font-weight: 700;
  --typography-lp2-text-md-b-font-size: 1.25rem;
  --typography-lp2-text-md-b-line-height: 1.45;
  --typography-lp2-text-md-b-letter-spacing: 0em;
  --typography-lp2-text-lg-b-font-family: var(--ff-sans-serif);
  --typography-lp2-text-lg-b-font-weight: 700;
  --typography-lp2-text-lg-b-font-size: 1.625rem;
  --typography-lp2-text-lg-b-line-height: 1.4615384615;
  --typography-lp2-text-lg-b-letter-spacing: 0em;
  --typography-lp2-title-md-b-font-family: var(--ff-sans-serif);
  --typography-lp2-title-md-b-font-weight: 700;
  --typography-lp2-title-md-b-font-size: 2.625rem;
  --typography-lp2-title-md-b-line-height: 1.4523809524;
  --typography-lp2-title-md-b-letter-spacing: 0em;
  --typography-lp2-title-lg-b-font-family: var(--ff-en2);
  --typography-lp2-title-lg-b-font-weight: 700;
  --typography-lp2-title-lg-b-font-size: 8.25rem;
  --typography-lp2-title-lg-b-line-height: 1.1153846154;
  --typography-lp2-title-lg-b-letter-spacing: 0em;
  --typography-lp3-text-md-b-font-family: var(--ff-sans-serif2);
  --typography-lp3-text-md-b-font-weight: 900;
  --typography-lp3-text-md-b-font-size: 1.25rem;
  --typography-lp3-text-md-b-line-height: 1.45;
  --typography-lp3-text-md-b-letter-spacing: 0em;
  --typography-lp3-text-lg-b-font-family: var(--ff-sans-serif2);
  --typography-lp3-text-lg-b-font-weight: 900;
  --typography-lp3-text-lg-b-font-size: 1.625rem;
  --typography-lp3-text-lg-b-line-height: 1.4615384615;
  --typography-lp3-text-lg-b-letter-spacing: 0em;
  --typography-lp3-title-md-b-font-family: var(--ff-sans-serif2);
  --typography-lp3-title-md-b-font-weight: 900;
  --typography-lp3-title-md-b-font-size: 2.625rem;
  --typography-lp3-title-md-b-line-height: 1.4523809524;
  --typography-lp3-title-md-b-letter-spacing: 0em;
  --typography-lp3-title-lg-b-font-family: var(--ff-sans-serif2);
  --typography-lp3-title-lg-b-font-weight: 900;
  --typography-lp3-title-lg-b-font-size: 3.875rem;
  --typography-lp3-title-lg-b-line-height: 1.0967741935;
  --typography-lp3-title-lg-b-letter-spacing: 0em;
}
@media (width <= 768px) {
  :root {
    --typography-text-md-r-font-size: 0.875rem;
    --typography-text-md-r-line-height: 2;
  }
}
@media (width <= 768px) {
  :root {
    --typography-text-xsm-font-size: 0.6875rem;
    --typography-text-xsm-line-height: 1.6363636364;
  }
}
@media (width <= 768px) {
  :root {
    --typography-text-md-b-font-size: 0.875rem;
    --typography-text-md-b-line-height: 2;
  }
}
@media (width <= 768px) {
  :root {
    --typography-text-xmd-b-font-size: 1.125rem;
    --typography-text-xmd-b-line-height: 1.6666666667;
  }
}
@media (width <= 768px) {
  :root {
    --typography-title-lg-b-font-size: 1.375rem;
    --typography-title-lg-b-line-height: 1.6363636364;
  }
}
@media (width <= 768px) {
  :root {
    --typography-title-xlg-b-font-size: 1.5rem;
    --typography-title-xlg-b-line-height: 1.5833333333;
  }
}
@media (width <= 768px) {
  :root {
    --typography-title-xxlg-b-font-size: 1.625rem;
    --typography-title-xxlg-b-line-height: 1.5384615385;
  }
}
@media (width <= 768px) {
  :root {
    --typography-title-xxxlg-font-size: 1.875rem;
    --typography-title-xxxlg-line-height: 1.4666666667;
  }
}
@media (width <= 768px) {
  :root {
    --typography-EN-title-md-m-font-size: 1.625rem;
    --typography-EN-title-md-m-line-height: 1.4615384615;
  }
}
@media (width <= 768px) {
  :root {
    --typography-EN-title-xxlg-b-font-size: 4.125rem;
    --typography-EN-title-xxlg-b-line-height: 1.2121212121;
  }
}
@media (width <= 768px) {
  :root {
    --typography-lp-text-md-b-font-size: 1rem;
    --typography-lp-text-md-b-line-height: 1.375;
  }
}
@media (width <= 768px) {
  :root {
    --typography-lp-text-lg-b-font-size: 1.125rem;
    --typography-lp-text-lg-b-line-height: 1.4444444444;
  }
}
@media (width <= 768px) {
  :root {
    --typography-lp-title-md-b-font-size: 1.625rem;
    --typography-lp-title-md-b-line-height: 1.4615384615;
  }
}
@media (width <= 768px) {
  :root {
    --typography-lp-title-lg-b-font-size: 2.75rem;
    --typography-lp-title-lg-b-line-height: 1.0909090909;
  }
}
@media (width <= 768px) {
  :root {
    --typography-lp2-text-lg-b-font-size: 1.375rem;
  }
}
@media (width <= 768px) {
  :root {
    --typography-lp2-title-lg-b-font-size: 3.75rem;
  }
}
@media (width <= 768px) {
  :root {
    --typography-lp3-text-md-b-font-size: 1rem;
    --typography-lp3-text-md-b-line-height: 1.375;
  }
}
@media (width <= 768px) {
  :root {
    --typography-lp3-text-lg-b-font-size: 1.125rem;
    --typography-lp3-text-lg-b-line-height: 1.4444444444;
  }
}
@media (width <= 768px) {
  :root {
    --typography-lp3-title-md-b-font-size: 1.625rem;
    --typography-lp3-title-md-b-line-height: 1.4615384615;
  }
}
@media (width <= 768px) {
  :root {
    --typography-lp3-title-lg-b-font-size: 2.5rem;
    --typography-lp3-title-lg-b-line-height: 1.0909090909;
  }
}

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

:root {
  --space-block-section: var(--space-block-xl);
  --space-block-xxl: 100px;
  --space-block-xl: 80px;
  --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-xxl-trim: calc(var(--space-block-xxl) - var(--half-leading));
  --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-section: 80px;
    --space-block-xl: 60px;
  }
}
:root {
  --scroll-adjust: 120px;
  --lp-header: 130px;
  --sec: 0.5s;
  --sec-fast: 0.2s;
  --sec-slow: 0.8s;
  --opacity: 0.6;
  --zoom: 1.1;
  --radius: 10px;
}
@media (width <= 768px) {
  :root {
    --scroll-adjust: 70px;
  }
}
@media (width <= 1050px) {
  :root {
    --lp-header: 70px;
  }
}
