/* Blog additions reuse the existing news layout and stay scoped to the blog. */
.blog-section .blog_list {
  min-width: 0;
}

.blog-section .blog_item a {
  display: flex;
  padding: 0 10px 14px;
  border-bottom: 1px dotted #ccc;
  text-decoration: none;
  gap: 20px;
}

.blog-section .blog_date {
  flex: 0 0 160px;
  color: #999;
}

.blog-section .blog_title {
  min-width: 0;
  overflow-wrap: anywhere;
}

.blog-section .blog_item a:hover .blog_title,
.blog-section .blog_item a:focus-visible .blog_title {
  text-decoration: underline;
}

.blog-empty {
  color: #666;
}

.blog-archive .title,
.blog-archive .honbun,
.blog-entry .entry-title,
.blog-entry .entry-content {
  overflow-wrap: anywhere;
}

.blog-archive .item_footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  column-gap: 10px;
}

.blog-entry .entry-content {
  padding: 50px 40px 30px;
}

.blog-entry .entry-content iframe {
  max-width: 100%;
}

.blog-entry .wp-block-table {
  overflow-x: auto;
}

.blog-archive .pagination,
.blog-single .post-navigation {
  margin: 30px 40px;
}

.blog-archive .pagination .nav-links {
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
}

.blog-archive .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  padding: 6px 12px;
  border: 1px solid #ccc;
}

.blog-archive .page-numbers.current {
  background: #3d7743;
  border-color: #3d7743;
  color: #fff;
}

.blog-single .nav-links {
  gap: 24px;
  overflow-wrap: anywhere;
}

.blog-single .nav-links > div {
  flex: 1;
  min-width: 0;
}

.blog-single .nav-next {
  text-align: right;
}

.blog-single .nav-subtitle {
  font-size: 0.9rem;
}

main.main-fluid .blog-back {
  margin: 35px 40px 60px;
}

@media only screen and (max-width: 767px) {
  main.main-fluid article.toppage .ct_blog {
    display: block;
    padding: 25px 20px 0;
  }

  main.main-fluid article.toppage .ct_blog > .news_title {
    width: auto;
    text-align: left;
  }

  .ct_blog h3 {
    font-size: 1rem;
    color: #12841d;
    margin: 0 0 15px;
  }

  main.main-fluid article.toppage .ct_blog .blog_list {
    margin: 0;
    padding: 0;
  }

  .blog-section .blog_item a {
    display: block;
    padding: 10px 0;
  }

  .blog-section .blog_date {
    display: block;
    font-size: 0.875rem;
  }

  main.main-fluid .blog-button {
    margin: 15px 20px 30px;
  }
}

@media only screen and (max-width: 479px) {
  .blog-entry .entry-content {
    padding: 30px 20px;
  }

  .blog-single .post-navigation,
  .blog-archive .pagination {
    margin: 25px 20px;
  }

  main.main-fluid .blog-back {
    margin: 25px 20px 40px;
  }
}
