*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

:root {
    --bgc-black: #000;
    --bgc-white: #fff;
    --bgc-gray: #f1f1f1;
    --bgc-gray-light: #fafafa;
    --color-orange: #e14d21;
    --color-orange-light: #ff9940;
    --color-outline: #035ae9;
    --color-text-base: #000;
    --color-text-white: #fff;
    --color-text-muted: #000000b3;
    --container-width: 71.25rem;
    --font-ibm: "IBM Plex Sans JP", sans-serif;
    --font-inter: "Inter", sans-serif;
    --gradient-primary: linear-gradient(180deg, #e14a21 0%, #ff9940 100%);
    --header-height: 6.6vw;
    --rounded-full: 9999em;
    --rounded-xl: 6.25rem;
    --rounded-lg: 1rem;
    --rounded-md: 0.75rem;
    --rounded-sm: 0.5rem;
    --rounded-xs: 0.25rem;
    --text-4xl: 3.25rem;
    --text-2xl: 2.25rem;
    --text-xl: 1.25rem;
    --text-lg: 1.125rem;
    --text-md: 1rem;
    --text-sm: 0.875rem;
    --text-xs: 0.75rem;
    --z-index-header: 100;
}

@media (max-width: 48rem) {
    :root {
        --header-height: 20.2666667vw;
        --text-4xl: 2.25rem;
        --text-2xl: 1.75rem;
        --text-xl: 1.125rem;
        --text-lg: 1rem;
        --text-md: 0.875rem;
    }
}

body {
    color: var(--color-text-base);
    font-family: "Inter", "IBM Plex Sans JP", sans-serif;
    font-size: medium;
    font-weight: 500;
    letter-spacing: 0.02em;
    overflow-x: clip;
}

img {
    height: auto;
    max-width: 100%;
}

ul,
ol {
    list-style: "";
}

a {
    color: inherit;
    text-decoration: none;
}

button,
summary {
    cursor: pointer;
}

summary {
    list-style: none;
}

summary::-webkit-details-marker {
    display: none;
}

a:focus-visible,
button:focus-visible,
summary:focus-visible {
    outline: 0.1875rem solid var(--color-outline);
    outline-offset: 0.0625rem;
}

button {
    background-color: transparent;
    border: none;
    touch-action: manipulation;
}

body:has(dialog[open]) {
    overflow: hidden;
}

body:has(dialog[open]) .scrollControl {
    overflow: auto;
}

body:has(.headerDropdownButton.is-active) {
    overflow: hidden;
}
