/* Hide the old header only after the replacement has been mounted. */
body.nf-shared-header-ready #header-container,
body.nf-shared-header-ready #navi,
body.nf-shared-header-ready .entry-content .nf-nav {
  display: none !important;
}
#nf-site-header {
  display: block; width: 100%; margin: 0; padding: 0;
  background: #f9f7f1; color: #293137;
  font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
}
#nf-site-header *, #nf-site-header *::before, #nf-site-header *::after { box-sizing: border-box; }
#nf-site-header .nf-site-nav {
  width: min(1200px, calc(100% - 64px)); margin: 0 auto; padding: 25px 0;
  display: flex; justify-content: space-between; align-items: center;
  gap: 24px; border-bottom: 1px solid #dadfd6;
}
#nf-site-header a { color: #293137; text-decoration: none; background: transparent; }
#nf-site-header a:hover { color: #52776e; }
#nf-site-header a:focus-visible { outline: 2px solid #52776e; outline-offset: 5px; }
#nf-site-header .nf-site-brand {
  font-family: Georgia, "Yu Mincho", serif; font-size: 27px;
  font-weight: 400; letter-spacing: .04em; line-height: 1.3;
}
#nf-site-header .nf-site-brand span {
  display: block; font-family: sans-serif; font-size: 11px; letter-spacing: .1em;
  color: #52776e; margin-top: 4px;
}
#nf-site-header .nf-site-links { display: flex; align-items: center; gap: 26px; font-size: 13px; line-height: 1.8; }
@media (max-width: 520px) {
  #nf-site-header .nf-site-nav { width: calc(100% - 36px); flex-wrap: wrap; gap: 16px; padding: 20px 0; }
  #nf-site-header .nf-site-links { width: 100%; justify-content: space-between; gap: 12px; font-size: 12px; }
}


body.nf-blog-ui:is(.blog, .category, .tag) {
  background: #f9f7f1;
  color: #293137;
}
body.nf-blog-ui:is(.blog, .category, .tag) #sidebar,
body.nf-blog-ui:is(.blog, .category, .tag) .sidebar {
  display: none !important;
}
body.nf-blog-ui:is(.blog, .category, .tag) #content {
  margin: 0 !important;
  padding: 0 !important;
}
body.nf-blog-ui:is(.blog, .category, .tag) .content-in {
  display: block !important;
  width: min(1120px, calc(100% - 64px)) !important;
  max-width: 1120px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}
body.nf-blog-ui:is(.blog, .category, .tag) #main {
  box-sizing: border-box;
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 44px 0 64px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.nf-blog-ui:is(.blog, .category, .tag) #header-container,
body.nf-blog-ui:is(.blog, .category, .tag) .header-container-in,
body.nf-blog-ui:is(.blog, .category, .tag) #header {
  background: #f9f7f1 !important;
  color: #293137;
}
body.nf-blog-ui:is(.blog, .category, .tag) #header-container {
  border-bottom: 1px solid #d6dcd2;
}
body.nf-blog-ui:is(.blog, .category, .tag) #header-in {
  min-height: 0 !important;
  padding: 20px 0 !important;
}
body.nf-blog-ui:is(.blog, .category, .tag) .tagline {
  margin: 0 !important;
  padding: 0 !important;
  color: #52776e;
  font-size: 12px;
  letter-spacing: .08em;
}
body.nf-blog-ui:is(.blog, .category, .tag) .logo {
  margin: 8px 0 0 !important;
  padding: 0 !important;
  font-family: Georgia, "Yu Mincho", serif;
  font-weight: 400;
  font-size: 32px;
}
body.nf-blog-ui:is(.blog, .category, .tag) .logo-text {
  padding: 8px 0 !important;
}
body.nf-blog-ui:is(.blog, .category, .tag) #navi {
  background: #edf1eb;
  color: #293137;
}
body.nf-blog-ui:is(.blog, .category, .tag) #list {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 36px 28px;
  align-items: stretch;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.nf-blog-ui:is(.blog, .category, .tag) #list::before {
  content: "Natu-Fem / 記事一覧";
  grid-column: 1 / -1;
  display: block;
  padding: 0 0 18px;
  border-bottom: 1px solid #bfcbbf;
  color: #52776e;
  font-size: 22px;
  line-height: 1.6;
  letter-spacing: .04em;
}
body.nf-blog-ui:is(.blog, .category, .tag) #list > :not(.entry-card-wrap) {
  grid-column: 1 / -1;
}
body.nf-blog-ui:is(.blog, .category, .tag) #list > .entry-card-wrap {
  display: block !important;
  float: none !important;
  box-sizing: border-box;
  width: 100% !important;
  min-width: 0;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 0 20px !important;
  border: 0 !important;
  border-bottom: 1px solid #d6dcd2 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #293137;
  text-decoration: none !important;
  box-shadow: none !important;
  transform: none !important;
}
body.nf-blog-ui:is(.blog, .category, .tag) #list .entry-card {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}
body.nf-blog-ui:is(.blog, .category, .tag) #list .entry-card-thumb {
  display: block !important;
  float: none !important;
  position: relative;
  box-sizing: border-box;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  margin: 0 0 18px !important;
  padding: 0 !important;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  background: #edf1eb;
}
body.nf-blog-ui:is(.blog, .category, .tag) #list .entry-card-thumb img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  margin: 0 !important;
  object-fit: cover;
  aspect-ratio: 16 / 9;
}
body.nf-blog-ui:is(.blog, .category, .tag) #list .entry-card-content {
  position: static !important;
  width: auto !important;
  min-width: 0;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.nf-blog-ui:is(.blog, .category, .tag) #list .entry-card-title {
  margin: 0 0 12px !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  color: #293137;
  font-size: 17px !important;
  font-weight: 500;
  line-height: 1.85 !important;
  overflow-wrap: anywhere;
}
body.nf-blog-ui:is(.blog, .category, .tag) #list .entry-card-wrap:hover .entry-card-title {
  color: #52776e;
}
body.nf-blog-ui:is(.blog, .category, .tag) #list .entry-card-wrap:focus-visible {
  outline: 3px solid #52776e;
  outline-offset: 5px;
}
body.nf-blog-ui:is(.blog, .category, .tag) #list .entry-card-snippet {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  margin: 0 0 14px !important;
  color: #5e676b;
  font-size: 13px !important;
  line-height: 1.85 !important;
}
body.nf-blog-ui:is(.blog, .category, .tag) #list .entry-card-meta,
body.nf-blog-ui:is(.blog, .category, .tag) #list .entry-card-info {
  position: static !important;
  margin: 14px 0 0 !important;
  text-align: left;
  color: #5e676b;
  font-size: 12px;
}
body.nf-blog-ui:is(.blog, .category, .tag) #list .cat-label {
  padding: 5px 9px;
  border: 0;
  background: #52776e;
  color: #fff;
  font-size: 11px;
  line-height: 1.5;
}
body.nf-blog-ui:is(.blog, .category, .tag) #list .admin-pv {
  display: none !important;
}
body.nf-blog-ui:is(.blog, .category, .tag) .pagination {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
  margin: 44px 0 0;
}
body.nf-blog-ui:is(.blog, .category, .tag) .pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  min-height: 42px;
  margin: 0;
  padding: 8px 12px;
  border: 1px solid #d6dcd2;
  border-radius: 0;
  color: #293137;
  background: transparent;
  font-size: 14px;
}
body.nf-blog-ui:is(.blog, .category, .tag) .pagination .current,
body.nf-blog-ui:is(.blog, .category, .tag) .pagination a:hover {
  background: #52776e;
  border-color: #52776e;
  color: #fff;
}
body.nf-blog-ui:is(.blog, .category, .tag) #footer {
  margin-top: 0;
  padding: 30px 0;
  background: #28484c;
  color: #f9f7f1;
}
body.nf-blog-ui:is(.blog, .category, .tag) #footer a {
  color: #f9f7f1;
}
@media (max-width: 1023px) {
  body.nf-blog-ui:is(.blog, .category, .tag) #list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 30px 24px;
  }
}
@media (max-width: 600px) {
  body.nf-blog-ui:is(.blog, .category, .tag) .content-in {
    width: calc(100% - 36px) !important;
  }
  body.nf-blog-ui:is(.blog, .category, .tag) #main {
    padding: 28px 0 44px !important;
  }
  body.nf-blog-ui:is(.blog, .category, .tag) #list {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
  }
  body.nf-blog-ui:is(.blog, .category, .tag) #list::before {
    font-size: 20px;
  }
  body.nf-blog-ui:is(.blog, .category, .tag) #list .entry-card-title {
    font-size: 17px !important;
  }
  body.nf-blog-ui:is(.blog, .category, .tag) #list .entry-card-snippet {
    -webkit-line-clamp: 2;
  }
}



/* Article palette and reading layout; more specific than the previous Additional CSS. */
body.nf-blog-ui { background: #f9f7f1 !important; color: #293137; }
body.single-post.nf-blog-ui #content { margin: 0 !important; padding: 0 !important; background: transparent !important; }
body.single-post.nf-blog-ui .content-in { display: block !important; width: min(820px, calc(100% - 64px)) !important; max-width: 820px !important; margin: 0 auto !important; padding: 0 !important; }
body.single-post.nf-blog-ui #sidebar { display: none !important; }
body.single-post.nf-blog-ui #main,
body.single-post.nf-blog-ui .article { box-sizing: border-box; width: 100% !important; max-width: none !important; margin: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }
body.single-post.nf-blog-ui #main { padding: 48px 0 64px !important; }
body.single-post.nf-blog-ui .article { padding: 0 !important; }
body.single-post.nf-blog-ui .entry-title { color: #293137 !important; font-size: clamp(24px, 2.3vw, 32px) !important; line-height: 1.75 !important; font-weight: 500 !important; margin: 0 0 28px !important; }
body.single-post.nf-blog-ui .entry-content { color: #293137; font-size: 16px; line-height: 2; overflow-wrap: anywhere; }
body.single-post.nf-blog-ui .entry-content h2 { background: #edf1eb !important; border: 0 !important; border-left: 3px solid #52776e !important; color: #293137 !important; }
body.single-post.nf-blog-ui .entry-content h3 { border-bottom-color: #bfcbbf !important; color: #293137 !important; }
body.single-post.nf-blog-ui .entry-content h4 { background: transparent !important; border-color: #bfcbbf !important; color: #52776e !important; }
body.single-post.nf-blog-ui .toc { background: #edf1eb !important; border: 1px solid #d6dcd2 !important; color: #293137; max-width: 100%; box-sizing: border-box; }
body.single-post.nf-blog-ui .toc-title,
body.single-post.nf-blog-ui .toc a:hover { color: #52776e !important; }
body.single-post.nf-blog-ui .entry-content a { color: #41675e; text-underline-offset: 3px; }
body.single-post.nf-blog-ui .cat-label { background: #52776e; color: white; border: 0; }
body.single-post.nf-blog-ui .tag-link,
body.single-post.nf-blog-ui .cat-link { background: #edf1eb; color: #41675e; border: 1px solid #d6dcd2; }
body.single-post.nf-blog-ui .date-tags { color: #5e676b; }
body.single-post.nf-blog-ui .entry-content blockquote { background: #edf1eb; border-color: #bfcbbf; color: #5e676b; }
body.single-post.nf-blog-ui #footer { background: #28484c; color: #f9f7f1; margin-top: 0; padding: 30px 0; }
body.single-post.nf-blog-ui #footer a { color: #f9f7f1; }
/* Taxonomies retain their actual term heading rather than the generic index label. */
body.nf-blog-ui:is(.category, .tag) #list::before { content: none !important; display: none !important; }
body.nf-blog-ui:is(.category, .tag) .archive-title { padding: 0 0 18px !important; margin: 0 0 32px !important; border: 0 !important; border-bottom: 1px solid #bfcbbf !important; background: transparent !important; color: #52776e; font-size: 24px; line-height: 1.6; font-weight: 500; }
body.nf-blog-ui:is(.category, .tag) .category-description,
body.nf-blog-ui:is(.category, .tag) .tag-description { color: #5e676b; line-height: 1.9; margin-bottom: 30px; }
@media (max-width:600px) {
 body.single-post.nf-blog-ui .content-in { width: calc(100% - 36px) !important; }
 body.single-post.nf-blog-ui #main { padding: 28px 0 44px !important; }
 body.single-post.nf-blog-ui .entry-content { font-size: 15px; line-height: 1.95; }
 body.single-post.nf-blog-ui .entry-content h2 { font-size: 19px !important; padding: 14px 16px !important; }
 body.single-post.nf-blog-ui .toc { padding: 20px 18px; }
}
