:root{--bg:#f7f4ee;--surface:#fff;--ink:#2b2a27;--ink-sub:#5e5a52;--line:#e2dccf;--wood:#8a6a46;--green:#3f5b45;--green-dark:#2f4535;--serif:"Shippori Mincho", "Yu Mincho", serif;--sans:"Noto Sans JP", "Hiragino Sans", "Yu Gothic", sans-serif;--width:1080px;--gutter:20px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-family:var(--sans);letter-spacing:.04em;font-feature-settings:"palt" 0;margin:0;font-size:16px;line-height:1.9}img{max-width:100%;height:auto;display:block}a{color:var(--green)}a:hover{color:var(--green-dark)}h1,h2,h3{font-family:var(--serif);letter-spacing:.03em;font-feature-settings:"palt";word-break:auto-phrase;text-wrap:balance;margin:0 0 .6em;font-weight:600;line-height:1.5}.sep{color:#b5ad9c;margin:0 .5em}.phrase{display:inline-block}h1{letter-spacing:0;font-size:clamp(1.7rem,4.6vw,2.6rem)}h2{font-size:clamp(1.35rem,3.2vw,1.8rem)}h3{font-size:1.15rem}p{text-wrap:pretty;margin:0 0 1.2em}.container{max-width:var(--width);padding:0 var(--gutter);margin:0 auto}.section{padding:72px 0}.section+.section{border-top:1px solid var(--line)}.eyebrow{letter-spacing:.2em;color:var(--wood);margin-bottom:.4em;font-size:.8rem}.lead{color:var(--ink-sub);max-width:38em}.site-header{background:var(--surface);border-bottom:1px solid var(--line)}.site-header .container{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;min-height:64px;display:flex}.logo{font-family:var(--serif);color:var(--ink);letter-spacing:.12em;font-size:1.25rem;font-weight:600;text-decoration:none}.nav{flex-wrap:wrap;gap:4px 18px;padding:8px 0;font-size:.92rem;display:flex}.nav a{color:var(--ink);text-decoration:none}.nav a[aria-current=page]{color:var(--green);border-bottom:2px solid var(--green)}.hero{position:relative}.hero img{object-fit:cover;width:100%;height:min(72vh,620px)}.hero-copy{background:var(--surface);padding:32px var(--gutter)}@media (width>=768px){.hero-copy{left:max(var(--gutter), calc((100vw - var(--width)) / 2));max-width:600px;padding:36px 40px;position:absolute;bottom:48px}}.strengths ol{grid-template-columns:1fr;gap:32px;margin:0;padding:0;display:grid}@media (width>=768px){.strengths ol{grid-template-columns:repeat(3,1fr)}}.strengths li{border-top:2px solid var(--ink);padding-top:16px;list-style:none}.strengths .num{font-family:var(--serif);color:var(--wood);font-size:.9rem}.cards{grid-template-columns:1fr;gap:28px;margin:0;padding:0;display:grid}@media (width>=640px){.cards{grid-template-columns:repeat(2,1fr)}}@media (width>=960px){.cards{grid-template-columns:repeat(3,1fr)}}.card{list-style:none}.card a{color:inherit;text-decoration:none;display:block}.card img{aspect-ratio:3/2;object-fit:cover;width:100%}.card .meta{color:var(--ink-sub);margin:12px 0 4px;font-size:.8rem}.card h3{margin:0;font-size:1.05rem}.card a:hover h3{color:var(--green)}.filters{flex-wrap:wrap;gap:8px;margin:0 0 32px;padding:0;display:flex}.filters li{list-style:none}.filters a{border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:4px 14px;font-size:.88rem;text-decoration:none;display:inline-block}.filters a[aria-current=page]{background:var(--green);border-color:var(--green);color:#fff}.news{margin:0;padding:0}.news li{border-bottom:1px solid var(--line);list-style:none}.news a{color:inherit;grid-template-columns:1fr;gap:2px 20px;padding:16px 0;text-decoration:none;display:grid}@media (width>=640px){.news a{grid-template-columns:9em 6em 1fr}}.news time{color:var(--ink-sub);font-size:.9rem}.tag{color:var(--wood);font-size:.78rem}.article{max-width:720px}.article .meta{color:var(--ink-sub);margin-bottom:24px;font-size:.9rem}.article img{margin-bottom:32px}.table{border-collapse:collapse;width:100%}.table th,.table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:14px 0}.table th{width:8em;color:var(--ink-sub);padding-right:16px;font-weight:500}.button{background:var(--green);color:#fff;padding:12px 28px;text-decoration:none;display:inline-block}.button:hover{background:var(--green-dark);color:#fff}.tel{font-family:var(--serif);letter-spacing:.06em;font-size:clamp(1.6rem,6vw,2.2rem)}.site-footer{background:var(--ink);color:#e9e5dc;padding:48px 0 32px;font-size:.88rem}.site-footer a{color:#e9e5dc}.crosta-note{color:#bdb8ad;border-top:1px solid #4a4843;margin-top:32px;padding-top:16px;font-size:.8rem}
