
* { box-sizing: border-box; font-family: 'Mont', 'Montserrat', sans-serif; margin: 0; padding: 0; }

.rh-cp-faq { width: 100%; background: #ffffff; }
.rh-cp-faq-wrap { max-width: 1600px; margin: 0 auto; padding: 56px 80px 72px; }

.rh-cp-h2 { font-size: clamp(20px, 2.4vw, 28px); font-weight: 600; color: #262626; line-height: 1.2; border-top: 3px solid #BFD8B3; padding: 20px 0 0 0; margin: 0 0 24px 0; }

.rh-cp-faq-list { display: flex; flex-direction: column; gap: 10px; margin: 28px 0 0; }
.rh-cp-faq-item { background: #f7f7f7; border-radius: 14px; overflow: hidden; }
.rh-cp-faq-q {
  font-size: 15px; font-weight: 600; color: #262626;
  padding: 18px 22px;
  display: flex; justify-content: space-between; align-items: flex-start; gap: 14px;
  cursor: pointer;
  user-select: none;
}
.rh-cp-faq-q::after { content: '+'; font-size: 20px; color: #99AD8F; flex-shrink: 0; line-height: 1; transition: transform 0.2s; }
.rh-cp-faq-item.open .rh-cp-faq-q::after { transform: rotate(45deg); }
.rh-cp-faq-a {
  font-size: 14px; font-weight: 600; color: #585858; line-height: 1.7;
  padding: 0 22px;
  border-top: 1px solid #eeeeee;
  max-height: 0; overflow: hidden; display: block;
  transition: max-height 0.35s ease, padding 0.2s ease;
}
.rh-cp-faq-item.open .rh-cp-faq-a { max-height: 600px; padding: 16px 22px 18px; border-top: 1px solid #eeeeee; }
.rh-cp-faq-item:not(.open) .rh-cp-faq-a { border-top: none; }

@media (max-width: 960px) { .rh-cp-faq-wrap { padding-left: 40px; padding-right: 40px; } }
@media (max-width: 600px) { .rh-cp-faq-wrap { padding: 40px 20px 56px; } .rh-cp-faq-q { font-size: 14px; } }
