/* =========================================================   
   RYU-TEC News
   対象：TOP新着情報 / 新着情報一覧ページ
   方針：TOP既存デザインを維持し、一覧ページ用のみ追加
========================================================= */

/* =========================================================
   TOP News
   ※既存TOP CSSの .rt-news 系と同じHTML構造で出力するため、
     ここではTOP側の追加上書きは行わない。
========================================================= */

/* =========================================================
   News List Page
========================================================= */

body .rt-top .rt-news-page {
  --rt-blue: #006bd6;
  --rt-news-blue: #034eb6;
  --rt-inner-max: 1280px;
  --rt-side: clamp(42px, 10vw, 220px);
  --rt-inner: min(calc(100vw - var(--rt-side) * 2), var(--rt-inner-max));
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #ffffff !important;
  color: #333333 !important;
  overflow: visible !important;
}

body .rt-top .rt-news-page__hero {
  width: 100% !important;
  margin: 0 !important;
  padding: clamp(92px, 8.2vw, 156px) 0 clamp(56px, 5.4vw, 92px) !important;
  background: #ffffff !important;
  overflow: hidden !important;
}

body .rt-top .rt-news-page__inner {
  width: var(--rt-inner) !important;
  max-width: var(--rt-inner-max) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body .rt-top .rt-news-page__hero-inner,
body .rt-top .rt-news-page__hero > .rt-news-page__inner {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: end !important;
  column-gap: clamp(36px, 5vw, 80px) !important;
}

body .rt-top .rt-news-page__head {
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

body .rt-top .rt-news-page__en,
body .rt-top .rt-news-page .rt-section-en {
  margin: 0 0 clamp(12px, 1vw, 18px) !important;
  color: #034eb6 !important;
  font-size: clamp(13px, 1.05vw, 18px) !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
  letter-spacing: 0.24em !important;
}

body .rt-top .rt-news-page__title,
body .rt-top .rt-news-page .rt-section-title {
  margin: 0 !important;
  color: #333333 !important;
  font-size: clamp(34px, 3.1vw, 56px) !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
}

body .rt-top .rt-news-page__breadcrumb {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  justify-self: end !important;
  margin: 0 0 clamp(8px, 0.7vw, 12px) !important;
  padding: 0 !important;
  color: #333333 !important;
  font-size: clamp(11px, 0.75vw, 13px) !important;
  line-height: 1 !important;
  font-weight: 500 !important;
  letter-spacing: 0.04em !important;
  white-space: nowrap !important;
}

body .rt-top .rt-news-page__breadcrumb ol {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: clamp(10px, 0.9vw, 16px) !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  counter-reset: none !important;
}

body .rt-top .rt-news-page__breadcrumb li {
  display: inline-flex !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body .rt-top .rt-news-page__breadcrumb li::before,
body .rt-top .rt-news-page__breadcrumb li::after,
body .rt-top .rt-news-page__breadcrumb ol::before,
body .rt-top .rt-news-page__breadcrumb ol::after {
  content: none !important;
  display: none !important;
}

body .rt-top .rt-news-page__breadcrumb ol,
body .rt-top .rt-news-page__breadcrumb li {
  list-style-type: none !important;
}

body .rt-top .rt-news-page__breadcrumb li::marker {
  content: "" !important;
  font-size: 0 !important;
}

body .rt-top .rt-news-page__breadcrumb a,
body .rt-top .rt-news-page__breadcrumb span {
  display: inline-flex !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #333333 !important;
  text-decoration: none !important;
}

body .rt-top .rt-news-page__breadcrumb > a::after {
  content: "" !important;
  width: clamp(9px, 0.7vw, 13px) !important;
  height: 2px !important;
  display: inline-block !important;
  flex: 0 0 auto !important;
  margin: 0 clamp(10px, 0.9vw, 16px) !important;
  background: #034eb6 !important;
  transform: translateY(0) !important;
}

body .rt-top .rt-news-page__breadcrumb > span {
  color: #999999 !important;
}

body .rt-top .rt-news-page__breadcrumb .rt-news-page__breadcrumb-separator {
  width: clamp(9px, 0.7vw, 13px) !important;
  height: 2px !important;
  display: inline-block !important;
  background: #034eb6 !important;
  color: transparent !important;
  font-size: 0 !important;
  line-height: 0 !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  transform: translateY(0) !important;
  overflow: hidden !important;
}

body .rt-top .rt-news-page__breadcrumb .rt-news-page__breadcrumb-current {
  color: #999999 !important;
}

body .rt-top .rt-news-page__body {
  padding: 0 0 clamp(104px, 8.5vw, 156px) !important;
  background: #ffffff !important;
  overflow: hidden !important;
}

body .rt-top .rt-news-page__list {
  width: 100% !important;
  border-top: 1px solid #d8d8d8 !important;
}

body .rt-top .rt-news-page-item {
  position: relative !important;
  min-height: clamp(116px, 8.8vw, 168px) !important;
  padding: clamp(30px, 2.9vw, 52px) 0 clamp(30px, 2.8vw, 50px) !important;
  border-bottom: 1px solid #d8d8d8 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  column-gap: clamp(34px, 3.6vw, 68px) !important;
  align-items: start !important;
  color: #333333 !important;
}

body .rt-top .rt-news-page-item__main {
  min-width: 0 !important;
  --rt-news-date-w: clamp(82px, 5.8vw, 104px);
  --rt-news-cat-w: clamp(76px, 5.8vw, 104px);
  --rt-news-meta-gap: clamp(14px, 1.2vw, 22px);
}

body .rt-top .rt-news-page-item__meta {
  display: grid !important;
  grid-template-columns: var(--rt-news-date-w) var(--rt-news-cat-w) minmax(0, 1fr) !important;
  column-gap: var(--rt-news-meta-gap) !important;
  align-items: center !important;
}

body .rt-top .rt-news-page-item__meta time {
  color: #333333 !important;
  font-size: clamp(12px, 0.82vw, 15px) !important;
  line-height: 1.4 !important;
  font-weight: 400 !important;
  letter-spacing: 0.03em !important;
}

body .rt-top .rt-news-page-item__meta span {
  width: var(--rt-news-cat-w) !important;
  height: clamp(26px, 2vw, 36px) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: var(--rt-blue) !important;
  color: #ffffff !important;
  font-size: clamp(11px, 0.72vw, 13px) !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

body .rt-top .rt-news-page-item__meta h2 {
  min-height: clamp(26px, 2vw, 36px) !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  color: #333333 !important;
  font-size: clamp(17px, 1.18vw, 24px) !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  letter-spacing: 0.045em !important;
  transform: none !important;
}

body .rt-top .rt-news-page-item__text {
  margin: clamp(18px, 1.7vw, 30px) 0 0 calc(var(--rt-news-date-w) + var(--rt-news-cat-w) + var(--rt-news-meta-gap) * 2) !important;
  color: #333333 !important;
  font-size: clamp(12px, 0.82vw, 15px) !important;
  line-height: 1.9 !important;
  font-weight: 400 !important;
  letter-spacing: 0.035em !important;
  overflow: hidden !important;
  transition: max-height 0.32s ease !important;
}

body .rt-top .rt-news-page-item--has-more:not(.is-open) .rt-news-page-item__text {
  max-height: calc(1.9em * 2) !important;
}

body .rt-top .rt-news-page-item--has-more.is-open .rt-news-page-item__text {
  max-height: 40em !important;
}

body .rt-top .rt-news-page-item__links {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  align-self: end !important;
  gap: clamp(16px, 1.5vw, 28px) !important;
  padding-bottom: clamp(2px, 0.4vw, 8px) !important;
}

body .rt-top .rt-news-page-item__link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 14px !important;
  color: var(--rt-blue) !important;
  font-size: clamp(13px, 0.95vw, 17px) !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  white-space: nowrap !important;
  text-decoration: none !important;
}

body .rt-top .rt-news-page-item__link span {
  display: inline-block !important;
}

body .rt-top .rt-news-page-item__link i {
  width: clamp(36px, 2.7vw, 50px) !important;
  height: clamp(36px, 2.7vw, 50px) !important;
  display: inline-block !important;
  position: relative !important;
  overflow: hidden !important;
  border: 1px solid var(--rt-blue) !important;
  border-radius: 50% !important;
  transform: translateX(0) !important;
  transition: transform 0.28s ease, background 0.28s ease, border-color 0.28s ease !important;
}

body .rt-top .rt-news-page-item__link i::before {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  width: 8px !important;
  height: 8px !important;
  border-top: 1px solid var(--rt-blue) !important;
  border-right: 1px solid var(--rt-blue) !important;
  transform: translate(-60%, -50%) rotate(45deg) !important;
  transition: border-color 0.28s ease !important;
}

body .rt-top .rt-news-page-item__link:hover i,
body .rt-top .rt-news-page-item__link:focus-visible i {
  transform: translateX(6px) !important;
  background: var(--rt-blue) !important;
  border-color: var(--rt-blue) !important;
}

body .rt-top .rt-news-page-item__link:hover i::before,
body .rt-top .rt-news-page-item__link:focus-visible i::before {
  border-color: #ffffff !important;
}

body .rt-top .rt-news-page-item__more {
  width: clamp(36px, 2.7vw, 50px) !important;
  height: clamp(36px, 2.7vw, 50px) !important;
  margin: 0 !important;
  padding: 0 !important;
  display: inline-block !important;
  position: relative !important;
  border: 1px solid var(--rt-blue) !important;
  border-radius: 50% !important;
  background: #ffffff !important;
  color: var(--rt-blue) !important;
  box-shadow: none !important;
  outline: none !important;
  cursor: pointer !important;
  flex: 0 0 auto !important;
  transform: translateX(0) !important;
  transition: transform 0.28s ease, background 0.28s ease, border-color 0.28s ease !important;
}

body .rt-top .rt-news-page-item__more::before,
body .rt-top .rt-news-page-item__more::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  width: 14px !important;
  height: 1px !important;
  background: var(--rt-blue) !important;
  transform: translate(-50%, -50%) !important;
  transition: background 0.28s ease, transform 0.28s ease !important;
}

body .rt-top .rt-news-page-item__more::after {
  transform: translate(-50%, -50%) rotate(90deg) !important;
}

body .rt-top .rt-news-page-item__more:hover,
body .rt-top .rt-news-page-item__more:focus-visible {
  transform: translateX(6px) !important;
  background: var(--rt-blue) !important;
  border-color: var(--rt-blue) !important;
}

body .rt-top .rt-news-page-item__more:hover::before,
body .rt-top .rt-news-page-item__more:hover::after,
body .rt-top .rt-news-page-item__more:focus-visible::before,
body .rt-top .rt-news-page-item__more:focus-visible::after {
  background: #ffffff !important;
}

body .rt-top .rt-news-page-item.is-open .rt-news-page-item__more::after {
  transform: translate(-50%, -50%) rotate(0deg) !important;
}

body .rt-top .rt-news-page__pager {
  margin-top: clamp(54px, 5vw, 92px) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
}

body .rt-top .rt-news-page__pager .page-numbers {
  min-width: 42px !important;
  height: 42px !important;
  padding: 0 14px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid #d8d8d8 !important;
  border-radius: 4px !important;
  background: #ffffff !important;
  color: #111111 !important;
  font-size: clamp(13px, 0.9vw, 16px) !important;
  line-height: 1 !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  box-shadow: none !important;
  transition: color 0.25s ease, background 0.25s ease, border-color 0.25s ease !important;
}

body .rt-top .rt-news-page__pager .page-numbers:hover,
body .rt-top .rt-news-page__pager .page-numbers:focus-visible {
  border-color: var(--rt-blue) !important;
  color: var(--rt-blue) !important;
}

body .rt-top .rt-news-page__pager .page-numbers.current {
  background: var(--rt-blue) !important;
  border-color: var(--rt-blue) !important;
  color: #ffffff !important;
}

body .rt-top .rt-news-page__pager .page-numbers.dots {
  min-width: auto !important;
  padding: 0 10px !important;
  border-color: transparent !important;
  background: transparent !important;
  color: #111111 !important;
}

body .rt-top .rt-news-page__pager .page-numbers.prev,
body .rt-top .rt-news-page__pager .page-numbers.next {
  min-width: 72px !important;
  width: auto !important;
  height: 42px !important;
  padding: 0 14px !important;
  position: relative !important;
  border: 1px solid #d8d8d8 !important;
  border-radius: 4px !important;
  background: #ffffff !important;
  color: #111111 !important;
  font-size: clamp(13px, 0.9vw, 16px) !important;
  line-height: 1 !important;
  font-weight: 500 !important;
  overflow: visible !important;
  transition: color 0.25s ease, background 0.25s ease, border-color 0.25s ease !important;
}

body .rt-top .rt-news-page__pager .page-numbers.prev::before,
body .rt-top .rt-news-page__pager .page-numbers.next::before {
  content: none !important;
  display: none !important;
}

body .rt-top .rt-news-page__pager .page-numbers.prev:hover,
body .rt-top .rt-news-page__pager .page-numbers.prev:focus-visible,
body .rt-top .rt-news-page__pager .page-numbers.next:hover,
body .rt-top .rt-news-page__pager .page-numbers.next:focus-visible {
  background: #ffffff !important;
  border-color: var(--rt-blue) !important;
  color: var(--rt-blue) !important;
}

@media (max-width: 960px) {
  body .rt-top .rt-news-page__hero {
    padding: clamp(76px, 10vw, 104px) 0 clamp(46px, 6vw, 64px) !important;
  }

  body .rt-top .rt-news-page__hero-inner,
  body .rt-top .rt-news-page__hero > .rt-news-page__inner,
  body .rt-top .rt-news-page__inner {
    width: min(calc(100vw - 48px), 760px) !important;
  }

  body .rt-top .rt-news-page__hero-inner,
  body .rt-top .rt-news-page__hero > .rt-news-page__inner {
    grid-template-columns: minmax(0, 1fr) auto !important;
    row-gap: 0 !important;
    column-gap: clamp(24px, 4vw, 52px) !important;
    align-items: end !important;
  }

  body .rt-top .rt-news-page__breadcrumb {
    display: inline-flex !important;
    width: auto !important;
    justify-self: end !important;
    justify-content: flex-end !important;
    margin: 0 0 clamp(6px, 1vw, 10px) !important;
  }
}

@media (max-width: 640px) {
  body .rt-top .rt-news-page__hero {
    padding: 64px 0 38px !important;
  }

  body .rt-top .rt-news-page__hero-inner,
  body .rt-top .rt-news-page__hero > .rt-news-page__inner,
  body .rt-top .rt-news-page__inner {
    width: calc(100vw - 40px) !important;
  }

  body .rt-top .rt-news-page__hero-inner,
  body .rt-top .rt-news-page__hero > .rt-news-page__inner {
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: end !important;
    column-gap: 16px !important;
  }

  body .rt-top .rt-news-page__en,
  body .rt-top .rt-news-page .rt-section-en {
    font-size: 12px !important;
    letter-spacing: 0.18em !important;
  }

  body .rt-top .rt-news-page__title,
  body .rt-top .rt-news-page .rt-section-title {
    font-size: clamp(28px, 7.6vw, 36px) !important;
  }

  body .rt-top .rt-news-page__breadcrumb {
    width: auto !important;
    justify-self: end !important;
    margin: 0 0 5px !important;
    font-size: 9px !important;
    letter-spacing: 0.02em !important;
  }

  body .rt-top .rt-news-page__breadcrumb ol {
    gap: 6px !important;
  }

  body .rt-top .rt-news-page__breadcrumb > a::after {
    width: 9px !important;
    height: 2px !important;
    margin: 0 6px !important;
  }

  body .rt-top .rt-news-page__body {
    padding-bottom: 78px !important;
  }

  body .rt-top .rt-news-page-item {
    grid-template-columns: 1fr !important;
    row-gap: 18px !important;
    padding: 22px 0 !important;
  }

  body .rt-top .rt-news-page-item__links {
    justify-content: flex-start !important;
  }

  body .rt-top .rt-news-page-item__meta {
    grid-template-columns: 1fr auto !important;
    row-gap: 10px !important;
    column-gap: 12px !important;
  }

  body .rt-top .rt-news-page-item__meta h2 {
    grid-column: 1 / -1 !important;
    min-height: 0 !important;
    font-size: 17px !important;
    line-height: 1.45 !important;
  }

  body .rt-top .rt-news-page-item__text {
    margin: 14px 0 0 !important;
    font-size: 13px !important;
    line-height: 1.85 !important;
  }

  body .rt-top .rt-news-page-item--has-more:not(.is-open) .rt-news-page-item__text {
    max-height: calc(1.85em * 2) !important;
  }

  body .rt-top .rt-news-page-item__link {
    font-size: 13px !important;
  }
}
