@charset "utf-8";

.site-lec-board {
  width: min(1460px, calc(100% - 48px)) !important;
  margin: 0 auto 72px;
  color: #11213e;
}

.site-lec-board__hero {
  margin: 0 auto 28px;
  padding: 36px 30px;
  border-radius: 30px;
  background:
    radial-gradient(circle at top right, rgba(111, 76, 255, 0.14), transparent 28%),
    radial-gradient(circle at top left, rgba(36, 198, 220, 0.12), transparent 30%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(245, 248, 255, 0.98));
  border: 1px solid rgba(72, 103, 182, 0.12);
  box-shadow:
    0 28px 68px rgba(20, 34, 67, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.82);
  text-align: center;
}

.site-lec-board__hero--compact {
  padding: 26px;
}

.site-lec-board__eyebrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 0 14px;
  border-radius: 999px;
  background: rgba(49, 88, 202, 0.08);
  color: #2554bf;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.18em;
}

.site-lec-board__title {
  margin: 12px 0 0;
  color: #12213e;
  font-size: clamp(2rem, 3vw, 3.1rem);
  font-weight: 900;
  letter-spacing: -0.04em;
}

.site-lec-board__copy {
  width: min(860px, 100%);
  margin: 18px auto 0;
  color: #566886;
  line-height: 1.85;
  font-size: clamp(1rem, 1.15vw, 1.08rem);
}

.site-lec-board__summary {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 22px;
}

.site-lec-board__summary-item,
.site-lec-board__summary-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 18px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid rgba(72, 103, 182, 0.12);
  color: #1f335f;
  font-size: 14px;
  font-weight: 700;
  box-shadow: 0 12px 30px rgba(20, 34, 67, 0.06);
}

.site-lec-board__summary-link:hover {
  color: #ffffff;
  background: linear-gradient(135deg, #2b57d9, #28a8de);
}

.site-lec-board__categories {
  margin-bottom: 22px;
}

.site-lec-board__category-list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.site-lec-board__category-list li {
  margin: 0;
}

.site-lec-board__category-list a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 18px;
  border-radius: 999px;
  background: #ffffff;
  border: 1px solid rgba(72, 103, 182, 0.12);
  color: #21355d;
  font-weight: 700;
  box-shadow: 0 14px 32px rgba(20, 34, 67, 0.06);
}

.site-lec-board__category-list #bo_cate_on,
.site-lec-board__category-list a:hover {
  color: #ffffff;
  background: linear-gradient(135deg, #2658dc, #2ab0db);
}

.site-lec-board__toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 28px;
}

.site-lec-board__search {
  display: grid;
  grid-template-columns: 170px minmax(0, 1fr) 110px;
  gap: 12px;
  align-items: center;
  flex: 1;
  min-width: 0;
}

.site-lec-board__search select,
.site-lec-board__search input {
  width: 100%;
  min-height: 54px;
  padding: 0 18px;
  border: 1px solid rgba(74, 103, 182, 0.14);
  border-radius: 18px;
  background: #ffffff;
  color: #1d2b4c;
  font-size: 15px;
  box-shadow: 0 16px 34px rgba(20, 34, 67, 0.05);
}

.site-lec-board__search button,
.site-lec-board__action,
.site-lec-board__batch-actions button,
.site-lec-entry__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 0 22px;
  border: 0;
  border-radius: 18px;
  background: linear-gradient(135deg, #275ada, #26abd8);
  color: #ffffff;
  font-size: 15px;
  font-weight: 800;
  box-shadow: 0 18px 34px rgba(39, 90, 218, 0.2);
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}

.site-lec-board__search button:hover,
.site-lec-board__action:hover,
.site-lec-board__batch-actions button:hover,
.site-lec-entry__button:hover {
  transform: translateY(-2px);
  box-shadow: 0 24px 40px rgba(39, 90, 218, 0.24);
  filter: saturate(1.04);
}

.site-lec-board__actions,
.site-lec-board__batch-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.site-lec-board__action--ghost {
  background: #ffffff;
  color: #1f335f;
  border: 1px solid rgba(74, 103, 182, 0.14);
  box-shadow: 0 14px 32px rgba(20, 34, 67, 0.06);
}

.site-lec-board__batch {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 22px;
  padding: 16px 18px;
  border-radius: 20px;
  background: rgba(248, 250, 255, 0.92);
  border: 1px solid rgba(74, 103, 182, 0.12);
}

.site-lec-board__batch-all {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #24355c;
  font-weight: 700;
}

.site-lec-board__timeline {
  display: flex;
  flex-direction: column;
  gap: 22px;
}

.site-lec-entry {
  position: relative;
  display: grid;
  grid-template-columns: 168px minmax(0, 1fr);
  gap: 22px;
  padding: 22px;
  border-radius: 28px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(247, 250, 255, 0.99));
  border: 1px solid rgba(84, 114, 190, 0.12);
  box-shadow:
    0 24px 60px rgba(20, 34, 67, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.78);
  transition: transform .24s ease, box-shadow .24s ease;
}

.site-lec-entry:hover {
  transform: translateY(-4px);
  box-shadow:
    0 30px 68px rgba(20, 34, 67, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.82);
}

.site-lec-entry.is-notice {
  background:
    radial-gradient(circle at top right, rgba(255, 214, 116, 0.2), transparent 24%),
    linear-gradient(180deg, rgba(255, 254, 248, 0.99), rgba(247, 250, 255, 0.99));
}

.site-lec-entry__check {
  position: absolute;
  top: 18px;
  right: 18px;
  z-index: 3;
}

.site-lec-entry__date-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 100%;
  padding: 22px 14px;
  border-radius: 24px;
  background:
    radial-gradient(circle at top right, rgba(255, 255, 255, 0.26), transparent 28%),
    linear-gradient(160deg, #214ebd 0%, #3377f3 48%, #20b3d1 100%);
  color: #ffffff;
  box-shadow: 0 20px 44px rgba(33, 78, 189, 0.24);
  text-align: center;
}

.site-lec-entry__year {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.16em;
  opacity: 0.86;
}

.site-lec-entry__day {
  font-size: clamp(2rem, 2.3vw, 2.5rem);
  font-weight: 900;
  line-height: 1;
  letter-spacing: -0.04em;
}

.site-lec-entry__label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.18);
  font-size: 12px;
  font-weight: 700;
}

.site-lec-entry__body {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.site-lec-entry__top,
.site-lec-entry__meta,
.site-lec-entry__stats,
.site-lec-entry__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

.site-lec-entry__top {
  justify-content: space-between;
}

.site-lec-entry__badge,
.site-lec-entry__chip,
.site-lec-entry__writer,
.site-lec-entry__stats span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(39, 90, 218, 0.06);
  color: #385787;
  font-size: 12px;
  font-weight: 700;
}

.site-lec-entry__badge {
  background: linear-gradient(135deg, #fbbf24, #f97316);
  color: #ffffff;
}

.site-lec-entry__content {
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  gap: 20px;
  align-items: stretch;
}

.site-lec-entry__media {
  display: block;
  overflow: hidden;
  border-radius: 24px;
  aspect-ratio: 16 / 10;
  background: linear-gradient(135deg, #17346c, #2858c5 52%, #20b3d1);
}

.site-lec-entry__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .32s ease;
}

.site-lec-entry:hover .site-lec-entry__media img {
  transform: scale(1.04);
}

.site-lec-entry__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
}

.site-lec-entry__title {
  margin: 0;
  font-size: clamp(1.35rem, 1.5vw, 1.65rem);
  line-height: 1.55;
  letter-spacing: -0.04em;
}

.site-lec-entry__title a {
  color: #13213e;
}

.site-lec-entry__excerpt {
  margin: 14px 0 0;
  color: #5c6e8d;
  font-size: 15px;
  line-height: 1.9;
}

.site-lec-entry__actions {
  margin-top: 18px;
}

.site-lec-entry__button {
  min-height: 46px;
  padding: 0 18px;
  border-radius: 14px;
}

.site-lec-board__empty {
  padding: 54px 24px;
  border-radius: 28px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(246, 249, 255, 0.98));
  border: 1px solid rgba(84, 114, 190, 0.12);
  text-align: center;
}

.site-lec-board__empty strong {
  display: block;
  color: #18284c;
  font-size: 1.3rem;
}

.site-lec-board__empty p {
  margin: 10px 0 0;
  color: #667895;
}

.site-lec-board__paging {
  margin-top: 34px;
  text-align: center;
}

.site-lec-board__paging .pg {
  display: inline-flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: center;
}

.site-lec-board__paging .pg_page,
.site-lec-board__paging .pg_current {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 46px;
  min-height: 46px;
  padding: 0 14px;
  border-radius: 14px;
  border: 1px solid rgba(84, 114, 190, 0.14);
  background: #ffffff;
  color: #1d335f;
  font-weight: 700;
  box-shadow: 0 14px 32px rgba(20, 34, 67, 0.06);
}

.site-lec-board__paging .pg_current {
  background: linear-gradient(135deg, #275ada, #26abd8);
  color: #ffffff;
  border-color: transparent;
}

@media (max-width: 1199px) {
  .site-lec-entry__content {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 991px) {
  .site-lec-board {
    width: min(100%, calc(100% - 28px)) !important;
    margin-bottom: 56px;
  }

  .site-lec-board__toolbar,
  .site-lec-board__batch,
  .site-lec-entry,
  .site-lec-entry__top {
    grid-template-columns: 1fr;
    flex-direction: column;
    align-items: stretch;
  }

  .site-lec-board__search {
    grid-template-columns: 1fr;
  }

  .site-lec-board__actions,
  .site-lec-board__batch-actions,
  .site-lec-entry__meta,
  .site-lec-entry__stats,
  .site-lec-entry__actions {
    justify-content: center;
  }

  .site-lec-entry {
    gap: 16px;
    padding: 18px;
  }

  .site-lec-entry__button {
    width: 100%;
  }
}

.site-lec-view {
  width: min(1320px, calc(100% - 48px)) !important;
  margin: 0 auto 72px;
  color: #11213e;
}

.site-lec-view__hero,
.site-lec-view__content-card,
.site-lec-view__panel,
.site-lec-view #bo_vc,
.site-lec-view #bo_vc_w {
  border-radius: 30px;
  border: 1px solid rgba(72, 103, 182, 0.12);
  background:
    radial-gradient(circle at top right, rgba(111, 76, 255, 0.14), transparent 28%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(245, 248, 255, 0.98));
  box-shadow:
    0 28px 68px rgba(20, 34, 67, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.82);
}

.site-lec-view__hero {
  padding: 36px 34px;
  text-align: center;
}

.site-lec-view__eyebrow,
.site-lec-view__category,
.site-lec-view__meta span,
.site-lec-view__panel-list small,
.site-lec-view .nb_tit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 0 14px;
  border-radius: 999px;
  background: rgba(49, 88, 202, 0.08);
  color: #2554bf;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
}

.site-lec-view__category {
  margin-top: 12px;
  background: rgba(255, 255, 255, 0.84);
  color: #22345b;
}

.site-lec-view__title {
  margin: 16px 0 0;
  color: #12213e;
  font-size: clamp(2rem, 3vw, 3rem);
  line-height: 1.3;
  letter-spacing: -0.04em;
  font-weight: 900;
}

.site-lec-view__copy {
  width: min(760px, 100%);
  margin: 16px auto 0;
  color: #5a6c89;
  font-size: 1rem;
  line-height: 1.85;
}

.site-lec-view__meta {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 20px;
}

.site-lec-view__actions {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 22px;
}

.site-lec-view__action,
.site-lec-view__share-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 18px;
  border-radius: 16px;
  background: #ffffff;
  border: 1px solid rgba(74, 103, 182, 0.14);
  color: #1f335f;
  font-weight: 800;
  box-shadow: 0 16px 30px rgba(20, 34, 67, 0.06);
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
}

.site-lec-view__action--primary,
.site-lec-view__action:hover,
.site-lec-view__share-link:hover {
  background: linear-gradient(135deg, #275ada, #26abd8);
  color: #ffffff;
  border-color: transparent;
}

.site-lec-view__action:hover,
.site-lec-view__share-link:hover {
  transform: translateY(-2px);
  box-shadow: 0 22px 38px rgba(39, 90, 218, 0.22);
}

.site-lec-view__gallery {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin: 24px 0;
}

.site-lec-view__gallery-item {
  overflow: hidden;
  border-radius: 26px;
  background: #ffffff;
  box-shadow: 0 20px 38px rgba(20, 34, 67, 0.1);
}

.site-lec-view__gallery-item img {
  width: 100%;
  height: auto;
  display: block;
}

.site-lec-view__content-card,
.site-lec-view__panel,
.site-lec-view__nav,
.site-lec-view #bo_vc,
.site-lec-view #bo_vc_w {
  margin-top: 24px;
  padding: 28px;
}

.site-lec-view__share {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 18px;
}

.site-lec-view #bo_v_sns {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.site-lec-view #bo_v_sns:before {
  display: none;
}

.site-lec-view #bo_v_sns li {
  width: auto;
  margin: 0;
}

.site-lec-view #bo_v_sns li a {
  min-width: 42px;
  height: 42px;
  border-radius: 14px;
}

.site-lec-view__content {
  color: #223451;
  font-size: 17px;
  line-height: 1.95;
}

.site-lec-view__content p,
.site-lec-view__content li,
.site-lec-view__content span,
.site-lec-view__content div {
  color: inherit;
  line-height: inherit;
}

.site-lec-view__signature {
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid rgba(72, 103, 182, 0.12);
  color: #5f728f;
}

.site-lec-view__panel-title {
  margin: 0 0 16px;
  color: #13213e;
  font-size: 1.2rem;
  font-weight: 900;
}

.site-lec-view__panel-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.site-lec-view__panel-list li + li {
  margin-top: 12px;
}

.site-lec-view__panel-list li {
  padding: 18px;
  border-radius: 20px;
  background: #ffffff;
  border: 1px solid rgba(74, 103, 182, 0.12);
}

.site-lec-view__panel-list a {
  color: #17346c;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.site-lec-view__panel-list strong {
  font-size: 1rem;
}

.site-lec-view__nav .bo_v_nb {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
  border: 0;
}

.site-lec-view__nav .bo_v_nb li {
  width: auto;
  padding: 18px;
  border-radius: 22px;
  border: 1px solid rgba(74, 103, 182, 0.12);
  background: #ffffff;
}

.site-lec-view__nav .bo_v_nb a {
  display: block;
  margin-top: 10px;
  padding: 0;
  height: auto;
  line-height: 1.7;
  color: #17346c;
}

.site-lec-view__nav .nb_date {
  display: block;
  margin-top: 10px;
  color: #617492;
  font-size: 13px;
}

.site-lec-view #bo_vc h2,
.site-lec-view #bo_vc_w h2 {
  position: static;
  font-size: 1.15rem;
  line-height: 1.4;
  overflow: visible;
  margin: 0 0 14px;
  color: #13213e;
}

.site-lec-view #bo_vc article,
.site-lec-view #bo_vc .cm_wrap {
  margin: 14px 0 0;
  padding: 20px;
  border-radius: 20px;
  border: 1px solid rgba(74, 103, 182, 0.12);
  background: #ffffff;
}

@media (max-width: 991px) {
  .site-lec-view {
    width: min(100%, calc(100% - 28px)) !important;
    margin-bottom: 56px;
  }

  .site-lec-view__hero,
  .site-lec-view__content-card,
  .site-lec-view__panel,
  .site-lec-view__nav,
  .site-lec-view #bo_vc,
  .site-lec-view #bo_vc_w {
    padding: 20px;
    border-radius: 24px;
  }

  .site-lec-view__gallery,
  .site-lec-view__nav .bo_v_nb {
    grid-template-columns: 1fr;
  }

  .site-lec-view__share,
  .site-lec-view__actions {
    justify-content: center;
  }

  .site-lec-view__action {
    width: 100%;
  }
}
