/* ── アコーディオン：提案B フラットライン ── */

/* .contents1 の下マージンをリセット（アコーディオン間の余分なスペースを除去） */
.contents1:has(> h2.acc-toggle-b),
.content1:has(> h2.acc-toggle-b) {
  margin-bottom: 0;
}
.content1:has(> h2.acc-toggle-b) {
  margin-right: 5px;
}
/* アコーディオンdiv間に残る <br> を非表示（JSに包まれないため） */
.contents1:has(> h2.acc-toggle-b) + br,
.contents1:has(> h2.acc-toggle-b) + br + br,
.content1:has(> h2.acc-toggle-b) + br,
.content1:has(> h2.acc-toggle-b) + br + br {
  display: none;
}

h2.acc-toggle-b {
  cursor: pointer;
  user-select: none;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 6px;
  border-top: 1px solid #dde3ea;
  position: relative;
  font-size: 19px;
  line-height: 1.1em;
  font-weight: 700;
  color: #2a5a8c;
  margin: 0 !important;  /* inline style="margin-top:20px;" を上書き */
  transition: color 0.2s;
}
h2.acc-toggle-b:hover { color: #0b7a4b; }
h2.acc-toggle-b::before {
  content: "";
  width: 4px; height: 1.8em;
  border-radius: 2px;
  background: #c5cdd6;
  flex-shrink: 0;
  transition: background 0.3s, height 0.3s;
}
h2.acc-toggle-b:not(.closed)::before {
  background: #0b7a4b;
  height: 2.2em;
}
h2.acc-toggle-b::after {
  content: "＋";
  position: absolute;
  right: 6px;
  font-size: 1.2em;
  color: #aab4bf;
  transition: transform 0.3s, color 0.3s;
}
h2.acc-toggle-b:not(.closed)::after {
  transform: rotate(45deg);
  color: #0b7a4b;
}
/* h2 内の旧HTML要素（<font>/<p>）をリセット */
h2.acc-toggle-b p {
  margin: 0 !important;  /* inline style="margin-top:20px" を上書き */
  padding: 0;
  display: block;
  flex: 1;
  min-width: 0.9em;
}
h2.acc-toggle-b font {
  color: inherit !important;
  font-size: inherit !important;  /* h2 の font-size: 19px を継承 */
  flex: 1;
  min-width: 0;
}
.acc-content-b {
  overflow: hidden;
  transition: max-height 0.4s ease;
  padding-left: 24px;
}
/* h3のデフォルトmargin-bottomをリセット（<p>→<h3>修正後の余分なスペース対策） */
.acc-content-b h3 {
  margin-bottom: 0;
}
/* 最後のアコーディオン見出しに下ボーダーを追加 */
.main-right > div:last-child h2.acc-toggle-b {
  border-bottom: 1px solid #dde3ea;
}
