.faq-section{
  max-width:1120px;
  margin:0 auto;
  padding-top:58px;
  padding-bottom:72px;
}
.faq-intro{
  max-width:760px;
  margin:0 auto 30px;
  color:#cfcfcf;
  text-align:center;
  font:400 15px/1.9 var(--serif);
}
.faq-list{
  border-top:1px solid #555;
}
.faq-list details{
  border-bottom:1px solid #555;
}
.faq-list summary{
  position:relative;
  padding:22px 58px 22px 8px;
  cursor:pointer;
  color:#fff;
  list-style:none;
  font:600 18px/1.65 var(--serif);
}
.faq-list summary::-webkit-details-marker{
  display:none;
}
.faq-list summary::before{
  content:"Q";
  display:inline-grid;
  place-items:center;
  width:30px;
  height:30px;
  margin-right:16px;
  background:var(--yellow);
  color:#050505;
  font:700 15px/1 var(--sans);
  vertical-align:middle;
}
.faq-list summary::after{
  content:"＋";
  position:absolute;
  top:50%;
  right:10px;
  color:var(--yellow);
  font:400 26px/1 var(--sans);
  transform:translateY(-50%);
}
.faq-list details[open] summary::after{
  content:"−";
}
.faq-list details p{
  max-width:880px;
  margin:-4px 58px 22px 54px;
  color:#dedede;
  font:400 15px/1.9 var(--serif);
}
.faq-list summary:focus-visible{
  outline:2px solid var(--yellow);
  outline-offset:4px;
}
@media(max-width:650px){
  .faq-section{padding-top:48px;padding-bottom:54px}
  .faq-intro{text-align:left;font-size:14px}
  .faq-list summary{padding:18px 44px 18px 0;font-size:16px}
  .faq-list summary::before{width:27px;height:27px;margin-right:10px}
  .faq-list summary::after{right:0}
  .faq-list details p{margin:0 0 20px 37px;font-size:14px}
}
