html.sqv-lock,
html.sqv-lock body { overflow: hidden !important; }

#itemList .itemThumb { position: relative; }

.sqv-trigger {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 3;
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 0;
  border-radius: 10px;
  /* background: #ffe100; */
  /* box-shadow: 0 2px 5px rgba(0,0,0,.2); */
  cursor: pointer;
}
.sqv-trigger img {/* display: block; *//* width: 22px !important; *//* height: 22px !important; *//* object-fit: contain; */}
.sqv-trigger:hover {filter: brightness(.96);/* transform: translateY(-1px); */}

.sqv-trigger,
.sqv-modal button,
.sqv-detail { transition: opacity .2s ease; }
.sqv-trigger:hover,
.sqv-modal button:not(:disabled):hover,
.sqv-detail:hover { opacity: .8; }

.sqv-modal {
  position: fixed; inset: 0; z-index: 2147483000; display: flex; align-items: center; justify-content: center;
  padding: 30px 20px; background: rgba(0,0,0,.34); opacity: 0; transition: opacity .22s ease;
  box-sizing: border-box;
}
.sqv-modal.is-open { opacity: 1; }
.sqv-modal, .sqv-modal * { box-sizing: border-box; }
.sqv-modal__dialog {
  position: relative; width: min(800px, 100%); max-height: calc(100vh - 60px); padding: 0;
  overflow: visible; background: #fff; border-radius: 5px; box-shadow: 0 3px 12px rgba(0,0,0,.25);
  color: #222; font-family: Arial, "Noto Sans JP", sans-serif;
  opacity: 0; transform: translateY(10px) scale(.985);
  transition: opacity .22s ease, transform .22s ease; will-change: opacity, transform;
}
.sqv-modal.is-open .sqv-modal__dialog { opacity: 1; transform: translateY(0) scale(1); }
.sqv-modal__scroll {
  max-height: calc(100vh - 60px); padding: 46px 48px; overflow-y: auto; overflow-x: hidden;
  border-radius: 5px; background: #fff; scrollbar-gutter: stable;
}
.sqv-modal__close {
  position: absolute;
  top: -20px;
  right: -20px;
  z-index: 5;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #1589CC;
  cursor: pointer;
  box-shadow: 0 2px 5px rgba(0,0,0,.22);
}
.sqv-modal__close::before, .sqv-modal__close::after {
  content: ""; position: absolute; top: 19px; left: 10px; width: 20px; height: 2px; background: #fff;
}
.sqv-modal__close::before { transform: rotate(45deg); }
.sqv-modal__close::after { transform: rotate(-45deg); }
.sqv-modal__body { display: grid; grid-template-columns: 350px 1fr; gap: 38px; }
.sqv-loading, .sqv-error { grid-column: 1/-1; padding: 80px 10px; text-align: center; font-size: 15px; }

.sqv-modal.is-loading .sqv-loading::before {
  content: ""; display: block; width: 32px; height: 32px; margin: 0 auto 16px;
  border: 3px solid #d9edf8; border-top-color: #1589CC; border-radius: 50%;
  animation: sqv-loading-spin .8s linear infinite;
}
@keyframes sqv-loading-spin {
  to { transform: rotate(360deg); }
}
@media (prefers-reduced-motion: reduce) {
  .sqv-modal.is-loading .sqv-loading::before { animation: none; }
}


.sqv-gallery__stage { position: relative; aspect-ratio: 1/1; border: 1px solid #d8d8d8; background: #fff; overflow: hidden; }
.sqv-gallery__track { display: flex; width: 100%; height: 100%; transition: transform .28s ease; will-change: transform; }
.sqv-gallery__slide { flex: 0 0 100%; display: grid; place-items: center; width: 100%; height: 100%; }
.sqv-gallery__slide img { width: 100%; height: 100%; object-fit: contain; display: block; }
.sqv-gallery__arrow {
  position: absolute; z-index: 2; top: 50%; width: 36px; height: 36px; margin: 0; padding: 0;
  border: 0; border-radius: 50%; background: rgba(255,255,255,.95);
  box-shadow: 0 1px 6px rgba(0,0,0,.16); transform: translateY(-50%); cursor: pointer;
}
.sqv-gallery__arrow--prev { left: 10px; }
.sqv-gallery__arrow--next { right: 10px; }
.sqv-gallery__arrow::before {
  content: ""; position: absolute; top: 13px; left: 14px; width: 8px; height: 8px;
  border-top: 2px solid #555; border-left: 2px solid #555;
}
.sqv-gallery__arrow--prev::before { transform: rotate(-45deg); }
.sqv-gallery__arrow--next::before { left: 12px; transform: rotate(135deg); }
.sqv-gallery__count { position: absolute; right: 10px; bottom: 8px; padding: 2px 9px; border-radius: 20px; background: rgba(0,0,0,.55); color: #fff; font-size: 11px; }
.sqv-gallery__thumbs { display: flex; gap: 6px; margin-top: 7px; overflow-x: auto; overflow-y: hidden; scrollbar-width: thin; scroll-snap-type: x proximity; -webkit-overflow-scrolling: touch; overscroll-behavior-inline: contain; cursor: grab; user-select: none; touch-action: pan-x; }
.sqv-gallery__thumbs.is-dragging { cursor: grabbing; scroll-snap-type: none; scroll-behavior: auto; }
.sqv-gallery__thumb { flex: 0 0 65px; width: 65px; height: 65px; padding: 0; border: 1px solid #ccc; background: #fff; cursor: pointer; scroll-snap-align: start; }
.sqv-gallery__thumb.is-active { border: 2px solid #0872cf; }
.sqv-gallery__thumb img { display: block; width: 100%; height: 100%; object-fit: contain; pointer-events: none; user-select: none; }

@media (max-width: 768px) {
  .sqv-gallery__thumb img { object-fit: cover; }
}

.sqv-info__title { margin: 0 0 12px; color: #0062b7; font-size: 19px; line-height: 1.4; font-weight: 700; }
.sqv-info__price { margin: 0; color: #f10000; font-size: 21px; line-height: 1.4; font-weight: 700; }
.sqv-info__price small { font-size: 11px; }
.sqv-info__point {margin: 5px 0 10px;color: #999;font-size: 12px;}
.sqv-controls {margin: 0 0 20px;}
.sqv-row {display: grid;grid-template-columns: 68px 1fr;align-items: center;min-height: 42px;font-size: 13px;margin: 5px 0;}
.sqv-row__label { color: #333; }
.sqv-row.sqv-row--stacked { grid-template-columns: 1fr; gap: 6px; align-items: stretch; margin: 4px 0 10px; }
.sqv-row.sqv-row--stacked .sqv-row__label { line-height: 1.5; }
.sqv-select { width: 100%; height: 40px; padding: 0 12px; border: 1px solid #d5d5d5; border-radius: 3px; background: #fff; color: #333; }
.sqv-quantity { display: flex; width: 100px; height: 31px; border: 1px solid #d5d5d5; border-radius: 3px; overflow: hidden; }
.sqv-quantity button { position: relative; width: 32px; padding: 0; border: 0; background: #fff; cursor: pointer; }
.sqv-quantity__button::before, .sqv-quantity__button--plus::after {
  content: ""; position: absolute; top: 50%; left: 50%; width: 9px; height: 1px; background: #888; transform: translate(-50%, -50%);
}
.sqv-quantity__button--plus::after { transform: translate(-50%, -50%) rotate(90deg); }
.sqv-quantity__input { width: 36px; padding: 0; border: 0; text-align: center; appearance: textfield; }
.sqv-quantity__input::-webkit-inner-spin-button { appearance: none; }

.sqv-description {margin: 14px 0 11px;padding-bottom: 5px;border-bottom: 0;}
.sqv-description__text {
  position: relative; display: block; max-height: 3.4em; margin: 0; overflow: hidden;
  font-size: 13px; line-height: 1.7; transition: max-height .35s ease;
}
.sqv-description.is-truncated:not(.is-expanded):not(.is-measuring) .sqv-description__text::after { content: "…"; position: absolute; right: 0; bottom: 0; background: #fff; }
.sqv-description.is-expanded .sqv-description__text { overflow: hidden; }
.sqv-description.is-measuring .sqv-description__text { max-height: none !important; overflow: visible; transition: none; }
.sqv-description.is-measuring .sqv-description__text::after { content: none; }
.sqv-description__more {display: block;margin: 2px 0 0 auto;padding: 0;border: 0;border-bottom: 1px solid #2493CD;background: none;color: #0793d5;font-size: 12px;font-weight: 700;cursor: pointer;line-height: 140%;}
.sqv-description__more[hidden] { display: none; }
.sqv-cart, .sqv-detail { display: flex; align-items: center; justify-content: center; width: 100%; height: 60px; border-radius: 3px; font-weight: 700; text-decoration: none !important; }
.sqv-cart {gap: 12px;border: 0;background: #1589CC;color: #fff;font-size: 18px;cursor: pointer;}
.sqv-cart__icon { display: block; width: 20px; height: 20px; object-fit: contain; }
.sqv-cart:disabled { background: #99cce7; cursor: not-allowed; }
.sqv-detail {height: 44px;margin-top: 15px;border: 2px solid #1589CC;color: #278aca !important;font-size: 14px;background: #fff;}

@media (max-width: 768px) {
  .sqv-trigger {top: 5px;right: 5px;width: 41px;height: 41px;border-radius: 8px;}
  .sqv-modal { align-items: flex-start; padding: 26px 20px 20px; overflow-y: auto; }
  .sqv-modal.is-loading { align-items: center; }
  .sqv-modal__dialog { width: 100%; max-height: none; padding: 0; overflow: visible; }
  .sqv-modal__scroll { max-height: none; padding: 30px 28px 34px; overflow: visible; scrollbar-gutter: auto; }
  .sqv-modal__close { top: -17px; right: -16px; width: 40px; height: 40px; }
  .sqv-modal__body { display: block; max-height: none; overflow: visible; }
  .sqv-gallery__stage { width: 100%; }
  .sqv-gallery__arrow--prev { left: 14px; }
  .sqv-gallery__arrow--next { right: 14px; }
  .sqv-gallery__thumb { flex-basis: calc((100% - 24px) / 5); width: calc((100% - 24px) / 5); height: auto; aspect-ratio: 1/1; }
  .sqv-info { margin-top: 24px; }
  .sqv-info__title { font-size: 20px; }
  .sqv-info__price { margin-top: 14px; font-size: 25px; }
  .sqv-info__point {margin-bottom: 10px;font-size: 14px;}
  .sqv-row {grid-template-columns: 68px 1fr;min-height: 38px;font-size: 14px;margin: 5px 0;}
  .sqv-description { margin-top: 14px; }
  .sqv-description__text { font-size: 14px; }
  .sqv-cart {margin-top: 20px;}
  .sqv-controls{
    margin: 0 0 10px;
}
}

@media (max-width: 380px) {
  .sqv-modal { padding-left: 12px; padding-right: 12px; }
  .sqv-modal__scroll { padding-left: 18px; padding-right: 18px; }
}

section#itemDetail-wrap table.spec tr.mfr,
section#itemDetail-wrap table.spec tr.model,
section#itemDetail-wrap table.spec tr.jan,
article#Detail #main-column .spec-g_txt_table_wrap {
  display: none;
}
