
/* ===== Q&Aアコーディオン（TODO#16） ここから ===== */
.richell-qa-accordion{margin-top:12px;border:1px solid #C8E8EA;border-radius:6px;overflow:hidden;}
.richell-qa-accordion .qa-head{background:#339599;color:#fff;font-size:14px;font-weight:bold;padding:10px 14px;}
.richell-qa-accordion details{border-bottom:1px solid #C8E8EA;}
.richell-qa-accordion details:last-child{border-bottom:none;}
.richell-qa-accordion summary{list-style:none;cursor:pointer;padding:12px 14px;padding-right:36px;font-size:13px;color:#1A3A3B;background:#fff;position:relative;}
.richell-qa-accordion summary::-webkit-details-marker{display:none;}
.richell-qa-accordion summary::marker{content:"";}
.richell-qa-accordion summary::after{content:"";position:absolute;right:14px;top:50%;width:8px;height:8px;border-right:2px solid #339599;border-bottom:2px solid #339599;transform:translateY(-70%) rotate(45deg);transition:transform .2s;}
.richell-qa-accordion details[open] summary::after{transform:translateY(-30%) rotate(-135deg);}
.richell-qa-accordion summary:hover{background:#D7F4F5;}
.richell-qa-accordion .qa-body{padding:0 14px 14px;font-size:12.5px;line-height:1.7;color:#3A6265;background:#F5FEFF;}
/* ===== Q&Aアコーディオン ここまで ===== */

/* ===== Q&Aアコーディオン ガイド埋め込み用（TODO#16 追加） ここから ===== */
.richell-qa-accordion .qa-body p{margin:0 0 8px;}
.richell-qa-accordion .qa-body p:last-child{margin-bottom:0;}
.richell-qa-accordion .qa-body strong{color:#236568;}
.richell-qa-accordion .qa-body a{color:#339599 !important;text-decoration:underline;}
.richell-qa-accordion .qa-body table{width:100%;border-collapse:collapse;margin:6px 0 10px;font-size:11px;}
.richell-qa-accordion .qa-body th,.richell-qa-accordion .qa-body td{border:1px solid #C8E8EA;padding:4px 6px;text-align:center;}
.richell-qa-accordion .qa-body th{background:#D7F4F5;color:#236568;font-weight:500;}
.richell-qa-accordion .qa-body img.pay-logo{height:16px;vertical-align:middle;margin:2px 4px 2px 0;}
.richell-qa-accordion .guide-link{display:block;text-align:center;padding:10px;font-size:11.5px;background:#F5FEFF;color:#339599 !important;text-decoration:underline;border-top:1px solid #C8E8EA;}
/* ===== ガイド埋め込み用 ここまで ===== */

/* ===== Q&Aアコーディオン PC/SP出し分け（TODO#16） ここから ===== */
/* PCでは商品画像直下のインスタンスのみ表示（デフォルト） */
.fs-l-productLayout > .richell-qa-accordion{display:none;}
@media screen and (max-width: 768px) {
  /* SPでは商品説明の下（ページ末尾側）のインスタンスのみ表示 */
  .fs-l-productLayout__item--1 .richell-qa-accordion{display:none;}
  .fs-l-productLayout > .richell-qa-accordion{display:block;}
}
/* ===== PC/SP出し分け ここまで ===== */

/* ===== ご利用ガイド小見出し・追加リンク（TODO#16） ここから ===== */
.richell-qa-accordion .qa-subhead{background:#D7F4F5;color:#236568;font-size:12px;font-weight:600;padding:7px 14px;border-top:1px solid #C8E8EA;}
/* ===== 追加 ここまで ===== */


/* ===== 付属品スライダー ===== */
.rch-parts{margin:16px 0 20px;}
.rch-parts__title{font-size:15px;font-weight:700;color:#236568;border-left:4px solid #339599;padding-left:10px;margin:0 0 10px;}
.rch-parts__track{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:6px;}
.rch-parts__track::-webkit-scrollbar{height:6px;}
.rch-parts__track::-webkit-scrollbar-track{background:#f0f0f0;border-radius:3px;}
.rch-parts__track::-webkit-scrollbar-thumb{background:#9DDEE0;border-radius:3px;}
.rch-parts__card{flex:0 0 150px;scroll-snap-align:start;text-decoration:none;color:#333;border:1px solid #e5e5e5;border-radius:8px;padding:10px;background:#fff;transition:box-shadow .2s;}
.rch-parts__card:hover{box-shadow:0 2px 8px rgba(51,149,153,.25);}
.rch-parts__img img{width:100%;aspect-ratio:1/1;object-fit:contain;display:block;border-radius:4px;}
.rch-parts__name{display:block;font-size:12px;line-height:1.4;margin:8px 0 4px;min-height:2.8em;}
.rch-parts__price{display:block;font-size:14px;font-weight:700;color:#339599;}
.rch-parts__price small{font-size:10px;font-weight:400;color:#888;}
.rch-parts__badge{display:inline-block;font-size:10px;color:#fff;background:#339599;border-radius:3px;padding:1px 6px;margin-top:4px;}
/* ===== 独自コメント11が空の商品では「この商品のご質問」見出しを非表示（TODO#16） ここから ===== */
.richell-qa-accordion .qa-head:has(+ .qa-head){display:none;}
.richell-qa-accordion .qa-head:has(+ a.guide-link + .qa-head){display:none;}
/* ===== ここまで ===== */


/* ===== 商品画像ライトボックス（rlb-）2026-07-14 ===== */
/* 対象: 商品詳細の独自slickスライダー #slider（メイン画像）/ #thumbs（サムネイル） */
#slider img { cursor: zoom-in; }
#slider { position: relative; }
.rlb-hint {
  position: absolute; right: 8px; bottom: 8px; z-index: 5;
  background: rgba(255,255,255,.9); border: 1px solid #ccc; border-radius: 20px;
  font-size: 11px; color: #555; padding: 4px 10px 4px 24px; pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23555' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cline x1='16' y1='16' x2='21' y2='21'/%3E%3Cline x1='11' y1='8' x2='11' y2='14'/%3E%3Cline x1='8' y1='11' x2='14' y2='11'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: 8px center;
}
.rlb-overlay {
  position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 99999;
  background: rgba(20,20,20,.92);
  display: none; flex-direction: column;
  -webkit-tap-highlight-color: transparent;
}
.rlb-overlay.is-open { display: flex; }
body.rlb-lock { overflow: hidden; }
.rlb-topbar {
  display: flex; align-items: center; justify-content: space-between;
  padding: 10px 14px; color: #fff; flex: 0 0 auto;
}
.rlb-counter { font-size: 13px; letter-spacing: .5px; opacity: .85; }
.rlb-close {
  -webkit-appearance: none; appearance: none; border: none; background: rgba(255,255,255,.12);
  color: #fff; width: 40px; height: 40px; border-radius: 50%;
  font-size: 22px; line-height: 1; cursor: pointer; padding: 0;
}
.rlb-close:hover { background: rgba(255,255,255,.25); }
.rlb-stage {
  flex: 1 1 auto; position: relative; overflow: hidden;
  display: flex; align-items: center; justify-content: center;
  touch-action: pan-y;
}
.rlb-img {
  max-width: calc(100% - 24px); max-height: 100%;
  object-fit: contain; -webkit-user-select: none; user-select: none; -webkit-user-drag: none;
  cursor: zoom-in; transition: transform .25s ease;
  transform-origin: center center; background: #fff;
}
.rlb-img.is-zoomed { cursor: zoom-out; transition: none; }
.rlb-nav {
  position: absolute; top: 50%; transform: translateY(-50%);
  -webkit-appearance: none; appearance: none; border: none; cursor: pointer;
  width: 44px; height: 64px; background: rgba(255,255,255,.12);
  color: #fff; font-size: 26px; border-radius: 6px; padding: 0;
}
.rlb-nav:hover { background: rgba(255,255,255,.28); }
.rlb-prev { left: 10px; }
.rlb-next { right: 10px; }
.rlb-thumbs {
  flex: 0 0 auto; display: flex; gap: 8px; overflow-x: auto;
  padding: 12px 14px calc(14px + env(safe-area-inset-bottom));
  scrollbar-width: thin;
}
.rlb-thumbs img {
  width: 56px; height: 56px; object-fit: cover; flex: 0 0 auto;
  border-radius: 4px; border: 2px solid transparent; cursor: pointer;
  opacity: .6; background: #fff;
}
.rlb-thumbs img.is-active { border-color: #339599; opacity: 1; }
@media (max-width: 600px) {
  .rlb-nav { width: 36px; height: 52px; font-size: 20px; }
  .rlb-thumbs img { width: 48px; height: 48px; }
  .rlb-hint { font-size: 10px; padding: 3px 8px 3px 22px; }
}
@media (prefers-reduced-motion: reduce) {
  .rlb-img { transition: none; }
}
/* ===== /商品画像ライトボックス ===== */
