.kn-timeline-item {
  display: flex;
  position: relative;
  padding-bottom: 10px;
}

.policy-module .qah2-2 {
  position: relative;
  padding-left: 2.5em;
  padding-right: 3em;
  font-variant-numeric: tabular-nums;
  line-height: 1.3em;
  letter-spacing: .02em;
  margin: 0 !important;
  font-size: 1.8em;
  font-weight: 900;
  text-align: left;
}

/* ===== 重点政策（アコーディオン中身・本番準拠） ===== */
/* base の policy.css（罫線・太字）が干渉するため、詳細度で上書きして本番の見た目に揃える */

.policy-module .accordion__body ul { list-style: none; border: none; padding: 0 0 1em 1em; margin-top: 0; }
.policy-module .accordion__body p { font-size: 1.2em; line-height: 1.5em; margin: 1em 0; }
.module-policy2 .accordion__body p { padding-left: 1em; margin-top: 0; font-size: 1.1em; font-weight: 500; }

/* サブタイトル：青・太字・1.5em・●なし・罫線なし */
.module-policy2 .accordion__body ul li.policylist-subtitle {
  color: var(--color-primary);
  font-weight: 900;
  font-size: 1.5em;
  margin-bottom: .5em;
  padding-top: 0;
  border: none;
}
.policy-module .policylist-subtitle::before { content: none !important; }

/* 説明文（子li）：金●・通常テキスト・罫線なし */
.module-policy2 .accordion__body ul ul li,
.module-policy2 .accordion__body ul ul li:last-child {
  color: var(--color-text);
  font-weight: normal;
  font-size: 1em;
  line-height: 1.6em;
  margin-bottom: 0;
  padding-top: 0;
  border: none;
}

/* 最終li の下線を消す（base policy.css の border-bottom !important を上書き） */
.module-policy2 .accordion__body ul li:last-child { border-bottom: none !important; }

/* lead-copy：太字（下線なし／marker1 で強調）。PC/SP 共通で 900・下余白.5em
   .accordion__body を含めて SP の .policy0 p（margin-bottom:1.5em）より詳細度を高くする */
.module-policy2 .accordion__body .policy0 > .lead-copy {
  font-weight: 900;
  margin-bottom: .5em;
}

/* プロフィール写真を正円にトリミング（画像は正方形＋object-fit: cover） */
/* position+z-index は兄弟の .top-section-body-wrap.prof01 より前面に置くため */
.prof-img {
  border-radius: 50%;
  background-color: #f2f2f2;
  border: 4px solid #fabe00;
  position: relative;
  z-index: 1;
}

/* ===== base CSS から退避した muto 固有指定 ===== */
/* contact.css：コンタクトページ上余白を詰める */
.page-contact.module-contact { padding-top: 0 !important; }
/* sns.css：シェアエリアを中央寄せ */
.spread-wrap { text-align: center; }
/* style.css：SNSメニュー上余白 */
.drawer__nav__menu .menu-account-area { margin-top: 20px; }

/* news-multi の上余白を PC でも SP 同様 40px に */
.module.module--news-multi { padding-top: 40px; }

.profile-list {
  margin-top: 2em;
  margin-bottom: 1em;
  background: #f2f2f2;
  padding: 1em;
}

.account-area {
  padding-top: 0px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

/* 各セクション本文ブロック：背景なし＋黄の囲み罫線で統一 */
.message-body,
.top-section-body-wrap.prof01,
.policy-body,
.general-body,
.box-atenntion {
  background: none;
  border: 2px solid #aaaaaa;
}
.policy-body { padding-top: 4em; }
/* box-atenntion 内側のグレー背景（base style.css 由来）を消す */
.box-atenntion .box-atenntion-content { background: none; }

/* policy-a：見出しと番号を青に、アコーディオン頭・最終項目下罫線を 4px 青に */
.policy-module .qah2-2 { color: var(--color-primary); }
.policy-module .qah2-2::before { color: var(--color-primary); }
/* policy-a：見出しの鍵括弧「」の太さを 400 に（色は qah2-2 を継承） */
.policy-module .qah2-2 .kagi { font-weight: 400; }
.policy-module .accordion__head { border-top: 2px solid var(--color-primary); }
.policy-module .accordion__list .last-item { border-bottom: 2px solid var(--color-primary) !important; }

/* contact-accordion：囲み罫線を 4px に */
.contact-accordion .accordion__item { border: 2px solid var(--color-primary); }

/* ニュースラベルの背景色を赤に（base は橙 var(--color-label-news)） */
.label-news { background: #cb171d; }

/* プロフィール導入文の段落 margin-top を詰める */
.profile-intro p { margin-top: 0; }

/* WPコアの .has-medium-font-size{…!important} に負けるため !important で上書き */
.has-medium-font-size { font-size: 1.4em !important; }

/* 太字を 700 に（base は 500） */
.bold, strong { font-weight: 700; }

/* general セクション見出し（PCのみ） */
@media (min-width: 769px) {
  .module--general .wp-block-heading.has-text-align-center { font-size: 1.6em; }
  .module-policy2 .policy0 { padding-left: 2em; }
  .module-policy2 .policy0 > .lead-copy { font-size: 1.5em; }
  .module-policy2 .policy0 > .lead-desc { margin-bottom: 1em; }
  .policy-module .accordion__body ul { padding-bottom: 0; }
  .policy-module .accordion__head { min-height: 5em; }
  .policy-module .qah2-2 { font-size: 2em; }
  /* profile.css：プロフィール項目のラベル列幅（base は 10em）。SP は base の1カラムを維持するため PC 限定 */
  .profile-item { grid-template-columns: 8em 1fr; }
  .top-section-body-wrap.prof01 { margin-top: -170px; }
}

/* ===== スマホ（PC/共通ルールより後に集約。これにより同詳細度でも上書きが効く）===== */
@media (max-width: 768px) {
  .module-policy2 .accordion__body ul li.policylist-subtitle {
    color: var(--color-primary);
    font-weight: 900;
    font-size: 1.2em !important; /* policy.css SP の 1.15em !important に勝つため必要 */
    margin-bottom: .5em;
    padding-top: 0;
    border: none;
    line-height: 1.4em;
  }
  .module-policy2 .accordion__body .policy0 ul {
    list-style: none;
    border: none;
    padding: 0;
    margin-top: 0;
  }
  .policy-module .qah2-2::before {
    left: 5px;
    font-size: 3em;
  }
  .policy-module .qah2-2 {
    position: relative;
    padding-left: 2em;
    padding-right: .5em;
    padding-top: 10px;
    padding-bottom: 10px;
    font-variant-numeric: tabular-nums;
    line-height: 1.4;
    letter-spacing: .02em;
    margin: 0 !important;
    font-size: 1.4em;
    font-weight: 900;
    text-align: left;
  }
  .catchphrase,
  .is-style-catchphrase { font-size: 1.3em !important; }
  .top-section-body-wrap.prof01 {
    margin-top: -100px;
    padding-top: 100px;
    padding-left: 1em;
    padding-right: 1em;
    padding-bottom: 1em;
  }
  .module-policy2 .accordion__body .policy0 p {
    padding-left: 0;
    margin-top: 0;
    font-size: 1.2em;
    margin-bottom: 1.5em;
  }
  .module-policy2 .accordion__body .policy0 > .lead-desc { font-size: 1em; }
  .account-area .account-icon {
    height: 40px;
    width: 40px;
  }
  .general-body h3 {
    font-weight: 900;
    font-size: 1.3em;
  }
  .accordion__list_prof {
    margin-top: 1em;
    margin-bottom: .5em;
    padding-top: 0;
  }
  .module--policy .policy-body,
  .module--policy-b .policy-body { padding-bottom: 1em; padding-top: 1em; }
  .section-head .top-section-title { font-size: 1.4em; }
  .message-body,
  .general-body {
    padding-left: 1em;
    padding-right: 1em;
    padding-top: 0;
    padding-bottom: 1em;
  }
  .has-medium-font-size { font-size: 1.1em !important; }
}
