.cf-faq .cf-faq__inner {
 margin-top:45px;
 overflow:hidden
}
@media screen and (max-width:767px) {
 .cf-faq .cf-faq__inner {
  margin-top:18px;
  display:flex;
  flex-direction:column;
  padding:0 20px
 }
}
.cf-faq .cf-faq-nav {
 border-left:6px solid #efefef;
 padding-left:25px
}
.cf-faq .cf-faq-nav li {
 margin-bottom:2px
}
.cf-faq .cf-faq-nav__title {
 margin-bottom:7px
}
.cf-faq .cf-faq__dl dd,
.cf-faq .cf-faq__dl dt {
 position:relative;
 padding-left:35px
}
@media screen and (max-width:767px) {
 .cf-faq .cf-faq__dl dd,
 .cf-faq .cf-faq__dl dt {
  padding-left:25px
 }
}
.cf-faq .cf-faq__dl dt {
 margin-top:20px;
 padding-bottom:20px;
 cursor:pointer;
 padding-right:30px
}
.cf-faq .cf-faq__dl dt:after {
}
.cf-faq .cf-faq__dl dt.toggle {
 border-bottom:0
}
.cf-faq .cf-faq__dl dt.toggle:after {
 transform:rotate(270deg);
 -webkit-transform:rotate(270deg)
}
@media screen and (max-width:767px) {
 .cf-faq .cf-faq__dl dt {
  margin-top:25px
 }
 .cf-faq .cf-faq__dl dt:after {
  margin-top:-19px
 }
}
.cf-faq .cf-faq__dl dd {
 padding-bottom:20px;
 padding-right:40px;
 border-bottom:1px solid #ccc;
 transition:all .3s ease-out
}
.cf-faq .cf-faq__dl dd.visible {
 display:block
}
.cf-faq .cf-faq__dl dd:last-of-type {
 margin-bottom:45px
}
.cf-faq .cf-faq__dl span {
 font-size:1.3125rem;
 font-weight:700;
 position:absolute;
 left:0;
 top:0;
}
.cf-faq .cf-faq__dl dd span {
  color: #ff0000;
}
@media screen and (max-width:767px) {
 .cf-faq .cf-faq__dl span {
  font-size:1rem
 }
 .about-tr {
  display:block;
  padding:15px 0
 }
 .sp-tr {
  margin-top:50px
 }
}
#sec2,
#sec3,
#service {
 margin-bottom:40px
}
