.flex_box {
    align-items: center;
}
.flex_box .col_2 {
    width: 50%;
    padding: 0 .5rem;
}
.day_cover {
    border: 5px solid #fba1c2;
    padding: .5rem 1rem;
    width: 100%;
    max-width: 400px;
}

dl.base dd .day_cover p {
    padding-bottom: 0;
    text-align: center;
}
dl.base dd .day_cover p span {
    font-weight: bold;
}
/* 全体のコンテナ設定 */
.faq-list {
  max-width: 1024px;
  margin: 0 auto;
  padding: 20px;
  font-family: 'Helvetica Neue', Arial, 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', Meiryo, sans-serif;
  color: #333;
}

/* 個別の質問・回答ブロック（カード風デザイン） */
.faq-item {
  background-color: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  margin-bottom: 20px;
  padding: 20px 24px;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

/* ホバー時のちょっとしたアニメーション（リッチ感を演出） */
.faq-item:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.08), 0 4px 6px -2px rgba(0, 0, 0, 0.04);
}

/* 質問（Q）のスタイル */
.faq-item dt {
  font-size: 1.1rem;
  margin-bottom: 16px;
  line-height: 1.5;
  position: relative;  /* 変更: アイコン配置の基準点にする */
  padding-left: 36px;  /* 追加: Qアイコンが入るスペースを左に確保 */
  display: block;      /* 変更: flexを解除して横並びバグを防止 */
}

/* 「Q.」アイコンの自動付与 */
.faq-item dt::before {
  content: "Q.";
  color: #2563eb;
  font-size: 1.4rem;
  font-weight: 800;
  position: absolute;  /* 変更: 左側の余白部分に固定 */
  left: 0;
  top: 0px;            /* 1行目と高さが合うように調整 */
  line-height: 1.2;
}

/* 質問テキスト（strongタグ）の調整 */
.faq-item dt strong{
  font-weight: 700;
  /* display: inline-block; を削除して自然な改行に */
}

/* 回答（A）のスタイル */
.faq-item dd {
  margin: 0;
  padding-top: 16px;
  border-top: 1px dashed #cbd5e1;
  line-height: 1.6;
  position: relative;  /* 変更: アイコン配置の基準点にする */
  padding-left: 36px;  /* 追加: Aアイコンが入るスペースを左に確保 */
  display: block;      /* 変更: flexを解除して横並びバグを防止 */
}

/* 「A.」アイコンの自動付与 */
.faq-item dd::before {
  content: "A.";
  color: #ea580c;
  font-size: 1.4rem;
  font-weight: 800;
  position: absolute;  /* 変更: 左側の余白部分に固定 */
  left: 0;
  top: 16px;           /* padding-topの16px分だけ開始位置を下げる */
  line-height: 1.2;
}

/* 回答テキスト（strongタグ）の調整 */
.faq-item dd strong {
  font-weight: bold;
  color: #475569;
  /* display: inline-block; を削除して自然な改行に */
}
.soso_box{
margin: .5em auto;
padding: .5em 1em;
background-color: #f2efe9;
}
.soso_box p span.price{
color: #DB0044;
font-weight: 700;
}
dl.base dd {
    margin-bottom: 1rem;
}

/* --- スマートフォン用レスポンシブ --- */
@media (max-width: 768px) {
    .flex_box .col_2 {
        width: 100%;
        padding: 0;
    }
    .flex_box .col_2:last-child {
        margin-top: 1rem;
    }
    .day_cover {
        padding: .5rem;
    }
    .faq-item {
    padding: 16px;
  }
  .faq-item dt, .faq-item dd {
    font-size: 1rem;
  }
  .faq-item dt::before, .faq-item dd::before {
    font-size: 1.2rem;
    margin-right: 8px;
  }
}