/* Q&A末尾の小型LINE導線。リンク処理・クリック計測は既存GTMを利用。 */
.qa_line_cta {
  margin-top: 2.4rem;

}
.qa_list .answer .qa_line_copy {
  font-size: 2.8rem;
  line-height: 1.75;
  margin-bottom: 1.6rem;
}
.qa_line_button {
  display: grid;
  grid-template-columns: clamp(28px, 5rem, 44px) minmax(0, 1fr) clamp(24px, 4rem, 34px);
  gap: clamp(7px, 1.4rem, 12px);
  align-items: center;
  justify-content: center;
  min-height: 48px;
  width: 100%;
  padding: 1.8rem 2rem;
  border-radius: 1rem;
  background: linear-gradient(180deg, #8bd35c 0%, #58bd29 48%, #2db000 49%, #2db000 100%);
  border: 1px solid #8acb67;
  box-shadow: 0 3px 0 #278d09;
  color: #fff;
  font-family: inherit;
  font-size: clamp(16px, 3.2rem, 26px);
  font-weight: 700;
  line-height: 1.65;
  text-align: center;
  text-decoration: none;
  overflow-wrap: anywhere;
  scroll-margin-bottom: max(180px, 25rem);
}
.qa_line_button:hover { filter: brightness(1.04); }
.qa_line_button:focus-visible { outline: 3px solid #174d20; outline-offset: 3px; }

/* 質問と回答を区別し、背景の色味を抑える。 */
.qa { background-color: #fafcf9; }
.qa_list .answer { background-color: #fefffd; }
.qa_list .answer::before { background-color: #ed882d; }
.qa_line_button > span { color: inherit; min-width: 0; }
.qa_line_button > img { width: 100%; height: auto; }

.qa_line_label_end { white-space: nowrap; color: inherit; }

.qa_line_copy strong { color: #ed882d; font-size: inherit; font-weight: 700; }

/* アイコンを保ちつつ、長いラベルも一行に収める。 */
.qa_line_button {
  container-type: inline-size;
  grid-template-columns: clamp(20px, 3.8rem, 32px) minmax(0, 1fr) clamp(18px, 3.2rem, 28px);
  gap: clamp(4px, 0.8rem, 8px);
  padding-inline: 1.4rem;
}
.qa_line_button > span {
  white-space: nowrap;
  font-size: clamp(10px, 4.4cqw, 24px);
  text-shadow: 0 1px 1px rgb(0 70 0 / 20%);
}
.qa_line_button wbr { display: none; }
.qa_line_button {
  margin-left: -5.4rem;
  width: calc(100% + 5.4rem);
}

/* Q&Aを読み終えた方への相談案内。 */
.qa_contact { max-width: 72rem; margin: 4rem auto 0; }
.qa_contact_asset { margin: 0; }
.qa_contact_asset img { width: 100%; height: auto; display: block; }
.qa_contact .qa_contact_button {
  margin: 2rem 0 0;
  width: 100%;
  min-height: 56px;
  grid-template-columns: clamp(28px, 5rem, 44px) minmax(0, 1fr) clamp(24px, 4rem, 36px);
  padding: 2rem 2.4rem;
}
.qa_contact_button > span { font-size: clamp(14px, 4.8cqw, 30px); }

.qa_contact_label_top, .qa_contact_label_main { display: block; color: inherit; }
.qa_contact_label_top { font-size: clamp(14px, 4cqw, 22px); line-height: 1.5; }
.qa_contact_label_main { font-size: clamp(16px, 5.2cqw, 30px); line-height: 1.6; }

.qa_contact_label_top, .qa_contact_label_main { font-size: clamp(14px, 4.8cqw, 28px); line-height: 1.65; }
