/* ACE2017 customer catalogue. Presentation only; keep sales conditions intact. */
.page-shop,.page-product-detail,.page-japan-product { color:#242527; }
.page-shop .domestic-mall-heading { padding:28px 24px; border:1px solid #e8dfd3; border-radius:22px; background:linear-gradient(118deg,#f8eddb,#fffaf2 72%); color:#242527; box-shadow:none; }
.page-shop .domestic-mall-heading small,.page-shop .catalog-eyebrow,.page-shop .catalog-products-heading small { color:#7a5b41; font-size:12px; font-weight:650; line-height:1.6; letter-spacing:.06em; }
.page-shop .domestic-mall-heading h1 { margin:12px 0; font-size:clamp(28px,5.2vw,46px); font-weight:750; line-height:1.3; letter-spacing:-.025em; color:#242527; }
.page-shop .domestic-mall-heading p { max-width:52ch; margin:0; color:#62584d; font-size:16px; line-height:1.9; }
.page-shop .domestic-mall-chips { gap:8px; margin-top:22px; }
.page-shop .domestic-mall-chips span { padding:7px 12px; border-color:#ded0bd; background:rgba(255,255,255,.75); color:#63533f; font-size:13px; line-height:1.5; }
.page-shop .catalog-section-switch { gap:10px; margin:0 0 20px; }
.page-shop .catalog-section-switch__item { min-height:70px; padding:12px 7px; border-color:#e6ded3; border-radius:15px; color:#4f4a43; font-size:16px; font-weight:650; }
.page-shop .catalog-section-switch__item small { margin-top:4px; font-size:12px; line-height:1.5; color:#756b5f; }
.page-shop .catalog-section-switch__item--general[aria-current="page"] { background:#fff2ed; color:#9e192c; border-color:#d9a6a4; box-shadow:inset 0 0 0 1px #d9a6a4; }
.page-shop .catalog-browse-toolbar { margin:24px 0 12px; }
.page-shop .production-search { display:flex; align-items:stretch; gap:8px; max-width:none; margin:0; padding:0; border:0; background:transparent; }
.page-shop .production-search input { flex:1; width:100%; min-width:0; min-height:48px; padding:12px 14px; border:1px solid #d8cfc3; border-radius:12px; background:#fff; color:#242527; font-size:16px; line-height:1.5; }
.page-shop .production-search input::placeholder { color:#756b60; opacity:1; }
.page-shop .production-search button { flex:0 0 auto; min-height:48px; min-width:96px; padding:10px 14px; border-radius:12px; background:#242527; color:white; font-size:15px; font-weight:650; }
.page-shop .catalog-order-links { display:flex; gap:10px 22px; flex-wrap:wrap; margin-top:10px; }
.page-shop .catalog-order-links a { display:inline-flex; align-items:center; gap:10px; min-height:44px; color:#7b332e; font-size:14px; font-weight:600; }
.page-shop .japan-cat-tabs { gap:8px; margin:14px 0 24px; padding-bottom:5px; overflow-x:auto; scrollbar-width:thin; }
.page-shop .japan-chip { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:9px 16px; border:1px solid #dfd7cc; border-radius:999px; background:#fff; color:#62584d; font-size:14px; font-weight:550; line-height:1.4; white-space:nowrap; }
.page-shop .japan-chip.on { border-color:#b3192c; background:#b3192c; color:#fff; }
.page-shop .catalog-products-heading { margin:28px 0 18px; align-items:center; }
.page-shop .catalog-products-heading h2 { margin:5px 0 0; color:#242527; font-size:24px; line-height:1.4; font-weight:700; }
.page-shop .catalog-products-heading>span { color:#6a6259; font-size:14px; }
.page-shop .production-products { grid-template-columns:repeat(2,minmax(0,1fr)); align-items:stretch; gap:14px; }
.page-shop .production-products>.domestic-product-card,.page-japan-catalog .production-products>.domestic-product-card,.product-grid>.domestic-product-card { display:flex; flex-direction:column; height:100%; min-width:0; border:1px solid #e8e0d5; border-radius:18px; background:#fff; box-shadow:0 4px 18px rgba(60,42,27,.04); overflow:hidden; cursor:auto; }
.page-shop .domestic-product-card .shop-pic,.page-japan-catalog .domestic-product-card .shop-pic,.product-grid .domestic-product-card .product-media { display:grid; place-items:center; height:auto; min-height:0; flex:0 0 auto; aspect-ratio:1; padding:0; position:relative; background:#f6f3ed; }
.page-shop .domestic-product-card .shop-pic img,.page-japan-catalog .domestic-product-card .shop-pic img,.product-grid .domestic-product-card .product-media img { width:100%; height:100%; object-fit:contain; padding:18px; }
.page-shop .domestic-product-card .shop-pic>span,.page-japan-catalog .domestic-product-card .shop-pic>span { color:#7a6955; font-size:14px; letter-spacing:.1em; }
.page-shop .domestic-product-card .shop-pic small,.page-japan-catalog .domestic-product-card .shop-pic small { color:#7a6955; font-size:12px; letter-spacing:0; line-height:1.6; }
.page-shop .domestic-product-card .shop-info,.page-japan-catalog .domestic-product-card .shop-info,.product-grid .domestic-product-card .product-body { display:flex; flex:1; flex-direction:column; min-width:0; padding:16px 14px; }
.page-shop .domestic-product-card .shop-tags,.page-japan-catalog .domestic-product-card .shop-tags { display:flex; gap:5px; flex-wrap:wrap; margin:0 0 10px; }
.page-shop .domestic-product-card .shop-tag,.page-japan-catalog .domestic-product-card .shop-tag { padding:4px 7px; border:0; border-radius:5px; background:#f6f0e7; color:#6b5842; font-size:12px; line-height:1.5; font-weight:500; white-space:normal; }
.page-shop .domestic-product-card .shop-name,.page-japan-catalog .domestic-product-card .shop-name,.product-grid .domestic-product-card .product-name { display:block; min-height:3.1em; color:#242527; font-size:16px; line-height:1.55; font-weight:650; overflow-wrap:anywhere; }
.page-shop .domestic-product-card .shop-spec,.page-japan-catalog .domestic-product-card .shop-spec,.product-grid .domestic-product-card .product-unit { margin:9px 0 0; color:#655c51; font-size:14px; line-height:1.65; white-space:normal; overflow-wrap:anywhere; }
.page-shop .domestic-product-card .shop-spec>span,.page-japan-catalog .domestic-product-card .shop-spec>span { display:block; color:#887865; font-size:12px; margin-bottom:2px; }
.page-shop .domestic-price,.page-japan-catalog .domestic-price,.product-grid .domestic-price { display:flex; flex-direction:column; gap:4px; margin:16px 0 12px; }
.page-shop .domestic-price__label,.page-japan-catalog .domestic-price__label,.product-grid .domestic-price__label { color:#74695a; font-size:12px; font-weight:500; line-height:1.6; }
.page-shop .domestic-price__jpy,.page-japan-catalog .domestic-price__jpy,.product-grid .domestic-price__jpy { color:#b3192c; font-size:24px; line-height:1.3; font-weight:750; letter-spacing:-.025em; font-variant-numeric:tabular-nums; }
.page-shop .domestic-price__pending,.page-japan-catalog .domestic-price__pending,.product-grid .domestic-price__pending { color:#6d6254; font-size:20px; line-height:1.5; font-weight:650; }
.page-shop .domestic-price__cny,.page-japan-catalog .domestic-price__cny,.product-grid .domestic-price__cny { color:#685c4d; font-size:13px; line-height:1.65; font-variant-numeric:tabular-nums; }
.page-shop .domestic-price__scope,.page-japan-catalog .domestic-price__scope,.product-grid .domestic-price__scope { color:#776c5d; font-size:12px; line-height:1.65; }
.page-shop .domestic-product-card .shop-allin,.page-japan-catalog .domestic-product-card .shop-allin,.product-grid .domestic-product-card .all-in,.product-grid .domestic-product-card .consult-mode { margin:0 0 16px; color:#74695b; font-size:13px; line-height:1.7; font-weight:400; }
.page-shop .domestic-product-card .btn,.page-japan-catalog .domestic-product-card .btn { display:flex; align-items:center; justify-content:space-between; gap:8px; min-height:44px; margin:auto 0 0; padding:10px 12px; border:1px solid #e1cec2; border-radius:10px; background:#fff7f0; color:#9c2230; font-size:14px; font-weight:650; line-height:1.5; white-space:normal; box-shadow:none; }
.page-shop .domestic-product-card .btn:hover,.page-japan-catalog .domestic-product-card .btn:hover { border-color:#b3192c; background:#fff0e8; color:#8d1425; }
.page-shop .catalog-empty { display:flex; gap:7px; min-height:230px; padding:30px 22px; border:1px dashed #d6c9b6; border-radius:18px; background:#fffaf3; color:#756553; }
.page-shop .catalog-empty strong { color:#493d30; font-size:20px; line-height:1.5; }
.page-shop .catalog-empty p { margin:0; color:#756553; font-size:15px; line-height:1.8; }
.page-shop .catalog-empty-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:8px 22px; margin-top:12px; }
.page-shop .catalog-empty a { display:inline-flex; align-items:center; gap:12px; min-height:44px; color:#9d2530; font-size:15px; font-weight:600; }
.page-shop .reward-note { margin-top:24px; padding:18px 20px; border:1px solid #e8dfd2; border-radius:14px; background:#f7f1e6; color:#6e604f; font-size:14px; line-height:1.85; }
.page-shop .reward-note strong { display:block; margin-bottom:6px; color:#4e4234; font-size:16px; }
.page-shop .reward-note p { margin:0; }
.domestic-delivery-note { margin:24px 0; padding:24px 22px; border:1px solid #e6dacc; border-radius:18px; border-left-width:1px; background:#fffcf7; color:#6a5d4d; font-size:15px; line-height:1.9; }
.domestic-delivery-note__heading strong { display:block; margin-top:5px; color:#40372d; font-size:22px; line-height:1.45; }
.domestic-delivery-note p { margin:12px 0; }
.domestic-delivery-options { display:grid; gap:12px; margin:20px 0; }
.domestic-delivery-options>div { display:grid; grid-template-columns:32px 1fr; column-gap:12px; padding:16px; border:1px solid #eee2d4; border-radius:12px; background:#fff; }
.domestic-delivery-options>div>span { grid-column:1; grid-row:1 / 3; display:grid; place-items:center; align-self:start; width:32px; height:32px; border-radius:50%; background:#f5e8d6; color:#876444; font-size:13px; font-weight:650; }
.domestic-delivery-options h3 { grid-column:2; margin:2px 0 4px; color:#443b30; font-size:16px; line-height:1.5; }
.domestic-delivery-options p { grid-column:2; margin:0; font-size:14px; }
.domestic-delivery-note>a { display:inline-flex; align-items:center; gap:16px; min-height:44px; color:#a02634; font-size:15px; font-weight:650; }
.page-shop .catalog-section-hero { padding:28px 24px; border-color:#dce3d8; border-radius:22px; background:linear-gradient(120deg,#eef3e9,#fbfcf6); }
.page-shop .catalog-section-hero h1 { margin:12px 0; font-size:clamp(30px,5.2vw,44px); color:#294536; line-height:1.3; font-weight:750; }
.page-shop .catalog-section-hero p { font-size:16px; line-height:1.9; color:#5c6d5b; }
.page-shop .catalog-theme--general .catalog-section-hero,.page-shop.catalog-theme--general .catalog-section-hero { background:linear-gradient(120deg,#f8eddb,#fffaf2); border-color:#e6d8c5; }
.page-shop.catalog-theme--general .catalog-section-hero h1 { color:#40372c; }
.page-shop .catalog-section-hero--adult { background:linear-gradient(120deg,#f3e6d4,#fffaf2); border-color:#ddcab1; }
.page-shop .catalog-section-hero--adult h1 { color:#5c402b; }
.page-shop .catalog-section-hero--adult p { color:#745e48; }
.page-shop .catalog-hero-tags span { padding:6px 10px; font-size:12px; line-height:1.5; }
.page-shop .catalog-important-note { padding:20px; margin:18px 0 24px; border-radius:15px; }
.page-shop .catalog-important-note strong { font-size:16px; line-height:1.5; }
.page-shop .catalog-important-note p { font-size:15px; line-height:1.9; }
.page-shop .catalog-doctor-window { padding:24px; border-radius:22px; box-shadow:none; }
.page-shop .catalog-doctor-window h2 { font-size:24px; line-height:1.4; }
.page-shop .catalog-doctor-window p { font-size:15px; line-height:1.9; }
.page-shop .catalog-doctor-window>small { font-size:13px; line-height:1.8; }
.page-shop .catalog-status { font-size:12px; line-height:1.5; }
.page-shop .catalog-text-link { min-height:44px; font-size:15px; line-height:1.6; }
.page-shop .catalog-care-types { gap:14px; margin:22px 0 30px; }
.page-shop .catalog-care-types article { padding:22px 22px 22px 60px; border-radius:15px; }
.page-shop .catalog-care-types h2 { font-size:18px; line-height:1.5; margin-bottom:9px; }
.page-shop .catalog-care-types p { font-size:15px; line-height:1.9; }
.page-shop .catalog-type-number { top:25px; font-size:16px; }
.page-product-detail .back-btn,.page-japan-product .back-btn { display:inline-flex; width:auto; min-height:44px; padding:9px 0; align-items:center; gap:10px; color:#716354; font-size:15px; line-height:1.5; font-weight:500; }
.page-product-detail .product-gallery { overflow:hidden; border:1px solid #e7ddd0; border-radius:18px; background:#fff; }
.page-product-detail .product-gallery-slide { height:min(90vw,520px); background:#faf7f1; }
.page-product-detail .product-gallery-slide img { width:100%; height:100%; object-fit:contain; padding:24px 24px 50px; }
.page-product-detail .product-gallery-caption { font-size:14px; line-height:1.6; }
.page-product-detail .product-panel { padding:22px 18px; background:transparent; }
.page-product-detail .product-detail-summary { min-width:0; }
.page-product-detail .product-title { margin:12px 0 10px; font-size:28px; line-height:1.5; font-weight:750; color:#242527; }
.page-product-detail .meta,.page-product-detail .product-included,.page-product-detail .fixed-pack p,.page-product-detail .info-line b,.page-product-detail .product-description p,.page-product-detail .age-product-warning div,.page-product-detail .production-note { font-size:15px; line-height:1.9; color:#625a50; }
.page-product-detail .product-detail-summary>.domestic-price { padding:22px; margin:22px 0; border-color:#e8d6bf; background:#fff8ec; border-radius:15px; }
.page-product-detail .domestic-price__label { font-size:13px; color:#6d5b43; }
.page-product-detail .product-detail-summary>.domestic-price .domestic-price__jpy { font-size:32px; color:#b3192c; line-height:1.4; }
.page-product-detail .domestic-price__pending { font-size:24px; color:#6d5b43; }
.page-product-detail .domestic-price__cny,.page-product-detail .domestic-price__scope { font-size:14px; color:#786754; line-height:1.8; }
.page-product-detail .fixed-pack { padding:18px 0; margin:20px 0; border:0; border-top:1px solid #e4d9cb; border-bottom:1px solid #e4d9cb; border-radius:0; background:transparent; }
.page-product-detail .fixed-pack small { color:#80705d; font-size:13px; }
.page-product-detail .fixed-pack b { display:block; margin:6px 0; color:#44382b; font-size:21px; line-height:1.5; }
.page-product-detail .fixed-pack p { margin:8px 0 0; }
.page-product-detail .info-line { gap:16px; padding:14px 0; border-color:#e7dfd4; }
.page-product-detail .info-line>span { color:#7c6e5e; font-size:14px; flex:0 0 90px; }
.page-product-detail .info-line b { color:#443c32; font-weight:550; overflow-wrap:anywhere; }
.page-product-detail .product-description,.page-product-detail .product-alert-box { margin:24px 0; padding:22px; border:1px solid #e7ded2; border-radius:16px; background:#fffdf9; }
.page-product-detail .product-description h3,.page-product-detail .product-alert-box h3 { margin:0 0 14px; color:#3a332a; font-size:20px; line-height:1.5; }
.page-product-detail .product-description .domestic-product-scope { padding:14px 16px; background:#f6efdf; border-color:#b89063; border-radius:8px; font-size:14px; line-height:1.9; }
.page-product-detail .age-product-warning { padding:18px; border:1px solid #dfc6a9; border-radius:12px; background:#fff8ed; color:#6c5032; }
.page-product-detail .age-product-warning b { display:block; margin-bottom:6px; font-size:17px; }
.page-product-detail .product-alert-box p { font-size:15px; line-height:1.9; color:#6a6054; }
.page-product-detail .product-alert-actions button { min-height:44px; padding:10px; font-size:14px; line-height:1.5; opacity:1; color:#746a5d; background:#eee8de; border:1px solid #ddd3c4; }
.page-product-detail .share-safe-link { min-height:44px; width:100%; color:#736759; font-size:14px; border-color:#ded3c4; background:#fcf9f3; }
.page-product-detail .product-buybar { background:#fffdf9; border-color:#e5d9c9; box-shadow:0 -5px 18px rgba(75,54,35,.06); }
.page-product-detail .product-buybar .buy-now-btn { min-height:48px; background:#b3192c; color:#fff; font-size:15px; font-weight:650; line-height:1.5; padding:12px 16px; border-radius:11px; }
.page-product-detail .product-buybar .buy-now-btn:disabled { background:#eee6d9; color:#75634b; opacity:1; cursor:not-allowed; }
.page-product-detail .product-buybar .fav-buybtn { min-height:48px; font-size:14px; color:#9c2331; border-radius:11px; }
.page-japan-product .product-panel { color:#242527; background:#fffdf9; border:1px solid #e7ded2; border-radius:20px; padding:24px 20px; }
.page-japan-product .jp-product-intro h1,.page-japan-product .product-panel>h1 { margin:12px 0; color:#242527; font-size:28px; line-height:1.5; letter-spacing:-.02em; font-weight:750; overflow-wrap:anywhere; }
.page-japan-product .jp-product-intro p { margin:0; color:#75685a; font-size:16px; line-height:1.9; }
.page-japan-product .shop-tags { display:flex; gap:7px; flex-wrap:wrap; margin:0 0 10px; }
.page-japan-product .shop-tag { padding:5px 9px; border:0; border-radius:6px; background:#f4eadb; color:#70563b; font-size:12px; line-height:1.5; white-space:normal; }
.page-japan-product .jp-product-details,.page-japan-product .jp-product-details p { font-size:15px; line-height:1.9; color:#655b4e; }
.page-japan-product .fixed-pack { padding:18px 0; margin:18px 0; border:0; border-top:1px solid #e4d9ca; border-bottom:1px solid #e4d9ca; border-radius:0; background:transparent; }
.page-japan-product .fixed-pack small { display:block; color:#80715d; font-size:13px; line-height:1.6; }
.page-japan-product .fixed-pack b { display:block; margin:6px 0; color:#493b2a; font-size:23px; line-height:1.5; }
.page-japan-product .fixed-pack p { margin:6px 0 0; color:#7b6d5a; font-size:14px; line-height:1.8; }
.page-japan-product .product-price-box { margin:20px 0; padding:22px; border:1px solid #e6d5bb; border-radius:15px; background:#fff7e9; color:#77654b; }
.page-japan-product .product-price-box>p { margin:0 0 5px; color:#766248; font-size:13px; line-height:1.7; }
.page-japan-product .product-price-box .product-final-price { color:#b3192c; font-size:32px; line-height:1.5; font-weight:750; font-variant-numeric:tabular-nums; letter-spacing:-.02em; }
.page-japan-product .product-price-box .storefront-price-cny { margin:8px 0; color:#705f48; font-size:14px; }
.page-japan-product .product-price-box>small { display:block; margin-top:8px; color:#77654b; font-size:13px; line-height:1.8; }
.page-japan-product .catalog-customer-gallery { margin:0; }
.page-japan-product .catalog-customer-gallery-track { border:1px solid #e8e0d3; border-radius:16px; background:#faf7f0; }
.page-japan-product .catalog-customer-gallery-slide>img { height:min(90vw,520px); max-height:none; padding:24px 24px 48px; }
.page-japan-product .catalog-customer-gallery-caption { left:12px; right:12px; bottom:10px; padding:8px 10px; border-radius:8px; color:#615445; font-size:14px; line-height:1.6; }
.page-japan-product .catalog-customer-gallery-thumbnails { gap:10px; padding:14px 0 0; }
.page-japan-product .catalog-customer-gallery-thumbnail { border-radius:10px; background:#f5efe5; }
.page-japan-product .catalog-customer-gallery-thumbnail span { color:#716451; font-size:12px; }
.page-japan-product .gallery-help { margin:10px 0 0; color:#7b6b57; font-size:13px; line-height:1.8; }
.page-japan-product .storefront-product-media { min-width:0; margin:22px 0; }
.page-japan-product .storefront-handover { margin:22px 0; padding:20px; border:1px solid #e5dacc; border-radius:14px; background:#f8f3e9; }
.page-japan-product .storefront-handover h2 { margin:0 0 12px; color:#4a3d2e; font-size:20px; line-height:1.5; }
.page-japan-product .storefront-handover p { margin:8px 0 0; font-size:15px; line-height:1.9; }
.page-japan-product .storefront-handover strong { color:#574329; font-weight:650; }
.page-japan-product .storefront-local-notice { padding:2px 0; color:#7a6a54; font-size:14px; line-height:1.8; }
.page-japan-product .storefront-purchase-actions { display:flex; flex-direction:column; gap:12px; margin:24px 0 0; }
.page-japan-product .storefront-purchase-actions .notice { margin:0; padding:18px; border:1px solid #decdb5; border-radius:12px; background:#f9f1e3; color:#745d3e; font-size:14px; line-height:1.8; }
.page-japan-product .storefront-purchase-actions .notice strong { color:#624d32; font-size:15px; font-weight:650; }
.page-japan-product .storefront-purchase-actions .notice p { margin:6px 0 0; color:#745d3e; font-size:14px; }
.page-japan-product .storefront-purchase-actions .btn { display:flex; align-items:center; justify-content:space-between; min-height:48px; margin:0; padding:12px 16px; border-radius:11px; font-size:16px; line-height:1.5; font-weight:650; }
.page-japan-product .storefront-purchase-actions .btn.primary { color:#fff; background:#b3192c; }
.page-japan-product .storefront-purchase-actions .btn.ghost { color:#982333; background:#fff9f0; border:1px solid #d8b8a4; }
.page-japan-product .storefront-product-description,.page-japan-product .storefront-purchase-note,.page-japan-product .storefront-medicine-note { margin:28px 0 0; padding:24px 22px; border:1px solid #e6ddcf; border-radius:16px; background:#fff; font-size:15px; line-height:1.9; color:#635849; min-width:0; overflow-wrap:anywhere; }
.page-japan-product .storefront-product-description h2,.page-japan-product .storefront-purchase-note h2,.page-japan-product .storefront-medicine-note h2 { margin:7px 0 16px; color:#3f362a; font-size:22px; line-height:1.5; font-weight:700; }
.page-japan-product .storefront-product-description p,.page-japan-product .storefront-purchase-note p { margin:12px 0; }
.page-japan-product .storefront-description-scope { padding:12px 16px; background:#f8f2e8; border-radius:8px; color:#7a6a54; font-size:14px; line-height:1.9; }
.page-japan-product .storefront-merchant { color:#4f4030; font-weight:650; }
.page-japan-product .storefront-merchant>span { display:block; margin-top:4px; color:#8b7458; font-size:13px; font-weight:500; }
.page-japan-product .storefront-purchase-note a,.page-japan-product .storefront-medicine-note a { display:inline-flex; gap:14px; align-items:center; min-height:44px; color:#9d2333; font-size:15px; font-weight:650; line-height:1.7; }
.page-japan-product .production-links { gap:10px; padding:14px 0; font-size:14px; line-height:1.6; }
.page-japan-product .production-links .btn { min-height:44px; font-size:14px; }
.page-shop a:focus-visible,.page-shop button:focus-visible,.page-shop input:focus-visible,.page-product-detail a:focus-visible,.page-product-detail button:focus-visible,.page-japan-product a:focus-visible,.page-japan-product button:focus-visible { outline:3px solid #8c531e; outline-offset:3px; }
@media(min-width:640px) {
  .page-shop .production-products { grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
  .page-shop .domestic-delivery-options { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .page-shop .catalog-browse-toolbar { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:24px; align-items:center; }
  .page-shop .catalog-order-links { margin-top:0; }
}
@media(min-width:1024px) {
  .page-shop .domestic-mall-heading,.page-shop .catalog-section-hero { padding:40px 42px; }
  .page-shop .production-products { grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
  .page-shop .catalog-section-switch { gap:14px; margin-bottom:24px; }
  .page-shop .catalog-section-switch__item { min-height:80px; }
  .page-shop .domestic-product-card .shop-info { padding:22px 20px; }
  .page-shop .domestic-product-card .shop-name { font-size:18px; }
  .page-shop .domestic-price__jpy { font-size:28px; }
  .page-shop .catalog-products-heading h2 { font-size:28px; }
  .page-shop .catalog-care-types { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .page-shop .catalog-doctor-window { padding:32px; }
  .page-shop .catalog-adult-emblem { display:block; font-size:72px; color:#937148; }
  .page-product-detail.on { gap:0 36px; padding:26px 36px 46px; }
  .page-product-detail .product-gallery-slide { height:clamp(420px,37vw,620px); }
  .page-product-detail .product-detail-summary { padding:30px 32px 14px; background:#fffdf9; }
  .page-product-detail .product-title { font-size:34px; }
  .page-product-detail .product-detail-extra { gap:24px; }
  .page-product-detail .product-detail-extra>.product-description,.page-product-detail .product-detail-extra>.product-alert-box { padding:28px; border-color:#e7ded2; }
  .page-product-detail>.product-buybar { padding:18px 32px 32px; border:0; background:#fffdf9; box-shadow:none; }
  .page-japan-product .product-panel.domestic-detail-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); column-gap:42px; row-gap:0; padding:32px 36px; }
  .page-japan-product .product-panel.domestic-detail-layout>.jp-product-intro { grid-column:2; grid-row:1; max-width:none; }
  .page-japan-product .domestic-detail-layout>.storefront-product-media { grid-column:1; grid-row:1 / 3; align-self:start; margin:0; position:sticky; top:120px; }
  .page-japan-product .product-panel.domestic-detail-layout>.jp-product-details { grid-column:2; grid-row:2; max-width:none; }
  .page-japan-product .domestic-detail-layout>.storefront-product-description,.page-japan-product .domestic-detail-layout>.storefront-purchase-note,.page-japan-product .domestic-detail-layout>.storefront-medicine-note { grid-column:1 / -1; margin-top:32px; padding:30px; }
  .page-japan-product .jp-product-intro h1 { font-size:34px; }
  .page-japan-product .catalog-customer-gallery-slide>img { height:clamp(430px,38vw,620px); padding:30px 30px 55px; }
  .page-japan-product .product-price-box .product-final-price { font-size:38px; }
}
@media(min-width:1440px) { .page-shop .production-products { grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; } }
@media(max-width:380px) {
  .page-shop .domestic-mall-heading,.page-shop .catalog-section-hero { padding:24px 20px; }
  .page-shop .catalog-section-switch { gap:7px; }
  .page-shop .catalog-section-switch__item { font-size:15px; }
  .page-shop .catalog-section-switch__item small { font-size:11px; }
  .page-shop .production-products { gap:10px; }
  .page-shop .domestic-product-card .shop-info { padding:14px 11px; }
  .page-shop .domestic-product-card .shop-pic img { padding:14px; }
  .page-shop .domestic-product-card .btn { padding:10px 9px; font-size:13px; }
  .page-shop .catalog-products-heading { gap:10px; }
  .page-shop .catalog-products-heading h2 { font-size:21px; }
  .page-product-detail .product-title { font-size:26px; }
}
@media(prefers-reduced-motion:reduce) { .page-shop .domestic-product-card { transition:none; } }
