:root {
    --color-navy: #0b4f86;
    --color-deep-blue: #06264a;
    --color-blue: #0b73d9;
    --color-light-blue: #eaf4ff;
    --color-gold: #d6b36a;
    --color-gold-soft: #f3e4be;
    --color-text: #1f2a37;
    --color-muted: #6b7280;
    --color-bg: #f7fafd;
    --color-white: #ffffff;
    --color-border: #dde7f2;
    --color-panel: rgba(255, 255, 255, 0.9);
    --shadow-sm: 0 4px 14px rgba(6, 38, 74, 0.08);
    --shadow-md: 0 10px 30px rgba(6, 38, 74, 0.10);
    --radius-sm: 8px;
    --radius-md: 14px;
    --radius-lg: 22px;
    --container: 1180px;
    /* 会員ページ共通の本文幅。スマホ主体のため、PCでも1カラムを保つ */
    --container-narrow: 760px;
    /* 動画視聴ページ用。サイドバー320pxと動画を並べるため広めにとる */
    --container-app: 1100px;
    --header-height: 72px;
    --font-sans: -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
    --font-serif: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", "Times New Roman", serif;
    --fs-xs: 12px;
    --fs-sm: 14px;
    --fs-md: 16px;
    --fs-lg: 18px;
    --fs-xl: 22px;
    --fs-2xl: 28px;
    --lh-heading: 1.35;
    --lh-ui: 1.5;
    --lh-body: 1.8;
}

body {
    background: var(--color-bg);
    color: var(--color-text);
    font-family: var(--font-sans);
    letter-spacing: 0;
}

a {
    color: var(--color-deep-blue);
}

button,
input,
select,
textarea {
    font: inherit;
}

.flui-template input[type="text"],
.flui-template input[type="email"],
.flui-template input[type="tel"],
.flui-template input[type="number"],
.flui-template input[type="password"],
.flui-template input[type="search"],
.flui-template select,
.flui-template textarea {
    font-size: 16px;
}

.flui-template a:focus-visible,
.flui-template button:focus-visible,
.flui-template input:focus-visible,
.flui-template select:focus-visible,
.flui-template textarea:focus-visible,
.flui-template summary:focus-visible {
    outline: 2px solid var(--color-blue);
    outline-offset: 2px;
    border-radius: 4px;
}

.flui-template .site-header,
.flui-template .main-navigation,
.flui-template .page-header,
.flui-template .entry-header,
.flui-template .comments-area {
    display: none;
}

.flui-template .site.grid-container,
.flui-template .site-content,
.flui-template .content-area,
.flui-template .site-main,
.flui-template .inside-article,
.flui-template.separate-containers .inside-article {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    background: transparent;
}

.flui-template .site-content {
    display: block;
}

.flui-template .entry-content {
    margin: 0;
}

.site-content {
    padding: 0;
}

.inside-article {
    padding: 0;
}
