/* ==================================================
   NEWS LAYOUT
================================================== */

.medical-news {
  width: 100%;
  padding: 60px 20px 120px;
  background: #fffdf8;
}

.medical-news-archive{
  width: 80%;
  margin: 2rem auto;
}


.medical-news__inner {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  gap: 70px;

  width: min(100%, 1050px);
  margin: 0 auto;
}


/* ==================================================
   CATEGORY
================================================== */

.medical-news__side-title {
  margin: 0 0 14px;
  padding-bottom: 10px;

  color: #b69b34;

  border-bottom: 1px solid #c9b56a;

  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.08em;
}

.medical-news__category {
  width: 100%;
}

.medical-news__category > .webgene-blog {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
}

.medical-news__category .webgene-item {
  width: 100%;
  margin: 0;
  padding: 0;
}

.sideLink {
  position: relative;

  display: block;

  width: 100%;

  padding: 8px 0 8px 24px;

  color: #444;

  font-size: 13px;
  font-weight: 400;
  line-height: 1.5;

  text-decoration: none;

  transition:
    color 0.3s ease,
    opacity 0.3s ease;
}

.sideLink::before {
  content: "";

  position: absolute;
  top: 50%;
  left: 0;

  width: 10px;
  height: 1px;

  background: #b69b34;

  transform: translateY(-50%);

  transition: width 0.3s ease;
}

.sideLink:hover {
  color: #b69b34;
}

.sideLink:hover::before {
  width: 15px;
}

.sideLink.is-current {
  color: #b69b34;
  font-weight: 500;
}

.sideLink.is-current::before {
  width: 15px;
}


/* ==================================================
   NEWS LIST
================================================== */

.medical-news__main > .webgene-blog {
  display: flex;
  flex-direction: column;

  width: 100%;

  margin: 0;
  padding: 0;

  gap: 0;
}

.newsItem {
  width: 100%;

  margin: 0;
  padding: 0;

  border-bottom: 1px solid #c9b56a;
}

.newsLink {
  position: relative;

  display: block;

  width: 100%;
  min-height: 66px;

  padding: 17px 34px 17px 0;

  color: #333;
  text-decoration: none;

  transition: opacity 0.3s ease;
}

.newsLink:hover {
  opacity: 0.65;
}


/* ==================================================
   TEXT
================================================== */

.newsTextWrap {
  display: grid;
  grid-template-columns: 175px minmax(0, 1fr);
  align-items: center;
  gap: 24px;

  width: 100%;
}

.top-news__meta {
  display: grid;
  grid-template-columns: 74px 80px;
  align-items: center;
  gap: 14px;

  margin: 0;
}

.newsItemTime {
  margin: 0;

  color: #555;

  font-size: 12px;
  line-height: 1.5;

  white-space: nowrap;
}

.newsItemCate {
  display: flex;
  align-items: center;
  justify-content: center;

  min-height: 24px;

  margin: 0;
  padding: 4px 10px;

  color: #fff;
  background: #ff8a8f;

  border-radius: 2px;

  font-size: 12px;
  font-weight: 500;

  white-space: nowrap;
}

.newsItemTit {
  margin: 0;

  color: #444;

  font-size: 13px;
  font-weight: 400;

  line-height: 1.7;
  letter-spacing: 0.02em;
}


/* ==================================================
   ARROW
================================================== */

.newsLink::after {
  content: "";

  position: absolute;

  top: 50%;
  right: 3px;

  width: 6px;
  height: 6px;

  border-top: 1px solid #b69b34;
  border-right: 1px solid #b69b34;

  transform:
    translateY(-50%)
    rotate(45deg);
}


/* ==================================================
   PAGINATION
================================================== */

.webgene-pagination {
  width: 100%;

  margin-top: 55px;
}

.webgene-pagination > ul {
  display: flex;
  align-items: center;
  justify-content: center;

  gap: 18px;

  margin: 0;
  padding: 0;

  list-style: none;
}

.webgene-pagination > ul > li {
  display: flex;
  align-items: center;
  justify-content: center;

  width: 30px;
  height: 30px;

  margin: 0;
  padding: 0;

  color: #333;
  background: transparent;

  border: 0;
  border-radius: 50%;

  font-size: 12px;

  list-style: none;
}

.webgene-pagination > ul > li > a {
  display: flex;
  align-items: center;
  justify-content: center;

  width: 100%;
  height: 100%;

  color: inherit;
  text-decoration: none;
}

.webgene-pagination > ul > li.selected {
  color: #fff;
  background: #b69b34;
}


/* ==================================================
   SP
================================================== */

@media screen and (max-width: 767px) {

  .medical-news {
    padding: 45px 20px 80px;
  }

  .medical-news__inner {
    display: block;
  }

  .medical-news__side {
    margin-bottom: 35px;
  }

  .medical-news__category {
    display: flex;
    flex-wrap: wrap;

    gap: 8px 10px;
  }

  .medical-news__category > .webgene-blog {
    display: contents;
  }

  .medical-news__category .webgene-item {
    width: auto;
  }

  .sideLink {
    width: auto;

    padding: 7px 14px;

    background: #fff;

    border: 1px solid #d5c991;
    border-radius: 100px;

    font-size: 12px;
  }

  .sideLink::before {
    content: none;
  }

  .sideLink.is-current {
    color: #fff;
    background: #b69b34;
    border-color: #b69b34;
  }

  .newsLink {
    padding: 18px 24px 18px 0;
  }

  .newsTextWrap {
    display: block;
  }

  .top-news__meta {
    display: flex;

    gap: 12px;

    margin-bottom: 9px;
  }

  .newsItemTime {
    font-size: 12px;
  }

  .newsItemCate {
    min-width: 66px;

    font-size: 12px;
  }

  .newsItemTit {
    font-size: 13px;
  }

  .webgene-pagination {
    margin-top: 42px;
  }

}


/* ==================================================
   NEWS DETAIL
================================================== */

.medical-news-detail {
  width: 100%;

  padding: 60px 20px 120px;

  background-color: #fffdf8;
}


/* ==================================================
   Inner
================================================== */

.medical-news-detail__inner {
  display: grid;

  grid-template-columns:
    180px
    minmax(0, 1fr);

  gap: 70px;

  width: min(100%, 1050px);

  margin: 0 auto;
}


/* ==================================================
   Side
================================================== */

.medical-news-detail__side {
  width: 100%;
}


/* ==================================================
   Side Title
================================================== */

.medical-news-detail__side-title {
  margin: 0 0 14px;
  padding-bottom: 10px;

  color: #b69b34;

  border-bottom: 1px solid #c9b56a;

  font-size: 14px;
  font-weight: 500;

  line-height: 1.5;
  letter-spacing: 0.08em;
}


/* ==================================================
   Category
================================================== */

.medical-news-detail__category {
  width: 100%;
}

.medical-news-detail__category > .webgene-blog {
  display: block;

  width: 100%;

  margin: 0;
  padding: 0;
}

.medical-news-detail__category .webgene-item {
  width: 100%;

  margin: 0;
  padding: 0;
}


/* ==================================================
   Category Link
================================================== */

.medical-news-detail .sideLink {
  position: relative;

  display: block;

  width: 100%;

  padding: 8px 0 8px 24px;

  color: #444;

  font-size: 13px;
  font-weight: 400;

  line-height: 1.5;

  text-decoration: none;

  transition:
    color 0.3s ease,
    opacity 0.3s ease;
}

.medical-news-detail .sideLink::before {
  content: "";

  position: absolute;

  top: 50%;
  left: 0;

  width: 10px;
  height: 1px;

  background-color: #b69b34;

  transform: translateY(-50%);

  transition: width 0.3s ease;
}

.medical-news-detail .sideLink:hover {
  color: #b69b34;
}

.medical-news-detail .sideLink:hover::before {
  width: 15px;
}

.medical-news-detail .sideLink.is-current {
  color: #b69b34;

  font-weight: 500;
}

.medical-news-detail .sideLink.is-current::before {
  width: 15px;
}


/* ==================================================
   Main
================================================== */

.medical-news-detail__main {
  width: 100%;
}

.medical-news-detail__main > .webgene-blog {
  width: 100%;

  margin: 0;
  padding: 0;
}


/* ==================================================
   Detail Article
================================================== */

.newsDetail {
  width: 100%;

  margin: 0;
  padding: 0;
}


/* ==================================================
   Detail Wrap
================================================== */

.newsDetail-wrap {
  width: 100%;

  margin: 0;
  padding: 0;
}


/* ==================================================
   Detail Title Area
================================================== */

.newsDetail-wrap-title {
  width: 100%;

  margin: 0 0 28px;
  padding: 0 0 22px;

  border-bottom: 1px solid #7d7d7d;
}


/* ==================================================
   Date + Category
================================================== */

.newsItemText {
  display: flex;
  align-items: center;
  flex-wrap: wrap;

  gap: 18px;

  margin: 0 0 14px;
}

.newsItemTime {
  margin: 0;

  color: #555;

  font-size: 12px;
  font-weight: 400;

  line-height: 1.5;
}

.newsItemCate {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-width: 72px;
  min-height: 24px;

  margin: 0;
  padding: 4px 10px;

  color: #fff;
  background-color: #ff8a8f;

  border-radius: 2px;

  font-size: 12px;
  font-weight: 500;

  line-height: 1.2;
}


/* ==================================================
   Detail Title
================================================== */

.newsDetailTit {
  margin: 0;

  color: #444;

  font-size: 18px;
  font-weight: 400;

  line-height: 1.7;
  letter-spacing: 0.03em;
}


/* ==================================================
   Detail Image
================================================== */

.newsDetailImg {
  width: min(100%, 520px);

  margin: 0 auto 36px;
}

.newsDetailImg:empty {
  display: none;
}

.newsDetailImg img {
  display: block;

  width: 100%;
  height: auto;

  margin: 0 auto;

  object-fit: contain;
}


/* ==================================================
   Detail Content
================================================== */

.newsDetailTxt {
  width: 100%;

  margin: 0;
  padding: 0;

  color: #444;

  font-size: 14px;
  font-weight: 400;

  line-height: 2;
  letter-spacing: 0.03em;
}


/* ==================================================
   Paragraph
================================================== */

.newsDetailTxt p {
  margin: 0 0 20px;
}


/* ==================================================
   H2
================================================== */

.newsDetailTxt h2 {
  margin: 42px 0 20px;
  padding: 0 0 10px;

  color: #b69b34;

  border-bottom: 1px solid #c9b56a;

  font-size: 20px;
  font-weight: 500;

  line-height: 1.6;
}


/* ==================================================
   H3
================================================== */

.newsDetailTxt h3 {
  margin: 34px 0 16px;

  color: #444;

  font-size: 17px;
  font-weight: 500;

  line-height: 1.6;
}


/* ==================================================
   Detail Content Image
================================================== */

.newsDetailTxt img {
  display: block;

  max-width: 100%;
  height: auto;

  margin: 30px auto;
}


/* ==================================================
   Links
================================================== */

.newsDetailTxt a {
  color: #b69b34;

  text-decoration: underline;
  text-underline-offset: 3px;
}

.newsDetailTxt a:hover {
  opacity: 0.6;
}


/* ==================================================
   List
================================================== */

.newsDetailTxt ul,
.newsDetailTxt ol {
  margin: 20px 0;
  padding-left: 1.5em;
}

.newsDetailTxt li {
  margin: 6px 0;
}


/* ==================================================
   PDF
================================================== */

.pdfLink {
  position: relative;

  display: block;

  width: min(100%, 240px);

  margin: 32px 0 0;
  padding: 12px 42px 12px 18px;

  color: #b69b34;

  background-color: #fff;

  border: 1px solid #b69b34;
  border-radius: 100px;

  font-size: 13px;
  font-weight: 500;

  line-height: 1.5;

  text-decoration: none;

  transition:
    color 0.3s ease,
    background-color 0.3s ease;
}

.pdfLink::after {
  content: "";

  position: absolute;

  top: 50%;
  right: 18px;

  width: 6px;
  height: 6px;

  border-top: 1px solid #b69b34;
  border-right: 1px solid #b69b34;

  transform:
    translateY(-50%)
    rotate(45deg);
}

.pdfLink:hover {
  color: #fff;

  background-color: #b69b34;
}

.pdfLink:hover::after {
  border-color: #fff;
}


/* ==================================================
   PDF Empty
================================================== */

.pdfLink[href=""],
.pdfLink[href="%item.pdf%"] {
  display: none;
}


/* ==================================================
   Back
================================================== */

.newsDetail-back {
  display: flex;
  justify-content: center;

  width: 100%;

  margin-top: 40px;
  padding-top: 30px;

  border-top: 1px solid #8c8c8c;
}


/* ==================================================
   Back Button
================================================== */

.newsDetail-back a {
  position: relative;

  display: flex;
  align-items: center;
  justify-content: center;

  min-width: 180px;
  min-height: 42px;

  padding: 9px 44px 9px 22px;

  color: #b69b34;
  background-color: #fff;

  border: 1px solid #b69b34;
  border-radius: 100px;

  font-size: 12px;
  font-weight: 500;

  line-height: 1.4;

  text-decoration: none;

  transition:
    color 0.3s ease,
    background-color 0.3s ease;
}


/* ==================================================
   Back Dot
================================================== */

.newsDetail-back a::before {
  content: "";

  position: absolute;

  top: 50%;
  right: 15px;

  width: 18px;
  height: 18px;

  background-color: #b69b34;

  border-radius: 50%;

  transform: translateY(-50%);
}


/* ==================================================
   Back Arrow
================================================== */

.newsDetail-back a::after {
  content: "";

  position: absolute;

  top: 50%;
  right: 22px;

  width: 5px;
  height: 5px;

  border-top: 1px solid #fff;
  border-right: 1px solid #fff;

  transform:
    translateY(-50%)
    rotate(45deg);
}

.newsDetail-back a:hover {
  color: #fff;

  background-color: #b69b34;
}

.newsDetail-back a:hover::before {
  background-color: #fff;
}

.newsDetail-back a:hover::after {
  border-color: #b69b34;
}


/* ==================================================
   Tablet
================================================== */

@media screen and (max-width: 1024px) {

  .medical-news-detail__inner {
    grid-template-columns:
      150px
      minmax(0, 1fr);

    gap: 45px;
  }

}


/* ==================================================
   SP
================================================== */

@media screen and (max-width: 767px) {

  .medical-news-detail {
    padding:
      45px
      20px
      80px;
  }

  .medical-news-detail__inner {
    display: block;
  }


  /* Category */

  .medical-news-detail__side {
    margin-bottom: 36px;
  }

  .medical-news-detail__category {
    display: flex;
    flex-wrap: wrap;

    gap: 8px 10px;
  }

  .medical-news-detail__category > .webgene-blog {
    display: contents;
  }

  .medical-news-detail__category .webgene-item {
    width: auto;
  }

  .medical-news-detail .sideLink {
    width: auto;

    padding: 7px 14px;

    background-color: #fff;

    border: 1px solid #d5c991;
    border-radius: 100px;

    font-size: 12px;
  }

  .medical-news-detail .sideLink::before {
    content: none;
  }

  .medical-news-detail .sideLink.is-current {
    color: #fff;

    background-color: #b69b34;

    border-color: #b69b34;
  }


  /* Title */

  .newsDetail-wrap-title {
    margin-bottom: 22px;
    padding-bottom: 18px;
  }

  .newsItemText {
    gap: 12px;

    margin-bottom: 10px;
  }

  .newsItemTime {
    font-size: 12px;
  }

  .newsItemCate {
    min-width: 66px;

    font-size: 12px;
  }

  .newsDetailTit {
    font-size: 16px;

    line-height: 1.7;
  }


  /* Image */

  .newsDetailImg {
    width: 100%;

    margin-bottom: 28px;
  }


  /* Content */

  .newsDetailTxt {
    font-size: 13px;

    line-height: 1.9;
  }

  .newsDetailTxt h2 {
    margin-top: 36px;

    font-size: 18px;
  }

  .newsDetailTxt h3 {
    font-size: 16px;
  }


  /* PDF */

  .pdfLink {
    width: 100%;

    max-width: 220px;

    font-size: 12px;
  }


  /* Back */

  .newsDetail-back {
    margin-top: 32px;
    padding-top: 25px;
  }

}