.public-hero { background:linear-gradient(120deg,#f7fbff,#eaf3ff); border-bottom:1px solid #e0ebfa; }
.public-hero-row { display:grid; grid-template-columns:minmax(0,1fr) 100px; gap:48px; align-items:center; padding-block:34px 40px; }
.public-breadcrumb { display:flex; gap:10px; align-items:center; margin-bottom:18px; color:#627795; font-size:14px; }
.public-hero h1 { font-size:clamp(30px,4vw,42px); line-height:1.35; margin-bottom:16px; }
.public-hero-row>div>p { color:#516886; line-height:1.9; font-size:17px; }
.public-hero-row>img { width:88px; height:88px; object-fit:contain; }
.public-hero-row>div>.public-date { margin-top:15px; font-size:13px; }
.public-faq { padding-block:36px 60px; }
.public-faq>h2 { font-size:26px; margin-bottom:10px; }
.public-lead { color:#60728e; line-height:1.8; }
.public-topics { display:flex; flex-wrap:wrap; gap:12px; margin-block:24px; }
.public-topics a { border:1px solid #d7e5f8; border-radius:8px; padding:10px 16px; background:#f7fbff; }
.public-qa-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:1fr; gap:24px; align-items:stretch; }
.public-qa-grid .qa-card { display:flex; flex-direction:column; }
.qa-category { color:var(--blue); font-size:13px; font-weight:700; margin-bottom:14px; }
.public-detail { margin-top:auto; padding-top:18px; align-self:flex-start; font-size:14px; }
.public-next { background:#eef5ff; border-radius:16px; padding:28px; margin-top:32px; }
.public-next h2 { font-size:24px; margin-bottom:10px; }
.public-next p { color:#60728e; line-height:1.9; margin-bottom:20px; }
.public-next .button { margin:0 12px 8px 0; }
.public-document { display:grid; grid-template-columns:260px minmax(0,1fr); gap:40px; align-items:start; }
.public-toc { position:sticky; top:90px; border:1px solid #d7e5f8; border-radius:12px; padding:20px; background:#f9fcff; }
.public-toc h2 { font-size:19px; margin-bottom:16px; }
.public-toc a { display:block; color:#42638d; font-size:14px; line-height:1.8; padding-block:7px; }
.public-notice { padding:20px; border:1px solid #ead7a8; border-radius:10px; background:#fffaf0; }
.public-notice strong { color:#76561c; }
.public-notice p { margin-top:8px; font-size:14px; line-height:1.9; color:#715e3a; }
.public-policy h2 { font-size:23px; line-height:1.55; margin-bottom:12px; }
.public-policy section { scroll-margin-top:100px; }
.public-policy section p { line-height:2; color:#50647e; }
.public-crosslinks { display:flex; flex-wrap:wrap; gap:18px; padding-top:24px; margin-top:32px; border-top:1px solid #d7e5f8; }
.public-faq [id] { scroll-margin-top:100px; }
@media(max-width:850px) { .public-document { grid-template-columns:1fr; gap:20px; } .public-toc { position:static; } .public-toc nav { display:flex; flex-wrap:wrap; column-gap:18px; } .public-toc h2 { width:100%; } }
@media(max-width:600px) { .public-qa-grid { grid-template-columns:1fr; gap:18px; } .public-hero-row { grid-template-columns:1fr; gap:16px; } .public-hero-row>img { display:none; } .public-next { padding:22px; } .public-next h2 { font-size:21px; } }
