/* ============================================
   COMPLETE CUSTOM CSS - kobashin70.github.io replica
   ============================================ */

/* --- Base --- */
body { font-family: "Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif; color: #333; }
a { color: #00A99D; text-decoration: none; }
a:hover { opacity: 0.8; }

/* --- Container / Layout --- */
#content-in, .content-in, .wrap { max-width: 100% !important; padding: 0 !important; }
#container, .container { margin-top: 67px !important; padding-top: 0 !important; }
.admin-bar #container, .admin-bar .container { margin-top: 99px !important; }
body:not(.admin-bar) #container { margin-top: 67px !important; }
.front-top-page #container { padding: 0 !important; }
.front-top-page .content { margin: 0 !important; max-width: 100% !important; }
.front-top-page #content-in.wrap,
.front-top-page #content-in,
.front-top-page #main,
.front-top-page .article {
  max-width: 100% !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  border-left: none !important;
  border-right: none !important;
}
/* Footer: restore max-width and ensure text fits */
.front-top-page .footer-in.wrap {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 20px !important;
  box-sizing: border-box !important;
}
.footer-bottom {
  max-width: 100% !important;
  box-sizing: border-box !important;
  padding: 0 16px !important;
}
.footer-bottom-content {
  max-width: 100% !important;
  word-break: break-word !important;
}
.admin-bar.front-top-page .content { margin-top: 0 !important; }

/* --- Hero --- */
.home-hero { background: linear-gradient(135deg, #4CC2BA 0%, #00A99D 50%, #008F85 100%) !important; padding: 0 !important; min-height: 520px; display: flex; align-items: center; }
.home-hero .hero-content { display: flex; align-items: center; justify-content: space-between; max-width: 1100px; margin: 0 auto; padding: 60px 40px; width: 100%; }
.home-hero .hero-subtitle { color: rgba(255,255,255,0.9); font-size: 17px; margin-bottom: 16px; }
.home-hero .hero-title { color: #fff; font-size: 37px; font-weight: 900; line-height: 1.5; margin-bottom: 24px; }
.home-hero .hero-title .highlight { color: #FFCE00; }
.home-hero .hero-desc { color: rgba(255,255,255,0.9); font-size: 16px; line-height: 2; }
.home-hero .hero-image { flex: 0 0 380px; }
.home-hero .hero-image img { width: 100%; height: auto; }

/* --- Floating CTA button --- */
.floating-request-btn { position: fixed; bottom: 30px; right: 20px; width: 80px; height: 80px; background: #F5A623; border-radius: 50%; display: flex; flex-direction: column; align-items: center; justify-content: center; color: #fff; text-decoration: none; font-size: 11px; font-weight: 700; box-shadow: 0 4px 16px rgba(0,0,0,0.2); z-index: 99; transition: transform 0.3s; }
.floating-request-btn:hover { transform: scale(1.1); color: #fff; }
.floating-request-btn .icon { font-size: 22px; margin-bottom: 2px; }

/* --- Cocoon overrides for front page --- */
.front-top-page .entry-title { display: none !important; }
.front-top-page .sns-share, .front-top-page .sns-follow, .front-top-page .date-tags,
.front-top-page .post-date, .front-top-page .post-update, .front-top-page .breadcrumb { display: none !important; }
.front-top-page #sidebar, .front-top-page .sidebar { display: none !important; }
.front-top-page .main { width: 100% !important; max-width: 100% !important; margin: 0 !important; padding: 0 !important; float: none !important; }
.front-top-page .article { padding: 0 !important; margin: 0 !important; }
.front-top-page .entry-content { margin: 0 !important; padding: 0 !important; max-width: 100% !important; }
.front-top-page .toc { display: none !important; }
.front-top-page .footer-top-content, .front-top-page .under-entry-content,
.front-top-page .post-meta, .front-top-page .author-info, .front-top-page .post-navi,
.front-top-page .related-entries, .front-top-page .pager-post-navi, .front-top-page .comment-area { display: none !important; }

/* --- Cocoon article h2/h3 reset for front page --- */
.front-top-page .article h2 { border: none !important; background: none !important; padding: 0 !important; margin: 0 !important; }
.front-top-page .article h3 { border: none !important; padding: 0 !important; margin: 0 !important; }

/* --- Section base --- */
.section-white { background: #fff; padding: 80px 40px; }
.section-teal { background: #E2F7F6; padding: 80px 40px; }
.section-features { background: linear-gradient(135deg, #4CC2BA, #00A99D); padding: 80px 40px; }
.section-inner { max-width: 1000px; margin: 0 auto; }

/* --- Section Titles with yellow underline --- */
.section-title { color: #2C3E50; font-size: 29px; font-weight: 700; text-align: center; margin: 0 0 50px 0; padding: 0; border: none !important; background: none !important; position: relative; padding-bottom: 20px; }
.section-title::after { content: ""; display: block; width: 60px; height: 4px; background: #FFCE00; border-radius: 2px; margin: 12px auto 0; }
.section-title--white { color: #fff !important; }
.section-title--white::after { background: rgba(255,255,255,0.5) !important; }

/* --- Mission / About (wish text) --- */
.wish-text { max-width: 800px; margin: 0 auto; text-align: center; }
.wish-text p { font-size: 16px; color: #555; line-height: 2.2; margin: 0 0 8px 0; }
.wish-text strong { color: #00A99D !important; }

/* --- Worries section --- */
.worries-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.worry-card { background: #fff; border-radius: 16px; padding: 32px 24px; text-align: center; box-shadow: 0 2px 12px rgba(0,0,0,0.04); }
.worry-card__icon { font-size: 40px; margin-bottom: 16px; }
.worry-card__title { color: #00A99D; font-size: 17px; font-weight: 700; margin: 0 0 12px 0; border: none !important; padding: 0 !important; }
.worry-card__text { color: #666; font-size: 14px; line-height: 1.8; margin: 0; }

/* --- Features section --- */
.features-lead { color: rgba(255,255,255,0.9); font-size: 16px; line-height: 2; text-align: center; max-width: 800px; margin: 0 auto 40px; }
.features-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.feature-card { background: rgba(255,255,255,0.15); border-radius: 16px; padding: 24px 16px; text-align: center; border: none !important; }
.feature-card__number { width: 44px; height: 44px; line-height: 44px; border-radius: 50%; background: #FFCE00; color: #2C3E50; font-size: 19px; font-weight: 700; margin: 0 auto 16px; text-align: center; }
.feature-card__title { color: #fff; font-size: 16px; font-weight: 700; margin: 0 0 12px 0; border: none !important; padding: 0 !important; }
.feature-card__text { color: rgba(255,255,255,0.9); font-size: 13px; line-height: 1.7; margin: 0; }

/* --- Profile section --- */
.profile-content { display: flex; gap: 40px; align-items: flex-start; }
.profile-photo { flex: 0 0 200px; text-align: center; }
.profile-icon { font-size: 80px; color: #aaa; margin-bottom: 12px; }
.profile-name { font-size: 24px; font-weight: 700; color: #2C3E50; margin: 0 0 8px 0; }
.profile-role { color: #00A99D; font-size: 15px; font-weight: 500; margin: 0 0 24px 0; }
.profile-credentials { list-style: none; padding: 0; margin: 0; text-align: left; }
.profile-credentials li { font-size: 14px; color: #555; line-height: 1.8; padding: 2px 0; }
.profile-credentials li::before { content: ""; display: inline-block; width: 6px; height: 6px; background: #00A99D; border-radius: 50%; margin-right: 8px; vertical-align: middle; }
.profile-bio { flex: 1; }
.profile-bio .profile-role { margin-top: 0; }
.profile-bio .profile-credentials { margin-bottom: 24px; }
.profile-bio__text { font-size: 16px; color: #555; line-height: 2; margin: 0; }

/* --- Blog / Articles section --- */
.articles-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.article-card { display: block; background: #fff; border-radius: 14px; overflow: hidden; box-shadow: 0 4px 16px rgba(0,0,0,0.06); text-decoration: none; color: inherit; transition: transform 0.3s, box-shadow 0.3s; }
.article-card:hover { transform: translateY(-4px); box-shadow: 0 8px 24px rgba(0,0,0,0.1); }
.article-card__thumb img { width: 100%; height: auto; aspect-ratio: 16/9; object-fit: contain; display: block; background: #f0f4f5; }
.article-card__body { padding: 20px; }
.article-card__title { font-size: 15px; font-weight: 700; color: #2C3E50; margin: 0 0 8px 0; line-height: 1.5; border: none !important; padding: 0 !important; }
.article-card__excerpt { font-size: 13px; color: #888; margin: 0; line-height: 1.6; }
.articles-more { text-align: center; margin-top: 32px; }
.articles-more a { color: #1A9A8A; font-size: 16px; font-weight: 500; text-decoration: none; }
/* --- Cocoon blog list thumbnail fix --- */
/* entry-card-thumb rule removed */
.articles-more a:hover { text-decoration: underline; }

/* --- CTA / Contact section --- */
.cta-section { background: linear-gradient(135deg, #4CC2BA, #00A99D) !important; padding: 80px 40px; text-align: center; }
.cta-section .section-title { color: #fff !important; }
.cta-section .section-title::after { background: rgba(255,255,255,0.5); }
.cta-text { color: rgba(255,255,255,0.9); font-size: 16px; line-height: 2; margin: 0 0 32px 0; }
.cta-btn-wrap { text-align: center; }
.cta-btn { display: inline-block; background: #fff !important; color: #00A99D !important; font-size: 17px; font-weight: 700; padding: 16px 40px; border-radius: 50px; text-decoration: none; box-shadow: 0 4px 20px rgba(0,0,0,0.15); transition: all 0.3s; }
.cta-btn:hover { background: #f0f0f0 !important; transform: translateY(-2px); }

/* --- Footer --- */
#footer, .footer { background: #2C3E50 !important; color: rgba(255,255,255,0.7) !important; }
.footer a, #footer a { color: rgba(255,255,255,0.7) !important; }
.footer a:hover, #footer a:hover { color: #fff !important; }

/* --- Misc Cocoon overrides --- */
.cat-label { display: none !important; }
.sidebar h3 { color: #00A99D; }
.go-to-top-button { background: #00A99D !important; color: #fff !important; }

/* --- Responsive --- */
/* 1030px rule removed - handled by 1100px rule */
@media (max-width: 834px) {
  .header-container-in.hlt-top-menu { flex-direction: column !important; align-items: center !important; padding: 8px 10px !important; }
  #header { width: 100% !important; text-align: center !important; flex: none !important; }
  .logo-header { justify-content: center !important; width: 100% !important; }
  .logo-text, .site-name-text, .logo-header a, .site-name-text-link { font-size: 16px !important; white-space: normal !important; word-break: keep-all !important; overflow-wrap: break-word !important; line-height: 1.3 !important; overflow: visible !important; text-overflow: clip !important; max-width: 100% !important; display: block !important; height: auto !important; max-height: none !important; -webkit-line-clamp: unset !important; }
  #navi { width: 100% !important; display: flex !important; justify-content: center !important; flex: none !important; }
  .navi-in { display: flex !important; justify-content: center !important; width: 100% !important; }
  .navi-in > ul.menu-pc { display: grid !important; grid-template-columns: repeat(3, auto) !important; gap: 2px 6px !important; justify-content: center !important; }
  .navi-in > ul.menu-mobile { display: none !important; }
  .navi-menu-content { display: none !important; }
  #navi .mobile-menu-buttons { display: none !important; }
  .navi-in > ul > li { height: auto !important; width: auto !important; margin: 0 !important; }
  .navi-in > ul > li > a { font-size: 10px !important; padding: 2px 3px !important; height: auto !important; width: auto !important; line-height: 1.3 !important; }
  .navi-in > ul > li > a::before { font-size: 10px !important; margin-right: 1px !important; }
  .navi-in > ul > li > a .caption-wrap { flex: 0 0 auto !important; width: auto !important; }
  .navi-in > ul > li > a .item-label { text-align: center !important; }
}

.floating-cta { position: fixed !important; bottom: 30px !important; right: 30px !important; z-index: 99 !important; }
.floating-cta a { display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important; width: 70px !important; height: 70px !important; background: #E8A628 !important; border-radius: 50% !important; text-decoration: none !important; box-shadow: 0 4px 15px rgba(0,0,0,0.2) !important; transition: transform 0.3s !important; }
.floating-cta a:hover { transform: scale(1.1) !important; }
.floating-cta__icon { font-size: 24px !important; line-height: 1 !important; }
.floating-cta__text { font-size: 10px !important; color: #fff !important; margin-top: 2px !important; }


/* --- Mission page & Blog list page: full-width, no sidebar --- */
.page-id-331 .sidebar,
.page-id-332 .sidebar,
.page-id-331 #sidebar,
.page-id-332 #sidebar,
.page-id-331 .sidebar-area,
.page-id-332 .sidebar-area {
  display: none !important;
}

.page-id-331 .main,
.page-id-332 .main,
.page-id-331 .content-in,
.page-id-332 .content-in {
  display: block !important;
}

.page-id-331 .main,
.page-id-332 .main {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  float: none !important;
}

.page-id-331 .content-in,
.page-id-332 .content-in {
  display: block !important;
}

/* Hide Cocoon extras: social share, TOC, date, breadcrumb */
.page-id-331 .sns-share,
.page-id-332 .sns-share,
.page-id-331 .toc,
.page-id-332 .toc,
.page-id-331 .date-tags,
.page-id-332 .date-tags,
.page-id-331 .entry-date,
.page-id-332 .entry-date,
.page-id-331 .post-date,
.page-id-332 .post-date,
.page-id-331 .sns-follow,
.page-id-332 .sns-follow,
.page-id-331 .author-info,
.page-id-332 .author-info,
.page-id-331 .under-entry-content,
.page-id-332 .under-entry-content,
.page-id-331 .breadcrumb,
.page-id-332 .breadcrumb,
.page-id-331 .post-meta,
.page-id-332 .post-meta {
  display: none !important;
}

/* Content area max width for readability */
.page-id-331 .entry-content,
.page-id-332 .entry-content {
  max-width: 860px;
  margin: 0 auto;
}


/* Mission & Blog list: override Cocoon h2 heading style */
.page-id-331 .entry-content h2,
.page-id-332 .entry-content h2 {
  background: none !important;
  color: #333 !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  font-size: 24px !important;
  font-weight: bold !important;
  margin-top: 40px !important;
  margin-bottom: 12px !important;
}

/* First h2 on mission page - orange like original */
.page-id-331 .entry-content h2:first-of-type {
  color: #E8A035 !important;
  font-size: 28px !important;
}

/* Hide page title on mission/blog-list */
.page-id-331 .entry-title,
.page-id-332 .entry-title {
  display: none !important;
}

/* Blog list page: wider content for grid */
.page-id-332 .entry-content {
  max-width: 1100px !important;
}


/* === Blog article pages (342-357): full-width, no sidebar === */
.page-id-342 .sidebar,
.page-id-343 .sidebar,
.page-id-344 .sidebar,
.page-id-345 .sidebar,
.page-id-346 .sidebar,
.page-id-347 .sidebar,
.page-id-348 .sidebar,
.page-id-349 .sidebar,
.page-id-350 .sidebar,
.page-id-351 .sidebar,
.page-id-352 .sidebar,
.page-id-353 .sidebar,
.page-id-354 .sidebar,
.page-id-355 .sidebar,
.page-id-356 .sidebar,
.page-id-357 .sidebar,
.page-id-342 #sidebar,
.page-id-343 #sidebar,
.page-id-344 #sidebar,
.page-id-345 #sidebar,
.page-id-346 #sidebar,
.page-id-347 #sidebar,
.page-id-348 #sidebar,
.page-id-349 #sidebar,
.page-id-350 #sidebar,
.page-id-351 #sidebar,
.page-id-352 #sidebar,
.page-id-353 #sidebar,
.page-id-354 #sidebar,
.page-id-355 #sidebar,
.page-id-356 #sidebar,
.page-id-357 #sidebar,
.page-id-342 .sidebar-area,
.page-id-343 .sidebar-area,
.page-id-344 .sidebar-area,
.page-id-345 .sidebar-area,
.page-id-346 .sidebar-area,
.page-id-347 .sidebar-area,
.page-id-348 .sidebar-area,
.page-id-349 .sidebar-area,
.page-id-350 .sidebar-area,
.page-id-351 .sidebar-area,
.page-id-352 .sidebar-area,
.page-id-353 .sidebar-area,
.page-id-354 .sidebar-area,
.page-id-355 .sidebar-area,
.page-id-356 .sidebar-area,
.page-id-357 .sidebar-area {
  display: none !important;
}

.page-id-342 .main,
.page-id-343 .main,
.page-id-344 .main,
.page-id-345 .main,
.page-id-346 .main,
.page-id-347 .main,
.page-id-348 .main,
.page-id-349 .main,
.page-id-350 .main,
.page-id-351 .main,
.page-id-352 .main,
.page-id-353 .main,
.page-id-354 .main,
.page-id-355 .main,
.page-id-356 .main,
.page-id-357 .main {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  float: none !important;
}

.page-id-342 .sns-share,
.page-id-343 .sns-share,
.page-id-344 .sns-share,
.page-id-345 .sns-share,
.page-id-346 .sns-share,
.page-id-347 .sns-share,
.page-id-348 .sns-share,
.page-id-349 .sns-share,
.page-id-350 .sns-share,
.page-id-351 .sns-share,
.page-id-352 .sns-share,
.page-id-353 .sns-share,
.page-id-354 .sns-share,
.page-id-355 .sns-share,
.page-id-356 .sns-share,
.page-id-357 .sns-share,
.page-id-342 .toc,
.page-id-343 .toc,
.page-id-344 .toc,
.page-id-345 .toc,
.page-id-346 .toc,
.page-id-347 .toc,
.page-id-348 .toc,
.page-id-349 .toc,
.page-id-350 .toc,
.page-id-351 .toc,
.page-id-352 .toc,
.page-id-353 .toc,
.page-id-354 .toc,
.page-id-355 .toc,
.page-id-356 .toc,
.page-id-357 .toc,
.page-id-342 .date-tags,
.page-id-343 .date-tags,
.page-id-344 .date-tags,
.page-id-345 .date-tags,
.page-id-346 .date-tags,
.page-id-347 .date-tags,
.page-id-348 .date-tags,
.page-id-349 .date-tags,
.page-id-350 .date-tags,
.page-id-351 .date-tags,
.page-id-352 .date-tags,
.page-id-353 .date-tags,
.page-id-354 .date-tags,
.page-id-355 .date-tags,
.page-id-356 .date-tags,
.page-id-357 .date-tags,
.page-id-342 .entry-date,
.page-id-343 .entry-date,
.page-id-344 .entry-date,
.page-id-345 .entry-date,
.page-id-346 .entry-date,
.page-id-347 .entry-date,
.page-id-348 .entry-date,
.page-id-349 .entry-date,
.page-id-350 .entry-date,
.page-id-351 .entry-date,
.page-id-352 .entry-date,
.page-id-353 .entry-date,
.page-id-354 .entry-date,
.page-id-355 .entry-date,
.page-id-356 .entry-date,
.page-id-357 .entry-date,
.page-id-342 .post-date,
.page-id-343 .post-date,
.page-id-344 .post-date,
.page-id-345 .post-date,
.page-id-346 .post-date,
.page-id-347 .post-date,
.page-id-348 .post-date,
.page-id-349 .post-date,
.page-id-350 .post-date,
.page-id-351 .post-date,
.page-id-352 .post-date,
.page-id-353 .post-date,
.page-id-354 .post-date,
.page-id-355 .post-date,
.page-id-356 .post-date,
.page-id-357 .post-date,
.page-id-342 .sns-follow,
.page-id-343 .sns-follow,
.page-id-344 .sns-follow,
.page-id-345 .sns-follow,
.page-id-346 .sns-follow,
.page-id-347 .sns-follow,
.page-id-348 .sns-follow,
.page-id-349 .sns-follow,
.page-id-350 .sns-follow,
.page-id-351 .sns-follow,
.page-id-352 .sns-follow,
.page-id-353 .sns-follow,
.page-id-354 .sns-follow,
.page-id-355 .sns-follow,
.page-id-356 .sns-follow,
.page-id-357 .sns-follow,
.page-id-342 .author-info,
.page-id-343 .author-info,
.page-id-344 .author-info,
.page-id-345 .author-info,
.page-id-346 .author-info,
.page-id-347 .author-info,
.page-id-348 .author-info,
.page-id-349 .author-info,
.page-id-350 .author-info,
.page-id-351 .author-info,
.page-id-352 .author-info,
.page-id-353 .author-info,
.page-id-354 .author-info,
.page-id-355 .author-info,
.page-id-356 .author-info,
.page-id-357 .author-info,
.page-id-342 .under-entry-content,
.page-id-343 .under-entry-content,
.page-id-344 .under-entry-content,
.page-id-345 .under-entry-content,
.page-id-346 .under-entry-content,
.page-id-347 .under-entry-content,
.page-id-348 .under-entry-content,
.page-id-349 .under-entry-content,
.page-id-350 .under-entry-content,
.page-id-351 .under-entry-content,
.page-id-352 .under-entry-content,
.page-id-353 .under-entry-content,
.page-id-354 .under-entry-content,
.page-id-355 .under-entry-content,
.page-id-356 .under-entry-content,
.page-id-357 .under-entry-content,
.page-id-342 .breadcrumb,
.page-id-343 .breadcrumb,
.page-id-344 .breadcrumb,
.page-id-345 .breadcrumb,
.page-id-346 .breadcrumb,
.page-id-347 .breadcrumb,
.page-id-348 .breadcrumb,
.page-id-349 .breadcrumb,
.page-id-350 .breadcrumb,
.page-id-351 .breadcrumb,
.page-id-352 .breadcrumb,
.page-id-353 .breadcrumb,
.page-id-354 .breadcrumb,
.page-id-355 .breadcrumb,
.page-id-356 .breadcrumb,
.page-id-357 .breadcrumb,
.page-id-342 .post-meta,
.page-id-343 .post-meta,
.page-id-344 .post-meta,
.page-id-345 .post-meta,
.page-id-346 .post-meta,
.page-id-347 .post-meta,
.page-id-348 .post-meta,
.page-id-349 .post-meta,
.page-id-350 .post-meta,
.page-id-351 .post-meta,
.page-id-352 .post-meta,
.page-id-353 .post-meta,
.page-id-354 .post-meta,
.page-id-355 .post-meta,
.page-id-356 .post-meta,
.page-id-357 .post-meta {
  display: none !important;
}

.page-id-342 .entry-content,
.page-id-343 .entry-content,
.page-id-344 .entry-content,
.page-id-345 .entry-content,
.page-id-346 .entry-content,
.page-id-347 .entry-content,
.page-id-348 .entry-content,
.page-id-349 .entry-content,
.page-id-350 .entry-content,
.page-id-351 .entry-content,
.page-id-352 .entry-content,
.page-id-353 .entry-content,
.page-id-354 .entry-content,
.page-id-355 .entry-content,
.page-id-356 .entry-content,
.page-id-357 .entry-content {
  max-width: 860px;
  margin: 0 auto;
}

.page-id-342 .entry-content h2,
.page-id-343 .entry-content h2,
.page-id-344 .entry-content h2,
.page-id-345 .entry-content h2,
.page-id-346 .entry-content h2,
.page-id-347 .entry-content h2,
.page-id-348 .entry-content h2,
.page-id-349 .entry-content h2,
.page-id-350 .entry-content h2,
.page-id-351 .entry-content h2,
.page-id-352 .entry-content h2,
.page-id-353 .entry-content h2,
.page-id-354 .entry-content h2,
.page-id-355 .entry-content h2,
.page-id-356 .entry-content h2,
.page-id-357 .entry-content h2 {
  background: none !important;
  color: #333 !important;
  padding: 0 !important;
  border: none !important;
}

.page-id-342 .entry-title,
.page-id-343 .entry-title,
.page-id-344 .entry-title,
.page-id-345 .entry-title,
.page-id-346 .entry-title,
.page-id-347 .entry-title,
.page-id-348 .entry-title,
.page-id-349 .entry-title,
.page-id-350 .entry-title,
.page-id-351 .entry-title,
.page-id-352 .entry-title,
.page-id-353 .entry-title,
.page-id-354 .entry-title,
.page-id-355 .entry-title,
.page-id-356 .entry-title,
.page-id-357 .entry-title {
  display: none !important;
}


/* === Request page (377): full-width, no sidebar === */
.page-id-377 .sidebar,
.page-id-377 #sidebar,
.page-id-377 .sidebar-area {
  display: none !important;
}
.page-id-377 .main {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  float: none !important;
}
.page-id-377 .sns-share,
.page-id-377 .toc,
.page-id-377 .date-tags,
.page-id-377 .entry-date,
.page-id-377 .post-date,
.page-id-377 .sns-follow,
.page-id-377 .author-info,
.page-id-377 .under-entry-content,
.page-id-377 .breadcrumb,
.page-id-377 .post-meta {
  display: none !important;
}
.page-id-377 .entry-content {
  max-width: 860px;
  margin: 0 auto;
}
.page-id-377 .entry-content h2 {
  background: none !important;
  color: #00A99D !important;
  padding: 8px 0 12px 0 !important;
  border: none !important;
  border-bottom: 3px solid #00A99D !important;
  font-size: 32px !important;
  font-weight: bold !important;
  margin-bottom: 20px !important;
  line-height: 1.5 !important;
  overflow: visible !important;
}
.page-id-377 .entry-title {
  display: none !important;
}


/* --- Article Card Hover (data-href) --- */
.article-card[data-href] {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  cursor: pointer;
}
.article-card[data-href]:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 25px rgba(0,0,0,0.15);
}
.article-card[data-href]:hover .article-card__title {
  color: #00A99D;
}

/* --- Hide Easy TOC (upper TOC) on all posts --- */
#ez-toc-container,
.ez-toc-container-direction {
  display: none !important;
}

/* #mission: dark background for white text visibility */
#mission.section-white {
  background: #00a99d !important;
}
#mission .wish-text p {
  color: #fff !important;
}
#mission .wish-text p strong {
  color: #00c9b7 !important;
}
#mission .section-title-bar {
  background: #00a99d !important;
}
/* ヘッダータイトルの上下余白を半分に */
#header .header-in {
    padding-top: 15px !important;
    padding-bottom: 15px !important;
}

/* #worries: dark green background for white text visibility */
#worries.section-teal {
  background: #00a99d !important;
}
#worries .worry-card {
  background: #fff !important;
}


/* ===== Front page: unified teal gradient background for all sections (except hero) ===== */
#mission.section-white,
#worries.section-teal,
#features.section-features,
#profile.section-teal,
#blog.section-white {
  background: linear-gradient(135deg, #4cc2ba, #00a99d) !important;
}
/* White text for all section titles and body text */
#mission .wish-text p,
#features > .section-inner > p,
#profile p,
#blog .section-inner > p {
  color: #fff !important;
}
#mission .wish-text p strong {
  color: #ffe066 !important;
}
/* Keep cards/boxes white */
#worries .worry-card,
#features .feature-card,
#blog .article-card {
  background: #fff !important;
}

/* #blog section: lighter teal gradient */
#blog.section-white {
  background: linear-gradient(135deg, #8ce0db, #5ccfc8) !important;
}

/* Feature cards: dark text inside white cards */
#features .feature-card p,
#features .feature-card h3,
#features .feature-card .feature-title {
  color: #333 !important;
}

/* ===== Blog post cleanup ===== */
/* 1. Hide duplicate eye-catch image in header */
/* Eye-catch: hide on front page only, show on blog posts */
body:not(.single-post) .eye-catch-wrap {
  display: none !important;
}
body.single-post .eye-catch-wrap { display: none !important; }
/* 2. Hide all SNS share/follow bars */
.sns-share, .sns-follow {
  display: none !important;
}
/* 3. Hide ez-toc elements above boxed TOC, keep #toc */
.entry-content > span.ez-toc-title-toggle,
.entry-content > nav.ez-toc-container,
.ez-toc-title-container,
.entry-content > .ez-toc-v2_widget_sticky {
  display: none !important;
}

/* Site title: Noto Serif JP */
@import url("https://fonts.googleapis.com/css2?display=swap&family=Noto+Serif+JP:wght@700&display=swap");
.site-name-text {
  font-family: "Noto Serif JP", serif !important;
  font-size: 27px !important;
  font-weight: 700 !important;
  letter-spacing: 3px !important;
}

/* Nav menu: 2 rows */
#header-in {
  display: block !important;
  text-align: center !important;
  padding: 10px 0 !important;
}
#header-in .site-name-text-link {
  display: block !important;
  margin-bottom: 5px !important;
}
#navi-in {
  width: 100% !important;
  display: block !important;
}
#navi-in .menu-header {
  width: 100% !important;
}
#navi-in .menu-header-list {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
}
#navi-in .menu-header-list > li {
  height: auto !important;
  line-height: 2 !important;
}


/* --- Hide NO IMAGE thumbnails on category pages --- */
.entry-card-thumb:has(img.no-image) {
  display: none !important;
}

/* --- Category page: block/grid layout --- */
.category #list.ect-entry-card {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 20px !important;
}
.category #list.ect-entry-card .entry-card-wrap {
  border: 1px solid #e0e0e0 !important;
  border-radius: 8px !important;
  padding: 16px !important;
  background: #fff !important;
  box-shadow: 0 2px 6px rgba(0,0,0,0.06) !important;
  transition: box-shadow 0.2s ease !important;
  margin-bottom: 0 !important;
}
.category #list.ect-entry-card .entry-card-wrap:hover {
  box-shadow: 0 4px 12px rgba(0,0,0,0.12) !important;
}
.category #list.ect-entry-card .entry-card {
  flex-direction: column !important;
}
.category #list.ect-entry-card .entry-card-content {
  width: 100% !important;
  margin: 0 !important;
}
.category #list.ect-entry-card .entry-card-snippet {
  font-size: 13px !important;
  line-height: 1.6 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}
.category #list.ect-entry-card .entry-card-title {
  font-size: 15px !important;
  font-weight: bold !important;
  margin-bottom: 8px !important;
}
.category #list.ect-entry-card .entry-card-meta {
  font-size: 12px !important;
}
/* Responsive: 2 columns on tablet */
@media (max-width: 1023px) {
  .category #list.ect-entry-card {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
/* Responsive: 1 column on mobile */
@media (max-width: 600px) {
  .category #list.ect-entry-card {
    grid-template-columns: 1fr !important;
  }
}

/* --- Mobile: site title one line, centered, fixed top --- */
@media (max-width: 834px) {
  .header-container {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 99999 !important;
    min-height: auto !important;
    height: auto !important;
    background: #fff !important;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1) !important;
    overflow: visible !important;
  }
  .header-in {
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 2px 12px !important;
    min-height: 28px !important;
  }
  .logo-header {
    width: 100% !important;
    text-align: center !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .site-name-text-link {
    display: block !important;
    text-align: center !important;
  }
  .site-name-text {
    font-size: 4.2vw !important;
    white-space: nowrap !important;
    display: block !important;
    text-align: center !important;
    font-weight: 800 !important;
    padding: 0 8px !important;
  }
  .navi-in, .header-in .navi {
    display: none !important;
  }
}

/* --- Hide empty p tags in articles-grid to fix grid layout --- */
.articles-grid > p,
.articles-grid a > p,
.articles-grid p:empty {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
  line-height: 0 !important;
}


/* --- Fix articles-grid card image height consistency --- */
.articles-grid .article-card__thumb {
  height: 180px !important;
  overflow: hidden !important;
  border-radius: 8px 8px 0 0 !important;
}
.articles-grid .article-card__thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
.articles-grid .article-card {
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
}
.articles-grid .article-card__body {
  flex: 1 !important;
  padding: 12px !important;
}
.articles-grid .article-card-link {
  height: 100% !important;
}


/* --- Hide Easy Table of Contents plugin TOC (keep Cocoon #toc) --- */
.ez-toc-title-toggle {
  display: none !important;
}
.entry-content > nav:has(.ez-toc-list) {
  display: none !important;
}
/* Fallback for browsers without :has() support */
#ez-toc-container {
  display: none !important;
}
.ez-toc-widget-container {
  display: none !important;
}


/* --- Section title: spacing below yellow line + unified yellow color --- */
.front-top-page .article h2.section-title {
  margin-bottom: 30px !important;
}
h2.section-title::after,
h3.section-title::after {
  background-color: #ffce00 !important;
}
/* ヒーローセクション上下スペース統一 */
.front-top-page .entry-content > *:first-child { padding-top: 40px !important; padding-bottom: 40px !important; }
.appeal { padding-top: 40px !important; padding-bottom: 40px !important; }
.wp-block-cover { padding-top: 40px !important; padding-bottom: 40px !important; }

/* --- Mobile: content sections responsive --- */
@media (max-width: 834px) {
  /* Hero: stack vertically */
  .home-hero { min-height: auto !important; }
  .home-hero .hero-content { flex-direction: column !important; padding: 30px 20px !important; text-align: center !important; }
  .home-hero .hero-image { flex: 0 0 auto !important; width: 250px !important; max-width: 80% !important; margin: 0 auto !important; order: -1 !important; }
  .home-hero .hero-title { font-size: 24px !important; }
  .home-hero .hero-subtitle { font-size: 14px !important; }
  .home-hero .hero-desc { font-size: 14px !important; }

  /* Section inner padding */
  .section-inner { padding-left: 15px !important; padding-right: 15px !important; }

  /* Worries grid: 1 column */
  .worries-grid { grid-template-columns: 1fr !important; gap: 16px !important; }

  /* Features grid: 2 columns */
  .features-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 12px !important; }

  /* Profile: stack vertically */
  .profile-content { flex-direction: column !important; gap: 20px !important; align-items: center !important; }
  .profile-photo { flex: 0 0 auto !important; }

  /* Articles grid: 1 column */
  .articles-grid { grid-template-columns: 1fr !important; gap: 16px !important; }

  /* Floating button: smaller on mobile, above footer nav */
  .floating-request-btn { width: 60px !important; height: 60px !important; bottom: 70px !important; right: 10px !important; font-size: 10px !important; }
  .floating-request-btn .btn-icon { font-size: 20px !important; }
}

/* --- Header: responsive layout with icons --- */
.header-container { background: #fff !important; box-shadow: 0 2px 10px rgba(0,0,0,0.05) !important; position: fixed !important; top: 0; left: 0; right: 0; z-index: 99999 !important; }
.admin-bar .header-container { top: 32px !important; }
#header { margin: 0 !important; padding: 0 !important; }
.header-in { display: flex; align-items: center; }
.logo-text, .site-name-text, .logo-header a, .site-name-text-link { color: #00A99D !important; font-size: 28px !important; font-weight: 700 !important; text-decoration: none !important; }
.navi-in > ul > li > a { color: #2C3E50 !important; font-weight: 500 !important; text-decoration: none !important; white-space: nowrap !important; display: inline-flex !important; align-items: center !important; gap: 0 !important; }
.navi-in > ul > li > a:hover { color: #00A99D !important; }
.navi-in .menu-mobile { display: none !important; }

/* ワイド: タイトル上中央・メニュー下1行 */
.header-container-in.hlt-top-menu { display: flex !important; flex-direction: column !important; align-items: center !important; max-width: 1200px !important; margin: 0 auto !important; padding: 10px 20px 0 !important; min-height: auto !important; }
#header { width: 100% !important; text-align: center !important; flex: none !important; }
.logo-header { justify-content: center !important; width: 100% !important; }
#navi { width: 100% !important; display: flex !important; justify-content: center !important; }
.navi-in { display: flex !important; justify-content: center !important; width: 100% !important; }
.navi-in > ul { display: flex !important; flex-wrap: nowrap !important; justify-content: space-evenly !important; list-style: none !important; margin: 0 !important; padding: 0 !important; gap: 0 !important; }
.navi-in > ul > li { margin: 0 !important; height: auto !important; width: auto !important; }
.navi-in > ul > li > a { font-size: 12px !important; padding: 4px 7px !important; height: auto !important; width: auto !important; }
.navi-in > ul > li > a::before { font-size: 13px; line-height: 1; flex-shrink: 0; margin-right: 1px; }

.navi-in > ul > li > a .caption-wrap { flex: 0 0 auto !important; width: auto !important; }
.navi-in > ul > li > a .item-label { text-align: left !important; }
.navi-in > ul > li { text-align: left !important; }

/* 狭い幅: タイトル左・メニュー右 */
@media (max-width: 1100px) {
  .header-container-in.hlt-top-menu { flex-direction: row !important; align-items: center !important; padding: 0 20px !important; min-height: auto !important; }
  #header { width: auto !important; text-align: left !important; flex: 0 0 auto !important; }
  .logo-text, .site-name-text, .logo-header a, .site-name-text-link { white-space: normal !important; font-size: 22px !important; line-height: 1.3 !important; }
  .logo-header { justify-content: flex-start !important; width: auto !important; }
  #navi { width: auto !important; flex: 1 !important; justify-content: flex-end !important; }
  .navi-in { justify-content: flex-end !important; }
  .navi-in > ul { display: grid !important; grid-template-columns: repeat(2, auto) !important; gap: 2px 4px !important; justify-content: end !important; }
  .navi-in > ul > li { height: auto !important; width: auto !important; margin: 0 !important; }
  .navi-in > ul > li > a { padding: 1px 5px !important; font-size: 11px !important; line-height: 1.3 !important; height: auto !important; width: auto !important; justify-content: center !important; }
  .navi-in > ul > li > a::before { font-size: 11px !important; margin-right: 1px !important; }
  .navi-in > ul > li > a .caption-wrap { flex: 0 0 auto !important; width: auto !important; }
}




/* モバイル: タイトル上・メニュー下 */
@media (max-width: 834px) {
  .header-container-in.hlt-top-menu { flex-direction: column !important; align-items: center !important; padding: 8px 10px !important; }
  #header { width: 100% !important; text-align: center !important; flex: none !important; }
  .logo-header { justify-content: center !important; width: 100% !important; }
  .logo-text, .site-name-text, .logo-header a, .site-name-text-link { font-size: 16px !important; white-space: normal !important; word-break: keep-all !important; overflow-wrap: break-word !important; line-height: 1.3 !important; overflow: visible !important; text-overflow: clip !important; max-width: 100% !important; display: block !important; height: auto !important; max-height: none !important; -webkit-line-clamp: unset !important; }
  #navi { width: 100% !important; display: flex !important; justify-content: center !important; flex: none !important; }
  .navi-in { display: flex !important; justify-content: center !important; width: 100% !important; }
  .navi-in > ul.menu-pc { display: grid !important; grid-template-columns: repeat(3, auto) !important; gap: 2px 8px !important; justify-content: center !important; justify-items: center !important; }
  .navi-in > ul.menu-mobile { display: none !important; }
  .navi-menu-content { display: none !important; }
  .navi-in > ul > li { height: auto !important; }
  .navi-in > ul > li > a { font-size: 10px !important; padding: 2px 4px !important; height: auto !important; justify-content: center !important; line-height: 1.3 !important; }
  .navi-in > ul > li > a::before { font-size: 11px; }
  .navi-in > ul > li > a .caption-wrap { flex: 0 0 auto !important; }
  #navi .mobile-menu-buttons { display: none !important; }
}



/* --- Mobile: move nav to page bottom --- */
@media (max-width: 834px) {
  /* Un-fix header on mobile so nav can be repositioned */
  #header-container {
    position: static !important;
    background: #fff !important;
    min-height: auto !important;
  }
  #header {
    min-height: auto !important;
    height: auto !important;
  }
  .logo-header {
    min-height: auto !important;
    height: auto !important;
    padding: 5px 0 !important;
  }
  #container {
    position: relative !important;
    padding-bottom: 150px !important;
  }
  /* Remove top margin since header is no longer fixed */
  #container, .container {
    margin-top: 0 !important;
  }
  /* Move nav to bottom of page */
  #navi {
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    background: #f9f9f9 !important;
    padding: 15px 10px !important;
    border-top: 2px solid #00A99D !important;
    z-index: 10 !important;
  }
  .navi-in > ul {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 8px 4px !important;
    justify-content: center !important;
  }
  .navi-in > ul > li > a {
    font-size: 11px !important;
    padding: 6px 4px !important;
    justify-content: center !important;
    text-align: center !important;
  }
}

/* === Mobile layout fixes === */

/* === Mobile-only fixes (narrow screens) === */

/* === Mobile fixes (phones & small tablets) === */
@media (max-width: 768px) {
  /* 1. Site title: fit in viewport, sticky */
  #header-container {
    position: fixed !important;
    top: 0 !important;
    z-index: 999 !important;
    background: #fff !important;
    min-height: auto !important;
    padding: 0 !important;
    box-shadow: 0 1px 4px rgba(0,0,0,0.08) !important;
  }
  #header {
    min-height: auto !important;
    height: auto !important;
    padding: 4px 0 !important;
  }
  .header-container-in.hlt-top-menu {
    padding: 0 8px !important;
  }
  .logo-header {
    min-height: auto !important;
    height: auto !important;
    padding: 0 !important;
  }
  .site-name-text, .site-name-text-link, .logo-text, .logo-header a {
    font-size: clamp(13px, 4.5vw, 20px) !important;
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: unset !important;
    line-height: 1.3 !important;
    display: block !important;
    text-align: center !important;
    max-width: 100% !important;
  }

  /* 2. Reduce white space */
  #container, .container {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
  .content, #content {
    padding-top: 4px !important;
    margin-top: 0 !important;
  }
  .main, #main {
    padding: 0 !important;
    margin: 0 !important;
  }
  .article {
    padding: 4px !important;
  }
  .entry-title {
    margin-top: 2px !important;
    margin-bottom: 4px !important;
    font-size: 18px !important;
  }

  /* 3. Prevent horizontal overflow */
  html, body {
    overflow-x: clip !important;
    max-width: 100vw !important;
  }
  #container, .wrap, #content, #content-in, #main {
    max-width: 100% !important;
    overflow-x: clip !important;
    box-sizing: border-box !important;
  }

  /* 4. Blog cards: fit in screen */
  .entry-card-wrap {
    max-width: 100% !important;
    box-sizing: border-box !important;
    padding: 0 4px !important;
  }
  .entry-card {
    max-width: 100% !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
  }
  .entry-card-thumb {
    max-width: 100% !important;
    width: 100% !important;
    flex-shrink: 0 !important;
  }
  .entry-card-thumb img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    object-fit: cover !important;
    border-radius: 6px !important;
  }
  .entry-card-content {
    max-width: 100% !important;
    overflow: hidden !important;
    word-break: break-word !important;
  }
  .entry-card-snippet {
    overflow: hidden !important;
    word-break: break-word !important;
  }

  /* 5. Hero section mobile */
  .home-hero {
    min-height: 300px !important;
    padding: 30px 16px !important;
  }
  .home-hero .hero-content {
    flex-direction: column !important;
    text-align: center !important;
    padding: 0 !important;
  }
  .home-hero .hero-text {
    max-width: 100% !important;
  }
  .home-hero .hero-text h1 {
    font-size: 22px !important;
    line-height: 1.4 !important;
  }
  .home-hero .hero-image {
    max-width: 200px !important;
    margin: 16px auto 0 !important;
  }

  /* 6. Section padding reduction */
  .section-teal, .section-white, .section-features {
    padding: 40px 16px !important;
  }
  .section-inner {
    padding: 0 !important;
  }

  /* 7. Sidebar */
  #sidebar {
    max-width: 100% !important;
    box-sizing: border-box !important;
    padding: 0 8px !important;
  }

  /* 8. Footer */
  .footer-in.wrap {
    max-width: 100% !important;
    padding: 0 12px !important;
    box-sizing: border-box !important;
  }
  .footer-bottom {
    flex-direction: column !important;
    text-align: center !important;
    gap: 4px !important;
    padding: 8px 12px !important;
  }
  .footer-bottom-logo {
    justify-content: center !important;
  }
  .footer-bottom-content {
    text-align: center !important;
    font-size: 11px !important;
  }

  /* 9. Images: prevent overflow */
  img {
    max-width: 100% !important;
    height: auto !important;
  }

  /* 10. Navigation: wrap on mobile */
  .navi-in > ul {
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 2px !important;
  }
  .navi-in > ul > li > a {
    font-size: 11px !important;
    padding: 4px 6px !important;
  }
}


/* === Desktop: center title and nav === */
#header-container {
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
}

#header-container .header-container-in {
  max-width: 1200px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

.logo-header {
  display: flex !important;
  justify-content: center !important;
  width: 100% !important;
}

.logo-header a.site-name {
  text-align: center !important;
}

#navi .navi-in {
  justify-content: center !important;
}

#navi .navi-in > ul {
  justify-content: center !important;
}

/* === Mobile overrides (consolidated) === */
@media (max-width: 768px) {
  /* Fixed header with title */
  #header-container {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 9999 !important;
    background: #fff !important;
    box-shadow: 0 1px 4px rgba(0,0,0,0.08);
  }

  /* Title font: max size that fits one line */
  .logo-header a,
  .logo-header .site-name-text {
    font-size: clamp(13px, 4.5vw, 20px) !important;
    letter-spacing: -0.5px !important;
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: unset !important;
    display: block !important;
    width: 100% !important;
    padding: 0 8px !important;
    box-sizing: border-box !important;
  }

  /* Hide nav completely */
  #navi {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
  }

  /* Prevent horizontal scroll without breaking fixed */
  html, body {
    overflow-x: clip !important;
  }

  /* Space for fixed header */
  body {
    padding-top: 60px !important;
    padding-bottom: 0 !important;
  }

  /* Footer nav links in page flow */
  .mobile-footer-nav {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 8px 16px !important;
    padding: 24px 16px !important;
    background: #f5f5f5 !important;
    border-top: 1px solid #ddd !important;
  }
  .mobile-footer-nav a {
    color: #333 !important;
    text-decoration: none !important;
    font-size: 13px !important;
    padding: 4px 0 !important;
  }
  .mobile-footer-nav a:hover {
    text-decoration: underline !important;
  }
}

/* Hide mobile footer nav on desktop */
@media (min-width: 769px) {
  .mobile-footer-nav {
    display: none !important;
  }
}

/* --- ヒーロー画像上の不要な余白を削除（トップページ・全環境対応） --- */
body.home .entry-content > p:empty {
  display: none !important;
}
body.home .entry-content > #home.home-hero {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
body.home #content {
  padding-top: 0 !important;
}
@media (max-width: 834px) {
  body.home #container,
  body.home.admin-bar #container {
    margin-top: 0 !important;
  }
}
@media (min-width: 835px) {
  body.home #container {
    margin-top: 120px !important;
  }
  body.home.admin-bar #container {
    margin-top: 152px !important;
  }
}


/* --- 管理バー(admin-bar)下にサイトヘッダーを押し下げ：ログイン中もタイトル表示 --- */
/* モバイル(管理バー高さ46px) */
@media (max-width: 782px) {
  .admin-bar #header-container {
    top: 46px !important;
  }
}
/* PC(管理バー高さ32px) */
@media (min-width: 783px) {
  .admin-bar #header-container {
    top: 32px !important;
  }
}
/* ヘッダータイトルの上下余白調整 */
/* PC：余白を半分に */
@media (min-width: 835px) {
    #header-container,
    .header-container-in.hlt-top-menu {
        padding: 0 !important;
    }
    #header {
        padding: 0 !important;
        min-height: auto !important;
    }
    #header .header-in {
        padding: 0 !important;
        min-height: auto !important;
    }
    .go-header.logo-text,
    .logo-header,
    .logo-text {
        padding: 0 !important;
        margin: 0 !important;
        min-height: auto !important;
    }
    a.site-name,
    a.site-name-text-link {
        padding: 8px 0 !important;
        margin: 0 !important;
        display: block !important;
        line-height: 1.3 !important;
    }
}
/* モバイル：タイトル見切れ防止 */
@media (max-width: 834px) {
    #header-container {
        position: relative !important;
    }
    #header {
        padding-top: env(safe-area-inset-top, 0px) !important;
    }
}

/* --- Eye-catch fix: show featured image on blog posts only --- */
.single-post .eye-catch-wrap { display: none !important; }

/* --- h2見出しスタイル強制適用 --- */
.article h2 {
  background-color: #00a99d !important;
  color: #fff !important;
}

/* === Fix: フロントページ h2 見出し色修正 === */
/* Cocoon の .article h2 { color: white !important } を上書き */
#post-47 h2[style*="color"] {
	
	/* Fix: dropdown menu alignment for menu-item-288 */
	#navi .sub-menu #menu-item-288 a::before {
		  display: none !important;
	}
	}
  color: #00a59b !important;
}

/* MVV heading visibility fix v2 */
article.post-47 h2[style*="00a59b"]{color:#0b5c54 !important;}

/* アーカイブカード：サムネ上・テキスト下の縦型に */
.archive .entry-card{display:block}
.archive .entry-card-thumb{width:100%!important;float:none;margin:0}
.archive .entry-card-thumb img{width:100%;height:auto}
.archive .entry-card-content{width:100%;margin:10px 0 0}