:root{--green:#164c36;--green2:#287452;--cream:#f5f0e4;--ink:#18302a;--muted:#68766f;--line:#dce3db;--white:#fff;--red:#b84331}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",system-ui,sans-serif;background:#fbfcf9;font-size:16px}button,input{font:inherit}button,a{transition:.2s}.wrap{width:min(1180px,calc(100% - 40px));margin:auto}.topbar{background:var(--green);color:#dcece4;text-align:center;padding:8px;font-size:.8rem;letter-spacing:.08em}.nav{height:82px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--green);font-family:serif;font-weight:700;font-size:1.45rem;line-height:1}.brand em{color:#da8b37;font-style:normal}.brand small{display:block;font-family:sans-serif;font-size:.62rem;letter-spacing:.16em;margin-top:7px;font-weight:500}.leaf{background:var(--green);color:white;border-radius:50% 50% 50% 8px;width:42px;height:42px;display:grid;place-items:center;font-size:.85rem;transform:rotate(-8deg)}nav{display:flex;align-items:center;gap:26px}nav a{color:var(--ink);text-decoration:none;font-size:.9rem;font-weight:600}nav button{border:0;border-radius:5px;padding:12px 18px;cursor:pointer;font-weight:700}.member{background:var(--cream);color:var(--green)}.cart-btn{background:var(--green);color:#fff}.cart-btn b{background:#efb55e;color:#3b2b13;min-width:22px;height:22px;border-radius:11px;display:inline-grid;place-items:center;margin-left:6px}.hero{background:linear-gradient(115deg,#f3eee2 0%,#fbf9f3 61%,#e9efe8 100%);padding:58px 0 64px}.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:68px;align-items:center}.eyebrow{color:var(--green2);font-size:.72rem;font-weight:800;letter-spacing:.16em}.hero h1{font-family:serif;font-size:clamp(2.5rem,4.5vw,4.3rem);line-height:1.17;margin:18px 0 25px;letter-spacing:-.04em;font-weight:500}.hero h1 strong{color:var(--green);font-weight:700}.hero p{max-width:590px;line-height:1.9;color:#55655d}.hero-actions{display:flex;gap:28px;align-items:center;margin:32px 0}.primary{background:var(--green);color:#fff;text-decoration:none;padding:16px 24px;border-radius:5px;font-weight:700;box-shadow:0 10px 25px #164c3625}.text-link{color:var(--green);font-weight:700;text-decoration:none}.trust{border-top:1px solid #d6d1c5;padding-top:22px;display:flex;gap:20px;flex-wrap:wrap;font-size:.78rem;font-weight:600}.hero-photo{height:455px;position:relative}.hero-photo img{width:100%;height:100%;object-fit:cover;border-radius:140px 8px 8px 8px;box-shadow:18px 20px 0 #dfe8dc}.arrival{position:absolute;bottom:24px;left:-34px;background:#fff;padding:16px 21px;box-shadow:0 10px 35px #172d2226;border-left:4px solid #e6a348}.arrival>*{display:block}.arrival b{font-size:.75rem}.arrival span{font-family:serif;color:var(--green);font-size:1.7rem;font-weight:800}.arrival small{color:var(--muted)}.catalog{padding:82px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:28px}.section-head h2{font-family:serif;font-size:2.3rem;margin:8px 0 6px}.section-head p{color:var(--muted);margin:0}.search{width:310px;border:1px solid var(--line);background:#fff;display:flex;align-items:center;padding:0 15px;border-radius:5px}.search input{padding:13px;border:0;outline:0;width:100%}.filters{display:flex;gap:8px;margin-bottom:27px;overflow:auto}.filters button{border:1px solid var(--line);background:white;border-radius:30px;padding:9px 19px;cursor:pointer;color:#4f5e57;white-space:nowrap}.filters button.active{background:var(--green);color:#fff;border-color:var(--green)}.products{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.product{background:#fff;border:1px solid var(--line);border-radius:7px;overflow:hidden;position:relative}.product-img{height:178px;background:#e8eee5;display:grid;place-items:center;font-size:5rem}.product .tag{position:absolute;top:12px;left:12px;background:#d97b33;color:white;border-radius:3px;padding:4px 8px;font-size:.7rem;font-weight:700}.product-body{padding:17px}.origin{font-size:.74rem;color:var(--green2);font-weight:700}.product h3{margin:6px 0 12px;font-size:1.1rem}.stock{font-size:.74rem;color:var(--muted)}.price-row{display:flex;justify-content:space-between;align-items:end;margin-top:13px}.price b{font-family:serif;font-size:1.55rem;color:var(--green)}.price small{color:var(--muted)}.add{border:0;background:var(--green);color:#fff;border-radius:50%;height:40px;width:40px;font-size:1.4rem;cursor:pointer}.add:hover{background:var(--green2);transform:translateY(-2px)}.guide{background:var(--green);color:white;padding:75px 0}.guide .eyebrow{color:#9fd6ba}.guide h2{margin-bottom:0}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#ffffff2b}.steps article{background:var(--green);padding:28px;display:flex;gap:20px}.steps i{font-family:serif;color:#e4ad64;font-size:1.5rem}.steps b{font-size:1.1rem}.steps p{color:#c6dad0;line-height:1.8;font-size:.9rem;margin-bottom:0}footer{background:#0d2c20;color:#bed0c7;padding:38px 0;text-align:center}footer .brand{justify-content:center;margin-bottom:18px}.inverse{color:white}.inverse .leaf{background:#e6a348}footer p{font-size:.85rem}.cart{position:fixed;z-index:20;right:-440px;top:0;width:min(420px,94vw);height:100dvh;background:#fff;box-shadow:-15px 0 45px #0003;transition:.35s;display:flex;flex-direction:column}.cart.open{right:0}.cart-head{display:flex;justify-content:space-between;padding:28px;border-bottom:1px solid var(--line)}.cart-head span{font-size:.65rem;letter-spacing:.18em;color:var(--green2)}.cart-head h2{font-family:serif;margin:5px 0}.cart-head button{border:0;background:none;font-size:2rem;cursor:pointer}.cart-items{padding:20px 28px;overflow:auto;flex:1}.empty{text-align:center;color:var(--muted);padding:70px 0}.cart-line{display:grid;grid-template-columns:1fr auto;gap:8px;padding:14px 0;border-bottom:1px solid var(--line)}.cart-line small{color:var(--muted)}.qty{display:flex;align-items:center;gap:8px}.qty button{border:1px solid var(--line);background:white;width:28px;height:28px;cursor:pointer}.cart-foot{padding:22px 28px;border-top:1px solid var(--line)}.cart-foot>div{display:flex;justify-content:space-between;font-size:1.1rem}.cart-foot b{font-size:1.5rem;color:var(--green)}.cart-foot>button{width:100%;border:0;background:var(--green);color:white;padding:15px;margin:18px 0 9px;font-weight:700;cursor:pointer}.cart-foot small{display:block;text-align:center;color:var(--muted)}.shade{position:fixed;z-index:10;inset:0;background:#071b1399;opacity:0;visibility:hidden;transition:.3s}.shade.show{opacity:1;visibility:visible}.toast{position:fixed;z-index:30;bottom:25px;left:50%;transform:translate(-50%,30px);background:#193d30;color:#fff;padding:12px 22px;border-radius:4px;opacity:0;transition:.25s}.toast.show{opacity:1;transform:translate(-50%,0)}@media(max-width:850px){nav a,.member{display:none}.nav{height:68px}.hero{padding:38px 0 50px}.hero-grid{grid-template-columns:1fr;gap:40px}.hero h1{font-size:2.65rem}.hero-photo{height:330px}.hero-photo img{border-radius:80px 8px 8px}.arrival{left:12px}.trust{gap:10px 17px}.section-head{display:block}.search{width:100%;margin-top:20px}.products{grid-template-columns:repeat(2,1fr)}.steps{grid-template-columns:1fr}.catalog{padding:60px 0}}@media(max-width:480px){.wrap{width:min(100% - 26px,1180px)}.brand{font-size:1.1rem}.leaf{width:37px;height:37px}.cart-btn{padding:10px 12px}.hero h1{font-size:2.22rem}.hero-actions{align-items:flex-start;flex-direction:column;gap:17px}.hero-photo{height:270px}.trust{font-size:.7rem}.section-head h2{font-size:1.9rem}.products{gap:11px}.product-img{height:130px;font-size:3.8rem}.product-body{padding:12px}.product h3{font-size:.96rem}.price b{font-size:1.24rem}.add{width:36px;height:36px}.guide{padding:55px 0}}
/* 商品備考 */
.product-note{margin:8px 0 0;color:#59675f;font-size:.78rem;line-height:1.55;white-space:pre-wrap}

/* 注文履歴からの再発注 */
.repeat-order{margin:-28px 0 54px;padding:25px;background:#f1f6f3;border:1px solid #cbdcd2;border-radius:9px}.repeat-order-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:19px}.repeat-order-head h2{font-family:serif;font-size:1.75rem;margin:6px 0 0}.repeat-order-head p{margin:0;color:var(--muted);font-size:.9rem}.repeat-group+.repeat-group{margin-top:22px;padding-top:20px;border-top:1px solid #cbdcd2}.repeat-title{display:flex;align-items:baseline;gap:10px;margin:0 0 12px}.repeat-title b{font-size:1.05rem}.repeat-title small{color:var(--muted)}.repeat-products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.repeat-product{position:relative;display:grid;grid-template-columns:56px minmax(0,1fr) 38px;align-items:center;gap:10px;min-width:0;padding:11px;background:#fff;border:1px solid var(--line);border-radius:7px;cursor:pointer;text-align:left;color:var(--ink)}.repeat-product:hover,.repeat-product:focus-visible{border-color:#789d89;box-shadow:0 5px 15px #164c3617;outline:none}.repeat-product-image{width:56px;height:56px;border-radius:6px;background:#e8eee5;display:grid;place-items:center;font-size:2rem;overflow:hidden}.repeat-product-image img{width:100%;height:100%;object-fit:cover}.repeat-product-info{min-width:0}.repeat-product-info b,.repeat-product-info span,.repeat-product-info small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.repeat-product-info span{font-size:.82rem;color:var(--green);font-weight:700;margin-top:4px}.repeat-product-info small{font-size:.72rem;color:var(--muted);margin-top:3px}.repeat-add{width:34px;height:34px;border:0;border-radius:50%;background:var(--green);color:#fff;font-size:1.25rem;cursor:pointer}.repeat-qty{color:var(--green2);font-weight:700}
@media(max-width:850px){.repeat-order{margin-top:-16px}.repeat-order-head{display:block}.repeat-order-head p{margin-top:8px}.repeat-products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.repeat-order{margin-inline:-3px;padding:17px 12px}.repeat-order-head h2{font-size:1.45rem}.repeat-order-head p{font-size:.82rem}.repeat-products{grid-template-columns:1fr}.repeat-product{grid-template-columns:50px minmax(0,1fr) 36px}.repeat-product-image{width:50px;height:50px}}
.qty input{width:72px;height:28px;border:1px solid var(--line);border-radius:3px;text-align:center;padding:2px 4px;color:var(--ink);background:#fff}

/* Registration/login stays inside the visible viewport, including mobile keyboards. */
#authWrap{inset:auto 0 auto;top:var(--auth-viewport-top,0px);height:100vh;height:100dvh;height:var(--auth-viewport-height,100dvh);padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));overflow:hidden;align-items:center;justify-content:center;}
#authWrap.show{display:flex;}
#authWrap .checkout{width:min(580px,100%);min-width:0;min-height:0;max-height:100%;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;}
#authContent,#authWrap form,#authWrap label{min-width:0;}
#authWrap input,#authWrap select,#authWrap textarea{width:100%;min-width:0;max-width:100%;}
@media(max-width:720px){#authWrap .checkout{padding:22px 16px 18px;}#authWrap input,#authWrap select,#authWrap textarea{font-size:16px;}#authWrap .checkout-row{grid-template-columns:minmax(0,1fr);}#authWrap .auth-mail-notice{overflow-wrap:anywhere;}}

.recommended-products{margin:0 0 42px}.recommended-products[hidden]{display:none}.recommended-products .products{margin-bottom:0}
