/* ========== よくある質問ページ専用 CSS ========== */

/* リード文 */
.faq-lead{
  max-width:760px;
  margin:0 auto 60px;
  text-align:center;
  font-size:16px;
  line-height:2;
  color:var(--text-dark);
  letter-spacing:1px;
}

/* セクション本体 */
.faq-section{
  padding:20px 20px 80px;
  background:#fff;
}
.faq-section h2{
  font-size:28px;
  color:var(--brand-blue);
  letter-spacing:3px;
  text-align:center;
  margin:0 0 40px;
  font-family:"じゅん 501",sans-serif;
}

/* アコーディオン全体 */
.faq-accordion{
  max-width:880px;
  margin:0 auto;
}
.faq-accordion .accordion-item{
  background:#fff;
  border:1px solid #b8d3df;
  border-radius:8px !important;
  margin-bottom:16px;
  overflow:hidden;
}

/* 質問ボタン */
.faq-accordion .accordion-button{
  background:#eff8fd;
  color:var(--text-dark);
  font-family:"じゅん 501",sans-serif;
  font-size:16px;
  font-weight:700;
  letter-spacing:1px;
  padding:18px 24px 18px 64px;
  line-height:1.7;
  position:relative;
  box-shadow:none;
}
.faq-accordion .accordion-button:not(.collapsed){
  background:#cfe6ee;
  color:var(--text-dark);
}
.faq-accordion .accordion-button::before{
  content:"Q";
  position:absolute;
  left:20px;
  top:50%;
  transform:translateY(-50%);
  width:32px;height:32px;
  background:var(--brand-blue);
  color:#fff;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:"Poppins",sans-serif;
  font-size:18px;
  font-weight:800;
  line-height:1;
}
.faq-accordion .accordion-button:focus{
  border-color:#b8d3df;
  box-shadow:none;
}
.faq-accordion .accordion-button::after{
  background-size:1.1rem;
  width:1.1rem;height:1.1rem;
}

/* 回答エリア */
.faq-accordion .accordion-body{
  background:#fff;
  padding:20px 24px 24px 64px;
  font-size:15px;
  line-height:2;
  color:var(--text-dark);
  font-family:"じゅん 501",sans-serif;
  position:relative;
}
.faq-accordion .accordion-body::before{
  content:"A";
  position:absolute;
  left:20px;
  top:24px;
  width:32px;height:32px;
  background:#f4a300;
  color:#fff;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:"Poppins",sans-serif;
  font-size:18px;
  font-weight:800;
  line-height:1;
}
.faq-accordion .accordion-body p{
  margin:0 0 12px;
}
.faq-accordion .accordion-body p:last-child{
  margin-bottom:0;
}
.faq-accordion .accordion-body ul,
.faq-accordion .accordion-body ol{
  margin:8px 0 12px;
  padding-left:1.2em;
}
.faq-accordion .accordion-body li{
  padding:4px 0;
}

/* お問い合わせ誘導ボックス */
.faq-cta{
  max-width:880px;
  margin:48px auto 0;
  padding:28px 24px;
  background:#eff8fd;
  border:1px solid #b8d3df;
  border-radius:8px;
  text-align:center;
}
.faq-cta p{
  font-size:15px;
  line-height:1.9;
  color:var(--text-dark);
  margin:0 0 12px;
  font-family:"じゅん 501",sans-serif;
}
.faq-cta-tel{
  display:inline-block;
  font-size:28px;
  font-weight:800;
  color:var(--brand-blue);
  font-family:"Poppins",sans-serif;
  letter-spacing:2px;
  text-decoration:none;
  margin:8px 0 4px;
}
.faq-cta-tel:hover{color:var(--brand-blue);text-decoration:underline;}
.faq-cta-hours{
  font-size:13px;
  color:#6a6a6a;
  margin:0;
}

/* ========== タブレット (≤991.98px) ========== */
@media (max-width: 991.98px){
  .faq-section h2{font-size:24px;}
}

/* ========== スマホ (≤767.98px) ========== */
@media (max-width: 767.98px){
  .faq-section{padding:10px 16px 60px;}
  .faq-section h2{font-size:22px;}
  .faq-lead{font-size:14px;line-height:1.9;margin-bottom:40px;}
  .faq-accordion .accordion-button{
    font-size:14px;
    padding:14px 18px 14px 52px;
    letter-spacing:0.5px;
  }
  .faq-accordion .accordion-button::before{
    left:14px;
    width:26px;height:26px;
    font-size:15px;
  }
  .faq-accordion .accordion-body{
    font-size:13px;
    line-height:1.9;
    padding:16px 18px 18px 52px;
  }
  .faq-accordion .accordion-body::before{
    left:14px;
    top:20px;
    width:26px;height:26px;
    font-size:15px;
  }
  .faq-cta{padding:20px 16px;margin-top:32px;}
  .faq-cta p{font-size:13px;}
  .faq-cta-tel{font-size:22px;}
  .faq-cta-hours{font-size:11px;}
}
