/* class-cta.css … 元は parts/class-cta.php の中の <style>（2026-11-07 にここへ移した）。読み込みは parts/class-cta.php の同じ場所の gembaroid_part_css( 'class-cta' ) */
.class-cta { padding-top: 0; }
.class-cta .class-cta__box { max-width: 960px; margin: 0 auto; padding: 32px 24px; border-radius: var(--wx-r-box, 8px); background: #f2f7fc; text-align: center; }
.class-cta .class-cta__ttl { font-size: 1.8rem; font-weight: 700; letter-spacing: .05em; line-height: 1.5; margin: 0 0 8px; }
.class-cta .class-cta__desc { font-size: 1.4rem; line-height: 1.9; letter-spacing: .05em; margin: 0 0 20px; }
.class-cta .class-cta__btns { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; }
.class-cta .class-cta__btns .btn-general { margin: 0; }
.class-cta .class-cta__stories { max-width: 960px; margin: 48px auto 0; }
.class-cta .class-cta__stories-ttl { font-size: 2rem; font-weight: 700; letter-spacing: .05em; line-height: 1.5; text-align: center; margin: 0 0 24px; }
/* 事例が1件のページでも、2件並ぶときと同じ大きさ（横に二つ分）にして中央に置く */
.class-cta .class-cta__cards { display: flex; flex-wrap: wrap; justify-content: center; gap: 24px; margin: 0; padding: 0; }
.class-cta .class-cta__cards > li { list-style: none; flex: 0 1 calc((100% - 24px) / 2); }
.class-cta .class-cta__card { display: flex; flex-direction: column; height: 100%; border: 1px solid var(--c-line-dark); border-radius: var(--wx-r-box, 8px); background: #fff; color: #000; text-decoration: none; overflow: hidden; transition: border-color .2s; }
.class-cta .class-cta__card:hover { border-color: var(--c-blue); }
.class-cta .class-cta__thumb { display: block; aspect-ratio: 16 / 9; overflow: hidden; background: #f2f7fc; }
.class-cta .class-cta__thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.class-cta .class-cta__card-bd { display: block; padding: 16px 20px 20px; }
.class-cta .class-cta__card-ttl { display: block; font-size: 1.6rem; font-weight: 600; line-height: 1.6; letter-spacing: .05em; color: var(--c-blue); margin: 0 0 8px; }
.class-cta .class-cta__card-desc { display: block; font-size: 1.3rem; line-height: 1.8; letter-spacing: .05em; }
.class-cta .class-cta__more { margin: 24px 0 0; text-align: center; font-size: 1.4rem; letter-spacing: .05em; }
.class-cta .class-cta__more a { color: var(--c-blue); text-decoration: none; }
.class-cta .class-cta__more a:hover { text-decoration: underline; }
@media screen and (max-width: 750px) { .class-cta .class-cta__box { padding: 24px 16px; } .class-cta .class-cta__stories { margin-top: 40px; } .class-cta .class-cta__cards > li { flex-basis: 100%; } }
