@charset "utf-8";


/*  l-news
--------------------------------------------------*/
.l-news {
  position: relative;
}
.news-outer {
  position: relative;
  width: 100%;
  margin-inline: auto;
}
.news-container {
  position: relative;
  width: calc(100% - 3rem);
  margin-inline: 0 auto;
  gap: clamp(1.5625rem, -0.2282rem + 3.7258vw, 3.125rem);
}


/* 
サイドナビ
*/
.news-sidebar {
  position: sticky;
  top: clamp(1.5625rem, -0.2282rem + 3.7258vw, 3.125rem);
  right: 0;
  background: var(--white);
  border-radius: 12px;
  width: 27.875rem;
  padding-block: 2.5rem 1.875rem;
}
.news-sidebar__heading {
  position: relative;
  width: calc(366 / 446 * 100%);
  margin-inline: auto;
  padding-left: 0.875rem;
}
.news-sidebar__heading::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 0.3125rem;
  aspect-ratio: 1 / 1;
  background: var(--brand-color);
}
.news-sidebar__heading img {
  width: min(100%, calc(var(--enTtl-width) * 1px));
}
.news-sidebar__nav {
  width: calc(366 / 446 * 100%);
  margin-inline: auto;
  border-top: solid 1px var(--base-color);
  margin-top: calc(20 / 446 * 100%);
}
.news-sidebar__nav__list {
  position: relative;
}
.news-sidebar__nav__list__item {
  position: relative;
  width: 100%;
  color: var(--base-color);
}
.news-sidebar__nav__list__item + .news-sidebar__nav__list__item {
  border-top: solid 1px var(--border-base);
}
.news-sidebar__nav__list__item__box {
  font-size: 0.8125rem;
  line-height: 1;
  letter-spacing: 0.02em;
  font-weight: 500;
  padding-block: 0.625rem;
  padding-inline: 0.625rem;
}
.news-sidebar__nav__list__item .news-sidebar__nav__list__item__box.is-current {
  color: var(--brand-color);
}
.news-sidebar__nav__list__item .news-sidebar__nav__list__item__box[data-status="link"] .news-sidebar__nav__list__item__name {
  border-bottom: solid 1px currentColor;
}


/* 
メイン 
*/
.news-contents {
  flex: 1;
  background: var(--white);
  border-radius: 12px;
  padding-block: 5rem;
  padding-inline: clamp(1.5rem, -0.2191rem + 3.5768vw, 3rem);
  min-height: 36.875rem;
}
.news-empty {
  width: 100%;
  font-size: 0.8125rem;
  line-height: 2;
  letter-spacing: 0.02em;
  color: var(--base-color);
}
.news-list {
  width: 100%;
}
.news-list__item {
  position: relative;
  width: 100%;
  padding-bottom: 1.25rem;
  border-bottom: solid 1px var(--border-base);
}
.news-list__item + .news-list__item {
  margin-top: 1.25rem;
}
.news-list__item__box {
  color: var(--base-color);
  gap: 1.25rem 2.5rem;
  padding-right: 1.875rem;
}
.news-list__item__info {
  width: min(100%,12rem);
}
.news-list__item__info__time {
  font-size: 0.75rem;
  font-weight: 500;
}
.news-list__item__info__category {
  width: min(100%,6.25rem);
  font-size: 0.75rem;
  line-height: 1;
  letter-spacing: 0.02em;
  text-align: center;
  border-radius: 4px;
  padding-block: 0.4375rem 0.5rem;
  background: #efefef;
}
.news-list__item__title {
  flex: 1;
  font-size: 0.8125rem;
  line-height: 2;
  letter-spacing: 0.02em;
}
.news-list__item__btn {
  position: absolute;
  top: 0;
  right: 0;
  width: 1.5rem;
  height: 1.5rem;
  margin-inline: auto 0;
  aspect-ratio: 1 / 1;
  background-color: #EFEFEF;
  border: solid 1px #EFEFEF;
  border-radius: 3px;
}
.news-list__item__btn::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.75rem;
  aspect-ratio: 1 / 1;
  transform: translate(-50%, -50%) rotate(-90deg);
  background: url(../../common/img/icon_arrow_under_blue.svg) no-repeat center center / cover;
  z-index: 1;
}
@media (any-hover: hover){
  .news-sidebar__nav__list__item__box[data-status="link"] {
    transition: color .3s ease;
  }
  .news-sidebar__nav__list__item__box[data-status="link"]:hover {
    color: var(--brand-color);
  }
}
@media screen and (max-width: 1000px){
  .news-container {
    width: 100%;
    gap: 0;
  }

  /* 
  サイドナビ
  */
  .news-sidebar {
    position: relative;
    top: auto;
    right: auto;
    width: calc(352 / 400 * 100%);
    margin-inline: auto;
    padding-block: 1.25rem 0.9375rem;
    margin-bottom: 3.125rem;
  }
  .news-sidebar__heading {
    width: calc(312 / 352 * 100%);
  }
  .news-sidebar__heading img {
    width: min(calc(var(--enTtl-width) / 312 * 100%), calc(var(--enTtl-width) * 1px));
  }
  .news-sidebar__nav {
    width: calc(312 / 352 * 100%);
    margin-top: 0.625rem;
  }
  .news-sidebar__nav__list__item__box {
    font-size: clamp(0.625rem, -0.125rem + 3.75vw, 0.8125rem);
  }


  /* 
  メイン 
  */
  .news-contents {
    flex: 100%;
    padding-block: 3.125rem;
    padding-inline: 0;
    min-height: auto;
  }
  .news-empty {
    width: calc(352 / 400 * 100%);
    margin-inline: auto;
  }
  .news-list {
    width: calc(352 / 400 * 100%);
    margin-inline: auto;
  }
  .news-list__item {
    padding-bottom: 0.9375rem;
  }
  .news-list__item + .news-list__item {
    margin-top: 1.25rem;
  }
  .news-list__item__box {
    color: var(--base-color);
    gap: 0.625rem 0;
  }
  .news-list__item__info {
    width: min(100%,11.375rem);
  }
  .news-list__item__title {
    flex: 100%;
  }
  .news-list__item__btn {
    top: auto;
    bottom: 0.9375rem;
    width: 1.25rem;
    height: 1.25rem;
  }
}




/* 
ニュース詳細
*/
.news-detail {
  width: min(100%,60rem);
  margin-inline: auto;
}
.news-detail__container {
  border-radius: 20px;
  background: var(--white);
  padding-block: 4.0625rem 4.375rem;
}
.news-detail__contents {
  width: calc(800 / 960 * 100%);
  margin-inline: auto;
}
.news-detail__title {
  width: 100%;
  font-size: clamp(1.25rem, 0.3905rem + 1.7884vw, 2rem);
  line-height: 1.45;
  letter-spacing: 0.02em;
  color: var(--brand-color);
  font-weight: 500;
  padding-bottom: 1.875rem;
  border-bottom: solid 1px var(--border-base);
}
.news-detail__body {
  width: 100%;
  font-size: clamp(0.8125rem, 0.6692rem + 0.2981vw, 0.9375rem);
  line-height: 2;
  letter-spacing: 0.02em;
  color: var(--base-color);
  padding-top: 1.75rem;
}
.news-detail__back {
  margin-top: 3.75rem;
}
@media screen and (max-width: 768px){
  .news-detail {
    width: 100%;
  }
  .news-detail__container {
    border-radius: 12px;
    padding-block: 2.8125rem 2.5rem;
  }
  .news-detail__contents {
    width: calc(352 / 400 * 100%);
  }
  .news-detail__title {
    width: 100%;
    font-size: clamp(1rem, 0rem + 5vw, 1.25rem);
    padding-bottom: 0.9375rem;
  }
  .news-detail__body {
    font-size: clamp(0.625rem, -0.125rem + 3.75vw, 0.8125rem);
    padding-top: 1.5625rem;
  }
  .news-detail__back {
    margin-top: 1.875rem;
  }
}