/* ==================================================
   COLUMN
================================================== */

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


/* ==================================================
   INNER
================================================== */

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

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


/* ==================================================
   SIDE
================================================== */

.medical-column__side {
  width: 100%;
}

.medical-column__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-column__category {
  width: 100%;
}

.medical-column__category > .webgene-blog {
  display: block;

  width: 100%;

  margin: 0;
  padding: 0;
}

.medical-column__category .webgene-item {
  width: 100%;

  margin: 0;
  padding: 0;

  border: 0;
}


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

.medical-column .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-column .sideLink::before {
  content: "";

  position: absolute;

  top: 50%;
  left: 0;

  width: 10px;
  height: 1px;

  background: #b69b34;

  transform: translateY(-50%);

  transition: width 0.3s ease;
}

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

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

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

  font-weight: 500;
}

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


/* ==================================================
   MAIN
================================================== */

.medical-column__main {
  width: 100%;
  min-width: 0;
}

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

  width: 100%;

  margin: 0;
  padding: 0;

  gap: 0;
}


/* ==================================================
   ITEM
================================================== */

.medical-column__main .newsItem {
  width: 100%;

  margin: 0;
  padding: 0;

  border-bottom: 1px solid #c9b56a;
}


/* ==================================================
   LINK
================================================== */

.medical-column__main .newsLink {
  position: relative;

  display: block;

  width: 100%;

  padding: 18px 0;

  color: #333;

  text-decoration: none;

  transition: opacity 0.3s ease;
}

.medical-column__main .newsLink:hover {
  opacity: 0.65;
}


/* ==================================================
   ITEM INNER
================================================== */

.medical-column__main .newsTextWrap {
  display: grid;

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

  align-items: center;

  gap: 22px;

  width: calc(100% - 100px);
}


/* ==================================================
   IMAGE
================================================== */

.medical-column__main .newsDetailImg {
  width: 185px;
  height: 112px;

  margin: 0;

  overflow: hidden;

  background: #f3f3f3;
}

.medical-column__main .newsDetailImg img,
.medical-column__main .webgene-item-main-image {
  display: block;

  width: 100%;
  height: 100%;

  margin: 0;

  object-fit: cover;
}


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

.medical-column__main .top-news__meta {
  display: flex;
  flex-direction: column;
  align-items: flex-start;

  min-width: 0;

  margin: 0;
}


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

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

  min-width: 58px;
  min-height: 22px;

  margin: 0 0 9px;
  padding: 3px 10px;

  color: #9b841e;
  background: #fff;

  border: 1px solid #c9b56a;
  border-radius: 2px;

  font-size: 12px;
  font-weight: 500;
  line-height: 1.2;

  white-space: nowrap;
}


/* ==================================================
   TITLE
================================================== */

.medical-column__main .newsItemTit {
  width: 100%;

  margin: 0;

  color: #333;

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

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


/* ==================================================
   DATE
================================================== */

.medical-column__main .newsItemTime {
  margin: 20px 0 0;

  color: #777;

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

  line-height: 1.5;

  white-space: nowrap;
}


/* ==================================================
   MORE
================================================== */

.medical-column__main .newsLink::after {
  content: "詳細を読む >";

  position: absolute;

  top: 50%;
  right: 0;

  color: #b69b34;

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

  white-space: nowrap;

  transform: translateY(-50%);
}


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

.medical-column__main .webgene-pagination {
  width: 100%;

  margin-top: 55px;
}

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

  gap: 18px;

  margin: 0;
  padding: 0;

  list-style: none;
}

.medical-column__main .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;
}

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

  width: 100%;
  height: 100%;

  color: inherit;

  text-decoration: none;
}

.medical-column__main .webgene-pagination > ul > li.selected {
  color: #fff;

  background: #b69b34;
}


/* ==================================================
   PREV / NEXT
================================================== */

.medical-column__main .webgene-pagination .prev,
.medical-column__main .webgene-pagination .next {
  position: relative;

  width: 26px;

  font-size: 0;
}

.medical-column__main .webgene-pagination .prev::before,
.medical-column__main .webgene-pagination .next::before {
  content: "";

  position: absolute;

  top: 50%;
  left: 50%;

  width: 8px;
  height: 8px;
}

.medical-column__main .webgene-pagination .prev::before {
  border-left: 1px solid #444;
  border-bottom: 1px solid #444;

  transform:
    translate(-25%, -50%)
    rotate(45deg);
}

.medical-column__main .webgene-pagination .next::before {
  border-top: 1px solid #444;
  border-right: 1px solid #444;

  transform:
    translate(-75%, -50%)
    rotate(45deg);
}


/* ==================================================
   TABLET
================================================== */

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

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

    gap: 45px;
  }

  .medical-column__main .newsTextWrap {
    grid-template-columns:
      160px
      minmax(0, 1fr);

    gap: 18px;

    width: calc(100% - 90px);
  }

  .medical-column__main .newsDetailImg {
    width: 160px;
    height: 100px;
  }

}


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

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

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

  .medical-column__inner {
    display: block;
  }


  /* ----------------------------------------
     Side
  ---------------------------------------- */

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


  /* ----------------------------------------
     Category
  ---------------------------------------- */

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

    gap: 8px 10px;
  }

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

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

  .medical-column .sideLink {
    width: auto;

    padding: 7px 14px;

    background: #fff;

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

    font-size: 12px;
  }

  .medical-column .sideLink::before {
    content: none;
  }

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

    background: #b69b34;

    border-color: #b69b34;
  }


  /* ----------------------------------------
     Article
  ---------------------------------------- */

  .medical-column__main .newsLink {
    padding: 18px 0 20px;
  }

  .medical-column__main .newsTextWrap {
    grid-template-columns:
      120px
      minmax(0, 1fr);

    gap: 14px;

    width: 100%;
  }


  /* ----------------------------------------
     Image
  ---------------------------------------- */

  .medical-column__main .newsDetailImg {
    width: 120px;
    height: 84px;
  }


  /* ----------------------------------------
     Category Label
  ---------------------------------------- */

  .medical-column__main .newsItemCate {
    min-width: 52px;
    min-height: 20px;

    margin-bottom: 6px;
    padding: 2px 8px;

    font-size: 12px;
  }


  /* ----------------------------------------
     Title
  ---------------------------------------- */

  .medical-column__main .newsItemTit {
    display: -webkit-box;

    overflow: hidden;

    font-size: 12px;

    line-height: 1.6;

    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }


  /* ----------------------------------------
     Date
  ---------------------------------------- */

  .medical-column__main .newsItemTime {
    margin-top: 8px;

    font-size: 12px;
  }


  /* ----------------------------------------
     More
  ---------------------------------------- */

  .medical-column__main .newsLink::after {
    position: static;

    display: block;

    margin-top: 10px;

    text-align: right;

    transform: none;

    font-size: 12px;
  }


  /* ----------------------------------------
     Pagination
  ---------------------------------------- */

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

  .medical-column__main .webgene-pagination > ul {
    gap: 10px;
  }

}


/* ==================================================
   COLUMN DETAIL
================================================== */

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


/* ==================================================
   INNER
================================================== */

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

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


/* ==================================================
   SIDE
================================================== */

.medical-column-detail .medical-news__side {
  width: 100%;
}

.medical-column-detail .medical-news__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;
}

.medical-column-detail .medical-news__category {
  width: 100%;
}

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

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

.medical-column-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-column-detail .sideLink::before {
  content: "";

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

  width: 10px;
  height: 1px;

  background: #b69b34;

  transform: translateY(-50%);
  transition: width 0.3s ease;
}

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

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

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

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


/* ==================================================
   MAIN
================================================== */

.medical-column-detail__main {
  width: 100%;
  min-width: 0;
}

.medical-column-detail__main > .webgene-blog {
  width: 100%;
  margin: 0;
  padding: 0;
}


/* ==================================================
   ARTICLE
================================================== */

.columnDetail {
  width: 100%;
  margin: 0;
  padding: 0;
}

.columnDetail-wrap {
  width: 100%;
  margin: 0;
  padding: 0;
}


/* ==================================================
   TITLE AREA
================================================== */

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

  margin: 0 0 32px;
  padding: 0 0 22px;

  border-bottom: 1px solid #c9b56a;
}


/* ==================================================
   DATE + CATEGORY
================================================== */

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

  gap: 14px;

  margin: 0 0 12px;
}

.columnDetail-date {
  margin: 0;

  color: #666;

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

  white-space: nowrap;
}

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

  min-width: 58px;
  min-height: 22px;

  margin: 0;
  padding: 3px 10px;

  color: #9b841e;
  background: #fff;

  border: 1px solid #c9b56a;
  border-radius: 2px;

  font-size: 12px;
  font-weight: 500;
  line-height: 1.2;

  white-space: nowrap;
}


/* ==================================================
   TITLE
================================================== */

.columnDetailTit {
  margin: 0;

  color: #333;

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

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


/* ==================================================
   CONTENT
================================================== */

.columnDetailTxt {
  width: 100%;

  margin: 0;
  padding: 0;

  color: #444;

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

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


/* ==================================================
   PARAGRAPH
================================================== */

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


/* ==================================================
   IMAGE
================================================== */

.columnDetailTxt img {
  display: block;

  max-width: 600px;
  width: auto;
  height: auto;

  margin: 36px auto;
}


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

.columnDetailTxt h2 {
  margin: 44px 0 20px;
  padding-bottom: 10px;

  color: #b69b34;

  border-bottom: 1px solid #c9b56a;

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

  line-height: 1.6;
}


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

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

  color: #333;

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

  line-height: 1.7;
}


/* ==================================================
   H4
================================================== */

.columnDetailTxt h4 {
  margin: 28px 0 12px;

  color: #333;

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

  line-height: 1.7;
}


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

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

.columnDetailTxt li {
  margin-bottom: 6px;
}


/* ==================================================
   LINK
================================================== */

.columnDetailTxt a {
  color: #9b841e;

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

.columnDetailTxt a:hover {
  opacity: 0.65;
}


/* ==================================================
   TABLE
================================================== */

.columnDetailTxt table {
  width: 100%;

  margin: 30px 0;

  border-collapse: collapse;

  font-size: 12px;
}

.columnDetailTxt th,
.columnDetailTxt td {
  padding: 12px 14px;

  border: 1px solid #ddd;

  text-align: left;
  vertical-align: top;
}

.columnDetailTxt th {
  background: #f5f0df;

  font-weight: 500;
}


/* ==================================================
   BLOCKQUOTE
================================================== */

.columnDetailTxt blockquote {
  margin: 28px 0;
  padding: 20px 24px;

  background: #f8f4e8;

  border-left: 3px solid #c9b56a;

  color: #555;
}


/* ==================================================
   BACK
================================================== */

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

  width: 100%;

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

  border-top: 1px solid #d8d8d8;
}


/* ==================================================
   BACK LINK
================================================== */

.columnDetail-back__link {
  position: relative;

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

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

  padding: 9px 44px 9px 22px;

  color: #9b841e;
  background: #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;
}

.columnDetail-back__link::before {
  content: "";

  position: absolute;
  top: 50%;
  right: 14px;

  width: 18px;
  height: 18px;

  background: #b69b34;

  border-radius: 50%;

  transform: translateY(-50%);
}

.columnDetail-back__link::after {
  content: "";

  position: absolute;
  top: 50%;
  right: 21px;

  width: 5px;
  height: 5px;

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

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

.columnDetail-back__link:hover {
  color: #fff;
  background: #b69b34;
}

.columnDetail-back__link:hover::before {
  background: #fff;
}

.columnDetail-back__link:hover::after {
  border-color: #b69b34;
}


/* ==================================================
   TABLET
================================================== */

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

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

    gap: 45px;
  }

}


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

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

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

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


  /* ----------------------------------------
     Side
  ---------------------------------------- */

  .medical-column-detail .medical-news__side {
    margin-bottom: 36px;
  }

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

    gap: 8px 10px;
  }

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

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

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

    padding: 7px 14px;

    background: #fff;

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

    font-size: 12px;
  }

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

  .medical-column-detail .sideLink.is-current {
    color: #fff;
    background: #b69b34;

    border-color: #b69b34;
  }


  /* ----------------------------------------
     Title
  ---------------------------------------- */

  .columnDetail-wrap-title {
    margin-bottom: 24px;
    padding-bottom: 18px;
  }

  .columnItemText {
    gap: 10px;

    margin-bottom: 10px;
  }

  .columnDetail-date {
    font-size: 12px;
  }

  .columnDetail-category {
    min-width: 52px;
    min-height: 20px;

    padding: 2px 8px;

    font-size: 12px;
  }

  .columnDetailTit {
    font-size: 16px;

    line-height: 1.7;
  }


  /* ----------------------------------------
     Content
  ---------------------------------------- */

  .columnDetailTxt {
    font-size: 13px;

    line-height: 1.9;
  }

  .columnDetailTxt p {
    margin-bottom: 18px;
  }

  .columnDetailTxt img {
    margin: 28px auto;
  }

  .columnDetailTxt h2 {
    margin-top: 36px;

    font-size: 18px;
  }

  .columnDetailTxt h3 {
    margin-top: 30px;

    font-size: 16px;
  }

  .columnDetailTxt h4 {
    font-size: 14px;
  }


  /* ----------------------------------------
     Back
  ---------------------------------------- */

  .columnDetail-back {
    margin-top: 36px;
    padding-top: 25px;
  }

  .columnDetail-back__link {
    min-width: 180px;
    min-height: 40px;

    font-size: 12px;
  }

}