@charset "UTF-8";

/*!
Theme Name: Cocoon Child - 移住コストナビ
Description: Cocoon子テーマ（移住コストナビ専用UI調整版）
Theme URI: https://wp-cocoon.com/
Author: 移住コストナビ
Template: cocoon-master
Version: 1.2.4
*/

/* Service pages: remove blog-only chrome without affecting ordinary posts. */
.iju-cost-navi-service-page .entry-title,
.iju-cost-navi-service-page .date-tags,
.iju-cost-navi-service-page .post-date,
.iju-cost-navi-service-page .post-update,
.iju-cost-navi-service-page .eye-catch,
.iju-cost-navi-service-page .toc,
.iju-cost-navi-service-page .toc-widget-box,
.iju-cost-navi-service-page .sns-share,
.iju-cost-navi-service-page .sns-follow,
.iju-cost-navi-service-page .author-box,
.iju-cost-navi-service-page .footer-meta,
.iju-cost-navi-service-page .article-footer,
.iju-cost-navi-service-page .under-entry-content,
.iju-cost-navi-service-page .related-entry-heading,
.iju-cost-navi-service-page .related-list,
.iju-cost-navi-service-page .breadcrumb,
.iju-cost-navi-service-page #breadcrumb,
.iju-cost-navi-service-page #sidebar,
.iju-cost-navi-service-page .sidebar,
.iju-cost-navi-service-page .sidebar-scroll,
.iju-cost-navi-service-page .widget_author_box,
.iju-cost-navi-service-page .widget_sns_follow_buttons,
.iju-cost-navi-service-page .article-header > .eye-catch-wrap {
  display: none !important;
}

.iju-cost-navi-service-page #content,
.iju-cost-navi-service-page .content,
.iju-cost-navi-service-page .content-in,
.iju-cost-navi-service-page #main,
.iju-cost-navi-service-page .main,
.iju-cost-navi-service-page .article,
.iju-cost-navi-service-page .entry-content {
  width: 100% !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box;
}

.iju-cost-navi-service-page #main,
.iju-cost-navi-service-page .main {
  float: none !important;
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

.iju-cost-navi-service-page .article {
  padding: 0 20px 48px !important;
}

.iju-cost-navi-service-page .entry-content {
  margin-top: 0 !important;
}

.iju-cost-navi-service-page input,
.iju-cost-navi-service-page select,
.iju-cost-navi-service-page textarea,
.iju-cost-navi-service-page button,
.iju-cost-navi-service-page .button,
.iju-cost-navi-service-page input[type="submit"] {
  min-height: 48px;
  font-size: 16px;
  border-radius: 12px;
}

.iju-cost-navi-service-page a,
.iju-cost-navi-service-page button,
.iju-cost-navi-service-page input,
.iju-cost-navi-service-page select {
  -webkit-tap-highlight-color: transparent;
}

/* Keep cards readable on narrow screens. */
.iju-cost-navi-service-page img,
.iju-cost-navi-service-page table,
.iju-cost-navi-service-page iframe {
  max-width: 100%;
}

.iju-cost-navi-service-page table {
  display: block;
  overflow-x: auto;
  white-space: nowrap;
}

@media screen and (max-width: 1023px) {
  .iju-cost-navi-service-page .content-in,
  .iju-cost-navi-service-page #main,
  .iju-cost-navi-service-page .main {
    max-width: 100% !important;
  }
}

@media screen and (max-width: 834px) {
  .iju-cost-navi-service-page .article {
    padding: 0 16px 96px !important;
  }

  .iju-cost-navi-service-page h1 {
    font-size: clamp(30px, 8vw, 44px);
    line-height: 1.2;
  }

  .iju-cost-navi-service-page h2 {
    font-size: clamp(24px, 6vw, 34px);
  }
}

@media screen and (max-width: 480px) {
  .iju-cost-navi-service-page .article {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .iju-cost-navi-service-page input,
  .iju-cost-navi-service-page select,
  .iju-cost-navi-service-page textarea,
  .iju-cost-navi-service-page button,
  .iju-cost-navi-service-page .button,
  .iju-cost-navi-service-page input[type="submit"] {
    width: 100%;
    box-sizing: border-box;
  }
}


/* v1.2.1: Cocoon and plugin TOC variants that remained on service pages. */
.iju-cost-navi-service-page #toc,
.iju-cost-navi-service-page #toc-container,
.iju-cost-navi-service-page .toc-container,
.iju-cost-navi-service-page .toc-content,
.iju-cost-navi-service-page .toc-list,
.iju-cost-navi-service-page .toc-title,
.iju-cost-navi-service-page .widget_toc,
.iju-cost-navi-service-page [class*="toc-widget"],
.iju-cost-navi-service-page [id^="toc-"] {
  display: none !important;
}

/* Prevent residual Cocoon wrappers from adding blog-like spacing. */
.iju-cost-navi-service-page .article-header:empty,
.iju-cost-navi-service-page .article-footer:empty,
.iju-cost-navi-service-page .under-entry-content:empty {
  display: none !important;
}


/* v1.2.2: robust service-page cleanup, including plugin-rendered markup. */
body.iju-service-ui [data-iju-toc],
body.iju-service-ui .iju-toc,
body.iju-service-ui .content-index,
body.iju-service-ui .outline,
body.iju-service-ui nav[aria-label="目次"],
body.iju-service-ui nav[aria-label="Table of contents"],
body.iju-service-ui details.toc,
body.iju-service-ui .wp-block-rank-math-toc-block,
body.iju-service-ui .ez-toc-container,
body.iju-service-ui #ez-toc-container {
  display: none !important;
}

/* Collapse empty wrappers left after removing blog/TOC elements. */
body.iju-service-ui .article-header:empty,
body.iju-service-ui .article-footer:empty,
body.iju-service-ui .entry-content > div:empty,
body.iju-service-ui .entry-content > nav:empty,
body.iju-service-ui .entry-content > aside:empty {
  display: none !important;
}

/* Keep the service body centered even when Cocoon wrapper classes vary. */
body.iju-service-ui #content,
body.iju-service-ui .content,
body.iju-service-ui .content-in,
body.iju-service-ui #main,
body.iju-service-ui .main,
body.iju-service-ui article,
body.iju-service-ui .entry-content {
  box-sizing: border-box;
}


/* v1.2.3: final targeted cleanup for the front/service pages. */
body.iju-service-ui .toc,
body.iju-service-ui #toc,
body.iju-service-ui [id*="toc" i],
body.iju-service-ui [class*="toc" i],
body.iju-service-ui [aria-label*="目次"],
body.iju-service-ui [aria-label*="table of contents" i] {
  display: none !important;
}

/* JS marks duplicate trust-link groups with this class. */
body.iju-service-ui .iju-duplicate-trust-links {
  display: none !important;
}
