* { box-sizing:border-box; }
html { background:#e5efed;scroll-padding-top:20px; }
body { margin:0;color:#342d29;font:16px/1.85 "Hiragino Sans","Yu Gothic",Meiryo,sans-serif;letter-spacing:0; }
a { color:#24616c;text-underline-offset:4px; }
a:focus-visible { outline:3px solid #b74b28;outline-offset:4px; }
.about-header { display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:900px;margin:auto;padding:22px 28px; }
.about-header img { display:block;width:220px;max-width:100%;height:110px;object-fit:contain; }
.back-link { display:inline-block;flex-shrink:0;font-weight:700; }
main { max-width:900px;margin:auto;background:#fffdf8;padding:32px 48px 48px; }
h1 { margin:0 0 20px;font-size:28px;line-height:1.5;overflow-wrap:anywhere; }
h2 { font-size:22px;line-height:1.5;margin:0 0 14px; }
h3 { font-size:17px;margin:22px 0 8px; }
p { margin:0 0 16px; }
.intro { font-size:18px; }
nav,footer { display:flex;flex-wrap:wrap;gap:10px 24px; }
nav { padding:12px 0 24px; }
section { padding:28px 0 12px;border-top:1px solid #c7d5d1; }
ol { padding-left:1.5em; }
li { padding-left:4px;margin-bottom:12px; }
footer { max-width:900px;margin:auto;padding:24px 28px;font-size:13px; }
@media(max-width:600px) {
 .about-header { padding:16px 20px;gap:12px; }
 .about-header img { width:150px;height:75px; }
 .about-header .back-link { font-size:13px; }
 main { padding:24px 22px 32px; }
 h1 { font-size:24px; }
 h2 { font-size:20px; }
 .intro { font-size:16px; }
}
