@charset "UTF-8";
:root{--ink:#20231f;--muted:#6c7069;--paper:#f6f3ec;--card:#fffdf8;--green:#263e32;--green2:#385b48;--copper:#bd7545;--line:#ded9ce;--serif:"Yu Mincho","Hiragino Mincho ProN",serif;--sans:"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.85}a{color:inherit}img{display:block;max-width:100%;height:auto}.site-header{position:sticky;top:0;z-index:20;background:rgba(250,248,242,.96);backdrop-filter:blur(12px);border-bottom:1px solid #263e321c}.header-inner{max-width:1240px;margin:auto;min-height:80px;padding:12px 26px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{text-decoration:none;display:flex;align-items:center;gap:13px}.brand-mark{width:42px;height:42px;border:1px solid var(--copper);color:var(--copper);display:grid;place-items:center;font:23px var(--serif);transform:rotate(45deg)}.brand-mark span{transform:rotate(-45deg)}.brand-name{font:27px var(--serif);letter-spacing:.16em}.brand-sub{display:block;font:9px var(--sans);letter-spacing:.2em;color:var(--muted)}.desktop-nav{display:flex;align-items:center;gap:clamp(12px,1.8vw,25px)}.desktop-nav a,.mobile-nav a{text-decoration:none;font-size:12px;letter-spacing:.1em}.desktop-nav a:hover,.mobile-nav a:hover{color:var(--copper)}.nav-cta,.button{background:var(--green);color:#fff!important;text-decoration:none;padding:11px 18px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;letter-spacing:.08em;border:1px solid var(--green);transition:.2s}.nav-cta:hover,.button:hover{background:var(--copper);border-color:var(--copper)}.mobile-menu{display:none}.hero{min-height:min(750px,calc(100svh - 80px));position:relative;display:flex;align-items:center;background:#18251e;overflow:hidden;color:#fff}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#101913d1,#10191357 60%,#10191314),url("../image/1.jpg") center/cover}.hero-content{position:relative;width:min(1180px,100%);padding:80px 34px;margin:auto}.eyebrow,.section-kicker{font-size:10px;letter-spacing:.24em;color:#bd7545;text-transform:uppercase}.hero h1{font:clamp(43px,7.4vw,86px)/1.35 var(--serif);letter-spacing:.12em;margin:18px 0}.hero p{max-width:570px;color:#ede8df;font-size:15px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}.button.light{background:transparent;border-color:#ffffffa8}.hero-note{position:absolute;right:28px;bottom:24px;color:#ffffffb0;font-size:10px;letter-spacing:.18em;writing-mode:vertical-rl}.wrap{width:min(1120px,calc(100% - 48px));margin:auto}.section{padding:90px 0}.section.white{background:var(--card)}.section.green{background:var(--green);color:#fff}.section h2,.page-heading h1{font:clamp(30px,4.2vw,46px)/1.5 var(--serif);letter-spacing:.1em;margin:9px 0 18px}.section-intro{max-width:660px;color:var(--muted)}.green .section-intro{color:#dbe2dc}.split{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}.photo{width:100%;aspect-ratio:4/3;object-fit:cover}.photo-frame{position:relative}.photo-frame:after{content:"";position:absolute;inset:15px -15px -15px 15px;border:1px solid var(--copper)}.photo-frame img{position:relative;z-index:1}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px}.card,.shop{background:var(--card);border:1px solid var(--line);padding:25px}.card h3,.shop h3{font:23px var(--serif);letter-spacing:.06em;margin:0 0 9px}.card p{color:var(--muted);font-size:13px}.card-link{color:var(--green2);text-decoration:none;font-size:12px;letter-spacing:.08em}.card-link:after{content:"　↗";color:var(--copper)}.shops{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:30px}.shop-label{font-size:10px;color:var(--copper);letter-spacing:.2em}.shop dl{display:grid;grid-template-columns:76px 1fr;gap:5px 10px;font-size:13px;margin:8px 0}.shop dt{color:var(--muted)}.shop dd{margin:0}.shop-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.button.outline{background:transparent;color:var(--green)!important}.page-heading{padding:68px 0 42px;background:var(--green);color:#fff}.page-heading p{color:#dbe2dc;margin:0}.page-body{padding:55px 0 85px}.menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.menu-grid a{background:#fff;display:block;border:1px solid var(--line);padding:8px}.menu-grid img{width:100%;transition:transform .3s}.menu-grid a:hover img{transform:scale(1.02)}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.gallery-grid img{width:100%;height:260px;object-fit:cover}.flyer{max-width:760px;margin:25px auto 50px;border:1px solid var(--line);background:#fff}.flyer img{width:100%}.flyer-caption{padding:16px 22px}.form{max-width:740px;background:#fff;padding:clamp(20px,5vw,45px);border:1px solid var(--line)}.form label{display:block;font-size:13px;margin:16px 0 5px}.form input,.form textarea,.form select{width:100%;padding:11px;border:1px solid #c9c5bc;background:#fff}.form input[type=radio]{width:auto}.radio-row{display:flex;gap:20px;flex-wrap:wrap}.radio-row label{margin:8px 0}.note{font-size:12px;color:var(--muted)}.notice{padding:15px 18px;border-left:3px solid var(--copper);background:#f1ebe0;font-size:13px;margin:20px 0}.site-footer{background:#18251e;color:#e9e7df;padding:45px 24px}.footer-inner{max-width:1120px;margin:auto;display:flex;justify-content:space-between;gap:25px}.footer-links{display:flex;gap:16px;flex-wrap:wrap}.footer-links a{font-size:11px;text-decoration:none;color:#d4d6d0}.copyright{font-size:10px;color:#aeb6ae;margin-top:20px}
@media(max-width:900px){.desktop-nav{display:none}.header-inner{min-height:68px;padding:10px 18px}.mobile-menu{display:block;position:relative}.mobile-menu summary{list-style:none;cursor:pointer;border:1px solid var(--line);padding:8px 12px;font-size:12px}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-nav{position:absolute;right:0;top:calc(100% + 9px);width:min(280px,calc(100vw - 25px));background:var(--card);padding:10px 18px;box-shadow:0 12px 30px #0002;border:1px solid var(--line)}.mobile-nav a{display:block;padding:10px 0;border-bottom:1px solid var(--line)}.hero{min-height:calc(88svh - 68px)}.section{padding:68px 0}.split{gap:30px}.cards{grid-template-columns:1fr 1fr}.gallery-grid{grid-template-columns:1fr 1fr}.gallery-grid img{height:230px}}
@media(max-width:620px){.brand-mark{width:35px;height:35px;font-size:19px}.brand-name{font-size:23px}.brand-sub{font-size:8px}.wrap{width:calc(100% - 36px)}.hero-content{padding:58px 20px}.hero h1{font-size:42px}.hero p{font-size:13px}.hero-note{right:12px;font-size:8px}.section{padding:54px 0}.split,.shops,.cards{grid-template-columns:1fr}.split .photo-frame{order:-1}.photo-frame:after{inset:9px -8px -9px 8px}.page-heading{padding:48px 0 30px}.page-body{padding:36px 0 65px}.menu-grid{grid-template-columns:1fr;gap:12px}.gallery-grid{gap:8px}.gallery-grid img{height:165px}.footer-inner{display:block}.footer-links{margin-top:18px}.shop{padding:21px}.shop dl{grid-template-columns:66px 1fr}.form{padding:20px}}
/* Restore readable text contrast on light shop cards. */
.shop{color:var(--ink)}
.brand-logo{display:block;width:70px;height:70px;object-fit:contain}
@media(max-width:620px){.brand-logo{width:56px;height:56px}}
