/* === 青明塾 トップバナー v2（フラット構造） === */
.sm-banners{max-width:980px;margin:24px auto;display:flex;flex-direction:column;gap:20px;padding:0 12px;}
.sm-banner{position:relative;border-radius:14px;overflow:hidden;color:#fff;
  background-size:cover;background-position:center;box-shadow:0 10px 26px rgba(20,50,76,.18);
  display:flex;flex-direction:column;align-items:flex-start;gap:9px;padding:7% 8%;
  font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;}
.sm-banner::before{content:"";position:absolute;inset:0;z-index:0;}
.sm-banner>*{position:relative;z-index:1;}

.sm-summer{aspect-ratio:934/471;background-color:#2E7BC4;background-image:url('/upload/tenant_1/bg-summer-campaign.png');}
.sm-summer::before{background:linear-gradient(90deg,rgba(11,52,99,.50) 0%,rgba(11,52,99,.30) 40%,rgba(11,52,99,0) 64%);}
.sm-testprep{aspect-ratio:943/426;background-color:#16365F;background-image:url('/upload/tenant_1/bg-test-prep.png');}
.sm-testprep::before{background:linear-gradient(90deg,rgba(8,24,52,.60) 0%,rgba(8,24,52,.30) 46%,rgba(8,24,52,0) 72%);}

.sm-ribbon{display:inline-block;background:linear-gradient(135deg,#F39B3D,#E07D1E);font-weight:700;font-size:.95rem;letter-spacing:.05em;padding:5px 16px;border-radius:999px;}
.sm-pre{display:block;font-size:1.05rem;font-weight:500;text-shadow:0 2px 8px rgba(11,40,70,.55);}
.sm-title{display:block;font-size:2.9rem;font-weight:900;line-height:1.05;text-shadow:0 3px 12px rgba(11,40,70,.5);}
.sm-title .sm-y{color:#F5C24B;font-weight:900;}
.sm-lead{display:block;font-size:1.15rem;font-weight:700;text-shadow:0 2px 8px rgba(11,40,70,.55);}
.sm-badge{display:inline-block;background:rgba(255,255,255,.92);color:#1B4F8A;font-size:.8rem;font-weight:700;line-height:1.35;padding:5px 11px;border-radius:8px;}
.sm-sub{display:block;font-size:.9rem;font-weight:500;text-shadow:0 2px 8px rgba(11,40,70,.55);}
.sm-cta{display:inline-block;background:linear-gradient(135deg,#F39B3D,#E07D1E);color:#fff;font-size:1.05rem;font-weight:700;padding:11px 24px;border-radius:999px;text-decoration:none;margin-top:4px;}

.sm-tp-label{display:inline-block;border:1px solid rgba(255,255,255,.55);background:rgba(255,255,255,.14);font-size:.9rem;font-weight:700;padding:4px 15px;border-radius:999px;}
.sm-tp-title{display:block;font-size:2.6rem;font-weight:900;line-height:1.12;text-shadow:0 3px 12px rgba(6,20,45,.6);}
.sm-tp-title2{display:block;font-size:2.6rem;font-weight:900;line-height:1.12;color:#F5C24B;text-shadow:0 3px 12px rgba(6,20,45,.6);}
.sm-tp-formula{display:block;font-size:1.05rem;font-weight:700;text-shadow:0 2px 8px rgba(6,20,45,.6);}
.sm-cta-gold{display:inline-block;background:linear-gradient(135deg,#F5C24B,#E0A92E);color:#3a2c05;font-size:1.05rem;font-weight:900;padding:11px 28px;border-radius:999px;text-decoration:none;margin-top:8px;}

@media (max-width:600px){
  .sm-summer,.sm-testprep{aspect-ratio:auto;min-height:210px;}
  .sm-title,.sm-tp-title,.sm-tp-title2{font-size:1.8rem;}
  .sm-lead{font-size:.95rem;}
  .sm-badge{font-size:.66rem;}
  .sm-pre,.sm-sub,.sm-tp-formula{font-size:.8rem;}
  .sm-cta,.sm-cta-gold{font-size:.9rem;padding:9px 18px;}
  .sm-banner{gap:6px;padding:6% 7%;}
}
