*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;-webkit-text-size-adjust:100%}
body{font-family:"Trebuchet MS","PingFang SC","Microsoft YaHei",sans-serif;color:#111;line-height:1.65;background:#fff7d6}
img{max-width:100%;height:auto;display:block}
a{color:#111;text-decoration:none}
ul{list-style:none}
button{font-family:inherit}
.container{width:min(1080px,92vw);margin:0 auto}

.site-header{position:sticky;top:0;z-index:40;border-bottom:3px solid #111}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.65rem 0}
.logo{display:flex;align-items:center;gap:.45rem;font-weight:800;font-size:.92rem}
.logo-mark{width:28px;height:28px;border:3px solid #111;border-radius:50%;background:#ff4d8d;display:grid;place-items:center;font-size:.7rem;color:#fff}
.nav-main{display:flex;flex-wrap:wrap;gap:.35rem}
.nav-main a{border:3px solid #111;padding:.28rem .75rem;font-size:.75rem;font-weight:800;background:#fff}
.nav-main a.active{background:#111;color:#fff}
.btn-nav{border:3px solid #111;background:#ffe14d;padding:.32rem .85rem;font-weight:800;font-size:.75rem}

.section{padding:2.4rem 0}
.section-title{font-size:clamp(1.2rem,2.8vw,1.55rem);font-weight:800;margin-bottom:.35rem}
.section-lead{font-size:.88rem;margin-bottom:1.15rem;max-width:640px}

.footer{border-top:3px solid #111;padding:1.8rem 0 0;font-size:.78rem;background:#fff}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:1.2rem;margin-bottom:1rem}
.footer h3{font-size:.82rem;margin-bottom:.4rem}
.footer-links{display:flex;flex-wrap:wrap;gap:.3rem .65rem}
.footer-links a{border-bottom:2px solid #111}
.footer-bottom{border-top:3px solid #111;padding:.7rem 0;text-align:center;font-size:.7rem}

.faq-list{display:flex;flex-direction:column;gap:.55rem}
.faq-item{border:3px solid #111;background:#fff}
.faq-q{width:100%;text-align:left;padding:.8rem 1rem;font-weight:800;font-size:.86rem;background:transparent;border:none;cursor:pointer;display:flex;justify-content:space-between;gap:.6rem}
.faq-q::after{content:"+";font-size:1.1rem}
.faq-item.open .faq-q::after{content:"−"}
.faq-a{display:none;padding:0 1rem .85rem;font-size:.82rem}
.faq-item.open .faq-a{display:block}

.btn-flat{display:inline-block;border:3px solid #111;background:#ff4d8d;color:#fff;padding:.5rem 1.05rem;font-weight:800;font-size:.82rem}
.btn-ghost{display:inline-block;border:3px solid #111;background:#fff;padding:.5rem 1.05rem;font-weight:800;font-size:.82rem}

.chara{width:76px;height:76px;border:3px solid #111;border-radius:50%;position:relative;flex-shrink:0}
.chara i,.chara b{position:absolute;width:10px;height:10px;border-radius:50%;background:#111;top:26px}
.chara i{left:18px}
.chara b{right:18px}
.chara::after{content:"";position:absolute;width:22px;height:10px;border:3px solid #111;border-top:none;border-radius:0 0 14px 14px;left:50%;bottom:16px;transform:translateX(-50%)}
.chara.p{background:#ff4d8d}
.chara.b{background:#5b8cff}
.chara.y{background:#ffe14d}
.chara.m{background:#7cffb2}

@media(max-width:768px){
  .header-inner{flex-wrap:wrap}
  .footer-grid{grid-template-columns:1fr}
}
