:root {
  --colorLineGold: #E5C78A;
}
.l-column {
  margin-bottom: 12rem;
  background-color: var(--colorLghtGray);
}

.l-column:not(:has(.l-column_pager > *)) {
  margin-bottom: calc(12rem - 8rem);
}

.p-kv.is-column {
  padding-bottom: 12rem;
}

.l-column_articles_search {
  padding-bottom: 12rem;
  background: var(--colorDarkGray);
}

.l-column_articles_search_ttl_inner {
  display: inline-block;
  padding-top: .6rem;
  border-top: 3px solid var(--colorWhite);
  color: var(--colorWhite);
}
.l-column_articles_search_items {
  display: flex;
  flex-wrap: wrap;
  gap: 1.6rem;
  padding-top: 2.4rem;
}
.l-column_articles_search_item {
  padding-right: 1.6rem;
  border-right: 1px solid var(--colorWhite30);
  font-family: "Noto Sans JP";
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.5;
  color: var(--colorLineGold);
}
.l-column_articles_search_item:last-of-type {
  border-right: initial;
}
.l-column_articles_search_item_link {
  position: relative;
  color: var(--colorWhite);
}
.l-column_articles_search_item_link::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transform-origin: left;
          transform-origin: left;
  content: "";
  pointer-events: none;
  background-color: var(--colorWhite);
  -webkit-transition: -webkit-transform .35s cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: -webkit-transform .35s cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: transform .35s cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: transform .35s cubic-bezier(0.39, 0.575, 0.565, 1), -webkit-transform .35s cubic-bezier(0.39, 0.575, 0.565, 1);
}

.l-column_articles {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 5.6rem;
  transform: translateY(-8rem);
}

.l-column_articles_item {
  position: relative;
}

.l-column_articles_item_link {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}

.l-column_articles_item_thumb {
  aspect-ratio: 2 / 1;
}

.l-column_articles_item_txt {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}

.l-column_articles_item_txt_read {
  width: max-content;
  font-size: 1.4rem;
  font-weight: var(--weightRegular);
  line-height: 1.5;
  letter-spacing: 0.05em;
}

.l-column_articles_item.is-large {
  grid-column: 1 / 4;
  margin-bottom: 6.4rem;
}

.l-column_articles_item.is-large .l-column_articles_item_txt_read::after {
  background-color: var(--colorWhite);
}

.l-column_articles_item.is-large .l-column_articles_item_thumb {
  aspect-ratio: 1022 / 400;
}

.l-column_articles_item.is-large .l-column_articles_item_txt {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 10;
  padding-inline: 3rem;
  padding-bottom: 3rem;
  color: var(--colorWhite);
}

.l-column_articles_item.is-large .l-column_articles_item_txt_ttl {
  font-weight: 600;
  font-size: 2rem;
  line-height: 1.5;
  letter-spacing: -0.01em;
}

.l-column_pager {
  margin-top: calc(12rem - 8rem);
}

.l-column_pager:not(:has(> *)) {
  display: none;
}


@media (hover: hover) {
  a.l-column_articles_item_link:hover {
    opacity: unset;
  }
  .l-column_articles_search_item_link:hover {
    opacity: 1;
  }
  .l-column_articles_search_item_link:hover::after {
    transform: scaleX(1);
  }
}

@media screen and (max-width: 47.9375em) {
  .l-column {
    margin-bottom: 8rem;
  }
  .l-column:not(:has(.l-column_pager > *)) {
    margin-bottom: calc(8rem - 8rem);
  }
  .l-column_container {
    padding-inline: 3.5rem;
  }
  .l-column_articles {
    display: flex;
    flex-direction: column;
    gap: 4rem;
    margin-bottom: 0.2rem;
    transform: translateY(-8rem);
  }

  .l-column_articles_item_txt {
    gap: 1.2rem;
  }

  .l-column_articles_item_txt_read {
    font-size: 1.3rem;
  }

  .l-column_articles_item.is-large {
    margin-bottom: initial;
  }

  .l-column_articles_item.is-large .l-column_articles_item_thumb {
    aspect-ratio: 2 / 1;
  }

  .l-column_articles_item.is-large .l-column_articles_item_txt {
    position: relative;
    bottom: initial;
    left: initial;
    padding-bottom: initial;
    padding-left: initial;
    color: var(--colorBlack);
  }

  .l-column_articles_item.is-large .l-column_articles_item_txt_ttl {
    font-weight: 600;
    font-size: 1.6rem;
    line-height: 1.5;
    letter-spacing: -0.01em;
  }

  .l-column_articles_item.is-large .l-column_articles_item_txt_read::after {
    background-color: var(--colorBlack);
  }

  .l-column_pager {
    margin-top: calc(8rem - 8rem);
  }
}
