:root{--bg:#f6f1e9;--bg-2:#efe4d3;--ink:#2a2420;--muted:#5c5048;--accent:#a3461f;--accent-ink:#fff;--line:#d9cbb6;--serif:"Hiragino Mincho ProN", "Yu Mincho", "Noto Serif JP", serif;--sans:"Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic", sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-family:var(--sans);margin:0;font-size:16px;line-height:1.8}a{color:inherit}h1,h2,h3{font-family:var(--serif);margin:0 0 .6em;line-height:1.4}p{margin:0 0 1em}ul{margin:0;padding:0;list-style:none}.wrap{max-width:1040px;margin:0 auto;padding:0 20px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.demo-bar{background:var(--ink);color:#f6f1e9;text-align:center;padding:8px 16px;font-size:13px;line-height:1.6}.site-header{border-bottom:1px solid var(--line)}.header-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;min-height:64px;display:flex}.logo{font-family:var(--serif);font-size:22px;font-weight:700;text-decoration:none}.nav{flex-wrap:wrap;gap:4px 18px;font-size:14px;display:flex}.nav a{padding:10px 2px;text-decoration:none;display:inline-block}.nav a:hover{text-decoration:underline}.hero{padding:56px 0 64px}.hero-inner{grid-template-columns:1.2fr .8fr;align-items:center;gap:40px;display:grid}.eyebrow{color:var(--accent);letter-spacing:.08em;font-size:14px;font-weight:700}h1{font-size:clamp(30px,6vw,48px)}.lead{color:var(--muted);max-width:32em}.hero-art{justify-self:center;width:100%;max-width:320px;height:auto}.cta-row{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}.btn{background:var(--accent);color:var(--accent-ink);border:2px solid var(--accent);cursor:pointer;font-size:15px;font-weight:700;font-family:var(--sans);border-radius:999px;padding:12px 24px;text-decoration:none;display:inline-block}.btn:hover{filter:brightness(1.08)}.btn-ghost{color:var(--ink);border-color:var(--ink);background:0 0}.section{border-top:1px solid var(--line);padding:64px 0}h2{font-size:clamp(24px,4vw,32px)}.section-lead{color:var(--muted)}.points{background:var(--bg-2);border-top:0;padding:40px 0}.point-list{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.point-num{font-family:var(--serif);color:var(--accent);font-size:28px;font-weight:700}.point-list h3{margin:4px 0 6px;font-size:18px}.point-list p{color:var(--muted);margin:0;font-size:15px}.bean-grid{grid-template-columns:repeat(2,1fr);gap:16px;margin-top:24px;display:grid}.bean{border:1px solid var(--line);background:#fff;border-radius:12px;padding:20px 22px}.bean h3{margin-bottom:6px;font-size:19px}.bean p{color:var(--muted);margin:0 0 8px;font-size:15px}.roast{font-weight:700;color:var(--accent)!important;font-size:13px!important}.price{font-weight:700;color:var(--ink)!important;margin:0!important}.about{background:var(--ink);color:#f6f1e9;border-top:0}.about-inner{grid-template-columns:.5fr 1.5fr;gap:32px;display:grid}.about p{color:#e8dfd3}.shop-info{border-top:1px solid var(--line);gap:0;margin:16px 0 0;display:grid}.shop-info>div{border-bottom:1px solid var(--line);grid-template-columns:8em 1fr;gap:16px;padding:14px 0;display:grid}.shop-info dt{font-weight:700}.shop-info dd{color:var(--muted);margin:0}.faq-list details{border-bottom:1px solid var(--line);padding:14px 0}.faq-list summary{cursor:pointer;font-weight:700}.faq-list details p{color:var(--muted);margin:10px 0 0}.contact{background:var(--bg-2)}.contact-inner{grid-template-columns:.8fr 1.2fr;gap:40px;display:grid}.form{gap:16px;display:grid}.field{gap:6px;display:grid}.field label{font-size:14px;font-weight:700}.field input,.field select,.field textarea{font:inherit;color:var(--ink);background:#fff;border:1px solid #a8998a;border-radius:8px;width:100%;padding:10px 12px}.field input:focus,.field select:focus,.field textarea:focus,.btn:focus-visible,a:focus-visible,summary:focus-visible{outline-offset:2px;outline:3px solid #1d5fbf}.note{color:var(--muted);margin:0;font-size:13px}.form-demo{border:1px dashed var(--accent);background:#fff;border-radius:8px;margin:0;padding:10px 14px;font-size:14px}.btn:disabled{opacity:.6;cursor:not-allowed;filter:none}.form-done{border:1px solid var(--line);background:#fff;border-radius:12px;padding:20px}.site-footer{color:var(--muted);padding:32px 0;font-size:13px}.site-footer p{margin:0 0 4px}@media (max-width:760px){.hero{padding:36px 0 44px}.hero-inner,.about-inner,.contact-inner{grid-template-columns:1fr;gap:24px}.hero-art{order:-1;max-width:200px}.point-list,.bean-grid{grid-template-columns:1fr}.section{padding:48px 0}.shop-info>div{grid-template-columns:1fr;gap:2px}}
