/* ===== LCJ Dark Theme for WordPress ===== */
body, html, #body_wrap {
  background: #0a0515 !important;
  color: #e0dce8 !important;
}
.l-content, .l-mainContent, .l-mainContent__inner, .l-container, #content {
  background: transparent !important;
  color: #e0dce8 !important;
}
.c-pageTitle, .l-topTitleArea, .p-breadcrumb { color: #e0dce8 !important; }
.c-pageTitle {
  font-size: 42px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
}
.c-pageTitle::after {
  content: '';
  display: block;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, #e63946, #d4842a);
  margin-top: 16px;
}
.p-breadcrumb, .p-breadcrumb a, .p-breadcrumb span { color: rgba(200,190,220,0.6) !important; }
.p-breadcrumb a:hover { color: #d4842a !important; }
.p-postList__item, .-type-list .p-postList__item, .-type-card .p-postList__item {
  background: rgba(20,15,35,0.8) !important;
  border: 1px solid rgba(80,60,120,0.2) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  transition: all 0.3s ease !important;
}
.p-postList__item:hover {
  border-color: rgba(212,132,42,0.4) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 32px rgba(212,132,42,0.1) !important;
}
.p-postList__title, .p-postList__title a { color: #fff !important; font-weight: 600 !important; }
.p-postList__meta, .p-postList__date, .p-postList__cat, .c-postMeta, .c-postMeta__item { color: rgba(180,170,200,0.7) !important; }
.c-postThumb__cat, .p-postList__cat {
  background: rgba(212,132,42,0.2) !important;
  color: #d4842a !important;
  border-radius: 4px !important;
  font-size: 12px !important;
}
.post_content, .post_content p, .post_content li, .post_content td, .post_content th, .post_content span, .entry-content, .entry-content p {
  color: #d0cce0 !important;
  line-height: 1.9 !important;
}
.post_content h1, .post_content h2, .post_content h3, .post_content h4, .post_content h5, .post_content h6 { color: #fff !important; font-weight: 700 !important; }
.post_content h2 {
  font-size: 1.6em !important;
  padding: 16px 20px !important;
  margin: 2em 0 1em !important;
  border-left: 4px solid #d4842a !important;
  border-bottom: none !important;
  background: rgba(212,132,42,0.08) !important;
  border-radius: 0 8px 8px 0 !important;
}
.post_content h3 {
  font-size: 1.3em !important;
  padding: 12px 16px !important;
  margin: 1.5em 0 0.8em !important;
  border-left: 3px solid rgba(212,132,42,0.5) !important;
  background: rgba(20,15,35,0.5) !important;
  border-radius: 0 6px 6px 0 !important;
}
.post_content h4 {
  font-size: 1.15em !important;
  margin: 1.2em 0 0.6em !important;
  padding-bottom: 8px !important;
  border-bottom: 1px solid rgba(80,60,120,0.3) !important;
}
.post_content a { color: #d4842a !important; text-decoration: underline !important; text-underline-offset: 3px !important; }
.post_content a:hover { color: #e8a04a !important; }
.post_content blockquote, blockquote {
  background: rgba(20,15,35,0.6) !important;
  border-left: 4px solid #d4842a !important;
  color: #c0bcd0 !important;
  padding: 20px 24px !important;
  margin: 1.5em 0 !important;
  border-radius: 0 8px 8px 0 !important;
}
.post_content table { border-collapse: collapse !important; width: 100% !important; margin: 1.5em 0 !important; }
.post_content table th {
  background: rgba(212,132,42,0.15) !important;
  color: #fff !important;
  font-weight: 600 !important;
  padding: 12px 16px !important;
  border: 1px solid rgba(80,60,120,0.3) !important;
}
.post_content table td {
  padding: 10px 16px !important;
  border: 1px solid rgba(80,60,120,0.2) !important;
  background: rgba(15,10,25,0.5) !important;
}
.post_content code, .post_content pre {
  background: rgba(15,10,25,0.8) !important;
  color: #d4842a !important;
  border: 1px solid rgba(80,60,120,0.3) !important;
  border-radius: 4px !important;
}
.post_content img { border-radius: 8px !important; max-width: 100% !important; height: auto !important; }
.swell-block-blog-card, .p-blogCard, .-type-blog_card {
  background: rgba(20,15,35,0.8) !important;
  border: 1px solid rgba(80,60,120,0.3) !important;
  border-radius: 8px !important;
}
.swell-block-blog-card a, .p-blogCard__title { color: #fff !important; }
.l-sidebar, .l-sidebar .widget, .widget { background: transparent !important; color: #d0cce0 !important; }
.widget a { color: #c0bcd0 !important; }
.widget a:hover { color: #d4842a !important; }
.widget_title, .widget h3 { color: #fff !important; }
.p-pager__item a, .page-numbers a {
  color: #c0bcd0 !important;
  background: rgba(20,15,35,0.8) !important;
  border: 1px solid rgba(80,60,120,0.3) !important;
  border-radius: 6px !important;
}
.p-pager__item a:hover, .page-numbers a:hover {
  color: #fff !important;
  border-color: #d4842a !important;
  background: rgba(212,132,42,0.1) !important;
}
.p-pager__item .current, .page-numbers.current {
  background: #d4842a !important;
  color: #fff !important;
  border-color: #d4842a !important;
}
.p-relatedPosts, .p-relatedPosts__title { color: #fff !important; }
.p-authorBox {
  background: rgba(20,15,35,0.6) !important;
  border: 1px solid rgba(80,60,120,0.2) !important;
  border-radius: 12px !important;
  color: #d0cce0 !important;
}
.c-commentArea, .comment-respond { background: rgba(20,15,35,0.6) !important; color: #d0cce0 !important; }
.swell-block-accordion, .swell-block-faq {
  background: rgba(20,15,35,0.6) !important;
  border: 1px solid rgba(80,60,120,0.3) !important;
  color: #d0cce0 !important;
}
select, input[type="text"], input[type="search"], textarea {
  background: rgba(20,15,35,0.8) !important;
  color: #e0dce8 !important;
  border: 1px solid rgba(80,60,120,0.3) !important;
  border-radius: 6px !important;
}
.post_content strong { color: #fff !important; }
.post_content ul, .post_content ol { color: #d0cce0 !important; }
.post_content hr { border-color: rgba(80,60,120,0.3) !important; }
.l-header, .l-header__inner, #header { background: transparent !important; }
.post-detail-head h1, .c-postTitle {
  color: #fff !important;
  font-size: 28px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
}
.p-postList.-type-card2 .p-postList__item, .p-postList.-type-card .p-postList__item {
  background: rgba(20,15,35,0.8) !important;
  border: 1px solid rgba(80,60,120,0.2) !important;
}
.l-mainContent__inner > .post_content, .l-mainContent__inner > article, .p-articleMetas, .c-shareBtns, .p-articleFoot {
  background: transparent !important;
}


/* ===== News List Styles - Fix Image Cropping (High Specificity) ===== */
body .news-item,
html body .news-item {
  display: flex !important;
  gap: 16px !important;
  height: auto !important;
  min-height: 160px !important;
  max-height: none !important;
  background: rgba(20,15,35,0.8) !important;
  border: 1px solid rgba(80,60,120,0.2) !important;
  border-radius: 12px !important;
  margin-top: 20px !important;
  overflow: hidden !important;
  cursor: pointer !important;
  transition: border-color 0.3s ease, transform 0.2s ease !important;
}
body .news-item:hover {
  border-color: rgba(212,132,42,0.4) !important;
  transform: translateY(-2px) !important;
}
body .news-image,
html body .news-image {
  flex: 0 0 280px !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(10,5,21,0.5) !important;
  max-height: none !important;
  height: auto !important;
}
body .news-image img,
html body .news-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 0 !important;
  max-height: none !important;
}
body .news-content,
html body .news-content {
  flex: 1 !important;
  padding: 20px 20px 20px 0 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}
body .news-content p {
  margin: 0 0 8px 0 !important;
  font-weight: 600 !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  white-space: normal !important;
}
body .news-content p a {
  color: #fff !important;
  text-decoration: none !important;
}
body .news-content p a:hover {
  color: #d4842a !important;
}
body .news-content .news-date {
  font-size: 13px !important;
  color: rgba(200,190,220,0.5) !important;
  margin-top: auto !important;
}
body .pagination {
  margin-top: 40px !important;
  text-align: center !important;
}
body .pagination-list {
  display: flex !important;
  justify-content: center !important;
  gap: 8px !important;
  list-style: none !important;
  padding: 0 !important;
}
body .pagination-list li {
  list-style: none !important;
}
body .page-numbers {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 40px !important;
  height: 40px !important;
  padding: 0 12px !important;
  border-radius: 8px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #c0bcd0 !important;
  background: rgba(20,15,35,0.8) !important;
  border: 1px solid rgba(80,60,120,0.3) !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}
body .page-numbers:hover {
  color: #fff !important;
  border-color: #d4842a !important;
  background: rgba(212,132,42,0.1) !important;
}
body .page-numbers.current {
  background: #d4842a !important;
  color: #fff !important;
  border-color: #d4842a !important;
}
body .page-numbers.dots {
  border: none !important;
  background: transparent !important;
}
@media (max-width: 768px) {
  body .news-item {
    height: auto !important;
    min-height: 100px !important;
    max-height: none !important;
    gap: 10px !important;
    margin-top: 16px !important;
  }
  body .news-image {
    flex: 0 0 120px !important;
  }
  body .news-content {
    padding: 12px 12px 12px 0 !important;
  }
  body .news-content p {
    font-size: 14px !important;
    -webkit-line-clamp: 2 !important;
  }
  body .news-content .news-date {
    font-size: 12px !important;
  }
}
body .filter select {
  background: rgba(20,15,35,0.8) !important;
  color: #e0dce8 !important;
  border: 1px solid rgba(80,60,120,0.3) !important;
  border-radius: 8px !important;
}


/* ===== Breadcrumb Dark Theme ===== */
#breadcrumb,
#breadcrumb.p-breadcrumb,
#breadcrumb.p-breadcrumb.-bg-on,
body #breadcrumb,
html body #breadcrumb {
  background: #0a0515 !important;
  background-color: #0a0515 !important;
  border-bottom: 1px solid rgba(80,60,120,0.2) !important;
}
#breadcrumb .p-breadcrumb__list,
body #breadcrumb .p-breadcrumb__list {
  background: transparent !important;
  background-color: transparent !important;
}
#breadcrumb .p-breadcrumb__item,
body #breadcrumb .p-breadcrumb__item {
  color: rgba(200,190,220,0.6) !important;
}
#breadcrumb .p-breadcrumb__text,
body #breadcrumb .p-breadcrumb__text {
  color: rgba(200,190,220,0.6) !important;
}
#breadcrumb a.p-breadcrumb__text,
body #breadcrumb a.p-breadcrumb__text {
  color: rgba(200,190,220,0.8) !important;
}
#breadcrumb a.p-breadcrumb__text:hover {
  color: #d4842a !important;
}
#breadcrumb .p-breadcrumb__item::before,
#breadcrumb .p-breadcrumb__item::after {
  color: rgba(200,190,220,0.4) !important;
}
#breadcrumb .__home.icon-home {
  color: rgba(200,190,220,0.8) !important;
}


/* ===== Hide Large "ニュース" Title, Red Line, and TOP > ニュース Path ===== */
/* Hide the page-subtitle (TOP > ニュース > ...) */
body .page-subtitle,
html body .page-subtitle {
  display: none !important;
}
/* Hide the large page-title "ニュース" with red underline */
body .page-title,
body .c-pageTitle,
body h1.page-title,
body h1.c-pageTitle,
html body .page-title.c-pageTitle {
  display: none !important;
}

/* ===== Also hide on single article pages ===== */
body.single .page-subtitle,
body.single .page-title,
body.single .c-pageTitle {
  display: none !important;
}
