.secondary-page .sp-training-main { padding-top:40px; }
.secondary-page .sp-training-feature { display:grid; grid-template-columns:440fr 820fr; min-height:248px; background:#eaf2f6; }
.secondary-page .sp-training-feature-image { display:block; min-width:0; height:248px; overflow:hidden; }
.secondary-page .sp-training-feature-image img { width:100%; height:100%; object-fit:cover; display:block; }
.secondary-page .sp-training-feature-content { position:relative; min-width:0; padding:21px 32px 21px 32px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
.secondary-page .sp-training-feature-topline { width:100%; display:flex; align-items:center; justify-content:space-between; gap:16px; }
.secondary-page .sp-training-feature-meta { font-size:13px; line-height:21px; font-weight:500; color:#216caf; }
.secondary-page .sp-training-status { flex-shrink:0; font-size:13px; line-height:21px; font-weight:500; color:#506b7d; }
.secondary-page .sp-training-feature-title { font-family:"Noto Sans SC",sans-serif!important; font-size:24px; font-weight:700; line-height:35px; margin:10px 0 0; color:#183a54; max-width:100%; }
.secondary-page .sp-training-feature-title a { color:inherit; }
.secondary-page .sp-training-feature-time { color:#216caf; font-weight:500; font-size:15px; line-height:24px; margin:10px 0 5px; }
.secondary-page .sp-training-feature-details { display:flex; flex-wrap:wrap; gap:2px 16px; }
.secondary-page .sp-training-feature-speaker,.secondary-page .sp-training-feature-location { color:#506b7d; font-size:14px; line-height:23px; margin:0; }
.secondary-page .sp-training-feature-content .sp-button { width:138px; margin-top:13px; min-height:36px; padding-top:5px; padding-bottom:5px; justify-content:space-between; }
.secondary-page .sp-training-main>.sp-container { display:flex; flex-direction:column; gap:32px; }
.secondary-page [data-training-feature]:empty { display:none; }
.secondary-page .sp-training-activity-area { display:grid; grid-template-columns:minmax(0,840fr) minmax(0,376fr); gap:44px; align-items:start; }
.secondary-page .sp-training-toolbar { display:flex; justify-content:space-between; align-items:flex-start; min-height:46px; gap:16px; }
.secondary-page .sp-training-list-title,.secondary-page .sp-training-calendar-title { font-size:22px; line-height:33px; }
.secondary-page .sp-training-filters { display:flex; align-items:center; gap:12px; padding-top:3px; }
.secondary-page .sp-training-filters select { appearance:none; border:0; background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='m1 1 4 4 4-4' fill='none' stroke='%23506b7d' stroke-width='1.1'/%3E%3C/svg%3E") right 50%/8px auto no-repeat; color:#506b7d; font-family:inherit; font-size:13px; line-height:22px; height:30px; padding:0 13px 0 0; cursor:pointer; width:auto; box-shadow:none; border-radius:0; }
.secondary-page .sp-training-filters select:focus-visible { outline:2px solid #00bddb; outline-offset:3px; }
.secondary-page .sp-training-sr { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.secondary-page .sp-training-row { display:grid; grid-template-columns:80px minmax(0,1fr) 138px; column-gap:23px; min-height:123px; border-bottom:1px solid #dbe7ed; padding:17px 20px 19px 0; }
.secondary-page .sp-training-date { position:relative; min-height:76px; }
.secondary-page .sp-training-date::after { content:""; position:absolute; top:5px; right:0; height:64px; width:1px; background:#dbe7ed; }
.secondary-page .sp-training-date>span { display:block; font-size:32px; color:#216caf; line-height:42px; font-weight:400; }
.secondary-page .sp-training-date>small { display:block; font-size:13px; line-height:21px; color:#506b7d; }
.secondary-page .sp-training-row-copy h3 { font-family:"Noto Sans SC",sans-serif!important; font-size:19px; font-weight:700; line-height:30px; margin:0; color:#183a54; }
.secondary-page .sp-training-row-copy p { margin:14px 0 0; color:#506b7d; font-size:14px; line-height:24px; }
.secondary-page .sp-training-row-end { display:flex; flex-direction:column; align-items:flex-end; gap:23px; color:#506b7d; font-size:13px; line-height:21px; }
.secondary-page .sp-training-row-end>a { display:flex; align-items:center; gap:20px; font-size:14px; line-height:24px; font-weight:500; color:#216caf; white-space:nowrap; }
.secondary-page .sp-training-archive { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:36px; font-size:13px; line-height:22px; color:#506b7d; }
.secondary-page .sp-training-archive>a { display:flex; align-items:center; gap:8px; font-size:14px; line-height:24px; font-weight:500; color:#216caf; }
.secondary-page .sp-training-calendar { position:relative; min-height:410px; background:#eaf2f6; padding:0 24px; }
.secondary-page .sp-training-calendar-title { position:absolute; top:21px; left:24px; margin:0; }
.secondary-page .sp-training-calendar-line { position:absolute; top:64px; left:24px; width:32px; height:2px; background:#00bddb; }
.secondary-page .sp-training-calendar-month { position:absolute; top:80px; left:24px; right:24px; height:40px; display:flex; align-items:center; justify-content:space-between; }
.secondary-page .sp-training-calendar-month strong { font-family:"Noto Sans SC",sans-serif!important; font-size:17px; font-weight:700; color:#183a54; line-height:27px; }
.secondary-page .sp-training-calendar-month button { appearance:none; background:none; border:0; width:22px; height:32px; font-size:24px; line-height:30px; color:#506b7d; padding:0; cursor:pointer; }
.secondary-page .sp-training-calendar-week { position:absolute; top:142px; left:18px; right:18px; display:grid; grid-template-columns:repeat(7,1fr); font-size:13px; line-height:21px; color:#506b7d; text-align:center; }
.secondary-page .sp-training-calendar-grid { position:absolute; top:174px; left:18px; right:18px; display:grid; grid-template-columns:repeat(7,1fr); grid-auto-rows:40px; place-items:center; }
.secondary-page .sp-training-calendar:has([data-weeks="6"]) { min-height:450px; }
.secondary-page .sp-training-calendar-day { appearance:none; display:flex; align-items:center; justify-content:center; width:32px; height:32px; border:0; padding:0; border-radius:5px; background:transparent; font-family:inherit; font-size:13px; line-height:21px; color:#506b7d; opacity:1; cursor:default; }
.secondary-page .sp-training-calendar-day.has-activity { background:#d4eaf0; color:#216caf; font-weight:700; cursor:pointer; }
.secondary-page .sp-training-calendar-day.is-emphasized { color:#fff; background:#1e3c78; }
.secondary-page .sp-training-calendar-day.has-activity:hover { box-shadow:0 0 0 2px #00bddb; }
.secondary-page .sp-training-calendar button:focus-visible { outline:2px solid #00bddb; outline-offset:3px; }
.secondary-page .sp-training-calendar-legend { position:absolute; bottom:25px; left:24px; right:24px; display:flex; align-items:center; gap:9px; font-size:13px; line-height:21px; color:#506b7d; margin:0; }
.secondary-page .sp-training-calendar-legend i { width:5px; height:5px; border-radius:50%; background:#00bddb; }
.secondary-page .sp-training-calendar-legend button { margin-left:auto; appearance:none; background:none; border:0; color:#216caf; font-family:inherit; font-size:13px; padding:0; cursor:pointer; }
.secondary-page .sp-training-empty { display:flex; flex-direction:column; justify-content:center; align-items:center; min-height:260px; padding:32px; text-align:center; background:#f7fafb; color:#506b7d; font-size:15px; line-height:26px; }
.secondary-page .sp-training-empty p { margin:0 0 16px; }
.secondary-page .sp-training-empty button { appearance:none; font-family:inherit; border:1px solid #dbe7ed; color:#216caf; font-size:14px; background:#fff; border-radius:3px; padding:8px 16px; cursor:pointer; }
.secondary-page .sp-training-reports { background:#eaf2f6; }
.secondary-page .sp-training-reports>.sp-container { display:flex; flex-direction:column; gap:24px; }
.secondary-page .sp-training-report-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.secondary-page .sp-training-report { display:flex; flex-direction:column; gap:14px; min-width:0; color:#183a54; background:#fff; }
.secondary-page .sp-training-report>img { display:block; width:100%; aspect-ratio:404/227; object-fit:cover; }
.secondary-page .sp-training-report>div { padding:20px; display:flex; flex-direction:column; gap:14px; }
.secondary-page .sp-training-report h3 { font-family:"Noto Sans SC",sans-serif!important; font-size:18px; line-height:29px; font-weight:700; margin:0; }
.secondary-page .sp-training-report time { color:#506b7d; font-size:13px; line-height:21px; }
.secondary-page .sp-training-report:hover h3,.secondary-page .sp-training-feature-title a:hover,.secondary-page .sp-training-row-copy a:hover { color:#216caf; }
@media(max-width:1200px) {
  .secondary-page .sp-training-feature { grid-template-columns:36% 64%; }
  .secondary-page .sp-training-feature-content { padding-right:24px; padding-left:28px; }
  .secondary-page .sp-training-feature-title { font-size:22px; line-height:33px; }
  .secondary-page .sp-training-status { right:28px; }
  .secondary-page .sp-training-activity-area { grid-template-columns:minmax(0,1fr) 320px; gap:28px; }
  .secondary-page .sp-training-row { grid-template-columns:68px minmax(0,1fr) 100px; column-gap:16px; padding-right:0; }
  .secondary-page .sp-training-row-copy h3 { font-size:17px; line-height:28px; }
  .secondary-page .sp-training-row-end>a { gap:10px; font-size:13px; }
}
@media(max-width:960px) {
  .secondary-page .sp-training-feature { grid-template-columns:1fr 1fr; }
  .secondary-page .sp-training-feature-content { padding:24px; }
  .secondary-page .sp-training-feature-image { height:100%; min-height:248px; }
  .secondary-page .sp-training-feature-meta { padding-right:58px; font-size:12px; }
  .secondary-page .sp-training-status { right:20px; top:24px; font-size:11px; }
  .secondary-page .sp-training-feature-title { font-size:21px; line-height:32px; min-height:0; }
  .secondary-page .sp-training-feature-time { font-size:14px; }
  .secondary-page .sp-training-feature-speaker,.secondary-page .sp-training-feature-location { font-size:13px; }
  .secondary-page .sp-training-activity-area { grid-template-columns:minmax(0,1fr) 280px; gap:24px; }
  .secondary-page .sp-training-toolbar { flex-wrap:wrap; padding-bottom:12px; }
  .secondary-page .sp-training-row { grid-template-columns:58px minmax(0,1fr); gap:12px; }
  .secondary-page .sp-training-row-end { grid-column:2; flex-direction:row; justify-content:space-between; align-items:center; gap:16px; }
  .secondary-page .sp-training-date { grid-row:1/3; }
  .secondary-page .sp-training-row-copy p { margin-top:8px; }
  .secondary-page .sp-training-report h3 { font-size:16px; line-height:27px; }
}
@media(max-width:760px) {
  .secondary-page .sp-training-feature { display:flex; flex-direction:column; }
  .secondary-page .sp-training-feature-image { height:auto; min-height:0; aspect-ratio:584/328; }
  .secondary-page .sp-training-feature-content { padding:24px; }
  .secondary-page .sp-training-feature-title { margin-top:16px; font-size:22px; line-height:34px; }
  .secondary-page .sp-training-feature-time { margin-top:16px; }
  .secondary-page .sp-training-activity-area { display:flex; flex-direction:column; gap:28px; }
  .secondary-page .sp-training-list { width:100%; }
  .secondary-page .sp-training-calendar { width:100%; max-width:376px; align-self:center; }
  .secondary-page .sp-training-report-grid { grid-template-columns:1fr; gap:24px; }
  .secondary-page .sp-training-report>img { aspect-ratio:16/9; }
  .secondary-page .sp-training-archive { align-items:flex-start; flex-wrap:wrap; gap:12px; }
  .secondary-page .sp-training-row-copy h3 { font-size:17px; }
  .secondary-page .sp-training-filters { gap:16px; }
}
