/* DEAR DOG v3.1.1 — First visit FAQ */
.first-faq-section{
  margin:56px 0 0!important;
  padding:0!important;
  background:transparent!important;
}
.first-faq-inner{
  width:100%!important;
  max-width:none!important;
  padding:0!important;
}
.first-faq-head{
  margin:0 0 22px!important;
}
.first-faq-head h2{
  margin:6px 0 10px!important;
  color:#49372d!important;
  font-family:"Hiragino Maru Gothic ProN","Yu Gothic","Hiragino Sans",sans-serif!important;
  font-size:clamp(30px,4vw,44px)!important;
  font-weight:800!important;
  line-height:1.35!important;
}
.first-faq-head>p:last-child{
  margin:0!important;
  color:#74655c!important;
  font-size:14px!important;
  line-height:1.8!important;
}
.faq-list{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
}
.faq-list details{
  overflow:hidden!important;
  border:1px solid #eadbd0!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:none!important;
}
.faq-list summary{
  position:relative!important;
  display:block!important;
  padding:18px 52px 18px 20px!important;
  color:#49372d!important;
  font-size:15px!important;
  font-weight:800!important;
  line-height:1.6!important;
  cursor:pointer!important;
  list-style:none!important;
}
.faq-list summary::-webkit-details-marker{display:none!important}
.faq-list summary:after{
  content:"＋"!important;
  position:absolute!important;
  right:18px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:28px!important;
  height:28px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:50%!important;
  background:#eaf6ef!important;
  color:#58a879!important;
  font-size:18px!important;
  font-weight:700!important;
}
.faq-list details[open] summary:after{content:"−"!important}
.faq-list details[open] summary{border-bottom:1px solid #f0e4db!important}
.faq-answer{
  padding:17px 20px 20px!important;
  background:#fffaf5!important;
}
.faq-answer p{
  margin:0!important;
  color:#66584f!important;
  font-size:14px!important;
  line-height:1.9!important;
}
.faq-answer strong{color:#49372d!important}
.faq-policy-answer .faq-policy-intro{
  margin:0 0 14px!important;
}
.faq-policy-list{
  margin:0!important;
  padding:0!important;
  list-style:none!important;
  counter-reset:policy!important;
  display:grid!important;
  gap:10px!important;
}
.faq-policy-list li{
  counter-increment:policy!important;
  position:relative!important;
  padding:13px 14px 13px 48px!important;
  border:1px solid #eadfd6!important;
  border-radius:12px!important;
  background:#fff!important;
}
.faq-policy-list li:before{
  content:counter(policy)!important;
  position:absolute!important;
  left:14px!important;
  top:13px!important;
  width:24px!important;
  height:24px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:50%!important;
  background:#f7e8dc!important;
  color:#8b5c3d!important;
  font-size:12px!important;
  font-weight:800!important;
}
.faq-policy-list strong,
.faq-policy-list span{
  display:block!important;
}
.faq-policy-list strong{
  margin-bottom:4px!important;
  color:#49372d!important;
  font-size:14px!important;
  line-height:1.55!important;
}
.faq-policy-list span{
  color:#66584f!important;
  font-size:13px!important;
  line-height:1.8!important;
}
.faq-contact{
  margin-top:22px!important;
  padding:22px!important;
  border:1px solid #dcebe2!important;
  border-radius:14px!important;
  background:#f4fbf7!important;
}
.faq-contact>p{
  margin:0 0 16px!important;
  color:#5c514a!important;
  font-size:14px!important;
  line-height:1.8!important;
}
.faq-contact-actions{
  display:flex!important;
  gap:10px!important;
  flex-wrap:wrap!important;
}
.faq-contact-actions .cta{
  min-height:48px!important;
  padding:0 18px!important;
  border-radius:11px!important;
  font-size:14px!important;
  font-weight:800!important;
}
.faq-contact-actions .faq-phone{
  border:1px solid #b8dfc7!important;
  background:#fff!important;
  color:#3f7659!important;
}
@media(max-width:640px){
  .first-faq-section{margin-top:42px!important}
  .first-faq-head h2{font-size:31px!important}
  .faq-list{gap:8px!important}
  .faq-list summary{padding:16px 46px 16px 16px!important;font-size:14px!important}
  .faq-list summary:after{right:14px!important;width:26px!important;height:26px!important}
  .faq-answer{padding:15px 16px 17px!important}
  .faq-answer p{font-size:13px!important;line-height:1.85!important}
  .faq-policy-list li{padding:12px 12px 12px 44px!important}
  .faq-policy-list li:before{left:12px!important;top:12px!important;width:22px!important;height:22px!important;font-size:11px!important}
  .faq-policy-list strong{font-size:13px!important}
  .faq-policy-list span{font-size:12.5px!important;line-height:1.75!important}
  .faq-contact{padding:18px 16px!important}
  .faq-contact-actions{display:grid!important;grid-template-columns:1fr!important}
  .faq-contact-actions .cta{width:100%!important;justify-content:center!important}
}
