@charset "utf-8";
.hero { padding: 10px 0 6px; }
.hero .catch { font-weight: 700; font-size: 1.15rem; line-height: 1.5; margin-bottom: 6px; }
.hero .sub { margin: 0 0 10px; }
.badge {
    background-color: #eff6fa;
    box-shadow: -8px 0 8px -2px rgba(45, 50, 55, 0.2);
    display: inline-block;
    margin: 0 0 12px 20px;
    padding: 4px 10px;
    font-size: .9rem;
    }
.leadbox{
    background: #fafafa;
    border: 1px solid #eee;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.06);
    padding: 12px;
    margin: 12px 0;
}
.leadbox .leadhead{
    margin-bottom: 0.5rem;
}
.toc {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 18px 24px 18px 24px;
}
.toc a{
    display:inline-block;
    padding: 8px 12px;
    border: 1px solid #ddd;
    border-radius: 999px;
    text-decoration: none;
}
.toc a:hover{
    background-color: #eff6fa;
}
.kpi { background:#fff; border:1px solid #eee; border-radius:10px; padding:12px; margin:12px 0; }
.kpi h4 { margin: 0 0 8px; }
.note { font-size: .92rem; opacity: .9; }
.qa { margin: 12px 0; border: 1px solid #eee; border-radius: 10px; overflow: hidden; }
.qa details { padding: 10px 12px; border-top: 1px solid #eee; background: #fff; }
.qa details:first-child { border-top: 0; }
.qa summary { cursor: pointer; font-weight: 700; }
.placehold { background: #fff8e6; border: 1px dashed #e6c56a; border-radius: 8px; padding: 10px; margin: 8px 0; }
.cta { margin: 18px 0; display: grid; gap: 10px; }
.cta .line_link a, .cta .tel_link a { display:block; padding: 12px; border-radius: 12px; text-decoration: none; text-align:center; font-weight: 700; }
.cta .line_link a img { height: 18px; vertical-align: middle; margin-right: 6px; }
.two-col { display: grid; grid-template-columns: 1fr; gap: 12px; }
@media (min-width: 800px){ .two-col { grid-template-columns: 1fr 1fr; } }