:root { color-scheme: light; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans JP", sans-serif; color: #243a30; background: #f6f8f4; line-height: 1.85; }
* { box-sizing: border-box; }
body { margin: 0; overflow-wrap: anywhere; }
header, main, footer { max-width: 48rem; margin: auto; padding: 1.5rem; }
header { border-bottom: 1px solid #d7e0d4; }
header a { font-weight: 700; text-decoration: none; }
header span { display: block; font-size: .875rem; color: #566459; }
main { padding-top: 1rem; }
h1 { font-size: clamp(1.6rem, 5vw, 2rem); line-height: 1.5; }
h2 { font-size: 1.2rem; line-height: 1.6; margin-top: 0; }
h3 { font-size: 1rem; line-height: 1.6; margin: 1.5rem 0 .5rem; }
nav { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; margin: 1.5rem 0; padding: 1rem 0; border-block: 1px solid #d7e0d4; }
nav a { padding-block: .25rem; }
p { margin: .8rem 0; }
section { margin: 2rem 0; }
a { color: #216141; text-underline-offset: .2em; }
a:focus-visible { outline: 3px solid #92621b; outline-offset: 4px; }
.lead { font-size: 1.1rem; }
.contact { background: #fff; border: 1px solid #b8cdb9; border-radius: .75rem; padding: 1.25rem; }
footer { color: #566459; font-size: .875rem; border-top: 1px solid #d7e0d4; }
