.under-topic {
  background-color: #fff;
  padding-bottom: 200px; }
  @media screen and (max-width: 834px) {
    .under-topic {
      padding-bottom: 100px; } }
  @media screen and (max-width: 640px) {
    .under-topic {
      padding-bottom: 40px; } }

.topic-section {
  max-width: 960px;
  margin: 40px auto;
  padding: 0 20px; }

.section-title {
  text-align: center;
  font-size: 2.5em;
  margin-bottom: 10px;
  color: #333; }

.section-subtitle {
  text-align: center;
  font-size: 1.2em;
  color: #777;
  margin-bottom: 40px; }

.tab-buttons-wrap {
  margin-bottom: 100px;
  text-align: center; }
  @media screen and (max-width: 834px) {
    .tab-buttons-wrap {
      margin-bottom: 60px; } }

.tab-buttons {
  border-radius: 25px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  background: #f8f8f8;
  height: 50px; }
  @media screen and (max-width: 1024px) {
    .tab-buttons {
      height: 40px; } }
  @media screen and (max-width: 834px) {
    .tab-buttons {
      max-width: 800px;
      width: 100%; } }
  @media screen and (max-width: 640px) {
    .tab-buttons {
      flex-wrap: wrap;
      height: auto;
      box-shadow: none; } }

.tab-button {
  border: none;
  padding: 10px 20px;
  cursor: pointer;
  color: #555;
  outline: none;
  transition: background-color 0.3s;
  border-radius: 25px;
  width: 200px;
  background: none;
  height: 50px;
  font-family: "Shippori Mincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Yu Mincho", "MS PMincho", serif; }
  @media screen and (max-width: 1024px) {
    .tab-button {
      padding: 8px 20px 10px;
      width: 170px;
      height: 40px; } }
  @media screen and (max-width: 834px) {
    .tab-button {
      width: 25%; } }
  @media screen and (max-width: 640px) {
    .tab-button {
      width: 50%; } }

.tab-button:hover {
  color: #5a004a; }

.tab-button.active {
  background-color: #5a004a;
  color: #fff; }

.article-item:not(.active) {
  display: none; }

.article-item {
  display: flex;
  /* Keep as flex for larger screens */
  margin-bottom: 50px;
  border-bottom: 1px solid #c9c9c9;
  padding-bottom: 50px; }
  .article-item:last-child {
    border-bottom: 0;
    margin-bottom: 0;
    padding-bottom: 0; }
  @media screen and (max-width: 834px) {
    .article-item {
      flex-direction: column;
      align-items: flex-start;
      margin-bottom: 30px;
      padding-bottom: 30px; } }

.article-datecat {
  display: flex;
  justify-content: flex-start; }
  @media screen and (max-width: 834px) {
    .article-datecat {
      margin-bottom: 15px; } }

.article-date {
  flex-shrink: 0;
  width: 130px;
  margin-right: 20px;
  color: #777; }
  @media screen and (max-width: 1024px) {
    .article-date {
      width: 90px; } }
  @media screen and (max-width: 834px) {
    .article-date {
      width: 65px; } }

.article-category {
  flex-shrink: 0;
  width: 140px;
  margin-right: 50px;
  padding: 5px 10px;
  border-radius: 3px;
  text-align: center;
  color: #fff;
  display: flex;
  height: 44px;
  font-size: 1.4rem;
  align-items: center;
  justify-content: center; }
  @media screen and (max-width: 1024px) {
    .article-category {
      width: 130px;
      margin-right: 30px;
      height: 36px; } }
  @media screen and (max-width: 834px) {
    .article-category {
      width: 110px;
      margin-right: 30px;
      height: 28px;
      font-size: 1.2rem; } }

.category-update {
  background-color: #00909d; }

.category-event {
  background-color: #97acbc; }

.category-media {
  background-color: #6e98e4; }

.article-cont {
  flex-grow: 1; }

.article-title {
  font-size: 2.2rem;
  margin-bottom: 20px;
  font-weight: 500; }
  @media screen and (max-width: 1024px) {
    .article-title {
      font-size: 1.8rem;
      margin-bottom: 15px; } }
  @media screen and (max-width: 834px) {
    .article-title {
      font-size: 1.6rem; } }

.article-excerpt {
  font-size: 1.7rem; }
  @media screen and (max-width: 1024px) {
    .article-excerpt {
      font-size: 1.6rem; } }
  @media screen and (max-width: 834px) {
    .article-excerpt {
      font-size: 1.4rem; } }
