:root{--ink: #1f1d1a;--muted: #6b655c;--line: #e7e1d8;--bg: #ffffff;--accent: #2a4d14;--max: 720px}*{box-sizing:border-box}html{font-size:16px}body{margin:0;background:var(--bg);color:var(--ink);font-family:Hiragino Mincho ProN,Yu Mincho,"Noto Serif JP",serif;line-height:1.9;text-align:left}a{color:var(--accent);text-underline-offset:2px}.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}.site-header{border-bottom:1px solid var(--line);background:#fff}.site-header .wrap{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 20px;padding-top:18px;padding-bottom:14px}.site-name{font-size:20px;font-weight:700;margin:0;letter-spacing:.02em}.site-name a{color:var(--ink);text-decoration:none}.site-tagline{font-size:13px;color:var(--muted)}.site-nav{display:flex;flex-wrap:wrap;gap:16px;font-size:14px;padding-bottom:12px}.site-nav a{color:var(--ink);text-decoration:none}.site-nav a:hover{color:var(--accent)}main{padding:32px 0 56px}h1.page-title{font-size:26px;line-height:1.5;margin:0 0 20px}.hero{padding:28px 0 8px}.hero h1{font-size:28px;line-height:1.5;margin:0 0 6px}.hero p{color:var(--muted);margin:0}.section{margin:32px 0}.section h2{font-size:16px;letter-spacing:.08em;color:var(--accent);border-bottom:1px solid var(--line);padding-bottom:6px;margin:0 0 12px}.prose p{margin:0 0 20px}.prose img{max-width:100%;height:auto;border-radius:6px}.prose h2{font-size:19px;margin:32px 0 12px}.prose h3{font-size:16px;margin:24px 0 10px}.service-list{list-style:none;padding:0;margin:0}.service-list li{padding:12px 0;border-bottom:1px solid var(--line)}.service-title{margin:0 0 2px;font-weight:700}.service-summary{margin:0;color:var(--muted);font-size:14px}.service-more{margin:14px 0 0;font-size:14px}.news-list{list-style:none;padding:0;margin:0}.news-list li{border-bottom:1px solid var(--line)}.news-list a{display:flex;gap:14px;padding:12px 0;text-decoration:none;color:var(--ink)}.news-list a:hover{color:var(--accent)}.news-date{color:var(--muted);font-size:13px;white-space:nowrap;font-family:DM Mono,monospace}.muted{color:var(--muted)}.back{font-size:13px}.map{margin-top:14px;border:1px solid var(--line);border-radius:6px;overflow:hidden}.map iframe{display:block;width:100%;height:300px;border:0}.contact-form{position:relative;margin:24px 0 0;max-width:520px}.contact-form label{display:block;margin:0 0 16px}.contact-form label>span{display:block;font-size:14px;margin-bottom:5px}.contact-form label em{font-style:normal;font-size:12px;color:var(--accent);margin-left:8px}.contact-form input,.contact-form textarea{width:100%;border:1px solid var(--line);border-radius:6px;padding:9px 11px;font:inherit;font-size:15px;color:var(--ink);background:#fff}.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--accent)}.contact-form textarea{resize:vertical;line-height:1.8}.contact-hp{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.contact-btn{border:none;border-radius:999px;padding:10px 28px;font:inherit;font-size:15px;font-weight:700;cursor:pointer;background:var(--accent);color:#fff}.contact-btn:disabled{opacity:.6;cursor:progress}.contact-msg{margin:12px 0 0;font-size:14px}.contact-note{margin:16px 0 0;font-size:13px}.footer-contact{margin:8px 0 0}.footer-contact a{color:var(--accent);text-decoration:none}.site-footer{border-top:1px solid var(--line);background:#fff;font-size:13px;color:var(--muted)}.site-footer .wrap{padding:24px 20px 32px}.site-footer .name{color:var(--ink);font-weight:700;font-size:15px}.site-footer p{margin:4px 0}.site-logo{display:inline-flex}.site-logo img{height:80px;width:auto;display:block}.site-footer .footer-logo{height:60px;width:auto;display:block;margin:0 0 10px}.site-network{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line);font-size:13px}.site-network a{color:var(--muted);text-decoration:none}.site-network a:hover{color:var(--accent)}.site-network .current{color:var(--ink);font-weight:700}.footer-sns{margin:8px 0 0}.footer-sns a{color:var(--accent);text-decoration:none}
