@charset "utf-8";

.mb-5 {
  margin-bottom: 5px;
}

.mb-10 {
  margin-bottom: 10px;
}

.mb-20 {
  margin-bottom: 20px;
}

.mb-40 {
  margin-bottom: 40px;
}

.py-20 {
  padding-block: 20px;
}

.fs-16 {
  font-size: 16px;
  line-height: 1.5;
}

.fw-bold {
  font-weight: bold;
}

.txt-right {
  text-align: right;
}

.txt-red {
  color: var(--clr-red);
}

.d-block {
  display: block;
}

.btn-container {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px; 
}

.link-btn {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  line-height: 1.5;
  padding: 10px;
  background-color: var(--clr-primary);
  color: var(--clr-neutral-100);
  font-weight: 500;
  transition: opacity .6s;
  width: 100%;
  border-radius: 100vw;
  gap: 5px;
}

.link-btn .arw-download {
  display: inline-block;
  width: 18px;
  height: 18px;
  margin-left: 5px;
  background: url(../img/ico_download.svg) no-repeat;
  transform: translateY(16%);
}

.gray-border {
  border: 1px solid var(--clr-border);
  padding: 0 20px;
}

.program-ttl {
  color: #0198DD;
  font-size: 18px;
  line-height: 1.5;
}

.gray-border-top {
  border-top: 1px solid var(--clr-border);
}

.speaker {
  display: flex;
}

.speaker p {
  font-size: 16px;
  line-height: 1.5;
}

.speaker p:first-child {
  flex: 0 0 auto;
}

@media (max-width: 768.9px) {
  .main-content {
    padding-bottom: 40px;
  }

  .btn-container {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .link-btn {
    width: 280px;
    max-width: 100%;
    margin: 0 auto;
  }

  .speaker {
    flex-direction: column;
  }

  .speaker p,
  .fs-14 {
    font-size: 14px;
    line-height: 1.5;
  }
}