.abc-guide { max-width: 1060px; margin: 22px auto 54px; color: #172c26; line-height: 1.75; }
.abc-guide a { color: #20584a; }
.abc-header { padding: clamp(20px, 4vw, 38px); border-radius: 18px; background: #eaf3ed; margin-bottom: 22px; }
.abc-header .abc-label { margin: 8px 0 3px; color: #245346; font-size: 13px; font-weight: 700; }
.abc-header h1 { margin: 0 0 9px; color: #172c26; font-size: clamp(25px, 5vw, 39px); line-height: 1.28; }
.abc-header p:last-child { margin-bottom: 0; }
.abc-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.abc-guide .abc-tile { display: block; overflow: hidden; border: 1px solid #d4e2d9; border-radius: 14px; background: #fff; text-decoration: none; }
.abc-tile:hover { box-shadow: 0 4px 18px #16372b22; }
.abc-tile img { display: block; width: 100%; height: 166px; object-fit: cover; }
.abc-tile > span { display: block; padding: 14px 16px; }
.abc-tile strong, .abc-tile span span { display: block; }
.abc-tile strong { font-size: 17px; }
.abc-tile span span { color: #42594e; font-size: 14px; }
.abc-article { max-width: 760px; margin: 0 auto 25px; padding: clamp(16px, 4vw, 32px); background: #fff; border: 1px solid #d4e2d9; border-radius: 14px; font-size: 16px; }
.abc-article figure { margin: 0 0 23px; }
.abc-article figure img { display: block; max-width: 100%; max-height: 470px; margin: auto; border-radius: 10px; object-fit: contain; }
.abc-article figcaption { margin-top: 6px; color: #526459; font-size: 13px; text-align: center; }
.abc-article h2 { margin: 22px 0 8px; font-size: 21px; color: #172c26; }
.abc-article ol, .abc-article ul { padding-left: 1.5em; }
.abc-article ol { list-style: decimal; }
.abc-article ul { list-style: disc; }
.abc-article li { margin-bottom: 7px; }
.abc-article a, .abc-header a { text-decoration: underline; text-underline-offset: 3px; }
.abc-guide a:focus-visible { outline: 2px solid #245346; outline-offset: 3px; }
@media (max-width: 580px) { .abc-nav { grid-template-columns: minmax(0, 1fr); } }
.abc-sabin {
    margin-top: 26px;
    padding: clamp(16px, 4vw, 24px);
    border-left: 4px solid #32745c;
    border-radius: 10px;
    background: #eaf3ed;
    color: #172c26;
}
.abc-article .abc-sabin h2 { margin-top: 0; }
.abc-sabin a { font-weight: 700; }
