.page-title {
  background-image: url(../images/news/title-bg-news.png);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  height: 30.52vw;
  max-height: 417px;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  padding-bottom: 12px;
}

.page-title .container {
  width: 100%;
}

.page-title .page-title-inner {
  display: flex;
  align-items: flex-end;
  gap: 30px;
  margin-bottom: 95px;
  margin-left: -0.8em;
}

.page-title .title {
  font-size: 15px;
  line-height: 1;
  color: #fff;
  padding-bottom: 16px;
}

.page-title .caveat {
  font-size: 110px;
  letter-spacing: 0.04em;
  line-height: 1;
  color: #fff;
  letter-spacing: 0.02em;
}

.page-title .breadcrumb ul {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 10px;
}

.page-title .breadcrumb ul li {
  font-size: 12px;
  letter-spacing: 0.04em;
  line-height: 1.4;
  color: #fff;
  display: flex;
  align-items: center;
}

.page-title .breadcrumb ul li:not(:last-child)::after {
  content: ">";
  display: inline-block;
  margin-left: 10px;
  font-size: 1.5em;
}

.page-title .breadcrumb ul li a {
  color: #fff !important;
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .page-title {
    padding-bottom: 0.9vw;
  }

  .page-title .page-title-inner {
    gap: 2.2vw;
    margin-bottom: 6.9vw;
  }

  .page-title .title {
    font-size: 1.1vw;
    padding-bottom: 1.2vw;
  }

  .page-title .caveat {
    font-size: 8vw;
  }

  .page-title .breadcrumb ul {
    gap: 0.75vw;
  }

  .page-title .breadcrumb ul li {
    font-size: 0.9vw;
  }

  .page-title .breadcrumb ul li:not(:last-child)::after {
    margin-left: 0.75vw;
  }
}

@media screen and (max-width: 767px) {
  .page-title {
    background-image: url(../images/news/title-bg-news-sp.png);
    height: 77.6vw;
    max-height: unset;
    padding-bottom: 1.6vw;
  }

  .page-title .page-title-inner {
    gap: 7vw;
    margin-bottom: 16vw;
    margin-left: 0;
  }

  .page-title .title {
    font-size: 4vw;
    padding-bottom: 3vw;
  }

  .page-title .caveat {
    font-size: 20vw;
    letter-spacing: 0.04em;
  }

  .page-title .breadcrumb ul {
    gap: 4vw;
  }

  .page-title .breadcrumb ul li {
    font-size: 3vw;
  }

  .page-title .breadcrumb ul li:not(:last-child)::after {
    margin-left: 4vw;
  }
}

.page-content {
  padding-top: 70px;
  padding-bottom: 60px;
  background-image: url(../images/news/bg.png);
  background-size: 100% auto;
  background-position: center top min(25.5vw, 350px);
  background-repeat: no-repeat;
}

.page-content .container {
  max-width: 800px;
}

.news-item {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 28px;
  padding: 20px 50px 20px 0;
  border-bottom: 1px solid #4764dc;
  padding-bottom: 20px;
  position: relative;
}

.news-item::after {
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  border-right: 1px solid #959595;
  border-bottom: 1px solid #959595;
  margin-left: auto;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translate(-50%, -50%) rotate(-45deg);
  transition: opacity 0.3s ease;
}

.news-item:first-of-type {
  border-top: 1px solid #4764dc;
}

.news-date {
  font-family: "Montserrat", sans-serif;
  font-size: 16px;
  line-height: 31px;
  color: #9b9b9b;
  font-weight: 500;
  width: fit-content;
  white-space: nowrap;
  transition: opacity 0.3s ease;
}

.news-category {
  font-size: 14px;
  color: #4764dc;
  border: 1px solid #4764dc;
  border-radius: 4px;
  padding: 4px 10px;
  width: fit-content;
  white-space: nowrap;
  transition: opacity 0.3s ease;
}

.news-title {
  font-size: 16px;
  font-weight: 600;
  color: #000000;
  line-height: 31px;
  transition: opacity 0.3s ease;
}

.nav-links {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 60px;
  margin-top: 45px;
}

.prev,
.next {
  width: 28.5px;
  height: 23px;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  transition: opacity 0.3s ease;
}

.prev {
  background-image: url(../images/left.png);
}

.next {
  background-image: url(../images/right.png);
}

.prev.disabled {
  background-image: url(../images/left-disabled.png);
}

.next.disabled {
  background-image: url(../images/right-disabled.png);
}

.page-numbers {
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  font-size: 20px;
  color: #d4d7e0;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 60px;
  transition: color 0.3s ease;
}

.page-numbers.disabled {
  color: #d4d7e0;
}

.page-numbers.current {
  color: #4764dc;
}

@media screen and (min-width: 768px) and (max-width: 1200px) {
  .page-content .container {
    width: 90%;
    max-width: 800px;
  }
}

@media screen and (min-width: 768px) {
  .page-numbers:not(.dots):hover {
    color: #4764dc;
  }
  .news-item:hover * {
    opacity: 0.5;
  }
  .prev:not(.disabled):hover,
  .next:not(.disabled):hover {
    opacity: 0.5;
  }
}

@media screen and (max-width: 767px) {
  .page-content {
    padding-top: 10.6vw;
    padding-bottom: 10.6vw;
    background-image: url(../images/news/bg-sp.png);
    background-position: center top 81vw;
  }

  .page-content .container {
    max-width: 92vw;
  }

  .news-item {
    flex-wrap: wrap;
    gap: 4vw 6vw;
    padding: 5vw 10vw 5vw 0;
    border-width: 0.35vw;
  }

  .news-item:first-of-type {
    border-top-width: 0.35vw;
  }

  .news-item::after {
    display: none;
  }

  .news-date {
    font-size: 4vw;
    line-height: 8vw;
  }

  .news-category {
    font-size: 3.5vw;
    padding: 0.6vw 2.4vw;
    border-width: 0.35vw;
    border-radius: 1vw;
  }

  .news-title {
    font-size: 4vw;
    line-height: 1.4;
    position: relative;
    width: 100%;
  }

  .news-title::after {
    content: "";
    display: block;
    width: 3vw;
    height: 3vw;
    border-right: 0.35vw solid #959595;
    border-bottom: 0.35vw solid #959595;
    margin-left: auto;
    position: absolute;
    right: -10vw;
    top: 50%;
    transform: translate(-50%, -50%) rotate(-45deg);
  }

  .nav-links {
    gap: 10vw;
    margin-top: 12vw;
    justify-content: space-between;
  }

  .prev,
  .next {
    width: 9.8vw;
    height: 7.4vw;
  }

  .page-numbers {
    font-size: 5vw;
    gap: 13vw;
  }
}
