:root {
    --color-base: #fbfbf9;
    --color-main: #223364;
    --color-accent: #c7a97e;
    --color-sub: #bbb6ab;
    --color-surface-light: #ffffff;
    --color-surface-medium: #f4f4f2;
    --color-surface-dark: #e6e5e0;
    --color-border-light: #edece8;
    --color-border-medium: #bbb6ab;
    --color-text-main: #303131;
    --color-text-sub: #555555;
    --color-text-disabled: #bbb6ab;
    --color-text-link: #223364;
    --color-system-success: #335c4b;
    --color-system-danger: #a63a3a;
    --color-system-warning: #b38f4e;
    --color-system-info: #3b5987;
    --color-system-success-bg: #f0f5f2;
    --color-system-danger-bg: #faf0f0;
    --color-system-warning-bg: #faf6ee;
    --color-system-info-bg: #f0f4fa;

    /* 下層ページのヒーロー等で使われている実際の色（--color-main/--color-accentとは別に
       ハードコードされ続けてきたため、値を変えずにそのままトークン化したもの） */
    --color-hero-navy: #0e2245;
    --color-hero-gold: #b89e74;
}

@font-face {
    font-family: 'Inter';
    src: url("../../fonts/Inter_18pt-Regular.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Inter';
    src: url("../../fonts/Inter_18pt-Medium.ttf") format("truetype");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Inter';
    src: url("../../fonts/Inter_18pt-Bold.ttf") format("truetype");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Noto Sans JP';
    src: url("../../fonts/NotoSansJP-Regular.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Noto Sans JP';
    src: url("../../fonts/NotoSansJP-Medium.ttf") format("truetype");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Noto Sans JP';
    src: url("../../fonts/NotoSansJP-Bold.ttf") format("truetype");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

html {
    font-size: 12px;
}

body {
    background-color: var(--color-base);
    font-family: "Inter", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "YuGothic Medium", YuGothic, "Yu Gothic Medium", "Yu Gothic", "BIZ UDGothic", sans-serif;
    font-weight: 400;
    color: var(--color-text-main);
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    overflow-wrap: anywhere;
    word-break: normal;
    line-break: strict;
}

a[href^="tel:"] {
    pointer-events: none;
}

@media screen and (max-width: 767px) {
    a[href^="tel:"] {
        pointer-events: auto;
    }
}

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

.material-symbols-outlined {
    font-family: 'Material Symbols Outlined';
    font-weight: normal;
    font-style: normal;
    font-size: 24px;
    line-height: 1;
    letter-spacing: normal;
    text-transform: none;
    display: inline-block;
    width: 1em;
    height: 1em;
    overflow: hidden;
    white-space: nowrap;
    word-wrap: normal;
    direction: ltr;
}

iframe {
    max-width: 100%;
}

strong {
    font-weight: 700;
}