/* 調整用変数 */
.wp-block-details.faq-qa{
  --faq-label-width: 2.4em;   /* Q./A. 左ラベル幅 */
  --faq-gap: 1rem;            /* ラベルと本文の間隔 */
  --faq-rule-color: #d0d0d0;  /* Q行下線色 */
  --faq-rule-thick: 1.5px;    /* Q行下線太さ */
  --faq-font: 16px;           /* 既定の本文サイズ */
  --faq-font-sp: 13px;        /* スマホ本文サイズ */
}
.wp-block-details.faq-qa { margin: 10px 0 18px; }

/* Q 行：Q.も含めてフル幅の一本線 */
.wp-block-details.faq-qa > summary{
  list-style: none;
  display: flex;
  gap: var(--faq-gap);
  align-items: flex-start;
  cursor: pointer;
  margin: 0 0 12px;
  padding: 0 0 10px;
  border-bottom: var(--faq-rule-thick) solid var(--faq-rule-color);
  background: none;
  font-size: var(--faq-font);
}
@media (max-width: 767px){
  .wp-block-details.faq-qa > summary{ font-size: var(--faq-font-sp); }
}
.wp-block-details.faq-qa > summary::-webkit-details-marker{ display:none; }
.wp-block-details.faq-qa > summary::before{
  content: "Q.";
  font-weight: 700;
  font-size: inherit;
  width: var(--faq-label-width);
  min-width: var(--faq-label-width);
  flex: 0 0 var(--faq-label-width);
}
.wp-block-details.faq-qa > summary::after{
  content: "＋";
  margin-left: auto;
  font-weight: 700;
  line-height: 1;
}
.wp-block-details.faq-qa[open] > summary::after{ content: "－"; }

/* ===== A 領域（ラッパーの有無に依存しない） ===== */
/* 1) 直後の兄弟（wrapperでも最初のブロックでもOK）に A. を付与 */
.wp-block-details.faq-qa > summary + *{
  position: relative;
}
/* 2) summary の後に続く全ての兄弟にインデント＆本文サイズを適用 */
.wp-block-details.faq-qa > summary ~ *{
  padding-left: calc(var(--faq-label-width) + var(--faq-gap));
  font-size: var(--faq-font);
  line-height: 1.9;
  margin: 0;
}
@media (max-width: 767px){
  .wp-block-details.faq-qa > summary ~ *{ font-size: var(--faq-font-sp); }
}
/* 3) A. ラベルは“最初の要素”だけに出す */
.wp-block-details.faq-qa > summary + *::before{
  content: "A.";
  position: absolute;
  left: 0; top: 0;
  width: var(--faq-label-width);
  font-weight: 700;
  font-size: inherit;
}

/* A内の子要素を自然に縦積み */
.wp-block-details.faq-qa > summary + * > *{ margin: 0 0 .6em; }
.wp-block-details.faq-qa > summary + * > *:last-child{ margin-bottom: 0; }

/* 長いURLやリンクでも崩れない */
.faq-qa a{ overflow-wrap:anywhere; word-break: break-word; text-underline-offset: 2px; }

/* クリック時の枠線は消す（必要なら残してもOK） */
.wp-block-details.faq-qa > summary:focus{ outline: none !important; box-shadow: none !important; }

/* 二重線・枠の保険（テーマ側スタイルを打消し） */
.wp-block-details.faq-qa{ border: 0 !important; box-shadow: none !important; }
