.hbfaq{
  --hbfaq-blue:#1477ff;
  --hbfaq-deep:#081a33;
  --hbfaq-sky:#eaf4ff;
  --hbfaq-orange:#ff9a3d;
  --hbfaq-gray:#667085;
  --hbfaq-line:#dce6f3;
  --hbfaq-bg:#f7faff;
  width:min(100% - 32px,1080px);
  margin:0 auto;
  padding:54px 0 80px;
  color:var(--hbfaq-deep);
  font-family:"Noto Sans JP","Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif;
}
.hbfaq *{box-sizing:border-box}
.hbfaq-hero{text-align:center;margin-bottom:30px}
.hbfaq-eyebrow{
  display:inline-flex;padding:7px 13px;border-radius:999px;
  background:var(--hbfaq-sky);color:var(--hbfaq-blue);
  font-size:12px;font-weight:900;letter-spacing:.04em
}
.hbfaq-hero h1{
  margin:12px 0 8px;font-size:clamp(32px,5vw,54px);
  line-height:1.2;letter-spacing:-.035em
}
.hbfaq-hero p{margin:0;color:var(--hbfaq-gray);font-size:15px}
.hbfaq-tools{
  position:sticky;top:10px;z-index:20;
  margin-bottom:24px;padding:16px;border:1px solid var(--hbfaq-line);
  border-radius:22px;background:rgba(255,255,255,.96);
  box-shadow:0 12px 30px rgba(8,26,51,.08);
  backdrop-filter:blur(12px)
}
.hbfaq-search-wrap{position:relative}
.hbfaq-search-icon{
  position:absolute;left:16px;top:50%;transform:translateY(-50%);
  color:var(--hbfaq-blue);font-size:22px;font-weight:900
}
.hbfaq-search{
  width:100%;height:54px;padding:0 18px 0 48px;
  border:2px solid var(--hbfaq-line);border-radius:15px;
  background:#fff;color:var(--hbfaq-deep);
  font-size:15px;font-weight:700;outline:none
}
.hbfaq-search:focus{border-color:var(--hbfaq-blue);box-shadow:0 0 0 4px rgba(20,119,255,.08)}
.hbfaq-categories{
  display:flex;flex-wrap:wrap;gap:8px;margin-top:12px
}
.hbfaq-category{
  min-height:38px;padding:0 14px;border:1px solid var(--hbfaq-line);
  border-radius:999px;background:#fff;color:#40556f;
  font-weight:800;cursor:pointer
}
.hbfaq-category.is-active{
  background:var(--hbfaq-blue);border-color:var(--hbfaq-blue);color:#fff
}
.hbfaq-list{display:grid;gap:12px}
.hbfaq-item{
  overflow:hidden;border:1px solid var(--hbfaq-line);border-radius:18px;
  background:#fff;box-shadow:0 7px 20px rgba(8,26,51,.055)
}
.hbfaq-question{
  width:100%;display:grid;grid-template-columns:42px minmax(0,1fr) 34px;
  gap:12px;align-items:center;padding:18px;
  border:0;background:#fff;color:var(--hbfaq-deep);
  text-align:left;cursor:pointer
}
.hbfaq-question:hover{background:#f9fcff}
.hbfaq-q,.hbfaq-a{
  display:grid;place-items:center;width:36px;height:36px;border-radius:11px;
  font-size:16px;font-weight:900;line-height:1
}
.hbfaq-q{background:var(--hbfaq-blue);color:#fff}
.hbfaq-a{background:var(--hbfaq-orange);color:#fff;flex:0 0 36px}
.hbfaq-question-text{font-size:16px;font-weight:900;line-height:1.55}
.hbfaq-toggle{
  display:grid;place-items:center;width:32px;height:32px;border-radius:50%;
  background:var(--hbfaq-sky);color:var(--hbfaq-blue);
  font-size:21px;font-weight:700;transition:.2s
}
.hbfaq-item.is-open .hbfaq-toggle{transform:rotate(45deg)}
.hbfaq-answer{border-top:1px solid var(--hbfaq-line);background:var(--hbfaq-bg)}
.hbfaq-answer-inner{display:flex;gap:14px;padding:18px}
.hbfaq-answer-content{min-width:0;color:#40556f;line-height:1.9;font-size:15px}
.hbfaq-answer-content>:first-child{margin-top:0}
.hbfaq-answer-content>:last-child{margin-bottom:0}
.hbfaq-empty,.hbfaq-no-results{
  padding:34px 20px;text-align:center;border:1px dashed var(--hbfaq-line);
  border-radius:18px;background:var(--hbfaq-bg);color:var(--hbfaq-gray)
}
.hbfaq-contact{
  display:grid;grid-template-columns:1fr auto;align-items:center;gap:20px;
  margin-top:34px;padding:26px;border-radius:22px;
  background:linear-gradient(135deg,#081a33,#123a6b);color:#fff
}
.hbfaq-contact strong{display:block;font-size:20px}
.hbfaq-contact p{margin:5px 0 0;color:#d9e7f5}
.hbfaq-contact-btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:50px;padding:0 22px;border-radius:14px;
  background:#fff;color:var(--hbfaq-blue)!important;
  font-weight:900;text-decoration:none
}
@media(max-width:640px){
  .hbfaq{width:min(100% - 22px,1080px);padding:36px 0 90px}
  .hbfaq-hero{margin-bottom:22px}
  .hbfaq-hero p{font-size:13px}
  .hbfaq-tools{top:6px;padding:12px;border-radius:17px}
  .hbfaq-search{height:50px;font-size:14px}
  .hbfaq-categories{
    flex-wrap:nowrap;overflow-x:auto;padding-bottom:3px;
    scrollbar-width:none
  }
  .hbfaq-categories::-webkit-scrollbar{display:none}
  .hbfaq-category{flex:0 0 auto;font-size:12px}
  .hbfaq-question{
    grid-template-columns:36px minmax(0,1fr) 30px;
    gap:9px;padding:15px 13px
  }
  .hbfaq-q,.hbfaq-a{width:32px;height:32px;font-size:14px}
  .hbfaq-question-text{font-size:14px}
  .hbfaq-toggle{width:28px;height:28px;font-size:18px}
  .hbfaq-answer-inner{padding:15px 13px;gap:10px}
  .hbfaq-answer-content{font-size:14px}
  .hbfaq-contact{grid-template-columns:1fr;padding:20px}
  .hbfaq-contact-btn{width:100%}
}
