*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-background);color:var(--color-text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6}:root{--color-primary:#f59e0b;--color-primary-light:#fbbf24;--color-primary-dark:#d97706;--color-primary-gradient:linear-gradient(135deg,#f59e0b 0%,#fbbf24 100%);--color-secondary:#10b981;--color-secondary-light:#34d399;--color-secondary-dark:#059669;--color-accent:#8b5cf6;--color-accent-light:#a78bfa;--color-background:#fafaf9;--color-surface:#fff;--color-surface-hover:#f5f5f4;--color-border:#e7e5e4;--color-text:#1c1917;--color-text-secondary:#78716c;--color-text-muted:#a8a29e;--color-success:#10b981;--color-warning:#f59e0b;--color-error:#ef4444;--color-info:#3b82f6;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-full:9999px;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--font-size-5xl:3rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--transition-fast:.15s ease-in-out;--transition-base:.2s ease-in-out;--transition-slow:.3s ease-in-out;--z-dropdown:1000;--z-modal:2000;--z-toast:3000}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-bold);margin-bottom:var(--space-md);color:var(--color-text);line-height:1.2}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base)}p{margin-bottom:var(--space-md);color:var(--color-text-secondary)}a{color:var(--color-primary);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-primary-dark);text-decoration:underline}.container{width:100%;max-width:1200px;padding:0 var(--space-lg);margin:0 auto}.container-narrow{max-width:800px}.container-wide{max-width:1400px}.flex{display:flex}.flex-col{flex-direction:column;display:flex}.flex-center{justify-content:center;align-items:center;display:flex}.flex-between{justify-content:space-between;align-items:center;display:flex}.flex-wrap{flex-wrap:wrap}.gap-xs{gap:var(--space-xs)}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.gap-xl{gap:var(--space-xl)}.grid{display:grid}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.mt-xs{margin-top:var(--space-xs)}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.mt-xl{margin-top:var(--space-xl)}.mt-2xl{margin-top:var(--space-2xl)}.mt-3xl{margin-top:var(--space-3xl)}.mb-xs{margin-bottom:var(--space-xs)}.mb-sm{margin-bottom:var(--space-sm)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.mb-xl{margin-bottom:var(--space-xl)}.mb-2xl{margin-bottom:var(--space-2xl)}.mb-3xl{margin-bottom:var(--space-3xl)}.p-xs{padding:var(--space-xs)}.p-sm{padding:var(--space-sm)}.p-md{padding:var(--space-md)}.p-lg{padding:var(--space-lg)}.p-xl{padding:var(--space-xl)}.p-2xl{padding:var(--space-2xl)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}.text-3xl{font-size:var(--font-size-3xl)}.font-normal{font-weight:var(--font-weight-normal)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.text-primary{color:var(--color-primary)}.text-secondary{color:var(--color-text-secondary)}.text-muted{color:var(--color-text-muted)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-error{color:var(--color-error)}.btn{padding:var(--space-sm)var(--space-lg);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);justify-content:center;align-items:center;gap:var(--space-sm);border:none;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-primary-gradient);color:#fff;box-shadow:var(--shadow-md)}.btn-primary:hover:not(:disabled){box-shadow:var(--shadow-lg);text-decoration:none;transform:translateY(-2px)}.btn-secondary{background-color:var(--color-secondary);color:#fff}.btn-secondary:hover:not(:disabled){background-color:var(--color-secondary-dark);text-decoration:none}.btn-outline{border:2px solid var(--color-border);color:var(--color-text);background-color:#0000}.btn-outline:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary);text-decoration:none}.btn-lg{padding:var(--space-md)var(--space-xl);font-size:var(--font-size-lg)}.btn-sm{padding:var(--space-xs)var(--space-md);font-size:var(--font-size-sm)}.card{background-color:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-xl);box-shadow:var(--shadow-md);transition:all var(--transition-base)}.card:hover{box-shadow:var(--shadow-lg)}.card-header{margin-bottom:var(--space-lg);padding-bottom:var(--space-md);border-bottom:1px solid var(--color-border)}.card-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);margin-bottom:var(--space-sm)}.input{width:100%;padding:var(--space-md);font-size:var(--font-size-base);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface);color:var(--color-text);transition:all var(--transition-fast)}.input:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #f59e0b1a}.input:disabled{background-color:var(--color-surface-hover);cursor:not-allowed}.input-error{border-color:var(--color-error)}.input-error:focus{box-shadow:0 0 0 3px #ef44441a}.label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text);margin-bottom:var(--space-sm);display:block}.error-message{color:var(--color-error);font-size:var(--font-size-sm);margin-top:var(--space-xs)}.success-message{color:var(--color-success);font-size:var(--font-size-sm);margin-top:var(--space-xs)}.badge{padding:var(--space-xs)var(--space-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border-radius:var(--radius-full);background-color:var(--color-surface-hover);color:var(--color-text-secondary);align-items:center;display:inline-flex}.badge-primary{background-color:var(--color-primary);color:#fff}.badge-success{background-color:var(--color-success);color:#fff}.badge-warning{background-color:var(--color-warning);color:#fff}.badge-error{background-color:var(--color-error);color:#fff}.divider{background-color:var(--color-border);height:1px;margin:var(--space-xl)0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}.animate-fade-in{animation:fadeIn var(--transition-slow)ease-in-out}.animate-slide-up{animation:slideUp var(--transition-slow)ease-out}.animate-slide-down{animation:slideDown var(--transition-slow)ease-out}@media (max-width:768px){html{font-size:14px}.container{padding:0 var(--space-md)}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}}@media (min-width:769px) and (max-width:1024px){.grid-4{grid-template-columns:repeat(2,1fr)}}
.Header-module__lnUIdW__header{box-shadow:var(--shadow-md);z-index:100;background-color:#fff;position:sticky;top:0}.Header-module__lnUIdW__headerContent{padding:var(--space-lg)0;justify-content:space-between;align-items:center;display:flex}.Header-module__lnUIdW__logo{font-family:var(--font-serif,"Noto Serif JP",serif);letter-spacing:.15em;color:#1c1917;align-items:center;gap:8px;font-size:18px;font-weight:700;text-decoration:none;transition:opacity .3s;display:flex}.Header-module__lnUIdW__logo:hover{opacity:.7;text-decoration:none}.Header-module__lnUIdW__logoIcon{font-size:24px}.Header-module__lnUIdW__logoText{color:#1c1917}.Header-module__lnUIdW__nav{align-items:center;gap:var(--space-xl);display:flex}.Header-module__lnUIdW__navLink{color:var(--color-text);font-weight:var(--font-weight-medium);padding:var(--space-sm)var(--space-md);border-radius:var(--radius-md);transition:all var(--transition-base);text-decoration:none}.Header-module__lnUIdW__navLink:hover{color:var(--color-primary);background-color:#f59e0b1a}.Header-module__lnUIdW__navLink.Header-module__lnUIdW__active{color:var(--color-primary);background-color:#f59e0b26}.Header-module__lnUIdW__cartLink{font-size:var(--font-size-xl);padding:var(--space-sm);position:relative}.Header-module__lnUIdW__cartBadge{color:#fff;font-size:10px;font-weight:var(--font-weight-bold);border-radius:var(--radius-full);background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%);justify-content:center;align-items:center;min-width:18px;height:18px;padding:2px 4px;display:flex;position:absolute;top:0;right:0;box-shadow:0 2px 4px #0003}.Header-module__lnUIdW__navLinkButton{cursor:pointer;font-family:inherit;font-size:inherit;background:0 0;border:none}.Header-module__lnUIdW__navLinkButton:hover{color:var(--color-primary)}.Header-module__lnUIdW__navLinkPrimary{background:var(--color-primary-gradient);color:#fff;padding:var(--space-sm)var(--space-lg);border-radius:var(--radius-full);transition:all var(--transition-base)}.Header-module__lnUIdW__navLinkPrimary:hover{box-shadow:var(--shadow-lg);color:#fff;transform:translateY(-2px)}.Header-module__lnUIdW__mobileMenuBtn{cursor:pointer;padding:var(--space-sm);z-index:110;background:0 0;border:none;flex-direction:column;gap:6px;display:none}.Header-module__lnUIdW__mobileMenuBtn span{background-color:var(--color-text);border-radius:var(--radius-full);width:24px;height:2px;transition:all .3s;display:block}.Header-module__lnUIdW__mobileMenuOpen span:first-child{transform:rotate(45deg)translate(5px,6px)}.Header-module__lnUIdW__mobileMenuOpen span:nth-child(2){opacity:0}.Header-module__lnUIdW__mobileMenuOpen span:nth-child(3){transform:rotate(-45deg)translate(5px,-6px)}.Header-module__lnUIdW__mobileMenu{z-index:101;opacity:0;pointer-events:none;background:#fff;padding-top:80px;transition:all .3s;display:none;position:fixed;inset:0;transform:translateY(-20px)}.Header-module__lnUIdW__mobileMenuVisible{opacity:1;pointer-events:auto;transform:translateY(0)}.Header-module__lnUIdW__mobileNav{flex-direction:column;align-items:center;gap:8px;padding:24px;display:flex}.Header-module__lnUIdW__mobileNavLink{text-align:center;width:100%;color:var(--color-text);border-radius:12px;padding:16px;font-size:16px;font-weight:600;text-decoration:none;transition:background .2s;display:block}.Header-module__lnUIdW__mobileNavLink:hover{background:#f59e0b14;text-decoration:none}.Header-module__lnUIdW__mobileNavLinkBtn{text-align:center;color:#78716c;cursor:pointer;background:0 0;border:none;border-radius:12px;width:100%;padding:16px;font-family:inherit;font-size:16px;font-weight:600;display:block}.Header-module__lnUIdW__mobileNavLinkBtn:hover{background:#0000000a}.Header-module__lnUIdW__mobileNavLinkPrimary{text-align:center;color:#fff;background:var(--color-primary-gradient);border-radius:9999px;width:100%;margin-top:8px;padding:16px;font-size:16px;font-weight:700;text-decoration:none;display:block;box-shadow:0 4px 12px #f59e0b4d}.Header-module__lnUIdW__mobileNavLinkPrimary:hover{color:#fff;text-decoration:none}@media (max-width:768px){.Header-module__lnUIdW__nav{display:none}.Header-module__lnUIdW__mobileMenuBtn{display:flex}.Header-module__lnUIdW__mobileMenu{display:block}.Header-module__lnUIdW__logoText{font-size:var(--font-size-base)}}
.Footer-module__3hUVsW__footer{color:#fff;background:#1c1917;margin-top:0;padding:80px 0 40px}.Footer-module__3hUVsW__footerInner{max-width:1024px;margin:0 auto;padding:0 24px}.Footer-module__3hUVsW__footerTop{justify-content:space-between;gap:64px;margin-bottom:64px;display:flex}.Footer-module__3hUVsW__footerBrand{flex-shrink:0}.Footer-module__3hUVsW__footerLogo{font-family:var(--font-serif,"Noto Serif JP",serif);letter-spacing:.3em;color:#fff;margin-bottom:16px;font-size:20px;font-weight:700}.Footer-module__3hUVsW__footerTagline{color:#ffffff80;font-size:12px;font-weight:300;line-height:1.8}.Footer-module__3hUVsW__footerNav{gap:48px;display:flex}.Footer-module__3hUVsW__footerNavCol{min-width:100px}.Footer-module__3hUVsW__footerNavTitle{letter-spacing:.3em;color:#fff6;text-transform:uppercase;margin-bottom:20px;font-size:10px;font-weight:700}.Footer-module__3hUVsW__footerLinks{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.Footer-module__3hUVsW__footerLinks li a{color:#ffffffb3;letter-spacing:.05em;font-size:13px;font-weight:300;text-decoration:none;transition:color .3s}.Footer-module__3hUVsW__footerLinks li a:hover{color:#fff;text-decoration:none}.Footer-module__3hUVsW__footerBottom{text-align:center;border-top:1px solid #ffffff14;padding-top:32px}.Footer-module__3hUVsW__footerBottom p{color:#ffffff4d;letter-spacing:.15em;text-transform:uppercase;margin:0;font-size:10px}@media (max-width:768px){.Footer-module__3hUVsW__footer{padding:56px 0 32px}.Footer-module__3hUVsW__footerTop{text-align:center;flex-direction:column;gap:40px}.Footer-module__3hUVsW__footerNav{justify-content:center;gap:32px}.Footer-module__3hUVsW__footerNavCol{min-width:auto}}
