
/* ===== PRE-COURSE v2: 公開講座(前年度チラシ構造) ===== */
.pc2-title{
  margin:10px 0 20px; padding:18px 12px;
  border-top:7px double #1c2a22; border-bottom:7px double #1c2a22;
  text-align:center; font-size:clamp(1.35rem,2.6vw,2.1rem); font-weight:800;
  color:#1c2a22; line-height:1.6; letter-spacing:.02em;
}
.pc2-chips{ display:flex; justify-content:center; gap:12px; flex-wrap:wrap; margin:0 0 22px; }
.pc2-chips span{
  display:inline-block; padding:7px 20px; border-radius:999px;
  border:1.5px solid #46b279; color:#2c8659; font-size:.9rem; font-weight:700; background:#fff;
}
.pc2-hero{
  display:grid; grid-template-columns:1fr 1.35fr; gap:28px; align-items:center;
  background:#edf7f1;
  border:1px solid #dcece2;
  border-radius:26px; padding:28px 38px; color:#1c2a22;
}
.pc2-date__badge{
  display:inline-block; background:#46b279; color:#fff; border-radius:999px;
  padding:7px 22px; font-size:.95rem; font-weight:800; margin-bottom:16px;
}
.pc2-date__num {
    display: block;
    font-family: 'Poppins', sans-serif;
    font-weight: 800;
    font-size: clamp(2.8rem, 5.6vw, 4rem);
    line-height: 1.1;
    letter-spacing: .01em;
    color: #1d5a3c;
}
.pc2-date__num small{ font-size:.36em; font-weight:800; margin-left:.18em; }
.pc2-date__time{
  display:block; font-size:clamp(1.3rem,2.2vw,1.8rem); font-weight:800; margin-top:8px; letter-spacing:.04em;
  color:#1d5a3c;
}
.pc2-date__note{ display:block; margin-top:14px; font-size:.82rem; color:#7a8a80; }
.pc2-about{
  background:#fff; border:1px solid #e0eee6;
  border-radius:18px; padding:20px 24px; color:#33413a;
  box-shadow:0 6px 18px rgba(31,74,51,.06);
}
.pc2-about h4{
  margin:0 0 12px; font-size:.85rem; font-weight:800; letter-spacing:.14em;
  color:#2c8659;
}
.pc2-about p{ margin:0; font-size:.95rem; line-height:1.85; color:#33413a; }
.pc2-venue2{
  background:#f7fbf8; border:1px solid #e0eee6; border-radius:20px; padding:26px 30px;
  color:#1c2a22; display:flex; flex-direction:column;
}
.pc2-venue2 h4{
  margin:0 0 14px; font-size:1.1rem; font-weight:800; color:#1c2a22;
  padding-left:12px; border-left:4px solid #46b279;
}
.pc2-venue2 strong{ display:block; font-size:1.45rem; font-weight:800; margin-bottom:8px; }
.pc2-venue2 p{ margin:0 0 12px; font-size:.92rem; line-height:1.8; color:#4a5a50; }
.pc2-map{ margin-top:16px; border-radius:14px; overflow:hidden; border:1px solid #dfe9e2; flex:1; min-height:230px; }
.pc2-map iframe{ display:block; width:100%; height:100%; min-height:230px; border:0; }
.pc2-venue h4{
  margin:0 0 10px; font-size:.85rem; font-weight:800; color:#2c8659; letter-spacing:.12em;
}
.pc2-venue strong{ display:block; font-size:1.5rem; font-weight:800; margin-bottom:8px; }
.pc2-venue p{ margin:0 0 12px; font-size:.92rem; line-height:1.8; color:#4a5a50; }
.pc2-venue__online{
  display:inline-block; background:#eef7f1; color:#2c8659; border-radius:999px;
  padding:5px 16px; font-size:.82rem; font-weight:700;
}
.pc2-cols {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 44px;
    margin-top: 44px;
    align-items: stretch;
}
.pc2-copy p{ margin:0; font-size:1.02rem; line-height:2.1; color:#33413a; }
.pc2-flow{
  background:#f7fbf8; border:1px solid #e0eee6; border-radius:20px; padding:24px 30px 18px;
  display:flex; flex-direction:column; margin-top:30px;
}
.pc2-flow h4{
  margin:0 0 16px; font-size:1.1rem; font-weight:800; color:#1c2a22;
  padding-left:12px; border-left:4px solid #46b279;
}
.pc2-flow-row{
  display:grid; grid-template-columns:118px 1fr; gap:14px; align-items:center;
  padding:9px 2px; border-bottom:1px dashed #d7e6dc;
}
.pc2-flow-row span{ display:flex; justify-content:space-between; align-items:baseline; gap:18px; flex-wrap:wrap; }
.pc2-flow-row:last-child{ border-bottom:none; }
.pc2-flow-row time{ font-size:.95rem; font-weight:800; color:#2c8659; letter-spacing:.02em; }
.pc2-flow-row span{ font-size:.98rem; font-weight:700; color:#1c2a22; line-height:1.7; }
.pc2-flow-note{ margin:auto 0 0; padding-top:14px; font-size:.8rem; color:#7a8a80; }
.pc2-flow-who{ display:inline; font-size:.78rem; font-weight:600; color:#7a8a80; margin:0; white-space:nowrap; }
.pc2-cta__deadline{ margin:0 0 18px; font-size:1rem; font-weight:800; color:#1d5a3c; letter-spacing:.04em; }
.pc2-cta__deadline strong{ font-size:1.45em; margin-left:.35em; }
.pc2-cta {
    margin-top: 2rem;
    text-align: center;
    margin-bottom: 2rem;
}
.pc2-cta .pc2-cta__btn{
  display:inline-block; min-width:min(480px,90%); padding:20px 40px; border:none; border-radius:999px;
  background:linear-gradient(135deg,#2e9e69,#46b279); color:#fff; text-decoration:none;
  font-size:1.15rem; font-weight:800; letter-spacing:.04em;
  box-shadow:0 10px 26px rgba(31,74,51,.28); cursor:pointer; opacity:1;
  transition:transform .2s ease, box-shadow .2s ease;
}
.pc2-cta .pc2-cta__btn:hover{ transform:translateY(-2px); box-shadow:0 14px 32px rgba(31,74,51,.34); }
.pc2-cta__sub{
  display:inline-block; margin-top:16px; color:#2c8659; font-weight:700;
  font-size:.95rem; text-decoration:underline; text-underline-offset:4px;
}
.pc2-cta__note{ margin:16px 0 0; font-size:.88rem; color:#6a7a70; }
@media (max-width: 900px){
  .pc2-hero{ grid-template-columns:1fr; padding:32px 26px; gap:24px; }
  .pc2-cols{ grid-template-columns:1fr; gap:28px; }
  .pc2-flow-row{ grid-template-columns:96px 1fr; }
}
