.elementor-11269 .elementor-element.elementor-element-f04529f{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-11269 .elementor-element.elementor-element-2b91779{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-11269 .elementor-element.elementor-element-92d781c > .elementor-widget-container{padding:80px 0px 80px 0px;}@media(max-width:767px){.elementor-11269 .elementor-element.elementor-element-2b91779{--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-11269 .elementor-element.elementor-element-92d781c > .elementor-widget-container{padding:0px 0px 40px 0px;}}/* Start custom CSS for html, class: .elementor-element-92d781c *//* FAQ全体のコンテナ */
.faq-container {
  width: 100%;
  max-width: 900px;
  margin: 0px auto;
  padding: 0 0px;
  box-sizing: border-box;
  font-family: "Noto Sans JP", sans-serif;
}

/* 各質問の枠 */
.faq-item {
  background-color: #ffffff;
  border: 1px solid #EAE6DC; /* 上品な生成り・ベージュライン */
  border-radius: 6px;
  margin-bottom: 16px;
  overflow: hidden;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.02);
  transition: border-color 0.3s ease;
}

/* 開いているときの枠線 */
.faq-item.is-open {
  border-color: #00896C; /* ヤマタケグリーン */
}

/* 質問エリアのボタン（クリック領域） */
.faq-trigger {
  width: 100%;
  display: flex;
  align-items: center;
  text-align: left;
  background: none;
  border: none;
  padding: 22px 24px;
  cursor: pointer;
  outline: none;
  position: relative;
  box-sizing: border-box;
}

/* 「Q1」などのバッジ */
.faq-q-badge {
  font-size: 1rem;
  font-weight: 700;
  color: #00896C; /* ヤマタケグリーン */
  background-color: rgba(0, 137, 108, 0.08);
  padding: 4px 8px;
  border-radius: 4px;
  margin-right: 16px;
  flex-shrink: 0;
  letter-spacing: 0.05em;
}

/* 質問文テキスト */
.faq-question {
  font-size: 1.05rem;
  font-weight: 700;
  color: #333333;
  line-height: 1.5;
  padding-right: 40px; /* アイコンと重ならないための余白 */
}

/* 右側のプラス・マイナスアイコン（CSSで綺麗に描画） */
.faq-icon {
  position: absolute;
  right: 24px;
  top: 50%;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}

/* 横線 */
.faq-icon::before {
  content: '';
  position: absolute;
  left: 0;
  top: 7px;
  width: 16px;
  height: 2px;
  background-color: #8c8270; /* 落ち着いたアースカラー */
  transition: transform 0.3s ease;
}

/* 縦線（これでプラスを作る） */
.faq-icon::after {
  content: '';
  position: absolute;
  left: 7px;
  top: 0;
  width: 2px;
  height: 16px;
  background-color: #8c8270;
  transition: transform 0.3s ease;
}

/* 開いたときに縦線を回転させて隠す（マイナスにするアニメーション） */
.faq-item.is-open .faq-icon::after {
  transform: rotate(90deg);
  opacity: 0;
}
.faq-item.is-open .faq-icon::before {
  background-color: #00896C; /* 開いた時は緑に */
}

/* 回答エリアのラッパー（アニメーション用制御） */
.faq-content {
  display: grid;
  grid-template-rows: 0fr; /* 初期状態は高さを0にする */
  transition: grid-template-rows 0.35s cubic-bezier(0.25, 1, 0.5, 1);
}

/* 開いたときに中身の高さ（1fr）まで滑らかに広げる（最新のCSSバニラ技） */
.faq-item.is-open .faq-content {
  grid-template-rows: 1fr;
}

/* 回答の内側コンテナ */
.faq-answer {
  overflow: hidden;
}

/* 実際の回答テキストエリア */
.faq-answer p {
  margin: 0;
  padding: 0 24px 24px 74px; /* 左余白を広げてQの真下にテキストが来ないように美しく整える */
  font-size: 0.95rem;
  color: #555555;
  line-height: 1.75;
}

/* --- スマホ対応レスポンシブ --- */
@media screen and (max-width: 640px) {
  .faq-trigger {
    padding: 18px 16px;
  }
  .faq-q-badge {
    margin-right: 12px;
    font-size: 0.9rem;
  }
  .faq-question {
    font-size: 0.95rem;
    padding-right: 30px;
  }
  .faq-icon {
    right: 16px;
  }
  .faq-answer p {
    padding: 0 16px 20px 16px; /* スマホ時は左余白を詰め、全体を広く使う */
    font-size: 0.9rem;
  }
}/* End custom CSS */