/* 教室ブログ（/blog/）用の足し分。土台は ../kaiketsu/knowledge.css */
.article a { color: var(--green-deep); word-break: break-all; }
.article strong { color: var(--green-deep); }
.article h3 { color: var(--green-deep); }
.article-cta .shop { margin: 0 0 14px; }
.article-cta .btn-main {
    background: #fbf8f2; color: var(--green-deep);
    font-size: 1.1rem; padding: 15px 26px; width: 100%; max-width: 380px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, .18);
}
.article-cta .tel a { font-size: 1.05rem; font-family: inherit; font-weight: 700; text-decoration: underline; }
.post-nav { margin: 0 0 24px; font-size: .92rem; }
.post-nav p { margin: 0 0 8px; }
.post-nav a { color: var(--green-deep); font-weight: 700; }
.article-card .tag { white-space: nowrap; }

/* ---- 2026-10-08 絵と図解（build_blog.py の ![説明](画像)・```流れ／チェック／ポイント） ---- */
.article .figure { margin: 22px 0 26px; }
.article .figure img { display: block; width: 100%; height: auto; border-radius: 14px; background: #f3efe6; }
.article .figure.hero { margin: 4px 0 24px; }
.flow { margin: 22px 0 28px; padding: 18px 16px 8px; background: #f4f8f4; border-radius: 16px; }
.flow-title, .check-title, .point-title { margin: 0 0 12px; font-family: "Zen Maru Gothic", sans-serif; font-weight: 900; font-size: 1.08rem; color: var(--green-deep); }
.flow ol { list-style: none; margin: 0; padding: 0; }
.flow-step { position: relative; display: flex; gap: 12px; align-items: flex-start; background: #fff; border: 1px solid #dfe8e0; border-radius: 12px; padding: 12px 14px; margin: 0 0 26px; }
.flow-step::after { content: ""; position: absolute; left: 50%; bottom: -21px; transform: translateX(-50%); border: 9px solid transparent; border-top: 12px solid #9bb8a6; }
.flow-step:last-child { margin-bottom: 10px; }
.flow-step:last-child::after { display: none; }
.flow-num { flex: none; display: inline-grid; place-items: center; width: 32px; height: 32px; border-radius: 999px; background: var(--green-deep); color: #fff; font-weight: 700; font-size: .95rem; }
.flow-step strong { display: block; font-size: 1.02rem; line-height: 1.5; color: #2f3b35; }
.flow-step div > span { display: block; margin-top: 2px; font-size: .93rem; line-height: 1.6; color: #4f5c56; }
.flow-step.warn { background: #fdf0ec; border-color: #f0c9bd; }
.flow-step.warn .flow-num { background: #c9563f; }
.check-card { margin: 22px 0 28px; padding: 18px 18px 8px; background: #fff7e0; border: 2px solid #e8c766; border-radius: 16px; }
.check-card ul { list-style: none; margin: 0; padding: 0; }
.check-card li { position: relative; padding: 0 0 12px 34px; line-height: 1.65; }
.check-card li::before { content: ""; position: absolute; left: 0; top: .2em; width: 20px; height: 20px; border: 2px solid #b9902a; border-radius: 5px; background: #fff; }
.point-card { margin: 22px 0 28px; padding: 16px 18px 6px; background: #e9f1ea; border-left: 6px solid var(--green-deep); border-radius: 12px; }
.point-card p { margin: 0 0 10px; }
.article-card .card-thumb { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 10px; margin: 0 0 10px; background: #f3efe6; }
.flow-step .flow-num { color: #fff; }
