.el_cp_qa *, .el_cp_qa *:before, .el_cp_qa *:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

/* h2見出し */
.el_cp_h2 {
  margin: 0 auto !important;
  background: #ffffff !important;
  max-width: 1000px !important;
  text-align: center !important;
}
.el_cp_h2 h2 {
  font-size: 30px !important;
  margin: 0 0 5% !important;
  font-weight: bold !important;
  text-align: center !important;
  color: #8cc63f !important;
  background-color: transparent !important;
  border: none !important;
  padding: 0 !important;
  line-height: 1.5 !important;
}

/* ラッパー */
.el_cp_qa {
  margin: 0 auto !important;
  background: #ffffff !important;
  max-width: 1100px !important;
  padding: 0 3% !important;
}
@media screen and (max-width: 650px) {
  .el_cp_qa {
    margin: 0 auto 20% !important;
    max-width: 1000px !important;
    padding: 0 20px !important;
  }
}

.el_cp_qa input {
  display: none !important;
}

/* タブコンテンツ — 非表示 */
.el_cp_qa #el_cp_content1,
.el_cp_qa #el_cp_content2,
.el_cp_qa #el_cp_content3,
.el_cp_qa #el_cp_content4,
.el_cp_qa #el_cp_content5 {
  display: none !important;
  padding: 20px 0 0 !important;
  border-top: 1px solid #dddddd !important;
}

/* タブ — 非アクティブ */
.el_cp_qa label.el_cp_tabitem {
  display: inline-block !important;
  margin: 0 0 -1px !important;
  padding: 15px 25px !important;
  text-align: center !important;
  color: #bbbbbb !important;
  border: 1px solid transparent !important;
  background-color: transparent !important;
  font-size: 1.6rem !important;
  font-weight: normal !important;
}
.el_cp_qa label.el_cp_tabitem:before {
  margin-right: 10px !important;
}
.el_cp_qa label.el_cp_tabitem:hover {
  cursor: pointer !important;
  color: #888888 !important;
}

/* タブ — アクティブ */
.el_cp_qa input:checked + label {
  color: #555555 !important;
  border: 1px solid #dddddd !important;
  border-bottom: 1px solid #ffffff !important;
  background-color: transparent !important;
}
.el_cp_qa input:checked + label[for*='1'],
.el_cp_qa input:checked + label[for*='2'],
.el_cp_qa input:checked + label[for*='3'],
.el_cp_qa input:checked + label[for*='4'],
.el_cp_qa input:checked + label[for*='5'] {
  border-top: 5px solid #8cc63f !important;
}

@media screen and (max-width: 650px) {
  .el_cp_qa label.el_cp_tabitem {
    font-size: 0.8em !important;
  }
}
@media screen and (max-width: 400px) {
  .el_cp_qa label.el_cp_tabitem {
    padding: 5% !important;
  }
  .el_cp_qa label.el_cp_tabitem:before {
    margin-right: 0 !important;
  }
}

/* タブコンテンツ — 表示 */
.el_cp_qa #el_cp_conttab1:checked ~ #el_cp_content1,
.el_cp_qa #el_cp_conttab2:checked ~ #el_cp_content2,
.el_cp_qa #el_cp_conttab3:checked ~ #el_cp_content3,
.el_cp_qa #el_cp_conttab4:checked ~ #el_cp_content4,
.el_cp_qa #el_cp_conttab5:checked ~ #el_cp_content5 {
  display: block !important;
}

/* QAブロック */
.el_cp_qa .el_cp_qain {
  overflow-x: hidden !important;
  margin: 0 auto !important;
  color: #333333 !important;
}
.el_cp_qa .el_cp_qain .el_cp_actab {
  padding: 20px 0 !important;
  border-bottom: 1px dotted #cccccc !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
  position: relative !important;
  background-color: transparent !important;
}

/* 質問ラベル */
.el_cp_qa .el_cp_qain label {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 20px 10% 20px 48px !important;
  cursor: pointer !important;
  font-weight: bold !important;
  color: #333333 !important;
  background-color: transparent !important;
  border: none !important;
  font-size: 1.6rem !important;
  line-height: 1.5 !important;
}
.el_cp_qain label:hover {
  background-color: #f0f0f0 !important;
}

/* Qラベル */
.el_cp_qa .el_cp_qain .el_cp_plus {
  font-size: 1.2em !important;
  line-height: 100% !important;
  position: absolute !important;
  z-index: 5 !important;
  margin-top: 22px !important;
  margin-left: 1% !important;
  -webkit-transition: 0.2s ease !important;
  transition: 0.2s ease !important;
  font-weight: bold !important;
  color: #8cc63f !important;
  background-color: transparent !important;
}
@media screen and (max-width: 650px) {
  .el_cp_qa .el_cp_qain .el_cp_plus {
    font-size: 1.2em !important;
    margin-top: 22px !important;
    margin-left: 1% !important;
  }
}

/* 矢印アイコン */
.el_cp_qa .el_cp_qain .el_cp_arrow {
  font-size: 1.2em !important;
  line-height: 100% !important;
  position: absolute !important;
  left: 95% !important;
  z-index: 5 !important;
  margin-top: 23px !important;
  margin-left: 0 !important;
  -webkit-transition: 0.2s ease !important;
  transition: 0.2s ease !important;
  background-image: url(https://www.elixia.co.jp/sangyoui/wp-content/uploads/sites/2/2026/02/icon_angle_down.svg) !important;
  background-repeat: no-repeat !important;
  width: 20px !important;
  height: 20px !important;
  color: transparent !important;
  pointer-events: none;

}
.el_cp_qa .el_cp_qain .el_cp_actab input[type=checkbox]:checked ~ .el_cp_arrow {
  background-image: url(https://www.elixia.co.jp/sangyoui/wp-content/uploads/sites/2/2026/02/icon_angle_up.svg) !important;
}

/* 答え */
.el_cp_qa .el_cp_qain .el_cp_actab-content {
  position: relative !important;
  overflow: hidden !important;
  height: 0 !important;
  padding: 14px 10% 0 48px !important;
  margin: 0 !important;
  -webkit-transition: 0.4s ease !important;
  transition: 0.4s ease !important;
  opacity: 0 !important;
  color: #333333 !important;
  background-color: transparent !important;
  font-size: 1.6rem !important;
  font-weight: normal !important;
}

/* 答え — 開いた状態 */
.el_cp_qa .el_cp_qain .el_cp_actab input[type=checkbox]:checked ~ .el_cp_actab-content {
  height: auto !important;
  opacity: 1 !important;
}

/* セクション見出し h3 — サイト既存スタイルを全上書き */
div.el_cp_qa div.el_cp_qain h3.el_cp_section_heading {
  font-size: 1.6rem !important;
  font-weight: bold !important;
  color: #8cc63f !important;
  background-color: transparent !important;
  background: transparent !important;
  border-left: 4px solid #8cc63f !important;
  border-top: none !important;
  border-right: none !important;
  border-bottom: none !important;
  border-radius: 0 !important;
  padding: 6px 0 6px 12px !important;
  margin: 30px 0 0 !important;
  line-height: 1.5 !important;
}