@charset "UTF-8";
/* AUTHOR:t-styles */

/* ================================
   Q&A（質問・回答）セクションのスタイル
   ================================ */

.qa-container {
  width: 100%;
  margin: 1rem auto 6rem;
}

.qa-2nd {
  color: var(--navy);
  font-size: 2rem;
  font-weight: 700;
  position: relative;
  padding-left: 3rem; /* 左側のアイコンをスペースで分ける */
}

.qa-2nd::before {
  content: "\1F4AC"; /* "💬" の絵文字を使用 */
  position: absolute;
  left: 0;
  top: 0.1rem;
  font-size: 1.8rem;
  opacity: 0.9;
}

.qa-item {
  border: 1px solid var(--blue);
  border-radius: 6px;
  margin-bottom: 2rem;
  overflow: hidden;
  background: #ffffff;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
}

/* 質問部分 */
.qa-question {
  position: relative;
  background: var(--blue); /* 青色の背景 */
  color: #ffffff;
  padding: 1.6rem 5.6rem 1.6rem 5.6rem;

  cursor: pointer;
  font-weight: 600;
}

/* Qアイコンの前に追加する "Q" */
.qa-question::before {
  content: "Q";
  position: absolute;
  left: 1.8rem;
  top: 50%;
  transform: translateY(-50%);
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.25);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  font-weight: 700;
}

/* "+" ボタンのスタイル */
.qa-question::after {
  content: "+";
  position: absolute;
  right: 1.8rem;
  top: 50%;
  transform: translateY(-50%);
  font-size: 2.0rem;
  font-weight: 700;
  opacity: 0.9;
  transition: transform 0.25s ease, opacity 0.25s ease;
}

.qa-question:hover {
  background: var(--navy); /* ホバー時の背景色 */
}

/* 回答部分 */
.qa-answer {
  position: relative;
  background: #f8f8f8;
  color: var(--c-text);
  padding: 0 2rem 0 5.6rem; /* 左側にスペースを作る */

  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition:
    max-height 0.32s cubic-bezier(0.4, 0, 0.2, 1),
    opacity 0.32s cubic-bezier(0.4, 0, 0.2, 1),
    padding 0.25s ease;       /* padding の変更 */
}

/* 回答部分に "A" アイコンを追加 */
.qa-answer::before {
  content: "A";
  position: absolute;
  left: 1.8rem;
  top: 1.8rem;
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 50%;
  background: var(--blue);
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  font-weight: 700;
}

/* 展開された状態の回答 */
.qa-item.is-open .qa-answer {
  max-height: 1000px;
  padding-top: 1.6rem;
  padding-bottom: 1.8rem;
  opacity: 1;
}

.qa-item.is-open .qa-answer {
  padding: 1.6rem 2rem 1.8rem 5.6rem; /* 展開後のパディング */
  max-height: 1000px;
  opacity: 1;
}
