/* HHC 共通お問い合わせCTA — [hhc_contact_cta] 専用 */
.hhc-contact-cta {
  box-sizing: border-box;
  max-width: 100%;
  margin: 56px auto 44px;
  padding: 32px 30px;
  background: #f7faf8;
  border: 1px solid #dae8df;
  border-radius: 18px;
  color: #183e32;
  text-align: center;
}
.hhc-contact-cta *, .hhc-contact-cta *::before, .hhc-contact-cta *::after {box-sizing: border-box;}
.hhc-contact-cta__heading {display:flex;align-items:center;justify-content:center;gap:10px;margin:0;}
.hhc-contact-cta__heading svg {flex:none;color:#287454;}
.hhc-contact-cta__heading h2 {font-size:clamp(19px,2vw,24px);font-weight:700;line-height:1.5;margin:0;padding:0;border:0;color:#183e32;}
.hhc-contact-cta__heading h2::before,.hhc-contact-cta__heading h2::after {display:none;}
.hhc-contact-cta__description {font-size:15px;line-height:1.8;color:#526b60;margin:14px auto 22px;max-width:650px;}
.hhc-contact-cta__actions {display:flex;justify-content:center;gap:14px;max-width:690px;margin:0 auto;}
.hhc-contact-cta__button {display:flex;align-items:center;justify-content:center;gap:10px;flex:1;min-height:54px;padding:12px 18px;border-radius:10px;font-size:16px;font-weight:700;line-height:1.5;text-decoration:none !important;transition:background-color .18s,border-color .18s,box-shadow .18s,transform .18s;}
.hhc-contact-cta__button svg {flex:none;}
.hhc-contact-cta__button--form {background:#287454;color:#fff !important;border:1px solid #287454;box-shadow:0 2px 6px rgba(25,69,48,.10);}
.hhc-contact-cta__button--form:hover,.hhc-contact-cta__button--form:focus-visible {background:#1c5f44;border-color:#1c5f44;color:#fff !important;}
.hhc-contact-cta__button--line {background:#fff;color:#287454 !important;border:1.5px solid #287454;}
.hhc-contact-cta__button--line:hover,.hhc-contact-cta__button--line:focus-visible {background:#edf6f0;color:#1d6748 !important;}
.hhc-contact-cta__button:focus-visible {outline:3px solid #b4d9c5;outline-offset:3px;}
@media(max-width:600px) {
  .hhc-contact-cta {margin:36px auto 30px;padding:24px 18px;border-radius:14px;}
  .hhc-contact-cta__heading {gap:8px;}
  .hhc-contact-cta__heading h2 {font-size:20px;}
  .hhc-contact-cta__description {font-size:14px;margin:12px auto 18px;}
  .hhc-contact-cta__actions {flex-direction:column;gap:10px;}
  .hhc-contact-cta__button {min-height:50px;font-size:15px;}
}
