@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;500&display=swap');
:root{--paper:#faf6ec;--ink:#413d2a;--wine:#7e343a;--line:#d9d0bf}*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,"Hiragino Kaku Gothic ProN",sans-serif;font-size:14px}button,input,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer}img{max-width:100%;height:auto;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:"Noto Serif JP",Georgia,serif;font-weight:400}p{line-height:1.95}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #be8542;outline-offset:4px}.demobar{background:var(--wine);color:#fff8eb;display:flex;justify-content:space-between;padding:10px 4vw;font-size:10px;letter-spacing:.06em;gap:12px}header{max-width:1440px;margin:auto;padding:27px 5vw;display:flex;align-items:center;justify-content:space-between;gap:30px}.logo{font:bold 43px Georgia;letter-spacing:-3px}.logo span{display:block;font:9px Arial;letter-spacing:.08em;margin-top:5px}nav{display:flex;gap:32px;font-size:12px}.bag{border:1px solid var(--line);background:none;border-radius:50%;width:66px;height:66px;font-size:11px;letter-spacing:.05em}.bag span{margin-left:5px}.hero{display:grid;grid-template-columns:.9fr 1.1fr;max-width:1440px;margin:auto;padding:12px 4vw 50px;align-items:center;gap:2vw}.hero-copy{padding:35px 2vw}.eyebrow{font-size:10px;letter-spacing:.15em;color:var(--wine);font-weight:600}.hero h1{font-size:clamp(30px,3.8vw,54px);line-height:1.7;letter-spacing:.04em;margin:34px 0 22px}.hero-copy>p:not(.eyebrow){font-size:13px;line-height:2.1}.button{background:var(--wine);color:#fff9ef;border:1px solid var(--wine);padding:18px 24px;display:inline-flex;align-items:center;justify-content:space-between;gap:32px;font-size:12px;border-radius:3px;min-height:48px}.button:hover{background:#62282d}.hero .button{margin-top:20px}.hero-foot{display:block;font-size:8px;letter-spacing:.12em;margin-top:45px}.hero-photo{position:relative}.hero-photo img{width:100%;aspect-ratio:1.08;object-fit:cover;border-radius:50% 50% 4px 4px}.seal{position:absolute;bottom:10%;left:-28px;background:#e5b77e;border-radius:50%;width:110px;height:110px;display:grid;align-content:center;text-align:center;font:14px Georgia;line-height:1.6;transform:rotate(-12deg)}.seal em{font-size:18px}.ribbon{display:flex;align-items:center;justify-content:center;gap:30px;padding:24px 18px;background:#e9e0c6;overflow:hidden;white-space:nowrap;font-size:11px;letter-spacing:.09em}.ribbon span{color:var(--wine);font-size:25px}.section{max-width:1280px;margin:auto;padding:100px 5vw}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px}.section h2{font-size:clamp(24px,2.6vw,35px);line-height:1.8;margin-bottom:10px}.section-head>p{font-size:12px;margin:0 0 14px}.filters{margin:35px 0;display:flex;align-items:end;gap:20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:23px 0}.filters label{flex:1;max-width:250px}label{display:grid;gap:9px;font-size:11px;margin-bottom:15px}select{width:100%;background:#fffaf1;border:1px solid var(--line);border-radius:0;padding:12px;color:var(--ink);min-height:46px} .filters label{margin:0}.text-button{border:0;border-bottom:1px solid var(--ink);padding:10px 0;background:none;color:var(--ink);font-size:12px}.filters p{margin:0 0 10px auto;font-size:11px}.products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.product{min-width:0}.product-image{position:relative;overflow:hidden}.product-image img{width:100%;aspect-ratio:1;object-fit:cover;transition:transform .6s}.product:hover img{transform:scale(1.03)}.product-image span{position:absolute;top:14px;left:14px;background:#fffaf1;padding:7px 10px;font-size:9px}.product h3{font-size:20px;margin:20px 0 8px}.product p{font-size:12px;margin-bottom:15px}.product-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:14px}.product-bottom button{border:0;background:none;color:var(--wine);font-size:12px;padding:10px 0}.empty{grid-column:1/-1;padding:45px 0}.small{font-size:10px;color:#736e5c;line-height:1.8;margin:20px 0 0}.story{background:#ede5d2;max-width:none;display:grid;grid-template-columns:.25fr 1fr .6fr;gap:6vw;align-items:center;padding-left:max(5vw,calc((100vw - 1150px)/2));padding-right:max(5vw,calc((100vw - 1150px)/2))}.story-number{font:60px Georgia;color:var(--wine)}.story-number span{font:12px Arial;white-space:nowrap}.story p{font-size:12px;line-height:2.2;margin:23px 0}.note-card{padding:35px;background:#fffcf5;transform:rotate(5deg);box-shadow:0 15px 30px #40331910}.note-card>span{font:italic 15px Georgia;color:var(--wine)}footer{padding:55px 5vw;display:flex;gap:30px;align-items:center;justify-content:space-between}footer p{font-size:10px;margin:0}footer>a:last-child{font-size:11px}dialog{border:0;padding:45px;width:min(92vw,660px);max-height:88dvh;overflow:auto;background:var(--paper);color:var(--ink);border-radius:6px}dialog::backdrop{background:#231c17a6;backdrop-filter:blur(4px)}.close{position:absolute;right:12px;top:9px;width:40px;height:40px;background:none;border:0;font-size:26px;color:var(--ink)}dialog h2{font-size:26px;line-height:1.6}#product-detail>img{width:100%;height:260px;object-fit:cover;margin-bottom:24px}#product-detail p{font-size:13px}.cart-row{display:grid;grid-template-columns:64px 1fr auto;align-items:center;gap:14px;border-bottom:1px solid var(--line);padding:15px 0}.cart-row img{width:64px;border-radius:3px}.cart-row p{font-size:12px;margin:0}.cart-row button{background:none;border:0;color:var(--wine);padding:10px;font-size:11px}#checkout{margin-top:25px}.total{display:flex;justify-content:space-between;padding:20px 0;border-top:1px solid var(--line)}#order-review{padding-top:25px}#order-review p{font-size:13px}.button:disabled{opacity:.45;cursor:not-allowed}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;padding:14px 22px;border-radius:30px;font-size:12px;pointer-events:none;opacity:0;transition:opacity .2s;max-width:90vw;text-align:center}#toast.show{opacity:1}
@media(max-width:760px){.demobar span{display:none}header{padding:22px 6vw;gap:12px}.logo{font-size:36px}nav{gap:16px;font-size:11px}.bag{width:52px;height:52px;flex-shrink:0}.hero{grid-template-columns:1fr;padding:0 6vw 35px;gap:15px}.hero-copy{padding:25px 0 10px}.hero h1{font-size:35px;margin:22px 0 15px}.hero-foot{display:none}.hero-photo{margin:10px 0 0 25px}.hero-photo img{aspect-ratio:1.2}.seal{width:85px;height:85px;left:-25px}.hero .button{margin-top:10px}.ribbon{justify-content:start;font-size:10px;padding:15px 20px}.section{padding:64px 6vw}.section-head{display:block}.section-head>p{margin-top:18px}.filters{display:grid;grid-template-columns:1fr 1fr;gap:14px}.filters label{max-width:none;font-size:10px}.filters p{margin:0;text-align:right}.text-button{justify-self:start}.products{grid-template-columns:1fr;gap:35px}.product-image img{aspect-ratio:1.2}.product h3{font-size:23px}.story{grid-template-columns:1fr;gap:20px}.story-number{font-size:38px}.note-card{max-width:280px;margin:20px auto 0;width:90%}footer{display:grid;gap:23px}dialog{padding:45px 22px 28px}#product-detail>img{height:auto;aspect-ratio:1.3}.cart-row{grid-template-columns:50px 1fr auto;gap:10px}.cart-row img{width:50px}}@media(max-width:360px){nav a:last-child{display:none}.hero h1{font-size:30px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
