.posRel {
  position: relative !important;
}
.posAbs {
  position: absolute !important;
}
.wls_faq {
  padding: 0 0 6% !important;
  overflow: hidden !important;
  background: #fdf8f1 !important;
}
.wls_faq .accord {
  width: 89.6% !important;
  margin: 0 auto 4.5% !important;
  overflow: hidden !important;
}
.wls_faq .accord_btn {
  cursor: pointer !important;
  background: #5e4c3e !important;
  color: #fff !important;
  display: flex !important;
  align-items: center !important;
  font-size: 24px !important;
  letter-spacing: 3px !important;
  line-height: 1.6 !important;
  min-height: 133px;
  padding: 0 4.8vw 0 1.2vw !important;
  border:1px solid #5e4c3e !important;

}
.wls_faq .accord_btn img{
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  font-size: 42px !important;

}

@media screen and (max-width: 750px) {
  .wls_faq .accord_btn{
    font-size: 3.6vw !important;
    letter-spacing: 0.4vw !important;
    min-height: 17.7333333333vw !important;
    padding: 0 9.5vw 0 0 !important;
  }
    .wls_faq .accord_btn img{
    font-size: 6vw !important;
    letter-spacing: -6.6vw !important;
    min-height: 0 !important;

  }

}
.wls_faq .accord_q{
  flex: 0 1 55px !important;
  padding: 0 2.8% 0 0 !important;
}
.wls_faq .accord_q img{
 width: 100% !important;
}

@media screen and (max-width: 750px) {
  .wls_faq .accord_q{
    flex: 0 1 10.3333333333vw !important;
  }
}
/* --- PC共通 --- */
.wls_faq .accord_q {
  flex-shrink: 0 !important;     /* ← 画像がテキストに押されて縮まないように */
  width: 55px !important;        /* ← 固定幅（必要ならmax/min-widthでもOK） */
}

.wls_faq .accord_q img {
  width: 100% !important;
  height: auto !important;
  display: block !important;

}

/* --- スマホ用（既存の文字サイズ等はそのまま） --- */
@media screen and (max-width: 750px) {
  .wls_faq .accord_q {
    width: 10.333vw !important;
    flex-shrink: 0 !important;
  }

  .wls_faq .accord_q img {
    width: 95% !important;
    height: auto !important;
    display: block !important;
   padding: 0 0 0 2.6vw !important;
  }
}

.wls_faq .accord_state {
  position: absolute !important;
  width: 7% !important;
  aspect-ratio: 1/1 !important;
  margin-top: -3.5% !important;

  border-radius: 50% !important;
  top: 50% !important;
  right: 3.3% !important;
}
.wls_faq .accord_state::before, .wls_faq .accord_state::after {
  position: absolute;
  content: "";
  display: block;
  width: 55%;
  inset: 0;
  margin: auto;
  height: 5px;
  background: #FFF;
}
@media screen and (max-width: 750px) {
  .wls_faq .accord_state::before, .wls_faq .accord_state::after {
    height: 0.6666666667vw;
  }
}
.wls_faq .accord_state::after {
  transform: rotate(90deg);
  transition: transform 0.5s;
}
.wls_faq .accord_contents {
  background: #fff;
  height: 0;
  overflow: hidden;
    border:1px solid #5e4c3e;
}
@media screen and (min-width: 751px) {
  .answer_row {
    display: flex !important;
    gap: 20px !important;
    margin: 20px 0 !important;
  }

  .accord_a {
    width: 55px !important;
    padding-left: 10px !important;
    flex: 0 0 auto !important;
  }

  .accord_a img {
    width: 100% !important;
    display: block !important;
  }

  .accord_text {
    flex: 1 !important;
    padding: 0 30px 0 0 !important;
    font-size: 24px !important;
    line-height: 1.9 !important;
    letter-spacing: 0.05em !important;
    text-align: justify !important;
  }
  .accord_a {
    width: 55px !important;
    height: 55px !important;
  }

  .accord_a img {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    object-fit: contain !important; /* 画像が変形しない */
  }
  .wls_faq .accord_smalltxt{
    font-size:0.65em !important;
    float:right !important;
}
}
@media screen and (max-width: 750px) {
 .answer_row {
    display: flex !important;
    gap: 3vw !important;
    align-items: flex-start !important;
  }

  /*.accord_a {
    width: 120px !important;
    padding: 15px 0px 0 12px !important;
  }*/
  .accord_a {
    width: 8vw !important;
    height: 8vw !important;
    padding: 6vw 0 0 2vw !important;
    flex-shrink: 0 !important;
  }

  .accord_a img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    display: block !important;
  }
  .accord_text {
    font-size: 3.4vw !important;
    line-height: 1.8 !important;
    margin: 20px 11px 10px -3px !important
  }
    .wls_faq .accord_smalltxt{
    font-size:0.65em !important;
    float:right !important;
    }
}


.wls_faq .accord_strong {
  background: #FFFFB9 !important;
}
.wls_faq .accord[data-status=open] .accord_state::after {
  transform: rotate(0deg) !important;
}

.wls_faq .accord_strong_red {
  color: #a53b07 !important;

}

.a_img img{
width:100% !important;
text-align:center !important;
margin: 3vw 0 0 0 !important;
}
.wls_faq_wrap {
  max-width: 750px !important;
  width: 100% !important;
  background: #fdf8f1 !important;
  margin: 0 auto !important;
  overflow: hidden !important;
  font-optical-sizing: auto !important;
  font-weight: 500 !important;
  font-style: normal !important;
}
.wls_faq_wrap img {
  display: block !important;
  vertical-align: bottom !important;
  width: 100% !important;
  height: auto !important;
}
.wls_faq_wrap p {
  margin: 0 !important;
}
