/* MGK 静的サイト: custom-layout。同じ表示設定を複数ページで共有します。 */
/* ============================================================
   MGK 本番サイト 追加CSS（完全整理版）
   最終更新: 2026-05-22 JST
   置き換え対象: 既存の追加CSS全て
   構成:
   (1) ローカルmockupのstyle.min.css 全文（コンテンツ用）
   (2) 共通レイアウトの調整（ヘッダー・フッター・本文余白）
   (3) 装飾調整（h1-h6 ::before/::after、太字、border等）
   (4) ロゴ画像化（ヘッダー・フッター）
   (5) パンくず（トップに擬似要素、家アイコン、位置揃え）
   (6) スマホ対応（@media max-width: 599px）
   ============================================================ */

/* ============================================================
   (1) ローカル style.min.css 全文
   ============================================================ */

/* ============================================================
   (2) 共通レイアウトの調整（ヘッダー・フッター・本文）
   ============================================================ */

/* === html/body フォント === */
html,
html body {
  font-family:
    -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", Helvetica, Arial,
    "Hiragino Kaku Gothic ProN", "Yu Gothic UI", Meiryo, sans-serif !important;
  font-feature-settings: "palt" 1 !important;
  font-weight: 400 !important;
  font-size: 15px !important;
  line-height: 1.85 !important;
  color: var(--ink) !important;
  background: var(--bg) !important;
}

/* === 既存レイアウト ページタイトル非表示 === */
.p-articleTitle,
.c-pageTitle,
.l-articleHeader {
  display: none !important;
}

/* === メインコンテンツ余白除去 === */
.l-mainContent,
.l-mainContent__inner,
.p-mainContents,
.post_content,
.l-content,
.l-section {
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
}
.post_content > *:first-child {
  margin-top: 0 !important;
}

/* === ctabar === */
.ctabar {
  background: #fff !important;
}
.ctabar .wrap {
  padding: 22px !important;
  max-width: 1080px !important;
  margin: 0 auto !important;
}

/* === フッター === */
.l-footer {
  background: var(--bg-soft) !important;
  border-top: 1px solid var(--line) !important;
  padding: 48px 0 20px !important;
  margin-top: 10px !important;
}
.l-footer__widgetArea,
.l-footer__inner,
.l-footer__bottom,
.l-footer__bottom__inner {
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
}
.l-footer .l-container {
  max-width: 1080px !important;
  padding: 0 22px !important;
}

/* === a タグ === */
.post_content a {
  text-decoration: none;
}

/* ============================================================
   (3) 装飾調整（h1-h6 ::before/::after、太字、border等）
   ============================================================ */

/* === 既存レイアウト の h タグ ::before / ::after 装飾を全削除 ===
   ※ タグライン用 .l-header__logo::after は除外 */
main h1::before,
main h1::after,
main h2::before,
main h2::after,
main h3::before,
main h3::after,
main h4::before,
main h4::after,
main h5::before,
main h5::after,
main h6::before,
main h6::after,
main p::before,
main p::after,
main blockquote::before,
main blockquote::after,
article.feature h3::before,
article.feature h3::after,
.section-h h2::before,
.section-h h2::after,
.band .section-h h2::before,
.band .section-h h2::after,
.post_content h1::before,
.post_content h1::after,
.post_content h2::before,
.post_content h2::after,
.post_content h3::before,
.post_content h3::after,
.post_content h4::before,
.post_content h4::after,
.post_content h5::before,
.post_content h5::after,
.post_content h6::before,
.post_content h6::after,
.post_content p::before,
.post_content p::after,
section.hero h1::before,
section.hero h1::after,
.hero h1::before,
.hero h1::after,
footer h2::before,
footer h2::after,
footer h3::before,
footer h3::after,
footer h4::before,
footer h4::after,
footer h5::before,
footer h5::after,
.cards a.card::before,
.cards a.card::after,
.cards-2col a.card::before,
.cards-2col a.card::after {
  content: none !important;
  display: none !important;
  border: 0 !important;
  background: transparent !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
}

/* === .section-h ローカル仕様（border + margin-bottom） === */
html body .section-h.section-h {
  margin: 0 0 20px !important;
  padding-bottom: 0 !important;
  border: 0 !important;
  border-bottom: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
html body .band .section-h.section-h {
  border: 0 !important;
  border-bottom: 0 !important;
  padding-bottom: 0 !important;
  margin: 0 0 20px !important;
}

/* === cards / cards-2col の下に余白、次のセクションとの間隔 === */
html body .cards-2col,
html body .cards {
  margin-bottom: 40px !important;
}
html body .eval-list,
html body .steps {
  margin-bottom: 40px !important;
}
html body article.feature {
  margin-bottom: 40px !important;
}

/* === cards-2col のグリッドレイアウトを強制（既存レイアウトのデフォルトに勝つ） === */
html body .cards-2col,
html body .post_content .cards-2col {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 2px !important;
  background: var(--line) !important;
  border: 1px solid var(--line) !important;
  border-radius: 14px !important;
  overflow: hidden !important;
}
@media (max-width: 680px) {
  html body .cards-2col {
    grid-template-columns: 1fr !important;
  }
}
html body .cards-2col a.card,
html body .cards-2col div.card,
html body .cards-2col > .card,
html body .post_content .cards-2col a.card,
html body .post_content .cards-2col div.card,
html body .post_content .cards-2col > .card {
  display: block !important;
  background: #fff !important;
  padding: 22px 24px !important;
  border: 0 !important;
  border-radius: 0 !important;
  text-decoration: none !important;
  color: var(--ink) !important;
  transition: background 0.15s !important;
}
html body .cards-2col a.card:hover,
html body .cards-2col div.card:hover {
  background: var(--accent-soft) !important;
}
html body .cards-2col .meta,
html body .post_content .cards-2col .meta {
  display: flex !important;
  gap: 12px !important;
  align-items: center !important;
  font-size: 11.5px !important;
  color: var(--ink-faint) !important;
  margin-bottom: 9px !important;
}
html body .cards-2col .card h3,
html body .post_content .cards-2col .card h3 {
  font-family:
    -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Kaku Gothic ProN", sans-serif !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  line-height: 1.6 !important;
  margin: 0 0 6px !important;
  padding: 0 !important;
  border: 0 !important;
  color: var(--ink) !important;
  background: transparent !important;
}
html body .cards-2col .card h3 a {
  color: var(--ink) !important;
  text-decoration: none !important;
}
html body .cards-2col .card h3 a:hover {
  color: var(--accent) !important;
}
html body .cards-2col .card p,
html body .post_content .cards-2col .card p {
  font-size: 13px !important;
  color: var(--ink-soft) !important;
  margin: 0 !important;
}

/* === 用語集 dl.gl のグリッド+カード === */
html body .band .gl,
html body .band dl.gl {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
}
@media (max-width: 760px) {
  html body .band .gl,
  html body .band dl.gl {
    grid-template-columns: 1fr !important;
  }
}
html body .band .gl > div,
html body .band dl.gl > div {
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  border-radius: 12px !important;
  padding: 18px 20px !important;
  background: transparent !important;
  margin: 0 !important;
  display: block !important;
}
html body .band .gl dt,
html body .band dl.gl dt {
  display: block !important;
  font-weight: 800 !important;
  font-size: 15px !important;
  margin: 0 0 7px !important;
  padding: 0 !important;
  color: #fff !important;
  line-height: 1.5 !important;
  float: none !important;
  width: auto !important;
}
/* 用語dt内のリンク */
html body .band .gl dt a,
html body .band dl.gl dt a {
  color: #fff !important;
  text-decoration: none !important;
  font-weight: 800 !important;
  font-size: 15px !important;
  display: inline-block !important;
  padding: 0 !important;
  background: transparent !important;
  transition: color 0.2s !important;
  position: relative !important;
  z-index: 2 !important;
}
html body .band .gl dt a:hover,
html body .band dl.gl dt a:hover {
  color: var(--accent) !important;
}

/* 用語カード全体をクリック可能に（a::before で擬似オーバーレイ） */
html body .band .gl > div,
html body .band dl.gl > div {
  position: relative !important;
  transition: all 0.25s ease !important;
  cursor: default;
}
html body .band .gl > div:has(a),
html body .band dl.gl > div:has(a) {
  cursor: pointer !important;
}
html body .band .gl > div:has(a) dt a::before,
html body .band dl.gl > div:has(a) dt a::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  display: block !important;
}

/* ホバー時の見た目変化（浮き上がり + 色 + shadow） */
html body .band .gl > div:has(a:hover),
html body .band dl.gl > div:has(a:hover),
html body .band .gl > div:hover:has(a),
html body .band dl.gl > div:hover:has(a) {
  border-color: var(--accent) !important;
  background: rgba(124, 91, 255, 0.15) !important;
  transform: translateY(-3px) !important;
  box-shadow:
    0 10px 24px rgba(124, 91, 255, 0.3),
    0 0 0 1px var(--accent) !important;
}

/* ホバー時にdd（説明）も少し明るく */
html body .band .gl > div:hover:has(a) dd,
html body .band dl.gl > div:hover:has(a) dd {
  color: #fff !important;
  transition: color 0.25s !important;
}

/* dd は z-index でクリック領域より下に */
html body .band .gl dd,
html body .band dl.gl dd {
  position: relative !important;
}

/* 矢印アイコンを dt a の後ろに追加（hover で動く） */
html body .band .gl > div:has(a) dt a::after,
html body .band dl.gl > div:has(a) dt a::after {
  content: " →" !important;
  display: inline-block !important;
  opacity: 0 !important;
  transform: translateX(-4px) !important;
  transition: all 0.25s !important;
  color: var(--accent) !important;
  margin-left: 6px !important;
}
html body .band .gl > div:hover:has(a) dt a::after,
html body .band dl.gl > div:hover:has(a) dt a::after {
  opacity: 1 !important;
  transform: translateX(0) !important;
}
html body .band .gl dd,
html body .band dl.gl dd {
  display: block !important;
  font-size: 13px !important;
  color: #c4cad6 !important;
  line-height: 1.8 !important;
  margin: 0 !important;
  padding: 0 !important;
  font-weight: 400 !important;
}

/* === article.feature 本体の font-size 行間調整 === */
html body article.feature,
html body main article.feature,
html body .post_content article.feature {
  font-size: 15px !important;
  line-height: 1.85 !important;
  color: var(--ink-soft) !important;
}
html body article.feature p,
html body main article.feature p,
html body .post_content article.feature p {
  font-size: 15px !important;
  line-height: 1.85 !important;
  color: var(--ink-soft) !important;
  margin: 0 !important;
}

/* === セクションヘッダー .section-h h2 === */
html body .section-h h2,
html body .band .section-h h2 {
  font-size: 18px !important;
  font-weight: 800 !important;
  line-height: 1.85 !important;
  letter-spacing: 0.02em !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

/* === 本文 ul li === */
html body .post_content ul li,
html body .post_content ol li {
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.85 !important;
  color: var(--ink) !important;
  margin: 5px 0 !important;
}

/* === .read「続きを読む →」（独立行・block表示） === */
html body main .post_content .read,
html body article.feature a.read,
html body main article.feature a.read,
html body main .post_content article.feature a.read {
  display: block !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: var(--accent) !important;
  text-decoration: none !important;
  margin-top: 16px !important;
  width: fit-content !important;
}

/* === main の最初の要素の margin-top:0、空のp非表示 === */
html body main > p:empty,
html body .post_content > p:empty,
html body .columns > main > p:empty,
html body .wrap.columns > main > p:empty {
  display: none !important;
  margin: 0 !important;
  height: 0 !important;
}
html body .columns > main > *:first-child,
html body .wrap.columns > main > *:first-child,
html body .columns > aside > *:first-child,
html body .wrap.columns > aside > *:first-child {
  margin-top: 0 !important;
}

/* === footer h5 「サービス」「事業実績」「会社情報」 === */
html body footer.l-footer h5,
html body .l-footer h5,
html body footer h5 {
  font-size: 12px !important;
  letter-spacing: 0.14em !important;
  font-weight: 700 !important;
  color: var(--accent) !important;
  text-transform: uppercase !important;
  margin: 0 0 12px !important;
  line-height: 1.85 !important;
  padding: 0 !important;
  border: 0 !important;
}

/* === ヘッダーロゴを mgk.png 画像に置換 === */
.l-header h1.c-headLogo,
.l-header h1.c-headLogo.-txt {
  height: 30px !important;
  line-height: 30px !important;
  font-size: 0 !important;
  display: flex !important;
  align-items: center !important;
}
.c-headLogo__link,
.l-header h1.c-headLogo > a {
  display: inline-block !important;
  width: 100px !important;
  height: 30px !important;
  padding: 0 !important;
  margin: 0 !important;
  background-image: url("https://mgkinc.co.jp/assets/media/2026/05/mgk.png") !important;
  background-repeat: no-repeat !important;
  background-position: left center !important;
  background-size: contain !important;
  text-indent: -9999px !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  color: transparent !important;
  font-size: 0 !important;
  text-decoration: none !important;
}

/* === タグライン「MAKE / GROWTH / KINDLE」を .l-header__logo::after で表示 === */
html body .l-header h1.c-headLogo::after,
html body h1.c-headLogo::after,
html body .c-headLogo::after {
  content: none !important;
  display: none !important;
}
html body .l-header .l-header__inner .l-header__logo::after,
html body .l-header__logo::after {
  content: "MAKE / GROWTH / KINDLE" !important;
  display: inline-block !important;
  font-family:
    -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Kaku Gothic ProN", sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.14em !important;
  color: var(--ink-faint) !important;
  padding-left: 16px !important;
  margin-left: 0 !important;
  line-height: 30px !important;
  height: 30px !important;
  vertical-align: middle !important;
  white-space: nowrap !important;
  align-self: center !important;
  border: 0 !important;
}

/* ============================================================
   (5) パンくず（トップに擬似要素、家アイコン、位置）
   ============================================================ */

/* === トップページに擬似パンくず（家アイコン＋ホーム） === */
html body:not(:has(.p-breadcrumb)) .l-mainContent::before,
html body.home .l-mainContent::before {
  content: "\e922  ホーム" !important;
  font-family:
    icomoon,
    -apple-system,
    sans-serif !important;
  display: block !important;
  width: 100% !important;
  max-width: 1080px !important;
  margin: 0 auto !important;
  padding: 12px 22px !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  color: var(--ink-faint) !important;
  border: 0 !important;
  background: transparent !important;
  line-height: 1.85 !important;
  box-sizing: border-box !important;
}

/* === .crumb（投稿本文内の手動パンくず）を非表示 === */
.crumb,
.post_content .crumb {
  display: none !important;
}

/* ============================================================
   (6) スマホ対応（@media max-width: 599px）
   ============================================================ */
@media (max-width: 599px) {
  /* PC用ナビ・カスタムを非表示 */
  html body .l-header__gnav,
  html body .c-gnavWrap,
  html body nav.l-header__gnav,
  html body .l-header__customBtn.pc_,
  html body .w-header.pc_ {
    display: none !important;
  }

  /* スマホ用ハンバーガー・検索ボタンを表示 */
  html body .l-header__menuBtn,
  html body .l-header__menuBtn.sp_,
  html body .l-header__customBtn,
  html body .l-header__customBtn.sp_ {
    display: flex !important;
    align-items: center !important;
  }
  html body .l-header__menuBtn .c-iconBtn,
  html body .l-header__customBtn .c-iconBtn,
  html body .c-iconBtn.-menuBtn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    background: transparent !important;
    border: 0 !important;
    cursor: pointer !important;
  }
  html body .c-iconBtn__icon {
    display: block !important;
    font-size: 22px !important;
    color: var(--ink) !important;
  }

  /* ヘッダー内側 */
  html body .l-header__inner.l-container {
    padding: 0 14px !important;
    min-height: 60px !important;
    gap: 8px !important;
  }
  html body .l-header__logo {
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }
  html body .c-headLogo,
  html body .c-headLogo.-txt {
    height: 28px !important;
  }
  html body .c-headLogo__link {
    width: 80px !important;
    max-width: 80px !important;
    height: 28px !important;
  }

  /* タグラインをスマホで非表示 */
  html body .l-header__logo::after {
    display: none !important;
  }
}

/* タブレット */
@media (max-width: 880px) and (min-width: 600px) {
  html body .c-headLogo__link {
    width: 90px !important;
  }
  html body .l-header__inner.l-container {
    padding: 0 16px !important;
  }
}

/* === GLOSSARY-SINGLE (single .glossary CPT) === */
.single-glossary .glossary-summary-box {
  background: #f0f8ff;
  border: 2px solid #2b6cb0;
  border-radius: 8px;
  padding: 16px 20px;
  margin-bottom: 24px;
}
.single-glossary .glossary-summary-box .lead {
  font-weight: bold;
  color: #1a4fa8;
  margin-bottom: 8px;
}
.single-glossary .glossary-summary-box .body {
  color: #333;
  line-height: 1.8;
  margin-bottom: 8px;
}
.single-glossary .glossary-summary-box .read {
  color: #888;
  font-size: 0.85em;
  margin-top: 8px;
  margin-bottom: 0;
}
.single-glossary .glossary-back-link {
  margin: 0 0 18px;
  font-size: 13px;
}
.single-glossary .glossary-back-link a {
  color: #2f5bea;
  text-decoration: none;
  font-weight: 600;
}
.single-glossary .glossary-back-link a:hover {
  text-decoration: underline;
}
.single-glossary .glossary-item-audio {
  display: none !important;
}
.single-glossary .cmtt_related_articles_wrapper {
  margin-top: 24px;
  padding: 14px 18px;
  background: #f6f7f9;
  border-left: 3px solid #2f5bea;
  border-radius: 4px;
  font-size: 13px;
}
.single-glossary .cmtt_related_articles_wrapper a {
  color: #2f5bea;
  font-weight: 600;
}

/* === HOME-GLOSSARY-CARD-CLICKABLE === */
/* Stretched-link: a.gcard-link covers the whole div */
.band .gl > div {
  position: relative !important;
  transition:
    transform 0.16s ease,
    background 0.16s ease,
    border-color 0.16s ease;
  cursor: pointer;
}
.band .gl > div .gcard-link {
  position: absolute !important;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  text-indent: -9999px;
  overflow: hidden;
  color: transparent;
  background: transparent;
  border: 0;
  outline: 0;
}
.band .gl > div .gcard-link:focus-visible {
  outline: 2px solid #a5b4fc;
  outline-offset: 2px;
  border-radius: 12px;
}
.band .gl dt {
  color: #fff !important;
}
.band .gl dt::after {
  content: " →";
  display: inline-block;
  transition: transform 0.16s ease;
  opacity: 0.55;
  margin-left: 4px;
  font-weight: 600;
  color: #a5b4fc;
}
.band .gl > div:hover {
  background: rgba(110, 124, 228, 0.14) !important;
  border-color: rgba(165, 180, 252, 0.55) !important;
  transform: translateY(-2px);
}
.band .gl > div:hover dt {
  color: #a5b4fc !important;
}
.band .gl > div:hover dt::after {
  transform: translateX(4px);
  opacity: 1;
}

/* === ARCHIVE-CATEGORY-LAYOUT (hogehoge-pc style) === */
/* Show page title on archives */
html body main#main_content > .l-mainContent__inner > h1.c-pageTitle,
html body main#main_content > .l-mainContent__inner > .c-pageTitle,
#body_wrap #main_content h1.c-pageTitle {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  margin: 0 0 28px !important;
  padding: 0 0 18px !important;
  border: 0 !important;
  border-bottom: 1px solid #e6e8ec !important;
  background: transparent !important;
}
/* Hide on single posts and specific pages */
body.single main#main_content > .l-mainContent__inner > h1.c-pageTitle,
body.page main#main_content > .l-mainContent__inner > h1.c-pageTitle,
body.page-id-401 main#main_content > .l-mainContent__inner > h1.c-pageTitle,
body.page-id-402 main#main_content > .l-mainContent__inner > h1.c-pageTitle {
  display: none !important;
}

#body_wrap #main_content h1.c-pageTitle .c-pageTitle__inner {
  display: inline-block !important;
  font-family: "Hiragino Mincho ProN", "YuMincho", serif !important;
  font-size: clamp(22px, 3vw, 28px) !important;
  font-weight: 800 !important;
  color: #1c1f26 !important;
}
#body_wrap #main_content h1.c-pageTitle .c-pageTitle__subTitle {
  display: inline-block !important;
  margin-left: 14px !important;
  font-size: 12px !important;
  color: #8a93a3 !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  font-family: "Hiragino Kaku Gothic ProN", sans-serif !important;
}

/* Term content container */
.l-mainContent__inner > .p-termContent {
  margin: 0 !important;
  padding: 0 !important;
  max-width: 100% !important;
}

/* === SINGLE-POST-LAYOUT (hogehoge-pc article style) === */
/* Show article title and metas on single posts (NOT single glossary CPT which has its own treatment) */
#body_wrap.single-post #main_content > .l-mainContent__inner > .p-articleHead.c-postTitle,
#body_wrap.single-post #main_content > .l-mainContent__inner > .p-articleHead,
#body_wrap.single-post #main_content > .l-mainContent__inner > .p-articleMetas {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

#body_wrap.single-post #main_content > .l-mainContent__inner > .p-articleHead.c-postTitle {
  margin: 0 auto 12px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  max-width: 780px !important;
}

#body_wrap.single-post #main_content .p-articleHead .c-postTitle__ttl,
#body_wrap.single-post #main_content .c-postTitle__ttl,
#body_wrap.single-post #main_content .p-articleHead h1 {
  font-family: "Hiragino Mincho ProN", "YuMincho", serif !important;
  font-size: clamp(22px, 3vw, 30px) !important;
  font-weight: 800 !important;
  line-height: 1.5 !important;
  color: #1c1f26 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

#body_wrap.single-post #main_content .p-articleHead .c-postTitle__ttl::before,
#body_wrap.single-post #main_content .p-articleHead .c-postTitle__ttl::after,
#body_wrap.single-post #main_content .c-postTitle__ttl::before,
#body_wrap.single-post #main_content .c-postTitle__ttl::after {
  display: none !important;
}

/* Hide the auto-attached date inside title (we use the meta row below instead) */
#body_wrap.single-post #main_content .p-articleHead .c-postTitle__date,
#body_wrap.single-post #main_content .p-articleHead .c-postTitle__year,
#body_wrap.single-post #main_content .p-articleHead .c-postTimes,
#body_wrap.single-post #main_content .p-articleHead .post_date,
#body_wrap.single-post #main_content .p-articleHead time {
  display: none !important;
}

/* Article metas row (category + date) */
#body_wrap.single-post #main_content > .l-mainContent__inner > .p-articleMetas.-top {
  margin: 0 auto 24px !important;
  padding: 0 !important;
  font-size: 13px !important;
  color: #5b6473 !important;
  display: flex !important;
  flex-wrap: wrap;
  gap: 8px 14px;
  align-items: center;
  max-width: 780px !important;
}
#body_wrap.single-post
  #main_content
  .p-articleMetas.-top
  a:not(.c-categoryList__link):not(.c-categoryLabel):not(.cat-link) {
  color: #5b6473 !important;
  text-decoration: none !important;
}
/* Category badge stays white on dark teal (match hogehoge-pc) */
#body_wrap.single-post #main_content .p-articleMetas.-top .c-categoryList__link,
#body_wrap.single-post #main_content .p-articleMetas.-top .c-categoryLabel,
#body_wrap.single-post #main_content .p-articleMetas.-top .cat-link {
  color: #fff !important;
  font-weight: 500 !important;
  text-decoration: none !important;
}
#body_wrap.single-post #main_content .p-articleMetas.-top .c-postTimes,
#body_wrap.single-post #main_content .p-articleMetas.-top time {
  color: #8a93a3 !important;
  font-size: 12.5px !important;
}

/* Category label inline (like hogehoge) */
#body_wrap.single-post #main_content .p-articleMetas.-top .c-categoryLabel,
#body_wrap.single-post #main_content .p-articleMetas.-top .cat-link {
  background: #1c2632 !important;
  color: #fff !important;
  font-size: 11.5px !important;
  font-weight: 700;
  padding: 4px 10px !important;
  border-radius: 3px;
  text-decoration: none;
  line-height: 1.4;
}

/* Left fixed share buttons: pushed off-screen but reserve content space */
@media (min-width: 960px) {
  #body_wrap.single-post #main_content .c-shareBtns.-fix {
    left: 8px !important;
    top: 280px !important;
  }
  /* Push content right so share buttons don't overlap */
  #body_wrap.single-post #main_content > .l-mainContent__inner {
    padding-left: 62px !important;
    padding-right: 22px !important;
    padding-top: 24px !important;
    max-width: none !important;
  }
  #body_wrap.single-post #main_content > .l-mainContent__inner > * {
    max-width: 780px;
    margin-left: auto;
    margin-right: auto;
  }
  /* But share buttons themselves should NOT be constrained */
  #body_wrap.single-post #main_content > .l-mainContent__inner > .c-shareBtns.-fix {
    max-width: none;
    margin: 0;
  }
}
@media (max-width: 959px) {
  #body_wrap.single-post #main_content .c-shareBtns.-fix {
    display: none !important;
  }
  #body_wrap.single-post #main_content > .l-mainContent__inner {
    padding: 24px 18px !important;
  }
}

/* Bottom share buttons cleaner */
#body_wrap.single-post #main_content .c-shareBtns.-bottom {
  margin: 32px 0 !important;
}

/* === 2COL-LAYOUT-WITH-SIDEBAR (hogehoge style: flex, wider container) === */
@media (min-width: 960px) {
  html body #body_wrap.archive #content.l-content.l-container,
  html body #body_wrap.single-post #content.l-content.l-container,
  html body #body_wrap.single-glossary #content.l-content.l-container {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 0 !important;
    max-width: 1296px !important;
    width: 100% !important;
    margin: 0 auto 96px !important;
    padding: 48px 48px 0 !important;
    align-items: flex-start;
    box-sizing: border-box;
  }
  html body #body_wrap.archive #main_content,
  html body #body_wrap.single-post #main_content,
  html body #body_wrap.single-glossary #main_content {
    flex: 1 1 0% !important;
    max-width: calc(100% - 356px) !important;
    width: auto !important;
    margin: 0 52px 0 0 !important;
    padding: 0 !important;
    min-width: 0 !important;
    overflow: hidden;
  }
  html body #body_wrap.archive #main_content > .l-mainContent__inner,
  html body #body_wrap.single-glossary #main_content > .l-mainContent__inner {
    max-width: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  html body #body_wrap.single-post #main_content > .l-mainContent__inner {
    max-width: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding-left: 62px !important;
    padding-right: 0 !important;
    padding-top: 0 !important;
  }

  html body #sidebar.l-sidebar {
    flex: 0 0 304px !important;
    width: 304px !important;
    max-width: 304px !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 0 48px !important;
    height: auto !important;
    position: static !important;
  }
  html body #sidebar.l-sidebar .c-widget {
    margin-bottom: 24px !important;
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
  }
  html body #sidebar.l-sidebar .box {
    background: #fff;
    border: 1px solid #e6e8ec;
    border-radius: 12px;
    padding: 18px 20px;
    margin-bottom: 16px;
  }
  html body #sidebar.l-sidebar .box h4 {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #8a93a3 !important;
    letter-spacing: 0.08em !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
    text-transform: uppercase;
    border: 0 !important;
  }
  html body #sidebar.l-sidebar .box.sidecta {
    background: #f6f7f9;
  }
  html body #sidebar.l-sidebar .box.sidecta .ttl {
    font-family: "Hiragino Mincho ProN", "YuMincho", serif;
    font-size: 17px;
    font-weight: 800;
    color: #1c1f26;
    line-height: 1.5;
    margin-bottom: 10px;
  }
  html body #sidebar.l-sidebar .box.sidecta p {
    font-size: 12.5px;
    color: #5b6473;
    line-height: 1.85;
    margin: 0 0 14px;
  }
  html body #sidebar.l-sidebar .box.sidecta .btn {
    display: block;
    background: #1c1f26;
    color: #fff;
    text-align: center;
    padding: 10px 14px;
    border-radius: 8px;
    font-weight: 700;
    font-size: 13px;
    text-decoration: none;
    transition: 0.14s;
  }
  html body #sidebar.l-sidebar .box.sidecta .btn:hover {
    background: #2f5bea;
  }
  html body #sidebar.l-sidebar .box .tagcloud {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
  }
  html body #sidebar.l-sidebar .box .tagcloud a {
    display: inline-block;
    font-size: 11.5px !important;
    color: #5b6473 !important;
    background: #f6f7f9;
    padding: 4px 10px;
    border-radius: 999px;
    text-decoration: none;
    transition: 0.14s;
  }
  html body #sidebar.l-sidebar .box .tagcloud a:hover {
    background: #eef2fe;
    color: #2f5bea !important;
  }
  html body #sidebar.l-sidebar .box .ranklist {
    list-style: none;
    padding: 0;
    margin: 0;
    counter-reset: ranking;
  }
  html body #sidebar.l-sidebar .box .ranklist li {
    counter-increment: ranking;
    position: relative;
    padding: 8px 0 8px 28px;
    font-size: 12.5px;
    line-height: 1.55;
    border-bottom: 1px solid #f0f2f5;
  }
  html body #sidebar.l-sidebar .box .ranklist li:last-child {
    border-bottom: 0;
  }
  html body #sidebar.l-sidebar .box .ranklist li::before {
    content: counter(ranking);
    position: absolute;
    left: 0;
    top: 8px;
    width: 20px;
    height: 20px;
    background: #1c1f26;
    color: #fff;
    font-weight: 700;
    font-size: 10.5px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-family: "Hiragino Kaku Gothic ProN", sans-serif;
  }
  html body #sidebar.l-sidebar .box .ranklist li:nth-child(1)::before {
    background: #d4a017;
  }
  html body #sidebar.l-sidebar .box .ranklist li:nth-child(2)::before {
    background: #9ba1a8;
  }
  html body #sidebar.l-sidebar .box .ranklist li:nth-child(3)::before {
    background: #a07041;
  }
  html body #sidebar.l-sidebar .box .ranklist a {
    color: #1c1f26 !important;
    text-decoration: none;
  }
  html body #sidebar.l-sidebar .box .ranklist a:hover {
    color: #2f5bea !important;
  }
  html body #sidebar.l-sidebar .box.about p {
    font-size: 12.5px;
    color: #5b6473;
    line-height: 1.85;
    margin: 0 0 8px;
  }
  html body #sidebar.l-sidebar .box.about strong {
    color: #1c1f26;
  }
}
@media (max-width: 959px) {
  html body #sidebar.l-sidebar {
    display: block !important;
    margin: 32px auto 48px !important;
    padding: 0 22px !important;
    max-width: 600px;
  }
}
/* ============================================================
   MGK 本番サイト 追加CSS（完全整理版）
   最終更新: 2026-05-22 JST
   置き換え対象: 既存の追加CSS全て
   構成:
   (1) ローカルmockupのstyle.min.css 全文（コンテンツ用）
   (2) 共通レイアウトの調整（ヘッダー・フッター・本文余白）
   (3) 装飾調整（h1-h6 ::before/::after、太字、border等）
   (4) ロゴ画像化（ヘッダー・フッター）
   (5) パンくず（トップに擬似要素、家アイコン、位置揃え）
   (6) スマホ対応（@media max-width: 599px）
   ============================================================ */

/* ============================================================
   (1) ローカル style.min.css 全文
   ============================================================ */
:root {
  --bg: #ffffff;
  --bg-soft: #f6f7f9;
  --line: #e6e8ec;
  --ink: #1c1f26;
  --ink-soft: #5b6473;
  --ink-faint: #8a93a3;
  --accent: #7c5bff;
  --accent-soft: #f2edff;
  --tag: #5c3ce6;
  --tag-soft: #f2edff;
  --maxw: 1080px;
  --serif: "Hiragino Mincho ProN", "Yu Mincho", serif;
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
}
body {
  background: var(--bg);
  color: var(--ink);
  font-family:
    -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Kaku Gothic ProN", "Yu Gothic UI",
    Meiryo, sans-serif;
  line-height: 1.85;
  font-size: 15px;
  -webkit-font-smoothing: antialiased;
}
a {
  color: inherit;
  text-decoration: none;
}
.wrap {
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 0 22px;
}
.acc {
  color: var(--accent);
}
.hero {
  padding: 64px 0 50px;
  border-bottom: 1px solid var(--line);
  background: linear-gradient(180deg, var(--bg-soft), var(--bg));
}
.kicker {
  font-size: 12px;
  letter-spacing: 0.18em;
  color: var(--accent);
  font-weight: 700;
  margin-bottom: 16px;
}
.hero h1 {
  font-family: var(--serif);
  font-size: clamp(28px, 4.6vw, 46px);
  line-height: 1.45;
  font-weight: 800;
  margin-bottom: 18px;
  letter-spacing: 0.01em;
}
.hero p.tag {
  color: var(--ink-soft);
  font-size: 16px;
  max-width: 620px;
  background: transparent;
  border: 0;
  padding: 0;
}
.ctabar {
  border-bottom: 1px solid var(--line);
  background: #fff;
}
.ctabar .wrap {
  padding: 22px;
  text-align: center;
}
.ctabar .lead {
  font-size: 14px;
  color: var(--ink-soft);
  margin-bottom: 14px;
}
.ctabar .cta-btns {
  display: flex;
  gap: 10px;
  justify-content: center;
  flex-wrap: wrap;
}
.ctabar .cta-btn {
  display: inline-block;
  background: var(--accent);
  color: #fff;
  font-weight: 700;
  font-size: 14px;
  border-radius: 999px;
  padding: 13px 28px;
  transition: 0.14s;
}
.ctabar .cta-btn:hover {
  filter: brightness(0.94);
}
.ctabar .cta-btn.ghost {
  background: #fff;
  color: var(--accent);
  border: 1px solid var(--accent);
}
.ctabar .hint {
  font-size: 12px;
  color: var(--ink-faint);
  margin-top: 12px;
}
.columns {
  display: grid;
  grid-template-columns: 1fr 300px;
  gap: 46px;
  padding: 50px 0;
}
@media (max-width: 880px) {
  .columns {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}
.section-h {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin: 0 0 20px;
  padding-bottom: 10px;
  border-bottom: 2px solid var(--ink);
}
.section-h h2 {
  font-size: 18px;
  font-weight: 800;
  letter-spacing: 0.02em;
}
.section-h .more {
  font-size: 12.5px;
  color: var(--ink-faint);
  font-weight: 600;
}
article.feature {
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 28px;
  margin-bottom: 34px;
  background: var(--bg-soft);
}
.cat {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: var(--tag);
  background: var(--tag-soft);
  padding: 5px 11px;
  border-radius: 999px;
}
article.feature h3 {
  font-family: var(--serif);
  font-size: 24px;
  line-height: 1.55;
  font-weight: 800;
  margin: 14px 0 12px;
}
article.feature h3 a {
  color: var(--ink);
}
article.feature p {
  color: var(--ink-soft);
  font-size: 15px;
}
.read {
  display: inline-block;
  margin-top: 16px;
  font-weight: 700;
  color: var(--accent);
  font-size: 14px;
}
.read::after {
  content: " →";
}
.cards {
  display: grid;
  gap: 2px;
  background: var(--line);
  border: 1px solid var(--line);
  border-radius: 14px;
  overflow: hidden;
}
.cards a.card {
  display: block;
  background: #fff;
  padding: 22px 24px;
  transition: background 0.15s;
}
.cards a.card:hover {
  background: var(--accent-soft);
}
.card .meta {
  display: flex;
  gap: 12px;
  align-items: center;
  font-size: 11.5px;
  color: var(--ink-faint);
  margin-bottom: 9px;
}
.card .meta .cat {
  font-size: 11px;
}
.card h3 {
  font-size: 17px;
  font-weight: 700;
  line-height: 1.6;
  margin-bottom: 6px;
  color: var(--ink);
}
.card p {
  font-size: 13px;
  color: var(--ink-soft);
}
.cards-2col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2px;
  background: var(--line);
  border: 1px solid var(--line);
  border-radius: 14px;
  overflow: hidden;
}
@media (max-width: 680px) {
  .cards-2col {
    grid-template-columns: 1fr;
  }
}
.cards-2col a.card {
  display: block;
  background: #fff;
  padding: 22px 24px;
  transition: background 0.15s;
}
.cards-2col a.card:hover {
  background: var(--accent-soft);
}
aside .box {
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 20px 22px;
  margin-bottom: 24px;
}
aside .box h4 {
  font-size: 13px;
  letter-spacing: 0.1em;
  color: var(--ink-faint);
  font-weight: 700;
  margin-bottom: 14px;
  text-transform: uppercase;
}
.tagcloud {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.tagcloud span,
.tagcloud a {
  display: inline-block;
  font-size: 12.5px;
  color: var(--ink-soft);
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 6px 13px;
  transition: 0.14s;
}
.tagcloud a:hover {
  border-color: var(--accent);
  color: var(--accent);
  background: var(--accent-soft);
}
.sidecta {
  border: 1px solid var(--accent);
  background: var(--accent-soft);
  border-radius: 14px;
  padding: 20px 22px;
  margin-bottom: 24px;
}
.sidecta h4 {
  font-size: 13px;
  letter-spacing: 0.06em;
  color: var(--accent);
  font-weight: 800;
  margin-bottom: 8px;
}
.sidecta .ttl {
  font-weight: 800;
  font-size: 15px;
  line-height: 1.6;
  margin-bottom: 8px;
  color: var(--ink);
}
.sidecta p {
  font-size: 12.5px;
  color: var(--ink-soft);
  line-height: 1.8;
  margin-bottom: 14px;
}
.sidecta a.btn {
  display: block;
  text-align: center;
  background: var(--accent);
  color: #fff;
  font-weight: 800;
  font-size: 13.5px;
  border-radius: 10px;
  padding: 12px;
  transition: 0.14s;
}
.sidecta a.btn:hover {
  filter: brightness(0.94);
}
.iplist {
  list-style: none;
}
.iplist li {
  padding: 10px 0;
  border-bottom: 1px dashed var(--line);
  font-size: 13px;
  line-height: 1.6;
}
.iplist li:last-child {
  border: 0;
}
.iplist .name {
  display: block;
  font-weight: 800;
  color: var(--ink);
  margin-bottom: 2px;
}
.iplist .desc {
  color: var(--ink-faint);
  font-size: 12px;
}
.statbox {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
  border-radius: 12px;
  overflow: hidden;
  margin-bottom: 24px;
}
.statbox .s {
  background: #fff;
  padding: 16px 12px;
  text-align: center;
}
.statbox .num {
  font-family: var(--serif);
  font-weight: 800;
  color: var(--accent);
  font-size: 24px;
  line-height: 1.1;
  margin-bottom: 4px;
}
.statbox .lbl {
  font-size: 11px;
  color: var(--ink-faint);
  letter-spacing: 0.04em;
}
.band {
  background: var(--ink);
  color: #fff;
  padding: 48px 0;
  margin: 10px 0 0;
}
.band .section-h {
  border-color: rgba(255, 255, 255, 0.35);
}
.band .section-h h2 {
  color: #fff;
}
.band .gl {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
@media (max-width: 760px) {
  .band .gl {
    grid-template-columns: 1fr;
  }
}
.band .gl div {
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 12px;
  padding: 18px 20px;
}
.band .gl dt {
  font-weight: 800;
  font-size: 15px;
  margin-bottom: 7px;
}
.band .gl dd {
  font-size: 13px;
  color: #c4cad6;
  line-height: 1.8;
}
.btn-ghost {
  display: inline-block;
  margin-top: 24px;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.4);
  border-radius: 999px;
  padding: 10px 22px;
  font-size: 13.5px;
  font-weight: 700;
}
.btn-ghost:hover {
  background: rgba(255, 255, 255, 0.08);
}
.eval-list {
  list-style: none;
  display: grid;
  gap: 8px;
  margin: 20px 0;
}
.eval-list li {
  background: #fff;
  border: 1px solid var(--line);
  border-left: 3px solid var(--accent);
  padding: 12px 16px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  gap: 14px;
}
.eval-list li.rank-1 {
  background: var(--accent-soft);
  border-left-width: 4px;
}
.eval-list li.rank-5 {
  opacity: 0.6;
  border-left-color: var(--ink-faint);
}
.eval-rank {
  font-family: var(--serif);
  font-weight: 800;
  color: var(--accent);
  font-size: 24px;
  width: 32px;
  text-align: center;
  flex: none;
}
.eval-list li.rank-1 .eval-rank {
  color: var(--tag);
}
.eval-list li.rank-5 .eval-rank {
  color: var(--ink-faint);
}
.eval-text strong {
  font-weight: 800;
  color: var(--ink);
}
.eval-text small {
  display: block;
  color: var(--ink-faint);
  font-size: 11.5px;
  margin-top: 2px;
}
.steps {
  display: grid;
  gap: 10px;
  margin: 24px 0;
}
.step {
  background: #fff;
  border: 1px solid var(--line);
  border-left: 3px solid var(--accent);
  padding: 16px 22px;
  border-radius: 6px;
}
.step .num {
  font-family: var(--serif);
  font-weight: 800;
  color: var(--accent);
  font-size: 12px;
  letter-spacing: 0.18em;
  margin-bottom: 4px;
}
.step h4 {
  font-size: 15px;
  font-weight: 800;
  margin-bottom: 4px;
  color: var(--ink);
}
.step p {
  font-size: 13px;
  color: var(--ink-soft);
  margin: 0;
}

/* ============================================================
   (2) 共通レイアウトの調整（ヘッダー・フッター・本文）
   ============================================================ */

/* === 既存レイアウト の派手要素を非表示 === */
.home .p-mainVisual,
.p-mainVisual,
.p-mainVisual.-type-single,
.p-postSlider,
.c-postSlider,
.p-pickupBanners,
.p-frontPickupBanner,
.c-pickupBanners,
.p-pickupSlider {
  display: none !important;
}

/* === ヘッダー高さ65px、PC幅 === */
.l-header {
  border-bottom: 1px solid var(--line) !important;
  background: rgba(255, 255, 255, 0.92) !important;
  backdrop-filter: saturate(160%) blur(8px) !important;
  box-shadow: none !important;
}
.l-header__inner.l-container {
  padding: 0 22px !important;
  max-width: 1080px !important;
  min-height: 64px !important;
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
}
.l-header__logo {
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
}

/* === wrap.columns: padding 50px 0 === */
.wrap.columns {
  margin: 0 auto !important;
  padding: 50px 22px !important;
  max-width: 1080px !important;
}
@media (max-width: 880px) {
  .wrap.columns {
    padding: 40px 22px !important;
  }
}

/* === 用語集（黒帯） === */
.band {
  background: var(--ink) !important;
  color: #fff !important;
  padding: 48px 0 !important;
  margin: 10px 0 0 !important;
}
.band .wrap {
  padding: 0 22px !important;
  max-width: 1080px !important;
  margin: 0 auto !important;
}

/* === scroll-padding（固定ヘッダー対応） === */
html {
  scroll-padding-top: 65px;
}

/* === h2/h3 line-height 確保 === */
html body main h2,
html body main h3,
html body main h4,
html body main h5,
html body main h6 {
  line-height: 1.85;
}

/* === セクション直後カード上端の処理（灰色帯を隠す） === */
html body .section-h + .cards-2col,
html body .section-h + .cards {
  border-top: 0 !important;
  border-top-left-radius: 0 !important;
  border-top-right-radius: 0 !important;
  box-shadow: inset 0 2px 0 #fff !important;
}

/* === post_content 内の2番目以降のsection-hは上にマージン === */
html body .post_content .section-h ~ .section-h,
html body main .post_content .section-h ~ .section-h {
  margin-top: 8px !important;
}

/* === 同じく .cards（縦並び）グリッド === */
html body .cards,
html body .post_content .cards {
  display: grid !important;
  gap: 2px !important;
  background: var(--line) !important;
  border: 1px solid var(--line) !important;
  border-radius: 14px !important;
  overflow: hidden !important;
}
html body .cards a.card {
  display: block !important;
  background: #fff !important;
  padding: 22px 24px !important;
  border: 0 !important;
  text-decoration: none !important;
}

/* === 太字ウェイト 600 統一（h1-h6, strong, .ttl） === */
html body :is(h1, h2, h3, h4, h5, h6, b, strong, .ttl) {
  font-weight: 600 !important;
}
html body .c-headLogo__link,
html body .l-header__logo a,
html body .statbox .num,
html body .eval-rank {
  font-weight: 800 !important;
}

/* === 特集記事 h3（明朝 24px） === */
html body main article.feature h3,
html body main .post_content article.feature h3,
html body article.feature h3 {
  font-family: "Hiragino Mincho ProN", "Yu Mincho", serif !important;
  font-size: 24px !important;
  line-height: 1.55 !important;
  font-weight: 700 !important;
  margin: 14px 0 12px !important;
  padding: 0 !important;
  border: 0 !important;
}
/* h3内のaリンクを「本文a」セレクタより高い特定度で固定 */
html
  body
  main
  .post_content
  article.feature
  h3
  a:not(.cta-btn):not(.btn):not(.btn-ghost):not(.read):not(.c-headLogo__link),
html
  body
  .post_content
  article.feature
  h3
  a:not(.cta-btn):not(.btn):not(.btn-ghost):not(.read):not(.c-headLogo__link),
html body article.feature h3 a {
  color: var(--ink) !important;
  text-decoration: none !important;
  text-decoration-color: transparent !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  font-family: "Hiragino Mincho ProN", "Yu Mincho", serif !important;
  line-height: 1.55 !important;
  background: transparent !important;
}
html body main .post_content article.feature h3 a:hover {
  color: var(--accent) !important;
  text-decoration: none !important;
}

/* === 本文 p の整え === */
html body .post_content p,
html body main .post_content p,
html body main p {
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.85 !important;
  color: var(--ink) !important;
  margin: 14px 0 !important;
}

/* === 本文 a === */
html
  body
  main
  .post_content
  a:not(.cta-btn):not(.btn):not(.btn-ghost):not(.read):not(.c-headLogo__link) {
  color: var(--accent);
  font-size: 15px !important;
  font-weight: 600 !important;
  text-decoration: underline !important;
  text-decoration-color: rgba(124, 91, 255, 0.3) !important;
  text-underline-offset: 3px !important;
}

/* === 本文 h2/h3（about等） === */
html body .post_content h2 {
  font-family: "Hiragino Mincho ProN", "Yu Mincho", serif !important;
  font-size: 23px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  margin: 38px 0 14px !important;
  padding: 10px 0 10px 16px !important;
  border-left: 5px solid var(--accent) !important;
  background: transparent !important;
}
html body .post_content h3 {
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.85 !important;
  color: var(--ink) !important;
  margin: 28px 0 10px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

/* === STEPカード見出し === */
html body .step h4 {
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.85 !important;
  color: var(--ink) !important;
  margin: 0 0 4px !important;
}

/* === STATSの数値 === */
html body .statbox .num {
  font-family: "Hiragino Mincho ProN", "Yu Mincho", serif !important;
  font-weight: 800 !important;
  font-size: 24px !important;
  letter-spacing: -0.01em !important;
}

/* ============================================================
   (4) ロゴ画像化（ヘッダー・フッター）
   ============================================================ */

/* === フッターロゴ「M.G.K.」を mgk.png 画像に置換 === */
html body footer .logo-col h2,
html body .l-footer .logo-col h2 {
  background: url("https://mgkinc.co.jp/assets/media/2026/05/mgk.png") no-repeat left center !important;
  background-size: contain !important;
  background-color: transparent !important;
  display: block !important;
  width: 126px !important;
  height: 38px !important;
  margin: 0 0 14px !important;
  padding: 0 !important;
  font-size: 0 !important;
  line-height: 0 !important;
  color: transparent !important;
  text-indent: -9999px !important;
  overflow: hidden !important;
  border: 0 !important;
}

/* === 既存レイアウトの下層パンくず === */
html body .p-breadcrumb {
  background: transparent !important;
  padding: 0 !important;
  border: 0 !important;
}
html body .p-breadcrumb__list.l-container,
html body .p-breadcrumb__list {
  max-width: 1080px !important;
  margin: 0 auto !important;
  padding: 12px 22px !important;
  font-size: 12px !important;
  color: var(--ink-faint) !important;
  line-height: 1.85 !important;
}
html body .p-breadcrumb__item,
html body .p-breadcrumb__text {
  font-size: 12px !important;
  color: var(--ink-faint) !important;
}
html body .p-breadcrumb__text:hover {
  color: var(--accent) !important;
}

/* === ホームのhero上の余白詰め === */
html body:not(:has(.p-breadcrumb)) section.hero,
html body.home section.hero {
  margin-top: -32px !important;
}

/* === GLOSSARY-INDEX (page-id-401) === */
/* GLOSSARY-INDEX-LAYOUT */
.page-id-401 .c-pageTitle,
.page-id-401 .l-articleHead,
.page-id-401 .p-articleThumb {
  display: none !important;
}
.page-id-401 .l-sidebar {
  display: none !important;
}
.page-id-401 .l-mainContent,
.page-id-401 .l-mainContent__inner,
.page-id-401 .l-content,
.page-id-401 .l-content__inner {
  max-width: 100% !important;
  width: 100% !important;
  grid-template-columns: 1fr !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.page-id-401 .post_content {
  max-width: 100% !important;
}
.page-id-401 .pagehead {
  padding: 34px 0 26px;
  border-bottom: 1px solid #e6e8ec;
  background: linear-gradient(180deg, #f6f7f9, #fff);
}
.page-id-401 .pagehead .wrap {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 22px;
}
.page-id-401 .pagehead h1 {
  font-family: "Hiragino Mincho ProN", "YuMincho", serif;
  font-size: clamp(24px, 3.4vw, 32px) !important;
  font-weight: 800;
  margin: 0 0 8px !important;
  border: 0 !important;
  padding: 0 !important;
  line-height: 1.4;
}
.page-id-401 .pagehead h1::before,
.page-id-401 .pagehead h1::after {
  display: none !important;
}
.page-id-401 .pagehead p {
  color: #5b6473;
  font-size: 14px;
  max-width: 720px;
  margin: 0;
}
.page-id-401 .crumb {
  font-size: 12px;
  color: #8a93a3;
  padding: 0 0 10px;
}
.page-id-401 .crumb a {
  color: #8a93a3;
  text-decoration: none;
}
.page-id-401 .crumb a:hover {
  color: #2f5bea;
}
.page-id-401 .crumb span {
  margin: 0 7px;
}
.page-id-401 .gindex {
  max-width: 1180px;
  margin: 0 auto;
  padding: 40px 22px 60px;
}
.page-id-401 .gblocks {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 12px;
}
.page-id-401 .gblocks a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 46px;
  height: 46px;
  padding: 0 14px;
  font-size: 15px;
  font-weight: 800;
  color: #1c1f26;
  background: #fff;
  border: 1px solid #e6e8ec;
  border-radius: 10px;
  text-decoration: none;
  transition: 0.14s;
}
.page-id-401 .gblocks a:hover {
  border-color: #2f5bea;
  color: #2f5bea;
  background: #eef2fe;
}
.page-id-401 .gblocks a.empty {
  color: #8a93a3;
  background: #f6f7f9;
  pointer-events: none;
  opacity: 0.55;
  font-weight: 600;
}
.page-id-401 .gindex .note {
  font-size: 12px;
  color: #8a93a3;
  margin: 0 0 28px;
}
.page-id-401 .l-content.l-container {
  padding-top: 0 !important;
  margin-bottom: 0 !important;
}
.page-id-401 .navrow {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin: 0 0 10px;
}
.page-id-401 .navrow .navlab {
  flex: none;
  font-size: 12px;
  color: #8a93a3;
  font-weight: 700;
  letter-spacing: 0.08em;
  padding-top: 14px;
  min-width: 64px;
}
.page-id-401 .navrow .gblocks {
  margin: 0;
  flex: 1;
}
.page-id-401 .gblocks a {
  padding: 0 10px;
}
.page-id-401 .post_content {
  margin-top: 0 !important;
}
.page-id-401 .pagehead .crumb {
  display: none !important;
}
.page-id-401 .pagehead {
  margin-bottom: 0 !important;
}
.page-id-401 .cm-glossary .glossary_top_filter,
.page-id-401 .cm-glossary .cmtt_help,
.page-id-401 .cm-glossary .progress-indicator,
.page-id-401 #glossaryList-nav {
  display: none !important;
}
.page-id-401 .cm-glossary {
  margin: 0;
}
.page-id-401 .cm-glossary .glossary-container {
  padding: 0;
}
.page-id-401 #glossaryList {
  list-style: none !important;
  padding: 0 !important;
  margin: 6px 0 0 !important;
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 14px !important;
}
@media (max-width: 680px) {
  .page-id-401 #glossaryList {
    grid-template-columns: 1fr !important;
  }
}
.page-id-401 #glossaryList li {
  margin: 0 !important;
  border: 1px solid #e6e8ec !important;
  border-radius: 12px !important;
  padding: 18px 20px !important;
  background: #fff !important;
  transition: 0.14s;
  list-style: none !important;
  display: block !important;
  scroll-margin-top: 80px;
}
.page-id-401 #glossaryList li::before,
.page-id-401 #glossaryList li::marker {
  content: none !important;
  display: none !important;
}
.page-id-401 #glossaryList li:hover {
  border-color: #2f5bea !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.06);
}
.page-id-401 #glossaryList li a.glossaryLink,
.page-id-401 #glossaryList li a.glossary-link-title {
  font-weight: 800 !important;
  font-size: 16px !important;
  color: #1c1f26 !important;
  text-decoration: none !important;
  display: block !important;
  border: 0 !important;
}
.page-id-401 #glossaryList li a.glossaryLink:hover,
.page-id-401 #glossaryList li a.glossary-link-title:hover {
  color: #2f5bea !important;
}
.page-id-401 #gindex-nav {
  margin: 0 0 18px;
}
.page-id-401 #glossaryList li.ln-no-match {
  display: none !important;
}
.page-id-401 #glossaryList li.gh-row {
  grid-column: 1/-1 !important;
  border: 0 !important;
  background: transparent !important;
  padding: 18px 0 4px !important;
  box-shadow: none !important;
  scroll-margin-top: 80px;
}
.page-id-401 #glossaryList li.gh-row:first-child {
  padding-top: 6px !important;
}
.page-id-401 #glossaryList li.gh-row:hover {
  border: 0 !important;
  box-shadow: none !important;
}
.page-id-401 #glossaryList .gh-title {
  font-family: "Hiragino Mincho ProN", "YuMincho", serif !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  margin: 0 !important;
  padding: 0 0 8px !important;
  border-bottom: 2px solid #1c1f26 !important;
  display: flex !important;
  align-items: baseline;
  gap: 10px;
}
.page-id-401 #glossaryList .gh-count {
  font-family: "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: 12px;
  color: #8a93a3;
  font-weight: 600;
}
.post_content h1 .glossaryLink,
.post_content h2 .glossaryLink,
.post_content h3 .glossaryLink,
.post_content h4 .glossaryLink,
.post_content h5 .glossaryLink,
.post_content h1 a.glossaryLink,
.post_content h2 a.glossaryLink,
.post_content h3 a.glossaryLink {
  color: inherit !important;
  text-decoration: none !important;
  border: 0 !important;
  background: transparent !important;
  pointer-events: none !important;
  box-shadow: none !important;
  font-weight: inherit !important;
}
/* === GLOSSARY-SINGLE-LAYOUT-FIX === */
/* Container width and centering for single glossary pages */
.single-glossary .l-mainContent,
.single-glossary .l-mainContent__inner,
.single-glossary .l-content,
.single-glossary .l-content__inner {
  max-width: 1080px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 22px !important;
  padding-right: 22px !important;
  width: auto !important;
}

/* Title display (was hidden by site-wide rule) */
html body .single-glossary .p-articleHead,
html body .single-glossary .p-articleHead.c-postTitle,
html body .single-glossary div.c-postTitle,
html body .single-glossary .l-mainContent .c-postTitle,
html body .single-glossary .l-mainContent .p-articleHead,
html body .single-glossary .p-articleMetas,
html body .single-glossary .l-articleHeader {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
}

.single-glossary .p-articleHead {
  margin: 24px 0 8px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  text-align: left;
}

.single-glossary .p-articleHead .c-postTitle__ttl,
.single-glossary .c-postTitle__ttl,
.single-glossary .p-articleHead h1 {
  font-family: "Hiragino Mincho ProN", "YuMincho", serif !important;
  font-size: clamp(24px, 3.4vw, 32px) !important;
  font-weight: 800 !important;
  line-height: 1.4 !important;
  color: #1c1f26 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

.single-glossary .p-articleHead .c-postTitle__ttl::before,
.single-glossary .p-articleHead .c-postTitle__ttl::after,
.single-glossary .c-postTitle__ttl::before,
.single-glossary .c-postTitle__ttl::after {
  display: none !important;
}

/* Hide the giant duplicate date inside the title block (2026 / 5-22) */
.single-glossary .p-articleHead .c-postTitle__date,
.single-glossary .c-postTitle__date {
  display: none !important;
}

/* Keep the slim meta line (published / updated) */
.single-glossary .p-articleMetas.-top {
  margin: 0 0 24px !important;
  font-size: 13px;
  color: #8a93a3;
}

/* Hide the empty glossary-item-audio plugin element */
.single-glossary .post_content > .glossary-item-audio {
  display: none !important;
}

/* Breadcrumb: rewrite "CM Tooltip Glossary" → "用語集" via CSS */
.single-glossary .p-breadcrumb__item:nth-child(2) .p-breadcrumb__text {
  font-size: 0 !important;
  line-height: 1 !important;
}
.single-glossary .p-breadcrumb__item:nth-child(2) .p-breadcrumb__text::after {
  content: "用語集";
  font-size: 14px;
  line-height: 1.5;
  color: #5b6473;
}

/* Left share buttons: shift left so they don't overlap content on mid-width screens */
@media (min-width: 960px) {
  .single-glossary .c-shareBtns.-fix {
    left: -50px !important;
  }
  .single-glossary .l-mainContent {
    padding-left: 60px !important;
    padding-right: 0 !important;
  }
}
@media (max-width: 959px) {
  .single-glossary .c-shareBtns.-fix {
    display: none !important;
  }
}

/* === HOME-JOURNAL-CARDS === */
.journal-section .journal-cards a:hover {
  border-color: #2f5bea !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.06) !important;
  transform: translateY(-2px);
}
.journal-section .journal-cards a {
  transition:
    transform 0.16s ease,
    border-color 0.16s ease,
    box-shadow 0.16s ease !important;
}
@media (max-width: 680px) {
  .journal-section .journal-cards {
    grid-template-columns: 1fr !important;
  }
}

/* === Card list (FLEX, hogehoge style — no border, no bg, clean) === */
.p-termContent .p-postList.-type-card {
  display: flex !important;
  flex-wrap: wrap !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 -8px !important;
  gap: 0 !important;
  width: calc(100% + 16px) !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

.p-termContent .p-postList.-type-card > .p-postList__item {
  list-style: none !important;
  flex: 0 0 33.333% !important;
  max-width: 33.333% !important;
  padding: 0 8px !important;
  margin: 0 0 40px !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  overflow: visible !important;
  box-shadow: none !important;
  display: list-item !important;
  width: auto !important;
}
.p-termContent .p-postList.-type-card > .p-postList__item:hover {
  transform: none !important;
  box-shadow: none !important;
}
.p-termContent .p-postList.-type-card > .p-postList__item::before,
.p-termContent .p-postList.-type-card > .p-postList__item::marker {
  content: none !important;
  display: none !important;
}

@media (max-width: 899px) {
  .p-termContent .p-postList.-type-card > .p-postList__item {
    flex: 0 0 50% !important;
    max-width: 50% !important;
  }
}
@media (max-width: 599px) {
  .p-termContent .p-postList.-type-card > .p-postList__item {
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }
}

.p-termContent .p-postList.-type-card .p-postList__link {
  display: flex !important;
  flex-direction: column !important;
  text-decoration: none !important;
  color: #1c1f26 !important;
  width: 100% !important;
}

/* Thumbnail — same aspect ratio, gradient placeholder for no-image posts */
.p-termContent .p-postList.-type-card .p-postList__thumb {
  position: relative;
  aspect-ratio: 16/9;
  background: linear-gradient(135deg, #1c1f26, #2b3043);
  overflow: hidden;
  display: block !important;
  width: 100% !important;
  border-radius: 0 !important;
}
.p-termContent .p-postList.-type-card .p-postList__thumb.noimg_ {
  display: block !important;
}
.p-termContent .p-postList.-type-card .p-postList__thumb.noimg_::after {
  content: "M.G.K.";
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255, 255, 255, 0.65);
  font-family: "Hiragino Mincho ProN", "YuMincho", serif;
  font-weight: 800;
  font-size: 30px;
  letter-spacing: 0.12em;
  pointer-events: none;
}
.p-termContent .p-postList.-type-card .p-postList__thumb.noimg_ .c-postThumb__figure,
.p-termContent .p-postList.-type-card .p-postList__thumb.noimg_ .c-postThumb__img {
  display: none !important;
}

/* Category badge — hogehoge style: dark teal bg, white text, top-left */
.p-termContent .p-postList.-type-card .c-postThumb__cat {
  position: absolute !important;
  top: 0;
  left: 0;
  background: rgba(4, 56, 76, 0.95) !important;
  color: #fff !important;
  font-size: 11.5px !important;
  font-weight: 500 !important;
  padding: 5px 10px !important;
  border-radius: 0 !important;
  letter-spacing: 0.02em;
  z-index: 2;
  line-height: 1.4 !important;
}

/* Card body — clean, no padding box style */
.p-termContent .p-postList.-type-card .p-postList__body {
  padding: 16px 0 0 !important;
  display: flex !important;
  flex-direction: column;
  gap: 8px;
  flex: 1;
  width: 100% !important;
  background: transparent !important;
}

.p-termContent .p-postList.-type-card .p-postList__title {
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.55 !important;
  color: #1c1f26 !important;
  margin: 0 !important;
  padding: 0 !important;
  font-family: "Hiragino Kaku Gothic ProN", sans-serif !important;
  display: block !important;
  width: 100% !important;
}
.p-termContent .p-postList.-type-card .p-postList__title:hover {
  color: #2f5bea !important;
}

.p-termContent .p-postList.-type-card .p-postList__excerpt {
  font-size: 13px !important;
  color: #5b6473 !important;
  line-height: 1.85 !important;
  margin: 0 !important;
  padding: 0 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  width: 100% !important;
}

.p-termContent .p-postList.-type-card .p-postList__meta {
  margin-top: auto !important;
  padding-top: 8px !important;
  font-size: 12px !important;
  color: #8a93a3 !important;
  width: 100% !important;
}

/* Pagination */
.p-termContent .c-pagination {
  margin: 36px 0 0 !important;
  display: flex !important;
  justify-content: center !important;
  gap: 6px !important;
}
.p-termContent .c-pagination .page-numbers {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 36px;
  padding: 0 10px;
  border: 1px solid #e6e8ec !important;
  border-radius: 6px;
  background: #fff !important;
  color: #1c1f26 !important;
  font-weight: 700;
  font-size: 13px;
  text-decoration: none;
  transition: 0.14s;
}
.p-termContent .c-pagination .page-numbers.current {
  background: #1c1f26 !important;
  color: #fff !important;
  border-color: #1c1f26 !important;
}
.p-termContent .c-pagination .page-numbers:hover:not(.current) {
  border-color: #2f5bea !important;
  color: #2f5bea !important;
}

/* === GLOBAL-CENTER-CONTENT === */
/* Center the main content area within the viewport on all pages (single posts and category archives) */
html body #content.l-content.l-container {
  max-width: 1180px !important;
  margin: 0 auto !important;
}
@media (max-width: 1199px) {
  html body #content.l-content.l-container {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
}

/* Ensure post content stays readable width (~720-780px), centered within main column when no sidebar */
#body_wrap.single-post #main_content > .l-mainContent__inner {
  padding-left: 62px !important;
  padding-right: 22px !important;
  padding-top: 24px !important;
}
#body_wrap.single-post #main_content > .l-mainContent__inner > .p-articleHead,
#body_wrap.single-post #main_content > .l-mainContent__inner > .p-articleMetas,
#body_wrap.single-post #main_content > .l-mainContent__inner > .post_content,
#body_wrap.single-post #main_content > .l-mainContent__inner > .p-articleFoot,
#body_wrap.single-post #main_content > .l-mainContent__inner > .c-shareBtns.-bottom,
#body_wrap.single-post #main_content > .l-mainContent__inner > .l-articleBottom,
#body_wrap.single-post #main_content > .l-mainContent__inner > div:not(.c-shareBtns) {
  max-width: 780px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Category archive: center the term content */
html body #body_wrap.category #main_content > .l-mainContent__inner {
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: 24px 22px 48px !important;
}
html body #body_wrap.archive #main_content > .l-mainContent__inner {
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: 24px 22px 48px !important;
}

/* ============================================================
   HIDE-SIDEBAR-GLOBAL — 全ページのサイドバー非表示 (2026-05-27)
   ============================================================ */
html body #sidebar.l-sidebar,
html body aside.l-sidebar {
  display: none !important;
}
html body #content.l-content {
  display: block !important;
}

/* HIDE-PAGETITLE-GLOBAL 2026-05-27 */
html body .c-pageTitle,
html body .p-articleTitle,
html body .l-articleHeader,
html body .p-articleHeader {
  display: none !important;
}

/* HIDE-PAGETITLE-OVERRIDE-V2 2026-05-27 — 既存の高特定度ルールに勝つため後追い同特定度で上書き。用語集単独ページのみ復活 */
html body main#main_content > .l-mainContent__inner > h1.c-pageTitle,
html body main#main_content > .l-mainContent__inner > .c-pageTitle,
#body_wrap #main_content h1.c-pageTitle {
  display: none !important;
}
#body_wrap.single-glossary #main_content h1.c-pageTitle,
#body_wrap.single-glossary .l-mainContent__inner > h1.c-pageTitle {
  display: block !important;
}

/* ============================================================
   (2026-07-27 追加) 約物の重なり修正 ＋ ヘッダー折り返し修正
   ============================================================ */

/* 1) font-feature-settings:"palt" が Windows の日本語フォールバックで
      約物（、。「」・）を重ねて描画するため、本文系は palt を解除する */
html body,
html body p,
html body li,
html body dt,
html body dd,
html body td,
html body th,
html body blockquote,
html body figcaption,
html body .wrap,
html body main.body,
html body aside.site-aside,
html body .post_content,
html body .c-gnav,
html body .mgk-footer {
  font-feature-settings: normal !important;
  font-variant-east-asian: normal !important;
}

/* 2) ヘッダー：メニュー項目が増えてロゴ枠が折り返し、
      タグラインが2行目に落ちるのを防ぐ */
html body .l-header .l-header__logo,
html body .l-header__logo {
  flex-wrap: nowrap !important;
  flex: 0 0 auto !important;
  white-space: nowrap !important;
}
@media (min-width: 960px) {
  html body .c-gnav > li > a {
    font-size: 13px !important;
  }
  html body .l-header__logo::after {
    padding-left: 12px !important;
  }
}
@media (min-width: 600px) and (max-width: 1180px) {
  html body .l-header__logo::after {
    display: none !important;
  }
  html body .c-gnav > li > a {
    font-size: 12.5px !important;
  }
}

/* 2-b) ヘッダーナビの項目間隔を詰めて 1080px 内に収める
       （ロゴ352px + ナビ796px = 1148px で 68px はみ出していた） */
@media (min-width: 1181px) {
  html body .l-header .c-gnav {
    gap: 14px !important;
  }
}

/* 2-c) ヘッダーのタグライン「MAKE / GROWTH / KINDLE」を非表示（2026-07-27 ユーザー指示） */
html body .l-header .l-header__inner .l-header__logo::after,
html body .l-header__logo::after {
  content: none !important;
  display: none !important;
}

/* (2026-07-28 追加) カテゴリーアーカイブの体裁調整 */
/* 1) アーカイブ上部の余分な空白を詰める */
html body #body_wrap.archive #content.l-content {
  padding-top: 24px !important;
}
html body #body_wrap.archive #main_content .l-mainContent__inner {
  padding-top: 8px !important;
}
html body #body_wrap.archive #main_content .p-termHead {
  margin-top: 14px !important;
  margin-bottom: 22px !important;
}
html body #body_wrap.archive #main_content .p-termHead__desc {
  margin: 0 !important;
  font-size: 14px !important;
  line-height: 1.9 !important;
  color: #5b6472 !important;
}
/* 2) アーカイブのタイトル（カテゴリー名）を .pagehead h1 に近い体裁で表示 */
html body #body_wrap.archive #main_content .l-mainContent__inner > h1.c-pageTitle,
html body #body_wrap.archive #main_content h1.c-pageTitle {
  display: block !important;
  font-family: "Hiragino Mincho ProN", "YuMincho", serif !important;
  font-size: clamp(24px, 3.4vw, 32px) !important;
  font-weight: 800 !important;
  line-height: 1.4 !important;
  color: var(--ink, #1c1f26) !important;
  text-align: left !important;
  background: none !important;
  border: 0 !important;
  border-bottom: 1px solid var(--line, #e6e8ec) !important;
  margin: 0 0 6px !important;
  padding: 0 0 14px !important;
}
html body #body_wrap.archive #main_content h1.c-pageTitle::before,
html body #body_wrap.archive #main_content h1.c-pageTitle::after {
  display: none !important;
  content: none !important;
}
html body #body_wrap.archive #main_content h1.c-pageTitle .c-pageTitle__inner {
  display: block !important;
  float: none !important;
  width: auto !important;
  font-size: inherit !important;
  color: inherit !important;
}
html body #body_wrap.archive #main_content h1.c-pageTitle .c-pageTitle__subTitle {
  display: block !important;
  margin-top: 8px !important;
  font-family: system-ui, sans-serif !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  letter-spacing: 0.06em !important;
  color: var(--ink-faint, #8a93a3) !important;
}
/* 3) 記事カードをサイトの .card に近い白背景・角丸・薄枠・ホバーで浮く形に */
html body #body_wrap.archive .p-termContent .p-postList.-type-card {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  gap: 0 !important;
}
html body #body_wrap.archive .p-termContent .p-postList.-type-card > .p-postList__item {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  flex: none !important;
  margin: 0 0 12px !important;
  padding: 0 !important;
  background: #fff !important;
  border: 1px solid var(--line, #e6e8ec) !important;
  border-radius: 14px !important;
  box-shadow: none !important;
  overflow: hidden !important;
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    border-color 0.18s ease !important;
}
html body #body_wrap.archive .p-termContent .p-postList.-type-card > .p-postList__item:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 22px rgba(28, 31, 38, 0.1) !important;
  border-color: #d8dbe2 !important;
}
html
  body
  #body_wrap.archive
  .p-termContent
  .p-postList.-type-card
  > .p-postList__item
  > .p-postList__link {
  display: block !important;
  width: 100% !important;
  padding: 20px 24px !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
html body #body_wrap.archive .p-termContent .p-postList__body {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
html body #body_wrap.archive .p-termContent .p-postList__title {
  font-size: 17px !important;
  font-weight: 700 !important;
  line-height: 1.6 !important;
  color: var(--ink, #1c1f26) !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  border: 0 !important;
}
html body #body_wrap.archive .p-termContent .p-postList__excerpt {
  font-size: 13.5px !important;
  line-height: 1.9 !important;
  color: #5b6472 !important;
  margin: 0 0 10px !important;
}
html body #body_wrap.archive .p-termContent .p-postList__meta {
  margin: 0 !important;
  font-size: 12px !important;
  color: var(--ink-faint, #8a93a3) !important;
}
/* 4) アーカイブのサムネイル（黒い代替画像）は非表示にしてテキスト主体のリストにする */
html body #body_wrap.archive .p-termContent .p-postList__thumb,
html body #body_wrap.archive .p-termContent .p-postList .c-postThumb {
  display: none !important;
}
/* 5) アーカイブ本文の幅を 1080px に合わせる */
html body #body_wrap.archive #main_content .l-mainContent__inner {
  max-width: 1080px !important;
}
@media (max-width: 959px) {
  html
    body
    #body_wrap.archive
    .p-termContent
    .p-postList.-type-card
    > .p-postList__item
    > .p-postList__link {
    padding: 16px 18px !important;
  }
}

/* (2026-07-28 追加) 投稿ページの本文幅を固定ページと揃える */
@media (min-width: 960px) {
  /* 1) 本文コンテナの最大幅を固定ページ(.wrap.columns)と同じ1080pxに */
  html body #body_wrap.single-post.single #content.l-content.l-container {
    max-width: 1176px !important;
    padding-left: 48px !important;
    padding-right: 48px !important;
  }
  html body #body_wrap.single-post.single #main_content.l-mainContent {
    max-width: 1080px !important;
    width: 100% !important;
    flex: 1 1 auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  /* 2) 非表示サイドバーが確保していた余白（左62pxインデント）を詰め、左右パディングを揃える */
  html body #body_wrap.single-post.single #main_content > .l-mainContent__inner {
    max-width: 1080px !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  /* 3) 記事各パーツの780px制限を1080pxへ */
  html body #body_wrap.single-post.single #main_content > .l-mainContent__inner > .p-articleHead,
  html body #body_wrap.single-post.single #main_content > .l-mainContent__inner > .p-articleMetas,
  html body #body_wrap.single-post.single #main_content > .l-mainContent__inner > .post_content,
  html body #body_wrap.single-post.single #main_content > .l-mainContent__inner > .p-articleFoot,
  html
    body
    #body_wrap.single-post.single
    #main_content
    > .l-mainContent__inner
    > .c-shareBtns.-bottom,
  html body #body_wrap.single-post.single #main_content > .l-mainContent__inner > .l-articleBottom,
  html
    body
    #body_wrap.single-post.single
    #main_content
    > .l-mainContent__inner
    > div:not(.c-shareBtns) {
    max-width: 1080px !important;
  }
  /* 4) 投稿本文内に .wrap.columns を置いたとき固定ページと同じ2カラム（本文674px＋右300px）にする */
  html body #body_wrap.single-post.single #main_content .post_content .wrap.columns {
    max-width: 1080px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}
/* 非表示サイドバーが flex 上で占めていた領域を投稿ページで完全に0にする */
html body #body_wrap.single-post.single #sidebar.l-sidebar,
html body #body_wrap.single-post.single aside.l-sidebar {
  display: none !important;
  flex: 0 0 0 !important;
  width: 0 !important;
  max-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
/* ===== 2026-07-29 JST 追加：内製AIツール診断（ヒーロー右カラム＋本文CTAボタン） ===== */

/* --- トップページ ヒーローを2カラム化（右側に診断の訴求） --- */
.hero .wrap.hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 366px;
  gap: 40px;
  align-items: center;
}
.hero-main {
  min-width: 0;
}
.hero .hero-main p.tag {
  max-width: none;
}
.hero-promo {
  background: #fff;
  border: 2px solid var(--accent);
  border-radius: 16px;
  padding: 22px 22px 20px;
  box-shadow: 0 12px 32px rgba(124, 91, 255, 0.14);
}
.hero-promo .hp-flag {
  display: inline-block;
  background: var(--accent);
  color: #fff;
  font-size: 11.5px;
  font-weight: 800;
  letter-spacing: 0.06em;
  border-radius: 999px;
  padding: 5px 13px;
  margin-bottom: 12px;
}
.hero-promo .hp-ttl {
  font-family: var(--serif);
  font-size: 20px;
  line-height: 1.5;
  font-weight: 800;
  color: var(--ink);
  margin-bottom: 10px;
  letter-spacing: 0.01em;
}
.hero-promo .hp-lead {
  font-size: 13px;
  line-height: 1.8;
  color: var(--ink-soft);
  margin-bottom: 13px;
}
.hero-promo ul.hp-list {
  list-style: none;
  margin: 0 0 15px;
  padding: 0;
}
.hero-promo ul.hp-list li {
  position: relative;
  padding-left: 21px;
  font-size: 12.5px;
  line-height: 1.65;
  color: var(--ink);
  margin-bottom: 7px;
}
.hero-promo ul.hp-list li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--accent);
  font-weight: 800;
}
.hero .hero-promo a.hp-btn {
  display: block;
  text-align: center;
  background: var(--accent);
  color: #fff !important;
  font-weight: 800;
  font-size: 14px;
  line-height: 1.4;
  border-radius: 10px;
  padding: 13px;
  transition: 0.14s;
  text-decoration: none;
}
.hero .hero-promo a.hp-btn:hover {
  opacity: 0.85;
  color: #fff !important;
}
.hero-promo .hp-note {
  font-size: 11.5px;
  color: var(--ink-faint);
  text-align: center;
  margin-top: 9px;
  line-height: 1.6;
}
@media (max-width: 900px) {
  .hero .wrap.hero-grid {
    grid-template-columns: 1fr;
    gap: 26px;
  }
  .hero-promo .hp-ttl {
    font-size: 18.5px;
  }
}

/* --- 本文中のCTAリンクをボタン表示にする（/claude-code/ ・/ai-tool-shindan/ 共通） --- */
main.body a.btn {
  display: inline-block;
  background: var(--accent);
  color: #fff !important;
  font-weight: 800;
  font-size: 14.5px;
  line-height: 1.4;
  border-radius: 999px;
  padding: 14px 30px;
  transition: 0.14s;
  text-decoration: none;
}
main.body a.btn:hover {
  opacity: 0.85;
  color: #fff !important;
}

/* --- 既存バグ修正：用語集の黒帯（section.band）のリード文が背景と同色で不可視だった --- */
/*     追加CSSの html body main p{color:var(--ink)!important} に負けていたため詳細度を上げて上書き */
html body main .post_content section.band p {
  color: #c9cedb !important;
}
html body main .post_content section.band .gl p {
  color: #a9b0c0 !important;
}

/* --- 2026-07-29 オーナー指示：ページ背景のグラデーションを全廃し白一色にする --- */
html body .hero,
html body section.hero,
html body .pagehead,
html body section.pagehead,
html body.page-id-401 .pagehead,
html body main .pagehead,
html body main .hero {
  background: #fff !important;
  background-image: none !important;
  background-color: #fff !important;
}

/* ============================================================
   ここから下は 2026-07-29 に head_box ウィジェット17個から統合したCSS
   （旧 mgk-1 〜 mgk-statbox。読み込み順は当時のまま保持）
   ============================================================ */
/* ===== S1-BLOCK 01 | widget block-2 | style#mgk-1 ===== */
:root {
  --bg: #fff;
  --bg-soft: #f6f7f9;
  --line: #e6e8ec;
  --ink: #1c1f26;
  --ink-soft: #5b6473;
  --ink-faint: #8a93a3;
  --accent: #7c5bff;
  --accent-soft: #f2edff;
  --tag: #5c3ce6;
  --tag-soft: #f2edff;
  --serif: "Hiragino Mincho ProN", "Yu Mincho", serif;
}
body {
  font-family:
    -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Kaku Gothic ProN", "Yu Gothic UI",
    Meiryo, sans-serif !important;
  color: var(--ink);
}
.l-header__bar {
  display: none !important;
}
.l-header__inner {
  padding: 18px 0 !important;
  border-bottom: 1px solid var(--line);
  max-width: 1080px !important;
  margin: 0 auto !important;
}
.l-header {
  box-shadow: none !important;
  border-bottom: 1px solid var(--line);
  background: #fff !important;
}
.c-headLogo.-txt .c-headLogo__link {
  font-size: 0 !important;
  line-height: 0 !important;
  display: inline-block;
  width: 220px;
  height: 42px;
  background-image: url("https://mgkinc.co.jp/assets/media/2026/05/mgk.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: left center;
}
.c-headLogo.-txt {
  padding: 0 !important;
}
.l-header__logo::after {
  content: "MAKE / GROWTH / KINDLE";
  font-size: 11px;
  letter-spacing: 0.14em;
  color: var(--ink-faint);
  font-weight: 600;
  padding-left: 18px;
  margin-left: 14px;
  border-left: 1px solid var(--line);
}
@media (max-width: 640px) {
  .c-headLogo.-txt .c-headLogo__link {
    width: 140px;
    height: 28px;
  }
  .l-header__logo::after {
    display: none;
  }
}
.c-catchphrase,
.p-mainVisual,
.c-pageTitle,
.p-pageHeader,
.p-postThumb,
.c-postThumb,
.p-archiveDescription,
.p-articleHead,
.l-mainContent .l-pageHeader,
.l-mainContent .c-postTitle,
.p-postContent > h1:first-child {
  display: none !important;
}
.l-mainContent {
  padding-top: 0 !important;
  max-width: none !important;
}
.l-content {
  padding: 0 !important;
  margin: 0 !important;
  grid-template-columns: 1fr !important;
  display: block !important;
  max-width: none !important;
}
.l-content__main,
article.p-postContent,
.p-postContent {
  padding: 0 !important;
  max-width: none !important;
}
.l-postSidebar {
  display: none !important;
}
.c-gnav {
  gap: 24px !important;
}
.c-gnav > li > a {
  color: var(--ink-soft) !important;
  font-weight: 600;
  font-size: 13.5px;
  padding: 6px 0 !important;
  border-bottom: 2px solid transparent !important;
}
.c-gnav > li > a:hover,
.c-gnav > li.current-menu-item > a {
  color: var(--ink) !important;
  border-color: var(--accent) !important;
}
/* ===== S1-BLOCK 02 | widget block-3 | style#mgk-2 ===== */
.hero {
  padding: 78px 0 60px !important;
  background: linear-gradient(180deg, var(--bg-soft) 0%, var(--bg) 90%);
  margin: 0 !important;
}
.hero .wrap {
  max-width: 1080px;
  margin: 0 auto;
  padding: 0 28px;
}
.kicker {
  font-size: 12px;
  letter-spacing: 0.22em;
  color: var(--accent);
  font-weight: 700;
  margin-bottom: 22px;
  text-transform: uppercase;
}
.hero h1 {
  font-family: var(--serif) !important;
  font-size: clamp(28px, 4.6vw, 46px) !important;
  line-height: 1.45 !important;
  font-weight: 800 !important;
  margin: 0 0 22px !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  color: var(--ink) !important;
  letter-spacing: 0.01em;
}
.acc {
  color: var(--accent) !important;
  font-family: var(--serif);
}
.hero p.tag {
  color: var(--ink-soft);
  font-size: 16px;
  line-height: 1.85;
  max-width: 620px;
  background: transparent;
  border: 0;
  padding: 0;
  margin: 0;
}
.ctabar {
  border-bottom: 1px solid var(--line);
  background: #fff;
  padding: 0;
  margin: 0;
}
.ctabar .wrap {
  max-width: 1080px;
  margin: 0 auto;
  padding: 32px 28px;
  text-align: center;
}
.ctabar .lead {
  font-size: 14px;
  color: var(--ink-soft);
  margin: 0 0 18px !important;
  padding: 0 !important;
}
.ctabar .cta-btns {
  display: flex;
  gap: 14px;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 14px;
}
.ctabar .cta-btn {
  display: inline-block;
  background: var(--accent) !important;
  color: #fff !important;
  font-weight: 700;
  font-size: 14px;
  border-radius: 999px !important;
  padding: 14px 36px !important;
  text-decoration: none !important;
  transition: 0.14s;
  border: 1px solid var(--accent) !important;
}
.ctabar .cta-btn:hover {
  filter: brightness(0.94);
}
.ctabar .cta-btn.ghost {
  background: #fff !important;
  color: var(--accent) !important;
  border: 1px solid var(--line) !important;
}
.ctabar .hint {
  font-size: 12px;
  color: var(--ink-faint);
  margin: 6px 0 0 !important;
  padding: 0 !important;
}
.ctabar .hint a {
  color: var(--accent) !important;
  font-weight: 700;
  text-decoration: none !important;
}
.wrap.columns {
  max-width: 1080px;
  margin: 0 auto;
  padding: 60px 28px;
  display: grid;
  grid-template-columns: 1fr 300px;
  gap: 50px;
}
@media (max-width: 880px) {
  .wrap.columns {
    grid-template-columns: 1fr;
    padding: 40px 22px;
    gap: 30px;
  }
}
.wrap.columns > main {
  min-width: 0;
}
.section-h {
  display: flex !important;
  align-items: baseline;
  justify-content: space-between;
  margin: 0 0 24px !important;
  padding-bottom: 12px !important;
  border-bottom: 2px solid var(--ink) !important;
  background: none !important;
}
.section-h h2 {
  font-size: 18px !important;
  font-weight: 800 !important;
  letter-spacing: 0.02em;
  color: var(--ink) !important;
  padding: 0 !important;
  border: 0 !important;
  margin: 0 !important;
  background: none !important;
  font-family: inherit !important;
  line-height: 1 !important;
}
.section-h .more {
  font-size: 12.5px;
  color: var(--ink-faint);
  font-weight: 600;
  letter-spacing: 0.06em;
}
/* ===== S1-BLOCK 03 | widget block-4 | style#mgk-3 ===== */
article.feature {
  border: 1px solid var(--line) !important;
  border-radius: 14px !important;
  padding: 28px 30px !important;
  margin: 0 0 36px !important;
  background: var(--bg-soft) !important;
}
article.feature .cat,
.feature span.cat {
  display: inline-block !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  color: var(--tag) !important;
  background: var(--tag-soft) !important;
  padding: 5px 12px !important;
  border-radius: 999px !important;
  width: auto !important;
  text-transform: none !important;
}
article.feature h3 {
  font-family: var(--serif) !important;
  font-size: 24px !important;
  line-height: 1.55 !important;
  font-weight: 800 !important;
  margin: 14px 0 12px !important;
  color: var(--ink) !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
}
article.feature h3 a {
  color: var(--ink) !important;
  text-decoration: none !important;
}
article.feature p {
  color: var(--ink-soft) !important;
  font-size: 15px !important;
  line-height: 1.85 !important;
  margin: 0 !important;
}
.read {
  display: inline-block !important;
  margin-top: 16px !important;
  font-weight: 700 !important;
  color: var(--accent) !important;
  font-size: 14px !important;
  text-decoration: none !important;
}
.read::after {
  content: " →";
}
.cards-2col {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 2px !important;
  background: var(--line) !important;
  border: 1px solid var(--line) !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  margin: 20px 0 8px !important;
}
@media (max-width: 680px) {
  .cards-2col {
    grid-template-columns: 1fr !important;
  }
}
.cards-2col a.card {
  display: block !important;
  background: #fff !important;
  padding: 24px 26px !important;
  transition: background 0.15s !important;
  text-decoration: none !important;
  color: var(--ink) !important;
}
.cards-2col a.card:hover {
  background: var(--accent-soft) !important;
}
.card .meta {
  display: flex !important;
  gap: 12px !important;
  align-items: center !important;
  font-size: 11.5px !important;
  color: var(--ink-faint) !important;
  margin-bottom: 10px !important;
}
.card .meta .cat,
.card span.cat {
  font-size: 11px !important;
  color: var(--tag) !important;
  background: var(--tag-soft) !important;
  padding: 4px 9px !important;
  border-radius: 999px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em;
}
.card h3 {
  font-size: 17px !important;
  font-weight: 700 !important;
  line-height: 1.6 !important;
  margin: 0 0 6px !important;
  color: var(--ink) !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  font-family: inherit !important;
}
.card p {
  font-size: 13px !important;
  color: var(--ink-soft) !important;
  margin: 0 !important;
  line-height: 1.7 !important;
}
.steps {
  display: grid !important;
  gap: 10px !important;
  margin: 24px 0 !important;
}
.step {
  background: #fff !important;
  border: 1px solid var(--line) !important;
  border-left: 3px solid var(--accent) !important;
  padding: 16px 22px !important;
  border-radius: 6px !important;
}
.step .num {
  font-family: var(--serif) !important;
  font-weight: 800 !important;
  color: var(--accent) !important;
  font-size: 12px !important;
  letter-spacing: 0.18em !important;
  margin: 0 0 4px !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
}
.step h4 {
  font-size: 15px !important;
  font-weight: 800 !important;
  margin: 0 0 4px !important;
  color: var(--ink) !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
}
.step p {
  font-size: 13px !important;
  color: var(--ink-soft) !important;
  margin: 0 !important;
  padding: 0 !important;
}
.eval-list {
  list-style: none !important;
  display: grid !important;
  gap: 8px !important;
  margin: 20px 0 !important;
  padding: 0 !important;
}
.eval-list li {
  background: #fff !important;
  border: 1px solid var(--line) !important;
  border-left: 3px solid var(--accent) !important;
  padding: 14px 18px !important;
  border-radius: 6px !important;
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  margin: 0 !important;
}
.eval-list li.rank-1 {
  background: var(--accent-soft) !important;
  border-left-width: 4px !important;
}
.eval-list li.rank-5 {
  opacity: 0.55;
}
.eval-rank {
  font-family: var(--serif) !important;
  font-weight: 800 !important;
  color: var(--accent) !important;
  font-size: 24px !important;
  width: 36px !important;
  text-align: center !important;
  flex: none !important;
  display: inline-block !important;
}
.eval-text strong {
  font-weight: 800 !important;
  color: var(--ink) !important;
}
.eval-text small {
  display: block !important;
  color: var(--ink-faint) !important;
  font-size: 11.5px !important;
  margin-top: 2px !important;
}
.band {
  background: var(--ink) !important;
  color: #fff !important;
  padding: 56px 0 !important;
  margin: 30px 0 0 !important;
}
.band .wrap {
  max-width: 1080px;
  margin: 0 auto;
  padding: 0 28px;
}
.band .section-h {
  border-bottom: 2px solid rgba(255, 255, 255, 0.3) !important;
}
.band .section-h h2 {
  color: #fff !important;
}
.band .gl {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin-top: 20px;
}
@media (max-width: 760px) {
  .band .gl {
    grid-template-columns: 1fr;
  }
}
.band .gl div {
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 12px;
  padding: 20px 22px;
  background: transparent;
}
.band .gl dt {
  font-weight: 800;
  font-size: 15px;
  margin-bottom: 8px;
  color: #fff;
}
.band .gl dd {
  font-size: 13px;
  color: #c4cad6;
  line-height: 1.85;
  margin: 0;
}
.btn-ghost {
  display: inline-block !important;
  margin-top: 28px !important;
  color: #fff !important;
  border: 1px solid rgba(255, 255, 255, 0.4) !important;
  border-radius: 999px !important;
  padding: 11px 24px !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  background: transparent !important;
}
.btn-ghost:hover {
  background: rgba(255, 255, 255, 0.08) !important;
}
/* ===== S1-BLOCK 04 | widget block-5 | style#mgk-4 ===== */
.pagehead {
  padding: 42px 0 30px !important;
  border-bottom: 1px solid var(--line) !important;
  background: linear-gradient(180deg, var(--bg-soft), var(--bg)) !important;
  margin: 0 !important;
}
.pagehead .wrap {
  max-width: 1080px;
  margin: 0 auto;
  padding: 0 28px;
}
.pagehead h1 {
  font-family: var(--serif) !important;
  font-size: clamp(24px, 3.4vw, 34px) !important;
  font-weight: 800 !important;
  margin: 8px 0 4px !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  color: var(--ink) !important;
  line-height: 1.4 !important;
}
.pagehead p {
  color: var(--ink-soft) !important;
  font-size: 14px !important;
  max-width: 640px;
  margin: 0 !important;
  line-height: 1.8 !important;
}
.crumb {
  font-size: 12px !important;
  color: var(--ink-faint) !important;
  padding: 0 0 8px !important;
  display: block !important;
  margin: 0 !important;
}
.crumb a {
  color: var(--ink-faint) !important;
  text-decoration: none !important;
}
.crumb a:hover {
  color: var(--accent) !important;
}
.crumb span {
  margin: 0 7px !important;
}
.p-postContent h2,
.entry-content h2 {
  font-family: var(--serif) !important;
  font-size: 23px !important;
  font-weight: 800 !important;
  margin: 38px 0 14px !important;
  padding: 10px 0 10px 18px !important;
  border: 0 !important;
  border-left: 5px solid var(--accent) !important;
  line-height: 1.5 !important;
  background: none !important;
  color: var(--ink) !important;
}
.p-postContent h3,
.entry-content h3 {
  font-size: 18px !important;
  font-weight: 800 !important;
  margin: 28px 0 10px !important;
  color: var(--ink) !important;
  border: 0 !important;
  padding: 0 !important;
  background: none !important;
}
.p-postContent h4,
.entry-content h4 {
  font-size: 15px !important;
  font-weight: 800 !important;
  margin: 18px 0 8px !important;
  border: 0 !important;
  padding: 0 !important;
  background: none !important;
}
.p-postContent p,
.entry-content p {
  margin: 14px 0 !important;
  color: var(--ink) !important;
  line-height: 1.85 !important;
}
.p-postContent ul,
.p-postContent ol,
.entry-content ul,
.entry-content ol {
  margin: 14px 0 !important;
  padding-left: 24px !important;
}
.p-postContent li,
.entry-content li {
  margin: 5px 0 !important;
}
.p-postContent a,
.entry-content a {
  color: var(--accent);
  text-decoration: underline !important;
  text-decoration-color: rgba(124, 91, 255, 0.3) !important;
  text-underline-offset: 3px !important;
}
.p-postContent strong,
.entry-content strong {
  font-weight: 800 !important;
  color: var(--ink) !important;
}
.p-postContent blockquote,
.entry-content blockquote {
  border: 0 !important;
  border-left: 3px solid var(--accent) !important;
  background: var(--accent-soft) !important;
  padding: 16px 22px !important;
  margin: 20px 0 !important;
  border-radius: 0 8px 8px 0 !important;
  font-family: var(--serif) !important;
  color: var(--ink-soft) !important;
}
.p-postContent table,
.entry-content table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin: 18px 0 !important;
  font-size: 14px !important;
}
.p-postContent table th,
.p-postContent table td,
.entry-content table th,
.entry-content table td {
  padding: 10px 14px !important;
  border-bottom: 1px solid var(--line) !important;
  text-align: left !important;
}
.p-postContent table th,
.entry-content table th {
  background: var(--bg-soft) !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  letter-spacing: 0.06em !important;
  color: var(--ink-soft) !important;
}
.p-postContent hr,
.entry-content hr {
  border: 0 !important;
  border-top: 1px solid var(--line) !important;
  margin: 40px 0 !important;
}
.p-postContent pre,
.entry-content pre {
  background: var(--bg-soft) !important;
  border: 1px solid var(--line) !important;
  padding: 18px 22px !important;
  border-radius: 8px !important;
  font-size: 13px !important;
  line-height: 1.8 !important;
  overflow: auto !important;
}
.gloss {
  position: relative !important;
  color: var(--accent) !important;
  border-bottom: 1px dotted var(--accent) !important;
  cursor: help !important;
  text-decoration: none !important;
}
.gloss .tip {
  position: absolute !important;
  left: 0 !important;
  bottom: 130% !important;
  z-index: 30 !important;
  width: 280px !important;
  background: var(--ink) !important;
  color: #fff !important;
  font-size: 12.5px !important;
  line-height: 1.7 !important;
  font-weight: 400 !important;
  padding: 14px 16px !important;
  border-radius: 10px !important;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.22) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transform: translateY(4px) !important;
  transition: 0.16s !important;
  pointer-events: none !important;
}
.gloss .tip strong {
  display: block !important;
  color: var(--accent-soft) !important;
  margin-bottom: 4px !important;
  font-size: 12px !important;
}
.gloss:hover .tip {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateY(0) !important;
}
.l-footer {
  background: var(--bg-soft) !important;
  border-top: 1px solid var(--line) !important;
  padding: 48px 0 24px !important;
  color: var(--ink) !important;
  margin: 30px 0 0 !important;
}
.l-footer a {
  color: var(--ink-soft) !important;
}
.l-footer a:hover {
  color: var(--accent) !important;
}
.p-fixSpBtnList,
.c-fixBtnList {
  display: none !important;
}
/* ===== S1-BLOCK 05 | widget block-6 | style#mgk-fix ===== */
.l-header__inner .c-headLogo + *,
.l-header__bar,
.c-catchphrase {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  width: 0 !important;
  font-size: 0 !important;
}
.l-header__logo *:not(.c-headLogo):not(.c-headLogo__link):not(a) {
  display: none !important;
}
.l-header__logo > .c-catchphrase,
.l-header__logo > div:not(.c-headLogo),
.l-header__logo p,
.l-header__logo small {
  display: none !important;
}
.p-postContent .cards-2col {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 2px !important;
  background: var(--line) !important;
  border: 1px solid var(--line) !important;
  border-radius: 14px !important;
  overflow: hidden !important;
}
.p-postContent .cards-2col .card,
.p-postContent .cards-2col a.card {
  display: block !important;
  background: #fff !important;
  padding: 24px 26px !important;
  margin: 0 !important;
}
@media (max-width: 680px) {
  .p-postContent .cards-2col {
    grid-template-columns: 1fr !important;
  }
}
body .l-header__logo::after {
  display: none !important;
}
.l-header__logo {
  position: relative;
}
.l-header__logo::after {
  content: none !important;
}
.l-header__inner {
  position: relative;
}
.l-header__inner::before {
  content: "MAKE / GROWTH / KINDLE";
  position: absolute;
  left: 260px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 11px;
  letter-spacing: 0.14em;
  color: var(--ink-faint);
  font-weight: 600;
  padding-left: 18px;
  border-left: 1px solid var(--line);
  height: 20px;
  display: flex;
  align-items: center;
}
@media (max-width: 840px) {
  .l-header__inner::before {
    display: none;
  }
}
/* ===== S1-BLOCK 06 | widget block-7 | style#mgk-final ===== */
.cards-2col > p:empty,
.cards-2col > p,
.p-postContent .cards-2col > p {
  display: none !important;
}
.l-header__inner::before {
  display: none !important;
}
.l-header__logo {
  display: flex !important;
  align-items: center;
  gap: 0;
}
.l-header__logo::after {
  content: "MAKE / GROWTH / KINDLE";
  font-size: 11px;
  letter-spacing: 0.14em;
  color: var(--ink-faint);
  font-weight: 600;
  padding-left: 18px;
  margin-left: 14px;
  border-left: 1px solid var(--line);
}
@media (max-width: 840px) {
  .l-header__logo::after {
    display: none !important;
  }
}
.c-headLogo + *,
.c-headLogo ~ p,
.c-headLogo ~ div {
  display: none !important;
}
.l-header * {
  font-size: inherit;
}
.c-catchphrase {
  display: none !important;
  font-size: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  visibility: hidden !important;
}
/* ===== S1-BLOCK 07 | widget block-8 | style#mgk-killcatch ===== */
.c-headLogo__link::after,
.c-headLogo__link::before {
  content: none !important;
  display: none !important;
}
.c-headLogo::after,
.c-headLogo::before {
  content: none !important;
}
/* ===== S1-BLOCK 08 | widget block-9 | style#(none) ===== */
@media (max-width: 840px) {
  #mgk-sub {
    display: none !important;
  }
}
/* ===== S1-BLOCK 09 | widget block-10 | style#mgk-subtext ===== */
.l-header__logo {
  display: flex !important;
  align-items: center;
  gap: 0;
  position: relative;
}
.l-header__logo::after {
  content: "MAKE / GROWTH / KINDLE" !important;
  display: inline-block !important;
  font-size: 11px !important;
  letter-spacing: 0.14em !important;
  color: #8a93a3 !important;
  font-weight: 600 !important;
  padding-left: 18px !important;
  margin-left: 14px !important;
  border-left: 1px solid #e6e8ec !important;
  align-self: center !important;
  line-height: 1 !important;
  height: auto !important;
}
@media (max-width: 840px) {
  .l-header__logo::after {
    display: none !important;
  }
}
/* ===== S1-BLOCK 10 | widget block-11 | style#mgk-sidebar ===== */
.c-headLogo.-txt .c-headLogo__link {
  width: 150px !important;
  height: 32px !important;
}
@media (max-width: 640px) {
  .c-headLogo.-txt .c-headLogo__link {
    width: 120px !important;
    height: 26px !important;
  }
}
/* SIDEBAR LAYOUT */
.wrap.columns,
.p-postContent > .wrap.columns {
  display: grid !important;
  grid-template-columns: 1fr 300px !important;
  gap: 50px !important;
  max-width: 1080px !important;
  margin: 0 auto !important;
  padding: 0 28px !important;
}
@media (max-width: 880px) {
  .wrap.columns,
  .p-postContent > .wrap.columns {
    grid-template-columns: 1fr !important;
    gap: 30px !important;
  }
}
.p-postContent aside.site-aside,
.p-postContent aside#site-aside {
  display: block !important;
}
aside.site-aside .box,
aside#site-aside .box {
  border: 1px solid var(--line) !important;
  border-radius: 14px !important;
  padding: 22px 24px !important;
  margin: 0 0 20px !important;
  background: #fff !important;
}
aside.site-aside .box h4,
aside#site-aside .box h4 {
  font-size: 13px !important;
  letter-spacing: 0.1em !important;
  color: var(--ink-faint) !important;
  font-weight: 700 !important;
  margin: 0 0 14px !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
}
aside .sidecta {
  border: 1px solid var(--accent) !important;
  background: var(--accent-soft) !important;
  border-radius: 14px !important;
  padding: 22px 24px !important;
  margin: 0 0 20px !important;
}
aside .sidecta h4 {
  font-size: 12px !important;
  letter-spacing: 0.06em !important;
  color: var(--accent) !important;
  font-weight: 800 !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  line-height: 1 !important;
}
aside .sidecta .ttl {
  font-weight: 800 !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
  margin: 0 0 8px !important;
  color: var(--ink) !important;
  padding: 0 !important;
}
aside .sidecta p {
  font-size: 12.5px !important;
  color: var(--ink-soft) !important;
  line-height: 1.85 !important;
  margin: 0 0 14px !important;
  padding: 0 !important;
}
aside .sidecta a.btn {
  display: block !important;
  text-align: center !important;
  background: var(--accent) !important;
  color: #fff !important;
  font-weight: 800 !important;
  font-size: 13.5px !important;
  border-radius: 10px !important;
  padding: 13px !important;
  text-decoration: none !important;
}
aside .iplist {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
aside .iplist li {
  padding: 10px 0 !important;
  border-bottom: 1px dashed var(--line) !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}
aside .iplist li:last-child {
  border: 0 !important;
}
aside .iplist .name {
  display: block !important;
  font-weight: 800 !important;
  color: var(--ink) !important;
  margin: 0 0 2px !important;
}
aside .iplist .desc {
  color: var(--ink-faint) !important;
  font-size: 12px !important;
}
aside .tagcloud {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  margin: 0 !important;
  padding: 0 !important;
}
aside .tagcloud a,
aside .tagcloud span {
  display: inline-block !important;
  font-size: 11.5px !important;
  color: var(--ink-soft) !important;
  border: 1px solid var(--line) !important;
  border-radius: 999px !important;
  padding: 5px 11px !important;
  text-decoration: none !important;
}
aside .tagcloud a:hover {
  border-color: var(--accent) !important;
  color: var(--accent) !important;
}
aside .about p {
  font-size: 12.5px !important;
  color: var(--ink-soft) !important;
  line-height: 1.85 !important;
  margin: 0 !important;
}
aside .about p strong {
  font-weight: 800;
  color: var(--ink);
}
/* ===== S1-BLOCK 11 | widget block-12 | style#mgk-grid-fix ===== */
.wrap.columns > p,
.wrap.columns > p:empty {
  display: none !important;
}
.p-postContent .wrap.columns {
  display: grid !important;
  grid-template-columns: 1fr 300px !important;
  gap: 50px !important;
}
@media (max-width: 880px) {
  .p-postContent .wrap.columns {
    grid-template-columns: 1fr !important;
  }
}
/* ===== S1-BLOCK 12 | widget block-13 | style#mgk-center ===== */

/* CENTER ALIGNMENT (root layout) */
body .l-mainContent,
body .l-mainContent__inner,
body article.p-postContent,
body .p-postContent,
body .l-content,
body .l-content__main {
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  width: 100% !important;
  background: transparent !important;
}
body .l-mainContent__inner {
  padding: 0 !important;
}
body article.p-postContent {
  padding: 0 !important;
  background: none !important;
  border: 0 !important;
}
body .p-postContent {
  padding: 0 !important;
}
/* HEADER center */
body .l-header__inner {
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: 18px 28px !important;
}
/* PAGEHEAD section (our content) */
body .pagehead {
  padding: 42px 0 30px !important;
  border-bottom: 1px solid #e6e8ec !important;
  background: linear-gradient(180deg, #f6f7f9, #fff) !important;
  margin: 0 0 0 0 !important;
  width: 100% !important;
}
body .pagehead .wrap {
  max-width: 1080px !important;
  margin: 0 auto !important;
  padding: 0 28px !important;
}
body .pagehead h1 {
  font-family: "Hiragino Mincho ProN", "Yu Mincho", serif !important;
  font-size: clamp(24px, 3.4vw, 34px) !important;
  font-weight: 800 !important;
  margin: 8px 0 4px !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  color: #1c1f26 !important;
  line-height: 1.4 !important;
}
body .pagehead p {
  color: #5b6473 !important;
  font-size: 14px !important;
  max-width: 640px !important;
  margin: 0 !important;
  line-height: 1.8 !important;
}
body .crumb {
  font-size: 12px !important;
  color: #8a93a3 !important;
  padding: 0 0 8px !important;
  margin: 0 !important;
}
body .crumb a {
  color: #8a93a3 !important;
  text-decoration: none !important;
}
body .crumb a:hover {
  color: #7c5bff !important;
}
body .crumb span {
  margin: 0 7px !important;
  color: #bbb !important;
}
/* MAIN content wrap centering */
body .wrap.columns {
  display: grid !important;
  grid-template-columns: 1fr 300px !important;
  gap: 50px !important;
  max-width: 1080px !important;
  margin: 60px auto !important;
  padding: 0 28px !important;
  width: auto !important;
}
body .wrap.columns > p,
body .wrap.columns > p:empty {
  display: none !important;
}
@media (max-width: 880px) {
  body .wrap.columns {
    grid-template-columns: 1fr !important;
    gap: 30px !important;
    padding: 0 22px !important;
  }
}
body main.body,
body .wrap.columns > main {
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  min-width: 0 !important;
  display: block !important;
  width: auto !important;
  float: none !important;
}
/* H2 - MATCH LOCAL MOCK EXACTLY: serif, 23px, 800, margin 38px 0 14px, padding-left 16px, border-left 5px #7C5BFF */
body main.body h2,
body .body h2,
body article.p-postContent h2,
body .p-postContent h2,
body main h2 {
  font-family: "Hiragino Mincho ProN", "Yu Mincho", serif !important;
  font-size: 23px !important;
  font-weight: 800 !important;
  margin: 38px 0 14px !important;
  padding: 10px 0 10px 16px !important;
  border: 0 !important;
  border-left: 5px solid #7c5bff !important;
  line-height: 1.5 !important;
  background: none !important;
  color: #1c1f26 !important;
  display: block !important;
  width: auto !important;
  text-align: left !important;
}
body main.body h3,
body .body h3,
body article.p-postContent h3,
body .p-postContent h3,
body main h3 {
  font-size: 18px !important;
  font-weight: 800 !important;
  margin: 28px 0 10px !important;
  color: #1c1f26 !important;
  border: 0 !important;
  padding: 0 !important;
  background: none !important;
  text-align: left !important;
}
body main.body h4,
body .body h4,
body article.p-postContent h4,
body .p-postContent h4 {
  font-size: 15px !important;
  font-weight: 800 !important;
  margin: 18px 0 8px !important;
  border: 0 !important;
  padding: 0 !important;
  background: none !important;
}
body main.body p,
body .body p,
body article.p-postContent p,
body .p-postContent p {
  margin: 14px 0 !important;
  color: #1c1f26 !important;
  line-height: 1.85 !important;
  text-align: left !important;
  font-size: 15px !important;
}
body main.body ul,
body main.body ol,
body .body ul,
body .body ol,
body article.p-postContent ul,
body article.p-postContent ol,
body .p-postContent ul,
body .p-postContent ol {
  margin: 14px 0 !important;
  padding-left: 24px !important;
  text-align: left !important;
}
body main.body li,
body .body li,
body article.p-postContent li {
  margin: 5px 0 !important;
}
body main.body a,
body .body a,
body article.p-postContent a,
body .p-postContent a {
  color: #7c5bff;
  text-decoration: underline !important;
  text-decoration-color: rgba(124, 91, 255, 0.3) !important;
  text-underline-offset: 3px !important;
}
body main.body strong,
body .body strong,
body article.p-postContent strong {
  font-weight: 800 !important;
  color: #1c1f26 !important;
}
body main.body blockquote,
body article.p-postContent blockquote {
  border: 0 !important;
  border-left: 3px solid #7c5bff !important;
  background: #f2edff !important;
  padding: 16px 22px !important;
  margin: 20px 0 !important;
  border-radius: 0 8px 8px 0 !important;
  font-family: "Hiragino Mincho ProN", "Yu Mincho", serif !important;
  color: #5b6473 !important;
}
body main.body table,
body article.p-postContent table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin: 18px 0 !important;
  font-size: 14px !important;
}
body main.body table th,
body article.p-postContent table th,
body main.body table td,
body article.p-postContent table td {
  padding: 10px 14px !important;
  border-bottom: 1px solid #e6e8ec !important;
  text-align: left !important;
}
body main.body table th,
body article.p-postContent table th {
  background: #f6f7f9 !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  letter-spacing: 0.06em !important;
  color: #5b6473 !important;
}
body main.body hr,
body article.p-postContent hr {
  border: 0 !important;
  border-top: 1px solid #e6e8ec !important;
  margin: 40px 0 !important;
}
/* HIDE 既存レイアウト DEFAULT PAGE TITLE (we render our own) */
body main#main_content h1.c-pageTitle,
body .c-pageTitle {
  display: none !important;
}
body .l-mainContent.l-article > article {
  padding: 0 !important;
  margin: 0 !important;
}
/* Hide PHP warnings */
body article.p-postContent > p > b:first-child,
body .p-postContent .mgk-contact-form + p,
body .p-postContent br + b {
  font-size: 0 !important;
  color: transparent !important;
}
body .p-postContent p:has(> b:only-child) {
  display: none !important;
}
body .p-postContent p:first-of-type:has(> b) {
  display: none !important;
}
.wpforms-container {
  background: transparent !important;
}
.wpforms-container > br + b,
.wpforms-container br:first-child,
div[class*="wpforms"] + p:has(b) {
  display: none !important;
}
/* OVERRIDE 既存レイアウト CONTAINERS */
body .l-content {
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: block !important;
}
body .l-mainContent.l-article {
  padding: 0 !important;
  margin: 0 auto !important;
  max-width: none !important;
}

/* ===== S1-BLOCK 13 | widget block-14 | style#mgk-wpforms ===== */

/* Hide PHP Warnings from WPForms */
br + b,
b + br,
br + b ~ *:not(form):not(.wpforms-container):not(div):not(section):not(p:has(strong)),
.wpforms-container br:first-child,
.p-postContent > p:has(b:only-child),
body p > b:first-of-type:contains("Warning") {
  display: none !important;
}
.wpforms-container {
  position: relative;
}
.wpforms-container > br:first-child,
.wpforms-container ~ p:first-of-type {
  display: none !important;
}
/* Stronger: hide all standalone <b> bold without context */
.p-postContent b:not([class]):empty,
.p-postContent br + b:not([class]) {
  font-size: 0 !important;
  color: transparent !important;
  line-height: 0 !important;
  display: inline !important;
}
/* WPForms form styling to match local mockup */
.wpforms-container {
  max-width: none !important;
  margin: 24px 0 !important;
}
.wpforms-form {
  background: #fff !important;
  border: 1px solid #e6e8ec !important;
  border-radius: 14px !important;
  padding: 32px 36px !important;
}
.wpforms-field {
  padding: 10px 0 !important;
  margin: 0 0 14px !important;
}
.wpforms-field-label {
  font-weight: 700 !important;
  font-size: 13px !important;
  color: #1c1f26 !important;
  margin-bottom: 6px !important;
  display: block !important;
}
.wpforms-field input[type="text"],
.wpforms-field input[type="email"],
.wpforms-field input[type="tel"],
.wpforms-field select,
.wpforms-field textarea {
  width: 100% !important;
  padding: 11px 14px !important;
  border: 1px solid #e6e8ec !important;
  border-radius: 8px !important;
  font-size: 14px !important;
  font-family: inherit !important;
  background: #fff !important;
  box-shadow: none !important;
}
.wpforms-field input:focus,
.wpforms-field select:focus,
.wpforms-field textarea:focus {
  border-color: #7c5bff !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(124, 91, 255, 0.15) !important;
}
.wpforms-submit-container button,
.wpforms-submit {
  background: #7c5bff !important;
  color: #fff !important;
  border: 0 !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  border-radius: 999px !important;
  padding: 14px 36px !important;
  cursor: pointer !important;
  box-shadow: none !important;
}
.wpforms-submit:hover {
  filter: brightness(0.94) !important;
}
.wpforms-field-required {
  color: #7c5bff !important;
}
/* ===== S1-BLOCK 14 | widget block-18 | style#mgk-footer-force ===== */
html body footer.l-footer .l-footer__widgetArea,
html body .l-footer__widgetArea {
  display: block !important;
  visibility: visible !important;
  height: auto !important;
  width: auto !important;
  overflow: visible !important;
  opacity: 1 !important;
}
html body .l-footer .l-container,
html body .l-footer .w-footer,
html body .l-footer .w-footer__box,
html body .l-footer .c-widget,
html body .l-footer .widget_block,
html body .l-footer .widget_custom_html,
html body .l-footer__inner,
html body footer.l-footer {
  display: block !important;
  height: auto !important;
  width: auto !important;
  overflow: visible !important;
  visibility: visible !important;
  opacity: 1 !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  max-width: none !important;
  border: 0 !important;
}
/* ===== S1-BLOCK 15 | widget block-19 | style#mgk-footer-final ===== */

.l-footer {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}
.l-footer__inner,
.l-footer__widgetArea {
  display: block !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  max-width: none !important;
  visibility: visible !important;
  height: auto !important;
  width: auto !important;
  opacity: 1 !important;
}
.l-footer .l-container,
.l-footer .w-footer,
.l-footer .w-footer__box,
.l-footer .c-widget,
.l-footer .widget_block,
.l-footer .widget_custom_html {
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  max-width: none !important;
  border: 0 !important;
  display: block !important;
}
.l-footer .c-copyright,
.l-footer .p-pagetop,
.l-footer__copyright {
  display: none !important;
}
.mgk-footer {
  background: #f6f7f9 !important;
  border-top: 1px solid #e6e8ec !important;
  padding: 60px 0 24px !important;
  color: #1c1f26 !important;
  font-size: 13px !important;
  margin: 30px 0 0 !important;
  display: block !important;
}
.mgk-footer .wrap {
  max-width: 1080px !important;
  margin: 0 auto !important;
  padding: 0 28px !important;
  display: grid !important;
  grid-template-columns: 1.5fr 1fr 1fr 1fr !important;
  gap: 50px !important;
}
@media (max-width: 880px) {
  .mgk-footer .wrap {
    grid-template-columns: 1fr 1fr !important;
    gap: 30px !important;
  }
}
@media (max-width: 560px) {
  .mgk-footer .wrap {
    grid-template-columns: 1fr !important;
  }
}
.mgk-footer .logo-col h2 {
  font-family: "Hiragino Mincho ProN", "Yu Mincho", serif !important;
  font-size: 36px !important;
  font-weight: 800 !important;
  letter-spacing: 0.04em !important;
  color: #1c1f26 !important;
  margin: 0 0 14px !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  line-height: 1 !important;
}
.mgk-footer .logo-col .tag {
  font-size: 13px !important;
  line-height: 1.85 !important;
  color: #5b6473 !important;
  margin: 0 0 16px !important;
  padding: 0 !important;
}
.mgk-footer .logo-col .addr {
  font-size: 12.5px !important;
  line-height: 1.85 !important;
  color: #5b6473 !important;
  margin: 0 !important;
  padding: 0 !important;
}
.mgk-footer .col h5 {
  font-size: 13px !important;
  letter-spacing: 0.06em !important;
  color: #7c5bff !important;
  margin: 0 0 14px !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  text-transform: none !important;
}
.mgk-footer .col ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.mgk-footer .col li {
  margin: 0 0 10px !important;
  font-size: 13.5px !important;
  line-height: 1.7 !important;
  padding: 0 !important;
}
.mgk-footer .col li a {
  color: #1c1f26 !important;
  text-decoration: none !important;
}
.mgk-footer .col li a:hover {
  color: #7c5bff !important;
}
.mgk-footer .copy {
  max-width: 1080px !important;
  margin: 36px auto 0 !important;
  padding: 18px 28px 0 !important;
  border-top: 1px solid #e6e8ec !important;
  font-size: 12px !important;
  color: #8a93a3 !important;
  line-height: 1.85 !important;
}
.mgk-footer .copy p {
  margin: 0 !important;
  padding: 0 !important;
  color: #8a93a3 !important;
  font-size: 12px !important;
}
.mgk-footer .copy .top-line {
  color: #5b6473 !important;
  margin-bottom: 6px !important;
}

/* ===== S1-BLOCK 16 | widget block-20 | style#mgk-footer-dedupe ===== */
body .l-footer__foot,
body .l-footer .c-copyright,
body .l-footer__copyright,
body footer.l-footer nav,
body .l-footer .p-pagetop:not(.mgk-footer .p-pagetop) {
  display: none !important;
}
body .l-footer__bottom,
body .l-footer__bg {
  background: transparent !important;
  display: none !important;
}
/* ===== S1-BLOCK 17 | widget block-21 | style#mgk-statbox ===== */
aside .statbox {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 1px !important;
  background: #e6e8ec !important;
  border: 1px solid #e6e8ec !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  margin: 0 0 0 !important;
}
aside .statbox .s {
  background: #fff !important;
  padding: 14px 10px !important;
  text-align: center !important;
  margin: 0 !important;
}
aside .statbox .num {
  font-family: "Hiragino Mincho ProN", "Yu Mincho", serif !important;
  font-weight: 800 !important;
  color: #7c5bff !important;
  font-size: 24px !important;
  line-height: 1.1 !important;
  margin: 0 0 4px !important;
  padding: 0 !important;
}
aside .statbox .num small {
  font-size: 11px !important;
  font-weight: 600 !important;
  color: #7c5bff !important;
}
aside .statbox .lbl {
  font-size: 11px !important;
  color: #8a93a3 !important;
  letter-spacing: 0.04em !important;
}

/* --- 2026-07-29 オーナー指示：パンくずとキッカーの間が空きすぎるため詰める --- */
html body .hero {
  padding-top: 26px !important;
}
@media (max-width: 840px) {
  html body .hero {
    padding-top: 18px !important;
  }
}

/* --- 2026-07-29 追補：ヒーロー2カラムを上揃えにする（右カードが高いと左が下がるため） --- */
html body .hero .wrap.hero-grid {
  align-items: start !important;
}

/* === モバイル左右マージン統一（2026-08-05 00:25 JST）: トップページ基準＝画面端36px（.l-container 14px＋22px）。
   投稿: メディアクエリ無しの padding-left:62px（デスクトップの共有ボタン避け）がスマホにも効いて左76px/右36px非対称だったのを打ち消す。
   用語集個別: 左右0（画面端14px）→22pxに拡げて統一。デスクトップ(min-width:960px)には影響しない。 === */
@media (max-width: 959px) {
  html body #body_wrap.single-post #main_content > .l-mainContent__inner {
    padding-left: 22px !important;
    padding-right: 22px !important;
  }
  html body #body_wrap.single-glossary #main_content > .l-mainContent__inner {
    padding-left: 22px !important;
    padding-right: 22px !important;
  }
}

/* === 同上追補: 投稿本文内の .wrap.columns（22px）が inner の22pxと二重になり本文だけ58pxになるのを解消 === */
@media (max-width: 959px) {
  html body #body_wrap.single-post #main_content .post_content .wrap.columns {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* ===================================================================
   MGK新スタイル部品（yori-ai式移植・2026-08-19 JST 追記）
   ・全ページ展開は行わない（ユーザー決定 2026-08-19）。既存要素（h2/h3/h4/.p-toc）に
     効く規則は、本文ラッパーに class="mgk-style-b" を付けた投稿だけに限定（opt-in方式）。
   ・.mgk-* は新規クラスのため他ページに影響しない。
   ・規約: _MGK/style-adopt-20260819/style-guide.md（M-L-00/08/09/10/11/12/15/17/18）
   ・第1号: お知らせ「zudaru.com を公開しました」
   =================================================================== */

/* --- M-L-00 要約ボックス ------------------------------------------- */
.mgk-summary {
  background: #f5f3ff;
  border: 2px solid var(--accent);
  border-radius: 10px;
  padding: 16px 20px;
  margin: 0 0 28px;
}
.mgk-summary__ttl {
  font-weight: 800;
  color: #4b2fd6;
  margin: 0 0 8px;
  font-size: 14px;
  letter-spacing: 0.02em;
}
/* アイコン（📋📖🔗）は ::before では出さず HTML本文に直書きする
   （本番CSSの main p::before{content:none!important} 全消しリセットに負けるため） */
.mgk-summary p {
  margin: 0;
  color: var(--ink);
  line-height: 1.9;
  font-size: 14.5px;
}
.mgk-summary__time {
  margin-top: 10px !important;
  font-size: 12.5px !important;
  color: var(--ink-faint) !important;
}

/* --- M-L-08 目次（既存レイアウト .p-toc をボックス化）※opt-in ------------------ */
.mgk-style-b .p-toc {
  background: var(--bg-soft) !important;
  border: 1px solid var(--line) !important;
  border-radius: 8px !important;
  padding: 20px !important;
  margin: 28px 0 !important;
}
.mgk-style-b .p-toc__ttl {
  text-align: center !important;
  font-weight: 800 !important;
  font-size: 16px !important;
  color: var(--ink) !important;
}
.mgk-style-b .p-toc__link {
  color: var(--ink-soft) !important;
  text-decoration: none !important;
}
.mgk-style-b .p-toc__link:hover {
  color: var(--accent) !important;
  text-decoration: underline !important;
}

/* --- M-L-09 H2に薄背景（既存の左ボーダーは維持）※opt-in --------------- */
.mgk-style-b main.body h2 {
  background: var(--bg-soft) !important;
  padding: 14px 18px !important;
  border-radius: 0 4px 4px 0 !important;
}

/* --- M-L-10 H3に下線 ※opt-in --------------------------------------- */
.mgk-style-b main.body h3 {
  padding-bottom: 8px !important;
  border-bottom: 2px solid var(--accent) !important;
}

/* --- M-L-11 H4に左ボーダー ※opt-in ---------------------------------- */
.mgk-style-b main.body h4 {
  padding-left: 11px !important;
  border-left: 4px solid var(--tag) !important;
}

/* --- M-L-12 マーカー強調（.mgk-mark を付けた語だけ） ------------------ */
.post_content .mgk-mark,
.p-postContent .mgk-mark {
  background: linear-gradient(transparent 55%, rgba(124, 91, 255, 0.2) 55%);
  font-weight: 800;
}
.post_content a .mgk-mark,
.post_content h2 .mgk-mark,
.post_content h3 .mgk-mark {
  background: none;
}

/* --- M-L-17 ✅3行要約 ---------------------------------------------- */
.mgk-check {
  list-style: none;
  margin: 24px 0;
  padding: 18px 22px;
  background: var(--accent-soft);
  border-radius: 10px;
}
.mgk-check li {
  margin: 0 0 8px !important;
  padding-left: 26px;
  position: relative;
  font-weight: 700;
  font-size: 14.5px;
  line-height: 1.7;
  color: var(--ink);
}
.mgk-check li:last-child {
  margin-bottom: 0 !important;
}
.mgk-check li::before {
  content: "✅";
  position: absolute;
  left: 0;
  top: 0;
}

/* --- M-L-18 ページ末CTAブロック -------------------------------------- */
.mgk-cta {
  margin: 40px 0 0;
  padding: 34px 24px;
  background: var(--bg-soft);
  border: 1px solid var(--line);
  border-radius: 16px;
  text-align: center;
}
.mgk-cta h3,
.mgk-style-b main.body .mgk-cta h3 {
  font-family: var(--serif) !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  color: var(--ink) !important;
  margin: 0 0 10px !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
}
.mgk-cta p {
  font-size: 14px !important;
  color: var(--ink-soft) !important;
  margin: 0 0 20px !important;
  line-height: 1.85 !important;
}
/* マークアップは必ず class="btn mgk-cta__btn"（.btn 併用が必須）。
   本番CSSの「html body main .post_content a:not(.cta-btn):not(.btn)…{color:var(--accent)!important}」を
   :not(.btn) で回避し、既存 main.body a.btn（color:#fff!important）を効かせるため。 */
.mgk-cta__btn {
  display: inline-block !important;
  background: var(--accent) !important;
  color: #fff !important;
  font-weight: 800 !important;
  font-size: 15px !important;
  text-decoration: none !important;
  padding: 15px 40px !important;
  border-radius: 9999px !important;
  box-shadow: 0 10px 26px rgba(124, 91, 255, 0.22) !important;
  transition: 0.14s !important;
}
.mgk-cta__btn:hover {
  filter: brightness(0.94);
}
.mgk-cta__note {
  font-size: 12px !important;
  color: var(--ink-faint) !important;
  margin: 14px 0 0 !important;
}
@media (max-width: 600px) {
  .mgk-cta {
    padding: 26px 18px;
  }
  .mgk-cta__btn {
    display: block !important;
    padding: 15px 20px !important;
  }
}

/* --- M-L-15 あわせて読みたい ---------------------------------------- */
.mgk-readnext {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 18px 22px;
  margin: 32px 0 0;
}
.mgk-readnext__ttl {
  font-weight: 800;
  margin: 0 0 10px;
  font-size: 14px;
  color: var(--ink);
}
.mgk-readnext ul {
  margin: 0 !important;
  padding-left: 1.2em !important;
}
.mgk-readnext li {
  margin: 0 0 6px !important;
  line-height: 1.9;
  font-size: 14px;
}
/* === /MGK新スタイル部品 2026-08-19 === */

/* ===== 2026-08-23 JST 追加：ヒーロー2本柱カードをPCでは下段横並びに（縦積み解消・オーナー指示） ===== */
@media (min-width: 901px) {
  html body .hero .wrap.hero-grid {
    grid-template-columns: 1fr !important;
  }
  .hero .hero-main p.tag {
    max-width: 760px !important;
  }
  .hero-side-stack {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 26px;
    margin-top: 32px;
    align-items: stretch;
  }
}
@media (max-width: 900px) {
  .hero-side-stack .hero-promo + .hero-promo {
    margin-top: 22px;
  }
}

/* === 20260823 トップ402改修: ヒーロー右画像 + 「私たちは何者か」フルワイド化 === */
/* ヒーロー: キャッチコピー右に画像（PC のみ） */
@media (min-width: 901px) {
  .hero .hero-main {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 330px;
    gap: 40px;
    align-items: center;
  }
}
.hero-art {
  min-width: 0;
}
.hero-art img {
  width: 100%;
  height: auto;
  display: block;
}
@media (max-width: 900px) {
  .hero-art {
    display: none;
  }
}
/* 「私たちは何者か」フルワイドセクション（.body ラッパーを main 相当に扱う） */
.whoami-section {
  padding: 52px 0 8px;
}
.whoami-section .wrap {
  max-width: 1080px;
  margin: 0 auto;
  padding: 0 28px;
}
.whoami-section .body h1::before,
.whoami-section .body h1::after,
.whoami-section .body h2::before,
.whoami-section .body h2::after,
.whoami-section .body h3::before,
.whoami-section .body h3::after,
.whoami-section .body h4::before,
.whoami-section .body h4::after,
.whoami-section .body h5::before,
.whoami-section .body h5::after,
.whoami-section .body h6::before,
.whoami-section .body h6::after,
.whoami-section .body p::before,
.whoami-section .body p::after,
.whoami-section .body blockquote::before,
.whoami-section .body blockquote::after {
  content: none !important;
}
html body .whoami-section .body h2,
html body .whoami-section .body h3,
html body .whoami-section .body h4 {
  line-height: 1.85;
}
.whoami-section .body a.btn {
  display: inline-block;
  background: var(--accent);
  color: #fff !important;
  font-weight: 800;
  font-size: 14.5px;
  line-height: 1.4;
  border-radius: 999px;
  padding: 14px 30px;
  transition: 0.14s;
  text-decoration: none !important;
}
.whoami-section .body a.btn:hover {
  opacity: 0.85;
  color: #fff !important;
}

/* === 20260823-3 ヒーロー画像を背景扱いで拡大（ユーザー指示: もっと大きく・文字と多少重なってOK） === */
@media (min-width: 901px) {
  .hero {
    position: relative;
    overflow: hidden;
  }
  .hero .hero-main {
    display: block;
    position: static;
  }
  .hero .hero-copy {
    position: relative;
    z-index: 2;
    max-width: 680px;
  }
  .hero-art {
    position: absolute;
    z-index: 0;
    right: -70px;
    top: 30px;
    width: 680px;
    pointer-events: none;
  }
  .hero-art img {
    width: 100%;
    height: auto;
    display: block;
  }
  .hero .hero-side-stack {
    position: relative;
    z-index: 2;
  }
}

/* === 20260824 ヒーローキャッチ変更（「今までの経験が、AIで加速度的に進化する。」＝ユーザー指示）に伴うサブコピー === */
.hero .hero-sub {
  font-family: var(--serif);
  font-size: 17px;
  font-weight: 700;
  color: var(--ink-soft);
  margin: 14px 0 18px;
  letter-spacing: 0.02em;
  background: none;
  border: 0;
  padding: 0;
}
@media (max-width: 900px) {
  .hero .hero-sub {
    font-size: 15px;
  }
}

/* ============================================================
   SHOW-SIDEBAR-ALL 2026-08-24 — 右サイドウィジェットを全ページ表示
   対象: 用語集単独(single-glossary)・投稿(single-post)・用語辞典トップ(page-id-401)
   ※アーカイブ/固定ページ群は既存表示のまま。HIDE-SIDEBAR-GLOBAL等より後置で上書き
   ============================================================ */
@media (min-width: 960px) {
  html body #body_wrap.single-glossary #sidebar.l-sidebar,
  html body #body_wrap.single-post.single #sidebar.l-sidebar,
  html body #body_wrap.page-id-401 #sidebar.l-sidebar {
    display: block !important;
    flex: 0 0 304px !important;
    width: 304px !important;
    max-width: 304px !important;
    margin: 0 !important;
    padding: 0 0 48px !important;
    height: auto !important;
    position: static !important;
  }
  html body #body_wrap.page-id-401 #content.l-content.l-container {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 0 !important;
    max-width: 1296px !important;
    width: 100% !important;
    margin: 0 auto 96px !important;
    padding: 48px 48px 0 !important;
    align-items: flex-start;
    box-sizing: border-box;
  }
  html body #body_wrap.page-id-401 #main_content {
    flex: 1 1 0% !important;
    max-width: calc(100% - 356px) !important;
    width: auto !important;
    margin: 0 52px 0 0 !important;
    padding: 0 !important;
    min-width: 0 !important;
    overflow: hidden;
  }
  html body #body_wrap.page-id-401 #main_content > .l-mainContent__inner {
    max-width: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }
}
@media (max-width: 959px) {
  html body #body_wrap.single-glossary #sidebar.l-sidebar,
  html body #body_wrap.single-post.single #sidebar.l-sidebar,
  html body #body_wrap.page-id-401 #sidebar.l-sidebar {
    display: block !important;
    width: auto !important;
    max-width: 600px !important;
    margin: 32px auto 48px !important;
    padding: 0 22px !important;
    height: auto !important;
  }
}

/* SHOW-SIDEBAR-ALL 補足 2026-08-24 — 本文内に独自右カラム(.wrap.columns)を持つ記事は
   既に右ウィジェット表示済みのため、テーマサイドバーを出さない（二重表示防止・全幅共通） */
html
  body
  #body_wrap.single-post.single:has(#main_content .post_content .wrap.columns)
  #sidebar.l-sidebar {
  display: none !important;
  flex: 0 0 0 !important;
  width: 0 !important;
  max-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ============================================================
   SHOW-SIDEBAR-SEARCH 2026-08-24 — 検索結果ページに右サイドウィジェット表示
   ※HIDE-SIDEBAR-GLOBALより後置で上書き（SHOW-SIDEBAR-ALL/page-id-401と同方式）
   ============================================================ */
@media (min-width: 960px) {
  html body #body_wrap.search #sidebar.l-sidebar {
    display: block !important;
    flex: 0 0 304px !important;
    width: 304px !important;
    max-width: 304px !important;
    margin: 0 !important;
    padding: 0 0 48px !important;
    height: auto !important;
    position: static !important;
  }
  html body #body_wrap.search #content.l-content.l-container {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 0 !important;
    max-width: 1296px !important;
    width: 100% !important;
    margin: 0 auto 96px !important;
    padding: 48px 48px 0 !important;
    align-items: flex-start;
    box-sizing: border-box;
  }
  html body #body_wrap.search #main_content {
    flex: 1 1 0% !important;
    max-width: calc(100% - 356px) !important;
    width: auto !important;
    margin: 0 52px 0 0 !important;
    padding: 0 !important;
    min-width: 0 !important;
    overflow: hidden;
  }
  html body #body_wrap.search #main_content > .l-mainContent__inner {
    max-width: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }
}
@media (max-width: 959px) {
  html body #body_wrap.search #sidebar.l-sidebar {
    display: block !important;
    width: auto !important;
    max-width: 600px !important;
    margin: 32px auto 48px !important;
    padding: 0 22px !important;
    height: auto !important;
  }
}

/* ページ送り：薄い灰色の背景で数字が読めるようにする。2026-09-15 13:42:07 JST */
.c-pagination a.page-numbers {
  color: #1c1f26;
}
.c-pagination a.page-numbers:hover,
.c-pagination a.page-numbers:focus-visible {
  color: #fff;
  background-color: var(--color_main);
}
