:root{ color-scheme: light; }
*{ margin:0; padding:0; box-sizing:border-box; }
body{ font-family:"Hiragino Sans","Noto Sans CJK JP",sans-serif; background:#FBF7F0; color:#3E3226; line-height:1.8; }
h1,h2,h3,.serif{ font-family:"Hiragino Mincho ProN","Yu Mincho","Noto Serif CJK JP",serif; }
a{ color:#9A6633; }
header{ background:#FFFDF8; border-bottom:1px solid #E7DCC8; position:sticky; top:0; z-index:10; }
.header-in{ max-width:960px; margin:0 auto; padding:14px 20px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px; }
.logo{ font-family:"Hiragino Mincho ProN","Yu Mincho",serif; font-size:22px; letter-spacing:.12em; color:#3E3226; text-decoration:none; }
.logo small{ display:block; font-size:11px; letter-spacing:.3em; color:#B0763B; }
nav a{ margin-left:18px; text-decoration:none; color:#3E3226; font-size:14px; letter-spacing:.08em; }
nav a.current{ color:#B0763B; border-bottom:2px solid #B0763B; padding-bottom:2px; }
.wrap{ max-width:960px; margin:0 auto; padding:0 20px; }
.hero img{ width:100%; height:auto; display:block; }
.hero-text{ text-align:center; padding:44px 20px 8px; }
.hero-text h1{ font-size:30px; letter-spacing:.06em; font-weight:600; }
.hero-text p{ margin-top:14px; color:#6B5844; }
section{ padding:40px 0 8px; }
h2.title{ font-size:24px; letter-spacing:.08em; text-align:center; margin-bottom:8px; }
h2.title + .sub{ text-align:center; color:#B0763B; font-size:12px; letter-spacing:.35em; margin-bottom:26px; }
.cards{ display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:22px; }
.card{ background:#FFFDF8; border:1px solid #EDE3D0; border-radius:10px; overflow:hidden; }
.card img{ width:100%; height:180px; object-fit:cover; display:block; }
.card .c-in{ padding:16px 18px; }
.card h3{ font-size:17px; margin-bottom:6px; }
.card p{ font-size:14px; color:#6B5844; }
.price{ color:#B0763B; font-weight:bold; }
.split{ display:grid; grid-template-columns:1fr 1fr; gap:28px; align-items:center; }
.split img{ width:100%; border-radius:10px; display:block; }
@media(max-width:700px){ .split{ grid-template-columns:1fr; } }
p.lead{ color:#54452F; }
table.info{ width:100%; border-collapse:collapse; background:#FFFDF8; border:1px solid #EDE3D0; }
table.info th, table.info td{ padding:12px 16px; border-bottom:1px solid #EFE6D4; text-align:left; font-size:15px; vertical-align:top; }
table.info th{ width:32%; color:#9A6633; font-weight:600; background:#FBF4E6; }
.menu-cat{ margin-bottom:34px; }
.menu-cat h3{ font-size:19px; border-left:4px solid #B0763B; padding-left:10px; margin-bottom:12px; }
.menu-item{ display:flex; justify-content:space-between; gap:14px; padding:9px 4px; border-bottom:1px dotted #D9C9A8; }
.menu-item .d{ font-size:13px; color:#8A7358; }
.btn{ display:inline-block; background:#B0763B; color:#fff; text-decoration:none; padding:12px 30px; border-radius:999px; letter-spacing:.1em; font-size:15px; }
.btn-line{ display:inline-block; border:1px solid #B0763B; color:#9A6633; text-decoration:none; padding:11px 28px; border-radius:999px; letter-spacing:.1em; font-size:15px; background:#FFFDF8; }
.cta{ text-align:center; padding:36px 0 8px; }
.cta a{ margin:4px; }
.notice{ background:#FFFDF8; border:1px solid #EDE3D0; border-radius:10px; padding:18px 22px; font-size:14px; color:#54452F; }
footer{ margin-top:56px; background:#3E3226; color:#EDE3D0; padding:34px 20px; text-align:center; }
footer .f-logo{ font-family:"Hiragino Mincho ProN","Yu Mincho",serif; font-size:19px; letter-spacing:.12em; }
footer p{ font-size:13px; color:#C9B898; margin-top:6px; }
footer nav{ margin-top:12px; }
footer nav a{ color:#EDE3D0; margin:0 10px; font-size:13px; }
