/*
 * MINASHIRUBE SITE CSS v2.7.0
 * Release date: 2026-09-27
 *
 * Stable release based on:
 * minashirube_260916_v2.3j_narrow-mobile-theme-cards.css
 *
 * Status:
 * - PC layout reviewed
 * - Tablet 834px reviewed
 * - 768px / 767px breakpoint reviewed
 * - Mobile 393px / 360px reviewed
 *
 * Migration policy:
 * - This release intentionally preserves the verified working CSS.
 * - Stage 2: 通常投稿専用の表示定義を記事CSSへ移管。
 * - Stage 6: 同一セレクタ／同一条件で後段に上書きされる旧宣言を整理。
 * - セレクタ順・メディアクエリ順・現行デザイン仕様は維持。
 */

/*
 * Minashirube CSS v2.2 — Homepage Structure Refinement
 * Source: minashirube_260914_clean_v2.1.css (2026-09-14)
 *
 * Purpose
 * - v2.1整理版を基準に、トップページのセクション骨格を再調整
 * - 英語セクションラベルを原則非表示、見出し＋説明を縦配置へ統一
 * - トップ各ブロックの余白を共通トークン化し、間延びを抑制
 * - Hero / Latest / About / Footer の個別仕上げは次工程
 *
 * Scope
 * 00 Design Tokens
 * 01 Site Base
 * 02 Header / Footer
 * 03 Breadcrumb / Site Guide
 * 04 Layout Shell / Responsive Gutters
 * 10 Homepage Shell
 * 11–17 Homepage Blocks
 * 20 Static Pages
 * 30–40 Articles / Article Components → article-v3.4.0.css
 * 50 Editorial Policy
 * 56 About Minashirube
 * 60 Index / Archive Pages
 */

/* ==================================================
   00. Design Tokens
   ================================================== */

:root {
  --ms-navy: #0D1B2A;
  --ms-text: #24313B;
  --ms-bluegray: #5F7685;
  --ms-sage: #7A9B83;
  --ms-gold: #E6A23C;
  --ms-warmgray: #8D8F92;

  --ms-canvas: #FAF9F6;
  --ms-surface: #FFFFFF;
  --ms-border: #DDE2E0;
  --ms-border-strong: #C9D0CD;

  --ms-soft-blue: #EEF2F4;
  --ms-soft-sage: #EEF3EF;
  --ms-soft-gold: #FFF5E6;

  --ms-font-sans: -apple-system, BlinkMacSystemFont, "Helvetica Neue",
    "Hiragino Kaku Gothic ProN", "Yu Gothic", "YuGothic",
    "Noto Sans JP", Meiryo, sans-serif;

  --ms-site-shell: 1168px;
  --ms-content-wide: 1120px;
  --ms-fixed-reading: 820px;
  --ms-post-main: 780px;
  --ms-post-sidebar: 300px;
  --ms-post-gap: 40px;

  --ms-gutter-pc: 24px;
  --ms-gutter-tablet: 32px;
  --ms-gutter-mobile: 18px;

  /* Homepage spacing */
  --ms-home-gap-pc: 52px;
  --ms-home-gap-tablet: 48px;
  --ms-home-gap-mobile: 42px;
  --ms-home-head-gap: 18px;
  --ms-home-intro-width: 720px;
}

/* ==================================================
   01. Site Base
   ================================================== */

body {
  background-color: var(--ms-canvas);
  color: var(--ms-text);
  font-family: var(--ms-font-sans);
  line-height: 1.75;
}

.main {
  background-color: var(--ms-surface);
  color: var(--ms-text);
  box-shadow: none;
}

.entry-title,
.archive-title {
  color: var(--ms-navy);
}

.article .entry-content a:not(.wp-block-button__link) {
  color: var(--ms-bluegray);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.18em;
}

.body .article blockquote {
  background-color: var(--ms-surface);
  color: var(--ms-text);
  border: 1px solid var(--ms-border);
  box-shadow: none;
}

.entry-card-wrap {
  box-shadow: none;
}

.a-wrap:hover {
  background-color: var(--ms-canvas);
}

.wp-block-button__link {
  background-color: var(--ms-navy);
  color: #FFFFFF;
  border-radius: 6px;
  box-shadow: none;
}


/* ==================================================
   01A. Static Page Reading Canvas
   トップページを除く固定ページは、通常投稿と同じ
   暖かいオフホワイト #FFFEFC を読書キャンバスとする。
   ヘッダー／フッターの配色は変更しない。
   ================================================== */

body.page:not(.home),
.page:not(.home) #content,
.page:not(.home) #content-in,
.page:not(.home) #main,
.page:not(.home) #main .article,
.page:not(.home) .entry-content {
  background-color: #FFFEFC !important;
}

/* Cocoon側でパンくずに白背景が付く場合も読書キャンバスへ揃える */
body.page:not(.home) #breadcrumb,
body.page:not(.home) .breadcrumb,
body.page:not(.home) .breadcrumb.sbp-main-before,
body.page:not(.home) .breadcrumb-container,
body.page:not(.home) .breadcrumb-wrap {
  background-color: #FFFEFC !important;
}

/* ==================================================
   02. Header / Footer
   ================================================== */

@media screen and (min-width: 1024px) {
  .header-container {
    background: #FFFFFF;
    border-bottom: 1px solid var(--ms-border);
    box-shadow: none;
  }

  .header-container-in {
    width: 100% !important;
    max-width: var(--ms-site-shell) !important;
    margin: 0 auto !important;
    padding-left: var(--ms-gutter-pc) !important;
    padding-right: var(--ms-gutter-pc) !important;
    box-sizing: border-box !important;
  }

  .header-in {
    width: 100% !important;
    max-width: none !important;
    min-height: 64px;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    align-items: center;
    box-sizing: border-box;
  }

  .logo-header {
    margin-top: 0;
    margin-bottom: 0;
  }

  .logo-header img {
    width: auto;
    max-height: 38px;
  }

  #navi {
    background: transparent;
    box-shadow: none;
  }

  #navi .navi-in {
    width: auto;
    max-width: none;
    margin: 0;
  }

  #navi .navi-in > .menu-header {
    display: flex;
    align-items: center;
  }

  #navi .navi-in > .menu-header > .menu-item {
    border: 0;
  }

  #navi .navi-in > .menu-header > .menu-item > a {
    display: flex;
    align-items: center;
    min-height: 64px;
    padding: 0 14px;
    background: transparent;
    color: var(--ms-navy);
    font-size: 13.5px;
    font-weight: 500;
    line-height: 1.4;
  }

  #navi .navi-in > .menu-header > .menu-item > a:hover {
    background: transparent;
    color: var(--ms-bluegray);
  }
}

@media screen and (max-width: 1023px) {
  /*
   * Cocoonの通常ヘッダーを隠し、
   * ヘッダーモバイルボタン側のロゴだけを使う。
   * モバイルでのロゴ二重表示を防ぐ。
   */
  .header-container {
    display: none;
  }

  .mobile-header-menu-buttons {
    min-height: 54px;
    background: #FFFFFF;
    border-bottom: 1px solid var(--ms-border);
    box-shadow: none;
  }

  .mobile-header-menu-buttons > li {
    min-height: 54px;
  }

  .mobile-header-menu-buttons > li > a {
    min-height: 54px;
    color: var(--ms-navy);
    background: transparent;
  }

  .mobile-header-menu-buttons .menu-button,
  .mobile-header-menu-buttons .search-menu-button {
    width: 58px;
  }

  .mobile-header-menu-buttons .logo-menu-button {
    display: flex;
    flex: 1;
    align-items: center;
    justify-content: center;
    min-height: 54px;
  }

  .mobile-header-menu-buttons .logo-menu-button > a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 54px;
    padding: 0;
    line-height: 1;
  }

  .mobile-header-menu-buttons .logo-menu-button img {
    display: block;
    width: auto;
    max-height: 32px;
    margin: 0;
  }

  .mobile-header-menu-buttons .menu-button > a,
  .mobile-header-menu-buttons .search-menu-button > a {
    font-size: 10px;
    line-height: 1.2;
  }

  .mobile-header-menu-buttons > li > a:hover,
  .mobile-header-menu-buttons > li > a:active {
    background: var(--ms-canvas);
    color: var(--ms-navy);
  }
}

#footer {
  background-color: var(--ms-navy);
  
}

#footer a:not(.sns-button) {
  color: #FFFFFF;
}


/* ---------- Footer detail ---------- */

#footer .footer-bottom {
  
  
  margin-left: auto;
  margin-right: auto;
  
  
}

#footer .footer-bottom-logo .logo-image {
  
  
  max-width: none;
}







#footer .navi-footer-in a:hover {
  background: transparent;
  color: #FFFFFF;
  text-decoration: underline;
  text-underline-offset: 0.18em;
}



@media screen and (max-width: 1023px) {
  

  #footer .navi-footer-in > .menu-footer {
    
    row-gap: 4px;
  }

  #footer .navi-footer-in > .menu-footer li.menu-item {
    border: 0;
  }

  

  #footer .footer-bottom-logo .logo-image {
    margin-left: auto;
    margin-right: auto;
  }

  
}

/* ==================================================
   03. Breadcrumb / Site Guide
   Cocoonのパンくずは #content-in の外側に出るため、
   ヘッダー・本文と同じサイトシェルへ明示的に揃える
   ================================================== */

@media screen and (min-width: 1024px) {
  body:not(.home) #breadcrumb,
  body:not(.home) .breadcrumb.wrap {
    width: 100% !important;
    max-width: var(--ms-site-shell) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-top: 16px !important;
    padding-bottom: 12px !important;
    padding-left: var(--ms-gutter-pc) !important;
    padding-right: var(--ms-gutter-pc) !important;
    color: var(--ms-warmgray);
    font-size: 11.5px;
    line-height: 1.5;
    box-sizing: border-box !important;
  }
}

@media screen and (max-width: 1023px) {
  body:not(.home) #breadcrumb,
  body:not(.home) .breadcrumb.wrap {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: var(--ms-gutter-mobile) !important;
    padding-right: var(--ms-gutter-mobile) !important;
    box-sizing: border-box !important;
  }
}

/* パンくずは文字情報を主体とし、装飾アイコンのみ非表示にする。 */
body:not(.home) #breadcrumb :is(.fa-home, .fa-folder, .fa-folder-open),
body:not(.home) .breadcrumb :is(.fa-home, .fa-folder, .fa-folder-open) {
  display: none !important;
}


/*

/* ==================================================
   04. Layout Shell / Responsive Gutters
   PC: 1168px shell = 24px + 1120px + 24px
   ================================================== */

@media screen and (min-width: 1024px) {
  .home #content-in,
  .single-post #content-in,
  .page:not(.home) #content-in {
    width: 100% !important;
    max-width: var(--ms-site-shell) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: var(--ms-gutter-pc) !important;
    padding-right: var(--ms-gutter-pc) !important;
    box-sizing: border-box !important;
  }

  .home #content-in {
    display: block !important;
  }

  .home #main,
  .home #main .article,
  .home #main .entry-content,
  .home .ms-home {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  .home .ms-home .is-layout-constrained > :is(
    .wp-block-group,
    .wp-block-columns,
    .wp-block-query
  ),
  .home .ms-home .wp-block-group__inner-container {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  .single-post #content-in {
    display: flex !important;
    align-items: flex-start;
    gap: var(--ms-post-gap) !important;
  }

  .single-post #main {
    flex: 0 1 var(--ms-post-main) !important;
    width: var(--ms-post-main) !important;
    max-width: var(--ms-post-main) !important;
    min-width: 0;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  .single-post #main .article {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  .single-post .sidebar {
    flex: 0 0 var(--ms-post-sidebar) !important;
    width: var(--ms-post-sidebar) !important;
    max-width: var(--ms-post-sidebar) !important;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  .page:not(.home) #content-in {
    display: block !important;
  }

  .page:not(.home) #main,
  .page:not(.home) #main .article {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }
}

@media screen and (min-width: 681px) and (max-width: 1023px) {
  .home .ms-home {
    padding-left: var(--ms-gutter-tablet) !important;
    padding-right: var(--ms-gutter-tablet) !important;
  }

  .single-post #content-in,
  .single-post .content-in,
  .page:not(.home) #content-in,
  body:has(.ms-policy-page) #content-in,
  body:has(.ms-about-page) #content-in,
  body:not(.home) #breadcrumb,
  body:not(.home) .breadcrumb.wrap {
    padding-left: var(--ms-gutter-tablet) !important;
    padding-right: var(--ms-gutter-tablet) !important;
    box-sizing: border-box !important;
  }
}

@media screen and (max-width: 680px) {
  :root {
    --ms-gutter-mobile: 22px;
  }

  .home .ms-home {
    padding-left: var(--ms-gutter-mobile) !important;
    padding-right: var(--ms-gutter-mobile) !important;
  }

  .single-post #content-in,
  .single-post .content-in,
  .page:not(.home) #content-in,
  body:has(.ms-policy-page) #content-in,
  body:has(.ms-about-page) #content-in,
  body:not(.home) #breadcrumb,
  body:not(.home) .breadcrumb.wrap {
    padding-left: var(--ms-gutter-mobile) !important;
    padding-right: var(--ms-gutter-mobile) !important;
    box-sizing: border-box !important;
  }

  .single-post #main,
  .single-post #main .article,
  .single-post .main,
  .single-post .article {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  .single-post .entry-header,
  .single-post .entry-content {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .single-post .article-header,
  .single-post .article-body {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* ==================================================
   10. Homepage Shell
   現行トップは ms-home-* 系のみを正本とする
   ================================================== */

.ms-home {
  width: 100%;
  max-width: var(--ms-content-wide);
  margin-left: auto;
  margin-right: auto;
  color: var(--ms-text);
  box-sizing: border-box;
}

.home.page .entry-title,
.home.page .sns-share,
.home.page .sns-follow,
.home.page .date-tags,
.home.page .author-info,
.home.page .post-date,
.home.page .post-update {
  display: none !important;
}

.home.page .entry-header {
  display: none !important;
}

.home #content {
  margin-top: 0 !important;
}

.home .entry-content,
.home .ms-home,
.home .ms-home > .wp-block-group,
.home .ms-home > .wp-block-group__inner-container {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  gap: 0 !important;
  row-gap: 0 !important;
}

.home .ms-home > * {
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
}

/* =========================================================
   MINASHIRUBE HOME
   BLOCK 01 / HERO
   ========================================================= */

.ms-home-hero {
  position: relative;
  display: grid;
  width: 100%;
  max-width: var(--ms-content-wide);
  margin: 0 auto 44px;
  overflow: hidden;
  background: var(--ms-canvas);
  
}

/* PCでは画像と文章を同じ領域に重ねる */
.ms-home-hero__content,
.ms-home-hero__media {
  grid-area: 1 / 1;
}

/* ---------- PHOTO ---------- */

.ms-home-hero__media {
  position: relative;
  min-width: 0;
}

.ms-home-hero__media img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
}

/*
  左側の文章を読みやすくするための薄いグラデーション。
  写真そのものはできるだけ残す。
*/
.ms-home-hero__media::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(
      90deg,
      rgba(250, 249, 246, 0.98) 0%,
      rgba(250, 249, 246, 0.94) 24%,
      rgba(250, 249, 246, 0.70) 38%,
      rgba(250, 249, 246, 0.10) 54%,
      rgba(250, 249, 246, 0) 66%
    );
}

/* ---------- COPY ---------- */

.ms-home-hero__content {
  position: relative;
  z-index: 2;
  align-self: center;
  width: 43%;
  max-width: 470px;
  margin-left: clamp(28px, 5vw, 64px);
  padding: 56px 0;
  color: var(--ms-navy);
}

.ms-home-hero__eyebrow {
  margin: 0 0 14px;
  color: #5f7685;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.16em;
  line-height: 1.4;
}

.ms-home-hero__title {
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  color: var(--ms-navy);
  font-size: clamp(28px, 2.45vw, 40px);
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 0.015em;
}

.ms-home-hero__lead {
  max-width: 440px;
  margin: 24px 0 0;
  color: #35434d;
  font-size: 15px;
  line-height: 1.9;
}

/* ---------- SEARCH ---------- */

.ms-home-hero__search {
  display: flex;
  width: 100%;
  max-width: 430px;
  margin-top: 28px;
}

.ms-home-hero__search input[type="search"] {
  flex: 1 1 auto;
  min-width: 0;
  height: 46px;
  margin: 0;
  padding: 0 16px;
  border: 1px solid #cfd7d5;
  border-right: 0;
  border-radius: 4px 0 0 4px;
  background: rgba(255, 255, 255, 0.96);
  color: #24313b;
  font-size: 14px;
  box-shadow: none;
}

.ms-home-hero__search input[type="search"]::placeholder {
  color: #8d8f92;
}

.ms-home-hero__search input[type="search"]:focus {
  outline: 2px solid rgba(95, 118, 133, 0.28);
  outline-offset: -2px;
}

.ms-home-hero__search button {
  flex: 0 0 auto;
  min-width: 78px;
  height: 46px;
  margin: 0;
  padding: 0 18px;
  border: 1px solid var(--ms-navy);
  border-radius: 0 4px 4px 0;
  background: var(--ms-navy);
  color: var(--ms-surface);
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
}

.ms-home-hero__search button:hover {
  background: #1b3144;
  border-color: #1b3144;
}

/* =========================================================
   TABLET
   ========================================================= */

@media screen and (max-width: 1023px) {

  .ms-home-hero__content {
    width: 48%;
    max-width: 430px;
    margin-left: 32px;
    padding: 42px 0;
  }

  .ms-home-hero__title {
    font-size: clamp(26px, 3.2vw, 34px);
  }

  .ms-home-hero__lead {
    font-size: 14px;
    line-height: 1.85;
  }
}

/* =========================================================
   MOBILE
   ========================================================= */

@media screen and (max-width: 767px) {

  .ms-home-hero {
    display: flex;
    flex-direction: column;
    margin-bottom: 40px;
    overflow: hidden;
  }

  /*
    スマホでは文字を画像へ重ねない。
    上：コピー
    下：写真
  */
  .ms-home-hero__content {
    order: 1;
    width: auto;
    max-width: none;
    margin: 0;
    padding: 30px 22px 26px;
    background: var(--ms-canvas);
  }

  .ms-home-hero__media {
    order: 2;
  }

  .ms-home-hero__media::after {
    display: none;
  }

  .ms-home-hero__media img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    object-position: 68% 54%;
  }

  .ms-home-hero__eyebrow {
    margin-bottom: 10px;
    font-size: 10px;
  }

  .ms-home-hero__title {
    font-size: clamp(24px, 7vw, 30px);
    line-height: 1.48;
  }

  .ms-home-hero__lead {
    margin-top: 18px;
    font-size: 14px;
    line-height: 1.85;
  }

  .ms-home-hero__search {
    max-width: none;
    margin-top: 22px;
  }

  .ms-home-hero__search input[type="search"],
  .ms-home-hero__search button {
    height: 44px;
  }

  .ms-home-hero__search button {
    min-width: 68px;
    padding: 0 14px;
  }
}

/* very small smartphone */
@media screen and (max-width: 390px) {

  .ms-home-hero__content {
    padding-left: 18px;
    padding-right: 18px;
  }

  .ms-home-hero__title {
    font-size: 23px;
  }

  .ms-home-hero__lead {
    font-size: 13.5px;
  }
}

/* =========================================================
   HOME HERO 最終調整 01
   外枠・画像枠を削除
   ========================================================= */

.ms-home-hero {
  border: none;
  box-shadow: none;
}

.ms-home-hero__media,
.ms-home-hero__media img {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}

/* PC HEROコピーの改行を固定 */
@media screen and (min-width: 1024px) {

  .ms-home-hero__content {
    width: 56%;
    max-width: 650px;
  }

  .ms-home-hero__title {
    font-size: clamp(30px, 2.15vw, 36px);
    line-height: 1.45;
  }

  .ms-home-hero__title span {
    display: block;
    white-space: nowrap;
  }

}

/* =========================================================
   MINASHIRUBE HOME
   BLOCK 02 / HOW WE RESEARCH
   ========================================================= */

.ms-home-method {
  width: 100%;
  max-width: var(--ms-content-wide);
  margin: 0 auto var(--ms-home-gap-pc);
  color: var(--ms-navy);
}


/* ---------- HEADER ---------- */

.ms-home-method__header {
  display: block;
  margin-bottom: var(--ms-home-head-gap);
}

.ms-home-method__eyebrow {
  display: none;
}

.ms-home-method__title {
  margin: 0;
  padding: 0 0 9px;
  border: 0;
  border-bottom: 1px solid var(--ms-border);
  background: none;
  color: var(--ms-navy);
  font-size: clamp(24px, 2vw, 30px);
  font-weight: 700;
  line-height: 1.45;
}

.ms-home-method__intro {
  max-width: var(--ms-home-intro-width);
  margin: 10px 0 0;
  color: #4c5962;
  font-size: 14px;
  line-height: 1.8;
}


/* ---------- GRID ---------- */

.ms-home-method__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid #dfe4e2;
  border-bottom: 1px solid #dfe4e2;
}


/* ---------- CARD ---------- */

.ms-home-method__card {
  position: relative;
  min-width: 0;
  padding: 26px 24px 28px;
  border-right: 1px solid #dfe4e2;
  background: var(--ms-surface);
}

.ms-home-method__card:last-child {
  border-right: 0;
}

.ms-home-method__line {
  position: absolute;
  top: -1px;
  left: 24px;
  width: 30px;
  height: 3px;
  background: var(--ms-navy);
}

.ms-home-method__number {
  margin: 0 0 24px;
  color: #6f7c84;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.06em;
}

.ms-home-method__card h3 {
  margin: 0 0 14px;
  padding: 0;
  border: 0;
  background: none;
  color: var(--ms-navy);
  font-size: 17px;
  font-weight: 700;
  line-height: 1.5;
}

.ms-home-method__card > p:last-child {
  margin: 0;
  color: #46535d;
  font-size: 14px;
  line-height: 1.85;
}


/* ---------- 4 COLORS ---------- */

.ms-home-method__card--research .ms-home-method__line {
  background: var(--ms-navy);
}

.ms-home-method__card--compare .ms-home-method__line {
  background: #617b8b;
}

.ms-home-method__card--verify .ms-home-method__line {
  background: #7a9b7b;
}

.ms-home-method__card--decide .ms-home-method__line {
  background: #d99a2b;
}


/* =========================================================
   TABLET
   ========================================================= */

@media screen and (max-width: 1023px) {

  .ms-home-method {
    margin-bottom: var(--ms-home-gap-tablet);
  }

  .ms-home-method__header {
    margin-bottom: 18px;
  }

  .ms-home-method__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ms-home-method__card:nth-child(2) {
    border-right: 0;
  }

  .ms-home-method__card:nth-child(-n/**/+2) {
    border-bottom: 1px solid #dfe4e2;
  }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media screen and (max-width: 767px) {

  .ms-home-method {
    margin-bottom: var(--ms-home-gap-mobile);
  }

  .ms-home-method__header {
    margin-bottom: 16px;
  }

  .ms-home-method__title {
    font-size: 23px;
  }

  .ms-home-method__intro {
    font-size: 13.5px;
    line-height: 1.8;
  }

  .ms-home-method__intro br {
    display: none;
  }

  .ms-home-method__grid {
    grid-template-columns: 1fr;
    border-top: 1px solid #dfe4e2;
  }

  .ms-home-method__card {
    padding: 22px 18px 24px;
    border-right: 0;
    border-bottom: 1px solid #dfe4e2;
  }

  .ms-home-method__card:last-child {
    border-bottom: 0;
  }

  .ms-home-method__card:nth-child(-n/**/+2) {
    border-bottom: 1px solid #dfe4e2;
  }

  .ms-home-method__line {
    left: 18px;
    width: 26px;
  }

  .ms-home-method__number {
    margin-bottom: 16px;
  }

  .ms-home-method__card h3 {
    margin-bottom: 9px;
    font-size: 16px;
  }

  .ms-home-method__card > p:last-child {
    font-size: 13.5px;
    line-height: 1.8;
  }

}

/* =========================================================
   MINASHIRUBE HOME
   BLOCK 03 / EXPLORE BY THEME
   COMPACT IMAGE CARDS
   12 THEMES
   ========================================================= */

.ms-home-themes {
  width: 100%;
  max-width: var(--ms-content-wide);
  margin: 0 auto var(--ms-home-gap-pc);
  color: var(--ms-navy);
}


/* ---------- HEADER ---------- */

.ms-home-themes__header {
  display: block;
  margin-bottom: var(--ms-home-head-gap);
}

.ms-home-themes__eyebrow {
  display: none;
}

.ms-home-themes__title {
  margin: 0;
  padding: 0 0 9px;
  border: 0;
  border-bottom: 1px solid var(--ms-border);
  background: none;
  color: var(--ms-navy);
  font-size: clamp(24px, 2vw, 30px);
  font-weight: 700;
  line-height: 1.45;
}

.ms-home-themes__intro {
  max-width: var(--ms-home-intro-width);
  margin: 10px 0 0;
  color: #4c5962;
  font-size: 14px;
  line-height: 1.8;
}


/* ---------- GRID ---------- */

.ms-home-themes__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}


/* ---------- CARD ---------- */

.ms-home-themes__card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: 100%;
  overflow: hidden;
  margin: 0;
  border: 1px solid #e0e4e2;
  background: #fff;
  color: inherit;
  text-decoration: none;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease,
    border-color 0.2s ease;
}

.ms-home-themes__card:hover {
  transform: translateY(-2px);
  border-color: #cdd5d2;
  box-shadow: 0 5px 16px rgba(13, 27, 42, 0.06);
  color: inherit;
  text-decoration: none;
}


/* ---------- IMAGE ---------- */

.ms-home-themes__image {
  width: 100%;
  aspect-ratio: 3 / 2;
  overflow: hidden;
  background: #f3f5f4;
}

.ms-home-themes__image img {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.ms-home-themes__card:hover .ms-home-themes__image img {
  transform: scale(1.025);
}


/* ---------- BODY ---------- */

.ms-home-themes__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 16px 17px 18px;
}


/* ---------- CATEGORY ---------- */

.ms-home-themes__category {
  margin: 0 0 7px;
  color: #74858e;
  font-size: 9px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0.08em;
}


/* ---------- THEME TITLE ---------- */

.ms-home-themes__card h3 {
  margin: 0 0 7px;
  padding: 0 0 0 9px;
  border: 0;
  border-left: 2px solid var(--ms-navy);
  background: none;
  color: var(--ms-navy);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.45;
}


/* ---------- DESCRIPTION ---------- */

.ms-home-themes__description {
  margin: 0;
  color: #526069;
  font-size: 12.5px;
  line-height: 1.65;
}


/* ---------- FOOTER LINK ---------- */

.ms-home-themes__footer {
  margin-top: 20px;
  text-align: right;
}

.ms-home-themes__footer a {
  color: #516d7d;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
}

.ms-home-themes__footer a:hover {
  text-decoration: underline;
}


/* =========================================================
   TABLET
   ========================================================= */

@media screen and (max-width: 1023px) {

  .ms-home-themes {
    margin-bottom: var(--ms-home-gap-tablet);
  }

  .ms-home-themes__header {
    margin-bottom: 16px;
  }

  .ms-home-themes__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
  }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media screen and (max-width: 767px) {

  .ms-home-themes {
    margin-bottom: var(--ms-home-gap-mobile);
  }

  .ms-home-themes__header {
    margin-bottom: 16px;
  }

  .ms-home-themes__title {
    font-size: 23px;
  }

  .ms-home-themes__intro {
    font-size: 13.5px;
    line-height: 1.8;
  }

  /*
    スマホも2列。
    12テーマでも縦に長くなりすぎないよう、
    テーマ探索をコンパクトに保つ。
  */
  .ms-home-themes__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .ms-home-themes__image {
    aspect-ratio: 4 / 3;
  }

  .ms-home-themes__body {
    padding: 12px 11px 14px;
  }

  .ms-home-themes__category {
    margin-bottom: 5px;
    font-size: 8.5px;
    letter-spacing: 0.05em;
  }

  .ms-home-themes__card h3 {
    margin-bottom: 6px;
    padding-left: 7px;
    font-size: 13.5px;
    line-height: 1.45;
  }

  .ms-home-themes__description {
    display: -webkit-box;
    overflow: hidden;
    font-size: 10.5px;
    line-height: 1.6;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }

  .ms-home-themes__footer {
    margin-top: 16px;
  }

}


/* =========================================================
   VERY SMALL PHONE
   ========================================================= */

@media screen and (max-width: 390px) {

  .ms-home-themes__body {
    padding: 10px 9px 12px;
  }

  .ms-home-themes__category {
    font-size: 8px;
  }

  .ms-home-themes__card h3 {
    padding-left: 6px;
    font-size: 12.5px;
  }

  .ms-home-themes__description {
    font-size: 10px;
  }

}


/* =========================================================
   BLOCK 03 / LINK DECORATION RESET
   ========================================================= */

.ms-home-themes a.ms-home-themes__card,
.ms-home-themes a.ms-home-themes__card:hover,
.ms-home-themes a.ms-home-themes__card:focus,
.ms-home-themes a.ms-home-themes__card:visited,
.ms-home-themes a.ms-home-themes__card *,
.ms-home-themes a.ms-home-themes__card:hover *,
.ms-home-themes a.ms-home-themes__card:focus * {
  color: inherit;
  text-decoration: none !important;
}

/* =========================================================
   MINASHIRUBE HOME
   BLOCK 04 / FEATURED RESEARCH
   ========================================================= */

.ms-home-featured {
  width: 100%;
  max-width: var(--ms-content-wide);
  margin: 0 auto var(--ms-home-gap-pc);
  color: var(--ms-navy);
}


/* ---------- HEADER ---------- */

.ms-home-featured__header {
  display: block;
  margin-bottom: var(--ms-home-head-gap);
}

.ms-home-featured__eyebrow {
  display: none;
}

.ms-home-featured__title {
  margin: 0;
  padding: 0 0 9px;
  border: 0;
  border-bottom: 1px solid var(--ms-border);
  background: none;
  color: var(--ms-navy);
  font-size: clamp(24px, 2vw, 30px);
  font-weight: 700;
  line-height: 1.45;
}

.ms-home-featured__intro {
  max-width: var(--ms-home-intro-width);
  margin: 10px 0 0;
  color: #4c5962;
  font-size: 14px;
  line-height: 1.8;
}


/* ---------- GRID ---------- */

.ms-home-featured__grid {
  display: grid;
  grid-template-columns: repeat(
    auto-fit,
    minmax(min(100%, 320px), 1fr)
  );
  gap: 20px;
}


/* ---------- CARD ---------- */

.ms-home-featured__card {
  min-width: 0;
  margin: 0;
  overflow: hidden;
  border: 1px solid #dfe4e2;
  background: var(--ms-surface);
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease,
    border-color 0.2s ease;
}

.ms-home-featured__card:hover {
  transform: translateY(-2px);
  border-color: #cbd3d1;
  box-shadow: 0 7px 20px rgba(13, 27, 42, 0.07);
}

.ms-home-featured__link {
  display: block;
  height: 100%;
  color: inherit;
  text-decoration: none;
}


/* ---------- IMAGE ---------- */

.ms-home-featured__image {
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #f2f4f3;
}

.ms-home-featured__image img {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  object-fit: cover;
  transition: transform 0.35s ease;
}

.ms-home-featured__card:hover .ms-home-featured__image img {
  transform: scale(1.025);
}


/* ---------- BODY ---------- */

.ms-home-featured__body {
  padding: 22px 24px 24px;
}

.ms-home-featured__category {
  display: inline-block;
  margin: 0 0 12px;
  padding: 4px 8px;
  background: #f1f4f3;
  color: #526c7b;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.06em;
}

.ms-home-featured__card h3 {
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  color: var(--ms-navy);
  font-size: 20px;
  font-weight: 700;
  line-height: 1.55;
}

.ms-home-featured__card h3 span {
  display: block;
  margin-top: 3px;
}

.ms-home-featured__summary {
  margin: 16px 0 0;
  color: #536069;
  font-size: 13.5px;
  line-height: 1.8;
}

.ms-home-featured__more {
  display: block;
  margin-top: 20px;
  color: #526f80;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.5;
}


/* ---------- FOOTER ---------- */

.ms-home-featured__footer {
  margin-top: 20px;
  text-align: right;
}

.ms-home-featured__footer a {
  color: #526f80;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
}

.ms-home-featured__footer a:hover {
  text-decoration: underline;
}


/* =========================================================
   TABLET
   ========================================================= */

@media screen and (max-width: 1023px) {

  .ms-home-featured {
    margin-bottom: var(--ms-home-gap-tablet);
  }

  .ms-home-featured__header {
    margin-bottom: 16px;
  }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media screen and (max-width: 767px) {

  .ms-home-featured {
    margin-bottom: var(--ms-home-gap-mobile);
  }

  .ms-home-featured__header {
    margin-bottom: 16px;
  }

  .ms-home-featured__title {
    font-size: 23px;
  }

  .ms-home-featured__intro {
    font-size: 13.5px;
    line-height: 1.8;
  }

  .ms-home-featured__grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .ms-home-featured__body {
    padding: 18px 18px 20px;
  }

  .ms-home-featured__card h3 {
    font-size: 17px;
    line-height: 1.55;
  }

  .ms-home-featured__summary {
    margin-top: 12px;
    font-size: 13px;
  }

  .ms-home-featured__more {
    margin-top: 14px;
  }

}

/* =========================================================
   MINASHIRUBE HOME
   BLOCK 05 / HOW WE CHECK
   ========================================================= */

.ms-home-sources {
  width: 100%;
  max-width: var(--ms-content-wide);
  margin: 0 auto var(--ms-home-gap-pc);
  color: var(--ms-navy);
}


/* ---------- HEADER ---------- */

.ms-home-sources__header {
  display: block;
  margin-bottom: var(--ms-home-head-gap);
}

.ms-home-sources__eyebrow {
  display: none;
}

.ms-home-sources__title {
  margin: 0;
  padding: 0 0 9px;
  border: 0;
  border-bottom: 1px solid var(--ms-border);
  background: none;
  color: var(--ms-navy);
  font-size: clamp(24px, 2vw, 30px);
  font-weight: 700;
  line-height: 1.45;
}

.ms-home-sources__intro {
  max-width: var(--ms-home-intro-width);
  margin: 10px 0 0;
  color: #4c5962;
  font-size: 14px;
  line-height: 1.8;
}


/* ---------- GRID ---------- */

.ms-home-sources__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid #dfe4e2;
  border-left: 1px solid #dfe4e2;
}


/* ---------- CARD ---------- */

.ms-home-sources__card {
  position: relative;
  min-width: 0;
  min-height: 185px;
  padding: 28px 28px 30px;
  border-right: 1px solid #dfe4e2;
  border-bottom: 1px solid #dfe4e2;
  background: var(--ms-surface);
}

.ms-home-sources__card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 100%;
  background: var(--ms-navy);
}

.ms-home-sources__code {
  margin: 0 0 20px;
  color: #667983;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.12em;
}

.ms-home-sources__card h3 {
  margin: 0 0 12px;
  padding: 0;
  border: 0;
  background: none;
  color: var(--ms-navy);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
}

.ms-home-sources__card > p:last-child {
  margin: 0;
  color: #4d5a63;
  font-size: 13.5px;
  line-height: 1.85;
}


/* ---------- 4 ACCENT COLORS ---------- */

.ms-home-sources__card--primary::before {
  background: var(--ms-navy);
}

.ms-home-sources__card--third::before {
  background: #617b8b;
}

.ms-home-sources__card--analysis::before {
  background: #d99a2b;
}

.ms-home-sources__card--field::before {
  background: #7a9b7b;
}


/* ---------- FOOTER ---------- */

.ms-home-sources__footer {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: center;
  margin-top: 20px;
  padding: 18px 20px;
  background: #f7f8f6;
  border-left: 3px solid var(--ms-navy);
}

.ms-home-sources__footer p {
  margin: 0;
  color: #536069;
  font-size: 13px;
  line-height: 1.7;
}

.ms-home-sources__footer a {
  flex: 0 0 auto;
  color: #526f80;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
}

.ms-home-sources__footer a:hover {
  text-decoration: underline;
}


/* =========================================================
   TABLET
   ========================================================= */

@media screen and (max-width: 1023px) {

  .ms-home-sources {
    margin-bottom: var(--ms-home-gap-tablet);
  }

  .ms-home-sources__header {
    margin-bottom: 16px;
  }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media screen and (max-width: 767px) {

  .ms-home-sources {
    margin-bottom: var(--ms-home-gap-mobile);
  }

  .ms-home-sources__header {
    margin-bottom: 16px;
  }

  .ms-home-sources__title {
    font-size: 23px;
  }

  .ms-home-sources__intro {
    font-size: 13.5px;
    line-height: 1.8;
  }

  .ms-home-sources__intro br {
    display: none;
  }

  .ms-home-sources__grid {
    grid-template-columns: 1fr;
  }

  .ms-home-sources__card {
    min-height: 0;
    padding: 22px 20px 24px;
  }

  .ms-home-sources__code {
    margin-bottom: 13px;
    font-size: 9px;
  }

  .ms-home-sources__card h3 {
    margin-bottom: 8px;
    font-size: 16px;
  }

  .ms-home-sources__card > p:last-child {
    font-size: 13px;
    line-height: 1.8;
  }

  .ms-home-sources__footer {
    display: block;
    padding: 16px 18px;
  }

  .ms-home-sources__footer a {
    display: inline-block;
    margin-top: 10px;
  }

}

/* =========================================================
   MINASHIRUBE HOME
   BLOCK 06 / LATEST ARTICLES
   WordPress Query Loop
   ========================================================= */

.ms-home-latest {
  width: 100%;
  max-width: var(--ms-content-wide);
  margin: 0 auto var(--ms-home-gap-pc);
  color: var(--ms-navy);
}


/* ---------- SECTION LABEL ---------- */

.ms-home-latest > p:first-child {
  display: none;
}


/* ---------- TITLE ---------- */

.ms-home-latest > h2 {
  margin: 0;
  padding: 0 0 9px;
  border: 0;
  border-bottom: 1px solid var(--ms-border);
  background: none;
  color: var(--ms-navy);
  font-size: clamp(24px, 2vw, 30px);
  font-weight: 700;
  line-height: 1.45;
}


/* ---------- INTRO ---------- */

.ms-home-latest > h2 + p {
  max-width: var(--ms-home-intro-width);
  margin: 10px 0 22px;
  color: #59666e;
  font-size: 13.5px;
  line-height: 1.8;
}


/* =========================================================
   QUERY LOOP
   ========================================================= */

.ms-home-latest .wp-block-query {
  margin: 0;
}


/* ---------- POST LIST ---------- */

.ms-home-latest .wp-block-post-template {
  margin: 0;
  padding: 0;
  list-style: none;
}


/* ---------- EACH POST ---------- */

.ms-home-latest .wp-block-post {
  position: relative;
  margin: 0;
  padding: 22px 4px 24px;
  border-bottom: 1px solid #e1e5e3;
}


/* 最初の記事の上にも細い線を入れる */

.ms-home-latest .wp-block-post:first-child {
  border-top: 1px solid #e1e5e3;
}


/* ---------- POST TITLE ---------- */

.ms-home-latest .wp-block-post-title {
  margin: 0 0 8px;
  padding: 0;
  border: 0;
  background: none;
  color: #172733;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.55;
}

.ms-home-latest .wp-block-post-title a {
  color: inherit;
  text-decoration: none;
}

.ms-home-latest .wp-block-post-title a:hover {
  color: #516d7d;
  text-decoration: none;
}


/* ---------- DATE ---------- */

.ms-home-latest .wp-block-post-date {
  margin: 0 0 8px;
  color: #89949a;
  font-size: 10.5px;
  line-height: 1.5;
  letter-spacing: 0.03em;
}

.ms-home-latest .wp-block-post-date a {
  color: inherit;
  text-decoration: none;
}


/* ---------- EXCERPT ---------- */

.ms-home-latest .wp-block-post-excerpt {
  margin: 0;
}

.ms-home-latest .wp-block-post-excerpt__excerpt {
  margin: 0;
  color: #66727a;
  font-size: 12.5px;
  line-height: 1.8;
}


/* WordPressが「続きを読む」を自動表示した場合 */

.ms-home-latest .wp-block-post-excerpt__more-text {
  margin: 8px 0 0;
}

.ms-home-latest .wp-block-post-excerpt__more-link {
  color: #516d7d;
  font-size: 11px;
  font-weight: 600;
  text-decoration: none;
}

.ms-home-latest .wp-block-post-excerpt__more-link:hover {
  text-decoration: underline;
}


/* ---------- FOOTER LINK ---------- */

.ms-home-latest .ms-home-latest__footer {
  margin-top: 18px;
  text-align: right;
}

.ms-home-latest .ms-home-latest__footer a {
  color: #516d7d;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
}

.ms-home-latest .ms-home-latest__footer a:hover {
  text-decoration: underline;
}


/* =========================================================
   TABLET
   ========================================================= */

@media screen and (max-width: 1023px) {

  .ms-home-latest {
    margin-bottom: var(--ms-home-gap-tablet);
  }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media screen and (max-width: 767px) {

  .ms-home-latest {
    margin-bottom: var(--ms-home-gap-mobile);
  }

  .ms-home-latest > h2 {
    font-size: 23px;
  }

  .ms-home-latest > h2 + p {
    margin-top: 12px;
    margin-bottom: 20px;
    font-size: 13px;
    line-height: 1.75;
  }

  .ms-home-latest .wp-block-post {
    padding: 18px 2px 20px;
  }

  .ms-home-latest .wp-block-post-title {
    margin-bottom: 7px;
    font-size: 16px;
    line-height: 1.55;
  }

  .ms-home-latest .wp-block-post-date {
    margin-bottom: 7px;
    font-size: 10px;
  }

  .ms-home-latest .wp-block-post-excerpt__excerpt {
    display: -webkit-box;
    overflow: hidden;
    font-size: 11.5px;
    line-height: 1.7;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

}

/* =========================================================
   MINASHIRUBE HOME
   BLOCK 07 / ABOUT
   ========================================================= */

.ms-home-about {
  width: 100%;
  max-width: var(--ms-content-wide);
  margin: 0 auto var(--ms-home-gap-pc);
  padding: clamp(42px, 5vw, 60px) clamp(28px, 5vw, 64px);
  background: #f5f3ed;
  border: 0;
  color: var(--ms-navy);
}


/* ---------- EYEBROW ---------- */

.ms-home-about__eyebrow {
  display: none;
}


/* ---------- TITLE ---------- */

.ms-home-about__title {
  max-width: 760px;
  margin: 0 0 28px !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  color: var(--ms-navy);
  font-size: clamp(28px, 3vw, 40px);
  font-weight: 700;
  line-height: 1.55;
  letter-spacing: 0.01em;
}


/* ---------- TEXT ---------- */

.ms-home-about__text {
  max-width: 680px;
  margin: 0 !important;
  color: #43515b;
  font-size: 15px;
  line-height: 2;
  white-space: normal;
}


/* ---------- BUTTON ---------- */

.ms-home-about__button {
  margin-top: 28px !important;
}

.ms-home-about__button .wp-block-button__link {
  padding: 11px 20px;
  border: 1px solid var(--ms-navy);
  border-radius: 3px;
  background: var(--ms-navy);
  color: var(--ms-surface);
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  box-shadow: none;
}

.ms-home-about__button .wp-block-button__link:hover {
  background: transparent;
  color: var(--ms-navy);
}


/* =========================================================
   MOBILE
   ========================================================= */

@media screen and (max-width: 767px) {

  .ms-home-about {
    margin-bottom: var(--ms-home-gap-mobile);
    padding: 38px 22px 40px;
  }

  .ms-home-about__eyebrow {
    margin-bottom: 11px !important;
    font-size: 10px;
  }

  .ms-home-about__title {
    margin-bottom: 20px !important;
    font-size: 25px;
    line-height: 1.55;
  }

  .ms-home-about__text {
    font-size: 13.5px;
    line-height: 1.9;
  }

  .ms-home-about__button {
    margin-top: 22px !important;
  }

}

/* ==================================================
   20. Static Pages
   トップ以外の固定ページだけに適用
   ================================================== */

.page:not(.home) .entry-header,
.page:not(.home) .entry-content {
  width: 100%;
  max-width: var(--ms-fixed-reading);
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}

.page:not(.home) .entry-title {
  margin: 0 0 28px;
  padding: 0;
  color: var(--ms-navy);
  font-size: clamp(27px, 3vw, 32px);
  line-height: 1.45;
  font-weight: 700;
}

.page:not(.home) .entry-content {
  color: var(--ms-text);
  font-size: 16px;
  line-height: 1.84;
}

.page:not(.home) .entry-content h2 {
  margin: 46px 0 18px;
  padding: 0 0 8px;
  color: var(--ms-navy);
  background: transparent;
  font-size: clamp(22px, 2.4vw, 26px);
  line-height: 1.5;
  border: 0;
  border-bottom: 1px solid #D3D9D7;
}

.page:not(.home) .entry-content h3 {
  position: relative;
  margin: 25px 0 7px;
  padding: 0 0 0 15px;
  color: var(--ms-navy) !important;
  background: transparent;
  font-size: 18px;
  line-height: 1.55;
  border: 0;
}

.page:not(.home) .entry-content h3::before {
  content: "";
  display: block !important;
  position: absolute;
  left: 0;
  top: 0.34em;
  width: 3px !important;
  height: 1.05em !important;
  background: var(--ms-navy);
  border-radius: 1px;
}

/* 固定ページ本文のみ、見出し配下を軽くインデント */
.page:not(.home) .entry-content p {
  margin-top: 0;
  margin-bottom: 16px;
  padding-left: 15px;
  color: var(--ms-text);
  font-size: 16px;
  line-height: 1.84;
}

.page:not(.home) .entry-content li {
  color: var(--ms-text);
  font-size: 16px;
  line-height: 1.8;
}

.page:not(.home) .sns-share,
.page:not(.home) .sns-follow,
.page:not(.home) .toc,
.page:not(.home) .date-tags,
.page:not(.home) .post-date,
.page:not(.home) .post-update {
  display: none !important;
}

@media screen and (max-width: 781px) {
  .page:not(.home) .entry-header,
  .page:not(.home) .entry-content {
    max-width: none;
  }

  .page:not(.home) .entry-title {
    margin-bottom: 24px;
    font-size: 26px;
  }

  .page:not(.home) .entry-content,
  .page:not(.home) .entry-content p,
  .page:not(.home) .entry-content li {
    font-size: 15.5px;
    line-height: 1.82;
  }

  .page:not(.home) .entry-content h2 {
    margin-top: 38px;
    font-size: 22px;
  }

  .page:not(.home) .entry-content h3 {
    margin-top: 22px;
    font-size: 17px;
  }

  .page:not(.home) .entry-content p {
    padding-left: 14px;
  }
}

/* ==================================================
   30–40. Articles / Article Components
   通常投稿の表示定義は css/article-v3.4.0.css へ移管済み。
   共通CSSにはサイトシェル／共通レイアウトのみを残す。
   ================================================== */

/* ==================================================
   55. Editorial Policy — Custom HTML
   /editorial-policy/ (page-id-117)
   Cocoon = site shell / Custom HTML = brand page
   ================================================== */

body.page-id-117 .entry-header {
  display: none !important;
}

body.page-id-117 #main,
body.page-id-117 #main .article,
body.page-id-117 .entry-content {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}

body.page-id-117 .entry-content > * {
  max-width: none !important;
}

.ms-policy-page {
  --policy-rule: var(--ms-border);
  --policy-ink-soft: #46535C;

  width: 100%;
  color: var(--ms-text);
  font-family: var(--ms-font-sans);
}

.ms-policy-page *,
.ms-policy-page *::before,
.ms-policy-page *::after {
  box-sizing: border-box;
}

.ms-policy-page h1,
.ms-policy-page h2,
.ms-policy-page h3,
.ms-policy-page p,
.ms-policy-page ul,
.ms-policy-page ol {
  margin-top: 0;
}

.ms-policy-page a {
  color: var(--ms-bluegray);
  text-underline-offset: 0.16em;
}


/* ---------- Hero ---------- */

.ms-policy-hero {
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(420px, 1.18fr);
  column-gap: 64px;
  align-items: end;

  margin: 0 0 26px;
  padding: 58px 0 54px;
  border-top: 4px solid var(--ms-navy);
  border-bottom: 1px solid var(--policy-rule);
}

.ms-policy-eyebrow {
  margin-bottom: 14px !important;
  color: var(--ms-bluegray);
  font-size: 11px;
  line-height: 1.4;
  font-weight: 700;
  letter-spacing: 0.14em;
}

.ms-policy-hero h1 {
  margin-bottom: 0 !important;
  color: var(--ms-navy);
  font-size: clamp(36px, 4vw, 50px);
  line-height: 1.22;
  letter-spacing: 0.01em;
}

.ms-policy-hero-copy {
  padding-bottom: 3px;
}

.ms-policy-lead {
  max-width: 720px;
  margin-bottom: 10px !important;
  color: var(--policy-ink-soft);
  font-size: 16px;
  line-height: 1.86;
}

.ms-policy-lead:last-child {
  margin-bottom: 0 !important;
}



/* ---------- Visuals ---------- */

.ms-policy-visual {
  margin: 0;
  border: 1px solid var(--policy-rule);
  background: #F7F8F7;
  overflow: hidden;
}

.ms-policy-visual img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
}

/* Hero直下：ブランド世界観を見せる横長ビジュアル */
.ms-policy-visual-hero {
  aspect-ratio: 16 / 7;
  margin: 0 0 34px;
}

.ms-policy-visual-hero img {
  object-position: center center;
}

/* 情報源セクション：4情報源の図解 */
.ms-policy-visual-sources {
  aspect-ratio: 16 / 7;
  margin: 0 0 28px;
}

.ms-policy-visual-sources img {
  object-position: center center;
}

/* 運用セクション：広告・AI・更新・修正 */
.ms-policy-visual-operations {
  width: min(100%, 880px);
  aspect-ratio: 16 / 7;
  margin: 0 auto 30px;
}

.ms-policy-visual-operations img {
  object-position: center center;
}


/* ---------- Shared section ---------- */

.ms-policy-section {
  padding: 48px 0 54px;
  border-bottom: 1px solid var(--policy-rule);
}

.ms-policy-section-head {
  display: grid;
  grid-template-columns: 148px minmax(0, 1fr);
  column-gap: 28px;
  align-items: start;
  margin-bottom: 28px;
}

.ms-policy-section-index {
  padding-top: 5px;
  color: var(--ms-warmgray);
  font-size: 11px;
  line-height: 1.45;
  font-weight: 700;
  letter-spacing: 0.1em;
  white-space: normal;
  overflow-wrap: normal;
  word-break: normal;
}

.ms-policy-section-title {
  max-width: 860px;
}

.ms-policy-section-title h2 {
  margin-bottom: 9px !important;
  padding: 0 !important;
  color: var(--ms-navy) !important;
  background: transparent !important;
  border: 0 !important;
  font-size: clamp(26px, 3vw, 34px) !important;
  line-height: 1.38 !important;
}

.ms-policy-section-title p {
  max-width: 760px;
  margin-bottom: 0 !important;
  color: var(--policy-ink-soft);
  font-size: 14.5px;
  line-height: 1.76;
}


/* ---------- 01 Method ---------- */

.ms-policy-method-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid var(--policy-rule);
  border-left: 1px solid var(--policy-rule);
}

.ms-policy-method-card {
  position: relative;
  min-height: 244px;
  padding: 28px 24px 25px;
  border-right: 1px solid var(--policy-rule);
  border-bottom: 1px solid var(--policy-rule);
}

.ms-policy-method-card::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 24px;
  width: 38px;
  height: 4px;
}

.ms-policy-method-card.is-research::before { background: var(--ms-navy); }
.ms-policy-method-card.is-compare::before  { background: var(--ms-bluegray); }
.ms-policy-method-card.is-verify::before   { background: var(--ms-sage); }
.ms-policy-method-card.is-decide::before   { background: var(--ms-gold); }

.ms-policy-method-no {
  margin-bottom: 24px !important;
  color: var(--ms-warmgray);
  font-size: 11px;
  line-height: 1.3;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.ms-policy-method-card h3 {
  margin-bottom: 12px !important;
  padding: 0 !important;
  color: var(--ms-navy) !important;
  background: transparent !important;
  border: 0 !important;
  font-size: 20px !important;
  line-height: 1.4 !important;
}

.ms-policy-method-card h3::before {
  content: none !important;
}

.ms-policy-method-card p:last-child {
  margin-bottom: 0 !important;
  color: var(--ms-text);
  font-size: 14px;
  line-height: 1.75;
}


/* ---------- 02 Sources ---------- */

.ms-policy-source-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--policy-rule);
  border-left: 1px solid var(--policy-rule);
}

.ms-policy-source-card {
  position: relative;
  min-height: 252px;
  padding: 30px 32px 28px 36px;
  border-right: 1px solid var(--policy-rule);
  border-bottom: 1px solid var(--policy-rule);
}

.ms-policy-source-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
}

.ms-policy-source-card.is-primary::before   { background: var(--ms-navy); }
.ms-policy-source-card.is-thirdparty::before{ background: var(--ms-bluegray); }
.ms-policy-source-card.is-analysis::before  { background: var(--ms-gold); }
.ms-policy-source-card.is-field::before     { background: var(--ms-sage); }

.ms-policy-source-code {
  margin-bottom: 10px !important;
  color: var(--ms-warmgray);
  font-size: 11px;
  line-height: 1.3;
  font-weight: 700;
  letter-spacing: 0.1em;
}

.ms-policy-source-card h3 {
  margin-bottom: 10px !important;
  padding: 0 !important;
  color: var(--ms-navy) !important;
  background: transparent !important;
  border: 0 !important;
  font-size: 20px !important;
  line-height: 1.42 !important;
}

.ms-policy-source-card h3::before {
  content: none !important;
}

.ms-policy-source-card p {
  margin-bottom: 10px !important;
  color: var(--ms-text);
  font-size: 14px;
  line-height: 1.72;
}

.ms-policy-source-card ul {
  margin: 10px 0 0;
  padding-left: 1.3em;
}

.ms-policy-source-card li {
  margin-bottom: 5px;
  padding-left: 0 !important;
  font-size: 13.5px;
  line-height: 1.65;
}


/* ---------- 03 Principles ---------- */

.ms-policy-principles-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--policy-rule);
  border-left: 1px solid var(--policy-rule);
  background: #FBFCFB;
}

.ms-policy-principle {
  position: relative;
  min-height: 116px;
  padding: 24px 24px 22px 70px;
  border-right: 1px solid var(--policy-rule);
  border-bottom: 1px solid var(--policy-rule);
  background: rgba(255,255,255,0.62);
}

.ms-policy-principle:nth-child(3n + 2) {
  background: rgba(238,243,239,0.28);
}

.ms-policy-principle-no {
  position: absolute;
  top: 23px;
  left: 22px;
  color: var(--ms-sage);
  font-size: 18px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.ms-policy-principle p {
  margin-bottom: 0 !important;
  color: var(--ms-text);
  font-size: 14px;
  line-height: 1.64;
}


/* ---------- 04 Operations ---------- */

.ms-policy-operation-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--policy-rule);
  border-left: 1px solid var(--policy-rule);
}

.ms-policy-operation-card {
  min-height: 214px;
  padding: 30px 32px 28px;
  border-right: 1px solid var(--policy-rule);
  border-bottom: 1px solid var(--policy-rule);
}

.ms-policy-operation-card h3 {
  margin-bottom: 12px !important;
  padding: 0 !important;
  color: var(--ms-navy) !important;
  background: transparent !important;
  border: 0 !important;
  font-size: 19px !important;
  line-height: 1.42 !important;
}

.ms-policy-operation-card h3::before {
  content: none !important;
}

.ms-policy-operation-card p {
  margin-bottom: 9px !important;
  color: var(--ms-text);
  font-size: 14px;
  line-height: 1.72;
}


/* ---------- Closing ---------- */

.ms-policy-closing {
  padding: 74px 0 80px;
  text-align: center;
}

.ms-policy-closing-kicker {
  margin-bottom: 14px !important;
  color: var(--ms-bluegray);
  font-size: 11px;
  line-height: 1.4;
  font-weight: 700;
  letter-spacing: 0.14em;
}

.ms-policy-closing-copy {
  max-width: 800px;
  margin: 0 auto 13px !important;
  color: var(--ms-navy);
  font-size: clamp(26px, 3vw, 38px);
  line-height: 1.46;
  font-weight: 700;
}

.ms-policy-closing-sub {
  max-width: 720px;
  margin: 0 auto !important;
  color: var(--policy-ink-soft);
  font-size: 14.5px;
  line-height: 1.78;
}


/* ---------- Responsive ---------- */

@media screen and (max-width: 1023px) {
  .ms-policy-hero {
    grid-template-columns: 1fr;
    row-gap: 24px;
    padding: 42px 0 40px;
  }

  .ms-policy-hero-copy {
    padding-bottom: 0;
  }

  .ms-policy-section-head {
    grid-template-columns: 1fr;
    row-gap: 8px;
  }

  .ms-policy-method-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ms-policy-principles-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ms-policy-principle:nth-child(3n + 2) {
    background: rgba(255,255,255,0.62);
  }

  .ms-policy-principle:nth-child(even) {
    background: rgba(238,243,239,0.28);
  }
}

@media screen and (max-width: 680px) {

  .ms-policy-visual-hero,
  .ms-policy-visual-sources,
  .ms-policy-visual-operations {
    aspect-ratio: 4 / 3;
  }

  

  

  .ms-policy-method-grid,
  .ms-policy-source-grid,
  .ms-policy-principles-grid,
  .ms-policy-operation-grid {
    grid-template-columns: 1fr;
  }

  .ms-policy-method-card,
  .ms-policy-source-card,
  .ms-policy-principle,
  .ms-policy-operation-card {
    min-height: 0;
  }

  .ms-policy-principle,
  .ms-policy-principle:nth-child(even),
  .ms-policy-principle:nth-child(3n + 2) {
    background: rgba(255,255,255,0.7);
  }

  
}



/* ==================================================
   Policy Responsive Final Tuning
   ================================================== */

@media screen and (max-width: 680px) {
.ms-policy-hero {
    row-gap: 18px !important;
    padding: 34px 0 32px !important;
  }

  .ms-policy-hero h1 {
    font-size: 28px !important;
  }

  .ms-policy-lead {
    font-size: 15px !important;
    line-height: 1.78 !important;
  }

  .ms-policy-section {
    padding: 32px 0 36px !important;
  }

  .ms-policy-section-index {
    font-size: 10.5px !important;
  }

  .ms-policy-section-title h2 {
    font-size: 24px !important;
  }

  .ms-policy-section-title p {
    font-size: 14px !important;
    line-height: 1.74 !important;
  }

  /* Heroは中央モチーフを残して4:3、説明図は切らずに全体を見せる */
  .ms-policy-visual-hero {
    aspect-ratio: 4 / 3 !important;
  }

  .ms-policy-visual-sources,
  .ms-policy-visual-operations {
    aspect-ratio: auto !important;
  }

  .ms-policy-visual-sources img,
  .ms-policy-visual-operations img {
    height: auto !important;
    object-fit: contain !important;
  }

  .ms-policy-method-card {
    padding: 22px 18px 21px !important;
  }

  .ms-policy-source-card {
    padding: 22px 18px 21px 24px !important;
  }

  .ms-policy-operation-card {
    padding: 22px 20px 21px !important;
  }

  .ms-policy-principle {
    padding: 21px 18px 20px 58px !important;
  }

  .ms-policy-principle-no {
    top: 20px !important;
    left: 18px !important;
    font-size: 17px !important;
  }

  .ms-policy-closing {
    padding: 44px 0 50px !important;
  }
}

/* ==================================================
   56. About Minashirube — Custom HTML
   /about/
   Cocoon = site shell / Custom HTML = brand story page
   ================================================== */

body:has(.ms-about-page) .entry-header {
  display: none !important;
}

body:has(.ms-about-page) #main,
body:has(.ms-about-page) #main .article,
body:has(.ms-about-page) .entry-content {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}

body:has(.ms-about-page) .entry-content > * {
  max-width: none !important;
}

.ms-about-page {
  --about-rule: var(--ms-border);
  --about-soft-text: #46535C;
  --about-pale: #F6F8F7;
  --about-warm: #FBF8F1;

  width: 100%;
  color: var(--ms-text);
  font-family: var(--ms-font-sans);
}

.ms-about-page *,
.ms-about-page *::before,
.ms-about-page *::after {
  box-sizing: border-box;
}

.ms-about-page h1,
.ms-about-page h2,
.ms-about-page h3,
.ms-about-page p {
  margin-top: 0;
}


/* ---------- Hero ---------- */

.ms-about-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.92fr);
  column-gap: 64px;
  align-items: center;

  padding: 58px 0 62px;
  border-top: 4px solid var(--ms-navy);
  border-bottom: 1px solid var(--about-rule);
}

.ms-about-hero-main {
  min-width: 0;
}

.ms-about-eyebrow {
  margin-bottom: 16px !important;
  color: var(--ms-bluegray);
  font-size: 11px;
  line-height: 1.4;
  font-weight: 700;
  letter-spacing: 0.14em;
}

.ms-about-hero h1 {
  max-width: 680px;
  margin-bottom: 24px !important;
  color: var(--ms-navy);
  font-size: clamp(38px, 4vw, 54px);
  line-height: 1.28;
  letter-spacing: 0.01em;
}

.ms-about-hero-copy {
  max-width: 670px;
}

.ms-about-hero-copy p {
  margin-bottom: 10px !important;
  color: var(--about-soft-text);
  font-size: 16px;
  line-height: 1.88;
}

.ms-about-hero-copy p:last-child {
  margin-bottom: 0 !important;
}

/* ---------- Hero visual: abstract information beacon ---------- */

.ms-about-beacon {
  position: relative;
  width: 100%;
  min-height: 350px;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 50%, rgba(122,155,131,0.10), transparent 34%),
    linear-gradient(180deg, #FFFFFF 0%, #F7F9F8 100%);
  border: 1px solid var(--about-rule);
}

.ms-about-beacon::before {
  content: "";
  position: absolute;
  width: 190px;
  height: 190px;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -43%);
  border: 1px solid rgba(122,155,131,0.50);
  border-radius: 50% 50% 46% 46%;
}

.ms-about-beacon::after {
  content: "";
  position: absolute;
  width: 4px;
  height: 170px;
  left: 50%;
  top: 84px;
  transform: translateX(-50%);
  background: var(--ms-navy);
}

.ms-about-beacon-light {
  position: absolute;
  left: calc(50% + 4px);
  top: 77px;
  width: 210px;
  height: 70px;
  background: linear-gradient(90deg, rgba(230,162,60,0.28), rgba(230,162,60,0));
  clip-path: polygon(0 42%, 100% 0, 100% 100%);
}

.ms-about-beacon-base {
  position: absolute;
  left: 50%;
  top: 232px;
  width: 92px;
  height: 26px;
  transform: translateX(-50%);
  border-bottom: 3px solid var(--ms-sage);
  border-radius: 0 0 50% 50%;
}

.ms-about-beacon-dot {
  position: absolute;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--ms-bluegray);
  opacity: 0.74;
}

.ms-about-beacon-dot.is-gold {
  background: var(--ms-gold);
}

.ms-about-beacon-dot:nth-child(1) { left: 16%; top: 28%; }
.ms-about-beacon-dot:nth-child(2) { left: 22%; top: 63%; }
.ms-about-beacon-dot:nth-child(3) { left: 32%; top: 18%; }
.ms-about-beacon-dot:nth-child(4) { left: 35%; top: 76%; }
.ms-about-beacon-dot:nth-child(5) { right: 34%; top: 19%; }
.ms-about-beacon-dot:nth-child(6) { right: 27%; top: 69%; }
.ms-about-beacon-dot:nth-child(7) { right: 18%; top: 30%; }
.ms-about-beacon-dot:nth-child(8) { right: 14%; top: 62%; }


/* ---------- Shared section ---------- */

.ms-about-section {
  padding: 56px 0 62px;
  border-bottom: 1px solid var(--about-rule);
}

.ms-about-section-head {
  display: grid;
  grid-template-columns: 148px minmax(0, 1fr);
  column-gap: 28px;
  align-items: start;
  margin-bottom: 30px;
}

.ms-about-section-index {
  padding-top: 5px;
  color: var(--ms-warmgray);
  font-size: 11px;
  line-height: 1.45;
  font-weight: 700;
  letter-spacing: 0.1em;
}

.ms-about-section-title h2 {
  max-width: 860px;
  margin-bottom: 10px !important;
  padding: 0 !important;
  color: var(--ms-navy) !important;
  background: transparent !important;
  border: 0 !important;
  font-size: clamp(27px, 3vw, 36px) !important;
  line-height: 1.38 !important;
}

.ms-about-section-title p {
  max-width: 780px;
  margin-bottom: 0 !important;
  color: var(--about-soft-text);
  font-size: 15px;
  line-height: 1.8;
}


/* ---------- 01 Why ---------- */

.ms-about-problem {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  align-items: stretch;
  border-top: 1px solid var(--about-rule);
  border-left: 1px solid var(--about-rule);
}

.ms-about-problem-step {
  position: relative;
  min-height: 150px;
  padding: 28px 22px 24px;
  border-right: 1px solid var(--about-rule);
  border-bottom: 1px solid var(--about-rule);
}

.ms-about-problem-step.is-minashirube {
  background: var(--about-pale);
}

.ms-about-problem-step.is-result {
  background: var(--about-warm);
}

.ms-about-problem-no {
  margin-bottom: 18px !important;
  color: var(--ms-warmgray);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
}

.ms-about-problem-step h3 {
  margin-bottom: 8px !important;
  padding: 0 !important;
  color: var(--ms-navy) !important;
  background: transparent !important;
  border: 0 !important;
  font-size: 17px !important;
  line-height: 1.45 !important;
}

.ms-about-problem-step h3::before {
  content: none !important;
}

.ms-about-problem-step p:last-child {
  margin-bottom: 0 !important;
  color: var(--ms-text);
  font-size: 13.5px;
  line-height: 1.68;
}


/* ---------- 02 What we do ---------- */

.ms-about-actions {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid var(--about-rule);
  border-left: 1px solid var(--about-rule);
}

.ms-about-action {
  position: relative;
  min-height: 220px;
  padding: 30px 26px 28px;
  border-right: 1px solid var(--about-rule);
  border-bottom: 1px solid var(--about-rule);
}

.ms-about-action::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 26px;
  width: 36px;
  height: 4px;
}

.ms-about-action:nth-child(1)::before { background: var(--ms-navy); }
.ms-about-action:nth-child(2)::before { background: var(--ms-bluegray); }
.ms-about-action:nth-child(3)::before { background: var(--ms-sage); }
.ms-about-action:nth-child(4)::before { background: var(--ms-gold); }

.ms-about-action-no {
  margin-bottom: 22px !important;
  color: var(--ms-warmgray);
  font-size: 11px;
  font-weight: 700;
}

.ms-about-action h3 {
  margin-bottom: 11px !important;
  padding: 0 !important;
  color: var(--ms-navy) !important;
  background: transparent !important;
  border: 0 !important;
  font-size: 20px !important;
  line-height: 1.4 !important;
}

.ms-about-action h3::before {
  content: none !important;
}

.ms-about-action p:last-child {
  margin-bottom: 0 !important;
  font-size: 14px;
  line-height: 1.72;
}


/* ---------- 03 Name ---------- */

.ms-about-name-stage {
  display: grid;
  grid-template-columns: 1fr 72px 1fr;
  align-items: center;
  gap: 28px;
  margin-top: 8px;
}

.ms-about-name-card {
  min-height: 230px;
  padding: 38px 36px 34px;
  border: 1px solid var(--about-rule);
  background: #FFFFFF;
}

.ms-about-name-card.is-primary {
  border-top: 4px solid var(--ms-navy);
}

.ms-about-name-card.is-secondary {
  border-top: 4px solid var(--ms-sage);
}

.ms-about-name-label {
  margin-bottom: 18px !important;
  color: var(--ms-warmgray);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.ms-about-name-card h3 {
  margin-bottom: 18px !important;
  padding: 0 !important;
  color: var(--ms-navy) !important;
  background: transparent !important;
  border: 0 !important;
  font-size: clamp(24px, 2.4vw, 32px) !important;
  line-height: 1.42 !important;
}

.ms-about-name-card h3::before {
  content: none !important;
}

.ms-about-name-card p:last-child {
  margin-bottom: 0 !important;
  color: var(--about-soft-text);
  font-size: 14px;
  line-height: 1.75;
}

.ms-about-name-plus {
  color: var(--ms-gold);
  text-align: center;
  font-size: 30px;
  line-height: 1;
  font-weight: 300;
}


/* ---------- 04 Symbol ---------- */

.ms-about-symbol {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 48px;
  align-items: center;
}

.ms-about-symbol-copy p {
  margin-bottom: 12px !important;
  color: var(--about-soft-text);
  font-size: 15px;
  line-height: 1.82;
}

.ms-about-symbol-points {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--about-rule);
  border-left: 1px solid var(--about-rule);
}

.ms-about-symbol-point {
  min-height: 130px;
  padding: 24px 24px 22px;
  border-right: 1px solid var(--about-rule);
  border-bottom: 1px solid var(--about-rule);
}

.ms-about-symbol-point strong {
  display: block;
  margin-bottom: 6px;
  color: var(--ms-navy);
  font-size: 15px;
}

.ms-about-symbol-point span {
  color: var(--about-soft-text);
  font-size: 13.5px;
  line-height: 1.65;
}


/* ---------- Closing ---------- */

.ms-about-closing {
  padding: 84px 0 90px;
  text-align: center;
}

.ms-about-closing-kicker {
  margin-bottom: 15px !important;
  color: var(--ms-bluegray);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
}

.ms-about-closing-copy {
  max-width: 860px;
  margin: 0 auto 16px !important;
  color: var(--ms-navy);
  font-size: clamp(30px, 3.5vw, 44px);
  line-height: 1.42;
  font-weight: 700;
}

.ms-about-closing-sub {
  max-width: 720px;
  margin: 0 auto !important;
  color: var(--about-soft-text);
  font-size: 15px;
  line-height: 1.8;
}


/* ---------- Responsive ---------- */

@media screen and (max-width: 1023px) {
  .ms-about-hero {
    grid-template-columns: 1fr;
    row-gap: 30px;
    padding: 46px 0 48px;
  }

  .ms-about-hero-main,
  .ms-about-hero-copy {
    max-width: none;
  }

  .ms-about-beacon {
    min-height: 280px;
  }

  .ms-about-section-head {
    grid-template-columns: 1fr;
    row-gap: 8px;
  }

  .ms-about-problem {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ms-about-problem-step:last-child {
    grid-column: 1 / -1;
  }

  .ms-about-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ms-about-name-stage {
    grid-template-columns: 1fr;
  }

  .ms-about-name-plus {
    transform: rotate(90deg);
  }

  .ms-about-symbol {
    grid-template-columns: 1fr;
  }
}

@media screen and (max-width: 680px) {
  

  

  .ms-about-problem,
  .ms-about-actions,
  .ms-about-symbol-points {
    grid-template-columns: 1fr;
  }

  .ms-about-problem-step:last-child {
    grid-column: auto;
  }

  .ms-about-action,
  .ms-about-problem-step,
  .ms-about-symbol-point {
    min-height: 0;
  }

  
}

/* ==================================================
   About Responsive Final Tuning
   ================================================== */

@media screen and (max-width: 680px) {
.ms-about-hero {
    row-gap: 22px !important;
    padding: 36px 0 40px !important;
  }

  .ms-about-hero h1 {
    margin-bottom: 20px !important;
    font-size: 29px !important;
    line-height: 1.34 !important;
  }

  .ms-about-hero-copy p {
    font-size: 15px !important;
    line-height: 1.78 !important;
  }

  .ms-about-beacon {
    min-height: 235px !important;
  }

  .ms-about-section {
    padding: 32px 0 36px !important;
  }

  .ms-about-section-index {
    font-size: 10.5px !important;
  }

  .ms-about-section-title h2 {
    font-size: 24px !important;
  }

  .ms-about-section-title p {
    font-size: 14px !important;
    line-height: 1.74 !important;
  }

  .ms-about-problem-step,
  .ms-about-action {
    padding: 22px 18px 21px !important;
  }

  .ms-about-name-card {
    min-height: 0 !important;
    padding: 28px 22px 26px !important;
  }

  .ms-about-name-card h3 {
    font-size: 24px !important;
  }

  .ms-about-symbol-point {
    padding: 20px 18px 19px !important;
  }

  .ms-about-closing {
    padding: 46px 0 52px !important;
  }

  .ms-about-closing-copy {
    font-size: 28px !important;
  }
}

/* ==================================================
   85. About PC Final Line-Break Tuning
   PCのみ。Heroとセクション見出しの孤立改行を解消する。
   Tablet / Mobile は変更しない。
   ================================================== */

@media screen and (min-width: 1024px) {

  /* Hero:
     左のメッセージ領域を広げ、右ビジュアルを少しだけ圧縮 */
  .ms-about-hero {
    grid-template-columns: minmax(0, 1fr) 380px !important;
    column-gap: 56px !important;
  }

  .ms-about-hero h1 {
    max-width: 740px !important;
    font-size: clamp(42px, 3.2vw, 50px) !important;
    line-height: 1.30 !important;
  }

  .ms-about-hero-copy {
    max-width: 720px !important;
  }

  /* Section heading:
     左インデックスを少し詰め、本文側へ幅を戻す */
  .ms-about-section-head {
    grid-template-columns: 124px minmax(0, 1fr) !important;
    column-gap: 24px !important;
  }

  .ms-about-section-title h2 {
    max-width: 920px !important;
    font-size: 34px !important;
    line-height: 1.40 !important;
  }

  .ms-about-section-title p {
    max-width: 840px !important;
  }
}

/* ==================================================
   60. Index / Archive Pages
   「すべての記事」とカテゴリー一覧を
   画像依存のブログカードではなく編集索引型へ統一
   ================================================== */

/* ---------- Shared shell ---------- */

@media screen and (min-width: 1024px) {

  /*
   * すべての記事：固定ページ ID 247
   * カテゴリー：WordPress category archive
   *
   * どちらもPCは1カラム。
   * 共通サイトシェル1168px / 実使用幅1120pxに揃える。
   */
  .page-id-247 #content-in,
  body.category #content-in {
    display: block !important;
    width: 100% !important;
    max-width: var(--ms-site-shell) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: var(--ms-gutter-pc) !important;
    padding-right: var(--ms-gutter-pc) !important;
    box-sizing: border-box !important;
  }

  .page-id-247 #main,
  .page-id-247 #main .article,
  body.category #main {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  .page-id-247 .sidebar,
  body.category .sidebar {
    display: none !important;
  }
}

/* ---------- All Articles /articles/ ---------- */

/* 通常固定ページの820px制限から、記事索引ページだけ外す */
.page-id-247 .entry-header,
.page-id-247 .entry-content {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* 索引ページでは固定ページ本文用の15pxインデントを使わない */
.page-id-247 .entry-content p {
  padding-left: 0;
}

.page-id-247 .entry-title {
  margin-bottom: 14px;
}

.page-id-247 .entry-content > p:first-child {
  max-width: 760px;
  margin-bottom: 28px;
  color: #5F6870;
  font-size: 14.5px;
  line-height: 1.8;
}

/* Query Loop本体 */
.page-id-247 .wp-block-query {
  width: 100%;
  max-width: none;
  margin: 0;
}

.page-id-247 .wp-block-post-template {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-id-247 .wp-block-post-template > .wp-block-post,
.page-id-247 .wp-block-post > :is(
  .wp-block-post-title,
  .wp-block-post-date,
  .wp-block-post-terms,
  .wp-block-post-excerpt
) {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box;
}

/* 1記事＝カードではなく罫線区切りの索引 */
.page-id-247 .wp-block-post {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 23px 0 25px;
  border-top: 1px solid var(--ms-border);
  box-sizing: border-box;
}

.page-id-247 .wp-block-post:last-child {
  border-bottom: 1px solid var(--ms-border);
}

.page-id-247 .wp-block-post-title {
  width: 100%;
  max-width: none;
  margin: 0 0 8px;
  padding: 0;
  font-size: 20px;
  line-height: 1.52;
}

.page-id-247 .wp-block-post-title a {
  color: var(--ms-navy);
  text-decoration: none;
}

.page-id-247 .wp-block-post-title a:hover {
  text-decoration: underline;
  text-underline-offset: 0.16em;
}

/* 日付・カテゴリー */
.page-id-247 .wp-block-post-date,
.page-id-247 .wp-block-post-terms {
  display: inline-block;
  margin: 0 14px 8px 0;
  color: var(--ms-warmgray);
  font-size: 12px;
  line-height: 1.5;
}

.page-id-247 .wp-block-post-terms a {
  color: var(--ms-bluegray);
  text-decoration: none;
}

/* 骨格段階ではタイトル・メタ・抜粋を同じ索引幅にそろえる */
.page-id-247 .wp-block-post-excerpt {
  width: 100%;
  max-width: none;
  margin: 0;
}

.page-id-247 .wp-block-post-excerpt p {
  margin: 0;
  padding: 0;
  color: var(--ms-text);
  font-size: 14px;
  line-height: 1.75;
}

.page-id-247 .wp-block-post-excerpt__more-text {
  display: none;
}

/* Query Loop pagination */
.page-id-247 .wp-block-query-pagination {
  margin-top: 26px;
  padding-top: 18px;
  border-top: 1px solid var(--ms-border);
}

.page-id-247 .wp-block-query-pagination a {
  color: var(--ms-bluegray);
  text-decoration: none;
}


/* ---------- Category Archives ---------- */

/* Cocoon標準のアーカイブ見出しをサイト見出しへ寄せる */
body.category .archive-title {
  margin: 0 0 24px;
  padding: 0 0 10px;
  color: var(--ms-navy);
  font-size: clamp(27px, 3vw, 32px);
  line-height: 1.45;
  font-weight: 700;
  border-bottom: 1px solid var(--ms-border);
}

/* フォルダーアイコンなどテーマ既定装飾を抑える */
body.category .archive-title .fa,
body.category .archive-title .fas,
body.category .archive-title .far {
  display: none !important;
}

/* Cocoonのカード一覧を縦索引へ */
body.category .list {
  width: 100%;
  max-width: none;
}

body.category .entry-card-wrap {
  display: block;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  border-top: 1px solid var(--ms-border);
  box-shadow: none;
}

body.category .entry-card-wrap:last-child {
  border-bottom: 1px solid var(--ms-border);
}

body.category .entry-card {
  display: block !important;
  width: 100%;
  min-height: 0;
  margin: 0;
  padding: 23px 0 25px;
  background: transparent;
  box-sizing: border-box;
}

/* 画像なし編集索引：NO IMAGE領域も消す */
body.category .entry-card-thumb,
body.category .card-thumb,
body.category .entry-card-wrap figure {
  display: none !important;
}

body.category .entry-card-content {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.category .entry-card-title {
  width: 100%;
  max-width: none;
  margin: 0 0 8px;
  color: var(--ms-navy);
  font-size: 20px;
  line-height: 1.52;
}

body.category .entry-card-snippet {
  width: 100%;
  max-width: none;
  margin: 0;
  color: var(--ms-text);
  font-size: 14px;
  line-height: 1.75;
}

/* メタ情報は静かに */
body.category .entry-card-meta,
body.category .entry-card-info,
body.category .post-date,
body.category .post-update {
  color: var(--ms-warmgray);
  font-size: 12px;
}

/* 一覧のホバーで背景を塗らない */
body.category .entry-card-wrap:hover,
body.category .entry-card-wrap:hover .entry-card {
  background: transparent;
}


/* ---------- Index / Archive Mobile ---------- */

@media screen and (max-width: 1023px) {

  .page-id-247 #content-in,
  body.category #content-in {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding-left: var(--ms-gutter-mobile) !important;
    padding-right: var(--ms-gutter-mobile) !important;
    box-sizing: border-box !important;
  }

  .page-id-247 #main,
  .page-id-247 #main .article,
  body.category #main {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .page-id-247 .sidebar,
  body.category .sidebar {
    display: none !important;
  }

  .page-id-247 .wp-block-post,
  body.category .entry-card {
    padding-top: 19px;
    padding-bottom: 21px;
  }

  .page-id-247 .wp-block-post-title,
  body.category .entry-card-title {
    font-size: 18px;
  }

  .page-id-247 .wp-block-post-excerpt p,
  body.category .entry-card-snippet {
    font-size: 13.5px;
    line-height: 1.72;
  }
}


/* =========================================================
   HOME / THEME CARD SPACING FIX
   v2.2d
   ---------------------------------------------------------
   DevToolsで確認した実DOMに合わせて指定。
   等高カード・画像サイズ・グリッド・ブロック間余白は変更しない。
   ========================================================= */

/* PC / Tablet 共通 */


.home .entry-content .ms-home-themes__category {
  
  margin-block-start: 0 !important;
  margin-block-end: 3px !important;
  
}

.home .entry-content .ms-home-themes__card h3 {
  
  margin-block-start: 0 !important;
  margin-block-end: 5px !important;
  
}

.home .entry-content .ms-home-themes__description {
  
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
  
}

/* Mobile */
@media screen and (max-width: 767px) {
  

  .home .entry-content .ms-home-themes__category {
    margin-bottom: 2px !important;
    margin-block-end: 2px !important;
    line-height: 1.20 !important;
  }

  .home .entry-content .ms-home-themes__card h3 {
    margin-bottom: 4px !important;
    margin-block-end: 4px !important;
    line-height: 1.30 !important;
  }

  .home .entry-content .ms-home-themes__description {
    margin: 0 !important;
    
  }
}


/* =========================================================
   MINASHIRUBE HOME
   v2.2e / TYPOGRAPHY REFINEMENT
   ---------------------------------------------------------
   Top page only.
   HERO is intentionally excluded.
   Layout / margins / paddings / grid / image sizing are unchanged.
   ========================================================= */

/* ---------- Section headings / lead text ---------- */

.home .entry-content .ms-home-method__title,
.home .entry-content .ms-home-themes__title,
.home .entry-content .ms-home-featured__title,
.home .entry-content .ms-home-sources__title,
.home .entry-content .ms-home-latest > h2 {
  line-height: 1.35;
}

.home .entry-content .ms-home-method__intro,
.home .entry-content .ms-home-themes__intro,
.home .entry-content .ms-home-featured__intro,
.home .entry-content .ms-home-sources__intro,
.home .entry-content .ms-home-latest > h2 + p {
  line-height: 1.65;
}


/* ---------- BLOCK 02 / HOW WE RESEARCH ---------- */

.home .entry-content .ms-home-method__number {
  line-height: 1.3;
}






/* ---------- BLOCK 03 / EXPLORE BY THEME ---------- */
/* v2.2d spacing fix is preserved. */








/* ---------- BLOCK 04 / FEATURED RESEARCH ---------- */



.home .entry-content .ms-home-featured__card h3 {
  line-height: 1.45;
}

.home .entry-content .ms-home-featured__summary {
  line-height: 1.60;
}

.home .entry-content .ms-home-featured__more {
  line-height: 1.40;
}


/* ---------- BLOCK 05 / INFORMATION SOURCES ---------- */

.home .entry-content .ms-home-sources__code {
  line-height: 1.30;
}





.home .entry-content .ms-home-sources__footer p {
  line-height: 1.60;
}


/* ---------- BLOCK 06 / LATEST ARTICLES ---------- */








/* ---------- BLOCK 07 / ABOUT ---------- */






/* =========================================================
   MOBILE TYPOGRAPHY
   ========================================================= */

@media screen and (max-width: 767px) {

  .home .entry-content .ms-home-method__intro,
  .home .entry-content .ms-home-themes__intro,
  .home .entry-content .ms-home-featured__intro,
  .home .entry-content .ms-home-sources__intro,
  .home .entry-content .ms-home-latest > h2 + p {
    line-height: 1.60;
  }

  

  .home .entry-content .ms-home-themes__description {
    line-height: 1.42 !important;
  }

  .home .entry-content .ms-home-featured__card h3 {
    line-height: 1.42;
  }

  .home .entry-content .ms-home-featured__summary {
    line-height: 1.58;
  }

  

  

  

  

  
}


/* =========================================================
   MINASHIRUBE HOME
   v2.2l / HERO FINAL
   ---------------------------------------------------------
   Base: v2.2e
   - Remove MINASHIRUBE eyebrow
   - Keep the accepted upper-left copy position
   - Keep the accepted Mincho H1
   - Keep the accepted H1 → lead spacing
   - Apply a strong but seamless upper-left veil
   - Pseudo element covers the full photo to avoid visible edges
   ========================================================= */

/* ---------- COMMON ---------- */

.home .entry-content .ms-home-hero__eyebrow {
  display: none !important;
}

.home .entry-content .ms-home-hero__title {
  margin-bottom: 20px !important;
  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    "Hiragino Mincho Pro",
    "Noto Serif JP",
    serif;
  font-weight: 700;
  line-height: 1.50;
  letter-spacing: 0.05em;
  font-feature-settings: "palt" 1;
}

.home .entry-content .ms-home-hero__lead {
  margin-top: 0 !important;
}

/* ---------- DESKTOP ---------- */

@media screen and (min-width: 1024px) {

  .home .entry-content .ms-home-hero__content {
    
    margin-left: clamp(36px, 4.2vw, 54px);
    padding-top: clamp(48px, 4.7vw, 62px);
    padding-bottom: 0;
    
  }

  /*
   * Important:
   * The pseudo element itself covers the whole photograph.
   * Only the gradient becomes transparent toward the center/right.
   * This prevents the rectangular edge seen in v2.2k.
   */
  
}

/* ---------- TABLET ---------- */

@media screen and (min-width: 768px) and (max-width: 1023px) {

  .home .entry-content .ms-home-hero__content {
    align-self: start;
    
    
    
    transform: none;
  }

  .home .entry-content .ms-home-hero__title {
    margin-bottom: 18px !important;
    
    
  }

  .home .entry-content .ms-home-hero__lead {
    margin-top: 0 !important;
  }

  .home .entry-content .ms-home-hero__media::after {
    content: "";
    position: absolute;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    pointer-events: none;
    background:
      radial-gradient(
        ellipse 74% 82% at 5% 8%,
        rgba(250, 249, 246, 0.99) 0%,
        rgba(250, 249, 246, 0.96) 32%,
        rgba(250, 249, 246, 0.84) 52%,
        rgba(250, 249, 246, 0.56) 68%,
        rgba(250, 249, 246, 0.22) 82%,
        rgba(250, 249, 246, 0) 94%
      ) !important;
  }
}

/* ---------- MOBILE ---------- */

@media screen and (max-width: 767px) {

  .home .entry-content .ms-home-hero__title {
    margin-bottom: 16px !important;
    font-family:
      "Yu Mincho",
      "YuMincho",
      "Hiragino Mincho ProN",
      "Hiragino Mincho Pro",
      "Noto Serif JP",
      serif;
    font-weight: 700;
    line-height: 1.44;
    letter-spacing: 0.02em;
  }

  .home .entry-content .ms-home-hero__lead {
    margin-top: 0 !important;
  }

  /* Mobile keeps copy and photo separated, so no veil is needed. */
  .home .entry-content .ms-home-hero__media::after {
    display: none !important;
  }
}


/* =========================================================
   MINASHIRUBE HOME
   v2.2m / BLOCK 02 "HOW WE RESEARCH" REFINEMENT
   ---------------------------------------------------------
   Base: v2.2l
   - Hide 01–04 numbers
   - Remove the short top color lines
   - Use article-H2-inspired heading treatment:
     colored vertical bar + thin bottom rule
   - Reduce internal card spacing
   - Keep the four-column structure and block spacing
   ========================================================= */

/* ---------- REMOVE REDUNDANT DECORATION ---------- */

.home .entry-content .ms-home-method__line,
.home .entry-content .ms-home-method__number {
  display: none !important;
}


/* ---------- CARD DENSITY ---------- */




/* ---------- CARD HEADING ---------- */

.home .entry-content .ms-home-method__card h3 {
  
  
  
  
  border-bottom: 1px solid #d3d9d7;
  
  
  
  
  
}

.home .entry-content .ms-home-method__card h3::before {
  
  
  
  
  
  
  
  background: var(--ms-navy);
}


/* ---------- PROCESS COLORS ---------- */










/* ---------- BODY COPY ---------- */




/* =========================================================
   TABLET
   ========================================================= */




/* =========================================================
   MOBILE
   ========================================================= */

@media screen and (max-width: 767px) {

  

  

  .home .entry-content .ms-home-method__card h3::before {
    width: 3px;
  }

  
}


/* =========================================================
   MINASHIRUBE HOME
   v2.2n / BLOCK 02 COLORED HEADING REFINEMENT
   ---------------------------------------------------------
   Base: v2.2m
   - Keep 01–04 hidden
   - Keep top accent lines hidden
   - Replace H3 bottom rule with subtle brand-color background
   - Retain the colored vertical accent
   - Restore a little vertical breathing room inside each card
   ========================================================= */

/* ---------- CARD SPACING ---------- */

.home .entry-content .ms-home-method__card {
  padding: 20px 17px 21px;
}


/* ---------- CARD HEADING ---------- */

.home .entry-content .ms-home-method__card h3 {
  position: relative;
  margin: 0 0 12px !important;
  padding: 7px 10px 7px 14px;
  border: 0 !important;
  background: transparent;
  color: var(--ms-navy);
  font-size: 17px;
  font-weight: 700;
  line-height: 1.35;
}

.home .entry-content .ms-home-method__card h3::before {
  content: "";
  position: absolute;
  left: 0;
  
  
  width: 3px;
  border-radius: 0;
}


/* ---------- BRAND-COLOR HEADING BACKGROUNDS ---------- */

.home .entry-content .ms-home-method__card--research h3 {
  background: rgba(13, 27, 42, 0.055);
}

.home .entry-content .ms-home-method__card--research h3::before {
  background: #0d1b2a;
}

.home .entry-content .ms-home-method__card--compare h3 {
  background: rgba(95, 118, 133, 0.09);
}

.home .entry-content .ms-home-method__card--compare h3::before {
  background: #5f7685;
}

.home .entry-content .ms-home-method__card--verify h3 {
  background: rgba(122, 155, 131, 0.11);
}

.home .entry-content .ms-home-method__card--verify h3::before {
  background: #7a9b83;
}

.home .entry-content .ms-home-method__card--decide h3 {
  background: rgba(230, 162, 60, 0.12);
}

.home .entry-content .ms-home-method__card--decide h3::before {
  background: #e6a23c;
}


/* ---------- BODY COPY ---------- */

.home .entry-content .ms-home-method__card > p:last-child {
  margin: 0 !important;
  line-height: 1.58;
}


/* =========================================================
   TABLET
   ========================================================= */

@media screen and (max-width: 1023px) {

  .home .entry-content .ms-home-method__card {
    padding: 18px 16px 19px;
  }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media screen and (max-width: 767px) {

  .home .entry-content .ms-home-method__card {
    padding: 17px 16px 18px;
  }

  .home .entry-content .ms-home-method__card h3 {
    margin-bottom: 10px !important;
    padding: 6px 9px 6px 13px;
    font-size: 16px;
    line-height: 1.34;
  }

  .home .entry-content .ms-home-method__card > p:last-child {
    line-height: 1.56;
  }
}


/* =========================================================
   MINASHIRUBE HOME
   v2.2o / BLOCK 02 + BLOCK 05 REFINEMENT
   ---------------------------------------------------------
   Base: v2.2n

   BLOCK 02
   - Match the colored vertical bar exactly to the H3 background height

   BLOCK 05
   - Hide internal English source codes
   - Reduce card whitespace to match BLOCK 02 density
   - Keep 2x2 grid and left-side brand-color accents
   - Keep header / intro / footer structure unchanged
   ========================================================= */


/* =========================================================
   BLOCK 02 / METHOD
   ========================================================= */

.home .entry-content .ms-home-method__card h3::before {
  top: 0 !important;
  bottom: auto !important;
  height: 100% !important;
}


/* =========================================================
   BLOCK 05 / INFORMATION SOURCES
   ========================================================= */

/* ---------- REMOVE INTERNAL ENGLISH CODES ---------- */

.home .entry-content .ms-home-sources__code {
  display: none !important;
}


/* ---------- CARD DENSITY ---------- */

.home .entry-content .ms-home-sources__card {
  min-height: 0;
  padding: 20px 22px 21px;
}


/* ---------- CARD HEADING ---------- */

.home .entry-content .ms-home-sources__card h3 {
  margin: 0 0 10px !important;
  padding: 0;
  border: 0;
  background: none;
  color: var(--ms-navy);
  font-size: 17px;
  font-weight: 700;
  line-height: 1.38;
}


/* ---------- BODY COPY ---------- */

.home .entry-content .ms-home-sources__card > p:last-child {
  margin: 0 !important;
  color: #4d5a63;
  font-size: 13.5px;
  line-height: 1.60;
}


/* =========================================================
   TABLET
   ========================================================= */

@media screen and (max-width: 1023px) {

  .home .entry-content .ms-home-sources__card {
    padding: 18px 20px 19px;
  }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media screen and (max-width: 767px) {

  .home .entry-content .ms-home-sources__card {
    min-height: 0;
    padding: 17px 18px 18px;
  }

  .home .entry-content .ms-home-sources__card h3 {
    margin-bottom: 8px !important;
    font-size: 16px;
    line-height: 1.36;
  }

  .home .entry-content .ms-home-sources__card > p:last-child {
    font-size: 13px;
    line-height: 1.56;
  }

}


/* =========================================================
   MINASHIRUBE HOME
   v2.2r / BLOCK 05 H3 BAR REMOVAL
   ---------------------------------------------------------
   Base: v2.2o
   - Keep the source-card left accent bars unchanged
   - Remove only the vertical line attached to H3 inside
     "どんな情報を使うのか"
   - Keep all other spacing / typography / grid settings unchanged
   ========================================================= */

.home .entry-content .ms-home-sources__card h3 {
  border-left: 0 !important;
  padding-left: 0 !important;
}

.home .entry-content .ms-home-sources__card h3::before,
.home .entry-content .ms-home-sources__card h3::after {
  content: none !important;
  display: none !important;
}


/* =========================================================
   MINASHIRUBE HOME
   v2.2s / METHOD + SOURCES FOOTER LINKS
   ---------------------------------------------------------
   Base: v2.2r

   - Add a unified footer-link treatment to:
     1) "みなしるべの調べ方"
     2) "どんな情報を使うのか"
   - Keep the footer visually light:
     thin top rule + right-aligned text link
   - No large band / card treatment
   ========================================================= */


/* =========================================================
   BLOCK 02 / METHOD FOOTER
   ========================================================= */

.home .entry-content .ms-home-method__footer {
  margin-top: 14px;
  padding-top: 10px;
  border-top: 1px solid #dde2e0;
  text-align: right;
}

.home .entry-content .ms-home-method__footer a {
  display: inline-block;
  color: #5f7685;
  font-size: 12.5px;
  font-weight: 600;
  line-height: 1.5;
  text-decoration: none;
}

.home .entry-content .ms-home-method__footer a:hover,
.home .entry-content .ms-home-method__footer a:focus-visible {
  color: #0d1b2a;
  text-decoration: underline;
  text-underline-offset: 3px;
}


/* =========================================================
   BLOCK 05 / SOURCES FOOTER
   ========================================================= */

.home .entry-content .ms-home-sources__footer {
  margin-top: 14px;
  padding-top: 10px;
  
  
}






/* =========================================================
   MOBILE
   ========================================================= */

@media screen and (max-width: 767px) {

  .home .entry-content .ms-home-method__footer,
  .home .entry-content .ms-home-sources__footer {
    margin-top: 12px;
    padding-top: 9px;
  }

  .home .entry-content .ms-home-method__footer a,
  .home .entry-content .ms-home-sources__footer a {
    font-size: 12px;
  }
}


/* =========================================================
   MINASHIRUBE HOME
   v2.2t / SOURCES FOOTER RESET
   ---------------------------------------------------------
   Base: v2.2s
   - Reset inherited legacy footer styling in BLOCK 05
   - Remove gray band and left accent line
   - Use only a thin top rule + right-aligned text link
   ========================================================= */

.home .entry-content .ms-home-sources__footer {
  display: block !important;
  margin: 14px 0 0 !important;
  padding: 10px 0 0 !important;

  background: transparent !important;

  border: 0 !important;
  border-left: 0 !important;
  border-right: 0 !important;
  border-bottom: 0 !important;
  border-top: 1px solid #dde2e0 !important;

  text-align: right !important;

  min-height: 0 !important;
  box-shadow: none !important;
}

.home .entry-content .ms-home-sources__footer::before,
.home .entry-content .ms-home-sources__footer::after {
  content: none !important;
  display: none !important;
}

.home .entry-content .ms-home-sources__footer a {
  display: inline-block !important;
  margin: 0 !important;
  padding: 0 !important;

  background: transparent !important;
  border: 0 !important;

  color: #5f7685 !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
  text-decoration: none !important;
}

.home .entry-content .ms-home-sources__footer a:hover,
.home .entry-content .ms-home-sources__footer a:focus-visible {
  color: #0d1b2a !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
}

@media screen and (max-width: 767px) {
  .home .entry-content .ms-home-sources__footer {
    margin-top: 12px !important;
    padding-top: 9px !important;
  }

  .home .entry-content .ms-home-sources__footer a {
    font-size: 12px !important;
  }
}


/* =========================================================
   MINASHIRUBE HOME
   v2.2u / BLOCK 03 "テーマから探す" FINAL REFINEMENT
   ---------------------------------------------------------
   Base: v2.2t
   - Give category labels a subtle neutral background
   - Increase breathing room below descriptions
   - Keep equal card heights and 4-column desktop layout
   - Avoid category-by-category color coding
   ========================================================= */


/* ---------- CARD BODY ---------- */

.home .entry-content .ms-home-themes__body {
  padding: 10px 14px 14px !important;
  gap: 0 !important;
  row-gap: 0 !important;
}


/* ---------- CATEGORY LABEL ---------- */

.home .entry-content .ms-home-themes__category {
  
  
  margin: 0 0 5px !important;
  
  border-radius: 3px;
  background: #eef2f4;
  color: #4f6472;
  font-size: 11px;
  font-weight: 600;
  
  letter-spacing: 0.02em;
}


/* ---------- THEME TITLE ---------- */

.home .entry-content .ms-home-themes__card h3 {
  margin: 0 0 5px !important;
  line-height: 1.30 !important;
}


/* ---------- DESCRIPTION ---------- */

.home .entry-content .ms-home-themes__description {
  margin: 0 !important;
  line-height: 1.45 !important;
}


/* =========================================================
   TABLET
   ========================================================= */

@media screen and (max-width: 1023px) {

  .home .entry-content .ms-home-themes__body {
    padding-bottom: 13px !important;
  }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media screen and (max-width: 767px) {

  .home .entry-content .ms-home-themes__body {
    padding: 10px 12px 13px !important;
  }

  .home .entry-content .ms-home-themes__category {
    padding: 2px 6px 3px;
    
  }
}


/* =========================================================
   MINASHIRUBE HOME
   v2.2v / BLOCK 04 "注目の比較・調査" FINAL REFINEMENT
   ---------------------------------------------------------
   Base: v2.2u
   - Tighten the gap between category label and article title
   - Right-align "記事を読む →" for consistency with other
     homepage footer/action links
   - Keep card structure, image size, title/summary typography
     and overall spacing unchanged
   ========================================================= */


/* ---------- CATEGORY → TITLE SPACING ---------- */

.home .entry-content .ms-home-featured__category {
  margin: 0 0 7px !important;
}


/* ---------- ARTICLE LINK ---------- */

.home .entry-content .ms-home-featured__more {
  display: block;
  width: 100%;
  margin-top: 18px;
  text-align: right;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media screen and (max-width: 767px) {

  .home .entry-content .ms-home-featured__category {
    margin-bottom: 6px !important;
  }

  .home .entry-content .ms-home-featured__more {
    margin-top: 16px;
  }
}


/* =========================================================
   MINASHIRUBE HOME
   v2.2w / BLOCK 04 H3 MARGIN FIX
   ---------------------------------------------------------
   Base: v2.2v
   - Explicitly reset the featured-card H3 top margin
   - Prevent Cocoon / entry-content generic H3 margins from
     overriding the intended category → title spacing
   - Keep all other BLOCK 04 settings unchanged
   ========================================================= */

.home .entry-content .ms-home-featured__card h3 {
  margin: 0 !important;
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
}


/* =========================================================
   MINASHIRUBE HOME
   v2.2x / BLOCK 06 "新着記事" FINAL REFINEMENT
   ---------------------------------------------------------
   Base: v2.2w

   Intended Gutenberg Query Loop structure:
   - Post Featured Image
   - Post Title
   - Post Date
   - Post Excerpt

   Visual order is controlled by CSS:
   thumbnail | date
             | title
             | excerpt

   - Expand the latest section to the same width as other
     homepage sections
   - Use a restrained horizontal editorial list
   - Keep automatic Query Loop behavior
   - Keep "すべての記事を見る →" right-aligned
   ========================================================= */


/* ---------- SECTION WIDTH ---------- */

.home .entry-content .ms-home-latest {
  width: 100% !important;
  max-width: var(--ms-content-wide) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.home .entry-content .ms-home-latest > h2,
.home .entry-content .ms-home-latest > h2 + p,
.home .entry-content .ms-home-latest > .wp-block-query,
.home .entry-content .ms-home-latest > .ms-home-latest__footer {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}


/* ---------- INTRO ---------- */

.home .entry-content .ms-home-latest > h2 + p {
  margin-top: 10px !important;
  margin-bottom: 18px !important;
}


/* ---------- QUERY LOOP WIDTH RESET ---------- */

.home .entry-content .ms-home-latest .wp-block-query,
.home .entry-content .ms-home-latest .wp-block-post-template {
  width: 100% !important;
  max-width: none !important;
}

.home .entry-content .ms-home-latest .wp-block-query > *,
.home .entry-content .ms-home-latest .wp-block-post-template > * {
  max-width: none !important;
}


/* ---------- EACH POST ---------- */

.home .entry-content .ms-home-latest .wp-block-post {
  display: grid !important;
  grid-template-columns: 176px minmax(0, 1fr);
  grid-template-rows: auto auto 1fr;
  column-gap: 22px;
  row-gap: 0;

  margin: 0 !important;
  padding: 18px 0 19px !important;

  border-top: 0 !important;
  border-bottom: 1px solid #dde2e0 !important;
}

.home .entry-content .ms-home-latest .wp-block-post:first-child {
  border-top: 1px solid #dde2e0 !important;
}


/* ---------- THUMBNAIL ---------- */

.home .entry-content .ms-home-latest .wp-block-post-featured-image {
  grid-column: 1;
  grid-row: 1 / span 3;

  align-self: start;

  width: 176px;
  margin: 0 !important;
  overflow: hidden;
  background: #f3f4f2;
}

.home .entry-content .ms-home-latest .wp-block-post-featured-image a {
  display: block;
}

.home .entry-content .ms-home-latest .wp-block-post-featured-image img {
  display: block;
  width: 100% !important;
  height: 108px !important;
  margin: 0 !important;
  object-fit: cover;
}


/* ---------- DATE ---------- */

.home .entry-content .ms-home-latest .wp-block-post-date {
  grid-column: 2;
  grid-row: 1;

  margin: 0 0 5px !important;
  padding: 0 !important;

  color: #89949a;
  font-size: 10.5px;
  line-height: 1.35;
  letter-spacing: 0.03em;
}


/* ---------- TITLE ---------- */

.home .entry-content .ms-home-latest .wp-block-post-title {
  grid-column: 2;
  grid-row: 2;

  margin: 0 0 7px !important;
  margin-block-start: 0 !important;
  margin-block-end: 7px !important;

  padding: 0 !important;
  border: 0 !important;
  background: none !important;

  color: #172733;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.45;
}


/* ---------- EXCERPT ---------- */

.home .entry-content .ms-home-latest .wp-block-post-excerpt {
  grid-column: 2;
  grid-row: 3;

  margin: 0 !important;
  padding: 0 !important;
}

.home .entry-content .ms-home-latest .wp-block-post-excerpt__excerpt {
  margin: 0 !important;

  color: #66727a;
  font-size: 12.5px;
  line-height: 1.60;

  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}


/* Query Loop excerpt's own "read more" is not needed here. */
.home .entry-content .ms-home-latest .wp-block-post-excerpt__more-text {
  display: none !important;
}


/* ---------- NO FEATURED IMAGE FALLBACK ---------- */

@supports selector(.wp-block-post:not(:has(.wp-block-post-featured-image))) {
  .home .entry-content .ms-home-latest
  .wp-block-post:not(:has(.wp-block-post-featured-image)) {
    grid-template-columns: minmax(0, 1fr);
  }

  .home .entry-content .ms-home-latest
  .wp-block-post:not(:has(.wp-block-post-featured-image))
  > .wp-block-post-date,
  .home .entry-content .ms-home-latest
  .wp-block-post:not(:has(.wp-block-post-featured-image))
  > .wp-block-post-title,
  .home .entry-content .ms-home-latest
  .wp-block-post:not(:has(.wp-block-post-featured-image))
  > .wp-block-post-excerpt {
    grid-column: 1;
  }
}


/* ---------- FOOTER ---------- */

.home .entry-content .ms-home-latest .ms-home-latest__footer {
  margin-top: 12px !important;
  text-align: right;
}

.home .entry-content .ms-home-latest .ms-home-latest__footer a {
  color: #5f7685;
  font-size: 12.5px;
  font-weight: 600;
  line-height: 1.5;
  text-decoration: none;
}

.home .entry-content .ms-home-latest .ms-home-latest__footer a:hover,
.home .entry-content .ms-home-latest .ms-home-latest__footer a:focus-visible {
  color: #0d1b2a;
  text-decoration: underline;
  text-underline-offset: 3px;
}


/* =========================================================
   TABLET
   ========================================================= */

@media screen and (min-width: 768px) and (max-width: 1023px) {

  .home .entry-content .ms-home-latest .wp-block-post {
    grid-template-columns: 154px minmax(0, 1fr);
    column-gap: 18px;
    padding: 17px 0 18px !important;
  }

  .home .entry-content .ms-home-latest .wp-block-post-featured-image {
    width: 154px;
  }

  .home .entry-content .ms-home-latest .wp-block-post-featured-image img {
    height: 96px !important;
  }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media screen and (max-width: 767px) {

  .home .entry-content .ms-home-latest > h2 + p {
    margin-bottom: 15px !important;
  }

  .home .entry-content .ms-home-latest .wp-block-post {
    grid-template-columns: 108px minmax(0, 1fr);
    grid-template-rows: auto auto 1fr;
    column-gap: 13px;

    padding: 15px 0 16px !important;
  }

  .home .entry-content .ms-home-latest .wp-block-post-featured-image {
    width: 108px;
  }

  .home .entry-content .ms-home-latest .wp-block-post-featured-image img {
    height: 76px !important;
  }

  .home .entry-content .ms-home-latest .wp-block-post-date {
    margin-bottom: 4px !important;
    font-size: 9.5px;
  }

  .home .entry-content .ms-home-latest .wp-block-post-title {
    margin-bottom: 5px !important;
    font-size: 15px;
    line-height: 1.42;
  }

  .home .entry-content .ms-home-latest .wp-block-post-excerpt__excerpt {
    font-size: 11px;
    line-height: 1.55;
    -webkit-line-clamp: 2;
  }

  .home .entry-content .ms-home-latest .ms-home-latest__footer {
    margin-top: 10px !important;
  }

  .home .entry-content .ms-home-latest .ms-home-latest__footer a {
    font-size: 12px;
  }
}


/* =========================================================
   MINASHIRUBE HOME
   v2.2y / BLOCK 07 "みなしるべについて" FINAL REFINEMENT
   ---------------------------------------------------------
   Base: v2.2x
   - Turn the beige About block into a calm two-column layout
   - Left: brand message + CTA
   - Right: formal Minashirube brand symbol
   - Keep the existing copy, beige background and dark CTA
   - Stack naturally on mobile
   ========================================================= */



.home .entry-content .ms-home-about__inner {
  
  grid-template-columns: minmax(0, 1.45fr) minmax(190px, 0.55fr);
  align-items: center;
  column-gap: clamp(44px, 6vw, 86px);
}

.home .entry-content .ms-home-about__content {
  min-width: 0;
}

.home .entry-content .ms-home-about__title {
  
  
  font-size: clamp(28px, 2.7vw, 38px);
  line-height: 1.40;
}





.home .entry-content .ms-home-about__symbol {
  
  
  
  min-width: 0;
  
}





@media screen and (min-width: 768px) and (max-width: 1023px) {

  .home .entry-content .ms-home-about__inner {
    grid-template-columns: minmax(0, 1.5fr) minmax(160px, 0.5fr);
    column-gap: 34px;
  }

  .home .entry-content .ms-home-about__symbol img {
    width: min(100%, 185px) !important;
  }
}

@media screen and (max-width: 767px) {

  

  .home .entry-content .ms-home-about__inner {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 26px;
  }

  .home .entry-content .ms-home-about__title {
    
    font-size: 25px;
    line-height: 1.38;
  }

  

  

  

  
}


/* =========================================================
   MINASHIRUBE HOME
   v2.2z / BLOCK 07 ABOUT WIDE COPY + EDGE SYMBOL
   ---------------------------------------------------------
   Base: v2.2y
   - Replace the strong 2-column feel with a wide text layout
   - Keep the title on the left
   - Let the body copy use more horizontal width
   - Position the symbol as a brand signature on the right
   - Keep the beige background and CTA unchanged
   ========================================================= */

.home .entry-content .ms-home-about {
  position: relative;
  overflow: hidden;
  padding: clamp(42px, 5vw, 58px) clamp(34px, 5.2vw, 64px) !important;
}

.home .entry-content .ms-home-about__inner {
  display: block !important;
  position: relative;
}

.home .entry-content .ms-home-about__content {
  position: relative;
  z-index: 2;
  max-width: none;
  padding-right: clamp(180px, 21vw, 250px);
}

.home .entry-content .ms-home-about__title {
  max-width: 680px;
  margin: 0 0 22px !important;
}

.home .entry-content .ms-home-about__text {
  max-width: 760px;
  margin: 0 !important;
  font-size: 14.5px;
  line-height: 1.72;
}

.home .entry-content .ms-home-about__button {
  margin-top: 24px !important;
}

/* Brand symbol works as a visual signature rather than a full column. */
.home .entry-content .ms-home-about__symbol {
  position: absolute;
  right: clamp(28px, 4.8vw, 58px);
  bottom: clamp(34px, 4.3vw, 50px);

  display: flex;
  align-items: flex-end;
  justify-content: flex-end;

  width: clamp(145px, 16vw, 195px);
  min-height: 0;
  margin: 0;
  z-index: 1;
}

.home .entry-content .ms-home-about__symbol img {
  display: block;
  width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  object-fit: contain;
}

.home .entry-content .ms-home-about__symbol figure,
.home .entry-content .ms-home-about__symbol .wp-block-image {
  margin: 0 !important;
}


/* =========================================================
   TABLET
   ========================================================= */




/* =========================================================
   MOBILE
   ========================================================= */

@media screen and (max-width: 767px) {

  .home .entry-content .ms-home-about {
    
    overflow: visible;
  }

  .home .entry-content .ms-home-about__content {
    padding-right: 0;
  }

  .home .entry-content .ms-home-about__title {
    margin-bottom: 18px !important;
  }

  .home .entry-content .ms-home-about__text {
    max-width: none;
    font-size: 13.5px;
    line-height: 1.68;
  }

  .home .entry-content .ms-home-about__button {
    margin-top: 21px !important;
  }

  
}


/* =========================================================
   MINASHIRUBE HOME
   v2.3a / BLOCK 07 ABOUT BALANCE REFINEMENT
   ---------------------------------------------------------
   Base: v2.2z

   Visual correction:
   - Keep the copy area wide, but avoid an overly long text slab
   - Reduce the symbol so it works as a signature, not a second focal point
   - Move the symbol farther toward the lower-right edge
   - Preserve the current title, copy, beige surface and CTA
   ========================================================= */

@media screen and (min-width: 1024px) {

  .home .entry-content .ms-home-about {
    padding:
      54px
      clamp(48px, 5vw, 64px)
      52px
      clamp(54px, 5.5vw, 70px) !important;
  }

  .home .entry-content .ms-home-about__content {
    padding-right: 205px;
  }

  .home .entry-content .ms-home-about__title {
    max-width: 650px;
    margin-bottom: 24px !important;
  }

  .home .entry-content .ms-home-about__text {
    max-width: 700px;
    font-size: 14.5px;
    line-height: 1.78;
  }

  .home .entry-content .ms-home-about__button {
    margin-top: 26px !important;
  }

  

  /*
   * The source PNG has visual whitespace around the mark.
   * A small translation places the visible symbol closer to
   * the intended lower-right "signature" position.
   */
  
}


/* =========================================================
   TABLET
   ========================================================= */

@media screen and (min-width: 768px) and (max-width: 1023px) {

  .home .entry-content .ms-home-about__content {
    padding-right: 150px;
  }

  .home .entry-content .ms-home-about__text {
    max-width: 610px;
    line-height: 1.74;
  }

  

  
}


/* =========================================================
   MOBILE
   ========================================================= */




/* =========================================================
   MINASHIRUBE
   v2.3b / FOOTER FINAL REFINEMENT
   ---------------------------------------------------------
   Base: v2.3a

   - Keep the Deep Navy footer
   - Make the brand symbol readable on navy by using a
     monochrome reverse treatment
   - Tighten footer height
   - Align brand mark / navigation / copyright more cleanly
   - Remove old-fashioned menu separators and use spacing
   ========================================================= */


/* ---------- FOOTER SHELL ---------- */

#footer {
  background: #0d1b2a !important;
  color: #ffffff;
}

#footer .footer-bottom {
  width: 100%;
  max-width: var(--ms-site-shell);
  margin: 0 auto;
  padding: 20px var(--ms-gutter-pc) 18px !important;
  box-sizing: border-box;

  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 36px;
}


/* ---------- BRAND MARK ---------- */



#footer .footer-bottom-logo .logo-image {
  display: block;
  width: auto;
  margin: 0;
  padding: 0;
}

#footer .footer-bottom-logo img,
#footer .footer-bottom-logo .site-logo-image {
  display: block;
  
  
  
  
  margin: 0 !important;
  

  /* reverse / monochrome mark for the dark footer */
  
  
}


/* ---------- RIGHT SIDE ---------- */

#footer .footer-bottom-content {
  flex: 1 1 auto;
  min-width: 0;
  text-align: right;
}


/* ---------- FOOTER NAV ---------- */

#footer .navi-footer-in > .menu-footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 6px 18px;

  margin: 0 0 7px !important;
  padding: 0;
}

#footer .navi-footer-in > .menu-footer > li,
#footer .navi-footer-in > .menu-footer > li.menu-item {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

#footer .navi-footer-in > .menu-footer > li::before,
#footer .navi-footer-in > .menu-footer > li::after {
  content: none !important;
  display: none !important;
}

#footer .navi-footer-in a {
  display: inline-block;
  padding: 0 !important;
  background: transparent !important;
  color: rgba(255,255,255,0.80) !important;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.5;
  text-decoration: none;
}

#footer .navi-footer-in a:hover,
#footer .navi-footer-in a:focus-visible {
  color: #ffffff !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}


/* ---------- COPYRIGHT ---------- */

#footer .copyright {
  margin: 0 !important;
  color: rgba(255,255,255,0.58) !important;
  font-size: 11px;
  line-height: 1.5;
}


/* =========================================================
   TABLET / MOBILE
   ========================================================= */

@media screen and (max-width: 1023px) {

  #footer .footer-bottom {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    padding: 20px var(--ms-gutter-mobile) 18px !important;
  }

  #footer .footer-bottom-logo img,
  #footer .footer-bottom-logo .site-logo-image {
    max-width: 104px !important;
    max-height: 40px !important;
  }

  #footer .footer-bottom-content {
    width: 100%;
    text-align: center;
  }

  #footer .navi-footer-in > .menu-footer {
    justify-content: center;
    gap: 7px 16px;
    margin-bottom: 8px !important;
  }
}

@media screen and (max-width: 767px) {

  #footer .footer-bottom {
    gap: 12px;
    
    
  }

  #footer .navi-footer-in > .menu-footer {
    gap: 6px 14px;
  }

  #footer .navi-footer-in a {
    font-size: 11.5px;
  }

  #footer .copyright {
    font-size: 10.5px;
  }
}


/* =========================================================
   MINASHIRUBE
   v2.3c / FOOTER MASTER-COMPLIANT LOGO
   ---------------------------------------------------------
   Base: v2.3b

   - Do NOT recolor the logo with CSS filters
   - Assume an official dark-background / white-reverse asset
   - Restore 100% opacity
   - Increase the footer logo/symbol display size
   - Keep footer layout and navigation settings from v2.3b
   ========================================================= */


/* ---------- OFFICIAL WHITE-REVERSE ASSET ---------- */

#footer .footer-bottom-logo img,
#footer .footer-bottom-logo .site-logo-image {
  filter: none !important;
  opacity: 1 !important;

  width: 148px !important;
  max-width: 148px !important;
  max-height: 58px !important;

  height: auto !important;
  object-fit: contain !important;
}


/* Give the left brand area enough room for the larger mark. */
#footer .footer-bottom-logo {
  flex: 0 0 148px;
  width: 148px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}


/* =========================================================
   TABLET
   ========================================================= */

@media screen and (min-width: 768px) and (max-width: 1023px) {

  #footer .footer-bottom-logo {
    flex-basis: 132px;
    
  }

  
}


/* =========================================================
   MOBILE
   ========================================================= */

@media screen and (max-width: 767px) {

  #footer .footer-bottom-logo {
    flex-basis: auto;
    width: 118px;
    justify-content: center;
  }

  #footer .footer-bottom-logo img,
  #footer .footer-bottom-logo .site-logo-image {
    width: 118px !important;
    max-width: 118px !important;
    max-height: 46px !important;
  }
}


/* =========================================================
   MINASHIRUBE
   v2.3d / PC FINAL POLISH
   ---------------------------------------------------------
   Base: v2.3c

   - Slightly reduce category-label typography in:
     1) "テーマから探す"
     2) "注目の比較・調査"
   - Enlarge and clearly anchor the About logo to the lower-right
   - No structural or spacing changes elsewhere
   ========================================================= */



@media screen and (min-width: 768px) and (max-width: 1023px) {

  

  

  

  .home .entry-content .ms-home-about__symbol img {
    transform: none !important;
  }
}




/* =========================================================
   MINASHIRUBE
   v2.3e / PC BALANCE + FOOTER COMPRESSION
   ---------------------------------------------------------
   Base: v2.3d

   - Restore category labels slightly for clearer rendering
   - Anchor About logo more decisively to the lower-right
   - Reduce footer height
   - Match the visual height of the left logo block to the
     right-side two-line navigation/copyright block
   ========================================================= */


/* =========================================================
   PC
   ========================================================= */

@media screen and (min-width: 1024px) {

  /* ---------- BLOCK 03 / THEME CATEGORY ---------- */

  .home .entry-content .ms-home-themes__category {
    font-size: 10.75px !important;
    line-height: 1.25 !important;
    font-weight: 600 !important;
  }


  /* ---------- BLOCK 04 / FEATURED CATEGORY ---------- */

  .home .entry-content .ms-home-featured__category {
    font-size: 10.5px !important;
    line-height: 1.25 !important;
    font-weight: 600 !important;
  }


  /* ---------- BLOCK 07 / ABOUT LOGO ---------- */

  .home .entry-content .ms-home-about__symbol {
    right: 18px !important;
    bottom: 18px !important;
    width: 200px !important;
  }

  .home .entry-content .ms-home-about__symbol img {
    transform: none !important;
  }


  /* ---------- FOOTER ---------- */

  #footer .footer-bottom {
    padding-top: 11px !important;
    padding-bottom: 10px !important;
    gap: 28px !important;
  }

  #footer .footer-bottom-logo {
    flex: 0 0 148px !important;
    width: 148px !important;
    min-height: 40px;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
  }

  #footer .footer-bottom-logo img,
  #footer .footer-bottom-logo .site-logo-image {
    width: 148px !important;
    max-width: 148px !important;
    max-height: 40px !important;
    object-fit: contain !important;
  }

  #footer .footer-bottom-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 40px;
  }

  #footer .navi-footer-in > .menu-footer {
    margin-bottom: 3px !important;
  }

  #footer .navi-footer-in a {
    line-height: 1.35 !important;
  }

  #footer .copyright {
    line-height: 1.35 !important;
  }
}


/* =========================================================
   TABLET
   ========================================================= */

@media screen and (min-width: 768px) and (max-width: 1023px) {

  .home .entry-content .ms-home-themes__category {
    font-size: 10.5px !important;
  }

  .home .entry-content .ms-home-featured__category {
    font-size: 10.25px !important;
  }

  

  #footer .footer-bottom {
    padding-top: 13px !important;
    padding-bottom: 12px !important;
  }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media screen and (max-width: 767px) {

  .home .entry-content .ms-home-themes__category {
    font-size: 10.5px !important;
  }

  .home .entry-content .ms-home-featured__category {
    font-size: 10.25px !important;
  }

  #footer .footer-bottom {
    padding-top: 14px !important;
    padding-bottom: 13px !important;
  }
}


/* =========================================================
   MINASHIRUBE
   v2.3f / CATEGORY LABEL CENTERING
   ---------------------------------------------------------
   Base: v2.3e

   - Center label text horizontally and vertically
   - Use symmetric padding
   - Keep current category-label font sizing from v2.3e
   - Apply to:
     1) "テーマから探す"
     2) "注目の比較・調査"
   ========================================================= */


/* =========================================================
   BLOCK 03 / THEME CATEGORY LABEL
   ========================================================= */

.home .entry-content .ms-home-themes__category {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: fit-content !important;
  min-width: 0 !important;

  padding: 3px 8px !important;

  text-align: center !important;
  line-height: 1 !important;
}


/* =========================================================
   BLOCK 04 / FEATURED ARTICLE CATEGORY LABEL
   ========================================================= */

.home .entry-content .ms-home-featured__category {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: fit-content !important;
  min-width: 0 !important;

  padding: 3px 8px !important;

  text-align: center !important;
  line-height: 1 !important;
}


/* =========================================================
   MINASHIRUBE
   v2.3g / TABLET REFINEMENT 01
   ---------------------------------------------------------
   Base: v2.3f

   768–1023px:
   - Keep HERO headline on the intended two lines
   - Preserve enough copy width without changing PC
   - Keep footer in compact horizontal layout on tablet
   - Switch to stacked footer only below 768px
   ========================================================= */


/* =========================================================
   TABLET / HERO
   ========================================================= */

@media screen and (min-width: 768px) and (max-width: 1023px) {

  .home .entry-content .ms-home-hero__content {
    width: 63% !important;
    max-width: 520px !important;
    margin-left: 28px !important;
    padding-top: 38px !important;
    padding-bottom: 0 !important;
  }

  .home .entry-content .ms-home-hero__title {
    font-size: clamp(24px, 3vw, 27px) !important;
    line-height: 1.48 !important;
    letter-spacing: 0.025em !important;
  }

  .home .entry-content .ms-home-hero__title span {
    display: block !important;
    white-space: nowrap !important;
  }

  .home .entry-content .ms-home-hero__lead {
    max-width: 410px !important;
    font-size: 13.5px !important;
    line-height: 1.82 !important;
  }

  .home .entry-content .ms-home-hero__search {
    max-width: 410px !important;
  }
}


/* =========================================================
   TABLET / FOOTER
   ========================================================= */

@media screen and (min-width: 768px) and (max-width: 1023px) {

  #footer .footer-bottom {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;

    gap: 24px !important;
    padding:
      11px
      var(--ms-gutter-tablet, 32px)
      10px !important;
  }

  #footer .footer-bottom-logo {
    flex: 0 0 124px !important;
    width: 124px !important;
    min-height: 38px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
  }

  #footer .footer-bottom-logo img,
  #footer .footer-bottom-logo .site-logo-image {
    width: 124px !important;
    max-width: 124px !important;
    max-height: 38px !important;
    height: auto !important;
    object-fit: contain !important;
  }

  #footer .footer-bottom-content {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 38px !important;

    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;

    text-align: right !important;
  }

  #footer .navi-footer-in > .menu-footer {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: flex-end !important;
    align-items: center !important;

    gap: 4px 12px !important;
    margin: 0 0 3px !important;
  }

  #footer .navi-footer-in a {
    font-size: 10.5px !important;
    line-height: 1.35 !important;
    white-space: nowrap !important;
  }

  #footer .copyright {
    font-size: 10px !important;
    line-height: 1.35 !important;
    white-space: nowrap !important;
  }
}


/* =========================================================
   MOBILE FOOTER
   Keep stacked layout below tablet breakpoint
   ========================================================= */

@media screen and (max-width: 767px) {

  #footer .footer-bottom {
    flex-direction: column !important;
    align-items: center !important;
  }

  #footer .footer-bottom-content {
    width: 100% !important;
    text-align: center !important;
  }

  #footer .navi-footer-in > .menu-footer {
    flex-wrap: wrap !important;
    justify-content: center !important;
  }
}


/* =========================================================
   MINASHIRUBE
   v2.3h / TABLET ABOUT LOGO POSITION
   ---------------------------------------------------------
   Base: v2.3g

   - Move the About-block brand logo farther to the right
     on tablet
   - Keep size, vertical position, copy width, HERO and footer
     settings unchanged
   ========================================================= */

@media screen and (min-width: 768px) and (max-width: 1023px) {

  .home .entry-content .ms-home-about__symbol {
    right: 6px !important;
    bottom: 20px !important;
    width: 154px !important;
  }
}


/* =========================================================
   MINASHIRUBE
   v2.3i / MOBILE ABOUT REFINEMENT
   ---------------------------------------------------------
   Base: v2.3h

   - Make the About logo smaller on mobile
   - Keep it clearly right-aligned
   - Reduce the gap between CTA and logo
   - Slightly reduce the bottom padding of the About block
   - Keep all PC / tablet settings unchanged
   ========================================================= */

@media screen and (max-width: 767px) {

  .home .entry-content .ms-home-about {
    padding:
      34px
      22px
      28px !important;
  }

  .home .entry-content .ms-home-about__symbol {
    position: static !important;

    width: min(38vw, 136px) !important;
    min-height: 0 !important;

    margin:
      16px
      0
      0
      auto !important;

    display: flex !important;
    align-items: flex-end !important;
    justify-content: flex-end !important;
  }

  .home .entry-content .ms-home-about__symbol img {
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    transform: none !important;
  }
}


/* =========================================================
   MINASHIRUBE
   v2.3j / NARROW MOBILE THEME CARD REFINEMENT
   ---------------------------------------------------------
   Base: v2.3i

   <= 374px:
   - Keep "テーマから探す" in 2 columns
   - Hide only the theme-card descriptions
   - Preserve image / category / theme title
   - Slightly rebalance card body spacing after description removal
   - Keep 375px+ behavior unchanged
   ========================================================= */

@media screen and (max-width: 374px) {

  .home .entry-content .ms-home-themes__description {
    display: none !important;
  }

  .home .entry-content .ms-home-themes__body {
    padding:
      9px
      10px
      11px !important;
  }

  .home .entry-content .ms-home-themes__category {
    margin-bottom: 5px !important;
  }

  .home .entry-content .ms-home-themes__card h3 {
    margin-bottom: 0 !important;
  }
}
/* =========================================================
   MINASHIRUBE HOME
   v2.3.1 / DESKTOP EMBEDDED-COPY HERO
   ---------------------------------------------------------
   - PC (1024px+): use the HERO photo that already contains
     the headline as a CSS background image
   - Keep the HTML H1 in the document/accessibility tree,
     but visually hide it on PC to avoid duplicate copy
   - Hide the HTML lead on PC; keep the search UI visible
   - Remove the old photo veil/gradient on PC
   - Tablet/mobile remain exactly as the accepted v2.3.0 layout

   Required image location:
   /wp-content/themes/cocoon-child-master/images/
   minashirube-home-hero-copy-v1.webp
   ========================================================= */

@media screen and (min-width: 1024px) {

  /* HERO shell: keep the photograph's natural aspect ratio. */
  .home .entry-content .ms-home-hero {
    position: relative !important;
    display: grid !important;
    overflow: hidden !important;
    background: var(--ms-canvas) !important;
  }

  /*
   * The existing <img> stays in the HTML and keeps the HERO height.
   * On PC, only its pixels are hidden; the new baked-copy photograph
   * is drawn as the background of the same media area.
   */
  .home .entry-content .ms-home-hero__media {
    grid-area: 1 / 1 !important;
    position: relative !important;
    min-width: 0 !important;
    background-image: url("../images/HERO_Image1002.webp") !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-size: cover !important;
  }

  .home .entry-content .ms-home-hero__media img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  /* The new photo already contains the headline: no veil is needed. */
  

  /*
   * Keep the content layer only for the search box.
   * H1 / lead are visually hidden below, but remain in the HTML.
   */
  .home .entry-content .ms-home-hero__content {
    grid-area: 1 / 1 !important;
    position: relative !important;
    z-index: 2 !important;
    align-self: stretch !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: flex-end !important;
    justify-content: flex-start !important;
    transform: none !important;
    pointer-events: none !important;
  }

  /*
   * Accessible visual hiding: unlike display:none, this keeps the H1
   * available to assistive technologies and document structure.
   */
  .home .entry-content .ms-home-hero__title,
  .home .entry-content .ms-home-hero__lead {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }

  /* Search stays usable and sits in the open lower-left tabletop area. */
  

  
}

/* =========================================================
   MINASHIRUBE HOME
   v2.3.2 / DESKTOP HERO LEAD RESTORE
   ---------------------------------------------------------
   Base: v2.3.1
   - PC (1024px+): keep the headline baked into the HERO photo
   - Restore the HTML lead paragraph visually
   - Keep the HTML H1 visually hidden to avoid duplicate headline
   - Place the lead in the open wall area below the baked headline
   - Keep the search box in the lower-left tabletop area
   - Tablet/mobile remain unchanged from v2.3.1
   ========================================================= */

@media screen and (min-width: 1024px) {

  /*
   * v2.3.1 visually hid both title and lead.
   * Restore only the lead paragraph.
   */
  

  /*
   * Keep the HTML H1 accessible but visually hidden.
   * This remains explicit here so later overrides do not accidentally
   * bring the duplicate headline back.
   */
  .home .entry-content .ms-home-hero__title {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }
}

/* =========================================================
   MINASHIRUBE HOME
   v2.3.5 / DESKTOP HERO FINAL
   ---------------------------------------------------------
   Base: v2.3.4
   - PC only (1024px+)
   - Keep the headline baked into the HERO photograph
   - Keep lead + search in the lower-left
   - Extend the lower-left readability gradient farther upward
   - Preserve a natural fade with no visible rectangular boundary
   - Finalize lead readability and search alignment
   - Tablet/mobile remain unchanged
   ========================================================= */

@media screen and (min-width: 1024px) {

  /*
   * Full-canvas overlay + localized lower-left radial gradient.
   * The taller ellipse reaches farther upward than v2.3.4 while
   * remaining transparent around the upper headline and right side.
   */
  .home .entry-content .ms-home-hero__media::after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    pointer-events: none !important;
    z-index: 1 !important;

    background:
      radial-gradient(
        ellipse 72% 68% at 7% 96%,
        rgba(250, 249, 246, 0.985) 0%,
        rgba(250, 249, 246, 0.965) 20%,
        rgba(250, 249, 246, 0.90) 35%,
        rgba(250, 249, 246, 0.72) 50%,
        rgba(250, 249, 246, 0.48) 63%,
        rgba(250, 249, 246, 0.25) 75%,
        rgba(250, 249, 246, 0.10) 85%,
        rgba(250, 249, 246, 0.025) 92%,
        rgba(250, 249, 246, 0) 97%
      ) !important;
  }

  /* Lead: lower-left, directly above the search field. */
  .home .entry-content .ms-home-hero__lead {
    position: absolute !important;
    left: clamp(34px, 4.3vw, 52px) !important;
    top: auto !important;
    bottom: clamp(94px, 8.6vw, 110px) !important;

    width: min(410px, 37%) !important;
    max-width: 410px !important;
    height: auto !important;

    padding: 0 !important;
    margin: 0 !important;

    overflow: visible !important;
    clip: auto !important;
    clip-path: none !important;
    white-space: normal !important;
    border: 0 !important;

    color: #172733 !important;
    font-size: clamp(13px, 0.88vw, 14px) !important;
    font-weight: 500 !important;
    line-height: 1.72 !important;
    letter-spacing: 0.01em !important;

    text-shadow:
      0 1px 1px rgba(250, 249, 246, 0.90),
      0 0 4px rgba(250, 249, 246, 0.38) !important;

    z-index: 3 !important;
    pointer-events: none !important;
  }

  /* Search: same left axis as lead, with a clean white field. */
  .home .entry-content .ms-home-hero__search {
    position: relative !important;
    z-index: 3 !important;
    width: min(430px, 39%) !important;
    max-width: 430px !important;
    margin:
      0
      0
      clamp(26px, 2.8vw, 36px)
      clamp(34px, 4.3vw, 52px) !important;
    pointer-events: auto !important;
  }

  .home .entry-content .ms-home-hero__search input[type="search"] {
    background: rgba(255, 255, 255, 0.97) !important;
    backdrop-filter: blur(1.5px);
    -webkit-backdrop-filter: blur(1.5px);
  }
}

/* ==================================================
   FINAL-01. Canvas / Surface / Archive
   Stage 6.2で確認済みの表示仕様を共通CSSへ統合。
   Reading Canvas = #FFFEFC
   Neutral Surface = #FFFFFF
   ================================================== */

/* ---------- Archive reading canvas ---------- */
body.archive,
body.archive #container,
body.archive #content,
body.archive #content-in,
body.archive #main,
body.archive #main .article {
  background-color: #FFFEFC !important;
}

body.archive #breadcrumb,
body.archive .breadcrumb,
body.archive .breadcrumb.sbp-main-before,
body.archive .breadcrumb-container,
body.archive .breadcrumb-wrap {
  background-color: #FFFEFC !important;
}

/*
 * 固定ページ専用CSSは共通CSSの後に読み込まれるため、
 * Stage 6.2で確定したNeutral Surfaceだけは
 * ページ種別を含む詳細なセレクタで正本化する。
 */

/* 調査・編集方針：通常カードは白Surface */
body.page .ms-policy-method-card,
body.page .ms-policy-source-card,
body.page .ms-policy-operation-card,
body.page .ms-policy-principles-grid,
body.page .ms-policy-principle,
body.page .ms-policy-principle:nth-child(3n + 2),
body.page .ms-policy-principle:nth-child(even) {
  background: #FFFFFF !important;
}

/* みなしるべについて：通常カード／表セルは白Surface */
body.page .ms-about-problem-step,
body.page .ms-about-action,
body.page .ms-about-name-card,
body.page .ms-about-symbol-point {
  background: #FFFFFF !important;
}

/* 意味を持つ強調Surfaceは維持 */
body.page .ms-about-problem-step.is-minashirube {
  background: var(--about-pale, #F6F8F7) !important;
}

body.page .ms-about-problem-step.is-result {
  background: var(--about-warm, #FBF8F1) !important;
}

/* 固定ページの通常表は白Surface */
body.page:not(.home) .entry-content .wp-block-table table,
body.page:not(.home) .entry-content > table,
body.page:not(.home) .entry-content .wp-block-table tbody td,
body.page:not(.home) .entry-content > table tbody td {
  background: #FFFFFF !important;
}

/* ---------- Short archive / article-index footer ---------- */
body.archive #container,
body.page-id-247 #container,
body.page-id-268 #container {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

body.archive #content,
body.page-id-247 #content,
body.page-id-268 #content {
  flex: 1 0 auto;
}

body.archive #footer,
body.page-id-247 #footer,
body.page-id-268 #footer {
  margin-top: auto;
  flex: 0 0 auto;
}

/* ==========================================================
   Contact page
   Page ID: 268
   ========================================================== */

body.page-id-268 .wpcf7 {
  margin-top: 1.5rem;
}

body.page-id-268 .wpcf7-form label {
  display: block;
  margin: 0 0 0.45rem;
  color: #24313B;
  font-weight: 500;
  line-height: 1.6;
}

body.page-id-268 .wpcf7-form input[type="text"],
body.page-id-268 .wpcf7-form input[type="email"],
body.page-id-268 .wpcf7-form textarea {
  width: 100%;
  box-sizing: border-box;
  margin-top: 0.4rem;
  padding: 0.8rem 0.9rem;
  border: 1px solid #DDE2E0;
  border-radius: 3px;
  background: #FFFFFF;
  color: #24313B;
  font: inherit;
  line-height: 1.6;
}

body.page-id-268 .wpcf7-form textarea {
  min-height: 180px;
  resize: vertical;
}

body.page-id-268 .wpcf7-form input[type="text"]:focus,
body.page-id-268 .wpcf7-form input[type="email"]:focus,
body.page-id-268 .wpcf7-form textarea:focus {
  outline: none;
  border-color: #7A9B83;
  box-shadow: 0 0 0 2px rgba(122, 155, 131, 0.16);
}

body.page-id-268 .wpcf7-form input[type="submit"] {
  width: 100%;
  min-height: 48px;
  padding: 0.75rem 1rem;
  border: 1px solid #0D1B2A;
  border-radius: 3px;
  background: #0D1B2A;
  color: #FFFFFF;
  font: inherit;
  font-weight: 600;
  letter-spacing: 0.02em;
  cursor: pointer;
  transition: opacity 0.18s ease;
}

body.page-id-268 .wpcf7-form input[type="submit"]:hover,
body.page-id-268 .wpcf7-form input[type="submit"]:focus-visible {
  opacity: 0.88;
}

body.page-id-268 .wpcf7-form input[type="submit"]:focus-visible {
  outline: 2px solid #7A9B83;
  outline-offset: 2px;
}

body.page-id-268 .wpcf7-spinner {
  margin-top: 0.6rem;
}

body.page-id-268 .wpcf7-response-output {
  margin: 1rem 0 0 !important;
  padding: 0.8rem 1rem !important;
  border-radius: 3px;
  line-height: 1.7;
}

body.page-id-268 .ms-contact-privacy-note {
  box-sizing: border-box;
  width: calc(100% - 1.5rem);
  margin: 1.4rem auto 0;
  padding: 0.8rem 1rem;
  border-left: 3px solid #5F7685;
  background: #EEF2F4;
  color: #24313B;
  line-height: 1.8;
}

body.page-id-268 .ms-contact-privacy-note a {
  text-decoration: underline;
  text-underline-offset: 0.16em;
}

@media screen and (max-width: 680px) {
  body.page-id-268 .ms-contact-privacy-note {
    width: calc(100% - 0.75rem);
  }

  body.page-id-268 .wpcf7-form input[type="text"],
  body.page-id-268 .wpcf7-form input[type="email"],
  body.page-id-268 .wpcf7-form textarea {
    font-size: 16px;
  }

  body.page-id-268 .wpcf7-form textarea {
    min-height: 160px;
  }
}

/* みなしるべ｜テーマから探す v1.2
   Top-page theme cards are the visual source of truth.
   This page uses the same card grammar at a larger 2-column size.
*/

.ms-themes-page {
  width: 100%;
  margin: 0;
}

.ms-themes-page__intro {
  margin-bottom: 2rem;
}

.ms-themes-page__intro h1 {
  margin-bottom: 0.95rem;
}

.ms-themes-page__intro p {
  margin: 0.35rem 0;
  line-height: 1.85;
}

.ms-themes-grid--photo {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.35rem;
}

.ms-theme-card--photo {
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
  margin: 0;
  border: 1px solid #E0E4E2;
  background: #FFFFFF;
}

.ms-theme-card__media {
  width: 100%;
  margin: 0;
  aspect-ratio: 3 / 2;
  overflow: hidden;
  background: #F3F5F4;
}

.ms-theme-card__media img {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  object-fit: cover;
}

.ms-theme-card__image-placeholder {
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  background: #F3F5F4;
  color: #8D8F92;
  font-size: 12px;
}

.ms-theme-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 8px 12px 11px;
}

/* Same category-label grammar as the top page. */
.ms-theme-card__group {
  display: inline-flex;
  width: fit-content;
  min-width: 0;
  align-items: center;
  justify-content: center;
  margin: 0 0 2px;
  padding: 3px 8px;
  border-radius: 3px;
  background: #EEF2F4;
  color: #4F6472;
  font-size: 11px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.02em;
  text-align: center;
}

/* Same left-rule title grammar as the top page. */
.ms-theme-card--photo h2 {
  margin: 0 0 4px;
  padding: 0 0 0 9px;
  border: 0;
  border-left: 2px solid var(--ms-navy);
  background: none;
  color: var(--ms-navy);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.30;
}

.ms-theme-card__body > p:not(.ms-theme-card__group):not(.ms-theme-card__status):not(.ms-theme-card__link) {
  margin: 0;
  color: #526069;
  font-size: 12.5px;
  line-height: 1.45;
}

.ms-theme-card__status,
.ms-theme-card__link {
  margin: 5px 0 0;
  font-size: 12.5px;
  line-height: 1.45;
}

.ms-theme-card__status {
  color: #8D8F92;
}

.ms-theme-card__link a {
  color: #516D7D;
  font-size: 12.5px;
  font-weight: 600;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.ms-theme-card__link a:hover {
  color: var(--ms-navy);
}

/* Tablet / mobile: keep the same two-card rhythm as the top page. */
@media screen and (max-width: 820px) {
  .ms-themes-grid--photo {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
  }
}

@media screen and (max-width: 600px) {
  .ms-themes-grid--photo {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem;
  }

  .ms-theme-card__body {
    padding: 7px 8px 9px;
  }

  .ms-theme-card__group {
    margin-bottom: 1px;
    padding: 2px 6px;
    font-size: 10px;
  }

  .ms-theme-card--photo h2 {
    margin-bottom: 3px;
    padding-left: 7px;
    font-size: 14px;
    line-height: 1.28;
  }

  .ms-theme-card__body > p:not(.ms-theme-card__group):not(.ms-theme-card__status):not(.ms-theme-card__link) {
    font-size: 11px;
    line-height: 1.42;
  }

  .ms-theme-card__status,
  .ms-theme-card__link,
  .ms-theme-card__link a {
    margin-top: 4px;
    font-size: 11px;
    line-height: 1.4;
  }
}

/* Very narrow legacy widths only: fall back to one column. */
@media screen and (max-width: 339px) {
  .ms-themes-grid--photo {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================
   Themes hub /themes/ — force PC two-column layout
   Page ID: 618
   Fixed-page base rules are one-column; this hub page is an exception.
   ========================================================== */

@media screen and (min-width: 1024px) {
  body.page-id-618 #content-in.content-in,
  body.page-id-618 #content-in {
    display: grid !important;
    grid-template-columns: minmax(0, var(--ms-post-main)) var(--ms-post-sidebar) !important;
    grid-template-rows: auto !important;
    column-gap: var(--ms-post-gap) !important;
    row-gap: 0 !important;
    align-items: start !important;
    width: 100% !important;
    max-width: var(--ms-site-shell) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: var(--ms-gutter-pc) !important;
    padding-right: var(--ms-gutter-pc) !important;
    box-sizing: border-box !important;
  }

  body.page-id-618 #main {
    grid-column: 1 !important;
    grid-row: 1 !important;
    float: none !important;
    clear: none !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  body.page-id-618 #main .article,
  body.page-id-618 .entry-header,
  body.page-id-618 .entry-content {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  body.page-id-618 #sidebar,
  body.page-id-618 .sidebar {
    grid-column: 2 !important;
    grid-row: 1 !important;
    display: block !important;
    float: none !important;
    clear: none !important;
    width: var(--ms-post-sidebar) !important;
    max-width: var(--ms-post-sidebar) !important;
    min-width: var(--ms-post-sidebar) !important;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
    align-self: start !important;
  }
}

/* ==========================================================
   Themes hub /themes/ — visual parity with normal posts
   Page ID: 618
   ========================================================== */

/* Reading canvas: make the whole page, including the sidebar area,
   use the same warm off-white as normal reading pages. */
body.page-id-618,
body.page-id-618 #container,
body.page-id-618 #content,
body.page-id-618 #content-in,
body.page-id-618 #main,
body.page-id-618 #main .article,
body.page-id-618 .entry-content,
body.page-id-618 #sidebar,
body.page-id-618 .sidebar {
  background-color: #FFFEFC !important;
}

/* Sidebar: mirror the normal-post visual grammar. */
body.page-id-618 .sidebar .widget {
  margin: 0 0 28px;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}

body.page-id-618 .ms-sidebar-about,
body.page-id-618 .ms-sidebar-related {
  color: var(--ms-text);
}

body.page-id-618 .ms-sidebar-about > p:first-child,
body.page-id-618 .ms-sidebar-related > p:first-child {
  margin: 0 0 11px;
  padding: 0 0 8px;
  color: var(--ms-navy);
  font-size: 13px;
  line-height: 1.4;
  font-weight: 700;
  letter-spacing: 0.07em;
  border-bottom: 1px solid var(--ms-border);
}

body.page-id-618 .ms-sidebar-about p,
body.page-id-618 .ms-sidebar-related p {
  margin: 0 0 11px;
  color: var(--ms-text);
  font-size: 14px;
  line-height: 1.68;
}

body.page-id-618 .ms-sidebar-about a,
body.page-id-618 .ms-sidebar-related a {
  font-size: 13.5px;
}

body.page-id-618 .ms-sidebar-about .ms-sidebar-policy-link,
body.page-id-618 .ms-sidebar-about .ms-sidebar-disclosure {
  margin: 7px 0 0;
  line-height: 1.6;
}

body.page-id-618 .ms-sidebar-about .ms-sidebar-disclosure {
  margin-top: 6px;
}

body.page-id-618 .ms-sidebar-about .ms-sidebar-policy-link a,
body.page-id-618 .ms-sidebar-about .ms-sidebar-disclosure a {
  color: var(--ms-bluegray);
  font-size: 13px;
  font-weight: 500;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

body.page-id-618 .ms-sidebar-about .ms-sidebar-policy-link a:hover,
body.page-id-618 .ms-sidebar-about .ms-sidebar-disclosure a:hover {
  color: var(--ms-navy);
}

/* v1.2 removes the page-bottom "記事から探す" section.
   Keep any stale markup hidden during transition/cache. */
body.page-id-618 .ms-themes-page__footer {
  display: none !important;
}

/* ==========================================================
   Themes hub /themes/ — exact card rhythm reset
   Page ID: 618
   v2.6.0
   ----------------------------------------------------------
   The generic fixed-page rules add H2 top margins and paragraph
   indentation inside cards. Reset those rules here.
   Mobile card metrics intentionally match the accepted HOME
   "テーマから探す" cards.
   ========================================================== */

/* ---------- CARD TEXT RESET / DESKTOP ---------- */

body.page-id-618 .entry-content .ms-theme-card__body {
  padding: 10px 14px 14px !important;
}

body.page-id-618 .entry-content .ms-theme-card__group {
  display: inline-flex !important;
  width: fit-content !important;
  min-width: 0 !important;
  align-items: center !important;
  justify-content: center !important;

  margin: 0 0 5px !important;
  padding: 3px 8px !important;

  border-radius: 3px !important;
  background: #EEF2F4 !important;
  color: #4F6472 !important;

  font-size: 10.75px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  letter-spacing: 0.02em !important;
  text-align: center !important;
}

body.page-id-618 .entry-content .ms-theme-card--photo h2 {
  margin: 0 0 5px !important;
  padding: 0 0 0 9px !important;

  border: 0 !important;
  border-left: 2px solid var(--ms-navy) !important;
  background: none !important;
  color: var(--ms-navy) !important;

  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.30 !important;
}

body.page-id-618 .entry-content .ms-theme-card__body > p:not(.ms-theme-card__group):not(.ms-theme-card__status):not(.ms-theme-card__link) {
  margin: 0 !important;
  padding: 0 !important;

  color: #526069 !important;
  font-size: 12.5px !important;
  line-height: 1.45 !important;
}

body.page-id-618 .entry-content .ms-theme-card__status,
body.page-id-618 .entry-content .ms-theme-card__link {
  margin: 5px 0 0 !important;
  padding: 0 !important;

  font-size: 12.5px !important;
  line-height: 1.45 !important;
}

body.page-id-618 .entry-content .ms-theme-card__link a {
  font-size: 12.5px !important;
}

/* ---------- TABLET ---------- */

@media screen and (max-width: 1023px) {
  body.page-id-618 .entry-content .ms-theme-card__body {
    padding-bottom: 13px !important;
  }

  body.page-id-618 .entry-content .ms-theme-card__group {
    font-size: 10.5px !important;
  }
}

/* ---------- MOBILE: EXACT HOME CARD METRICS ---------- */

@media screen and (max-width: 767px) {
  body.page-id-618 .entry-content .ms-themes-grid--photo {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  body.page-id-618 .entry-content .ms-theme-card__media {
    aspect-ratio: 4 / 3 !important;
  }

  body.page-id-618 .entry-content .ms-theme-card__body {
    padding: 10px 12px 13px !important;
  }

  body.page-id-618 .entry-content .ms-theme-card__group {
    margin: 0 0 5px !important;
    padding: 3px 8px !important;
    font-size: 10.5px !important;
    line-height: 1 !important;
  }

  body.page-id-618 .entry-content .ms-theme-card--photo h2 {
    margin: 0 0 5px !important;
    padding-left: 7px !important;
    font-size: 13.5px !important;
    line-height: 1.30 !important;
  }

  body.page-id-618 .entry-content .ms-theme-card__body > p:not(.ms-theme-card__group):not(.ms-theme-card__status):not(.ms-theme-card__link) {
    display: -webkit-box !important;
    overflow: hidden !important;
    padding: 0 !important;

    font-size: 10.5px !important;
    line-height: 1.45 !important;

    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 3 !important;
  }

  body.page-id-618 .entry-content .ms-theme-card__status,
  body.page-id-618 .entry-content .ms-theme-card__link {
    margin: 4px 0 0 !important;
    padding: 0 !important;
    font-size: 10.5px !important;
    line-height: 1.45 !important;
  }

  body.page-id-618 .entry-content .ms-theme-card__link a {
    font-size: 10.5px !important;
  }
}

/* ---------- VERY SMALL PHONE: SAME HOME FALLBACK ---------- */

@media screen and (max-width: 390px) {
  body.page-id-618 .entry-content .ms-theme-card__body {
    padding: 10px 9px 12px !important;
  }

  body.page-id-618 .entry-content .ms-theme-card--photo h2 {
    padding-left: 6px !important;
    font-size: 12.5px !important;
  }

  body.page-id-618 .entry-content .ms-theme-card__body > p:not(.ms-theme-card__group):not(.ms-theme-card__status):not(.ms-theme-card__link) {
    font-size: 10px !important;
  }
}

@media screen and (max-width: 374px) {
  body.page-id-618 .entry-content .ms-theme-card__body {
    padding: 9px 10px 11px !important;
  }

  body.page-id-618 .entry-content .ms-theme-card--photo h2 {
    margin-bottom: 0 !important;
  }

  body.page-id-618 .entry-content .ms-theme-card__body > p:not(.ms-theme-card__group):not(.ms-theme-card__status):not(.ms-theme-card__link) {
    display: none !important;
  }
}

/* ==========================================================
   Themes hub /themes/ — mobile outer shell = HOME
   Page ID: 618
   v2.6.1
   ----------------------------------------------------------
   Fixed pages inherit Cocoon main/article inner padding in
   addition to #content-in gutters. HOME does not.
   Remove that extra layer and give .ms-themes-page the same
   responsive gutter used by .home .ms-home.
   ========================================================== */

/* Tablet: HOME uses --ms-gutter-tablet on .ms-home */
@media screen and (min-width: 681px) and (max-width: 1023px) {
  body.page-id-618 #content-in,
  body.page-id-618 .content-in {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.page-id-618 #main,
  body.page-id-618 #main .article,
  body.page-id-618 .main,
  body.page-id-618 .article,
  body.page-id-618 .entry-content {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  body.page-id-618 .ms-themes-page {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: var(--ms-gutter-tablet) !important;
    padding-right: var(--ms-gutter-tablet) !important;
    box-sizing: border-box !important;
  }
}

/* Mobile: exact same outer gutter as HOME .ms-home */
@media screen and (max-width: 680px) {
  body.page-id-618 #content-in,
  body.page-id-618 .content-in {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  body.page-id-618 #main,
  body.page-id-618 #main .article,
  body.page-id-618 .main,
  body.page-id-618 .article,
  body.page-id-618 .entry-content {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  body.page-id-618 .ms-themes-page {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: var(--ms-gutter-mobile) !important;
    padding-right: var(--ms-gutter-mobile) !important;
    box-sizing: border-box !important;
  }
}

/* ==========================================================
   Themes hub /themes/ — mobile card grid wider than text column
   Page ID: 618
   v2.6.2
   ----------------------------------------------------------
   Keep heading/intro at the 22px reading gutter, but let only
   the 2-column card grid use an effective 12px outer gutter.
   ========================================================== */

@media screen and (max-width: 680px) {
  body.page-id-618 .entry-content .ms-themes-grid--photo {
    margin-left: -10px !important;
    margin-right: -10px !important;
  }
}

/* ==========================================================
   All Articles /articles/ — image index + right sidebar
   Page ID: 247
   v2.6.3
   ========================================================== */

/* Reading canvas */
body.page-id-247,
body.page-id-247 #container,
body.page-id-247 #content,
body.page-id-247 #content-in,
body.page-id-247 #main,
body.page-id-247 #main .article,
body.page-id-247 .entry-content,
body.page-id-247 #sidebar,
body.page-id-247 .sidebar {
  background-color: #FFFEFC !important;
}

/* ---------- PC shell: same main/sidebar proportions as posts ---------- */
@media screen and (min-width: 1024px) {
  body.page-id-247 #content-in,
  body.page-id-247 #content-in.content-in {
    display: grid !important;
    grid-template-columns: minmax(0, var(--ms-post-main)) var(--ms-post-sidebar) !important;
    column-gap: var(--ms-post-gap) !important;
    align-items: start !important;

    width: 100% !important;
    max-width: var(--ms-site-shell) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: var(--ms-gutter-pc) !important;
    padding-right: var(--ms-gutter-pc) !important;
    box-sizing: border-box !important;
  }

  body.page-id-247 #main {
    grid-column: 1 !important;
    float: none !important;
    clear: none !important;

    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  body.page-id-247 #main .article,
  body.page-id-247 .entry-header,
  body.page-id-247 .entry-content {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  body.page-id-247 #sidebar,
  body.page-id-247 .sidebar {
    grid-column: 2 !important;
    display: block !important;
    float: none !important;
    clear: none !important;

    width: var(--ms-post-sidebar) !important;
    max-width: var(--ms-post-sidebar) !important;
    min-width: var(--ms-post-sidebar) !important;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
    align-self: start !important;
  }
}

/* ---------- Intro ---------- */

body.page-id-247 .entry-title {
  margin-bottom: 12px !important;
}

body.page-id-247 .entry-content > p:first-child {
  max-width: 700px !important;
  margin: 0 0 28px !important;
  padding: 0 !important;

  color: #5F6870 !important;
  font-size: 14px !important;
  line-height: 1.8 !important;
}

/* ---------- Query Loop ---------- */

body.page-id-247 .wp-block-query,
body.page-id-247 .wp-block-post-template {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.page-id-247 .wp-block-post-template {
  list-style: none !important;
}

/* One article = image + editorial index row */
body.page-id-247 .wp-block-post-template > .wp-block-post {
  display: grid !important;
  grid-template-columns: 220px minmax(0, 1fr) !important;
  grid-auto-flow: row !important;
  column-gap: 22px !important;
  row-gap: 0 !important;

  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 24px 0 25px !important;

  border-top: 1px solid var(--ms-border) !important;
  background: transparent !important;
  box-sizing: border-box !important;
}

body.page-id-247 .wp-block-post-template > .wp-block-post:last-child {
  border-bottom: 1px solid var(--ms-border) !important;
}

/* Featured image */
body.page-id-247 .wp-block-post-featured-image {
  grid-column: 1 !important;
  grid-row: 1 / span 6 !important;

  width: 220px !important;
  margin: 0 !important;
  padding: 0 !important;
  align-self: start !important;
}

body.page-id-247 .wp-block-post-featured-image a {
  display: block !important;
  width: 100% !important;
}

body.page-id-247 .wp-block-post-featured-image img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 4 / 3 !important;
  margin: 0 !important;

  object-fit: cover !important;
  border: 0 !important;
}

/* All text blocks live in the second column */
body.page-id-247 .wp-block-post-title,
body.page-id-247 .wp-block-post-date,
body.page-id-247 .wp-block-post-terms,
body.page-id-247 .wp-block-post-excerpt {
  grid-column: 2 !important;
  width: 100% !important;
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}

body.page-id-247 .wp-block-post-title {
  margin: 0 0 7px !important;
  padding: 0 !important;

  color: var(--ms-navy) !important;
  font-size: 19px !important;
  font-weight: 700 !important;
  line-height: 1.48 !important;
}

body.page-id-247 .wp-block-post-title a {
  color: var(--ms-navy) !important;
  text-decoration: none !important;
}

body.page-id-247 .wp-block-post-title a:hover {
  text-decoration: underline !important;
  text-underline-offset: 0.16em !important;
}

/* Date / category */
body.page-id-247 .wp-block-post-date,
body.page-id-247 .wp-block-post-terms {
  display: block !important;
  margin: 0 0 5px !important;
  padding: 0 !important;

  color: var(--ms-warmgray) !important;
  font-size: 11.5px !important;
  line-height: 1.5 !important;
}

body.page-id-247 .wp-block-post-terms a {
  color: var(--ms-bluegray) !important;
  text-decoration: none !important;
}

body.page-id-247 .wp-block-post-excerpt {
  margin: 5px 0 0 !important;
}

body.page-id-247 .wp-block-post-excerpt p {
  display: -webkit-box !important;
  overflow: hidden !important;

  margin: 0 !important;
  padding: 0 !important;

  color: var(--ms-text) !important;
  font-size: 13.5px !important;
  line-height: 1.70 !important;

  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 3 !important;
}

body.page-id-247 .wp-block-post-excerpt__more-text {
  display: none !important;
}

/* Pagination */
body.page-id-247 .wp-block-query-pagination {
  margin-top: 26px !important;
  padding-top: 18px !important;
  border-top: 1px solid var(--ms-border) !important;
}

body.page-id-247 .wp-block-query-pagination a {
  color: var(--ms-bluegray) !important;
  text-decoration: none !important;
}

/* ---------- Sidebar: same visual grammar as normal posts ---------- */

body.page-id-247 .sidebar .widget {
  margin: 0 0 28px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.page-id-247 .ms-sidebar-about,
body.page-id-247 .ms-sidebar-related {
  color: var(--ms-text) !important;
}

body.page-id-247 .ms-sidebar-about > p:first-child,
body.page-id-247 .ms-sidebar-related > p:first-child {
  margin: 0 0 11px !important;
  padding: 0 0 8px !important;

  color: var(--ms-navy) !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
  font-weight: 700 !important;
  letter-spacing: 0.07em !important;

  border-bottom: 1px solid var(--ms-border) !important;
}

body.page-id-247 .ms-sidebar-about p,
body.page-id-247 .ms-sidebar-related p {
  margin: 0 0 11px !important;
  padding: 0 !important;

  color: var(--ms-text) !important;
  font-size: 14px !important;
  line-height: 1.68 !important;
}

body.page-id-247 .ms-sidebar-about a,
body.page-id-247 .ms-sidebar-related a {
  font-size: 13.5px !important;
}

body.page-id-247 .ms-sidebar-about .ms-sidebar-policy-link,
body.page-id-247 .ms-sidebar-about .ms-sidebar-disclosure {
  margin: 7px 0 0 !important;
  padding: 0 !important;
  line-height: 1.6 !important;
}

body.page-id-247 .ms-sidebar-about .ms-sidebar-disclosure {
  margin-top: 6px !important;
}

body.page-id-247 .ms-sidebar-about .ms-sidebar-policy-link a,
body.page-id-247 .ms-sidebar-about .ms-sidebar-disclosure a {
  color: var(--ms-bluegray) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  text-decoration: underline !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 3px !important;
}

/* ---------- Tablet / mobile ---------- */

@media screen and (max-width: 1023px) {
  body.page-id-247 #content-in,
  body.page-id-247 .content-in {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding-left: var(--ms-gutter-mobile) !important;
    padding-right: var(--ms-gutter-mobile) !important;
    box-sizing: border-box !important;
  }

  body.page-id-247 #main,
  body.page-id-247 #main .article,
  body.page-id-247 .entry-content {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.page-id-247 #sidebar,
  body.page-id-247 .sidebar {
    display: none !important;
  }
}

@media screen and (max-width: 680px) {
  body.page-id-247 .wp-block-post-template > .wp-block-post {
    grid-template-columns: 112px minmax(0, 1fr) !important;
    column-gap: 12px !important;
    padding: 17px 0 18px !important;
  }

  body.page-id-247 .wp-block-post-featured-image {
    width: 112px !important;
  }

  body.page-id-247 .wp-block-post-title {
    margin-bottom: 4px !important;
    font-size: 14.5px !important;
    line-height: 1.42 !important;
  }

  body.page-id-247 .wp-block-post-date,
  body.page-id-247 .wp-block-post-terms {
    margin-bottom: 3px !important;
    font-size: 10.5px !important;
    line-height: 1.45 !important;
  }

  body.page-id-247 .wp-block-post-excerpt {
    margin-top: 3px !important;
  }

  body.page-id-247 .wp-block-post-excerpt p {
    font-size: 11.5px !important;
    line-height: 1.55 !important;
    -webkit-line-clamp: 3 !important;
  }
}

@media screen and (max-width: 390px) {
  body.page-id-247 .wp-block-post-template > .wp-block-post {
    grid-template-columns: 96px minmax(0, 1fr) !important;
    column-gap: 10px !important;
  }

  body.page-id-247 .wp-block-post-featured-image {
    width: 96px !important;
  }

  body.page-id-247 .wp-block-post-title {
    font-size: 13.5px !important;
  }

  body.page-id-247 .wp-block-post-excerpt p {
    -webkit-line-clamp: 2 !important;
  }
}

/* ==========================================================
   All Articles /articles/ — compact editorial index
   Page ID: 247
   v2.6.4
   ----------------------------------------------------------
   Keep thumbnails, but make the page behave like an index:
   compact row height, one-line meta, two-line excerpt.
   ========================================================== */

/* ---------- PC ---------- */

@media screen and (min-width: 1024px) {
  body.page-id-247 .wp-block-post-template > .wp-block-post {
    display: grid !important;
    grid-template-columns: 160px auto minmax(0, 1fr) !important;
    grid-template-rows: auto auto auto !important;
    column-gap: 18px !important;
    row-gap: 0 !important;

    padding: 17px 0 18px !important;
  }

  body.page-id-247 .wp-block-post-featured-image {
    grid-column: 1 !important;
    grid-row: 1 / 4 !important;

    width: 160px !important;
  }

  body.page-id-247 .wp-block-post-featured-image img {
    aspect-ratio: 3 / 2 !important;
  }

  /* Category + date on the same line */
  body.page-id-247 .wp-block-post-terms {
    grid-column: 2 !important;
    grid-row: 1 !important;

    width: auto !important;
    margin: 0 10px 5px 0 !important;
    padding: 0 !important;

    color: var(--ms-bluegray) !important;
    font-size: 11px !important;
    line-height: 1.45 !important;
  }

  body.page-id-247 .wp-block-post-date {
    grid-column: 3 !important;
    grid-row: 1 !important;

    width: auto !important;
    margin: 0 0 5px !important;
    padding: 0 !important;

    color: var(--ms-warmgray) !important;
    font-size: 11px !important;
    line-height: 1.45 !important;
  }

  body.page-id-247 .wp-block-post-title {
    grid-column: 2 / 4 !important;
    grid-row: 2 !important;

    margin: 0 0 5px !important;
    padding: 0 !important;

    font-size: 16.5px !important;
    line-height: 1.42 !important;
  }

  body.page-id-247 .wp-block-post-excerpt {
    grid-column: 2 / 4 !important;
    grid-row: 3 !important;

    margin: 0 !important;
    padding: 0 !important;
  }

  body.page-id-247 .wp-block-post-excerpt p {
    font-size: 12.5px !important;
    line-height: 1.58 !important;
    -webkit-line-clamp: 2 !important;
  }
}

/* ---------- Tablet / Mobile ---------- */

@media screen and (max-width: 1023px) {
  body.page-id-247 .wp-block-post-template > .wp-block-post {
    display: grid !important;
    grid-template-columns: 108px auto minmax(0, 1fr) !important;
    grid-template-rows: auto auto auto !important;
    column-gap: 12px !important;
    row-gap: 0 !important;

    padding: 15px 0 16px !important;
  }

  body.page-id-247 .wp-block-post-featured-image {
    grid-column: 1 !important;
    grid-row: 1 / 4 !important;

    width: 108px !important;
  }

  body.page-id-247 .wp-block-post-featured-image img {
    aspect-ratio: 3 / 2 !important;
  }

  body.page-id-247 .wp-block-post-terms {
    grid-column: 2 !important;
    grid-row: 1 !important;

    width: auto !important;
    margin: 0 8px 4px 0 !important;
    padding: 0 !important;

    font-size: 10px !important;
    line-height: 1.4 !important;
  }

  body.page-id-247 .wp-block-post-date {
    grid-column: 3 !important;
    grid-row: 1 !important;

    width: auto !important;
    margin: 0 0 4px !important;
    padding: 0 !important;

    font-size: 10px !important;
    line-height: 1.4 !important;
  }

  body.page-id-247 .wp-block-post-title {
    grid-column: 2 / 4 !important;
    grid-row: 2 !important;

    margin: 0 0 4px !important;
    padding: 0 !important;

    font-size: 13.5px !important;
    line-height: 1.4 !important;
  }

  body.page-id-247 .wp-block-post-excerpt {
    grid-column: 2 / 4 !important;
    grid-row: 3 !important;

    margin: 0 !important;
    padding: 0 !important;
  }

  body.page-id-247 .wp-block-post-excerpt p {
    font-size: 10.75px !important;
    line-height: 1.5 !important;
    -webkit-line-clamp: 2 !important;
  }
}

@media screen and (max-width: 390px) {
  body.page-id-247 .wp-block-post-template > .wp-block-post {
    grid-template-columns: 94px auto minmax(0, 1fr) !important;
    column-gap: 10px !important;
    padding: 14px 0 15px !important;
  }

  body.page-id-247 .wp-block-post-featured-image {
    width: 94px !important;
  }

  body.page-id-247 .wp-block-post-title {
    font-size: 12.75px !important;
  }

  body.page-id-247 .wp-block-post-excerpt p {
    font-size: 10.25px !important;
  }
}

/* If no category block is present, date/title/excerpt still align cleanly. */
body.page-id-247 .wp-block-post-template > .wp-block-post > .wp-block-post-title:first-of-type {
  min-width: 0 !important;
}

/* ==========================================================
   THEME CATEGORY ARCHIVE
   Category pages = editorial theme hubs
   v2.6.7
   ========================================================== */
body.category,
body.category #container,
body.category #content,
body.category #content-in,
body.category #main,
body.category .category-content,
body.category #sidebar,
body.category .sidebar { background-color:#FFFEFC !important; }

@media screen and (min-width:1024px){
  body.category #content-in, body.category #content-in.content-in{
    display:grid !important;
    grid-template-columns:minmax(0,var(--ms-post-main)) var(--ms-post-sidebar) !important;
    column-gap:var(--ms-post-gap) !important;
    align-items:start !important;
    width:100% !important; max-width:var(--ms-site-shell) !important;
    margin-left:auto !important; margin-right:auto !important;
    padding-left:var(--ms-gutter-pc) !important; padding-right:var(--ms-gutter-pc) !important;
    box-sizing:border-box !important;
  }
  body.category #main{
    grid-column:1 !important; float:none !important; clear:none !important;
    width:100% !important; max-width:none !important; min-width:0 !important;
    margin:0 !important; padding:0 !important; box-sizing:border-box !important;
  }
  body.category #sidebar, body.category .sidebar{
    grid-column:2 !important; display:block !important; float:none !important; clear:none !important;
    width:var(--ms-post-sidebar) !important; max-width:var(--ms-post-sidebar) !important;
    min-width:var(--ms-post-sidebar) !important; margin:0 !important; padding: 8px 0 0 !important;
    box-sizing:border-box !important; align-self:start !important;
  }
}

body.category .category-content{
  width:100% !important; max-width:none !important; margin:0 0 26px !important; padding:0 !important;
  border:0 !important; box-shadow:none !important;
}
body.category .category-header{ margin:0 !important; padding:0 !important; }
body.category .archive-title{
  margin:0 0 18px !important; padding:0 !important; color:var(--ms-navy) !important;
  font-size:30px !important; line-height:1.42 !important; font-weight:700 !important; border:0 !important;
}
body.category .archive-title .fa, body.category .archive-title .fas, body.category .archive-title .far{display:none !important;}

body.category .category-content .eye-catch-wrap{width:100% !important; margin:0 0 20px !important; padding:0 !important;}
body.category .category-content .eye-catch{
  position:relative !important; width:100% !important; margin:0 !important; padding:0 !important;
  overflow:hidden !important; aspect-ratio:16/6.4 !important; background:#EEF2F4 !important;
}
body.category .category-content .eye-catch-image, body.category .category-content .wp-category-image{
  display:block !important; width:100% !important; height:100% !important; margin:0 !important; object-fit:cover !important;
}
body.category .category-content .eye-catch .cat-label{display:none !important;}

body.category .category-page-content.entry-content{
  width:100% !important; max-width:none !important; margin:0 !important; padding:0 !important;
}
body.category .category-page-content.entry-content p{
  margin:0 0 10px !important; padding:0 !important; color:var(--ms-text) !important;
  font-size:14px !important; line-height:1.8 !important;
}
body.category .category-page-content .ms-theme-archive__group{
  display:inline-flex !important; width:fit-content !important; margin:0 0 10px !important; padding:4px 9px !important;
  border-radius:3px !important; background:#EEF2F4 !important; color:#4F6472 !important;
  font-size:11px !important; line-height:1 !important; font-weight:600 !important; letter-spacing:.02em !important;
}
body.category .category-page-content .ms-theme-archive__lead{
  max-width:700px !important; margin-bottom:8px !important; color:var(--ms-navy) !important;
  font-size:15px !important; line-height:1.75 !important; font-weight:600 !important;
}
body.category .category-page-content .ms-theme-archive__note{max-width:700px !important; color:#526069 !important;}
body.category .category-page-content .ms-theme-archive__articles-title{
  margin:30px 0 0 !important; padding:14px 0 9px !important; color:var(--ms-navy) !important;
  font-size:19px !important; line-height:1.45 !important; font-weight:700 !important;
  border-top:1px solid var(--ms-border) !important; border-bottom:1px solid var(--ms-border) !important;
  background:transparent !important;
}

body.category .list{width:100% !important; max-width:none !important; margin:0 !important; padding:0 !important;}
body.category .entry-card-wrap{
  display:block !important; width:100% !important; max-width:none !important; margin:0 !important; padding:0 !important;
  color:inherit !important; text-decoration:none !important; background:transparent !important;
  border:0 !important; border-bottom:1px solid var(--ms-border) !important; box-shadow:none !important;
}
body.category .entry-card{
  display:grid !important; grid-template-columns:160px minmax(0,1fr) !important; column-gap:18px !important; align-items:start !important;
  width:100% !important; min-height:0 !important; margin:0 !important; padding:17px 0 18px !important;
  background:transparent !important; box-sizing:border-box !important;
}
body.category .entry-card-thumb, body.category .card-thumb, body.category .entry-card-wrap figure{
  display:block !important; grid-column:1 !important; width:160px !important; margin:0 !important; padding:0 !important; overflow:hidden !important;
}
body.category .entry-card-thumb-image, body.category .card-thumb-image{
  display:block !important; width:100% !important; height:auto !important; aspect-ratio:3/2 !important; object-fit:cover !important;
}
body.category .entry-card-content{
  grid-column:2 !important; width:100% !important; max-width:none !important; margin:0 !important; padding:0 !important;
}
body.category .entry-card-title{
  width:100% !important; max-width:none !important; margin:0 0 5px !important; padding:0 !important;
  color:var(--ms-navy) !important; font-size:16.5px !important; line-height:1.42 !important; font-weight:700 !important;
}
body.category .entry-card-snippet{
  display:-webkit-box !important; overflow:hidden !important; width:100% !important; max-width:none !important;
  margin:0 !important; padding:0 !important; color:var(--ms-text) !important; font-size:12.5px !important;
  line-height:1.58 !important; -webkit-box-orient:vertical !important; -webkit-line-clamp:2 !important;
}
body.category .entry-card-meta, body.category .entry-card-info, body.category .post-date, body.category .post-update{
  margin-top:4px !important; color:var(--ms-warmgray) !important; font-size:11px !important; line-height:1.45 !important;
}
body.category .entry-card-wrap:hover, body.category .entry-card-wrap:hover .entry-card{background:transparent !important;}

body.category .sidebar .widget{margin:0 0 28px !important; padding:0 !important; background:transparent !important; border:0 !important; box-shadow:none !important;}
body.category .ms-sidebar-about>p:first-child, body.category .ms-sidebar-related>p:first-child{
  margin:0 0 11px !important; padding:0 0 8px !important; color:var(--ms-navy) !important; font-size:13px !important;
  line-height:1.4 !important; font-weight:700 !important; letter-spacing:.07em !important; border-bottom:1px solid var(--ms-border) !important;
}
body.category .ms-sidebar-about p, body.category .ms-sidebar-related p{
  margin:0 0 11px !important; padding:0 !important; color:var(--ms-text) !important; font-size:14px !important; line-height:1.68 !important;
}
body.category .ms-sidebar-about a, body.category .ms-sidebar-related a{font-size:13.5px !important;}

/* Category sidebar links: match normal-post sidebar tone */
body.category .ms-sidebar-about .ms-sidebar-policy-link,
body.category .ms-sidebar-about .ms-sidebar-disclosure {
  margin:7px 0 0 !important;
  line-height:1.6 !important;
}
body.category .ms-sidebar-about .ms-sidebar-disclosure {
  margin-top:6px !important;
}
body.category .ms-sidebar-about .ms-sidebar-policy-link a,
body.category .ms-sidebar-about .ms-sidebar-disclosure a {
  color:var(--ms-bluegray) !important;
  font-size:13px !important;
  font-weight:500 !important;
  text-decoration:underline !important;
  text-decoration-thickness:1px !important;
  text-underline-offset:3px !important;
}
body.category .ms-sidebar-about .ms-sidebar-policy-link a:hover,
body.category .ms-sidebar-about .ms-sidebar-policy-link a:focus-visible,
body.category .ms-sidebar-about .ms-sidebar-disclosure a:hover,
body.category .ms-sidebar-about .ms-sidebar-disclosure a:focus-visible {
  color:var(--ms-navy) !important;
}

@media screen and (max-width:1023px){
  body.category #content-in, body.category #content-in.content-in{
    display:block !important; width:100% !important; max-width:none !important; margin:0 !important;
    padding-left:var(--ms-gutter-mobile) !important; padding-right:var(--ms-gutter-mobile) !important; box-sizing:border-box !important;
  }
  body.category #main{width:100% !important; max-width:none !important; margin:0 !important; padding:0 !important;}
  body.category #sidebar, body.category .sidebar{display:none !important;}
  body.category .archive-title{margin-bottom:15px !important; font-size:24px !important;}
  body.category .category-content .eye-catch{aspect-ratio:16/8.5 !important;}
  body.category .category-page-content.entry-content p{font-size:13px !important; line-height:1.75 !important;}
  body.category .category-page-content .ms-theme-archive__lead{font-size:14px !important;}
  body.category .category-page-content .ms-theme-archive__articles-title{margin-top:24px !important; font-size:17px !important;}
  body.category .entry-card{grid-template-columns:108px minmax(0,1fr) !important; column-gap:12px !important; padding:15px 0 16px !important;}
  body.category .entry-card-thumb, body.category .card-thumb, body.category .entry-card-wrap figure{width:108px !important;}
  body.category .entry-card-title{font-size:13.5px !important; line-height:1.4 !important;}
  body.category .entry-card-snippet{font-size:10.75px !important; line-height:1.5 !important; -webkit-line-clamp:2 !important;}
  body.category .entry-card-meta, body.category .entry-card-info, body.category .post-date, body.category .post-update{font-size:10px !important;}
}
@media screen and (max-width:390px){
  body.category .entry-card{grid-template-columns:94px minmax(0,1fr) !important; column-gap:10px !important;}
  body.category .entry-card-thumb, body.category .card-thumb, body.category .entry-card-wrap figure{width:94px !important;}
}

/* ==========================================================
   THEME CATEGORY ARCHIVE — finishing polish
   v2.6.8
   ========================================================== */

/* 1) Admin-only PV counters are useful for management,
      but visually noisy on the editorial theme page. */
body.category .admin-pv {
  display: none !important;
}

/* 2) Match the HOME theme-category label exactly. */
body.category .category-page-content.entry-content .ms-theme-archive__group {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: fit-content !important;
  min-width: 0 !important;

  margin: 0 0 5px !important;
  padding: 3px 8px !important;

  border-radius: 3px !important;
  background: #EEF2F4 !important;
  color: #4F6472 !important;

  font-size: 11px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  letter-spacing: 0.02em !important;
  text-align: center !important;
}

/* 3) Article-card hierarchy:
      title -> date metadata -> excerpt.
      Cocoon normally aligns the date at the lower right. */
body.category .entry-card-content {
  display: flex !important;
  flex-direction: column !important;
}

body.category .entry-card-title {
  order: 1 !important;
}

body.category .entry-card-meta {
  order: 2 !important;
  width: 100% !important;
  margin: 0 0 5px !important;
  padding: 0 !important;
}

body.category .entry-card-info {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;

  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;

  text-align: left !important;
}

body.category .entry-card-snippet {
  order: 3 !important;
}

body.category .entry-card-info .post-date,
body.category .entry-card-info .post-update {
  display: inline-flex !important;
  align-items: center !important;

  margin: 0 !important;
  padding: 0 !important;

  color: var(--ms-warmgray) !important;
  font-size: 11px !important;
  line-height: 1.45 !important;
}

/* Avoid the old lower-right positioning surviving from Cocoon. */
body.category .entry-card-meta,
body.category .entry-card-info,
body.category .post-date,
body.category .post-update {
  float: none !important;
  clear: none !important;
  position: static !important;
  right: auto !important;
  bottom: auto !important;
}

/* Mobile keeps the same hierarchy at the smaller index scale. */
@media screen and (max-width: 1023px) {
  body.category .category-page-content.entry-content .ms-theme-archive__group {
    margin-bottom: 5px !important;
    padding: 3px 8px !important;
    font-size: 10.5px !important;
  }

  body.category .entry-card-meta {
    margin-bottom: 4px !important;
  }

  body.category .entry-card-info .post-date,
  body.category .entry-card-info .post-update {
    font-size: 10px !important;
  }
}

