/* デザイントークン・ベースタイポ（静的 HTML 由来を集約） */
:root {
    --primary: #5D6D5A;
    --accent: #8C7355;
    --bg-base: #FEFEFE;
    --bg-sub: #F9F7F5;
    --text-main: #333333;
    --text-sub: #666666;
    --earth-green: #4a7c59;
    --warm-beige: #f5f0e8;
}

#main-header, #main-header * {
    font-family: 'Noto Sans JP', sans-serif;
}

body {
    font-family: 'Noto Sans JP', sans-serif;
    color: var(--text-main);
    background-color: var(--bg-base);
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
}

main {
    color: var(--text-main);
    -webkit-font-smoothing: antialiased;
}

h1, h2, h3, .font-serif {
    font-family: 'Noto Serif JP', serif;
}

.sticky-header.scrolled, #main-header.scrolled {
    background-color: rgba(255, 255, 255, 0.95);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}

#mobile-menu {
    transition: transform 0.3s ease-in-out;
}
#mobile-menu.hidden-menu {
    transform: translateX(100%);
}
