/* トップの特集入口。特集ごとに同じリンク構造を追加する。 */
.guide-banners { margin-top: 20px; display: grid; gap: 20px; }
.guide-banner { display: grid; grid-template-columns: 1fr 1fr; align-items: center; background: #edf6fc; border: 1px solid #c9deef; border-radius: 12px; overflow: hidden; color: #1f2937; text-decoration: none; }
.guide-banner__image { background: #fff; align-self: stretch; display: flex; align-items: center; }
.guide-banner__image img { width: 100%; height: auto; }
.guide-banner__body { padding: 26px 22px; }
.guide-banner h3 { font-size: 25px; line-height: 1.5; font-weight: 900; letter-spacing: -.02em; }
.guide-banner p { margin-top: 12px; font-size: 13px; line-height: 1.9; }
.guide-banner__action { display: inline-block; background: #ffe400; color: #332f00; border-radius: 4px; padding: 11px 12px; margin-top: 20px; font-size: 13px; font-weight: 700; }
.guide-banner:hover { border-color: #1867c0; }
.guide-banner:hover .guide-banner__action { background: #fff063; }
.guide-banner:focus-visible { outline: 3px solid #d61439; outline-offset: 5px; }
.guide-banner--compact { grid-template-columns: 34% 1fr; }
.guide-banner--compact .guide-banner__image { position: relative; min-height: 230px; }
.guide-banner--compact .guide-banner__image img { position: absolute; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.guide-banner--compact .guide-banner__body { padding: 22px 28px; }
.guide-banner--compact h3 br { display: none; }
.guide-banner--compact .guide-banner__action { margin-top: 14px; }
@media(max-width: 600px) { .guide-banner { grid-template-columns: 1fr; } .guide-banner__body { padding: 23px; } .guide-banner h3 { font-size: 25px; } .guide-banner__image img { max-height: 230px; object-fit: contain; } }
@media(max-width: 600px) { .guide-banner--compact { grid-template-columns: 1fr; } .guide-banner--compact .guide-banner__image { min-height: 140px; height: 140px; } .guide-banner--compact .guide-banner__image img { height: 140px; object-fit: cover; } .guide-banner--compact .guide-banner__body { padding: 18px 20px; } .guide-banner--compact h3 { font-size: 22px; } }
.guide-banner--erasure .guide-banner__image img { object-fit: contain; }

/* トップからコラム一覧への入口 */
.guide-column-link { display: flex; flex-wrap: wrap; justify-content: center; align-items: baseline; gap: 2px 12px; margin-top: 24px; font-size: 14px; color: var(--gray); text-align: center; }
.guide-column-link a { color: var(--blue-heading); font-size: 16px; font-weight: 700; text-underline-offset: 4px; }
