:root {
    /* === Color === */
    --clr-brown: #564636;
    --clr-white: #fff;
    --clr-pale-brown: rgb(255, 246, 236);
    --clr-text: var(--clr-brown);
    --clr-bg: var(--clr-pale-brown);
    --clr-accent: #e1d9d1;
    --clr-border-light: #ddd;
    --clr-gray: #aaa;

    /* === Font Size === */
    /* --- PC用 --- */
    --fs-hero-pc-max: 19rem;
    --fs-hero-pc-min: 4rem;
    --fs-intro-lead: 1.8rem;
    --fs-lead: 1.8rem;
    --fs-title-lg: 5rem;
    --fs-title: 2.6rem;
    --fs-point: 4rem;
    --fs-point-header: 1.4rem;
    --fs-btn: 1.2rem;
    --fs-base: 1rem;

    /* --- SP用 --- */
    --fs-hero-sp-max: 6rem;
    --fs-hero-sp-min: 3.6rem;
    --fs-intro-lead-sp: 1.2rem;
    --fs-lead-sp: 1.2rem;
    --fs-title-lg-sp: 2.8rem;
    --fs-title-sp: 1.4rem;
    --fs-point-sp: 1.6rem;
    --fs-point-header-sp: 1.1rem;
    --fs-btn-sp: 1rem;
    --fs-base-sp: 0.9rem;

    /* === Line Height === */
    /* --- PC用 --- */
    --lh-hero-pc-max: 19rem;
    --lh-hero-pc-min: 4rem;
    --lh-intro-lead: 2.8rem;
    --lh-title-lg: 5rem;
    --lh-title: 4rem;

    /* --- SP用 --- */
    --lh-hero-sp: 5.2rem;
    --lh-intro-lead-sp: 2rem;
    --lh-title-lg-sp: 4rem;
    --lh-title-sp: 1rem;
    --lh-lead-sp: 1.8rem;
    --lh-point-header-sp: 1.8rem;
    --lh-base-sp: 1.6rem;
    --lh-btn-sp: 1.6rem;

    /* === Font Weight === */
    --fw-regular: 400;
    --fw-semibold: 450;
    --fw-bold: 500;

    /* === Border === */
    --border-sm: 1px;
    --border-md: 2px;
    --border-lg: 10px;

    /* === Animation Duration === */
    --anim-fast: 0.1s;
    --anim-slow: 0.4s;

    /* === Z-Index === */
    --z-base: 1;
    --z-overlay: 2;
    --z-overlay-ui: 3;
    --z-loading: 10;

    /* === Opacity === */
    --opacity-hidden: 0;
    --opacity-hover: 0.5;
    --opacity-cover: 0.98;

    /* === Typography === */
    --letter-spacing-sm: 0.1rem;
}