
:root{--ar-black:#111;--ar-dark:#202020;--ar-red:#b40000;--ar-line:#ddd;--ar-bg:#f7f7f7;--ar-card:#fff;--ar-text:#222;--ar-muted:#666;--ar-radius:12px}*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,Arial,sans-serif;color:var(--ar-text);background:var(--ar-bg);line-height:1.65}a{color:inherit}.ar-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--ar-line);box-shadow:0 2px 12px rgba(0,0,0,.05)}.ar-logo{display:flex;align-items:center;justify-content:center;padding:10px 56px 8px 12px;min-height:58px}.ar-logo img{max-height:54px;max-width:190px;width:auto;height:auto}.ar-menu-button{position:absolute;right:10px;top:12px;border:1px solid #333;background:#fff;border-radius:6px;padding:8px 10px;font-weight:700}.ar-nav{display:none;padding:8px 12px 14px;border-top:1px solid var(--ar-line);grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ar-nav.is-open{display:grid}.ar-nav a{display:block;text-decoration:none;background:#222;color:#fff;border-radius:8px;padding:10px;text-align:center;font-weight:700}.ar-cart-link{background:#555!important}.ar-page{max-width:760px;margin:0 auto;padding:14px}.ar-breadcrumb{font-size:12px;color:var(--ar-muted);margin:4px 0 10px}.ar-breadcrumb a{color:var(--ar-muted)}h1{font-size:21px;line-height:1.35;margin:10px 0 14px;font-weight:800}h2{font-size:18px;margin:0 0 10px}.ar-gallery,.ar-purchase,.ar-description,.ar-list-grid{background:var(--ar-card);border:1px solid var(--ar-line);border-radius:var(--ar-radius);box-shadow:0 2px 10px rgba(0,0,0,.03);margin:14px 0;padding:12px}.ar-main-image{background:#fff;border-radius:10px;overflow:hidden;border:1px solid #eee;display:flex;align-items:center;justify-content:center;min-height:180px}.ar-main-image img{display:block;width:100%;height:auto;max-height:70vh;object-fit:contain}.ar-placeholder{color:#999;font-weight:700}.ar-thumbs{display:flex;gap:8px;overflow-x:auto;padding:10px 2px 2px}.ar-thumbs button{flex:0 0 auto;border:2px solid transparent;border-radius:8px;padding:2px;background:#eee;width:72px;height:58px}.ar-thumbs button.is-active{border-color:var(--ar-red);background:#fff}.ar-thumbs img{width:100%;height:100%;object-fit:cover;border-radius:5px}.ar-purchase{position:relative}.ar-price-selector{width:100%!important;min-width:0!important;max-width:none!important;overflow:visible!important}.ar_csv_field,.ar_csv_card_group,.ar_csv_selector [data-ar-column]{max-width:100%!important}.ar_price_result,.ar-price-result{background:#f3f3f3;border-radius:10px;padding:10px;margin-top:12px}.ar-cart-button{display:inline-block;margin-top:8px;background:var(--ar-red);color:#fff;text-decoration:none;border-radius:8px;padding:10px 14px;font-weight:800}.ar-description{font-size:14px}.ar-description h2,.ar-description h3{font-size:17px;margin:18px 0 8px;border-bottom:1px solid #ddd;padding-bottom:4px}.ar-description p{margin:0 0 8px}.ar-description ul{padding-left:1.2em;margin:6px 0 12px}.ar-list-grid{display:grid;grid-template-columns:1fr;gap:10px;background:transparent;border:0;box-shadow:none;padding:0}.ar-list-card{display:grid;grid-template-columns:84px 1fr;gap:10px;align-items:center;text-decoration:none;background:#fff;border:1px solid var(--ar-line);border-radius:12px;min-height:76px;padding:10px;font-weight:700}.ar-list-card img{width:84px;height:64px;object-fit:cover;border-radius:8px;background:#eee}.ar-list-card span{display:block}.ar-footer{background:#1d1d1d;color:#fff;margin-top:30px;padding:22px 14px;font-size:13px}.ar-footer-grid{max-width:760px;margin:0 auto;display:grid;gap:14px}.ar_csv_img_card img,.ar_csv_card img{object-fit:contain!important}@media(min-width:620px){.ar-nav{grid-template-columns:repeat(4,minmax(0,1fr))}.ar-list-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ar-list-card{grid-template-columns:110px 1fr}.ar-list-card img{width:110px;height:78px}h1{font-size:25px}}

/* cart page */
.ar-cart-page .ar-cart-box{background:#fff;border:1px solid var(--ar-line);border-radius:var(--ar-radius);padding:12px;margin:14px 0;box-shadow:0 2px 10px rgba(0,0,0,.03);overflow-x:auto}.simpleCart_items{width:100%;overflow-x:auto}.simpleCart_items table{width:100%;border-collapse:collapse;min-width:520px}.simpleCart_items th,.simpleCart_items td{border:1px solid #ddd;padding:8px;font-size:13px}.simpleCart_items .headerRow{background:#111;color:#fff;font-weight:700}.simpleCart_increment,.simpleCart_decrement{text-decoration:none;font-weight:800;color:#111;padding:4px 7px}.simpleCart_remove{color:#b40000!important;text-decoration:none;font-weight:700}.ar-cart-summary{background:#f5f5f5;border-radius:10px;padding:12px;margin:12px 0;font-size:16px}.ar-cart-actions{display:grid;gap:10px;margin-top:12px}.ar-checkout-button,.ar-empty-button,.ar-continue-button{display:block;text-align:center;text-decoration:none;border-radius:9px;padding:12px 14px;font-weight:800;cursor:pointer}.ar-checkout-button{background:var(--ar-red);color:#fff}.ar-empty-button{background:#333;color:#fff}.ar-continue-button{background:#eee;color:#111}.ar-cart-note{font-size:13px;color:#444;line-height:1.7}


/* v4 navigation / cart / grouped list fixes */
.ar-footer-links{max-width:760px;margin:0 auto 16px;display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.ar-footer-links a{color:#fff;text-decoration:none;border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:7px 12px}.ar-pc-link{background:#444!important}.ar-view-cart-button{display:inline-block;margin-top:8px;margin-left:8px;background:#222;color:#fff;text-decoration:none;border-radius:8px;padding:10px 14px;font-weight:800}.ar-order-button{background:#0b4c8c;color:#fff}.ar-list-group-title{font-size:16px;margin:16px 0 4px;padding:8px 10px;background:#111;color:#fff;border-radius:10px;grid-column:1/-1}.ar-cart-actions a{display:block}.ar-cart-button + .ar-view-cart-button{vertical-align:middle}@media(max-width:420px){.ar-view-cart-button{margin-left:0;display:block;text-align:center}.ar-cart-button{display:block;text-align:center}}


/* v5: product action buttons, legal page, and order form */
.ar-price-result{display:block;clear:both}.ar-price-result .item_add,.ar-price-result .ar-view-cart-button{display:inline-flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box;min-height:46px;line-height:1!important;vertical-align:middle!important;margin:10px 8px 0 0!important;padding:12px 18px!important;border-radius:10px;text-decoration:none!important;font-weight:800;white-space:nowrap}.ar-price-result .item_add{background:var(--ar-red);color:#fff!important}.ar-price-result .ar-view-cart-button{background:#222;color:#fff!important}.ar-cart-message{display:block;margin:8px 0 0;font-size:13px;color:#0a7a24;font-weight:700}.ar-legal-card,.ar-order-card,.ar-message-card{background:#fff;border:1px solid var(--ar-line);border-radius:var(--ar-radius);padding:14px;margin:14px 0;box-shadow:0 2px 10px rgba(0,0,0,.03)}.ar-legal-list{display:grid;gap:12px}.ar-legal-item{border-bottom:1px solid #e5e5e5;padding-bottom:10px}.ar-legal-item:last-child{border-bottom:none;padding-bottom:0}.ar-legal-item dt{font-weight:800;margin:0 0 4px;color:#111}.ar-legal-item dd{margin:0;line-height:1.7;white-space:pre-line}.ar-order-form{display:grid;gap:12px}.ar-order-form label{font-weight:800;display:block;margin-bottom:4px}.ar-order-form input,.ar-order-form textarea{width:100%;box-sizing:border-box;border:1px solid #cfcfcf;border-radius:8px;padding:11px;font-size:16px;background:#fff}.ar-order-form textarea{min-height:110px}.ar-order-form .ar-submit-button{appearance:none;border:0;background:var(--ar-red);color:#fff;border-radius:10px;padding:13px 16px;font-weight:900;font-size:16px}.ar-order-cart-preview{background:#f5f5f5;border-radius:10px;padding:10px;margin-bottom:8px;font-size:14px;line-height:1.7;white-space:pre-line}.ar-help-text{font-size:13px;color:#555;line-height:1.6}.ar-button-row{display:flex;flex-wrap:wrap;gap:10px}.ar-button-row a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;border-radius:9px;padding:10px 14px;text-decoration:none;font-weight:800}.ar-button-row .primary{background:var(--ar-red);color:#fff}.ar-button-row .secondary{background:#eee;color:#111}

/* v6: manufacturer list grouping */
.ar-list-group-title{font-size:16px;margin:18px 0 6px;padding:8px 12px;background:#111;color:#fff;border-radius:10px;grid-column:1/-1;letter-spacing:.02em;}


/* v7: cart save price alignment */
.ar-price-result .item_price{font-weight:800}.ar-cart-message{min-height:1.4em}.ar-price-result .item_add,.ar-price-result .ar-view-cart-button{vertical-align:middle!important;align-self:center!important;}


/* v13: custom cart fallback */
.ar-cart-empty{padding:14px;background:#f5f5f5;border-radius:10px;color:#555;font-weight:700}.ar-cart-table{width:100%;border-collapse:collapse;min-width:520px}.ar-cart-table th,.ar-cart-table td{border:1px solid #ddd;padding:8px;font-size:13px;vertical-align:middle}.ar-cart-table .headerRow{background:#111;color:#fff}.ar-cart-inc,.ar-cart-dec,.ar-cart-remove{appearance:none;border:1px solid #bbb;background:#fff;border-radius:6px;padding:4px 8px;font-weight:800}.ar-cart-remove{color:#b40000}.ar-cart-message{display:block;margin:8px 0 0!important;font-size:13px;font-weight:800}.ar-price-result .ar-cart-message{clear:both}.ar-price-result .item_add,.ar-price-result .ar-view-cart-button{position:relative;z-index:1}


/* v16: keep product cart buttons aligned and keep status message below both buttons */
.ar-price-result .ar-product-action-row{
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  gap:10px!important;
  margin-top:12px!important;
}
.ar-price-result .ar-product-action-row .item_add,
.ar-price-result .ar-product-action-row .ar-view-cart-button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:48px!important;
  box-sizing:border-box!important;
  margin:0!important;
  white-space:nowrap!important;
  line-height:1!important;
}
.ar-price-result .ar-product-action-row .item_add{
  min-width:154px!important;
}
.ar-price-result .ar-product-action-row .ar-view-cart-button{
  min-width:136px!important;
}
.ar-price-result .ar-cart-message{
  display:block!important;
  clear:both!important;
  margin:10px 0 0!important;
}
@media(max-width:380px){
  .ar-price-result .ar-product-action-row{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
  }
  .ar-price-result .ar-product-action-row .item_add,
  .ar-price-result .ar-product-action-row .ar-view-cart-button{
    min-width:0!important;
    width:100%!important;
    padding-left:10px!important;
    padding-right:10px!important;
    font-size:15px!important;
  }
}


/* v17: cart visibility policy */
.simpleCart_shelfItem:not(.ar-price-ready) .item_add,
.simpleCart_shelfItem:not(.ar-price-ready) .ar-view-cart-button,
.simpleCart_shelfItem:not(.ar-price-ready) .ar-product-action-row{
  display:none!important;
}
.simpleCart_shelfItem.ar-price-ready .ar-product-action-row{
  display:flex!important;
}
@media(max-width:380px){
  .simpleCart_shelfItem.ar-price-ready .ar-product-action-row{
    display:grid!important;
  }
}
.ar-floating-cart{
  position:fixed;
  left:12px;
  right:12px;
  bottom:12px;
  z-index:9999;
  display:none;
  text-align:center;
  background:#111;
  color:#fff!important;
  text-decoration:none;
  border-radius:999px;
  padding:12px 16px;
  font-weight:900;
  box-shadow:0 6px 18px rgba(0,0,0,.28);
  box-sizing:border-box;
}
.ar-floating-cart.is-visible{display:block!important;}
body.ar-has-floating-cart{padding-bottom:72px;}
.ar-floating-cart-count{margin-left:.25em;}


/* === Unified responsive PC/phone layout added === */
:root {
  --ar-max-width: 1180px;
  --ar-gap: 24px;
}
body {
  background: #f5f5f5;
}
.ar-header {
  box-shadow: 0 2px 12px rgba(0,0,0,.10);
}
.ar-page {
  width: min(var(--ar-max-width), calc(100% - 24px));
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 900px) {
  body {
    background: #f4f4f4;
  }
  .ar-header {
    position: sticky;
    top: 0;
    z-index: 50;
    display: flex;
    align-items: center;
    gap: 24px;
    padding: 14px 28px;
  }
  .ar-logo img {
    max-width: 210px;
    height: auto;
  }
  .ar-menu-button {
    display: none !important;
  }
  .ar-nav {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 12px;
    flex: 1 1 auto;
    max-height: none !important;
  }
  .ar-nav a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 6px 10px;
    border-radius: 4px;
    text-decoration: none;
    white-space: nowrap;
  }
  .ar-nav a:hover {
    background: rgba(0,0,0,.06);
  }
  .ar-page {
    padding-top: 28px;
    padding-bottom: 48px;
  }
  .ar-product-page {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(340px, 430px);
    gap: var(--ar-gap);
    align-items: start;
  }
  .ar-product-page > .ar-breadcrumb,
  .ar-product-page > h1,
  .ar-product-page > .ar-description,
  .ar-product-page > .ar-note,
  .ar-product-page > .ar-related {
    grid-column: 1 / -1;
  }
  .ar-product-page > .ar-gallery {
    grid-column: 1;
    margin: 0;
  }
  .ar-product-page > .ar-purchase {
    grid-column: 2;
    margin: 0;
    position: sticky;
    top: 106px;
  }
  .ar-main-image {
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 8px;
    overflow: hidden;
  }
  .ar-main-image img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: contain;
  }
  .ar-thumbs {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(72px, 1fr));
    gap: 8px;
    margin-top: 12px;
  }
  .ar-thumbs button {
    cursor: pointer;
  }
  .ar-description {
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 22px 26px;
  }
  .ar-list-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 16px;
  }
  .ar-list-grid .ar-list-group-title {
    grid-column: 1 / -1;
    margin-top: 28px;
  }
  .ar-list-card {
    min-height: 100%;
  }
  .ar-list-card img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
  }
  .ar-footer {
    margin-top: 56px;
  }
  .ar-footer-grid {
    display: grid;
    grid-template-columns: 1fr 1.4fr;
    gap: 28px;
    width: min(var(--ar-max-width), calc(100% - 24px));
    margin-left: auto;
    margin-right: auto;
  }
  .ar-floating-cart {
    right: 24px;
    left: auto;
    bottom: 22px;
    width: auto;
    min-width: 260px;
  }
}


/* === Unified v2 core page refinements === */
.ar-logo { padding:12px 64px 10px 14px; }
.ar-logo img { max-height:76px; max-width:260px; }
.ar-nav a.is-current { background:var(--ar-red)!important; color:#fff!important; }
.ar-home-page { max-width:1180px; }
.ar-home-hero { position:relative; overflow:hidden; background:linear-gradient(135deg,#0b0b0b,#2a2a2a 60%,#8d0000); color:#fff; border-radius:18px; padding:22px; display:grid; gap:20px; box-shadow:0 10px 26px rgba(0,0,0,.18); }
.ar-home-hero-copy h1 { color:#fff; font-size:clamp(28px,5vw,54px); line-height:1.12; margin:4px 0 12px; }
.ar-kicker { display:inline-block; letter-spacing:.12em; color:#fff; background:rgba(180,0,0,.9); border-radius:999px; padding:4px 10px; font-size:12px; font-weight:900; margin:0 0 8px; }
.ar-hero-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:16px; }
.ar-hero-actions a { color:#fff; text-decoration:none; border:1px solid rgba(255,255,255,.45); border-radius:999px; padding:9px 14px; font-weight:800; background:rgba(255,255,255,.08); }
.ar-home-hero-images { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.ar-home-hero-images img { width:100%; height:150px; object-fit:cover; border-radius:14px; border:1px solid rgba(255,255,255,.24); box-shadow:0 8px 18px rgba(0,0,0,.25); }
.ar-home-hero-images img:first-child { grid-column:1/-1; height:220px; }
.ar-home-section,.ar-home-feature-grid,.ar-contact-card,.ar-parts-page .ar-page-lead { margin:18px 0; }
.ar-home-section { background:#fff; border:1px solid var(--ar-line); border-radius:14px; padding:16px; }
.ar-brand-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.ar-brand-grid a { text-decoration:none; background:#111; color:#fff; text-align:center; border-radius:10px; padding:12px; font-weight:900; }
.ar-home-feature-grid { display:grid; gap:14px; }
.ar-home-feature { display:block; background:#fff; border:1px solid var(--ar-line); border-radius:14px; padding:12px; text-decoration:none; box-shadow:0 2px 10px rgba(0,0,0,.04); }
.ar-home-feature img { width:100%; height:180px; object-fit:cover; border-radius:10px; margin-bottom:8px; }
.ar-home-feature span { color:var(--ar-red); font-size:12px; font-weight:900; letter-spacing:.08em; }
.ar-home-feature strong { display:block; font-size:17px; margin-top:2px; }
.ar-apparel-grid { display:grid; gap:14px; }
.ar-apparel-card { background:#fff; border:1px solid var(--ar-line); border-radius:14px; overflow:hidden; box-shadow:0 2px 10px rgba(0,0,0,.04); }
.ar-apparel-card img { width:100%; height:240px; object-fit:cover; background:#eee; display:block; }
.ar-apparel-body { padding:14px; }
.ar-apparel-body h2 { font-size:18px; margin:4px 0 8px; }
.ar-apparel-price { font-size:18px; font-weight:900; margin:4px 0; }
.ar-apparel-ship { font-size:13px; color:#555; margin:0 0 10px; }
.ar-direct-pay-button { appearance:none; border:0; border-radius:10px; background:var(--ar-red); color:#fff; padding:11px 14px; font-weight:900; width:100%; cursor:pointer; }
.ar-contact-card { background:#fff; border:1px solid var(--ar-line); border-radius:14px; padding:16px; box-shadow:0 2px 10px rgba(0,0,0,.04); }
.ar-contact-form { display:grid; gap:13px; }
.ar-contact-form label { display:block; font-weight:800; }
.ar-contact-form label span { color:var(--ar-red); font-size:12px; }
.ar-contact-form input,.ar-contact-form textarea { width:100%; box-sizing:border-box; border:1px solid #cfcfcf; border-radius:10px; padding:12px; font-size:16px; margin-top:5px; background:#fff; }
.ar-contact-form textarea { min-height:160px; }
.ar-hp-field { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.ar-submit-button { appearance:none; border:0; background:var(--ar-red); color:#fff; border-radius:10px; padding:13px 18px; font-weight:900; font-size:16px; cursor:pointer; }
.ar-form-status { margin:0; font-weight:800; }
.ar-cart-page h1 { color:#111; }
@media(min-width:620px) { .ar-brand-grid { grid-template-columns:repeat(5,minmax(0,1fr)); } .ar-apparel-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .ar-home-feature-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(min-width:900px) { .ar-logo img { max-width:310px; max-height:96px; } .ar-header { align-items:center; } .ar-home-hero { grid-template-columns:1fr 1fr; padding:34px; min-height:420px; align-items:center; } .ar-home-hero-images img { height:160px; } .ar-home-hero-images img:first-child { height:260px; } .ar-apparel-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }


/* v3: Cart count with Japanese parentheses */
.ar-cart-link .simpleCart_quantity{display:inline-block;margin-left:0;font-weight:800;}
.ar-cart-link .simpleCart_quantity:empty{display:none;}
.ar-cart-link .simpleCart_quantity:not(:empty)::before{content:"（";}
.ar-cart-link .simpleCart_quantity:not(:empty)::after{content:"）";}


/* v5: larger images and click/tap zoom for Windows/desktop visibility */
.ar-list-card img{
  cursor:zoom-in;
  transition:transform .18s ease, filter .18s ease;
}
.ar-list-card:hover img{transform:scale(1.015); filter:saturate(1.04);}
.ar-main-image{min-height:260px;}
.ar-main-image img,.ar-thumbs img,.ar-home-feature img,.ar-apparel-card img{cursor:zoom-in;}
.ar-image-zoom-overlay{
  position:fixed; inset:0; z-index:100000;
  display:none; align-items:center; justify-content:center;
  background:rgba(0,0,0,.88); padding:18px;
}
.ar-image-zoom-overlay.is-open{display:flex;}
.ar-image-zoom-dialog{
  position:relative; width:100%; height:100%;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px;
}
.ar-image-zoom-dialog img{
  max-width:min(96vw,1500px); max-height:84vh;
  object-fit:contain; border-radius:10px; background:#fff;
  box-shadow:0 12px 34px rgba(0,0,0,.45);
}
.ar-image-zoom-caption{color:#fff; font-size:14px; line-height:1.5; text-align:center; max-width:min(92vw,1100px);}
.ar-image-zoom-close{
  position:absolute; right:8px; top:8px;
  width:44px; height:44px; border-radius:999px; border:1px solid rgba(255,255,255,.55);
  background:rgba(0,0,0,.55); color:#fff; font-size:28px; line-height:1; cursor:pointer;
}
.ar-image-zoom-open-original{
  color:#fff; text-decoration:none; border:1px solid rgba(255,255,255,.5);
  border-radius:999px; padding:6px 12px; font-size:13px;
}
@media(max-width:619px){
  .ar-list-card{grid-template-columns:116px 1fr; min-height:108px;}
  .ar-list-card img{width:116px; height:88px;}
  .ar-main-image{min-height:280px;}
}
@media(min-width:620px) and (max-width:899px){
  .ar-list-card{grid-template-columns:132px 1fr; min-height:118px;}
  .ar-list-card img{width:132px; height:96px;}
  .ar-main-image{min-height:340px;}
}
@media(min-width:900px){
  .ar-logo img{max-width:340px; max-height:104px;}
  .ar-list-grid{grid-template-columns:repeat(auto-fill,minmax(270px,1fr)); gap:20px;}
  .ar-list-card{display:block; padding:12px;}
  .ar-list-card img{width:100%; height:230px; aspect-ratio:auto; object-fit:cover; margin-bottom:10px;}
  .ar-list-card span{font-size:15px; line-height:1.45;}
  .ar-main-image{min-height:540px;}
  .ar-main-image img{max-height:82vh;}
  .ar-home-feature img{height:260px;}
  .ar-apparel-card img{height:300px;}
}
@media(min-width:1180px){
  .ar-list-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));}
  .ar-list-card img{height:255px;}
  .ar-main-image{min-height:590px;}
}


/* v6: option images use a non-blocking inline preview instead of a modal zoom */
.ar_csv_selector .ar-choice-card img{
  cursor:pointer!important;
}
.ar-option-preview{
  display:none;
  margin:12px 0 10px;
  border:1px solid #222;
  border-radius:12px;
  background:#fff;
  box-shadow:0 4px 14px rgba(0,0,0,.12);
  overflow:hidden;
}
.ar-option-preview.is-visible{display:block;}
.ar-option-preview-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:8px 10px;
  background:#111;
  color:#fff;
  font-size:13px;
}
.ar-option-preview-close{
  appearance:none;
  border:1px solid rgba(255,255,255,.45);
  background:rgba(255,255,255,.08);
  color:#fff;
  border-radius:999px;
  width:28px;
  height:28px;
  line-height:1;
  font-size:18px;
  cursor:pointer;
}
.ar-option-preview-body{
  padding:10px;
  text-align:center;
}
.ar-option-preview-body img{
  display:block;
  width:100%;
  max-width:420px;
  max-height:320px;
  object-fit:contain;
  margin:0 auto 8px;
  background:#fff;
}
.ar-option-preview-label{
  display:block;
  font-size:13px;
  line-height:1.45;
  font-weight:800;
  word-break:break-word;
}
@media(min-width:900px){
  .ar-product-page > .ar-purchase .ar-option-preview{
    position:sticky;
    top:106px;
    z-index:4;
  }
  .ar-option-preview-body img{
    max-height:360px;
  }
}
@media(max-width:619px){
  .ar-option-preview-body img{
    max-height:260px;
  }
}

/* v7: easier product gallery navigation */
.ar-main-image{position:relative;}
.ar-main-image img{cursor:zoom-in;}
.ar-thumbs img{cursor:pointer!important;}
.ar-gallery-nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:6;
  display:flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:58px;
  border:1px solid rgba(255,255,255,.75);
  border-radius:999px;
  background:rgba(0,0,0,.48);
  color:#fff;
  font-size:34px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 3px 12px rgba(0,0,0,.25);
  opacity:.88;
  transition:opacity .15s ease, background .15s ease, transform .15s ease;
}
.ar-gallery-nav:hover,
.ar-gallery-nav:focus{opacity:1;background:rgba(0,0,0,.72);outline:none;}
.ar-gallery-prev{left:10px;}
.ar-gallery-next{right:10px;}
.ar-gallery-counter{
  position:absolute;
  right:12px;
  bottom:10px;
  z-index:5;
  padding:4px 9px;
  border-radius:999px;
  background:rgba(0,0,0,.62);
  color:#fff;
  font-size:12px;
  font-weight:800;
  letter-spacing:.03em;
}
.ar-image-zoom-nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:3;
  display:flex;
  align-items:center;
  justify-content:center;
  width:54px;
  height:72px;
  border:1px solid rgba(255,255,255,.55);
  border-radius:999px;
  background:rgba(0,0,0,.48);
  color:#fff;
  font-size:44px;
  line-height:1;
  cursor:pointer;
}
.ar-image-zoom-prev{left:10px;}
.ar-image-zoom-next{right:10px;}
.ar-image-zoom-thumbs{
  display:flex;
  gap:8px;
  max-width:min(94vw,1100px);
  overflow-x:auto;
  padding:4px 2px 2px;
}
.ar-image-zoom-thumb{
  flex:0 0 auto;
  width:70px;
  height:54px;
  padding:2px;
  border:2px solid transparent;
  border-radius:8px;
  background:rgba(255,255,255,.16);
  cursor:pointer;
}
.ar-image-zoom-thumb.is-active{border-color:#fff;background:#fff;}
.ar-image-zoom-thumb img{width:100%;height:100%;object-fit:cover;border-radius:5px;display:block;}
@media(max-width:619px){
  .ar-gallery-nav{width:38px;height:52px;font-size:30px;}
  .ar-gallery-prev{left:6px;}
  .ar-gallery-next{right:6px;}
  .ar-image-zoom-nav{width:44px;height:62px;font-size:36px;}
  .ar-image-zoom-thumb{width:62px;height:48px;}
}


/* v9: easier gallery navigation while enlarged. */
.ar-image-zoom-stage{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  max-width:min(96vw,1500px);
  max-height:82vh;
}
.ar-image-zoom-stage > img{
  max-width:100%;
  max-height:82vh;
}
.ar-image-zoom-hotspot{
  position:absolute;
  top:0;
  bottom:0;
  width:42%;
  border:0;
  background:transparent;
  cursor:pointer;
  display:none;
  z-index:2;
}
.ar-image-zoom-hotspot-prev{left:0;}
.ar-image-zoom-hotspot-next{right:0;}
.ar-image-zoom-toolbar{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  color:#fff;
  width:100%;
}
.ar-image-zoom-toolbar button{
  display:none;
  align-items:center;
  justify-content:center;
  min-width:96px;
  min-height:38px;
  border:1px solid rgba(255,255,255,.55);
  border-radius:999px;
  background:rgba(255,255,255,.12);
  color:#fff;
  font-weight:700;
  cursor:pointer;
}
.ar-image-zoom-counter{
  min-width:56px;
  text-align:center;
  font-weight:700;
  color:#fff;
}
.ar-image-zoom-help{
  color:rgba(255,255,255,.76);
  font-size:12px;
  line-height:1.4;
  text-align:center;
  margin-top:-2px;
}
.ar-image-zoom-nav{
  background:rgba(0,0,0,.62);
  box-shadow:0 6px 20px rgba(0,0,0,.28);
}
.ar-image-zoom-prev{left:calc(50% - min(48vw,750px) - 38px);}
.ar-image-zoom-next{right:calc(50% - min(48vw,750px) - 38px);}
@media(max-width:760px){
  .ar-image-zoom-prev{left:8px;}
  .ar-image-zoom-next{right:8px;}
  .ar-image-zoom-help{display:none;}
  .ar-image-zoom-toolbar button{min-width:82px; min-height:36px;}
}


/* v10: option preview lock/freeze prevention.
   Keep option preview inline and non-sticky so it never covers controls or traps the page. */
.ar-product-page > .ar-purchase .ar-option-preview,
.ar-option-preview{
  position: static !important;
  top: auto !important;
  z-index: auto !important;
}
.ar-option-preview-body img{
  max-height: 280px;
}
@media(min-width:900px){
  .ar-option-preview-body img{max-height:300px;}
}


/* v12: reduce option preview obstruction. Silencer type is not auto-previewed; colour/tip/logo previews are compact. */
.ar-option-preview{
  max-width: 360px;
}
.ar-option-preview-head strong{
  font-size: 12px;
}
.ar-option-preview-body{
  padding: 8px;
}
.ar-option-preview-body img{
  max-width: 220px !important;
  max-height: 170px !important;
}
@media(min-width:900px){
  .ar-product-page > .ar-purchase .ar-option-preview{
    max-width: 320px;
  }
  .ar-option-preview-body img{
    max-height: 190px !important;
  }
}
@media(max-width:619px){
  .ar-option-preview{
    margin-top: 8px;
  }
  .ar-option-preview-body img{
    max-height: 160px !important;
  }
}
.ar_csv_selector .ar-choice-card[data-ar-card-column*="silencer type" i] img{
  cursor: zoom-in !important;
}


/* v13: inline selected-option preview is disabled.
   Keep .ar-hover-zoom floating enlargement only. */
.ar-option-preview,
.ar-option-preview.is-visible{
  display:none !important;
  visibility:hidden !important;
  height:0 !important;
  max-height:0 !important;
  width:0 !important;
  max-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  box-shadow:none !important;
  overflow:hidden !important;
  pointer-events:none !important;
}


/* v16: option images are selectable buttons; hover zoom remains available without click interception. */
.ar_csv_selector .ar-choice-card img,
.ar_csv_selector .ar-choice-card[data-ar-card-column*="silencer type" i] img{
  cursor:pointer !important;
}

/* v17: manufacturer/model accordion */
.ar-list-grid.has-model-accordion{
  display:block;
  background:transparent;
  border:0;
  box-shadow:none;
  padding:0;
}
.ar-model-accordion{
  margin:14px 0 18px;
  grid-column:1/-1;
}
.ar-model-accordion-heading{
  margin:0;
}
.ar-model-accordion-title{
  appearance:none;
  width:100%;
  border:0;
  border-radius:10px;
  background:#111;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 13px;
  font:inherit;
  font-weight:900;
  letter-spacing:.02em;
  line-height:1.35;
  cursor:pointer;
  text-align:left;
  box-shadow:0 2px 8px rgba(0,0,0,.08);
}
.ar-model-accordion-title::after{
  content:"＋";
  flex:0 0 auto;
  font-weight:900;
  font-size:18px;
  line-height:1;
  opacity:.88;
}
.ar-model-accordion.is-open .ar-model-accordion-title::after{content:"－";}
.ar-model-accordion-title:focus-visible{
  outline:3px solid #b40000;
  outline-offset:3px;
}
.ar-model-accordion-count{
  margin-left:auto;
  flex:0 0 auto;
  border:1px solid rgba(255,255,255,.35);
  border-radius:999px;
  padding:2px 8px;
  font-size:12px;
  line-height:1.4;
  color:#fff;
  opacity:.9;
}
.ar-model-accordion-name{
  min-width:0;
  overflow-wrap:anywhere;
}
.ar-model-accordion-body{
  margin-top:12px;
}
.ar-js .ar-model-accordion-body{
  display:none;
}
.ar-js .ar-model-accordion.is-open .ar-model-accordion-body{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
}
.ar-model-accordion-body .ar-list-card{
  margin:0;
}
@media(min-width:620px){
  .ar-js .ar-model-accordion.is-open .ar-model-accordion-body{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
  }
}
@media(min-width:900px){
  .ar-model-accordion{margin:18px 0 24px;}
  .ar-model-accordion-title{padding:11px 16px;}
  .ar-js .ar-model-accordion.is-open .ar-model-accordion-body{
    grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
    gap:20px;
  }
}


/* v18: option selection UX and description visibility fix.
   - Option images/text are treated as part of the selection button.
   - Selected state is more visible.
   - Desktop option panel no longer covers the product description. */
.ar_csv_selector .ar-choice-card{
  position:relative !important;
  user-select:none !important;
  -webkit-user-select:none !important;
  -webkit-tap-highlight-color:rgba(180,0,0,.16) !important;
}
.ar_csv_selector .ar-choice-card img,
.ar_csv_selector .ar-choice-card .ar-choice-text{
  pointer-events:none !important;
}
.ar_csv_selector .ar-choice-card .ar-choice-text{
  font-weight:800 !important;
}
.ar_csv_selector .ar-choice-card.is-selected{
  border-color:var(--ar-red,#b40000) !important;
  box-shadow:0 0 0 2px var(--ar-red,#b40000) !important;
  background:#fff7f7 !important;
}
.ar_csv_selector .ar-choice-card.is-selected::after{
  content:"✓";
  position:absolute;
  top:3px;
  right:3px;
  width:21px;
  height:21px;
  border-radius:999px;
  background:var(--ar-red,#b40000);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:14px;
  font-weight:900;
  line-height:1;
  box-shadow:0 1px 4px rgba(0,0,0,.25);
  pointer-events:none;
}
.ar_csv_selector .ar-choice-card:focus-visible{
  outline:3px solid var(--ar-red,#b40000) !important;
  outline-offset:3px !important;
}
.ar_csv_selector .ar-choice-card:active{
  transform:translateY(1px);
}
@media(max-width:619px){
  .ar_csv_selector .ar-choice-card{
    min-height:90px !important;
    padding:6px 4px !important;
  }
  .ar_csv_selector .ar-choice-card img{
    width:52px !important;
    height:52px !important;
  }
  .ar_csv_selector .ar-choice-card .ar-choice-text{
    font-size:11px !important;
    line-height:1.2 !important;
  }
}
@media(min-width:900px){
  .ar-product-page > .ar-description{
    grid-column:1 !important;
  }
  .ar-product-page > .ar-purchase{
    grid-column:2 !important;
    max-height:calc(100vh - 126px) !important;
    overflow-y:auto !important;
    overflow-x:visible !important;
    overscroll-behavior:contain;
  }
}
@media(min-width:900px) and (max-height:720px){
  .ar-product-page > .ar-purchase{
    top:82px !important;
    max-height:calc(100vh - 96px) !important;
  }
}

/* v19: wider product description column and card-photo click UX.
   - Product pages use a wider desktop canvas so the left-side description is readable.
   - The option panel remains in the right column and scrolls inside itself.
   - Manufacturer/index link-card photos navigate/select instead of opening the image zoom. */
@media(min-width:900px){
  .ar-page.ar-product-page{
    width:min(1320px, calc(100% - 24px)) !important;
    max-width:none !important;
  }
  .ar-product-page{
    grid-template-columns:minmax(0, 1fr) minmax(320px, 380px) !important;
    gap:28px !important;
  }
  .ar-product-page > .ar-description{
    grid-column:1 !important;
    max-width:none !important;
  }
  .ar-product-page > .ar-purchase{
    grid-column:2 !important;
  }
}
@media(min-width:900px) and (max-width:1100px){
  .ar-product-page{
    grid-template-columns:minmax(0, 1fr) minmax(300px, 340px) !important;
    gap:18px !important;
  }
}
.ar-list-card,
.ar-home-feature{
  cursor:pointer !important;
}
.ar-list-card img,
.ar-home-feature img{
  cursor:pointer !important;
}
.ar-list-card:hover,
.ar-home-feature:hover{
  border-color:#bbb;
  box-shadow:0 5px 18px rgba(0,0,0,.08);
}
.ar-list-card:focus-visible,
.ar-home-feature:focus-visible{
  outline:3px solid var(--ar-red,#b40000);
  outline-offset:3px;
}



/* v20: empty cart state and product code/price fallback */
.ar-cart-box.is-empty .ar-cart-summary{display:none!important;}
.ar-cart-box.is-empty .ar-cart-actions a:not(.ar-continue-shopping){display:none!important;}
.ar-cart-box.is-empty .ar-cart-actions .ar-continue-shopping{display:block!important;}
.ar-cart-box.is-empty .ar-cart-actions{margin-top:12px;}
.ar-cart-box.is-empty .ar-cart-empty{font-size:16px;text-align:center;padding:18px 14px;background:#f5f5f5;border-radius:10px;color:#555;font-weight:800;}
.item_name[data-ar-output="code"]:empty::before{content:"オプションを選択してください";color:#777;font-weight:600;}
.item_price[data-ar-output="price"]:empty::before{content:"価格を計算中...";color:#777;font-weight:600;}


/* v21: bank-transfer provisional order flow */
.ar-bank-order-button{display:block;text-align:center;text-decoration:none;border-radius:9px;padding:12px 14px;font-weight:800;cursor:pointer;background:#0b4c8c;color:#fff!important;}
.ar-bank-notice{background:#f7f7f7;border:1px solid #ddd;border-radius:12px;padding:12px 14px;margin:12px 0;line-height:1.7;color:#222;}
.ar-bank-notice strong{display:block;margin-bottom:6px;color:#111;}
.ar-bank-notice ul{margin:6px 0 0 1.2em;padding:0;}
.ar-bank-notice li{margin:2px 0;}
.ar-order-consent{display:flex!important;gap:8px;align-items:flex-start;font-weight:800!important;background:#fff7f7;border:1px solid #e0b5b5;border-radius:10px;padding:10px;line-height:1.5;}
.ar-order-consent input{width:auto!important;margin-top:.2em;}
.ar-order-status{min-height:1.4em;font-weight:800;color:#b40000;}
.ar-order-status.is-ok{color:#0a7a24;}
.ar-hp-field{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;}
.ar-cart-note p{margin:.4em 0;}
.ar-message-card .ar-order-id{display:inline-block;background:#111;color:#fff;border-radius:999px;padding:4px 10px;font-weight:900;letter-spacing:.02em;}

/* v23: shipping is separated from product price */
.ar-shipping-selector{
  background:#f7f7f7;
  border:1px solid #ddd;
  border-radius:12px;
  padding:12px;
  margin:12px 0;
}
.ar-shipping-selector label{
  display:block;
  font-weight:800;
  margin-bottom:6px;
}
.ar-shipping-region-select{
  width:100%;
  box-sizing:border-box;
  border:1px solid #bbb;
  border-radius:8px;
  padding:10px 12px;
  font-size:16px;
  background:#fff;
}
.ar-shipping-status{
  margin:8px 0 0;
  font-size:13px;
  line-height:1.6;
  color:#333;
  font-weight:700;
}
.ar-shipping-status.is-warning{color:#b40000;}
.ar-cart-box.is-empty .ar-shipping-selector{display:none!important;}
.simpleCart_checkout.is-disabled{
  opacity:.55;
  filter:grayscale(1);
  cursor:not-allowed!important;
}
.ar-price-result::after{
  content:"※送料はカート画面で配送地域に応じて加算されます。";
  display:block;
  margin-top:8px;
  font-size:12px;
  color:#666;
  line-height:1.5;
}
