:root { --faq-gold: #C8A858; }



/* ====== 卸ご案内ページ・店舗受取ページ用：FAQ ====== */
details.faq > summary { cursor:pointer; position:relative; padding:.75rem 0 .75rem 1.75rem; list-style:none; line-height:1.6; background:#fff; transition:background-color .2s ease; border-bottom:1px solid #eee; }
details.faq > summary::before { content:"＋"; position:absolute; left:0; top:.4rem; font-weight:700; color:var(--faq-gold); transition:transform .2s ease; }
details.faq[open] > summary::before { content:"－"; }
details.faq > summary:hover { background:#fafafa; }
details.faq[open] > summary { background:#f9f9f9; }
.faq__a { padding:.5rem 0 1rem 1.75rem; animation:faq-open .25s ease; }
@keyframes faq-open { from{opacity:0; transform:translateY(-2px);} to{opacity:1; transform:translateY(0);} }
details.faq > summary:focus-visible { outline:2px solid var(--faq-gold); outline-offset:2px; }
/* iOS Safari などのデフォルト ▶ マーカーを消す */
details.faq > summary::-webkit-details-marker {
  display: none;
}

/* 念のための汎用リセット（対応ブラウザで効く） */
details.faq > summary::marker {
  content: "";
}
/* ▼ iOS16対策：デフォルトの▶マーカーを確実に消す */
details.faq > summary {
  display: flex;
  align-items: center;
  -webkit-appearance: none;
}

details.faq > summary::-webkit-details-marker {
  display: none !important;
}

details.faq > summary::marker {
  content: "";
}


.faq-index-list { display:grid; grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); gap:1rem; margin:1.5rem 0 2rem; padding:0; list-style:none; }
.faq-index-list li a { display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; gap:.6rem; padding:1.2rem 1rem; background:#fff; border:1px solid #ddd; border-radius:12px; text-decoration:none; color:#333; transition:all .25s ease; min-height:150px; }
.faq-index-list li a:hover { border-color:#C8A858; box-shadow:0 4px 10px rgba(0,0,0,.06); transform:translateY(-2px); }
.faq-index-icon { width:36px; height:36px; display:flex; align-items:center; justify-content:center; }
.faq-index-icon img, .faq-index-icon svg { width:36px; height:36px; display:block; }
.faq-index-list li a span:last-child { font-size:.95rem; font-weight:500; line-height:1.4; }

@media (max-width: 767px){
  .faq-index-list { grid-template-columns:repeat(2, 1fr); }
  .faq-index-list li a { padding:1rem .8rem; min-height:130px; }
  .faq-index-icon img, .faq-index-icon svg { width:30px; height:30px; }
}
@media (max-width: 480px){
  .faq-index-list { grid-template-columns:1fr 1fr; gap:.75rem; }
}

html { scroll-behavior:smooth; }
#faq-cat1, #faq-cat2, #faq-cat3, #faq-cat4, #faq-cat5, #faq-cat6 { scroll-margin-top:80px; }
.faq-index-list a.is-active { border-color:#C8A858; box-shadow:0 2px 8px rgba(0,0,0,.05); }

/* ====== 卸ご案内ページ用：幅の保険 ====== */
/* ページ中身の横幅を固定し、中央寄せ＋左右余白を確保 */
.page-pickup .pickup-wrapper,
.page-pickup .breadcrumbs-inner {
  max-width: px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 16px;
  padding-right: 16px;
  box-sizing: border-box;
}

/* 画像スライダーの親も念のため横幅合わせ */
.page-pickup .oroshi-flow .pickup-content-cols {
  max-width: 1080px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 16px;
  padding-right: 16px;
  box-sizing: border-box;
}


/* メニューが開いたときだけ可視化 */
.header.is-open .header-menu,
.header.is-open .header-menu-sidemenu,
.header.is-open .header-overlay,

.header-menu.is-open,
.header-menu.is-open .header-menu-sidemenu,
.header-menu.is-open + .header-overlay,

.header-menu.show,
.header-menu.show-sp {
  visibility: visible;
}



