#faq *{
  line-height: 1.5;
}
#faq p {
    margin-top: 0;
    margin-bottom: 1rem;
}
#faq a {
  color: #007bff;
  text-decoration: none;
  background-color: transparent;
  -webkit-text-decoration-skip: objects;
}
#faq a:hover {
  color: #0056b3;
  text-decoration: underline !important;
}
#faq .bold {
  font-weight: bold;
}
.policy_box {
  margin: 30px 0;
}
.policy_box dt {
  font-size: 18px;
  font-weight: bold;
}
.policy_box ol{
margin: 20px 0 0 40px;
}
.policy_box ol li{
margin-bottom: 15px;
}
#faq ul {
  margin: 0 0 1rem 1.5rem;
  padding: 0;
  list-style-type: disc;
}
#faq ul li {
  margin-bottom: 0.5rem;
  line-height: 1.6;
}

#faq .faq-divider {
  border-top: 1px solid #ccc; 
  margin: 1rem 0;
}
#faq .faq-plan-list {
  margin: 0 0 1rem 2.5rem;
  padding: 0;
  list-style-type: disc;
}

#faq .faq-plan-list li {
  margin-bottom: 0.5rem;
  line-height: 1.6;
}

#faq .faq-divider {
  border-top: 1px dashed #000;
  width: 40%;
  margin: 1rem 0;
}
#faq h3 {
  margin-top: 2rem; 
  margin-bottom: 1.5rem;
}
#faq .faq-item {
  margin-bottom: 2rem;   /* 各Q&Aブロックの余白 */
  padding-bottom: 1rem;  /* 内側のゆとり */
}
#faq .faq-answer .faq-label {
  display: inline-block;
  width: 2em;       /* A. の幅を固定 */
  font-weight: bold;
}
#faq .faq-answer .faq-text {
  display: inline-block;
  width: calc(100% - 2.5em); /* 残りを本文に */
  vertical-align: top;
}
.dd-detail-head-title {
  margin: 15px 25px;
}
#faq {
  padding: 0 13px;
}
#faq p strong {
  margin-top: 1.5em;
  display: block;
}
#faq h3 strong {
  color: #1c4095;
}
#faq img {
  border: 1px solid #ccc;
  margin-top: 1em;
}
@media (max-width: 767px) {
  #faq .faq-answer .faq-label {
    width: auto; 
  }
}