:root{--elm-safe-bottom:max(16px,env(safe-area-inset-bottom,0px));--elm-focus:#ffb62e}
html{scroll-padding-top:96px}
:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--elm-focus)!important;outline-offset:3px!important}
.elm-header :where(a,button,summary,.elm-cart),.elm-home-hero :where(button,[role="tab"]),.elm-ds-local-nav a{min-width:44px;min-height:44px}
.elm-header .elm-locale-options button{min-height:44px;padding-block:10px}
.elm-home-hero [aria-label^="画像"]{min-width:44px;min-height:44px}
.elm-ds-steps button,.elm-ds-step-dot,.elm-ds-feature-tabs button{min-width:44px!important;min-height:44px!important}
.product-size-scroll-hint{display:flex;align-items:center;gap:8px;margin:0 0 10px;color:#496762;font-size:.875rem;font-weight:700}
.product-size-scroll-hint::before{content:"↔";display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#e7f4f2;color:#0d4a43}
.product-size-chart__scroll{overscroll-behavior-inline:contain;scrollbar-gutter:stable}
.product-size-chart__scroll table :is(th:first-child,td:first-child){position:sticky;left:0;z-index:1;background:#fff;box-shadow:1px 0 0 #d7e2df}
.elm-catalog-tools{position:sticky;top:82px;z-index:8;display:grid;grid-template-columns:minmax(180px,1fr) auto;align-items:center;gap:12px;margin:0 0 24px;padding:12px;border:1px solid #d6e3e1;border-radius:18px;background:rgba(255,255,255,.96);box-shadow:0 10px 28px rgba(11,72,66,.09);backdrop-filter:blur(12px)}
.elm-catalog-tools label{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px;font-weight:800;color:#0d4943}
.elm-catalog-tools input{width:100%;min-height:48px;border:1px solid #b9cfcb;border-radius:12px;padding:10px 14px;font:inherit;color:#0d4943;background:#fff}
.elm-catalog-tools output{white-space:nowrap;color:#60746f;font-weight:700}
.elm-catalog-empty{grid-column:1/-1;padding:32px;border:1px dashed #b9cfcb;border-radius:18px;text-align:center;color:#496762}
.elm-image-fallback{object-fit:contain!important;padding:22%!important;background:linear-gradient(135deg,#f7fbfa,#eaf4f2)!important;filter:grayscale(1);opacity:.8}
body.elm-has-fixed-actions{padding-bottom:calc(72px + var(--elm-safe-bottom))}
:where(.bottom-cta,.elm-fixed-line,.elm-mobile-sticky,.elm-bulk__mobile-nav){bottom:env(safe-area-inset-bottom,0px)!important}
@media(max-width:767px){
 html{scroll-padding-top:72px}
 .elm-catalog-tools{top:62px;grid-template-columns:1fr;margin-inline:-4px;padding:10px;border-radius:14px}
 .elm-catalog-tools output{padding-inline:4px}
 .catalog-product-grid{content-visibility:auto;contain-intrinsic-size:900px}
 .product-size-chart__scroll{margin-inline:-16px;padding-inline:16px}
 .product-size-scroll-hint{font-size:.8125rem}
 .elm-header :where(.elm-cart,.elm-menu>summary,.elm-language summary){min-width:44px!important;min-height:44px!important}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
