
/* ===== PROGRAM v2: 前年度型 2コース並列カード ===== */
#courses .inner{ width: 70vw; }
.pg2-grid{ display:grid; grid-template-columns:1fr 1fr; gap:34px; align-items:start; }
.pg2-course{
  background:#ffffff; border-radius:22px; overflow:hidden;
  box-shadow:0 10px 28px rgba(31,74,51,.12); border:1px solid #dcebe2;
}
.pg2-head{ padding:26px 28px 20px; text-align:center; }
.pg2-course--next .pg2-head{ background:#f7c948; color:#3d2f00; }
.pg2-course--analysis .pg2-head{ background:#8fd3ec; color:#093a4e; }
.pg2-head h3{ margin:0 0 10px; font-size:1.6rem; font-weight:800; line-height:1.4; letter-spacing:.01em; }
.pg2-head .pg2-form{
  display:inline-block; background:rgba(255,255,255,.85); border-radius:999px;
  padding:6px 18px; font-size:.95rem; font-weight:700;
}
.pg2-stats{ display:grid; grid-template-columns:1fr 1fr 1.6fr; border-bottom:1px solid #e9efeb; }
.pg2-stat{ padding:18px 10px; text-align:center; border-right:1px solid #e9efeb; }
.pg2-stat:last-child{ border-right:none; }
.pg2-stat span{ display:block; font-size:.8rem; color:#7a8a80; margin-bottom:4px; }
.pg2-stat strong{ font-size:1.3rem; font-weight:800; color:#1c2a22; line-height:1.3; }
.pg2-stat--wide strong{ font-size:1.02rem; }
.pg2-body{ padding:24px 28px 30px; }
.pg2-aud h4{
  margin:0 0 10px; font-size:1.05rem; font-weight:800; color:#1c2a22;
  padding-left:12px; border-left:4px solid #46b279;
}
.pg2-course--next .pg2-aud h4{ border-left-color:#e8b62b; }
.pg2-course--analysis .pg2-aud h4{ border-left-color:#4fb3d9; }
.pg2-aud ul{ list-style:none; margin:0 0 20px; padding:0; }
.pg2-aud li{
  position:relative; padding:5px 0 5px 26px; font-size:.98rem; line-height:1.75; color:#33413a;
}
.pg2-aud li::before{
  content:"✓"; position:absolute; left:2px; top:5px; font-weight:800; color:#46b279;
}
.pg2-lect-note{
  margin:0 0 20px; padding:12px 16px; background:#eef7fb; border-radius:12px;
  font-size:.95rem; font-weight:700; color:#093a4e;
}
.pg2-chapter{
  margin:22px 0 6px; padding:10px 16px; border-radius:10px;
  font-size:1.02rem; font-weight:800; letter-spacing:.02em;
}
.pg2-course--next .pg2-chapter{ background:#fdf3d3; color:#5a4500; }
.pg2-course--analysis .pg2-chapter{ background:#e2f3fa; color:#093a4e; }
.pg2-row{
  display:grid; grid-template-columns:52px 62px 1fr; gap:11px; align-items:center;
  padding:13px 4px; border-bottom:1px dashed #dfe7e2;
}
.pg2-row:last-child{ border-bottom:none; }
.pg2-num{
  display:flex; align-items:center; justify-content:center;
  width:44px; height:44px; border-radius:50%;
  font-weight:800; font-size:1.05rem; color:#1c2a22; background:#fff;
  border:2.5px solid #46b279; line-height:1.1; text-align:center;
}
.pg2-course--next .pg2-num{ border-color:#e8b62b; }
.pg2-course--analysis .pg2-num{ border-color:#4fb3d9; }
.pg2-row--sp .pg2-num{
  font-size:.68rem; background:#1c2a22; color:#fff; border-color:#1c2a22;
}
.pg2-month{ font-size:.92rem; font-weight:700; color:#5a6b60; text-align:center; }
.pg2-theme{ min-width:0; }
.pg2-theme strong{ display:block; font-size:1.08rem; font-weight:800; color:#1c2a22; line-height:1.55; }
.pg2-theme small{ display:block; font-size:.86rem; color:#6a7a70; line-height:1.6; margin-top:2px; }
.pg2-theme .pg2-tag{
  display:inline-block; font-size:.95rem; font-weight:800; color:#1c2a22;
  background:#f2f6f3; border-radius:999px; padding:6px 16px;
}
.pg2-teacher{ display:block; font-style:normal; font-size:.82rem; color:#8a9a90; margin-top:3px; }
.pg2-venue{ display:inline-block; font-size:.72rem; font-weight:700; color:#4f6a5c; background:#eef4f0; border-radius:5px; padding:2px 9px; margin-bottom:6px; }
.pg2-course--analysis .pg2-venue{ background:#e6f3f9; color:#0d5066; }
.pg2-month small{ display:block; font-size:.72rem; font-weight:600; color:#9aa79f; margin-top:1px; }
.pg2-note{ margin:20px 0 0; font-size:.88rem; color:#6a7a70; line-height:1.8; }
.pg2-common-note{ margin:26px 0 0; text-align:center; font-size:.92rem; color:#5a6b60; }
@media (max-width: 980px){
  #courses .inner{ width: 92vw; }
  .pg2-grid{ grid-template-columns:1fr; gap:30px; }
}
@media (max-width: 480px){
  .pg2-body{ padding:20px 16px 24px; }
  .pg2-row{ grid-template-columns:46px 54px 1fr; gap:8px; }
}
