:root{--color-primary:#e62828;--color-primary-light:#f44;--color-primary-dark:#d01818;--color-primary-bg:rgba(230,40,40,.06);--color-secondary:#f39800;--color-success:#00a652;--color-success-bg:rgba(0,166,82,.1);--color-warning:#f39800;--color-warning-bg:rgba(243,152,0,.1);--color-danger:#e62828;--color-danger-bg:rgba(230,40,40,.1);--color-info:#06c;--color-info-bg:rgba(0,102,204,.1);--color-background:#f6f7fa;--color-surface:#fff;--color-surface-hover:#f8f9fa;--color-surface-active:#f0f0f0;--color-text-main:#222;--color-text-secondary:#888;--color-text-muted:#666;--color-text-disabled:#ccc;--color-text-inverse:#fff;--color-muted-bg:hsla(208,7%,46%,.1);--color-border:#eee;--color-border-light:#f0f0f0;--color-border-dark:#e0e0e0;--color-border-focus:#e62828;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-xxl:48px;--radius-xs:4px;--radius-sm:6px;--radius-default:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-full:50%;--shadow-xs:0 1px 2px rgba(34,34,34,.04);--shadow-default:0 2px 8px rgba(34,34,34,.06);--shadow-card:0 4px 12px rgba(34,34,34,.08);--shadow-floating:0 8px 20px rgba(34,34,34,.12);--shadow-modal:0 20px 40px rgba(34,34,34,.15);--breakpoint-xs:0px;--breakpoint-sm:480px;--breakpoint-md:768px;--breakpoint-lg:1024px;--breakpoint-xl:1200px;--breakpoint-xxl:1440px;--duration-fast:0.15s;--duration-default:0.3s;--duration-slow:0.5s;--easing-default:cubic-bezier(0.4,0,0.2,1);--easing-in:cubic-bezier(0.4,0,1,1);--easing-out:cubic-bezier(0,0,0.2,1);--easing-bounce:cubic-bezier(0.68,-0.55,0.265,1.55);--font-family-base:"Noto Sans JP","Helvetica Neue",Arial,sans-serif;--font-family-mono:"Monaco","Menlo","Ubuntu Mono",monospace;--font-size-xs:clamp(0.7rem,0.5vw + 0.6rem,0.75rem);--font-size-sm:clamp(0.8rem,0.6vw + 0.7rem,0.875rem);--font-size-base:clamp(0.875rem,0.8vw + 0.75rem,1rem);--font-size-md:clamp(1rem,1vw + 0.8rem,1.125rem);--font-size-lg:clamp(1.125rem,1.2vw + 0.9rem,1.25rem);--font-size-xl:clamp(1.25rem,1.5vw + 1rem,1.5rem);--font-size-2xl:clamp(1.5rem,2vw + 1.2rem,1.875rem);--font-size-3xl:clamp(1.875rem,2.5vw + 1.5rem,2.25rem);--font-size-xs-fixed:0.75rem;--font-size-sm-fixed:0.875rem;--font-size-base-fixed:1rem;--font-size-md-fixed:1.125rem;--font-size-lg-fixed:1.25rem;--font-size-xl-fixed:1.5rem;--font-size-2xl-fixed:1.875rem;--font-size-3xl-fixed:2.25rem;--line-height-tight:1.25;--line-height-normal:1.5;--line-height-relaxed:1.75;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-modal-backdrop:1040;--z-modal:1050;--z-popover:1060;--z-tooltip:1070;--z-toast:1080;--container-xs:480px;--container-sm:640px;--container-md:768px;--container-lg:1024px;--container-xl:1200px;--container-xxl:1440px;--star-color:gold;--star-muted:#e2e8f0;--rating-badge-bg:#fff7e6;--rating-badge-text:#ad6800;--card-bg:var(--color-surface);--card-border:var(--color-border);--card-radius:var(--radius-md);--card-shadow:var(--shadow-card);--grid-gap:var(--space-md);--product-name-font-size:clamp(0.8rem,1.2vw + 0.7rem,0.95rem);--product-name-line-height:1.3;--product-name-max-lines:1;--product-name-mobile-font-size:clamp(0.75rem,1vw + 0.65rem,0.875rem);--button-action-padding-y:clamp(0.135rem,0.165vw + 0.1rem,0.2rem);--button-action-padding-x:clamp(0.75rem,1vw + 0.5rem,1rem);--button-action-font-size:clamp(0.75rem,0.8vw + 0.7rem,0.9rem);--button-action-line-height:1.1;--button-action-mobile-padding-y:clamp(0.03rem,0.04vw + 0.02rem,0.05rem);--button-action-mobile-padding-x:clamp(0.5rem,0.7vw + 0.35rem,0.75rem);--button-action-mobile-font-size:clamp(0.55rem,0.4vw + 0.5rem,0.65rem);--button-action-mobile-line-height:1;--button-action-mobile-min-height:auto;--rating-value-font-size:clamp(0.7rem,0.6vw + 0.65rem,0.85rem);--rating-count-font-size:clamp(0.6rem,0.5vw + 0.55rem,0.75rem);--rating-value-mobile-font-size:clamp(0.65rem,0.5vw + 0.6rem,0.75rem);--rating-count-mobile-font-size:clamp(0.45rem,0.35vw + 0.4rem,0.55rem);--rating-count-mobile-color:#9ca3af;--rating-container-mobile-gap:clamp(0.25rem,0.4vw + 0.2rem,0.4rem);--rating-meta-mobile-gap:clamp(0.1rem,0.2vw + 0.05rem,0.15rem)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:clamp(.875rem,.8vw + .75rem,1rem);scroll-behavior:smooth;text-size-adjust:100%}body{font-family:var(--font-family-base);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);color:var(--color-text-main);background-color:var(--color-background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:hidden}a{color:inherit;text-decoration:none;transition:color var(--duration-fast) var(--easing-default)}a:hover{color:var(--color-primary)}canvas,img,picture,svg,video{display:block;max-width:100%;height:auto}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit;color:inherit}button{cursor:pointer;border:none;background:none}ol,ul{list-style:none}table{border-collapse:collapse;border-spacing:0}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-base);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--color-text-main);letter-spacing:-.01em}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg)}h5{font-size:var(--font-size-md)}h6{font-size:var(--font-size-base)}p{margin-bottom:var(--space-md)}.container{width:100%;max-width:var(--container-xl);margin:0 auto;padding:0 var(--space-md)}@media (max-width:768px){.container{padding:0 var(--space-sm)}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-background)}::-webkit-scrollbar-thumb{background:var(--color-border-dark);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}@supports (padding:env(safe-area-inset-bottom)){body{padding-bottom:env(safe-area-inset-bottom)}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media (hover:none) and (pointer:coarse){body{-webkit-tap-highlight-color:transparent}}