:root{--mizu:#eef3f9;--beni:#d62839;--ink:#14213d;--line:#dfe6ee;--wave:color-mix(in srgb,var(--brand) 82%,#fff)}
body{background:#fff;color:var(--ink);font-family:"Zen Kaku Gothic New","Hiragino Kaku Gothic ProN","Yu Gothic",system-ui,sans-serif;line-height:1.7}
h1,h2,h3,h4,.logo,.pr strong,.big,.btn,.lgn{font-family:"Zen Maru Gothic","Hiragino Maru Gothic ProN","Yu Gothic",sans-serif}
.mut{color:#64748b}input[type=file]{width:100%;max-width:100%;min-width:0;font-size:14px}
.seigaiha{background-color:var(--brand);background-image:radial-gradient(circle at 100% 150%,var(--brand) 24%,var(--wave) 25%,var(--wave) 28%,var(--brand) 29%,var(--brand) 36%,var(--wave) 37%,var(--wave) 40%,transparent 40%,transparent),radial-gradient(circle at 0 150%,var(--brand) 24%,var(--wave) 25%,var(--wave) 28%,var(--brand) 29%,var(--brand) 36%,var(--wave) 37%,var(--wave) 40%,transparent 40%,transparent),radial-gradient(circle at 50% 100%,var(--wave) 10%,var(--brand) 11%,var(--brand) 23%,var(--wave) 24%,var(--wave) 30%,var(--brand) 31%,var(--brand) 43%,var(--wave) 44%,var(--wave) 50%,var(--brand) 51%,var(--brand) 63%,var(--wave) 64%,var(--wave) 71%,transparent 71%,transparent);background-size:100px 50px}
/* logo */
.logo{display:flex;align-items:center;gap:10px;font-size:inherit}.seal{flex:none;width:40px;height:40px;border-radius:8px;background:var(--beni);color:#fff;display:grid;place-items:center;font:900 22px "Zen Maru Gothic",sans-serif;transform:rotate(-5deg);box-shadow:inset 0 0 0 2px rgba(255,255,255,.35)}
.lt{display:grid;line-height:1.1}.lt b{font-size:20px;font-weight:900;color:var(--brand);letter-spacing:-.01em}.lt small{font-size:11px;color:#5b6b83;font-weight:700;letter-spacing:.04em}.flogo .lt b{color:#fff}.flogo .lt small{color:#9fb0cc}
/* noren: the shop-front curtain, sways once after the splash */
.noren{background:#fff}.noren .rod{display:block;height:8px;background:linear-gradient(#6b4a2e,#4a321e);border-radius:0 0 4px 4px;box-shadow:0 2px 4px rgba(0,0,0,.18);position:relative;z-index:2}
.cloth{display:flex;gap:6px;padding:0 3vw;margin-top:-2px}.cloth b{flex:1;height:clamp(64px,11vw,118px);background:linear-gradient(180deg,color-mix(in srgb,var(--brand) 86%,#000),var(--brand) 45%);border-radius:0 0 8px 8px;transform-origin:50% 0;animation:sway 2.6s var(--nd,3.1s) ease-in-out both;display:grid;place-items:center;box-shadow:inset 0 -5px 0 rgba(255,255,255,.18)}
.cloth b:nth-child(2){animation-delay:calc(var(--nd,3.1s) + .09s)}.cloth b:nth-child(3){animation-delay:calc(var(--nd,3.1s) + .18s)}.cloth b:nth-child(4){animation-delay:calc(var(--nd,3.1s) + .27s)}.cloth b:nth-child(5){animation-delay:calc(var(--nd,3.1s) + .36s)}
.cloth .mid span{width:clamp(38px,6vw,64px);height:clamp(38px,6vw,64px);border-radius:50%;border:2px solid #fff;color:#fff;display:grid;place-items:center;font:900 clamp(20px,3.2vw,34px) "Zen Maru Gothic",sans-serif}
@keyframes sway{0%{transform:rotate(0)}16%{transform:rotate(5deg)}34%{transform:rotate(-4deg)}52%{transform:rotate(2.6deg)}70%{transform:rotate(-1.4deg)}100%{transform:rotate(0)}}
/* hero */
.hero2{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(24px,5vw,72px);align-items:center;padding:clamp(28px,6vw,64px) 5vw clamp(44px,7vw,88px);background:linear-gradient(180deg,#fff 0,var(--mizu) 100%);overflow:hidden}
.hero2 h1{font-size:clamp(32px,5.2vw,64px);line-height:1.2;font-weight:900;color:var(--brand);max-width:14em}.hero2 .lead{font-size:clamp(16px,2vw,19px);color:#3b4a63;max-width:34em;margin:18px 0 26px}
.cta{display:flex;gap:12px;flex-wrap:wrap}.btn.lg{padding:15px 30px;font-size:16px}.btn.line{background:transparent;border:2px solid var(--brand);color:var(--brand)}
.tick{list-style:none;padding:0;display:flex;gap:10px 22px;flex-wrap:wrap;margin-top:28px;font-weight:700;color:#3b4a63}.tick li:before{content:"✓";display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--brand);color:#fff;font-size:12px;margin-right:8px}
.hv{position:relative;justify-self:center;width:min(100%,430px)}.arch,.shun{aspect-ratio:4/5;width:100%;border-radius:999px 999px 28px 28px}.arch{object-fit:cover;display:block;height:auto}
.shun{display:grid;place-content:center;justify-items:center;color:#fff;overflow:hidden}.shun span{font:900 clamp(130px,20vw,240px)/1 "Zen Maru Gothic",sans-serif}.shun small{font-weight:700;color:#cfe0f5;margin-top:6px}
.stamp{position:absolute;left:-14px;bottom:34px;width:116px;height:116px;border-radius:50%;background:var(--beni);color:#fff;display:grid;place-items:center;text-align:center;font:900 18px/1.25 "Zen Maru Gothic",sans-serif;transform:rotate(-12deg);box-shadow:0 0 0 3px #fff,0 0 0 5px var(--beni),0 12px 24px rgba(214,40,57,.35)}
/* sections */
.sec{padding:clamp(40px,6vw,64px) 5vw}.sec h2{font-size:clamp(24px,3.4vw,36px);font-weight:900;color:var(--brand);display:flex;align-items:center;gap:12px;margin-bottom:22px}.sec h2:before{content:"";width:6px;height:1.1em;background:var(--beni);border-radius:3px;flex:none}
.hh{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.hh h2{margin-bottom:22px}.hh>a{font-weight:700;color:var(--brand);text-decoration:underline;text-underline-offset:5px;white-space:nowrap}
.cat img{box-shadow:0 0 0 1px var(--line),0 0 0 5px #fff,0 0 0 7px var(--btn);border:0}.cat{font-weight:700}
.deal{background:#fff6d6;border-top:3px double var(--beni);border-bottom:3px double var(--beni)}.deal h2{color:var(--beni)}.deal h2:before{display:none}.deal .hh a{color:var(--beni)}
.card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px;gap:8px;overflow:hidden}.card:hover{border-color:var(--brand)}.ph{border-radius:6px}
.off{background:var(--beni);border-radius:4px;font:900 13px "Zen Maru Gothic",sans-serif;padding:3px 9px}.card h3{font-size:15px;font-weight:700}
.pr{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.pr strong{font-size:23px;font-weight:900;color:var(--ink)}.pr strong.sale,.sale{color:var(--beni)}.pr s{margin-left:0;font-size:13px;color:#7b8798}
.btn{border-radius:10px}.btn.ghost{background:#fff;border-color:#c9d3e0;color:var(--ink)}
/* newsletter */
.news{margin:0 5vw 64px;padding:clamp(26px,5vw,52px);border-radius:22px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:24px;align-items:center;color:#fff}.news h2{color:#fff;margin:0 0 8px;font-size:clamp(22px,3.2vw,32px)}.news .nm{margin-top:10px}
.news .nf{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;background:#fff;padding:6px;border-radius:14px;min-width:0}.news .nf input{min-width:0;width:100%;border:0;border-radius:10px;padding:13px 14px;font:16px "Zen Kaku Gothic New",sans-serif;color:var(--ink);background:transparent;flex:none}
/* social */
.socs{background:var(--mizu)}.sc{border-radius:16px}
/* story + faq */
.story{background:#fff}.story-in{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(24px,5vw,60px);align-items:start}.story p{color:#3b4a63;max-width:36em;margin-bottom:12px}
.faq h3{font-size:20px;color:var(--brand);margin-bottom:8px}.faq details{border-bottom:1px solid var(--line);padding:12px 0}.faq summary{font-weight:700;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:14px}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";color:var(--beni);font-size:22px;line-height:1}.faq details[open] summary:after{content:"\2212"}.faq details p{margin:8px 0 0;font-size:15px}
/* shop page + pages */
.h1s{font-size:clamp(26px,4vw,40px);font-weight:900;color:var(--brand)}
.shopf{display:grid;gap:10px;margin:16px 0 26px}.shopf input[type=search]{width:100%;padding:15px 20px;font:16px "Zen Kaku Gothic New",sans-serif;border:2px solid var(--brand);border-radius:12px;background:#fff;-webkit-appearance:none;appearance:none}.sf-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.sf-row select{min-width:0;padding:13px 16px;border:1.5px solid #c9d3e0;border-radius:12px;font:16px "Zen Kaku Gothic New",sans-serif;background:#fff}.sf-row .btn{padding:13px 26px}
.nap{width:100%;max-width:640px;border-collapse:collapse}.nap th{width:110px;text-align:left;color:#5b6b83;padding:12px 8px;border-bottom:1px solid var(--line);vertical-align:top}.nap td{padding:12px 8px;border-bottom:1px solid var(--line)}
.pd2 h1{font-weight:900;color:var(--brand)}.info h2{border-left:5px solid var(--beni);padding-left:10px}.ft address a{display:inline;text-decoration:underline}
@media(max-width:900px){.hero2{grid-template-columns:minmax(0,1fr)}.hv{justify-self:start;max-width:340px}.story-in{grid-template-columns:minmax(0,1fr)}}
@media(max-width:760px){.news{grid-template-columns:minmax(0,1fr)}}
@media(max-width:420px){.acts{grid-template-columns:1fr}.acts .btn{padding:10px 6px;font-size:13px}.pbtn{grid-template-columns:1fr}.news .nf{grid-template-columns:minmax(0,1fr)}.news .nf input{background:#eef3f9}.news .nf .btn{padding:13px}.sf-row{grid-template-columns:minmax(0,1fr)}.lt b{font-size:17px}.lt small{display:none}.seal{width:34px;height:34px;font-size:19px}.stamp{width:96px;height:96px;font-size:15px}}
@media(prefers-reduced-motion:reduce){.cloth b{animation:none}}
