/**
 * 品質経営ハブ(QDM)共通スタイル - 案B(2026-08-14確定)
 * 対象: T01(template-qdm-top.php)/T02(template-qdm-concept.php)/専用ヘッダー・フッター
 *
 * テーマ既存CSS(app.css)との衝突を避けるため、全クラスに qdm- プレフィックスを付与。
 * 色変数は body.qdm-body スコープで定義(QDMページ以外に漏れない)。
 * 見出しのセリフ体は .qdm-serif を併用する。
 */

body.qdm-body {
  --qdm-teal: #17808d;
  --qdm-teal-dark: #106570;
  --qdm-teal-light: #e2f1f3;
  --qdm-teal-text: #1a7480; /* 小さめ文字でも読めるよう濃色(案B) */
  --qdm-navy: #12283a;
  --qdm-band-navy: #0f2233;
  --qdm-gold: #d1a23c;
  --qdm-gold-dark: #c2922e;
  --qdm-text: #2b3a45;
  --qdm-text-weak: #6b7a85;
  --qdm-bg: #f2f7f8;
  --qdm-line: #dde6e9;
  --qdm-card-line: #e3eaed;
  --qdm-maroon: #7a1f2b; /* コーポレートの差し色(T04の章カード・断絶マークで使用) */

  color: var(--qdm-text);
  line-height: 1.8;
}

.qdm-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 32px;
}

.qdm-accent {
  color: var(--qdm-teal-text);
}

.qdm-serif {
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;
}

/* ===== ボタン ===== */
.qdm-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 34px;
  border-radius: 4px;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-decoration: none;
  transition: opacity 0.2s, background 0.2s;
  cursor: pointer;
}

.qdm-btn--primary {
  background: var(--qdm-teal);
  color: #fff;
}

.qdm-btn--primary:hover {
  background: var(--qdm-teal-dark);
}

.qdm-btn--outline {
  background: #fff;
  color: var(--qdm-navy);
  border: 1px solid var(--qdm-navy);
  padding: 13px 33px;
}

.qdm-btn--outline:hover {
  opacity: 0.7;
}

/* 案B: ゴールドは紺文字(白文字はコントラスト比2.4:1で基準未達のため) */
.qdm-btn--gold {
  background: var(--qdm-gold);
  color: var(--qdm-navy);
  font-size: 14px;
  flex-shrink: 0;
}

.qdm-btn--gold:hover {
  background: var(--qdm-gold-dark);
}

/* 紺地の上に置く白枠ボタン */
.qdm-btn--ghost-light {
  background: transparent;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.55);
  padding: 13px 33px;
}

.qdm-btn--ghost-light:hover {
  opacity: 0.75;
}

/* ===== 専用ヘッダー(header-qdm.php) ===== */
.qdm-header {
  background: #fff;
  border-bottom: 1px solid var(--qdm-line);
  position: sticky;
  top: 0;
  z-index: 100;
}

.qdm-header__inner {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  max-width: 1360px;
  margin: 0 auto;
  padding-left: 32px;
  min-height: 72px;
  position: relative;
}

.qdm-header__logo {
  display: flex;
  align-items: center;
}

.qdm-header__logo__image {
  width: 123px;
  height: auto;
}

/* ロゴ+サイト名リンクのまとまり(2026-09-10追加)。flexの space-between でナビが中央に来る配置を維持するため1ブロックにする */
.qdm-header__brand {
  display: flex;
  align-items: center;
}

/* ロゴ横の「‹ TOPに戻る」リンク: 品質経営ハブTOP(T01)へ戻る導線(2026-09-10追加)。
   当初は上段に「品質経営ハブ」(.qdm-header__site__name)を併記した2段組だったが、
   同日ユーザー指示でその文言を外し1行にした(名残の .qdm-header__site__name は削除済み)。 */
.qdm-header__site {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-left: 16px;
  padding-left: 16px;
  border-left: 1px solid var(--qdm-line);
  min-height: 40px;
  text-decoration: none;
  line-height: 1.3;
  white-space: nowrap;
}

.qdm-header__site__back {
  font-size: 13px;
  font-weight: 700;
  color: var(--qdm-teal-text);
  letter-spacing: 0.02em;
  transition: color 0.2s;
}

.qdm-header__site__back::before {
  content: "\2039\00a0"; /* ‹ */
}

.qdm-header__site:hover .qdm-header__site__back {
  color: var(--qdm-teal);
}

.qdm-header__nav {
  display: flex;
  align-items: stretch;
}

.qdm-header__nav__list {
  display: flex;
  align-items: center;
  gap: 34px;
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 15px;
  font-weight: 500;
}

.qdm-header__nav__link {
  color: var(--qdm-text);
  text-decoration: none;
  transition: color 0.2s;
}

.qdm-header__nav__link:hover {
  color: var(--qdm-teal);
}

.qdm-header__nav__link.is-active {
  color: var(--qdm-teal-text);
  font-weight: 700;
}

.qdm-header__nav__link--disabled {
  color: var(--qdm-text-weak);
  cursor: default;
}

.qdm-header__right {
  display: flex;
  align-items: stretch;
  margin-left: 34px;
}

.qdm-header__search {
  align-self: center;
  width: 38px;
  height: 38px;
  border: 1px solid var(--qdm-line);
  border-radius: 50%;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 18px;
  color: var(--qdm-text-weak);
  cursor: pointer;
}

/* 案B: 濃ティール背景+白文字1行(コントラスト比約5.9:1)。
   ナビ内リンク色に負けないよう詳細度を上げて白を確定させる */
.qdm-header__cta,
.qdm-header__nav .qdm-header__cta,
a.qdm-header__cta:hover {
  display: flex;
  align-items: center;
  padding: 0 30px;
  background: var(--qdm-teal-dark);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  white-space: nowrap;
  text-decoration: none;
  transition: background 0.2s;
}

a.qdm-header__cta:hover {
  background: var(--qdm-navy);
}

.qdm-header__cta--disabled {
  cursor: default;
}

/* モバイル用ハンバーガー */
.qdm-header__menu-btn {
  display: none;
  align-self: center;
  margin-right: 18px;
  width: 42px;
  height: 42px;
  border: 1px solid var(--qdm-line);
  border-radius: 8px;
  background: #fff;
  cursor: pointer;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 0;
}

.qdm-header__menu-btn i {
  display: block;
  width: 18px;
  height: 2px;
  background: var(--qdm-navy);
  border-radius: 2px;
  transition: transform 0.2s, opacity 0.2s;
}

.qdm-header.is-open .qdm-header__menu-btn i:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}

.qdm-header.is-open .qdm-header__menu-btn i:nth-child(2) {
  opacity: 0;
}

.qdm-header.is-open .qdm-header__menu-btn i:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

/* ===== ページ本体ラッパー ===== */
.qdm {
  background: #fff;
}

/* ===== セクション共通(案B: 交互背景+英字小見出し) ===== */
.qdm-section {
  padding: 76px 0;
}

.qdm-section--alt {
  background: var(--qdm-bg);
}

.qdm-section__eyebrow {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.16em;
  color: var(--qdm-teal-text);
  text-transform: uppercase;
  margin-bottom: 14px;
}

.qdm-section__eyebrow .qdm-section__eyebrow-num {
  font-size: 13px;
  color: var(--qdm-gold-dark);
}

.qdm-section__eyebrow::after {
  content: "";
  width: 46px;
  height: 1px;
  background: var(--qdm-line);
}

.qdm-section__title {
  font-size: 30px;
  font-weight: 700;
  color: var(--qdm-navy);
  line-height: 1.55;
  margin-bottom: 26px;
  letter-spacing: 0.03em;
}

.qdm-section__body {
  max-width: 760px;
}

.qdm-section__body p {
  margin-bottom: 1.4em;
  font-size: 15.5px;
}

.qdm-section__body p:last-child {
  margin-bottom: 0;
}

/* 主張文の引用スタイル(文言は原案のまま・見せ方のみ) */
.qdm-pull {
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-size: 21px;
  font-weight: 600;
  line-height: 1.7;
  color: var(--qdm-navy);
  border-left: 3px solid var(--qdm-gold);
  padding: 6px 0 6px 22px;
  margin: 30px 0 0;
  max-width: 720px;
}

/* ===== カード共通 ===== */
.qdm-card {
  background: #fff;
  border: 1px solid var(--qdm-card-line);
  border-radius: 8px;
  padding: 30px 28px 24px;
  box-shadow: 0 4px 20px rgba(18, 40, 58, 0.05);
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
  transition: box-shadow 0.2s, transform 0.2s;
}

a.qdm-card:hover {
  box-shadow: 0 8px 28px rgba(18, 40, 58, 0.11);
  transform: translateY(-2px);
}

.qdm-card__icon {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: var(--qdm-teal-light);
  color: var(--qdm-teal-dark);
  font-size: 20px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 18px;
}

.qdm-card__icon--square {
  width: 44px;
  height: 44px;
  font-size: 15px;
  border-radius: 8px;
}

.qdm-card__title {
  font-size: 18px;
  font-weight: 700;
  color: var(--qdm-navy);
  margin-bottom: 10px;
}

.qdm-card__text {
  font-size: 13.5px;
  color: var(--qdm-text-weak);
  line-height: 1.9;
  flex: 1;
}

.qdm-card__arrow {
  align-self: flex-end;
  color: var(--qdm-teal);
  font-size: 20px;
  margin-top: 14px;
  transition: transform 0.2s;
}

a.qdm-card:hover .qdm-card__arrow {
  transform: translateX(4px);
}

/* ===== T01: ヒーロー ===== */
/* 2026-08-19: 図版を右カラムのimgから「ヒーロー領域(入口カード含む)全面の背景レイヤー」へ変更。
   薄緑グラデーションはそのまま残し、その上に背景透過PNGの図を重ねる。 */
.qdm-hero {
  background: linear-gradient(135deg, #eef6f4 0%, var(--qdm-bg) 55%, #eaf3f5 100%);
  position: relative;
  overflow: hidden;
}

/* 背景図版レイヤー: 画像の原寸のまま・上端基準・左右中央に固定して敷く。
   2026-08-19: 幅100%(width:100%/height:auto)だと図がビューポート幅に比例して伸縮し、
   ウィンドウのリサイズやズームのたびに図が文章・カードに対して動いてしまうため、
   原寸固定へ変更した。原寸なら文字・カードと同じ座標系になり、どの幅でも位置関係が動かない。
   width/height は指定しない(=画像本来のサイズ。引き伸ばし・縮小をしない)ので、
   画像を作り直して差し替えてもCSSの再修正は不要。
   object-fit/object-position/inset は使わない(横方向のトリミングが起きるため)。
   ヒーローよりはみ出す分は親の overflow: hidden で切られる。
   ※ここに入れる画像は必ず背景透過PNG。白背景の画像は白い長方形で背景を覆ってしまう。 */
.qdm-hero__bg {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  pointer-events: none;
  z-index: 0;
}

/* 文章もカードも図版の上に置く(z-index: 図=0 / 文字・カード=2) */
.qdm-hero__inner,
.qdm-hero > .qdm-container {
  position: relative;
  z-index: 2;
}

.qdm-hero__inner {
  padding-top: 36px;
  padding-bottom: 40px;
}

.qdm-hero__eyebrow {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.18em;
  color: var(--qdm-teal-text);
  text-transform: uppercase;
  margin-bottom: 14px;
}

.qdm-hero__title {
  font-size: 36px;
  font-weight: 700;
  line-height: 1.5;
  color: var(--qdm-navy);
  margin-bottom: 18px;
  letter-spacing: 0.03em;
}

.qdm-hero__lead {
  max-width: 600px;
  margin-bottom: 24px;
}

.qdm-hero__lead p {
  font-size: 14px;
  margin-bottom: 0.9em;
}

.qdm-hero__lead p:last-child {
  margin-bottom: 0;
}

.qdm-hero__buttons {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}

/* ===== T01: 三つの入口 ===== */
.qdm-entrances__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  list-style: none;
  margin: 0;
  padding: 0;
}

/* ===== T01: 四つの変換 ===== */
.qdm-conversions__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.qdm-conversions__list .qdm-card {
  padding: 26px 22px 22px;
}

.qdm-conversions__list .qdm-card__title {
  font-size: 16.5px;
}

/* ===== T01: 診断導線(概念理解後の案内) ===== */
.qdm-discuss-cta {
  margin-top: 44px;
  display: flex;
  justify-content: center;
}

/* ===== 紺バンド(T01: 書籍を基準点に / T02: 診断導線) ===== */
.qdm-band {
  padding: 76px 0 96px;
}

.qdm-band__inner {
  background: var(--qdm-band-navy);
  border-radius: 8px;
  padding: 46px 48px;
  color: #fff;
  position: relative;
  overflow: hidden;
}

.qdm-band__inner::after {
  content: "";
  position: absolute;
  right: -70px;
  top: -70px;
  width: 240px;
  height: 240px;
  border: 1px solid rgba(209, 162, 60, 0.35);
  border-radius: 50%;
  pointer-events: none;
}

.qdm-band__inner::before {
  content: "";
  position: absolute;
  right: -30px;
  top: -30px;
  width: 160px;
  height: 160px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 50%;
  pointer-events: none;
}

.qdm-band__title {
  font-size: 24px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 18px;
  letter-spacing: 0.03em;
  position: relative;
  z-index: 1;
}

.qdm-band__body {
  max-width: 800px;
  position: relative;
  z-index: 1;
}

.qdm-band__body p {
  font-size: 14.5px;
  color: #d7e0e7;
  margin-bottom: 1.3em;
}

.qdm-band__body p:last-child {
  margin-bottom: 0;
}

.qdm-band__buttons {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  margin-top: 26px;
  position: relative;
  z-index: 1;
}

/* T01紺帯の右下CTA(案A-2・2026-08-20)。円形装飾(.qdm-band__inner::after)より手前に出すため z-index: 1 */
.qdm-band__cta {
  margin-top: 24px;
  text-align: right;
  position: relative;
  z-index: 1;
}

/* ===== T02: ヒーロー ===== */
.qdm-concept-hero {
  background: linear-gradient(135deg, #eef6f4 0%, var(--qdm-bg) 55%, #eaf3f5 100%);
  position: relative;
  overflow: hidden;
}

.qdm-concept-hero__deco {
  position: absolute;
  right: -60px;
  top: 50%;
  transform: translateY(-50%);
  width: 460px;
  height: 460px;
  opacity: 0.45;
  pointer-events: none;
}

.qdm-concept-hero__deco img,
.qdm-concept-hero__deco svg {
  width: 100%;
  height: 100%;
}

.qdm-concept-hero__inner {
  padding-top: 64px;
  padding-bottom: 52px;
  position: relative;
}

.qdm-concept-hero__eyebrow {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.18em;
  color: var(--qdm-teal-text);
  text-transform: uppercase;
  margin-bottom: 18px;
}

.qdm-concept-hero__title {
  font-size: 40px;
  font-weight: 700;
  line-height: 1.55;
  color: var(--qdm-navy);
  letter-spacing: 0.03em;
  margin-bottom: 22px;
}

.qdm-concept-hero__lead {
  font-size: 15.5px;
  max-width: 820px;
}

/* ===== T02: 上段2カラム(3つの時代+3つの問い) ===== */
.qdm-concept-top {
  background: linear-gradient(180deg, #eaf3f5 0%, #fff 78%);
  padding-bottom: 12px;
}

.qdm-concept-top__inner {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 28px;
  align-items: start;
}

.qdm-eras {
  background: #fff;
  border: 1px solid var(--qdm-card-line);
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(18, 40, 58, 0.05);
  padding: 26px 26px 22px;
}

.qdm-eras__title {
  font-size: 18px;
  font-weight: 700;
  color: var(--qdm-navy);
  margin-bottom: 18px;
}

.qdm-eras__list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.qdm-era {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  border: 1px solid var(--qdm-card-line);
  border-left: 4px solid var(--qdm-line);
  border-radius: 6px;
  padding: 13px 18px;
  background: #fbfdfd;
}

.qdm-era--current {
  background: var(--qdm-teal-light);
  border-color: #c8e2e6;
  border-left-color: var(--qdm-teal);
}

.qdm-era__name {
  font-size: 14.5px;
  font-weight: 700;
  color: var(--qdm-navy);
}

.qdm-era--current .qdm-era__name {
  color: var(--qdm-teal-dark);
}

.qdm-era__meta {
  font-size: 12px;
  color: var(--qdm-text-weak);
  text-align: right;
  flex-shrink: 0;
}

.qdm-trust-mini__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-top: 16px;
}

.qdm-trust-mini {
  background: #fff;
  border: 1px solid var(--qdm-card-line);
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(18, 40, 58, 0.05);
  padding: 16px 14px;
  text-align: center;
}

.qdm-trust-mini__name {
  font-size: 15px;
  font-weight: 700;
  color: var(--qdm-navy);
  margin-bottom: 2px;
}

.qdm-trust-mini__caption {
  font-size: 11.5px;
  color: var(--qdm-text-weak);
  letter-spacing: 0.04em;
}

.qdm-questions {
  background: var(--qdm-band-navy);
  border-radius: 8px;
  padding: 28px 26px 26px;
  color: #fff;
}

.qdm-questions__title {
  font-size: 17px;
  font-weight: 700;
  margin-bottom: 16px;
  color: #fff;
}

.qdm-questions__list {
  list-style: none;
  counter-reset: qdm-q;
  margin: 0 0 22px;
  padding: 0;
}

.qdm-questions__list li {
  counter-increment: qdm-q;
  position: relative;
  padding-left: 24px;
  font-size: 13.5px;
  line-height: 1.8;
  color: #d7e0e7;
  margin-bottom: 10px;
}

.qdm-questions__list li::before {
  content: counter(qdm-q) ".";
  position: absolute;
  left: 0;
  color: var(--qdm-gold);
  font-weight: 700;
}

.qdm-questions .qdm-btn {
  width: 100%;
}

/* ===== T02: 比較カード・信頼3カード ===== */
.qdm-defs {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  margin: 8px 0 26px;
}

.qdm-defs--three {
  grid-template-columns: repeat(3, 1fr);
}

.qdm-def {
  background: #fff;
  border: 1px solid var(--qdm-card-line);
  border-top: 3px solid var(--qdm-line);
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(18, 40, 58, 0.05);
  padding: 22px 24px;
}

.qdm-def--highlight {
  border-top-color: var(--qdm-teal);
}

.qdm-defs--vs {
  position: relative;
  max-width: 860px; /* T02「違い」の比較カード: 同ページのVOCフロー図(.qdm-flow)と同じ幅に揃える(2026-09-10・見栄え指摘対応。760pxは右余白が目立つため860pxへ) */
}

.qdm-defs--vs::after {
  content: "\27A2";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: var(--qdm-teal);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 19px;
  box-shadow: 0 4px 14px rgba(18, 40, 58, 0.22);
  border: 3px solid #fff;
}

.qdm-def__tag {
  display: inline-block;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.1em;
  padding: 3px 12px;
  border-radius: 999px;
  margin-bottom: 12px;
  text-transform: uppercase;
}

.qdm-def__tag--gray {
  background: #eef2f4;
  color: var(--qdm-text-weak);
}

.qdm-def__tag--teal {
  background: var(--qdm-teal);
  color: #fff;
}

.qdm-def--tint {
  background: linear-gradient(160deg, #e9f5f7 0%, #f8fcfd 100%);
  border-color: #c8e2e6;
  border-top-color: var(--qdm-teal);
}

.qdm-def--tint .qdm-def__name {
  color: var(--qdm-teal-dark);
}

.qdm-def--tint .qdm-def__text {
  color: var(--qdm-text);
}

.qdm-def__name {
  font-size: 16.5px;
  font-weight: 700;
  color: var(--qdm-navy);
  margin-bottom: 8px;
}

.qdm-def__text {
  font-size: 13.5px;
  color: var(--qdm-text-weak);
  line-height: 1.9;
}

/* ===== T02: VOCフロー図(内蔵版) ===== */
.qdm-flow {
  display: flex;
  align-items: stretch;
  margin: 30px 0 6px;
  max-width: 860px;
}

.qdm-flow--image img {
  max-width: 860px;
  width: 100%;
  height: auto;
}

.qdm-flow__step {
  flex: 1;
  background: #fff;
  border: 1px solid var(--qdm-card-line);
  border-radius: 8px;
  padding: 18px 20px;
  box-shadow: 0 4px 20px rgba(18, 40, 58, 0.05);
}

.qdm-flow__step--accent {
  background: var(--qdm-band-navy);
  border-color: var(--qdm-band-navy);
}

.qdm-flow__label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: var(--qdm-teal-text);
  text-transform: uppercase;
  margin-bottom: 6px;
}

.qdm-flow__step--accent .qdm-flow__label {
  color: var(--qdm-gold);
}

.qdm-flow__name {
  font-size: 15px;
  font-weight: 700;
  color: var(--qdm-navy);
  margin-bottom: 4px;
}

.qdm-flow__step--accent .qdm-flow__name {
  color: #fff;
}

.qdm-flow__text {
  font-size: 12px;
  color: var(--qdm-text-weak);
  line-height: 1.7;
}

.qdm-flow__step--accent .qdm-flow__text {
  color: #b8c5cf;
}

.qdm-flow__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  color: var(--qdm-teal);
  font-size: 18px;
  flex-shrink: 0;
}

/* ===== T02: AI×人ベン図 ===== */
.qdm-venn {
  display: flex;
  justify-content: center;
  margin: 34px 0 8px;
}

.qdm-venn svg,
.qdm-venn img {
  width: 100%;
  max-width: 560px;
  height: auto;
}

/* ===== T03: ヒーローリード(2段落) ===== */
.qdm-t03-hero-lead p {
  margin-bottom: 1.2em;
}

.qdm-t03-hero-lead p:last-child {
  margin-bottom: 0;
}

/* ===== T03: ローマ数字の章番号(Ⅰ〜Ⅲ) ===== */
.qdm-section__eyebrow-num.qdm-serif {
  font-size: 15px;
}

/* ===== T03: 三段構造の概観図 ===== */
.qdm-arch-intro {
  background: linear-gradient(180deg, #eaf3f5 0%, #fff 82%);
  padding-bottom: 8px;
}

.qdm-arch {
  background: #fff;
  border: 1px solid var(--qdm-card-line);
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(18, 40, 58, 0.05);
  padding: 30px 34px;
  max-width: 880px;
  margin: 0 auto;
}

.qdm-arch--image {
  text-align: center;
}

.qdm-arch--image img {
  max-width: 100%;
  height: auto;
}

.qdm-arch__title {
  font-size: 17px;
  font-weight: 700;
  color: var(--qdm-navy);
  text-align: center;
  margin-bottom: 22px;
}

.qdm-arch__stack {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.qdm-arch__layer {
  display: flex;
  align-items: center;
  gap: 16px;
  border: 1px solid var(--qdm-card-line);
  border-left: 4px solid var(--qdm-line);
  border-radius: 6px;
  background: #fbfdfd;
  padding: 14px 22px;
  width: 100%;
}

/* 上に行くほど幅を絞り、下(原理)が土台に見えるように。
   左罫線色は各セクションのカード上罫線と対応(Ⅲ=紺/Ⅱ=ゴールド/Ⅰ=ティール) */
.qdm-arch__layer--top {
  width: 84%;
  border-left-color: var(--qdm-navy);
}

.qdm-arch__layer--mid {
  width: 92%;
  border-left-color: var(--qdm-gold);
}

.qdm-arch__layer--base {
  border-left-color: var(--qdm-teal);
}

.qdm-arch__num {
  font-size: 20px;
  font-weight: 700;
  flex-shrink: 0;
  width: 26px;
  text-align: center;
}

.qdm-arch__layer--top .qdm-arch__num {
  color: var(--qdm-navy);
}

.qdm-arch__layer--mid .qdm-arch__num {
  color: var(--qdm-gold-dark);
}

.qdm-arch__layer--base .qdm-arch__num {
  color: var(--qdm-teal-dark);
}

.qdm-arch__label {
  flex: 1;
}

.qdm-arch__en {
  display: block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  color: var(--qdm-teal-text);
  text-transform: uppercase;
}

.qdm-arch__name {
  display: block;
  font-size: 15px;
  font-weight: 700;
  color: var(--qdm-navy);
}

.qdm-arch__keys {
  font-size: 11.5px;
  color: var(--qdm-text-weak);
  text-align: right;
  flex-shrink: 0;
  line-height: 1.6;
}

.qdm-arch__joint {
  width: 1px;
  height: 12px;
  background: #b9d3d8;
}

/* ===== T03: 4枚組カード(2×2) ===== */
.qdm-defs--four {
  max-width: 1000px;
  margin-bottom: 0;
}

.qdm-def--teal {
  border-top-color: var(--qdm-teal);
}

.qdm-def--gold {
  border-top-color: var(--qdm-gold);
}

.qdm-def--navy {
  border-top-color: var(--qdm-navy);
}

.qdm-def__tag--soft {
  background: var(--qdm-teal-light);
  color: var(--qdm-teal-dark);
}

.qdm-def__tag--navysoft {
  background: #e8edf2;
  color: var(--qdm-navy);
}

/* ===== T03: 四つの変換フロー(4ステップ版) ===== */
.qdm-flow--four {
  max-width: 1080px;
  margin: 8px 0 34px;
}

.qdm-flow--four .qdm-flow__arrow {
  width: 40px;
}

.qdm-flow--four .qdm-flow__name {
  font-size: 16px;
}

.qdm-flow__label--num {
  color: var(--qdm-gold-dark);
}

/* ===== T03: 実務に置き換える四つの問い ===== */
.qdm-qpanel {
  background: var(--qdm-band-navy);
  border-radius: 8px;
  padding: 38px 44px 40px;
  color: #fff;
  position: relative;
  overflow: hidden;
}

.qdm-qpanel::after {
  content: "";
  position: absolute;
  right: -70px;
  bottom: -90px;
  width: 240px;
  height: 240px;
  border: 1px solid rgba(209, 162, 60, 0.3);
  border-radius: 50%;
  pointer-events: none;
}

.qdm-qpanel__title {
  font-size: 22px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 22px;
  letter-spacing: 0.03em;
}

.qdm-qpanel__list {
  list-style: none;
  counter-reset: qdm-qp;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px 34px;
  max-width: 960px;
  margin: 0;
  padding: 0;
  position: relative;
  z-index: 1;
}

.qdm-qpanel__list li {
  counter-increment: qdm-qp;
  position: relative;
  padding-left: 28px;
  font-size: 14.5px;
  line-height: 1.8;
  color: #d7e0e7;
}

.qdm-qpanel__list li::before {
  content: counter(qdm-qp) ".";
  position: absolute;
  left: 0;
  color: var(--qdm-gold);
  font-weight: 700;
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;
}

/* ===== 書籍対応メタ(廃止) ===== */
/* 2026-09-01にQDM全ページのページ最下部「書籍との対応：〜」メタ帯を削除した
   (ユーザー決定)ため、出力されなくなった未使用スタイル。
   将来の再利用に備えて定義のみ残置している(HTML側に .qdm-page-meta は存在しない)。
   ※各ページセクションの説明コメントにある「書籍対応メタ」の言及にも同じ注記を付けてある。 */
.qdm-page-meta {
  border-top: 1px solid var(--qdm-line);
}

.qdm-page-meta__inner {
  padding: 18px 32px;
  font-size: 12px;
  color: var(--qdm-text-weak);
}

/* ===== 専用フッター(footer-qdm.php) ===== */
.qdm-footer {
  border-top: 1px solid var(--qdm-line);
  background: #fff;
}

.qdm-footer__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 26px 32px;
  font-size: 12px;
  color: var(--qdm-text-weak);
  flex-wrap: wrap;
  max-width: 1360px;
  margin: 0 auto;
}

.qdm-footer__links {
  display: flex;
  gap: 26px;
}

.qdm-footer__link {
  color: inherit;
  text-decoration: none;
}

a.qdm-footer__link:hover {
  color: var(--qdm-teal);
}

.qdm-footer__link--disabled {
  cursor: default;
}

/* ===== T04: 書籍トップのヒーロー(書影つき2カラム) ===== */
.qdm-book-hero {
  background: linear-gradient(135deg, #eef6f4 0%, var(--qdm-bg) 55%, #eaf3f5 100%);
  position: relative;
  overflow: hidden;
}

.qdm-book-hero__inner {
  display: grid;
  grid-template-columns: 1fr 300px;
  gap: 56px;
  align-items: center;
  padding-top: 64px;
  padding-bottom: 60px;
  position: relative;
}

.qdm-book-hero__title {
  font-size: 40px;
  font-weight: 700;
  line-height: 1.5;
  color: var(--qdm-navy);
  letter-spacing: 0.03em;
  margin-bottom: 10px;
}

.qdm-book-hero__sub {
  font-size: 21px;
  font-weight: 600;
  color: var(--qdm-teal-text);
  line-height: 1.6;
  margin-bottom: 26px;
  letter-spacing: 0.03em;
}

.qdm-book-hero__lead {
  font-size: 15.5px;
  max-width: 720px;
}

.qdm-book-hero__lead p {
  margin-bottom: 1.2em;
}

.qdm-book-hero__lead p:last-child {
  margin-bottom: 0;
}

.qdm-book-hero__cover {
  justify-self: center;
}

.qdm-book-cover {
  display: block;
  width: 260px;
  height: auto;
  border-radius: 2px;
  box-shadow: 0 18px 40px rgba(18, 40, 58, 0.22);
}

/* ===== T04: 書誌情報 ===== */
.qdm-biblio {
  padding: 44px 0 0;
}

.qdm-biblio__inner {
  background: #fff;
  border: 1px solid var(--qdm-card-line);
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(18, 40, 58, 0.05);
  padding: 28px 34px;
  max-width: 880px;
  margin: 0 auto;
}

.qdm-biblio__title {
  font-size: 15px;
  font-weight: 700;
  color: var(--qdm-navy);
  letter-spacing: 0.04em;
  padding-bottom: 14px;
  margin-bottom: 6px;
  border-bottom: 1px solid var(--qdm-line);
}

.qdm-biblio__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 40px;
}

.qdm-biblio__row {
  display: flex;
  gap: 14px;
  padding: 11px 0;
  border-bottom: 1px solid var(--qdm-bg);
  font-size: 14px;
}

.qdm-biblio__key {
  flex-shrink: 0;
  width: 104px;
  color: var(--qdm-text-weak);
  font-size: 13px;
  font-weight: 700;
}

.qdm-biblio__val {
  color: var(--qdm-navy);
  font-weight: 500;
}

a.qdm-biblio__val {
  color: var(--qdm-teal-dark);
  text-decoration: underline;
  word-break: break-all;
  overflow-wrap: anywhere;
}

a.qdm-biblio__val:hover {
  opacity: 0.75;
}

/* ===== T04: 三つの断絶(カードの断絶マーク) ===== */
.qdm-def--gap {
  border-top-color: var(--qdm-maroon);
}

.qdm-def__mark {
  display: block;
  width: 46px;
  height: 20px;
  margin-bottom: 14px;
}

/* ===== T04: 7章カード ===== */
.qdm-chapters {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin-top: 8px;
}

.qdm-chapter {
  background: #fff;
  border: 1px solid var(--qdm-card-line);
  border-top: 3px solid var(--qdm-teal);
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(18, 40, 58, 0.05);
  padding: 20px 22px 22px;
  display: flex;
  flex-direction: column;
}

.qdm-chapter--gold {
  border-top-color: var(--qdm-gold);
}

.qdm-chapter--navy {
  border-top-color: var(--qdm-navy);
}

.qdm-chapter--maroon {
  border-top-color: var(--qdm-maroon);
}

.qdm-chapter__num {
  align-self: flex-start;
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #fff;
  background: var(--qdm-teal);
  padding: 3px 12px;
  border-radius: 999px;
  margin-bottom: 12px;
}

.qdm-chapter--gold .qdm-chapter__num {
  background: var(--qdm-gold-dark);
}

.qdm-chapter--navy .qdm-chapter__num {
  background: var(--qdm-navy);
}

.qdm-chapter--maroon .qdm-chapter__num {
  background: var(--qdm-maroon);
}

.qdm-chapter__name {
  font-size: 16.5px;
  font-weight: 700;
  color: var(--qdm-navy);
  line-height: 1.5;
  margin-bottom: 10px;
  letter-spacing: 0.02em;
}

.qdm-chapter__text {
  font-size: 13.5px;
  color: var(--qdm-text-weak);
  line-height: 1.9;
}

/* ===== T04: 巻末リファレンス(紺パネル+3カード) ===== */
.qdm-appendix {
  background: var(--qdm-band-navy);
  border-radius: 8px;
  padding: 40px 44px 44px;
  color: #fff;
  position: relative;
  overflow: hidden;
}

.qdm-appendix::after {
  content: "";
  position: absolute;
  right: -70px;
  bottom: -90px;
  width: 240px;
  height: 240px;
  border: 1px solid rgba(209, 162, 60, 0.3);
  border-radius: 50%;
  pointer-events: none;
}

.qdm-appendix__title {
  font-size: 23px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 12px;
  letter-spacing: 0.03em;
}

.qdm-appendix__lead {
  font-size: 14.5px;
  color: #d7e0e7;
  max-width: 760px;
  position: relative;
  z-index: 1;
}

.qdm-appendix__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin-top: 28px;
  position: relative;
  z-index: 1;
}

.qdm-appendix__item {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 6px;
  padding: 20px 22px 22px;
}

.qdm-appendix__num {
  display: block;
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-size: 13px;
  font-weight: 700;
  color: var(--qdm-gold);
  letter-spacing: 0.1em;
  margin-bottom: 8px;
}

.qdm-appendix__name {
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 8px;
}

.qdm-appendix__text {
  font-size: 13px;
  color: #b8c5cf;
  line-height: 1.85;
}

/* ===== T04: 読者リスト ===== */
.qdm-readers {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px 28px;
  max-width: 1000px;
  margin: 6px 0 0;
  padding: 0;
}

.qdm-readers li {
  position: relative;
  padding: 14px 20px 14px 48px;
  background: #fff;
  border: 1px solid var(--qdm-card-line);
  border-radius: 6px;
  font-size: 14.5px;
  line-height: 1.75;
}

.qdm-readers li::before {
  content: "";
  position: absolute;
  left: 20px;
  top: 21px;
  width: 14px;
  height: 8px;
  border-left: 2px solid var(--qdm-gold-dark);
  border-bottom: 2px solid var(--qdm-gold-dark);
  transform: rotate(-45deg);
}

/* ===== T04: ボタンだけのCTAバンド ===== */
.qdm-band__inner--center {
  display: flex;
  align-items: center;
  justify-content: center;
}

.qdm-band__inner--center .qdm-band__buttons {
  justify-content: center;
  margin-top: 0;
  position: relative;
  z-index: 1;
}

/* ===== T04: 7章カード下の章別ガイド導線 ===== */
.qdm-chapters-more {
  margin-top: 36px;
  text-align: center;
}

.qdm-chapters-more__text {
  font-size: 14px;
  color: var(--qdm-text-weak);
  margin-bottom: 16px;
}

.qdm-btn--outline {
  background: #fff;
  border: 1px solid var(--qdm-teal-dark);
  color: var(--qdm-teal-dark);
  font-size: 14px;
  padding: 13px 33px;
}

.qdm-btn--outline:hover {
  background: var(--qdm-teal-light);
}

/* ===== T04: 巻末リファレンス内の診断導線 ===== */
.qdm-appendix__cta {
  margin-top: 32px;
  text-align: center;
  position: relative;
  z-index: 1;
}

/* ===== T05: パンくず(書籍トップへの戻り導線) ===== */
.qdm-crumbs {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 12.5px;
  font-weight: 500;
  color: var(--qdm-text-weak);
  margin-bottom: 26px;
}

.qdm-crumbs a {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: var(--qdm-teal-text);
  font-weight: 700;
  transition: color 0.2s;
}

.qdm-crumbs a:hover {
  color: var(--qdm-teal-dark);
  text-decoration: underline;
}

.qdm-crumbs__sep {
  color: #b3bfc7;
}

/* ===== T05: ヒーロー ===== */
.qdm-guide-hero {
  background: linear-gradient(135deg, #eef6f4 0%, var(--qdm-bg) 55%, #eaf3f5 100%);
  position: relative;
  overflow: hidden;
}

.qdm-guide-hero::after {
  content: "";
  position: absolute;
  right: -110px;
  top: -130px;
  width: 340px;
  height: 340px;
  border: 1px solid rgba(23, 128, 141, 0.18);
  border-radius: 50%;
  pointer-events: none;
}

.qdm-guide-hero__inner {
  padding-top: 64px;
  padding-bottom: 56px;
  position: relative;
  z-index: 1;
}

.qdm-guide-hero__title {
  font-size: 38px;
  font-weight: 700;
  line-height: 1.5;
  color: var(--qdm-navy);
  letter-spacing: 0.03em;
  margin-bottom: 22px;
}

.qdm-guide-hero__lead {
  font-size: 15.5px;
  max-width: 760px;
}

/* ===== T05: 問いから選ぶ(アンカーカード) ===== */
.qdm-qindex {
  padding: 56px 0 68px;
  scroll-margin-top: 80px;
}

.qdm-qindex__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  margin-top: 8px;
}

.qdm-qcard {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  background: #fff;
  border: 1px solid var(--qdm-card-line);
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(18, 40, 58, 0.05);
  padding: 18px 22px;
  text-decoration: none;
  transition: border-color 0.2s, transform 0.2s;
}

.qdm-qcard:hover {
  border-color: var(--qdm-teal);
  transform: translateY(-2px);
}

.qdm-qcard__num {
  flex-shrink: 0;
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #fff;
  background: var(--qdm-teal);
  padding: 3px 12px;
  border-radius: 999px;
  margin-top: 4px;
}

.qdm-qcard--navy .qdm-qcard__num {
  background: var(--qdm-navy);
}

.qdm-qcard--maroon .qdm-qcard__num {
  background: var(--qdm-maroon);
}

.qdm-qcard--gold .qdm-qcard__num {
  background: var(--qdm-gold-dark);
}

.qdm-qcard__q {
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-size: 16px;
  font-weight: 600;
  color: var(--qdm-navy);
  line-height: 1.7;
}

.qdm-qcard__arrow {
  margin-left: auto;
  align-self: center;
  color: var(--qdm-teal-text);
  flex-shrink: 0;
}

/* ===== T05: 章詳細カード ===== */
.qdm-chsec {
  padding: 68px 0 76px;
  background: var(--qdm-bg);
}

.qdm-chdetail {
  background: #fff;
  border: 1px solid var(--qdm-card-line);
  border-top: 3px solid var(--qdm-teal);
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(18, 40, 58, 0.05);
  padding: 34px 40px;
  max-width: 960px;
  margin: 0 auto 26px;
  scroll-margin-top: 96px;
}

.qdm-chdetail:last-child {
  margin-bottom: 0;
}

.qdm-chdetail--navy {
  border-top-color: var(--qdm-navy);
}

.qdm-chdetail--maroon {
  border-top-color: var(--qdm-maroon);
}

.qdm-chdetail--gold {
  border-top-color: var(--qdm-gold);
}

.qdm-chdetail__num {
  display: inline-block;
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #fff;
  background: var(--qdm-teal);
  padding: 3px 12px;
  border-radius: 999px;
  margin-bottom: 12px;
}

.qdm-chdetail--navy .qdm-chdetail__num {
  background: var(--qdm-navy);
}

.qdm-chdetail--maroon .qdm-chdetail__num {
  background: var(--qdm-maroon);
}

.qdm-chdetail--gold .qdm-chdetail__num {
  background: var(--qdm-gold-dark);
}

.qdm-chdetail__name {
  font-size: 24px;
  font-weight: 700;
  color: var(--qdm-navy);
  line-height: 1.55;
  letter-spacing: 0.03em;
  margin-bottom: 18px;
}

.qdm-chdetail__qlabel {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: var(--qdm-text-weak);
  margin-bottom: 6px;
}

.qdm-chdetail__q {
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-size: 19px;
  font-weight: 600;
  line-height: 1.85;
  color: var(--qdm-navy);
  border-left: 3px solid var(--qdm-gold);
  padding: 4px 0 4px 20px;
  margin-bottom: 20px;
}

.qdm-chdetail__text {
  font-size: 15px;
  margin-bottom: 22px;
}

.qdm-chdetail__meta {
  border-top: 1px solid var(--qdm-bg);
  padding-top: 18px;
  display: grid;
  gap: 12px;
}

.qdm-chdetail__meta-row {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  flex-wrap: wrap;
}

.qdm-chdetail__meta-key {
  flex-shrink: 0;
  font-size: 12.5px;
  font-weight: 700;
  color: var(--qdm-text-weak);
  letter-spacing: 0.04em;
  padding-top: 4px;
  width: 108px;
}

.qdm-chdetail__meta-body {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  flex: 1;
}

.qdm-tag {
  font-size: 12.5px;
  font-weight: 500;
  color: var(--qdm-teal-text);
  background: var(--qdm-teal-light);
  border-radius: 999px;
  padding: 4px 14px;
}

.qdm-rel {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12.5px;
  font-weight: 700;
  color: var(--qdm-teal-text);
  border: 1px solid var(--qdm-teal);
  border-radius: 999px;
  padding: 4px 14px;
  transition: background 0.2s, color 0.2s;
}

.qdm-rel:hover {
  background: var(--qdm-teal-light);
}

.qdm-rel--pending {
  color: #9aa8b1;
  border-color: var(--qdm-line);
  cursor: default;
}

.qdm-rel--pending:hover {
  background: transparent;
}

.qdm-rel svg {
  flex-shrink: 0;
}

/* T05: 診断導線(第3章・第6章のみ) */
.qdm-chdetail__diag {
  margin-top: 20px;
  background: var(--qdm-teal-light);
  border-radius: 6px;
  padding: 16px 22px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  flex-wrap: wrap;
}

.qdm-chdetail__diag-text {
  font-size: 13.5px;
  font-weight: 700;
  color: var(--qdm-teal-dark);
}

.qdm-btn--diag {
  background: var(--qdm-teal-dark);
  color: #fff;
  font-size: 13px;
  padding: 10px 26px;
}

.qdm-btn--diag:hover {
  background: var(--qdm-navy);
}

/* T05: 問い一覧へ戻る(各章カード末尾) */
.qdm-chdetail__back {
  display: flex;
  justify-content: flex-end;
  margin-top: 18px;
}

.qdm-chdetail__back a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12.5px;
  font-weight: 700;
  color: var(--qdm-text-weak);
  transition: color 0.2s;
}

.qdm-chdetail__back a:hover {
  color: var(--qdm-teal-text);
}

/* ===== T06: ページ本体(三つの入口カード) ===== */
.qdm-practice {
  background: linear-gradient(180deg, #eaf3f5 0%, #fff 60%);
  padding: 8px 0 76px;
}

.qdm-practice__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.qdm-pcard {
  position: relative;
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid var(--qdm-card-line);
  border-top: 3px solid var(--qdm-line);
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(18, 40, 58, 0.05);
  padding: 26px 26px 28px;
  overflow: hidden;
}

/* 上罫線の色分け(T01三つの入口・T03カードと同じ語彙) */
.qdm-pcard--teal {
  border-top-color: var(--qdm-teal);
}

.qdm-pcard--gold {
  border-top-color: var(--qdm-gold);
}

.qdm-pcard--navy {
  border-top-color: var(--qdm-navy);
}

/* 右上のゴースト数字(装飾) */
.qdm-pcard__ghost {
  position: absolute;
  top: 10px;
  right: 18px;
  font-size: 52px;
  font-weight: 700;
  line-height: 1;
  color: #e7eef1;
  letter-spacing: 0.02em;
  pointer-events: none;
}

.qdm-pcard__title {
  font-size: 20px;
  font-weight: 700;
  color: var(--qdm-navy);
  letter-spacing: 0.03em;
  margin-bottom: 14px;
}

.qdm-pcard__body {
  flex: 1;
}

.qdm-pcard__body p {
  font-size: 14px;
  margin-bottom: 1.3em;
}

.qdm-pcard__body p:last-child {
  margin-bottom: 0;
}

/* カード下の注記ブロック「実践資料の位置づけ」(2026-09-09追加) */
.qdm-practice__note {
  margin-top: 32px;
  background: var(--qdm-bg);
  border: 1px solid var(--qdm-line);
  border-radius: 8px;
  padding: 22px 28px;
}

.qdm-practice__note-title {
  font-size: 15px;
  font-weight: 700;
  color: var(--qdm-navy);
  margin-bottom: 8px;
}

.qdm-practice__note-body {
  font-size: 13.5px;
  line-height: 1.8;
  margin-bottom: 0;
}

/* CTAはカード下端に揃える(bodyのflex:1で押し下げ) */
.qdm-pcard__cta {
  margin-top: 22px;
}

.qdm-pcard__cta .qdm-btn {
  width: 100%;
}

/* 副導線(ボタン下の矢印付きテキストリンク) */
.qdm-pcard__sub {
  display: inline-flex;
  align-items: center;
  margin-top: 14px;
  font-size: 13.5px;
  font-weight: 500;
  color: var(--qdm-teal-text);
  transition: opacity 0.2s;
}

.qdm-pcard__sub:hover {
  opacity: 0.7;
}

/* ヘッダーCTAと同じ濃ティールのボタン(T06主要CTA) */
.qdm-btn--teal {
  background: var(--qdm-teal-dark);
  color: #fff;
  font-size: 14px;
}

.qdm-btn--teal:hover {
  background: var(--qdm-navy);
}

/* ===== T07: ヒーロー(コンパクト・パンくず入り) ===== */
.qdm-check-hero {
  background: linear-gradient(135deg, #eef6f4 0%, var(--qdm-bg) 55%, #eaf3f5 100%);
  border-bottom: 1px solid #e6eef0;
}

.qdm-check-hero__inner {
  padding-top: 38px;
  padding-bottom: 34px;
}

.qdm-check-hero .qdm-crumbs {
  margin-bottom: 20px;
}

.qdm-check-hero__eyebrow {
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: 0.2em;
  color: var(--qdm-teal-text);
  text-transform: uppercase;
  margin-bottom: 12px;
}

.qdm-check-hero__title {
  font-size: 34px;
  font-weight: 700;
  line-height: 1.45;
  color: var(--qdm-navy);
  letter-spacing: 0.03em;
  margin-bottom: 6px;
}

.qdm-check-hero__sub {
  font-size: 21px;
  font-weight: 600;
  color: var(--qdm-teal-text);
  letter-spacing: 0.04em;
}

/* ===== T07: 目的リード ===== */
.qdm-check-purpose {
  padding: 34px 0 6px;
}

.qdm-check-purpose__label {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 15px;
  font-weight: 700;
  color: var(--qdm-navy);
  letter-spacing: 0.04em;
  margin-bottom: 8px;
}

.qdm-check-purpose__label::before {
  content: "";
  width: 14px;
  height: 3px;
  background: var(--qdm-gold);
  border-radius: 2px;
}

.qdm-check-purpose__text {
  font-size: 14.5px;
  max-width: 900px;
}

/* ===== T07: ダッシュボード(左: 4領域 / 右: DL資料) ===== */
.qdm-check-dash {
  padding: 26px 0 64px;
}

.qdm-check-dash__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 400px;
  gap: 28px;
  align-items: stretch;
}

.qdm-check-dash__head {
  font-size: 19px;
  font-weight: 700;
  color: var(--qdm-navy);
  letter-spacing: 0.03em;
  margin-bottom: 14px;
}

.qdm-check-areas {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}

/* 議論領域カード(番号チップの色分けはT03四層カードと同じ4色語彙) */
.qdm-acard {
  background: #fff;
  border: 1px solid var(--qdm-card-line);
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(18, 40, 58, 0.05);
  padding: 18px 20px;
}

.qdm-acard__chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: var(--qdm-teal-dark);
  background: var(--qdm-teal-light);
  border-radius: 999px;
  padding: 3px 14px;
  margin-bottom: 10px;
}

.qdm-acard--gold .qdm-acard__chip {
  background: #f6ecd6;
  color: #8a6a1e;
}

.qdm-acard--navy .qdm-acard__chip {
  background: #e8edf2;
  color: var(--qdm-navy);
}

.qdm-acard--maroon .qdm-acard__chip {
  background: #f4e6e8;
  color: var(--qdm-maroon);
}

.qdm-acard__title {
  font-size: 17px;
  font-weight: 700;
  color: var(--qdm-navy);
  letter-spacing: 0.03em;
  line-height: 1.5;
  margin-bottom: 8px;
}

.qdm-acard__body {
  font-size: 13px;
  line-height: 1.75;
}

/* DL資料(紺パネル) */
.qdm-dlpanel {
  background: var(--qdm-band-navy);
  border-radius: 10px;
  padding: 28px 30px;
  display: flex;
  flex-direction: column;
}

.qdm-dlpanel__eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.18em;
  color: var(--qdm-gold);
  text-transform: uppercase;
  margin-bottom: 8px;
}

.qdm-dlpanel__title {
  font-size: 20px;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.04em;
  margin-bottom: 18px;
}

.qdm-dlpanel__list {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 24px;
}

.qdm-dlpanel__item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 8px;
  padding: 13px 16px;
  text-decoration: none;
  transition: border-color 0.2s, background 0.2s;
}

.qdm-dlpanel__item:hover {
  border-color: var(--qdm-gold);
  background: rgba(255, 255, 255, 0.08);
}

.qdm-dlpanel__icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 6px;
  background: rgba(209, 162, 60, 0.16);
  color: var(--qdm-gold);
  margin-top: 3px;
}

.qdm-dlpanel__name {
  font-size: 13.5px;
  font-weight: 700;
  color: #fff;
  line-height: 1.65;
}

.qdm-dlpanel__format {
  display: block;
  font-size: 11.5px;
  font-weight: 500;
  color: #a9bcc8;
  letter-spacing: 0.04em;
}

.qdm-dlpanel__cta {
  margin-top: auto;
}

.qdm-dlpanel__cta .qdm-btn {
  width: 100%;
}

/* ボタン下の注記「※個人情報入力や自動採点は行わない。」(2026-09-09追加。文字色は紺背景用に #d7e0e7=T03問いパネル本文と同じ) */
.qdm-dlpanel__note {
  margin: 12px 0 0;
  font-size: 12.5px;
  line-height: 1.7;
  color: #d7e0e7;
}

/* ===== T07: 問いの例(2026-09-09に紺パネル1枚+箇条書きへ変更) =====
   qdm-qcard--static のhover停止はT08「問い返しカード」で引き続き使用するため残す。 */
.qdm-qcard--static:hover {
  border-color: var(--qdm-card-line);
  transform: none;
}

.qdm-check-questions {
  padding: 56px 0 64px;
}

/* 問いの例: 紺パネル1枚+箇条書き(2026-09-09に2列12カードから変更。配色はダウンロード資料パネル .qdm-dlpanel と同系)
   ※ .qdm-qpanel はT03「実務に置き換える四つの問い」(2列・番号付き)が先に使用しており名前が衝突するため、
     T07は固有名 .qdm-cq-panel を使用してT03の定義から完全に独立させる(T03側の定義は無変更)。 */
.qdm-cq-panel {
  background: var(--qdm-band-navy);
  border-radius: 10px;
  padding: 32px 36px 34px;
}

.qdm-cq-panel__eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.18em;
  color: var(--qdm-gold);
  text-transform: uppercase;
  margin-bottom: 8px;
}

.qdm-cq-panel__title {
  font-size: 22px;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.04em;
  margin-bottom: 18px;
}

.qdm-cq-panel__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.qdm-cq-panel__list li {
  position: relative;
  padding-left: 18px;
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-size: 15px;
  line-height: 1.75;
  color: #fff;
}

.qdm-cq-panel__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.72em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--qdm-gold);
}

/* T07セクション見出しはT01〜より一回り小さく(モック準拠) */
.qdm-check-questions .qdm-section__title,
.qdm-check-sits .qdm-section__title,
.qdm-check-flow .qdm-section__title,
.qdm-check-notes .qdm-section__title {
  font-size: 24px;
  margin-bottom: 20px;
}

/* ===== T07: このような状況に ===== */
.qdm-check-sits {
  padding: 56px 0 8px;
}

.qdm-situations {
  max-width: 820px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 6px;
}

.qdm-situations__item {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  background: #fff;
  border: 1px solid var(--qdm-card-line);
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(18, 40, 58, 0.05);
  padding: 15px 22px;
  font-size: 14.5px;
}

.qdm-situations__mark {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: var(--qdm-teal-light);
  color: var(--qdm-teal-dark);
  margin-top: 3px;
}

/* ===== T07: 利用の流れ(4ステップ+矢印) ===== */
.qdm-check-flow {
  padding: 60px 0 64px;
}

.qdm-check-flow__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin-top: 10px;
}

.qdm-fstep {
  position: relative;
  background: #fff;
  border: 1px solid var(--qdm-card-line);
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(18, 40, 58, 0.05);
  padding: 22px 22px 24px;
}

.qdm-fstep::after {
  content: "\27F6";
  position: absolute;
  top: 50%;
  right: -20px;
  transform: translateY(-50%);
  color: #b3cfd5;
  font-size: 15px;
  z-index: 1;
}

.qdm-fstep:last-child::after {
  display: none;
}

.qdm-fstep__num {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: var(--qdm-teal-dark);
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 12px;
}

.qdm-fstep__title {
  font-size: 17px;
  font-weight: 700;
  color: var(--qdm-navy);
  letter-spacing: 0.03em;
  margin-bottom: 8px;
}

.qdm-fstep__text {
  font-size: 13px;
}

/* ===== T07: 利用上の注意 ===== */
.qdm-check-notes {
  padding: 0 0 8px;
}

.qdm-check-notes__box {
  max-width: 900px;
  background: var(--qdm-bg);
  border: 1px solid var(--qdm-line);
  border-left: 3px solid var(--qdm-teal);
  border-radius: 8px;
  padding: 24px 30px;
  font-size: 13.5px;
}

.qdm-check-notes__box p {
  margin-bottom: 1.2em;
}

.qdm-check-notes__box p:last-child {
  margin-bottom: 0;
}

/* ===== T07: 末尾CTA ===== */
.qdm-check-cta {
  padding: 52px 0 68px;
  text-align: center;
}

.qdm-check-cta__main {
  margin-bottom: 20px;
}

.qdm-check-cta__main .qdm-btn {
  min-width: 300px;
  font-size: 15px;
}

.qdm-check-cta__subs {
  display: flex;
  justify-content: center;
  gap: 34px;
  flex-wrap: wrap;
}

.qdm-check-cta__subs a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13.5px;
  font-weight: 500;
  color: var(--qdm-teal-text);
  text-decoration: none;
  transition: opacity 0.2s;
}

.qdm-check-cta__subs a:hover {
  opacity: 0.7;
}

/* ===== Responsive ===== */
@media (max-width: 1200px) {
  .qdm-chapters {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 1080px) {
  /* T06: カードを1列に(タブレット以下) */
  .qdm-practice__grid {
    grid-template-columns: 1fr;
    max-width: 640px;
    margin: 0 auto;
  }

  /* T07: ダッシュボードを縦積みに・流れを2列に */
  .qdm-check-dash__grid {
    grid-template-columns: 1fr;
  }

  .qdm-check-flow__grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .qdm-fstep:nth-child(2)::after {
    display: none;
  }
}

/* ===== ヘッダー: ハンバーガー切替(2026-09-10: 960px → 1120px に引き上げ) =====
   ロゴ横のサイト名リンク追加+ナビ末尾「セミナー・イベント」で、1120px以下では
   ナビが1行に収まらない(サイト名リンクなしでも1024pxで折り返していた)ため、
   デスクトップナビは1121px以上のみとし、1120px以下はハンバーガーに切り替える。
   ここに移した7ルールは元 @media (max-width: 960px) 内にあったもの(内容は無変更)。
   同じブレークポイントを使う箇所: 下の「ナビ7項目化に伴う横幅対策」の min-width と、
   T13節の .qdm-header__nav__item--sp の @media。 */
@media (max-width: 1120px) {
  .qdm-header__menu-btn {
    display: flex;
  }

  .qdm-header__nav {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #fff;
    border-bottom: 1px solid var(--qdm-line);
    box-shadow: 0 12px 24px rgba(18, 40, 58, 0.08);
  }

  .qdm-header.is-open .qdm-header__nav {
    display: block;
  }

  .qdm-header__nav__list {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 8px 0;
  }

  .qdm-header__nav__link {
    display: block;
    padding: 13px 28px;
    border-bottom: 1px solid var(--qdm-bg);
  }

  .qdm-header__right {
    display: none;
  }
}

@media (max-width: 960px) {
  .qdm-book-hero__inner {
    grid-template-columns: 1fr;
    gap: 32px;
    padding-top: 44px;
    padding-bottom: 44px;
  }

  .qdm-book-hero__cover {
    order: -1;
    justify-self: start;
  }

  .qdm-book-cover {
    width: 190px;
  }

  .qdm-book-hero__title {
    font-size: 27px;
  }

  .qdm-book-hero__sub {
    font-size: 17px;
  }

  .qdm-biblio__inner {
    padding: 22px 20px;
  }

  .qdm-biblio__list {
    grid-template-columns: 1fr;
  }

  .qdm-chapters {
    grid-template-columns: 1fr;
  }

  .qdm-appendix {
    padding: 30px 24px;
  }

  .qdm-appendix__list {
    grid-template-columns: 1fr;
  }

  .qdm-readers {
    grid-template-columns: 1fr;
  }

  .qdm-band__inner--center .qdm-band__buttons {
    flex-direction: column;
    align-items: stretch;
  }

  .qdm-hero__inner {
    padding-top: 44px;
    padding-bottom: 52px;
  }

  .qdm-hero__title {
    font-size: 30px;
  }

  /* SP(960px以下)は1カラムで文字・カードが画面幅いっぱいに広がり、
     図が見える余白が無いため背景図版は非表示にする(ユーザー決定 2026-08-19)。
     ヒーローは薄緑グラデーションのみの背景になる。 */
  .qdm-hero__bg {
    display: none;
  }

  .qdm-entrances__list {
    grid-template-columns: 1fr;
  }

  .qdm-conversions__list {
    grid-template-columns: repeat(2, 1fr);
  }

  .qdm-section {
    padding: 56px 0;
  }

  .qdm-section__title {
    font-size: 24px;
  }

  .qdm-pull {
    font-size: 17px;
  }

  .qdm-band__inner {
    padding: 34px 26px;
  }

  .qdm-concept-hero__deco {
    display: none;
  }

  .qdm-concept-hero__title {
    font-size: 28px;
  }

  .qdm-concept-top__inner {
    grid-template-columns: 1fr;
  }

  .qdm-trust-mini__list {
    grid-template-columns: 1fr;
  }

  .qdm-defs,
  .qdm-defs--three {
    grid-template-columns: 1fr;
  }

  .qdm-defs--vs::after {
    transform: translate(-50%, -50%) rotate(90deg);
  }

  .qdm-flow {
    flex-direction: column;
  }

  .qdm-flow__arrow {
    transform: rotate(90deg);
    height: 34px;
    width: auto;
  }

  /* T03 */
  .qdm-defs--four {
    grid-template-columns: 1fr;
  }

  .qdm-arch {
    padding: 24px 18px;
  }

  .qdm-arch__layer--top,
  .qdm-arch__layer--mid {
    width: 100%;
  }

  .qdm-arch__keys {
    display: none;
  }

  .qdm-qpanel {
    padding: 30px 24px;
  }

  .qdm-qpanel__list {
    grid-template-columns: 1fr;
  }

  /* T05 */
  .qdm-guide-hero__inner {
    padding-top: 48px;
    padding-bottom: 44px;
  }

  .qdm-guide-hero__title {
    font-size: 26px;
  }

  .qdm-qindex {
    padding: 44px 0 52px;
  }

  .qdm-qindex__grid {
    grid-template-columns: 1fr;
  }

  .qdm-chsec {
    padding: 52px 0 60px;
  }

  .qdm-chdetail {
    padding: 26px 22px;
  }

  .qdm-chdetail__name {
    font-size: 20px;
  }

  .qdm-chdetail__q {
    font-size: 16.5px;
  }

  .qdm-chdetail__meta-key {
    width: 100%;
    padding-top: 0;
  }

  .qdm-chdetail__diag {
    flex-direction: column;
    align-items: stretch;
    text-align: center;
  }

  /* T06 */
  .qdm-practice {
    padding-bottom: 56px;
  }

  /* T07 */
  .qdm-check-hero__title {
    font-size: 25px;
  }

  .qdm-check-hero__sub {
    font-size: 16.5px;
  }

  .qdm-check-areas {
    grid-template-columns: 1fr;
  }

  .qdm-check-questions .qdm-section__title,
  .qdm-check-sits .qdm-section__title,
  .qdm-check-flow .qdm-section__title,
  .qdm-check-notes .qdm-section__title {
    font-size: 21px;
  }

  .qdm-check-flow__grid {
    grid-template-columns: 1fr;
    max-width: 560px;
  }

  .qdm-fstep::after {
    display: none;
  }

  .qdm-check-cta__subs {
    flex-direction: column;
    align-items: center;
    gap: 16px;
  }

  .qdm-cq-panel {
    padding: 24px 20px 26px;
  }

  .qdm-cq-panel__list li {
    font-size: 14px;
  }
}

/* =========================================================
   T08: チェックシート利用ガイド(template-qdm-checkguide.php)
   モック preview/t08-preview.html 準拠。
   ヒーロー・問い返しカード・末尾CTA・書籍対応メタはT05/T07の既存クラスを流用し、
   T08固有ブロック(setup/agenda/avoid/results)のみ qdm- 接頭辞で新規追加する。
   既存クラス・既存行の変更は行わない(追記のみ)。
   ========================================================= */

/* ===== T08: ヒーロー(T07の qdm-check-hero を流用+キッカーの金線・リード文) ===== */
.qdm-check-hero--guide {
  background: linear-gradient(135deg, #eef6f4 0%, #e8f2f3 55%, #e4eff1 100%);
  border-bottom: 1px solid #d7e5e8;
}

.qdm-check-hero--guide .qdm-check-hero__inner {
  padding-bottom: 40px;
}

.qdm-check-hero--guide .qdm-check-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  letter-spacing: 0.14em;
}

.qdm-check-hero--guide .qdm-check-hero__eyebrow::before {
  content: "";
  width: 14px;
  height: 3px;
  background: var(--qdm-gold);
  border-radius: 2px;
}

.qdm-check-hero__lead {
  max-width: 900px;
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid #dfeaec;
  font-size: 14.5px;
}

/* T08セクション見出しはT07と同じく一回り小さく(モック準拠) */
.qdm-setup .qdm-section__title,
.qdm-agenda .qdm-section__title,
.qdm-cg-questions .qdm-section__title,
.qdm-avoid .qdm-section__title,
.qdm-results .qdm-section__title {
  font-size: 24px;
  margin-bottom: 20px;
}

.qdm-accent--maroon {
  color: var(--qdm-maroon);
}

/* セクション冒頭のリード文(T08) */
.qdm-cg-lead {
  max-width: 900px;
  font-size: 14.5px;
  margin-bottom: 22px;
}

/* 見出し内の補足(「事前準備（10～15分）」の括弧部分) */
.qdm-cg-note {
  font-size: 16px;
  font-weight: 600;
  color: var(--qdm-text-weak);
  letter-spacing: 0.02em;
}

/* ===== T08: 推奨する参加者 / 事前準備(2カラム統合) ===== */
.qdm-setup {
  padding: 54px 0 58px;
}

.qdm-setup__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 400px;
  gap: 28px;
  align-items: stretch;
}

.qdm-members {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.qdm-mchip {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  background: #fff;
  border: 1px solid var(--qdm-card-line);
  border-radius: 999px;
  box-shadow: 0 4px 20px rgba(18, 40, 58, 0.05);
  padding: 11px 22px 11px 15px;
  font-size: 14px;
  font-weight: 500;
  color: var(--qdm-navy);
}

.qdm-mchip__icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--qdm-teal-light);
  color: var(--qdm-teal-dark);
}

.qdm-mchip:nth-child(2) .qdm-mchip__icon {
  background: #f6ecd6;
  color: #8a6a1e;
}

.qdm-mchip:nth-child(4) .qdm-mchip__icon {
  background: #e8edf2;
  color: var(--qdm-navy);
}

.qdm-mchip:nth-child(5) .qdm-mchip__icon {
  background: #f4e6e8;
  color: var(--qdm-maroon);
}

/* 事前準備(紺パネル・T07 qdm-dlpanel と同じ流儀) */
.qdm-prep-panel {
  background: var(--qdm-band-navy);
  border-radius: 10px;
  padding: 28px 30px 30px;
  display: flex;
  flex-direction: column;
}

.qdm-prep-panel .qdm-section__eyebrow {
  color: var(--qdm-gold);
  letter-spacing: 0.18em;
  margin-bottom: 12px;
}

.qdm-prep-panel .qdm-section__eyebrow::after {
  background: rgba(255, 255, 255, 0.18);
}

.qdm-prep-panel .qdm-section__title {
  color: #fff;
  margin-bottom: 18px;
}

.qdm-prep-panel .qdm-cg-note {
  color: #a9bcc8;
}

.qdm-prep {
  display: flex;
  flex-direction: column;
  gap: 12px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.qdm-prep__item {
  display: flex;
  align-items: flex-start;
  gap: 13px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 8px;
  padding: 13px 16px;
  font-size: 13.5px;
  line-height: 1.7;
  color: #e6eef3;
}

.qdm-prep__mark {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 6px;
  background: var(--qdm-gold);
  color: var(--qdm-band-navy);
  margin-top: 2px;
}

/* ===== T08: 60分の標準進行(縦タイムライン) ===== */
.qdm-agenda {
  padding: 62px 0 68px;
}

.qdm-agenda__list {
  position: relative;
  max-width: 960px;
  margin: 6px 0 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.qdm-agenda__list::before {
  content: "";
  position: absolute;
  top: 24px;
  bottom: 24px;
  left: 61px;
  width: 2px;
  background: linear-gradient(180deg, var(--qdm-teal) 0%, #b3cfd5 100%);
}

.qdm-tstep {
  position: relative;
  display: grid;
  grid-template-columns: 124px minmax(0, 1fr);
  gap: 26px;
  align-items: start;
}

.qdm-tstep__time {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 34px;
  margin-top: 12px;
  border-radius: 999px;
  background: var(--qdm-teal-dark);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
  white-space: nowrap;
}

.qdm-tstep:last-child .qdm-tstep__time {
  background: var(--qdm-gold);
  color: var(--qdm-navy);
}

.qdm-tstep__card {
  background: #fff;
  border: 1px solid var(--qdm-card-line);
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(18, 40, 58, 0.05);
  padding: 18px 26px 20px;
}

.qdm-tstep__title {
  font-size: 18px;
  font-weight: 700;
  color: var(--qdm-navy);
  letter-spacing: 0.03em;
  margin-bottom: 6px;
}

.qdm-tstep__text {
  font-size: 14px;
}

/* ===== T08: 会話を深める問い返し(T05/T07のqcardを流用) ===== */
.qdm-cg-questions {
  padding: 56px 0 62px;
}

.qdm-cg-questions__grid {
  gap: 14px;
  margin-top: 4px;
}

.qdm-cg-questions .qdm-qcard {
  padding: 16px 22px;
}

.qdm-cg-questions .qdm-qcard__q {
  font-size: 15px;
  line-height: 1.75;
}

/* ===== T08: 避けたい使い方(注意ボックス) ===== */
.qdm-avoid {
  padding: 56px 0 60px;
}

.qdm-avoid__box {
  max-width: 900px;
  background: #fdf7f7;
  border: 1px solid #f0dfe1;
  border-left: 3px solid var(--qdm-maroon);
  border-radius: 8px;
  padding: 22px 30px;
  list-style: none;
  margin: 0;
}

.qdm-avoid__item {
  display: flex;
  align-items: flex-start;
  gap: 13px;
  padding: 9px 0;
  font-size: 14px;
  border-bottom: 1px dashed #ecdcde;
}

.qdm-avoid__item:last-child {
  border-bottom: none;
}

.qdm-avoid__mark {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #f4e6e8;
  color: var(--qdm-maroon);
  margin-top: 4px;
}

/* ===== T08: 現在地メモに残す三つの成果 ===== */
.qdm-results {
  padding: 58px 0 62px;
}

.qdm-results__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin-top: 4px;
}

.qdm-rcard {
  background: #fff;
  border: 1px solid var(--qdm-card-line);
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(18, 40, 58, 0.05);
  padding: 22px 24px 24px;
}

.qdm-rcard__chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: var(--qdm-teal-dark);
  background: var(--qdm-teal-light);
  border-radius: 999px;
  padding: 3px 14px;
  margin-bottom: 10px;
}

.qdm-rcard--gold .qdm-rcard__chip {
  background: #f6ecd6;
  color: #8a6a1e;
}

.qdm-rcard--navy .qdm-rcard__chip {
  background: #e8edf2;
  color: var(--qdm-navy);
}

.qdm-rcard__title {
  font-size: 18px;
  font-weight: 700;
  color: var(--qdm-navy);
  letter-spacing: 0.03em;
  margin-bottom: 8px;
}

.qdm-rcard__body {
  font-size: 13.5px;
}

/* ===== T08: Responsive(既存の断点に合わせる) ===== */
@media (max-width: 1080px) {
  .qdm-setup__grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .qdm-results__grid {
    grid-template-columns: 1fr;
    max-width: 620px;
  }
}

@media (max-width: 960px) {
  .qdm-check-hero--guide .qdm-check-hero__inner {
    padding-bottom: 32px;
  }

  .qdm-setup .qdm-section__title,
  .qdm-agenda .qdm-section__title,
  .qdm-cg-questions .qdm-section__title,
  .qdm-avoid .qdm-section__title,
  .qdm-results .qdm-section__title {
    font-size: 21px;
  }

  .qdm-cg-note {
    font-size: 14px;
  }

  .qdm-prep-panel {
    padding: 24px 22px 26px;
  }

  .qdm-agenda__list::before {
    display: none;
  }

  .qdm-tstep {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .qdm-tstep__time {
    display: inline-flex;
    margin: 0 0 10px;
    padding: 0 18px;
    height: 30px;
    font-size: 12.5px;
  }

  .qdm-avoid__box {
    padding: 18px 22px;
  }
}

/* ============================================================
   T09: 7フェーズロードマップ(template-qdm-roadmap.php)
   モック preview/t09-preview-b.html(B案・山の概観図つき・2026-08-17ユーザー確定)準拠。
   ヒーロー(qdm-check-hero--guide)・末尾CTA(qdm-check-cta)・書籍対応メタ(qdm-page-meta・2026-09-01に廃止)・
   見出し(qdm-section__*)はT05/T07/T08の既存クラスを流用し、
   ここではT09固有の差分(--roadmap / --band)と新規セクションのみを定義する。
   ============================================================ */

/* ヒーロー: 導入が2段落あるため2つ目の段落の上罫線・余白を打ち消す */
.qdm-check-hero--roadmap .qdm-check-hero__lead--cont {
  margin-top: 12px;
  padding-top: 0;
  border-top: none;
}

/* ===== T09: 概観図(山への登り道) ===== */
.qdm-rmapsec {
  background: var(--qdm-bg);
  border-bottom: 1px solid var(--qdm-line);
  padding: 40px 0 46px;
}

.qdm-rmapsec .qdm-section__eyebrow {
  margin-bottom: 18px;
}

/* 図版パネル(白カード) */
.qdm-rmap-panel {
  background: #fff;
  border: 1px solid var(--qdm-line);
  border-radius: 10px;
  box-shadow: 0 6px 24px rgba(18, 40, 58, 0.06);
  padding: 28px 40px 26px;
}

/* ACF画像で差し替えたとき(静止画。クリックでフェーズへ移動する機能とホバー演出はなし) */
.qdm-rmap-panel--image {
  text-align: center;
}

.qdm-rmap-panel--image img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

.qdm-rmap-scroll {
  overflow-x: auto;
  scrollbar-width: thin;
}

/* padding でラベルのはみ出し分を確保(縦スクロールを出さない) */
.qdm-rmap {
  min-width: 1000px;
  padding: 4px 0 34px;
}

/* viewBox と同一比を固定 → 図が拡縮してもノードが道からズレない */
.qdm-rmap__fig {
  position: relative;
  aspect-ratio: 1200 / 450;
}

.qdm-rmap__svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
}

/* マイルストーン(HTMLオーバーレイ。#phase-N へのアンカー) */
.qdm-rnode {
  position: absolute;
  transform: translate(-50%, -50%);
  z-index: 2;
  display: block;
  text-decoration: none;
  pointer-events: none; /* 当たり判定は円とラベルのみ */
}

.qdm-rnode__num {
  pointer-events: auto;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: var(--qdm-teal-dark);
  color: #fff;
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", serif;
  font-size: 22px;
  font-weight: 700;
  line-height: 1;
  box-shadow: 0 0 0 4px #fff, 0 0 0 5px #e7eff1, 0 4px 10px rgba(18, 40, 58, 0.16);
  transition: transform 0.2s, box-shadow 0.2s;
}

.qdm-rnode--start .qdm-rnode__num {
  background: var(--qdm-navy);
}

.qdm-rnode--goal .qdm-rnode__num {
  background: var(--qdm-gold);
  color: var(--qdm-navy);
}

.qdm-rnode__label {
  pointer-events: auto;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 150px;
  text-align: center;
}

.qdm-rnode__label--below {
  top: 82px;
}

.qdm-rnode__label--above {
  bottom: 82px;
}

.qdm-rnode__name {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: var(--qdm-navy);
  line-height: 1.5;
  letter-spacing: 0.01em;
  transition: color 0.2s;
}

.qdm-rnode__cap {
  display: block;
  margin-top: 5px;
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: 0.24em;
  color: var(--qdm-navy);
}

.qdm-rnode--goal .qdm-rnode__cap {
  color: #8a6a1e;
}

.qdm-rnode:hover .qdm-rnode__num {
  transform: translateY(-3px);
  box-shadow: 0 0 0 4px #fff, 0 0 0 5px #cfe2e5, 0 9px 18px rgba(18, 40, 58, 0.2);
}

.qdm-rnode:hover .qdm-rnode__name {
  color: var(--qdm-teal-text);
}

/* ===== T09: 7フェーズの縦タイムライン(主役) ===== */
.qdm-phases {
  padding: 60px 0 66px;
}

.qdm-phases__list {
  position: relative;
  max-width: 980px;
  margin-top: 6px;
  display: flex;
  flex-direction: column;
  gap: 18px;
  list-style: none;
  padding: 0;
}

.qdm-phases__list::before {
  content: "";
  position: absolute;
  top: 26px;
  bottom: 26px;
  left: 25px;
  width: 2px;
  background: linear-gradient(180deg, var(--qdm-navy) 0%, var(--qdm-teal) 45%, var(--qdm-gold) 100%);
}

.qdm-pnode {
  position: relative;
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  gap: 24px;
  align-items: start;
  scroll-margin-top: 100px;
}

.qdm-pnode__num {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  margin-top: 8px;
  border-radius: 50%;
  background: var(--qdm-teal-dark);
  border: 4px solid #fff;
  box-shadow: 0 0 0 1px var(--qdm-card-line);
  color: #fff;
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
}

.qdm-pnode--start .qdm-pnode__num {
  background: var(--qdm-navy);
}

.qdm-pnode--goal .qdm-pnode__num {
  background: var(--qdm-gold);
  color: var(--qdm-navy);
}

.qdm-pnode__card {
  background: #fff;
  border: 1px solid var(--qdm-card-line);
  border-top: 3px solid var(--qdm-teal);
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(18, 40, 58, 0.05);
  padding: 20px 28px 0;
  overflow: hidden;
}

.qdm-pnode--start .qdm-pnode__card {
  border-top-color: var(--qdm-navy);
}

.qdm-pnode--goal .qdm-pnode__card {
  border-top-color: var(--qdm-gold);
}

.qdm-pnode__head {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 8px;
}

.qdm-pnode__chip {
  display: inline-flex;
  align-items: center;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: var(--qdm-teal-dark);
  background: var(--qdm-teal-light);
  border-radius: 999px;
  padding: 3px 14px;
}

.qdm-pnode--start .qdm-pnode__chip {
  background: #e8edf2;
  color: var(--qdm-navy);
}

.qdm-pnode--goal .qdm-pnode__chip {
  background: #f6ecd6;
  color: #8a6a1e;
}

.qdm-pnode__title {
  font-size: 20px;
  font-weight: 700;
  color: var(--qdm-navy);
  letter-spacing: 0.03em;
  line-height: 1.4;
  margin: 0;
}

.qdm-pnode__lead {
  font-size: 14.5px;
  margin-bottom: 14px;
}

.qdm-pnode__dl {
  display: grid;
  grid-template-columns: 108px minmax(0, 1fr);
  gap: 8px 18px;
  padding-bottom: 18px;
  margin: 0;
  font-size: 14px;
}

.qdm-pnode__dt {
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: var(--qdm-teal-dark);
  background: #eef5f6;
  border-radius: 4px;
  padding: 3px 0;
  text-align: center;
  height: fit-content;
  margin-top: 3px;
}

.qdm-pnode__dd {
  margin: 0;
  line-height: 1.75;
}

/* 出口条件(このページの肝) */
.qdm-pnode__exit {
  display: flex;
  align-items: flex-start;
  gap: 13px;
  margin: 0 -28px;
  padding: 14px 28px 15px;
  background: #fdf8ee;
  border-top: 1px solid #f0e4cb;
  border-left: 3px solid var(--qdm-gold);
  font-size: 14px;
}

.qdm-pnode__exit-mark {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: var(--qdm-gold);
  color: var(--qdm-navy);
  margin-top: 3px;
}

.qdm-pnode__exit-label {
  display: block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: #8a6a1e;
  margin-bottom: 2px;
}

.qdm-pnode__exit-text {
  font-weight: 500;
  color: var(--qdm-navy);
  line-height: 1.7;
}

/* ===== T09: ロードマップを使うときの注意 ===== */
.qdm-cautions {
  padding: 56px 0 60px;
}

.qdm-cautions__box {
  max-width: 940px;
  background: #fdf7f7;
  border: 1px solid #f0dfe1;
  border-left: 3px solid var(--qdm-maroon);
  border-radius: 8px;
  padding: 22px 30px;
  list-style: none;
  margin: 0;
}

.qdm-cautions__item {
  display: flex;
  align-items: flex-start;
  gap: 13px;
  padding: 10px 0;
  font-size: 14px;
  border-bottom: 1px dashed #ecdcde;
}

.qdm-cautions__item:last-child {
  border-bottom: none;
}

.qdm-cautions__mark {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #f4e6e8;
  color: var(--qdm-maroon);
  margin-top: 4px;
}

/* ===== T09: 末尾CTA(紺バンド。T07/T08の qdm-check-cta を反転) ===== */
.qdm-check-cta--band {
  background: var(--qdm-band-navy);
  padding: 52px 0 56px;
}

.qdm-check-cta--band .qdm-check-cta__main {
  margin-bottom: 22px;
}

.qdm-check-cta--band .qdm-check-cta__main .qdm-btn {
  min-width: 320px;
}

.qdm-check-cta--band .qdm-check-cta__subs a {
  color: #cfdde5;
}

/* ===== T09: Responsive ===== */
@media (max-width: 960px) {
  .qdm-rmapsec {
    padding: 30px 0 36px;
  }

  .qdm-rmap-panel {
    padding: 24px 20px 20px;
  }

  .qdm-phases__list::before {
    display: none;
  }

  .qdm-pnode {
    grid-template-columns: 1fr;
    gap: 0;
    scroll-margin-top: 88px;
  }

  .qdm-pnode__num {
    width: 42px;
    height: 42px;
    margin: 0 0 10px;
    font-size: 17px;
    border-width: 0;
    box-shadow: none;
  }

  .qdm-pnode__card {
    padding: 18px 20px 0;
  }

  .qdm-pnode__title {
    font-size: 18px;
  }

  .qdm-pnode__dl {
    grid-template-columns: 1fr;
    gap: 3px;
  }

  .qdm-pnode__dt {
    text-align: left;
    padding: 3px 10px;
    justify-self: start;
  }

  .qdm-pnode__exit {
    margin: 0 -20px;
    padding: 14px 20px 15px;
  }

  .qdm-cautions__box {
    padding: 18px 22px;
  }

  .qdm-check-cta--band .qdm-check-cta__main .qdm-btn {
    min-width: 0;
    width: 100%;
  }
}

/* ============================================================
   T10: 統合運営循環(template-qdm-cycle.php)
   モック preview/t10-preview.html(2カラム概観版・2026-08-17ユーザー確定)準拠。
   ヒーロー(qdm-check-hero--guide)・末尾CTA(qdm-check-cta--band)・
   書籍対応メタ(qdm-page-meta・2026-09-01に廃止)・見出し(qdm-section__*)・帯背景(qdm-section--alt)は
   T05/T07/T08/T09の既存クラスを流用し、
   ここではT10固有の差分(--cycle)と新規セクションのみを定義する。
   既存クラス・既存行の変更は行わない(追記のみ)。
   ============================================================ */

/* 循環の5色(円環バンド・ノード・ステップ・チップで共用)。
   既存の body.qdm-body の変数定義には手を入れず、T10ページのラッパーで追加定義する。
   各要素はインラインの --qdm-c: var(--qdm-cN) 経由で自分の色を受け取る。 */
.qdm-t10 {
  --qdm-c1: #12283a;
  --qdm-c2: #15546a;
  --qdm-c3: #17808d;
  --qdm-c4: #22909a;
  --qdm-c5: #d1a23c;
}

/* ヒーロー: 導入が2段落あるため2つ目の段落の上罫線・余白を打ち消す(モックの940px幅も再現) */
.qdm-check-hero--cycle .qdm-check-hero__lead {
  max-width: 940px;
}

.qdm-check-hero--cycle .qdm-check-hero__lead--cont {
  margin-top: 12px;
  padding-top: 0;
  border-top: none;
}

/* T10のセクション見出しはT07〜T09と同じく一回り小さく(モック準拠) */
.qdm-cycsec__steps .qdm-section__title,
.qdm-stops .qdm-section__title,
.qdm-meet .qdm-section__title,
.qdm-cyctrust .qdm-section__title {
  font-size: 24px;
  margin-bottom: 20px;
}

/* ===== T10: 概観(円環図 + 5ステップ詳細の2カラム) ===== */
.qdm-cycsec {
  background: var(--qdm-bg);
  border-bottom: 1px solid var(--qdm-line);
  padding: 40px 0 60px;
}

.qdm-cycsec .qdm-section__eyebrow {
  margin-bottom: 18px;
}

.qdm-cycsec .qdm-section__eyebrow::after {
  background: #d4e0e4;
}

/* 概観パネル(白カード / T09の概観図パネルと同じ流儀) */
.qdm-cycle-panel {
  background: #fff;
  border: 1px solid var(--qdm-line);
  border-radius: 10px;
  box-shadow: 0 6px 24px rgba(18, 40, 58, 0.06);
  padding: 26px 32px 24px;
}

/* 概観+5ステップ詳細の2カラム(2026-09-09に「図+1行要約」から変更。左=図だけのカード / 右=見出し+5カード) */
.qdm-cycsec__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: 36px;
  align-items: stretch;
}

/* 左カラム: 図カードは右カラムと同じ高さ。高さに余りが出たときは図を上下中央に置く。
   2カラム時は横スクロールさせず幅に合わせて縮尺(2026-09-09ユーザー指示=図と5ステップの高さをそろえる) */
.qdm-cycsec__fig {
  display: flex;
  flex-direction: column;
}

.qdm-cycsec__fig .qdm-cycle-panel {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 16px 16px 12px;
}

.qdm-cycsec__fig .qdm-cycle {
  min-width: 0;
}

/* 右カラム: 5ステップカードを参考画像どおりコンパクトにして図と同じ高さに収める。
   高さに余りが出たときはカードを等間隔に広げて吸収する */
.qdm-cycsec__steps {
  display: flex;
  flex-direction: column;
}

.qdm-cycsec__steps .qdm-section__title {
  margin-bottom: 12px;
}

.qdm-cycsec__steps .qdm-cycsteps__list {
  flex: 1;
  justify-content: space-between;
  gap: 8px;
  margin-top: 0;
}

.qdm-cycsec__steps .qdm-cycstep {
  padding: 11px 18px 12px;
}

.qdm-cycsec__steps .qdm-cycstep__head {
  gap: 10px;
  margin-bottom: 3px;
}

.qdm-cycsec__steps .qdm-cycstep__title {
  font-size: 16.5px;
}

.qdm-cycsec__steps .qdm-cycstep__cap {
  font-size: 9px;
  padding: 2px 10px;
}

.qdm-cycsec__steps .qdm-cycstep__text {
  font-size: 12.5px;
  line-height: 1.6;
  margin: 0;
}

/* ACF画像で差し替えたとき(静止画。ノードのクリック機能とホバー演出はなし) */
.qdm-cycle-panel__image {
  text-align: center;
}

.qdm-cycle-panel__image img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

.qdm-cycle-scroll {
  overflow-x: auto;
  scrollbar-width: thin;
}

.qdm-cycle {
  min-width: 460px;
}

/* viewBox と同一比を固定 → 図が拡縮してもノードが円環からズレない */
.qdm-cycle__fig {
  position: relative;
  max-width: 700px;
  margin: 0 auto;
  aspect-ratio: 860 / 650;
}

.qdm-cycle__svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
}

/* 中央ラベル */
.qdm-cycle__center {
  position: absolute;
  left: 50%;
  top: 52.923%;
  transform: translate(-50%, -50%);
  width: 160px;
  text-align: center;
  z-index: 1;
  pointer-events: none;
}

.qdm-cycle__center-title {
  font-size: 15.5px;
  font-weight: 700;
  color: var(--qdm-navy);
  letter-spacing: 0.06em;
  line-height: 1.5;
  margin: 0;
}

.qdm-cycle__center-cap {
  display: block;
  margin-top: 6px;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.18em;
  color: var(--qdm-teal-text);
}

.qdm-cycle__center-cap::before {
  content: "";
  display: block;
  width: 26px;
  height: 1px;
  background: var(--qdm-gold);
  margin: 0 auto 7px;
}

/* ノード(HTMLオーバーレイ / #step-N へのアンカー。JSスムーススクロールがそのまま効く) */
.qdm-cnode {
  position: absolute;
  transform: translate(-50%, -50%);
  z-index: 2;
  display: block;
  text-decoration: none;
  pointer-events: none; /* 当たり判定は円とラベルのみ */
}

.qdm-cnode__num {
  pointer-events: auto;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--qdm-c);
  color: #fff;
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  box-shadow: 0 0 0 4px #fff, 0 0 0 5px #e7eff1, 0 4px 12px rgba(18, 40, 58, 0.18);
  transition: transform 0.2s, box-shadow 0.2s;
}

.qdm-cnode--gold .qdm-cnode__num {
  color: var(--qdm-navy);
}

.qdm-cnode__label {
  pointer-events: auto;
  position: absolute;
}

.qdm-cnode__label--above,
.qdm-cnode__label--below {
  left: 50%;
  transform: translateX(-50%);
  width: 106px;
  text-align: center;
}

.qdm-cnode__label--above {
  bottom: calc(100% + 13px);
}

.qdm-cnode__label--below {
  top: calc(100% + 13px);
}

.qdm-cnode__label--right,
.qdm-cnode__label--left {
  top: 50%;
  transform: translateY(-50%);
  width: 100px;
}

.qdm-cnode__label--right {
  left: calc(100% + 13px);
  text-align: left;
}

.qdm-cnode__label--left {
  right: calc(100% + 13px);
  text-align: right;
}

.qdm-cnode__name {
  display: block;
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", serif;
  font-size: 15px;
  font-weight: 700;
  color: var(--qdm-navy);
  line-height: 1.4;
  letter-spacing: 0.08em;
  transition: color 0.2s;
}

.qdm-cnode__cap {
  display: block;
  margin-top: 3px;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.02em;
  color: var(--qdm-text-weak);
  transition: color 0.2s;
}

.qdm-cnode:hover .qdm-cnode__num {
  transform: translateY(-3px);
  box-shadow: 0 0 0 4px #fff, 0 0 0 5px #cfe2e5, 0 9px 18px rgba(18, 40, 58, 0.22);
}

.qdm-cnode:hover .qdm-cnode__name,
.qdm-cnode:hover .qdm-cnode__cap {
  color: var(--qdm-teal-text);
}

/* ===== T10: 5ステップの詳細(主役) ===== */
.qdm-cycsteps__list {
  margin-top: 6px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  list-style: none;
  padding: 0;
}

.qdm-cycstep {
  background: #fff;
  border: 1px solid var(--qdm-card-line);
  border-left: 4px solid var(--qdm-c);
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(18, 40, 58, 0.05);
  padding: 20px 30px 22px;
  scroll-margin-top: 100px;
}

.qdm-cycstep__head {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px;
  margin-bottom: 8px;
}

.qdm-cycstep__title {
  font-size: 21px;
  font-weight: 700;
  color: var(--qdm-navy);
  letter-spacing: 0.05em;
  line-height: 1.4;
  margin: 0;
}

.qdm-cycstep__no {
  color: var(--qdm-c);
}

.qdm-cycstep__cap {
  display: inline-flex;
  align-items: center;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.18em;
  color: var(--qdm-c);
  background: var(--qdm-bg);
  border-radius: 999px;
  padding: 3px 14px;
}

.qdm-cycstep__text {
  font-size: 14.5px;
}

/* ===== T10: 循環が止まる典型的な場所(縦リスト+途切れる流れ線) ===== */
.qdm-stops {
  padding: 56px 0 62px;
}

.qdm-stops__list {
  max-width: 940px;
  margin-top: 6px;
  list-style: none;
  padding: 0;
}

.qdm-brk {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  column-gap: 22px;
  align-items: stretch;
}

/* 左レール: 番号ノード → 実線(色付き) → ✕ → 途切れた破線 */
.qdm-brk__rail {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.qdm-brk__node {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  margin-top: 4px;
  border-radius: 50%;
  background: var(--qdm-c);
  color: #fff;
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  box-shadow: 0 0 0 4px #fff, 0 0 0 5px #e7eff1, 0 3px 9px rgba(18, 40, 58, 0.16);
}

.qdm-brk--gold .qdm-brk__node {
  color: var(--qdm-navy);
}

/* ノードから出る流れ(ここまでは循環が来ている) */
.qdm-brk__stem {
  flex: 1;
  width: 3px;
  min-height: 12px;
  margin-top: 8px;
  background: var(--qdm-c);
  border-radius: 2px;
}

/* 断絶マーク */
.qdm-brk__cut {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 27px;
  height: 27px;
  margin: 6px 0;
  border-radius: 50%;
  background: #fdf2f3;
  border: 1.5px solid #e3bfc4;
  color: var(--qdm-maroon);
}

/* 断絶の先(流れが弱り、途切れる) */
.qdm-brk__tail {
  flex: 1;
  width: 3px;
  min-height: 12px;
  margin-bottom: 8px;
  border-radius: 2px;
  background-image: repeating-linear-gradient(180deg, #bd7b85 0, #bd7b85 7px, rgba(255, 255, 255, 0) 7px, rgba(255, 255, 255, 0) 12px);
}

.qdm-brk__card {
  background: #fff;
  border: 1px solid var(--qdm-card-line);
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(18, 40, 58, 0.05);
  padding: 18px 26px 20px;
  margin-bottom: 18px;
}

.qdm-brk:last-child .qdm-brk__card {
  margin-bottom: 0;
}

.qdm-brk__title {
  font-size: 16.5px;
  font-weight: 700;
  color: var(--qdm-navy);
  letter-spacing: 0.05em;
  margin: 0 0 4px;
}

.qdm-brk__title::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 2px;
  vertical-align: middle;
  margin-right: 10px;
  background: var(--qdm-maroon);
  opacity: 0.55;
}

.qdm-brk__text {
  font-size: 14.5px;
}

/* ===== T10: 会議での使い方(アジェンダパネル) ===== */
.qdm-meet {
  padding: 56px 0 62px;
}

.qdm-agpanel {
  max-width: 900px;
  margin-top: 6px;
  background: #fff;
  border: 1px solid var(--qdm-card-line);
  border-top: 3px solid var(--qdm-teal);
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(18, 40, 58, 0.05);
  padding: 8px 32px 12px;
}

.qdm-agpanel__head {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 14px 0 12px;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.24em;
  color: var(--qdm-teal-text);
  border-bottom: 1px solid var(--qdm-line);
}

.qdm-agpanel__head::before {
  content: "";
  width: 13px;
  height: 3px;
  border-radius: 2px;
  background: var(--qdm-gold);
}

.qdm-agpanel__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.qdm-agitem {
  display: grid;
  grid-template-columns: 28px 96px minmax(0, 1fr);
  column-gap: 16px;
  align-items: center;
  padding: 13px 0;
  border-bottom: 1px dashed var(--qdm-line);
}

.qdm-agitem:last-child {
  border-bottom: none;
}

.qdm-agitem__no {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 1.5px solid var(--qdm-c);
  color: var(--qdm-c);
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", serif;
  font-size: 13.5px;
  font-weight: 700;
  line-height: 1;
}

.qdm-agitem__chip {
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--qdm-c);
  color: #fff;
  border-radius: 999px;
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: 0.1em;
  padding: 4px 0;
}

.qdm-agitem__chip--gold {
  color: var(--qdm-navy);
}

.qdm-agitem__text {
  font-size: 14.5px;
  margin: 0;
}

/* ===== T10: 信頼アーキテクチャとの関係 ===== */
.qdm-cyctrust {
  padding: 56px 0 62px;
}

.qdm-cyctrust__box {
  max-width: 940px;
  background: #fff;
  border: 1px solid var(--qdm-card-line);
  border-left: 3px solid var(--qdm-teal);
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(18, 40, 58, 0.05);
  padding: 24px 30px;
  font-size: 14.5px;
}

/* ===== T10: Responsive(既存の断点に合わせる) ===== */
/* 1080px以下: 図 → 5ステップ詳細 の縦積み */
@media (max-width: 1080px) {
  .qdm-cycsec__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
  }

  .qdm-cycsec__fig .qdm-cycle {
    min-width: 460px;
  }

  /* 縦積み時はコンパクト化を解除して従来の見た目に戻す */
  .qdm-cycsec__fig .qdm-cycle-panel {
    flex: none;
    display: block;
    padding: 26px 32px 24px;
  }

  .qdm-cycsec__steps .qdm-cycsteps__list {
    flex: none;
    gap: 16px;
    margin-top: 6px;
  }

  .qdm-cycsec__steps .qdm-cycstep {
    padding: 20px 30px 22px;
  }

  .qdm-cycsec__steps .qdm-cycstep__head {
    gap: 14px;
    margin-bottom: 8px;
  }

  .qdm-cycsec__steps .qdm-cycstep__title {
    font-size: 21px;
  }

  .qdm-cycsec__steps .qdm-cycstep__cap {
    font-size: 10px;
    padding: 3px 14px;
  }

  .qdm-cycsec__steps .qdm-cycstep__text {
    font-size: 14.5px;
    line-height: inherit;
  }
}

@media (max-width: 960px) {
  .qdm-cycsec {
    padding: 30px 0 40px;
  }

  .qdm-cycle-panel {
    padding: 22px 18px 18px;
  }

  .qdm-cycsec__fig .qdm-cycle-panel {
    padding: 22px 18px 18px;
  }

  .qdm-cycsec__steps .qdm-section__title,
  .qdm-stops .qdm-section__title,
  .qdm-meet .qdm-section__title,
  .qdm-cyctrust .qdm-section__title {
    font-size: 21px;
  }

  .qdm-cycstep {
    padding: 18px 20px 20px;
    scroll-margin-top: 88px;
  }

  .qdm-cycstep__title {
    font-size: 19px;
  }

  .qdm-brk {
    grid-template-columns: 46px minmax(0, 1fr);
    column-gap: 15px;
  }

  .qdm-brk__node {
    width: 36px;
    height: 36px;
    font-size: 15px;
    box-shadow: 0 0 0 3px #fff, 0 0 0 4px #e7eff1, 0 3px 8px rgba(18, 40, 58, 0.16);
  }

  .qdm-brk__stem {
    min-height: 10px;
    margin-top: 7px;
  }

  .qdm-brk__cut {
    width: 23px;
    height: 23px;
    margin: 5px 0;
  }

  .qdm-brk__card {
    padding: 14px 18px 16px;
    margin-bottom: 14px;
  }

  .qdm-brk__title {
    font-size: 15.5px;
  }

  .qdm-brk__title::before {
    width: 12px;
    margin-right: 8px;
  }

  .qdm-brk__text {
    font-size: 14px;
  }

  .qdm-agpanel {
    padding: 6px 20px 10px;
  }

  .qdm-agitem {
    grid-template-columns: 26px minmax(0, 1fr);
    column-gap: 12px;
    row-gap: 6px;
    align-items: start;
    padding: 12px 0 14px;
  }

  .qdm-agitem__no {
    width: 26px;
    height: 26px;
    font-size: 13px;
  }

  .qdm-agitem__chip {
    justify-self: start;
    padding: 3px 16px;
  }

  .qdm-agitem__text {
    grid-column: 1 / -1;
  }

  .qdm-cyctrust__box {
    padding: 20px 22px;
  }
}

/* 図が小さくなる帯域ではノード・ラベルを縮小して重なりを防ぐ */
@media (max-width: 560px) {
  /* 図が縮むと固定pxのラベルが図枠外へはみ出すため、上下に逃げしろを確保 */
  .qdm-cycle {
    min-width: 430px;
    padding: 20px 0 16px;
  }

  .qdm-cnode__num {
    width: 42px;
    height: 42px;
    font-size: 16px;
    box-shadow: 0 0 0 3px #fff, 0 0 0 4px #e7eff1, 0 4px 10px rgba(18, 40, 58, 0.18);
  }

  .qdm-cnode__label--above,
  .qdm-cnode__label--below {
    width: 92px;
  }

  .qdm-cnode__label--right,
  .qdm-cnode__label--left {
    width: 80px;
  }

  .qdm-cnode__label--above {
    bottom: calc(100% + 10px);
  }

  .qdm-cnode__label--below {
    top: calc(100% + 10px);
  }

  .qdm-cnode__label--right {
    left: calc(100% + 10px);
  }

  .qdm-cnode__label--left {
    right: calc(100% + 10px);
  }

  .qdm-cnode__name {
    font-size: 13px;
    letter-spacing: 0.03em;
  }

  .qdm-cnode__cap {
    font-size: 10px;
  }

  .qdm-cycle__center {
    width: 118px;
  }

  .qdm-cycle__center-title {
    font-size: 12.5px;
    letter-spacing: 0.02em;
  }

  .qdm-cycle__center-cap {
    font-size: 7px;
    letter-spacing: 0.1em;
  }

  .qdm-cycle__center-cap::before {
    width: 20px;
    margin-bottom: 5px;
  }
}

/* ============================================================
   T11: 知見(一覧 template-qdm-insights.php / 記事 template-qdm-insight.php)
   モック preview/t11-preview.html・preview/t11-article-preview.html
   (2026-08-17ユーザー確定)準拠。
   ヒーロー(qdm-check-hero--guide)・パンくず(qdm-crumbs)・
   末尾CTA(qdm-check-cta--band)・書籍対応メタ(qdm-page-meta・2026-09-01に廃止)・
   見出し(qdm-section__*)はT05/T07/T08/T09/T10の既存クラスを流用し、
   ここではT11固有の差分(--insights)と新規ブロックのみを定義する。
   既存クラス・既存行の変更は行わない(追記のみ)。
   ============================================================ */

/* モックの --gold-text(小さい文字でも読める濃いゴールド)は、
   既存の body.qdm-body の変数定義に手を入れず、T11のラッパーで追加定義する。 */
.qdm-t11,
.qdm-t11a {
  --qdm-gold-text: #8a6a1e;
}

/* ===== T11一覧: ヒーロー(T08の qdm-check-hero--guide を流用+導入2段落) ===== */
.qdm-check-hero--insights .qdm-check-hero__inner {
  padding-top: 44px;
  padding-bottom: 42px;
}

.qdm-check-hero--insights .qdm-check-hero__title {
  margin-bottom: 8px;
}

.qdm-check-hero--insights .qdm-check-hero__lead {
  max-width: 940px;
}

.qdm-check-hero--insights .qdm-check-hero__lead--cont {
  margin-top: 12px;
  padding-top: 0;
  border-top: none;
}

/* T11のセクション見出しはT07〜T10と同じく一回り小さく(モック準拠)。
   ※2026-09-01のNext Stepセクション削除で出力されなくなった未使用スタイル。
   将来の再利用に備えて定義のみ残置している(HTML側に .qdm-routes は存在しない)。 */
.qdm-routes .qdm-section__title {
  font-size: 24px;
  margin-bottom: 20px;
}

/* ===== T11一覧: 分類チップと対応章ラベル(注目カード・記事カード共通) ===== */
.qdm-cat-chip {
  display: inline-flex;
  align-items: center;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  border-radius: 999px;
  padding: 3px 14px;
  background: var(--qdm-teal-light);
  color: var(--qdm-teal-dark);
  white-space: nowrap;
}

.qdm-cat-chip--practice {
  background: #e8edf2;
  color: var(--qdm-navy);
}

.qdm-cat-chip--system {
  background: #f6ecd6;
  color: var(--qdm-gold-text);
}

.qdm-cat-chip--talk {
  background: #f4e6e8;
  color: var(--qdm-maroon);
}

.qdm-ch-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: var(--qdm-gold-text);
  white-space: nowrap;
}

.qdm-ch-label::before {
  content: "";
  width: 14px;
  height: 2px;
  background: var(--qdm-gold);
  border-radius: 2px;
}

/* ===== T11一覧: フィルタチップ列 ===== */
.qdm-chips {
  padding: 30px 0 4px;
}

.qdm-chips__list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.qdm-chip-btn {
  font-family: inherit;
  font-size: 13.5px;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--qdm-text-weak);
  background: #fff;
  border: 1px solid var(--qdm-line);
  border-radius: 999px;
  padding: 8px 24px;
  cursor: pointer;
  transition: background 0.2s, border-color 0.2s, color 0.2s;
}

.qdm-chip-btn:hover {
  border-color: var(--qdm-teal);
  color: var(--qdm-teal-text);
}

.qdm-chip-btn.is-active {
  background: var(--qdm-teal-dark);
  border-color: var(--qdm-teal-dark);
  color: #fff;
}

/* ===== T11一覧: 注目記事(コンテナ全幅の濃色カード1枚) ===== */
/* 2026-09-01改修: 旧構成の「左=白い大カード + 右=引用パネル」の2カラムをやめ、
   カード1枚を全幅で見せる(引用パネルは廃止。面の反転は末尾の .qdm-fcard--dark)。 */
.qdm-featured {
  padding: 28px 0 0;
}

.qdm-featured__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 24px;
  align-items: stretch;
}

.qdm-fcard {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid var(--qdm-card-line);
  border-top: 3px solid var(--qdm-teal);
  border-radius: 10px;
  box-shadow: 0 6px 24px rgba(18, 40, 58, 0.07);
  padding: 26px 32px 24px;
  color: var(--qdm-text);
  text-decoration: none;
  transition: transform 0.2s, box-shadow 0.2s;
}

.qdm-fcard:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 32px rgba(18, 40, 58, 0.13);
}

.qdm-fcard__labels {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 16px;
  margin-bottom: 14px;
}

.qdm-fcard__title {
  font-size: 27px;
  font-weight: 700;
  color: var(--qdm-navy);
  line-height: 1.5;
  letter-spacing: 0.03em;
  margin: 0 0 10px;
  transition: color 0.2s;
}

.qdm-fcard:hover .qdm-fcard__title {
  color: var(--qdm-teal-text);
}

.qdm-fcard__text {
  font-size: 14.5px;
  margin: 0;
}

.qdm-fcard__meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px 22px;
  margin: auto 0 0;
  padding-top: 18px;
  border-top: 1px solid var(--qdm-line);
  font-size: 12.5px;
  color: var(--qdm-text-weak);
}

/* 「記事を読む」。2026-09-01に矢印(::after の \27F6)を削除したため、
   矢印との間隔用だった gap: 6px もあわせて削除している。 */
.qdm-fcard__more {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  font-size: 13px;
  font-weight: 700;
  color: var(--qdm-teal-text);
}

/* 引用パネル(紺→ティールのグラデ)。
   2026-09-01の注目記事改修で出力されなくなった未使用スタイル。
   面のグラデーションは .qdm-fcard--dark(ファイル末尾)へ引き継いだ。
   将来の再利用に備えて定義のみ残置している(HTML側に該当要素はない)。 */
.qdm-quote-panel {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: linear-gradient(145deg, var(--qdm-band-navy) 0%, #15546a 55%, var(--qdm-teal) 100%);
  border-radius: 10px;
  padding: 42px 40px 44px;
  overflow: hidden;
}

.qdm-quote-panel__mark {
  position: absolute;
  top: -18px;
  left: 20px;
  font-size: 140px;
  line-height: 1;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.14);
  pointer-events: none;
  user-select: none;
}

.qdm-quote-panel__eyebrow {
  position: relative;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.22em;
  color: var(--qdm-gold);
  margin: 0 0 14px;
}

.qdm-quote-panel__text {
  position: relative;
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-size: 19px;
  font-weight: 600;
  line-height: 1.95;
  letter-spacing: 0.04em;
  color: #fff;
  margin: 0;
}

.qdm-quote-panel__rule {
  position: relative;
  width: 44px;
  height: 2px;
  background: var(--qdm-gold);
  border-radius: 2px;
  margin-top: 22px;
}

/* ===== T11一覧: 記事カードグリッド ===== */
.qdm-alist {
  padding: 24px 0 58px;
}

.qdm-alist__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  margin-top: 24px;
}

.qdm-icard {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid var(--qdm-card-line);
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(18, 40, 58, 0.05);
  padding: 20px 24px;
  color: var(--qdm-text);
  text-decoration: none;
  transition: transform 0.2s, box-shadow 0.2s;
}

.qdm-icard:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 26px rgba(18, 40, 58, 0.11);
}

.qdm-icard__labels {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 14px;
  margin-bottom: 12px;
}

.qdm-icard__title {
  font-size: 18px;
  font-weight: 700;
  color: var(--qdm-navy);
  line-height: 1.6;
  letter-spacing: 0.03em;
  margin: 0 0 8px;
  transition: color 0.2s;
}

.qdm-icard:hover .qdm-icard__title {
  color: var(--qdm-teal-text);
}

.qdm-icard__text {
  font-size: 13.5px;
  line-height: 1.8;
  margin: 0;
}

.qdm-icard__meta {
  margin: auto 0 0;
  padding-top: 16px;
  border-top: 1px solid var(--qdm-bg);
  font-size: 12px;
  color: var(--qdm-text-weak);
}

.qdm-icard__meta span {
  display: block;
}

/* フィルタで0件になったときだけJSが表示する(モック確定文言) */
.qdm-ifilter-empty {
  display: none;
  margin: 24px 0 0;
  padding: 34px 24px;
  border: 1px dashed #c8d6da;
  border-radius: 8px;
  background: #fff;
  text-align: center;
  font-size: 14px;
  color: var(--qdm-text-weak);
}

.qdm-ifilter-empty.is-shown {
  display: block;
}

/* 記事が1件もないあいだの空状態(チップ〜カード領域の代わりに1行) */
.qdm-ilist-empty {
  padding: 34px 0 4px;
}

.qdm-ilist-empty__box {
  margin: 0;
  padding: 34px 24px;
  border: 1px dashed #c8d6da;
  border-radius: 8px;
  background: var(--qdm-bg);
  text-align: center;
  font-size: 14px;
  color: var(--qdm-text-weak);
}

/* ===== T11一覧: 診断導線(Next Step) ===== */
/* 2026-09-01のNext Stepセクション削除(ユーザー決定)で出力されなくなった未使用スタイル。
   将来の再利用に備えて定義のみ残置している(HTML側に該当要素はない)。
   下のレスポンシブ(640px)にも .qdm-routes 系の指定が残置してある。 */
.qdm-routes {
  padding: 52px 0 58px;
  border-top: 1px solid var(--qdm-line);
}

.qdm-routes__lead {
  max-width: 900px;
  font-size: 14.5px;
  margin: 0 0 22px;
}

.qdm-routes__btns {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

/* 白地・細枠のボタン(モックの btn--line)。
   もとはT11の診断導線で使っていたが、2026-09-01のNext Stepセクション削除により
   現在の使用箇所はT12(template-qdm-events.php「関連書籍を見る」)のみ。
   → 使用中のスタイルなので削除しないこと。 */
.qdm-btn--line {
  background: #fff;
  color: var(--qdm-navy);
  border: 1px solid var(--qdm-line);
  font-size: 14px;
  padding: 13px 33px;
}

.qdm-btn--line:hover {
  border-color: var(--qdm-teal);
  color: var(--qdm-teal-text);
}

/* ===== T11一覧: 末尾CTA(紺バンド内の見出し+横並び2ボタン) ===== */
.qdm-icta__title {
  font-size: 18px;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.06em;
  margin: 0 0 22px;
}

.qdm-icta__btns {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 16px;
}

.qdm-icta__btns .qdm-btn {
  min-width: 280px;
}

/* ===== T11記事: 記事ヘッダー ===== */
.qdm-art-hero {
  background: linear-gradient(135deg, #eef6f4 0%, #e8f2f3 55%, #e4eff1 100%);
  border-bottom: 1px solid #d7e5e8;
}

.qdm-art-hero__inner {
  padding-top: 38px;
  padding-bottom: 38px;
}

.qdm-art-hero .qdm-crumbs {
  margin-bottom: 20px;
}

/* 記事ヘッダーのキッカー: 一覧カードと同じ「分類チップ + 第N章」(2026-09-10)。
   .qdm-cat-chip / .qdm-ch-label 本体は一覧側の定義(T11一覧セクション)を流用し、
   見出し直上で読ませるためここでは記事ヒーロー内だけ一回り大きく上書きする。 */
.qdm-art-hero__labels {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px 14px;
  margin: 0 0 14px;
}

.qdm-art-hero__labels .qdm-cat-chip {
  font-size: 12.5px;
  padding: 4px 16px;
}

.qdm-art-hero__labels .qdm-ch-label {
  font-size: 12.5px;
}

.qdm-art-hero__title {
  font-size: 33px;
  font-weight: 700;
  line-height: 1.5;
  color: var(--qdm-navy);
  letter-spacing: 0.03em;
  max-width: 900px;
  margin: 0;
}

.qdm-art-hero__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 26px;
  margin: 20px 0 0;
  padding-top: 16px;
  border-top: 1px solid #dfeaec;
  font-size: 12.5px;
  color: var(--qdm-text-weak);
}

/* ===== T11記事: 本文 + 右サイドバー(sticky) ===== */
.qdm-artwrap {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 48px;
  padding-top: 44px;
  padding-bottom: 56px;
  align-items: start;
}

.qdm-artbody {
  max-width: 760px;
}

/* 標準構成のラベル(どの標準ブロックに当たるかを示すチップ)
   ※2026-09-03の「標準構成 ／ 〜」チップ全廃(冒頭要約は2026-09-01・本文セクションは2026-09-03に削除)で
   出力されなくなった未使用スタイル。将来の再利用に備えて定義のみ残置している
   (HTML側に .qdm-std-label は存在しない。下の .qdm-artsum .qdm-std-label も同様)。 */
.qdm-std-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: var(--qdm-maroon);
  background: #f4e6e8;
  border-radius: 999px;
  padding: 3px 14px;
  margin-bottom: 10px;
}

/* この記事で分かること(淡ティールのボックス) */
.qdm-artsum {
  background: var(--qdm-teal-light);
  border: 1px solid #cbe4e8;
  border-left: 3px solid var(--qdm-teal);
  border-radius: 8px;
  padding: 22px 26px 24px;
  margin-bottom: 40px;
}

/* 2026-09-03のチップ全廃で未使用になったスタイルの残置(上の .qdm-std-label と足並みをそろえて残す)。 */
.qdm-artsum .qdm-std-label {
  background: #fff;
  color: var(--qdm-teal-dark);
}

.qdm-artsum__title {
  font-size: 17px;
  font-weight: 700;
  color: var(--qdm-navy);
  letter-spacing: 0.05em;
  margin: 0 0 10px;
}

.qdm-artsum__list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.qdm-artsum__list li {
  position: relative;
  padding-left: 22px;
  font-size: 14.5px;
  line-height: 1.8;
}

.qdm-artsum__list li::before {
  content: "";
  position: absolute;
  left: 2px;
  top: 12px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--qdm-teal);
}

/* 本文セクション(ACFリピーターの1行=1セクション) */
.qdm-artsec {
  margin-bottom: 40px;
}

.qdm-artsec__title {
  font-size: 22px;
  font-weight: 700;
  color: var(--qdm-navy);
  line-height: 1.55;
  letter-spacing: 0.04em;
  padding-bottom: 12px;
  margin: 0 0 16px;
  border-bottom: 1px solid var(--qdm-line);
}

.qdm-artsec p {
  font-size: 15px;
  line-height: 1.95;
  margin: 0 0 1.2em;
}

.qdm-artsec p:last-child {
  margin-bottom: 0;
}

/* 本文中の表(2026-09-10追加)。textareaで全行が「|」で始まる段落ブロックを表にする(1行目=見出し行)。
   横幅が足りないときは表だけ横スクロールさせ、ページ全体は横に伸ばさない。 */
.qdm-arttable-wrap {
  overflow-x: auto;
  margin: 0 0 1.4em;
}

.qdm-arttable {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
  line-height: 1.7;
}

.qdm-arttable th,
.qdm-arttable td {
  padding: 10px 14px;
  border: 1px solid #d7e5e8;
  text-align: left;
  vertical-align: top;
}

.qdm-arttable th {
  background: var(--qdm-teal-light);
  color: var(--qdm-teal-dark);
  font-weight: 700;
  white-space: nowrap;
}

.qdm-arttable td:first-child {
  white-space: nowrap;
}

/* ===== T11記事: 出所・更新 ===== */
.qdm-source {
  border-top: 2px solid var(--qdm-navy);
  padding-top: 22px;
  margin-top: 48px;
}

.qdm-source__title {
  font-size: 15px;
  font-weight: 700;
  color: var(--qdm-navy);
  letter-spacing: 0.08em;
  margin: 0 0 14px;
}

.qdm-source__list {
  display: grid;
  grid-template-columns: 108px minmax(0, 1fr);
  font-size: 13.5px;
  margin: 0;
}

.qdm-source__list dt {
  padding: 10px 0;
  border-bottom: 1px solid var(--qdm-line);
  color: var(--qdm-text-weak);
  font-weight: 700;
  margin: 0;
}

.qdm-source__list dd {
  padding: 10px 0;
  border-bottom: 1px solid var(--qdm-line);
  color: var(--qdm-navy);
  margin: 0;
}

/* ===== T11記事: サイドバー ===== */
.qdm-side {
  position: sticky;
  top: 100px;
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.qdm-scard {
  background: #fff;
  border: 1px solid var(--qdm-card-line);
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(18, 40, 58, 0.06);
  padding: 20px 22px 22px;
}

/* 共通ヘッダー(2026-09-01デザイン変更・モック preview/t11-side-cards-mock.html 準拠)。
   金の短い横棒+英字ラベル → 日本語タイトル(セリフ・ティール18px)→ カード幅いっぱいの細罫、
   の順に積む。旧デザインは英字ラベルの直下に罫を引き、日本語タイトルはゴシック紺15pxだった。 */
.qdm-scard__head {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.2em;
  color: var(--qdm-teal-text);
  margin: 0 0 8px;
}

.qdm-scard__head::before {
  content: "";
  width: 20px;
  height: 3px;
  border-radius: 2px;
  background: var(--qdm-gold);
}

/* カードの日本語タイトル(書籍との対応・社内で考える問い・関連ページ)。
   セリフ体はこの定義で与えるため、HTML側に .qdm-serif は付けない。 */
.qdm-scard__title {
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-size: 18px;
  font-weight: 700;
  color: var(--qdm-teal);
  letter-spacing: 0.04em;
  line-height: 1.6;
  margin: 0 0 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--qdm-line);
}

/* BOOK CHAPTERカードの章見出し(記事ACFの「対応章表示」)。書影の右に置く小見出し。 */
.qdm-scard__ch {
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-size: 14px;
  font-weight: 700;
  color: var(--qdm-navy);
  line-height: 1.65;
  letter-spacing: 0.02em;
  margin: 0 0 8px;
  transition: color 0.2s;
}

.qdm-scard__text {
  font-size: 12.5px;
  line-height: 1.85;
  color: var(--qdm-text);
  margin: 0;
}

.qdm-scard__book {
  display: flex;
  gap: 14px;
  align-items: flex-start;
}

.qdm-scard__cover {
  flex-shrink: 0;
  width: 72px;
  border-radius: 2px;
  box-shadow: 0 8px 18px rgba(18, 40, 58, 0.22);
  display: block;
  transition: box-shadow 0.2s;
}

/* 書籍との対応ブロックをリンクにしたとき(2026-09-01)。章別ガイド(T05)の
   該当章アンカーへ飛ぶ。文字色はリンク化前と同じに保ち、下線も出さない。
   hoverでは章タイトルをティールにし、書影の影を少し強めるだけの控えめな反応にする
   (カード自体は動かさない=サイドバーがちらつかないため)。 */
.qdm-scard__book--link {
  color: inherit;
  text-decoration: none;
  display: flex;
}

.qdm-scard__book--link:hover .qdm-scard__ch {
  color: var(--qdm-teal-text);
}

.qdm-scard__book--link:hover .qdm-scard__cover {
  box-shadow: 0 10px 22px rgba(18, 40, 58, 0.3);
}

/* QUESTIONS: 行頭にティール塗りの丸「Q」。2026-09-01に行間と字下げをゆったりへ調整。 */
.qdm-scard__qs {
  display: flex;
  flex-direction: column;
  gap: 16px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.qdm-scard__qs li {
  position: relative;
  padding-left: 28px;
  font-size: 13.5px;
  line-height: 1.85;
  color: var(--qdm-navy);
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-weight: 600;
}

.qdm-scard__qs li::before {
  content: "Q";
  position: absolute;
  left: 0;
  top: 0;
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-size: 11.5px;
  font-weight: 700;
  color: #fff;
  background: var(--qdm-teal);
  border-radius: 999px;
  width: 18px;
  height: 18px;
  line-height: 18px;
  text-align: center;
  margin-top: 4px;
}

.qdm-scard__links {
  display: flex;
  flex-direction: column;
  list-style: none;
  margin: 0;
  padding: 0;
}

/* RELATED: 2026-09-01に区切りを実線へ、行末の矢印をゴールドの「→」へ変更(hoverで少し右へ)。
   2026-09-03にURL未設定行(.qdm-scard__link-pending = リンクではないspan)を追加した。
   行組み(余白・区切り線・矢印)はリンク行と共通にし、文字色と矢印だけ弱めて
   クリック対象でないことを示す。hover時の色変化と矢印の移動はリンク行(a)だけに効かせる。 */
.qdm-scard__links a,
.qdm-scard__links .qdm-scard__link-pending {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 12px 0;
  font-size: 13.5px;
  font-weight: 500;
  color: var(--qdm-text);
  text-decoration: none;
  border-bottom: 1px solid var(--qdm-line);
  transition: color 0.2s;
}

.qdm-scard__links li:last-child a,
.qdm-scard__links li:last-child .qdm-scard__link-pending {
  border-bottom: none;
  padding-bottom: 0;
}

/* URL未設定行はリンク行より薄い文字色(本文色ではなく弱色)にし、カーソルも変えない */
.qdm-scard__links .qdm-scard__link-pending {
  color: var(--qdm-text-weak);
  cursor: default;
}

.qdm-scard__links a:hover {
  color: var(--qdm-teal-text);
}

.qdm-scard__links a::after,
.qdm-scard__links .qdm-scard__link-pending::after {
  content: "\2192";
  font-size: 14px;
  line-height: 1;
  color: var(--qdm-gold);
  transition: transform 0.2s;
}

/* URL未設定行の矢印は薄く(文字色の弱まりに合わせる。hoverでは動かさない) */
.qdm-scard__links .qdm-scard__link-pending::after {
  opacity: 0.45;
}

.qdm-scard__links a:hover::after {
  transform: translateX(3px);
}

/* ===== T11: Responsive ===== */
@media (max-width: 1080px) {
  /* .qdm-featured__grid の1カラム化は2026-09-01改修で常時適用になったため、
     ここでの上書きは不要になり削除(以下の .qdm-quote-panel 2件は未使用スタイルの残置)。 */
  .qdm-quote-panel {
    padding: 34px 32px 36px;
  }

  .qdm-quote-panel__text {
    font-size: 17.5px;
  }

  .qdm-alist__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .qdm-artwrap {
    grid-template-columns: minmax(0, 1fr);
    gap: 36px;
  }

  .qdm-side {
    position: static;
  }

  .qdm-artbody {
    max-width: none;
  }
}

@media (max-width: 960px) {
  .qdm-fcard {
    padding: 22px 24px;
  }

  .qdm-fcard__title {
    font-size: 22px;
  }

  .qdm-art-hero__title {
    font-size: 25px;
  }

  .qdm-artsec__title {
    font-size: 19.5px;
  }

  /* 本文中の表は狭い画面で少し縮める(2026-09-10追加。入りきらない分は表だけ横スクロール) */
  .qdm-arttable {
    font-size: 13px;
  }

  .qdm-arttable th,
  .qdm-arttable td {
    padding: 8px 10px;
  }
}

@media (max-width: 640px) {
  .qdm-chips {
    padding: 22px 0 0;
  }

  .qdm-chip-btn {
    font-size: 13px;
    padding: 7px 18px;
  }

  .qdm-featured {
    padding: 22px 0 0;
  }

  .qdm-fcard {
    padding: 20px;
  }

  .qdm-fcard__title {
    font-size: 20px;
  }

  .qdm-fcard__meta {
    gap: 4px 16px;
  }

  .qdm-fcard__more {
    margin-left: 0;
  }

  .qdm-quote-panel {
    padding: 30px 24px 32px;
  }

  .qdm-quote-panel__text {
    font-size: 16px;
    line-height: 1.9;
  }

  .qdm-quote-panel__mark {
    font-size: 110px;
    top: -14px;
    left: 12px;
  }

  .qdm-alist {
    padding: 20px 0 46px;
  }

  .qdm-alist__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .qdm-ilist-empty__box,
  .qdm-ifilter-empty {
    padding: 26px 18px;
  }

  /* 以下の .qdm-routes 系3件は、2026-09-01のNext Stepセクション削除で
     未使用になったスタイルの残置(本体の定義と足並みをそろえて残す)。 */
  .qdm-routes {
    padding: 42px 0 46px;
  }

  .qdm-routes__btns {
    flex-direction: column;
  }

  .qdm-routes__btns .qdm-btn {
    width: 100%;
  }

  .qdm-icta__btns {
    flex-direction: column;
    align-items: stretch;
  }

  .qdm-icta__btns .qdm-btn {
    min-width: 0;
    width: 100%;
    padding: 14px 18px;
  }

  .qdm-art-hero__title {
    font-size: 22px;
  }

  .qdm-art-hero__meta {
    gap: 4px 18px;
  }

  .qdm-artwrap {
    padding-top: 32px;
    padding-bottom: 42px;
  }

  .qdm-artsum {
    padding: 18px 18px 20px;
    margin-bottom: 32px;
  }

  .qdm-artsec {
    margin-bottom: 32px;
  }

  .qdm-artsec p {
    font-size: 14.5px;
  }

  .qdm-source__list {
    grid-template-columns: minmax(0, 1fr);
  }

  .qdm-source__list dt {
    padding-bottom: 0;
    border-bottom: none;
  }

  .qdm-source__list dd {
    padding-top: 2px;
  }
}

/* ============================================================
   T12: セミナー(一覧 template-qdm-events.php / 詳細 template-qdm-event.php)
   モック preview/t12-preview.html・preview/t12-event-preview.html
   (2026-08-17ユーザー確定)準拠。
   ヒーロー(qdm-check-hero--guide)・パンくず(qdm-crumbs)・
   セクション見出し(qdm-section__*)・末尾CTA(qdm-check-cta--band)・
   書籍対応メタ(qdm-page-meta・2026-09-01に廃止)・ボタン(qdm-btn--teal/--line/--gold)は
   T05/T07〜T11の既存クラスを流用し、ここではT12固有の差分(--events/--event)と
   新規ブロック(qdm-ev-*)のみを定義する。
   既存クラス・既存行の変更は行わない(追記のみ)。
   ============================================================ */

/* モックの --gold-text(小さい文字でも読める濃いゴールド)は、
   既存の body.qdm-body の変数定義に手を入れず、T12のラッパーで追加定義する。 */
.qdm-t12,
.qdm-t12e {
  --qdm-gold-text: #8a6a1e;
}

/* ===== T12一覧: ヒーロー(T08の qdm-check-hero--guide を流用+導入2段落) ===== */
.qdm-check-hero--events .qdm-check-hero__inner {
  padding-top: 46px;
  padding-bottom: 44px;
}

.qdm-check-hero--events .qdm-check-hero__title {
  margin-bottom: 8px;
}

.qdm-check-hero--events .qdm-check-hero__lead {
  max-width: 940px;
}

.qdm-check-hero--events .qdm-check-hero__lead--cont {
  margin-top: 12px;
  padding-top: 0;
  border-top: none;
}

/* T12のセクション見出しはT07〜T11と同じく一回り小さく(モック準拠) */
.qdm-ev-upcoming .qdm-section__title,
.qdm-ev-list .qdm-section__title {
  font-size: 24px;
  margin-bottom: 22px;
}

/* ===== T12共通: 状態バッジ(一覧カード・詳細ヒーロー) ===== */
.qdm-ev-badge {
  display: inline-flex;
  align-items: center;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  border-radius: 999px;
  padding: 3px 14px;
  background: var(--qdm-teal-light);
  color: var(--qdm-teal-dark);
  white-space: nowrap;
}

.qdm-ev-badge--record {
  background: #e8edf2;
  color: var(--qdm-navy);
}

.qdm-ev-badge--joint {
  background: #f4e6e8;
  color: var(--qdm-maroon);
}

.qdm-ev-badge--prep {
  background: #f6ecd6;
  color: var(--qdm-gold-text);
}

/* 種別ラベル(金の短い罫+濃ゴールド文字。背景を持たない見出し風のバッジ) */
.qdm-ev-badge--title {
  background: transparent;
  color: var(--qdm-gold-text);
  padding: 3px 0;
  letter-spacing: 0.1em;
  gap: 8px;
}

.qdm-ev-badge--title::before {
  content: "";
  width: 14px;
  height: 2px;
  background: var(--qdm-gold);
  border-radius: 2px;
}

/* ===== T12一覧: 開催予定(大型2カラム = 左カード + 右の日付パネル) ===== */
.qdm-ev-upcoming {
  padding: 52px 0 6px;
}

.qdm-ev-upcoming__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr);
  gap: 24px;
  align-items: stretch;
}

/* 複数件のときは縦に積む */
.qdm-ev-upcoming__grid + .qdm-ev-upcoming__grid {
  margin-top: 24px;
}

/* 日付パネルの値が1つも入っていないときはカードを横幅いっぱいに */
.qdm-ev-upcoming__grid--single {
  grid-template-columns: minmax(0, 1fr);
}

.qdm-ev-ucard {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid var(--qdm-card-line);
  border-top: 3px solid var(--qdm-teal);
  border-radius: 10px;
  box-shadow: 0 6px 24px rgba(18, 40, 58, 0.07);
  padding: 28px 34px;
}

.qdm-ev-ucard__labels {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 16px;
  margin-bottom: 16px;
}

.qdm-ev-ucard__title {
  font-size: 27px;
  font-weight: 700;
  color: var(--qdm-navy);
  line-height: 1.5;
  letter-spacing: 0.03em;
  margin: 0 0 14px;
}

.qdm-ev-ucard__text {
  font-size: 14.5px;
  margin: 0;
}

.qdm-ev-ucard__btns {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: auto;
  padding-top: 24px;
}

/* 日付パネル(紺→ティールのグラデ) */
.qdm-ev-datepanel {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: linear-gradient(145deg, var(--qdm-band-navy) 0%, #15546a 55%, var(--qdm-teal) 100%);
  border-radius: 10px;
  padding: 34px 36px 36px;
  overflow: hidden;
  text-align: center;
}

.qdm-ev-datepanel__month {
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.22em;
  color: var(--qdm-gold);
  margin: 0 0 4px;
}

.qdm-ev-datepanel__day {
  font-size: 86px;
  font-weight: 700;
  line-height: 1.1;
  color: #fff;
  letter-spacing: 0.02em;
  margin: 0;
}

.qdm-ev-datepanel__dow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.22em;
  color: rgba(255, 255, 255, 0.7);
  margin: 2px 0 0;
}

.qdm-ev-datepanel__rule {
  display: block;
  width: 44px;
  height: 2px;
  background: var(--qdm-gold);
  border-radius: 2px;
  margin: 20px auto 18px;
}

.qdm-ev-datepanel__info {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 13.5px;
  color: #e2edf2;
  line-height: 1.7;
}

.qdm-ev-datepanel__state {
  align-self: center;
  margin-top: 18px;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: var(--qdm-navy);
  background: var(--qdm-gold);
  border-radius: 999px;
  padding: 4px 18px;
}

/* ===== T12一覧: 開催予定が0件のときの準備中パネル ===== */
.qdm-ev-prep {
  background: var(--qdm-bg);
  border: 1px dashed #c8d6da;
  border-radius: 10px;
  padding: 26px 32px 24px;
}

.qdm-ev-prep__labels {
  margin-bottom: 12px;
}

.qdm-ev-prep__title {
  font-size: 18px;
  font-weight: 700;
  color: var(--qdm-navy);
  line-height: 1.75;
  letter-spacing: 0.03em;
  margin: 0 0 18px;
}

.qdm-ev-prep__links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 20px;
  margin: 0;
  padding-top: 16px;
  border-top: 1px solid #dbe6e9;
}

.qdm-ev-prep__links a {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 12.5px;
  font-weight: 700;
  color: var(--qdm-teal-text);
  text-decoration: none;
}

.qdm-ev-prep__links a::after {
  content: "\27F6";
  font-size: 11px;
}

.qdm-ev-prep__links a:hover {
  color: var(--qdm-teal-dark);
  text-decoration: underline;
}

/* ===== T12一覧: 開催記録と共同企画(小カード列) ===== */
.qdm-ev-list {
  padding: 44px 0 58px;
}

.qdm-ev-list__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); /* 2026-09-14: 3列固定→件数に応じて自動(1件=全幅/2件=2列/3件以上=3列)。ユーザー決定の折衷案 */
  gap: 20px;
}

.qdm-ev-card {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid var(--qdm-card-line);
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(18, 40, 58, 0.05);
  padding: 22px 26px;
  text-decoration: none;
  color: inherit;
  transition: transform 0.2s, box-shadow 0.2s;
}

.qdm-ev-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 26px rgba(18, 40, 58, 0.11);
}

/* 2026-09-14: 状態バッジと種別ラベルを横並びにする(上段の .qdm-ev-ucard__labels と同じ流儀) */
.qdm-ev-card__labels {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 12px;
}

.qdm-ev-card__title {
  font-size: 18px;
  font-weight: 700;
  color: var(--qdm-navy);
  line-height: 1.6;
  letter-spacing: 0.03em;
  margin: 0 0 10px;
}

.qdm-ev-card__text {
  font-size: 13.5px;
  line-height: 1.85;
  margin: 0;
}

.qdm-ev-card__meta {
  margin: auto 0 0;
  padding-top: 18px;
  border-top: 1px solid var(--qdm-bg);
  font-size: 12px;
  color: var(--qdm-text-weak);
}

/* ===== T12詳細: ヒーロー(T08の qdm-check-hero--guide を流用+バッジ・チップ) ===== */
.qdm-check-hero--event .qdm-check-hero__inner {
  padding-top: 34px;
  padding-bottom: 38px;
}

.qdm-check-hero--event .qdm-crumbs {
  margin-bottom: 18px;
  flex-wrap: wrap;
}

.qdm-check-hero--event .qdm-check-hero__title {
  font-size: 32px;
  line-height: 1.5;
  max-width: 940px;
  margin-bottom: 0;
}

.qdm-ev-hero__labels {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 16px;
  margin-bottom: 14px;
}

.qdm-ev-hero__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 12px;
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid #dfeaec;
}

.qdm-ev-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #fff;
  border: 1px solid #d7e5e8;
  border-radius: 999px;
  padding: 6px 18px;
  font-size: 13px;
  font-weight: 700;
  color: var(--qdm-navy);
}

.qdm-ev-chip::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--qdm-teal);
}

/* ===== T12詳細: 本文セクション ===== */
.qdm-ev-body {
  max-width: 860px;
  padding-top: 46px;
  padding-bottom: 20px;
}

.qdm-ev-sec {
  margin-bottom: 42px;
}

.qdm-ev-sec:last-child {
  margin-bottom: 0;
}

.qdm-ev-sec__title {
  font-size: 22px;
  font-weight: 700;
  color: var(--qdm-navy);
  line-height: 1.55;
  letter-spacing: 0.04em;
  padding-bottom: 12px;
  margin: 0 0 18px;
  border-bottom: 1px solid var(--qdm-line);
}

.qdm-ev-sec p {
  font-size: 15px;
  line-height: 1.95;
  margin-bottom: 1.2em;
}

.qdm-ev-sec p:last-child {
  margin-bottom: 0;
}

/* プログラム(番号付きの帯リスト。番号は原稿の各行に含める) */
.qdm-ev-program {
  display: flex;
  flex-direction: column;
  gap: 10px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.qdm-ev-program li {
  display: flex;
  align-items: center;
  gap: 16px;
  background: #fff;
  border: 1px solid var(--qdm-card-line);
  border-left: 3px solid var(--qdm-teal);
  border-radius: 6px;
  padding: 14px 22px;
  font-size: 15px;
  font-weight: 700;
  color: var(--qdm-navy);
  letter-spacing: 0.02em;
}

/* 開催概要(定義リスト) */
.qdm-ev-outline {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  background: var(--qdm-bg);
  border: 1px solid var(--qdm-card-line);
  border-radius: 8px;
  overflow: hidden;
  font-size: 14.5px;
  margin: 0;
}

.qdm-ev-outline dt {
  padding: 13px 22px;
  border-bottom: 1px solid #e6eef0;
  color: var(--qdm-navy);
  font-weight: 700;
  background: #fff;
  margin: 0;
}

.qdm-ev-outline dd {
  padding: 13px 22px;
  border-bottom: 1px solid #e6eef0;
  color: var(--qdm-text);
  margin: 0;
}

.qdm-ev-outline dt:nth-last-of-type(1),
.qdm-ev-outline dd:nth-last-of-type(1) {
  border-bottom: none;
}

/* 関連する書籍章のチップ(飛び先はT05の各章アンカー・未設定時は無効リンク) */
.qdm-ev-chlist {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
}

.qdm-ev-chlist a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--qdm-line);
  border-radius: 999px;
  padding: 7px 20px;
  font-size: 13.5px;
  font-weight: 700;
  color: var(--qdm-navy);
  text-decoration: none;
  transition: border-color 0.2s, color 0.2s;
}

.qdm-ev-chlist a::before {
  content: "";
  width: 14px;
  height: 2px;
  background: var(--qdm-gold);
  border-radius: 2px;
}

.qdm-ev-chlist a:hover {
  border-color: var(--qdm-teal);
  color: var(--qdm-teal-text);
}

/* 開催後に掲載する内容(紺パネル) */
.qdm-ev-after {
  background: linear-gradient(145deg, var(--qdm-band-navy) 0%, #15546a 100%);
  border-radius: 10px;
  padding: 32px 36px 34px;
}

.qdm-ev-after__eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.22em;
  color: var(--qdm-gold);
  margin: 0 0 10px;
}

.qdm-ev-after__title {
  font-size: 20px;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.05em;
  margin: 0 0 20px;
}

.qdm-ev-after__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 26px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.qdm-ev-after__list li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: 14.5px;
  line-height: 1.7;
  color: #e6eff3;
}

.qdm-ev-after__list li::before {
  content: "";
  flex-shrink: 0;
  width: 7px;
  height: 7px;
  margin-top: 9px;
  border-radius: 50%;
  background: var(--qdm-gold);
}

/* 詳細ページはCTAバンドの手前に本文が来るため、モックと同じ間隔を確保する */
.qdm-t12e .qdm-check-cta--band {
  margin-top: 26px;
}

/* ===== T12: Responsive ===== */
@media (max-width: 1080px) {
  .qdm-ev-upcoming__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .qdm-ev-datepanel {
    padding: 30px 32px 32px;
  }

  .qdm-ev-datepanel__day {
    font-size: 72px;
  }

  .qdm-ev-list__grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 960px) {
  .qdm-check-hero--events .qdm-check-hero__title,
  .qdm-check-hero--event .qdm-check-hero__title {
    font-size: 25px;
  }

  .qdm-ev-upcoming .qdm-section__title,
  .qdm-ev-list .qdm-section__title {
    font-size: 21px;
  }

  .qdm-ev-ucard {
    padding: 24px 26px;
  }

  .qdm-ev-ucard__title {
    font-size: 22px;
  }

  .qdm-ev-sec__title {
    font-size: 19.5px;
  }

  .qdm-ev-after__list {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 640px) {
  .qdm-ev-upcoming {
    padding: 38px 0 4px;
  }

  .qdm-ev-ucard {
    padding: 22px 20px;
  }

  .qdm-ev-ucard__title {
    font-size: 20px;
  }

  .qdm-ev-ucard__btns {
    flex-direction: column;
  }

  .qdm-ev-ucard__btns .qdm-btn {
    width: 100%;
  }

  .qdm-ev-prep {
    padding: 22px 20px 20px;
  }

  .qdm-ev-list {
    padding: 34px 0 46px;
  }

  .qdm-check-hero--events .qdm-check-hero__title,
  .qdm-check-hero--event .qdm-check-hero__title {
    font-size: 22px;
  }

  .qdm-ev-body {
    padding-top: 34px;
  }

  .qdm-ev-sec {
    margin-bottom: 34px;
  }

  .qdm-ev-sec p {
    font-size: 14.5px;
  }

  .qdm-ev-program li {
    align-items: flex-start;
    font-size: 14.5px;
    padding: 12px 16px;
  }

  .qdm-ev-outline {
    grid-template-columns: minmax(0, 1fr);
  }

  .qdm-ev-outline dt {
    padding: 12px 18px 2px;
    border-bottom: none;
  }

  .qdm-ev-outline dd {
    padding: 0 18px 12px;
  }

  .qdm-ev-after {
    padding: 26px 22px 28px;
  }
}

/* ============================================================
   T12詳細(申込誘発型): イベント詳細 template-qdm-event.php のリデザイン分。
   モック preview/t12-event-preview-b.html(2026-08-17ユーザー確定)準拠。
   ヒーローを2カラム(左=訴求+申込 / 右=紺の開催概要パネル)にし、
   プログラムを横並びカード、下段を3カードに変更した際の追加分。
   上のT12ブロック(qdm-ev-badge/qdm-ev-hero__labels/qdm-ev-chlist等)は
   そのまま流用し、ここでは新規ブロックと差分だけを定義する。
   既存クラス・既存行の変更は行わない(追記のみ)。
   ============================================================ */

/* ===== T12詳細: ヒーロー(2カラム) ===== */
.qdm-check-hero--event-apply .qdm-check-hero__inner {
  padding-bottom: 46px;
}

.qdm-ev-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
  gap: 32px;
  align-items: start;
}

/* 開催概要6欄がすべて空欄で紺パネルを出さないときは左カラムを全幅に */
.qdm-ev-hero__grid--single {
  grid-template-columns: minmax(0, 1fr);
}

.qdm-ev-hero__main .qdm-check-hero__title {
  max-width: none;
}

/* リード文(紹介文)。2カラムのぶん既定の max-width は解除する */
.qdm-ev-hero__main .qdm-check-hero__lead {
  max-width: none;
  font-size: 15px;
  line-height: 1.95;
  margin-bottom: 0;
}

.qdm-ev-hero__apply {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px 18px;
  margin-top: 26px;
}

/* 申込を主役にする大型ボタン(ゴールド。文字は案Bどおり紺) */
.qdm-t12e .qdm-btn--apply {
  padding: 18px 46px;
  font-size: 17px;
  letter-spacing: 0.06em;
  border-radius: 5px;
  box-shadow: 0 10px 24px rgba(209, 162, 60, 0.32);
  transition: background 0.2s, box-shadow 0.2s, transform 0.2s;
}

.qdm-t12e .qdm-btn--apply:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 28px rgba(209, 162, 60, 0.38);
}

/* 申込状況のチップ(申込ボタンの右) */
.qdm-ev-apply-note {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: var(--qdm-teal-dark);
  background: #fff;
  border: 1px solid #cfe2e5;
  border-radius: 999px;
  padding: 5px 16px;
}

.qdm-ev-apply-note::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--qdm-teal);
}

/* ===== T12詳細: 開催概要パネル(紺→ティール。一覧の日付パネルと同じ流儀) ===== */
.qdm-ev-ovpanel {
  position: relative;
  background: linear-gradient(145deg, var(--qdm-band-navy) 0%, #15546a 60%, var(--qdm-teal) 100%);
  border-radius: 10px;
  padding: 26px 30px 28px;
  box-shadow: 0 10px 30px rgba(18, 40, 58, 0.16);
  overflow: hidden;
}

.qdm-ev-ovpanel__eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.22em;
  color: var(--qdm-gold);
  margin: 0 0 3px;
}

.qdm-ev-ovpanel__title {
  font-size: 19px;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.05em;
  line-height: 1.5;
  margin: 0;
}

.qdm-ev-ovpanel__rule {
  display: block;
  width: 44px;
  height: 2px;
  background: var(--qdm-gold);
  border-radius: 2px;
  margin: 14px 0 16px;
}

.qdm-ev-ovpanel__list {
  display: block;
  margin: 0;
}

.qdm-ev-ovpanel__row {
  display: grid;
  grid-template-columns: 84px minmax(0, 1fr);
  gap: 14px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.16);
  font-size: 14px;
  line-height: 1.7;
}

.qdm-ev-ovpanel__row:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.qdm-ev-ovpanel__row dt {
  color: rgba(255, 255, 255, 0.72);
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: 0.08em;
  padding-top: 2px;
  margin: 0;
}

.qdm-ev-ovpanel__row dd {
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.02em;
  margin: 0;
}

/* ===== T12詳細: 本文の幅(プログラム・3カードは全幅、読み物は860px) ===== */
.qdm-ev-body--wide {
  max-width: 1200px;
  padding-bottom: 8px;
}

.qdm-ev-sec--narrow {
  max-width: 860px;
}

/* ===== T12詳細: プログラム(横並びカード・番号は自動付与) ===== */
.qdm-ev-pgrid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); /* 2026-09-14: 190→340px。PC幅で2列×2段にし、登壇者情報(所属・役職・氏名)の折り返しを減らす(ユーザー決定) */
  gap: 16px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.qdm-ev-pcard {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid var(--qdm-card-line);
  border-top: 3px solid var(--qdm-teal);
  border-radius: 8px;
  box-shadow: 0 4px 18px rgba(18, 40, 58, 0.05);
  padding: 20px 20px 22px;
}

.qdm-ev-pcard__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 12px;
}

.qdm-ev-pcard__num {
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
  color: var(--qdm-navy);
  letter-spacing: 0.02em;
}

/* 見た目のゼロ詰めのみ。読み上げ・文字列としては「1」〜 */
.qdm-ev-pcard__num i {
  font-style: normal;
  color: #a9bcc4;
}

.qdm-ev-pcard__time {
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: var(--qdm-gold-text);
  background: #f8eed6;
  border-radius: 999px;
  padding: 3px 12px;
  white-space: nowrap;
}

.qdm-ev-pcard__name {
  font-size: 15.5px;
  font-weight: 700;
  color: var(--qdm-navy);
  line-height: 1.65;
  letter-spacing: 0.02em;
  margin: 0 0 10px;
}

.qdm-ev-pcard__desc {
  font-size: 13.5px; /* 2026-09-14: 13→13.5px。登壇者情報(所属・役職・氏名)を入れる用途が増えたため */
  line-height: 1.65; /* 2026-09-14: 1.8→1.65。複数行の登壇者情報が間延びしないように */
  color: var(--qdm-text); /* 2026-09-14: text-weak(#6b7a85)→text(#2b3a45)。薄くて読みにくいとの指摘(ユーザー) */
  margin: auto 0 0;
}

/* ===== T12詳細: 下段3カード(このような方に/開催後に掲載する内容/関連する書籍章) ===== */
.qdm-ev-trio {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 20px;
}

.qdm-ev-tcard {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid var(--qdm-card-line);
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(18, 40, 58, 0.05);
  padding: 26px 28px 28px;
}

.qdm-ev-tcard__eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.2em;
  color: var(--qdm-teal-text);
  margin: 0 0 8px;
}

.qdm-ev-tcard__title {
  font-size: 18px;
  font-weight: 700;
  color: var(--qdm-navy);
  letter-spacing: 0.04em;
  line-height: 1.55;
  padding-bottom: 12px;
  margin: 0 0 14px;
  border-bottom: 1px solid var(--qdm-bg);
}

.qdm-ev-tcard__text {
  font-size: 14px;
  line-height: 1.9;
  margin: 0 0 1em;
}

.qdm-ev-tcard__text:last-child {
  margin-bottom: 0;
}

/* 開催後に掲載する内容(1行=1項目)は金の点つきの縦リスト */
.qdm-ev-tcard__list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.qdm-ev-tcard__list li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 14px;
  line-height: 1.85;
  color: var(--qdm-text);
}

.qdm-ev-tcard__list li::before {
  content: "";
  flex-shrink: 0;
  width: 7px;
  height: 7px;
  margin-top: 10px;
  border-radius: 50%;
  background: var(--qdm-gold);
}

/* ===== T12詳細: 末尾CTAの申込ボタン ===== */
.qdm-t12e .qdm-check-cta__main .qdm-btn--apply {
  min-width: 340px;
  font-size: 17px;
}

/* ===== T12詳細(申込誘発型): Responsive ===== */
@media (max-width: 1080px) {
  .qdm-ev-hero__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 26px;
  }

  .qdm-ev-pgrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .qdm-ev-trio {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 640px) {
  .qdm-check-hero--event-apply .qdm-check-hero__inner {
    padding-bottom: 34px;
  }

  .qdm-ev-hero__apply .qdm-btn--apply {
    width: 100%;
    padding: 16px 18px;
    font-size: 15.5px;
  }

  .qdm-ev-ovpanel {
    padding: 22px 20px 24px;
  }

  .qdm-ev-ovpanel__row {
    grid-template-columns: minmax(0, 1fr);
    gap: 2px;
  }

  .qdm-ev-pgrid {
    grid-template-columns: minmax(0, 1fr);
  }

  .qdm-ev-tcard {
    padding: 22px 20px 24px;
  }

  .qdm-t12e .qdm-check-cta__main .qdm-btn--apply {
    min-width: 0;
    width: 100%;
    padding: 16px 18px;
  }
}

/* ============================================================
   T13: 相談・連携(template-qdm-contact.php)
   モック preview/t13-preview.html(2026-08-17ユーザー確定)準拠。
   ヒーロー(qdm-check-hero--guide)・セクション見出し(qdm-section__*)・
   帯背景(qdm-section--alt)・末尾CTA(qdm-check-cta--band)・
   書籍対応メタ(qdm-page-meta・2026-09-01に廃止)・ボタン(qdm-btn--gold)は
   T05/T07〜T12の既存クラスを流用し、ここではT13固有の差分(--contact)と
   新規ブロック(qdm-t13-*)のみを定義する。
   既存クラス・既存行の変更は行わない(追記のみ)。
   ============================================================ */

/* モックの --gold-text(小さい文字でも読める濃いゴールド)は、
   既存の body.qdm-body の変数定義に手を入れず、T13のラッパーで追加定義する。 */
.qdm-t13 {
  --qdm-gold-text: #8a6a1e;
}

/* ===== T13: ヘッダーナビ7項目化に伴う横幅対策(全QDMページ共通) =====
   ナビ末尾に「相談・連携」を足して7項目になったため、1200px以下で
   項目間隔を 34px → 26px に詰める(モック t13-preview.html と同値)。
   既存の .qdm-header__nav__list / .qdm-header__right の行は書き換えず、
   末尾のメディアクエリで上書きする。
   1120px以下(ハンバーガー展開・gap:0の縦並び)には掛からないよう
   min-width:1121px で下限を切る(2026-09-10にハンバーガー切替を960→1120pxへ変更)。 */
@media (min-width: 1121px) and (max-width: 1200px) {
  /* 2026-09-10: ロゴ横の「‹ TOPに戻る」リンクの分だけ 26px → 18px に詰めた。
     「品質経営ハブ」の文言を外して約70px空いたので 26px / 22px / 20px に戻せるか
     順に試したが、下限の1121px幅ではいずれもナビが2行に折り返したため18pxのまま。
     18pxでも1121pxではリンクと「品質経営とは」がほぼ接するが、折り返し回避を優先する
     (1160px以上は余白あり)。撮影 _tmp_shots/probe4{,b,c,d}-1121.png で比較。 */
  .qdm-header__nav__list {
    gap: 18px;
  }

  .qdm-header__right {
    margin-left: 26px;
  }

  .qdm-header__site {
    margin-left: 8px;
    padding-left: 8px;
  }
}

/* ===== T13: ヒーロー(T08の qdm-check-hero--guide を流用+導入2段落) ===== */
.qdm-check-hero--contact .qdm-check-hero__inner {
  padding-top: 44px;
  padding-bottom: 42px;
}

.qdm-check-hero--contact .qdm-check-hero__title {
  margin-bottom: 8px;
}

.qdm-check-hero--contact .qdm-check-hero__lead {
  max-width: 940px;
}

.qdm-check-hero--contact .qdm-check-hero__lead--cont {
  margin-top: 12px;
  padding-top: 0;
  border-top: none;
}

/* T13のセクション見出しはT07〜T12と同じく一回り小さく(モック準拠) */
.qdm-t13-types .qdm-section__title,
.qdm-t13-prep .qdm-section__title,
.qdm-t13-response .qdm-section__title {
  font-size: 24px;
  margin-bottom: 22px;
}

/* ===== T13: 相談の種類(4カード) ===== */
.qdm-t13-types {
  padding: 52px 0 56px;
}

.qdm-t13-types__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}

.qdm-t13-tcard {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid var(--qdm-card-line);
  border-top: 3px solid var(--qdm-teal);
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(18, 40, 58, 0.05);
  padding: 24px 26px;
  transition: transform 0.2s, box-shadow 0.2s;
}

.qdm-t13-tcard:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 26px rgba(18, 40, 58, 0.11);
}

.qdm-t13-tcard__num {
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.18em;
  color: var(--qdm-gold-text);
  margin-bottom: 8px;
}

.qdm-t13-tcard__title {
  font-size: 18px;
  font-weight: 700;
  color: var(--qdm-navy);
  line-height: 1.6;
  letter-spacing: 0.03em;
  margin-bottom: 10px;
}

.qdm-t13-tcard__text {
  font-size: 13.5px;
  line-height: 1.85;
}

/* ===== T13: 個別相談の前に整理するとよいこと(番号丸つき2列リスト) ===== */
.qdm-t13-prep {
  padding: 52px 0 56px;
}

.qdm-t13-prep__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 24px;
  max-width: 1000px;
  counter-reset: qdm-t13-prep;
  list-style: none;
  margin: 0;
  padding: 0;
}

.qdm-t13-prep__list li {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  background: #fff;
  border: 1px solid var(--qdm-card-line);
  border-radius: 6px;
  padding: 14px 20px 14px 16px;
  font-size: 14.5px;
  line-height: 1.8;
}

.qdm-t13-prep__list li::before {
  counter-increment: qdm-t13-prep;
  content: counter(qdm-t13-prep);
  flex-shrink: 0;
  width: 26px;
  height: 26px;
  margin-top: 2px;
  border-radius: 50%;
  background: var(--qdm-teal-light);
  color: var(--qdm-teal-dark);
  font-size: 12.5px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* ===== T13: フォームセクション(ゴールド上罫線の白パネル) ===== */
.qdm-t13-form {
  padding: 54px 0 60px;
  border-top: 1px solid var(--qdm-line);
}

.qdm-t13-panel {
  background: #fff;
  border: 1px solid var(--qdm-card-line);
  border-top: 3px solid var(--qdm-gold);
  border-radius: 10px;
  box-shadow: 0 6px 24px rgba(18, 40, 58, 0.07);
  padding: 32px 36px 36px;
}

/* フォーム未開設のあいだの注記(ショートコード設定時は出力されない) */
.qdm-t13-note {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  background: var(--qdm-bg);
  border-radius: 6px;
  padding: 12px 18px;
  font-size: 12.5px;
  color: var(--qdm-text-weak);
  margin-bottom: 26px;
}

.qdm-t13-note::before {
  content: "!";
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  margin-top: 4px;
  border-radius: 50%;
  background: var(--qdm-gold);
  color: var(--qdm-navy);
  font-size: 12px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}

.qdm-t13-fgroup {
  margin-bottom: 26px;
}

.qdm-t13-fgroup:last-of-type {
  margin-bottom: 0;
}

.qdm-t13-flabel {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13.5px;
  font-weight: 700;
  color: var(--qdm-navy);
  letter-spacing: 0.04em;
  margin-bottom: 8px;
}

.qdm-t13-req {
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: #fff;
  background: var(--qdm-maroon);
  border-radius: 3px;
  padding: 2px 8px;
}

.qdm-t13-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 24px;
}

.qdm-t13-field--wide {
  grid-column: 1 / -1;
}

.qdm-t13-input,
.qdm-t13-textarea {
  width: 100%;
  font-family: inherit;
  font-size: 14px;
  color: var(--qdm-text);
  background: #fff;
  border: 1px solid var(--qdm-line);
  border-radius: 4px;
  padding: 11px 14px;
  transition: border-color 0.2s, box-shadow 0.2s;
}

.qdm-t13-textarea {
  min-height: 140px;
  resize: vertical;
  line-height: 1.8;
}

.qdm-t13-input:focus,
.qdm-t13-textarea:focus {
  outline: none;
  border-color: var(--qdm-teal);
  box-shadow: 0 0 0 3px rgba(23, 128, 141, 0.12);
}

/* 相談種別の選択カード */
.qdm-t13-picker {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.qdm-t13-pick {
  position: relative;
  display: block;
  cursor: pointer;
}

.qdm-t13-pick input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

.qdm-t13-pick__box {
  display: flex;
  flex-direction: column;
  gap: 6px;
  height: 100%;
  background: #fff;
  border: 1px solid var(--qdm-line);
  border-radius: 8px;
  padding: 16px 18px;
  transition: border-color 0.2s, box-shadow 0.2s, background 0.2s;
}

.qdm-t13-pick:hover .qdm-t13-pick__box {
  border-color: var(--qdm-teal);
}

.qdm-t13-pick input:focus-visible + .qdm-t13-pick__box {
  box-shadow: 0 0 0 3px rgba(23, 128, 141, 0.2);
}

.qdm-t13-pick input:checked + .qdm-t13-pick__box {
  border-color: var(--qdm-teal-dark);
  background: var(--qdm-teal-light);
  box-shadow: 0 4px 16px rgba(18, 40, 58, 0.1);
}

.qdm-t13-pick__name {
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 14.5px;
  font-weight: 700;
  color: var(--qdm-navy);
  letter-spacing: 0.03em;
}

.qdm-t13-pick__name::before {
  content: "";
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  border: 1px solid #b9c9ce;
  border-radius: 50%;
  background: #fff;
  transition: border-color 0.2s, box-shadow 0.2s;
}

.qdm-t13-pick input:checked + .qdm-t13-pick__box .qdm-t13-pick__name::before {
  border-color: var(--qdm-teal-dark);
  border-width: 5px;
}

.qdm-t13-pick__note {
  font-size: 12px;
  line-height: 1.7;
  color: var(--qdm-text-weak);
}

/* 種別ごとの追加項目(選択された種別のブロックだけ is-shown で表示) */
.qdm-t13-extra {
  display: none;
  border: 1px dashed #c8d6da;
  border-radius: 8px;
  background: var(--qdm-bg);
  padding: 22px 24px 24px;
}

.qdm-t13-extra.is-shown {
  display: block;
}

.qdm-t13-extra__head {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  font-weight: 700;
  color: var(--qdm-teal-text);
  letter-spacing: 0.06em;
  margin-bottom: 14px;
}

.qdm-t13-extra__head::before {
  content: "";
  width: 14px;
  height: 2px;
  background: var(--qdm-gold);
  border-radius: 2px;
}

.qdm-t13-submit {
  margin-top: 30px;
  padding-top: 26px;
  border-top: 1px solid var(--qdm-line);
  text-align: center;
}

.qdm-t13-submit .qdm-btn {
  min-width: 340px;
}

/* 見本フォームの送信ボタン(押せないことを見た目でも示す) */
.qdm-btn--dummy {
  opacity: 0.92;
  cursor: not-allowed;
}

/* ===== T13: 対応について ===== */
.qdm-t13-response {
  padding: 52px 0 56px;
}

.qdm-t13-response__body {
  max-width: 940px;
  font-size: 14.5px;
}

.qdm-t13-response__body p + p {
  margin-top: 14px;
}

/* ===== T13: Responsive(既存の断点に合わせる) ===== */
@media (max-width: 1080px) {
  .qdm-t13-types__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .qdm-t13-picker {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 960px) {
  .qdm-t13-prep__list {
    grid-template-columns: minmax(0, 1fr);
  }

  .qdm-t13-panel {
    padding: 26px 24px 30px;
  }
}

@media (max-width: 640px) {
  .qdm-t13-types {
    padding: 38px 0 40px;
  }

  .qdm-t13-types__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .qdm-t13-prep {
    padding: 38px 0 40px;
  }

  .qdm-t13-form {
    padding: 38px 0 44px;
  }

  .qdm-t13-panel {
    padding: 22px 18px 26px;
  }

  .qdm-t13-picker {
    grid-template-columns: minmax(0, 1fr);
  }

  .qdm-t13-fields {
    grid-template-columns: minmax(0, 1fr);
  }

  .qdm-t13-submit .qdm-btn {
    min-width: 0;
    width: 100%;
    padding: 14px 18px;
  }

  .qdm-t13-response {
    padding: 38px 0 40px;
  }

  /* 副導線は縦積み(T13のみ・他ページのCTAバンドには掛けない) */
  .qdm-t13 .qdm-check-cta__subs {
    flex-direction: column;
    align-items: center;
    gap: 16px;
  }
}

/* ===== T13: ヘッダー右端の窓口ボタン「相談・連携」(全QDMページ共通) =====
   2026-08-17ユーザー確定モック preview/t13-preview.html 準拠。
   ナビは従来の6項目に戻し、「相談・連携」は
   ・デスクトップ: ティールCTA(現在地を考える等)の右隣にゴールド塗りで並べる
   ・1120px以下 : .qdm-header__right ごと非表示になるため、メニュー内の
                  モバイル専用項目 .qdm-header__nav__item--sp で出す
   既存行(.qdm-header__cta ほか)は書き換えず、ここでの追記のみで上書きする。
   ※上の「ナビ7項目化に伴う横幅対策」(min-width:1121px〜max-width:1200px の
     gap:26px)は、6項目+ボタン2連でも横幅が詰まるためそのまま活かす。 */

/* 既存の .qdm-header__cta 群は .qdm-header__nav .qdm-header__cta(0,2,0)/
   a.qdm-header__cta:hover(0,2,1) まで詳細度があるため、
   確実に上書きできるよう .qdm-header a... で詳細度を合わせる。 */
.qdm-header a.qdm-header__cta--sub {
  background: var(--qdm-gold);
  color: var(--qdm-navy);
  font-weight: 700;
}

.qdm-header a.qdm-header__cta--sub:hover {
  background: var(--qdm-gold-dark);
  color: var(--qdm-navy);
}

/* 現在地(T13)を示すactive表現: ゴールド地の上で効く下端の紺線 */
.qdm-header a.qdm-header__cta--sub.is-active {
  box-shadow: inset 0 -3px 0 var(--qdm-navy);
}

/* モバイル専用のナビ項目「相談・連携」。デスクトップでは出さない */
.qdm-header__nav__item--sp {
  display: none;
}

@media (max-width: 1120px) {
  /* ハンバーガー化と同じブレークポイント(2026-09-10に960→1120pxへ変更・.qdm-header__menu-btn / .qdm-header__right と一致) */
  .qdm-header__nav__item--sp {
    display: block;
  }

  .qdm-header__nav__item--sp .qdm-header__nav__link.is-active {
    color: var(--qdm-teal-text);
    font-weight: 700;
  }
}

/* ============================================================
   T14: 編集方針・事例掲載方針(template-qdm-editorial.php)
   モック preview/t14-preview.html(ダッシュボード型・全閉初期+行グリッド版・
   2026-08-18ユーザー確定)準拠。
   ヒーロー(qdm-check-hero--guide)・セクション見出し(qdm-section__*)・
   帯背景(qdm-section--alt)・末尾CTA(qdm-check-cta--band)・書籍対応メタ
   (qdm-page-meta・2026-09-01に廃止)・ボタン(qdm-btn)はT07〜T13の既存クラスを流用し、
   T14固有ブロック(tiers/policies)のみ qdm-t14- 接頭辞で新規追加する。
   既存クラス・既存行の変更は行わない(末尾への追記のみ)。
   ========================================================= */

/* ===== T14: ヒーロー(T08の qdm-check-hero--guide をダッシュボード型向けにコンパクト化) ===== */
.qdm-check-hero--editorial .qdm-check-hero__inner {
  padding-top: 34px;
  padding-bottom: 32px;
}

.qdm-check-hero--editorial .qdm-check-hero__eyebrow {
  margin-bottom: 10px;
}

.qdm-check-hero--editorial .qdm-check-hero__title {
  font-size: 32px;
  line-height: 1.4;
}

.qdm-check-hero--editorial .qdm-check-hero__sub {
  font-size: 19px;
}

/* 導入2段落(原案本文)はヒーロー内に全幅で縦積み(2026-09-11ユーザー決定・横並びを廃止) */
.qdm-t14-leads {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid #dfeaec;
  font-size: 13.5px;
  line-height: 1.85;
}

.qdm-t14-leads p {
  margin: 0;
}

/* ===== T14: 上段=情報の区分(3カード横並び) ===== */
.qdm-t14-tiers {
  padding: 30px 0 34px;
}

/* 英字アイブロー下の見出し「情報の区分」(T13等の各セクションと同じ24px) */
.qdm-t14-tiers .qdm-section__title {
  font-size: 24px;
  margin-bottom: 20px;
}

.qdm-t14-tiers__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.qdm-t14-tier {
  background: #fff;
  border: 1px solid var(--qdm-card-line);
  border-top: 3px solid var(--qdm-teal);
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(18, 40, 58, 0.05);
  padding: 20px 24px 22px;
}

.qdm-t14-tier__name {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 18px;
  font-weight: 700;
  color: var(--qdm-navy);
  letter-spacing: 0.04em;
  line-height: 1.5;
  margin: 0 0 8px;
}

/* 区分ごとの色ドット(装飾・文言なし) */
.qdm-t14-tier__name::before {
  content: "";
  flex-shrink: 0;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--qdm-teal);
}

.qdm-t14-tier__text {
  margin: 0;
  font-size: 13.5px;
  line-height: 1.85;
}

/* 公開知=ティール(既定) / 顧客限定知=ゴールド / 社内限定知=マルーン */
.qdm-t14-tier--client {
  border-top-color: var(--qdm-gold);
}

.qdm-t14-tier--client .qdm-t14-tier__name::before {
  background: var(--qdm-gold);
}

.qdm-t14-tier--internal {
  border-top-color: var(--qdm-maroon);
}

.qdm-t14-tier--internal .qdm-t14-tier__name::before {
  background: var(--qdm-maroon);
}

/* ===== T14: 下段=7つの方針(番号カード2カラム・アコーディオン) ===== */
.qdm-t14-policies {
  padding: 40px 0 48px;
}

/* 行グリッド(段組みではない)。開閉時にカードが列をまたいで移動しないようにする */
.qdm-t14-policies__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: 18px 24px;
}

/* 最後のカード(07 問い合わせ)は奇数余りを避けて全幅にする */
.qdm-t14-pcard--wide {
  grid-column: 1 / -1;
}

.qdm-t14-pcard {
  background: #fff;
  border: 1px solid var(--qdm-card-line);
  border-radius: 10px;
  box-shadow: 0 4px 18px rgba(18, 40, 58, 0.05);
  overflow: hidden;
  transition: box-shadow 0.2s, border-color 0.2s;
}

.qdm-t14-pcard:hover {
  box-shadow: 0 10px 24px rgba(18, 40, 58, 0.1);
}

.qdm-t14-pcard.is-open {
  border-color: #cfe0e4;
}

/* 見出しは h2 > button の定石形。見た目はボタン内の要素側で決めるため h2 は素にする */
.qdm-t14-pcard h2 {
  margin: 0;
  font-size: inherit;
  font-weight: 400;
  line-height: inherit;
}

.qdm-t14-pcard__btn {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  width: 100%;
  padding: 18px 22px 18px 20px;
  background: none;
  border: none;
  font-family: inherit;
  color: inherit;
  text-align: left;
  cursor: pointer;
}

.qdm-t14-pcard__btn:focus-visible {
  outline: 3px solid rgba(23, 128, 141, 0.35);
  outline-offset: -3px;
}

.qdm-t14-pcard__num {
  flex-shrink: 0;
  width: 38px;
  height: 38px;
  border-radius: 8px;
  background: var(--qdm-teal-light);
  color: var(--qdm-teal-dark);
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.06em;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s, color 0.2s;
}

.qdm-t14-pcard.is-open .qdm-t14-pcard__num {
  background: var(--qdm-teal-dark);
  color: #fff;
}

.qdm-t14-pcard__head {
  flex: 1;
  min-width: 0;
}

.qdm-t14-pcard__title {
  display: block;
  font-size: 17px;
  font-weight: 700;
  color: var(--qdm-navy);
  letter-spacing: 0.03em;
  line-height: 1.5;
}

.qdm-t14-pcard__sum {
  display: block;
  margin-top: 4px;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.75;
  color: var(--qdm-text-weak);
}

.qdm-t14-pcard__mark {
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  margin-top: 8px;
  border-radius: 50%;
  border: 1px solid var(--qdm-line);
  color: var(--qdm-teal-text);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.25s, background 0.2s, border-color 0.2s;
}

.qdm-t14-pcard__mark svg {
  display: block;
}

.qdm-t14-pcard.is-open .qdm-t14-pcard__mark {
  transform: rotate(180deg);
  border-color: var(--qdm-teal);
}

/* 展開部: grid-template-rows 0fr→1fr で高さをアニメーションさせる */
.qdm-t14-pcard__panel {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.28s ease;
}

.qdm-t14-pcard.is-open .qdm-t14-pcard__panel {
  grid-template-rows: 1fr;
}

.qdm-t14-pcard__panel > div {
  overflow: hidden;
}

.qdm-t14-pcard__body {
  margin: 0 22px 22px;
  padding-top: 16px;
  border-top: 1px dashed #d3e0e3;
  font-size: 13.5px;
  line-height: 1.95;
}

/* 1節(01)の展開内容: 情報の区分3件の再掲 */
.qdm-t14-pcard__defs dt {
  font-weight: 700;
  color: var(--qdm-navy);
  letter-spacing: 0.03em;
}

.qdm-t14-pcard__defs dd {
  margin: 0;
}

.qdm-t14-pcard__defs dd + dt {
  margin-top: 10px;
}

/* 4節(04)の展開内容: 6項目のリスト */
.qdm-t14-pcard__list {
  list-style: none;
  padding: 0;
}

.qdm-t14-pcard__list li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.qdm-t14-pcard__list li + li {
  margin-top: 8px;
}

/* 項目先頭の小さな丸(●)。上段の区分名の丸(.qdm-t14-tier__name::before)と同系のティール。番号表示は2026-09-09に廃止 */
.qdm-t14-pcard__list li::before {
  content: "";
  flex-shrink: 0;
  width: 7px;
  height: 7px;
  margin-top: 9px; /* 本文(13.5px×1.85=約25px)の1行目の中央に合わせる */
  border-radius: 50%;
  background: var(--qdm-teal);
}

/* ===== T14: 末尾CTA(qdm-check-cta--band の余白とボタン幅だけモックに合わせる) ===== */
.qdm-check-cta--editorial {
  padding: 46px 0 50px;
}

.qdm-check-cta--editorial .qdm-check-cta__main {
  margin-bottom: 22px;
}

.qdm-check-cta--editorial .qdm-check-cta__main .qdm-btn {
  min-width: 340px;
  font-size: 15px;
}

/* ===== T14: フッターの現在地表現(全QDMページ共通・T14のみ is-active が付く) =====
   ナビ外のページのため、入口であるフッターリンクで現在地を示す(モック準拠)。
   $GLOBALS['qdm_footer_active'] を立てないページでは付かないため表示は不変。 */
.qdm-footer__link.is-active {
  color: var(--qdm-teal-text);
  font-weight: 700;
}

/* ===== T14: Responsive ===== */
@media (max-width: 1080px) {
  .qdm-t14-tiers__grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 960px) {
  /* 既存の960px指定(25px / 16.5px)は --editorial の方が詳細度が高いためここで再指定する */
  .qdm-check-hero--editorial .qdm-check-hero__title {
    font-size: 25px;
  }

  .qdm-check-hero--editorial .qdm-check-hero__sub {
    font-size: 16.5px;
  }

  .qdm-t14-tiers .qdm-section__title {
    font-size: 21px;
  }

  .qdm-t14-policies__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  /* 既存の qdm-check-cta--band の全幅指定と同じ挙動にそろえる */
  .qdm-check-cta--editorial .qdm-check-cta__main .qdm-btn {
    min-width: 0;
    width: 100%;
  }
}

@media (max-width: 640px) {
  .qdm-t14-tiers {
    padding: 26px 0 28px;
  }

  .qdm-t14-tier {
    padding: 18px 20px 20px;
  }

  .qdm-t14-policies {
    padding: 32px 0 38px;
  }

  .qdm-t14-pcard__btn {
    padding: 16px 16px 16px 14px;
    gap: 12px;
  }

  .qdm-t14-pcard__num {
    width: 34px;
    height: 34px;
    font-size: 13px;
  }

  .qdm-t14-pcard__body {
    margin: 0 16px 18px;
  }

  .qdm-check-cta--editorial .qdm-check-cta__main .qdm-btn {
    padding: 14px 18px;
  }
}

/* =========================================================
   T15: 運営会社・プライバシー(template-qdm-about.php)
   確定モック preview/t15-preview.html 準拠。
   ヒーロー(qdm-check-hero--guide)・セクション見出し(qdm-section__eyebrow)・
   帯背景(qdm-section--alt)・末尾CTA(qdm-check-cta--band)・書籍対応メタ(qdm-page-meta・2026-09-01に廃止)・
   ボタン(qdm-btn--gold)・フッター現在地(qdm-footer__link.is-active)は
   T07〜T14の既存クラスをそのまま流用し、ここではT15固有部分と余白のmodifierだけを足す。
   ========================================================= */

/* ===== T15: 本文中のテキストリンク(公式サイト・T13への接続) =====
   段落の中に現れる既知フレーズをテンプレート側でアンカー化したもの。 */
.qdm-tlink {
  color: var(--qdm-teal-text);
  font-weight: 700;
  text-decoration: none;
  border-bottom: 1px solid rgba(23, 128, 141, 0.4);
  transition: color 0.2s, border-color 0.2s;
}

.qdm-tlink:hover {
  color: var(--qdm-teal-dark);
  border-bottom-color: var(--qdm-teal-dark);
}

/* ===== T15: ヒーロー(原案にサブ文言がないためH1のみのコンパクト型) ===== */
.qdm-check-hero--about .qdm-check-hero__inner {
  padding-top: 36px;
  padding-bottom: 34px;
}

.qdm-check-hero--about .qdm-check-hero__eyebrow {
  margin-bottom: 10px;
}

.qdm-check-hero--about .qdm-check-hero__title {
  font-size: 32px;
  line-height: 1.4;
  margin-bottom: 0;
}

/* ===== T15: 上段=運営主体(全幅の導入セクション・2段落を全幅で縦積み(2026-09-11)) ===== */
.qdm-t15-operator {
  padding: 34px 0 38px;
}

.qdm-t15-operator__title {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 22px;
  font-weight: 700;
  color: var(--qdm-navy);
  letter-spacing: 0.04em;
  line-height: 1.5;
  margin: 0 0 14px;
}

/* 見出し左のゴールド罫(装飾・文言なし) */
.qdm-t15-operator__title::before {
  content: "";
  flex-shrink: 0;
  width: 4px;
  height: 22px;
  border-radius: 2px;
  background: var(--qdm-gold);
}

.qdm-t15-operator__body {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  padding-top: 18px;
  border-top: 1px solid var(--qdm-line);
  font-size: 14.5px;
  line-height: 1.95;
}

.qdm-t15-operator__body p {
  margin: 0;
}

/* ===== T15: 中段=5節を白カードのグリッドで(2カラム・免責のみ全幅) ===== */
.qdm-t15-terms {
  padding: 40px 0 46px;
}

.qdm-t15-terms__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: 20px 24px;
}

.qdm-t15-tcard {
  background: #fff;
  border: 1px solid var(--qdm-card-line);
  border-top: 3px solid var(--qdm-teal);
  border-radius: 10px;
  box-shadow: 0 4px 18px rgba(18, 40, 58, 0.05);
  padding: 20px 24px 22px;
  transition: box-shadow 0.2s;
}

.qdm-t15-tcard:hover {
  box-shadow: 0 10px 24px rgba(18, 40, 58, 0.1);
}

/* 免責は最後に全幅で置き、5枚が2カラムで割り切れない余白を作らない(上罫はゴールド) */
.qdm-t15-tcard--wide {
  grid-column: 1 / -1;
  border-top-color: var(--qdm-gold);
}

.qdm-t15-tcard__eyebrow {
  margin: 0;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.16em;
  color: #8a6a1e; /* 小さめ文字でも読める濃いゴールド(--qdm-gold-darkより一段暗い) */
  text-transform: uppercase;
  line-height: 1.6;
}

.qdm-t15-tcard__title {
  font-size: 18px;
  font-weight: 700;
  color: var(--qdm-navy);
  letter-spacing: 0.04em;
  line-height: 1.5;
  margin: 2px 0 10px;
}

.qdm-t15-tcard__text {
  margin: 0;
  font-size: 13.5px;
  line-height: 1.95;
}

.qdm-t15-tcard__text + .qdm-t15-tcard__text {
  margin-top: 10px;
}

/* ===== T15: 下段=問い合わせ(原案は1文のみ・CTAバンド直前の軽いパネル) ===== */
.qdm-t15-inquiry {
  padding: 0 0 46px;
}

.qdm-t15-inquiry__panel {
  display: flex;
  align-items: center;
  gap: 20px 32px;
  flex-wrap: wrap;
  border: 1px solid var(--qdm-card-line);
  border-left: 4px solid var(--qdm-teal);
  border-radius: 8px;
  background: #fbfdfd;
  padding: 22px 28px;
}

.qdm-t15-inquiry__head {
  flex-shrink: 0;
}

.qdm-t15-inquiry__eyebrow {
  margin: 0;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.16em;
  color: #8a6a1e;
  text-transform: uppercase;
  line-height: 1.6;
}

.qdm-t15-inquiry__title {
  margin: 0;
  font-size: 19px;
  font-weight: 700;
  color: var(--qdm-navy);
  letter-spacing: 0.04em;
  line-height: 1.5;
}

.qdm-t15-inquiry__text {
  flex: 1;
  min-width: 260px;
  margin: 0;
  font-size: 14px;
  line-height: 1.95;
}

/* ===== T15: 末尾CTA(qdm-check-cta--band の余白とボタン幅だけモックに合わせる) ===== */
.qdm-check-cta--about {
  padding: 46px 0 50px;
}

.qdm-check-cta--about .qdm-check-cta__main {
  margin-bottom: 22px;
}

.qdm-check-cta--about .qdm-check-cta__main .qdm-btn {
  min-width: 340px;
  font-size: 15px;
}

/* ===== T15: Responsive ===== */
@media (max-width: 960px) {
  /* 既存の960px指定(25px)は --about の方が詳細度が高いためここで再指定する */
  .qdm-check-hero--about .qdm-check-hero__title {
    font-size: 25px;
  }

  .qdm-t15-terms__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  /* 既存の qdm-check-cta--band の全幅指定と同じ挙動にそろえる */
  .qdm-check-cta--about .qdm-check-cta__main .qdm-btn {
    min-width: 0;
    width: 100%;
  }
}

@media (max-width: 640px) {
  .qdm-t15-operator {
    padding: 28px 0 30px;
  }

  .qdm-t15-operator__title {
    font-size: 19px;
  }

  .qdm-t15-terms {
    padding: 30px 0 34px;
  }

  .qdm-t15-tcard {
    padding: 18px 20px 20px;
  }

  .qdm-t15-inquiry {
    padding: 0 0 34px;
  }

  .qdm-t15-inquiry__panel {
    padding: 20px 20px;
    gap: 12px;
  }

  .qdm-t15-inquiry__text {
    min-width: 0;
  }

  .qdm-check-cta--about .qdm-check-cta__main .qdm-btn {
    padding: 14px 18px;
  }
}

/* ===== T13: CF7実フォーム(qdm_t13_form_shortcode 設定時)の整形 =====
   Contact Form 7 が出力するマークアップを、見本フォーム(.qdm-t13-pick 等)と同じ見た目に
   そろえるための追記。既存クラスの定義は変更せず、CF7側のクラスにだけ効かせる。
   カード化クラス(.qdm-t13-cf7pick)・選択状態(.is-selected)・種別説明文のspanは
   template-qdm-contact.php のJSが付与する(JSが動かない環境では素のラジオのまま表示される)。
   相談種別ラジオは [radio consult_type use_label_element ...] で出力する前提。 */

/* 各入力の包み(span.wpcf7-form-control-wrap)がインラインのままだと幅指定が効かないためブロック化 */
.qdm-t13-panel .wpcf7-form-control-wrap {
  display: block;
}

/* 包みspanは4カラムgridの .qdm-t13-picker 直下で1カラム分に押し込まれるため全カラムへ広げる(4分割は内側の .wpcf7-radio のgridが担う) */
.qdm-t13-picker > .wpcf7-form-control-wrap {
  grid-column: 1 / -1;
}

/* 相談種別: 選択肢の並びを見本フォームの .qdm-t13-picker と同じグリッドにする */
.qdm-t13-picker .wpcf7-radio {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.qdm-t13-picker .wpcf7-list-item {
  margin: 0;
  position: relative;
}

/* カード本体(.qdm-t13-pick__box 相当)。use_label_element のlabelを箱として使う */
.qdm-t13-cf7pick > label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  height: 100%;
  background: #fff;
  border: 1px solid var(--qdm-line);
  border-radius: 8px;
  padding: 16px 18px;
  cursor: pointer;
  transition: border-color 0.2s, box-shadow 0.2s, background 0.2s;
}

.qdm-t13-cf7pick > label:hover {
  border-color: var(--qdm-teal);
}

.qdm-t13-cf7pick:focus-within > label {
  box-shadow: 0 0 0 3px rgba(23, 128, 141, 0.2);
}

.qdm-t13-cf7pick input[type="radio"] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

/* 種別名(.qdm-t13-pick__name 相当。丸印は擬似要素で描く) */
.qdm-t13-cf7pick .wpcf7-list-item-label {
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 14.5px;
  font-weight: 700;
  color: var(--qdm-navy);
  letter-spacing: 0.03em;
}

.qdm-t13-cf7pick .wpcf7-list-item-label::before {
  content: "";
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  border: 1px solid #b9c9ce;
  border-radius: 50%;
  background: #fff;
  transition: border-color 0.2s, box-shadow 0.2s;
}

/* 選択中(JSが .is-selected を付ける) */
.qdm-t13-cf7pick.is-selected > label {
  border-color: var(--qdm-teal-dark);
  background: var(--qdm-teal-light);
  box-shadow: 0 4px 16px rgba(18, 40, 58, 0.1);
}

.qdm-t13-cf7pick.is-selected .wpcf7-list-item-label::before {
  border-color: var(--qdm-teal-dark);
  border-width: 5px;
}

/* 種別の説明文(.qdm-t13-pick__note 相当。JSがACF値を差し込む) */
.qdm-t13-cf7pick__note {
  font-size: 12px;
  line-height: 1.7;
  color: var(--qdm-text-weak);
}

/* 入力欄のエラー文言(欄の直下に赤系の小さめ文字) */
.qdm-t13-panel .wpcf7-not-valid-tip {
  display: block;
  margin-top: 6px;
  font-size: 12px;
  line-height: 1.7;
  font-weight: 700;
  color: var(--qdm-maroon);
}

.qdm-t13-panel .wpcf7-form-control.wpcf7-not-valid {
  border-color: var(--qdm-maroon);
}

/* 送信結果メッセージ(完了・エラー)
   既存共通のapp.cssが .wpcf7-response-output を常時 display:none にしている(既存サイトは
   サンクスページ遷移設計)ため、表示すべき状態(sent・エラー系)だけ display:block に戻す。
   init/submitting はapp.cssの非表示のままなので、送信前に空パネルは出ない。 */
.qdm-t13-panel .wpcf7 .wpcf7-response-output {
  margin: 26px 0 0;
  padding: 14px 18px;
  border: 1px solid var(--qdm-line);
  border-left: 4px solid var(--qdm-line);
  border-radius: 6px;
  background: var(--qdm-bg);
  font-size: 13.5px;
  line-height: 1.9;
  color: var(--qdm-text);
}

.qdm-t13-panel .wpcf7 form.sent .wpcf7-response-output {
  display: block;
  border-color: var(--qdm-teal-dark);
  background: var(--qdm-teal-light);
  color: var(--qdm-navy);
  font-weight: 700;
}

.qdm-t13-panel .wpcf7 form.invalid .wpcf7-response-output,
.qdm-t13-panel .wpcf7 form.unaccepted .wpcf7-response-output,
.qdm-t13-panel .wpcf7 form.payment-required .wpcf7-response-output,
.qdm-t13-panel .wpcf7 form.spam .wpcf7-response-output,
.qdm-t13-panel .wpcf7 form.failed .wpcf7-response-output,
.qdm-t13-panel .wpcf7 form.aborted .wpcf7-response-output {
  display: block;
  border-color: var(--qdm-maroon);
  background: #fbf3f4;
  color: var(--qdm-maroon);
  font-weight: 700;
}

/* 送信中インジケータ(送信ボタンの横) */
.qdm-t13-panel .wpcf7-spinner {
  margin: 0 0 0 14px;
  vertical-align: middle;
}

/* 送信ボタン(CF7はinput要素で出力するためフォーム既定の見た目を打ち消す) */
.qdm-t13-submit input.qdm-btn {
  font-family: inherit;
  border: none;
  -webkit-appearance: none;
  appearance: none;
}

/* ===== T13: CF7実フォームのResponsive(見本フォームと同じ断点) ===== */
@media (max-width: 1080px) {
  .qdm-t13-picker .wpcf7-radio {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .qdm-t13-picker .wpcf7-radio {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* ===== T01: 入口カードをヒーロー領域内に配置(2026-08-18) ===== */
/* カード上側の余白は .qdm-hero__inner の padding-bottom(64px / 960px以下は52px)が担う。
   ここではヒーローの淡い背景の下端との余白のみを、同じリズムで確保する。 */
.qdm-entrances__list--hero {
  margin-bottom: 0;
  padding-bottom: 64px;
}

@media (max-width: 960px) {
  .qdm-entrances__list--hero {
    margin-bottom: 0;
    padding-bottom: 52px;
  }
}

/* ===== T01: 低い画面でのヒーロー追加圧縮(2026-08-19) ===== */
/* 意図: 初期表示でカード全体が見えるよう、低い画面ではヒーローをさらに圧縮する。
   SP(960px以下)は縦積みで事情が異なるため、PCレイアウト(961px以上)のみを対象にする。 */
@media (min-width: 961px) and (max-height: 820px) {
  .qdm-hero__inner {
    padding-top: 24px;
    padding-bottom: 28px;
  }
  .qdm-hero__title {
    font-size: 32px;
    margin-bottom: 14px;
  }
  .qdm-hero__lead {
    margin-bottom: 18px;
  }
  .qdm-hero__lead p {
    font-size: 13.5px;
    margin-bottom: 0.8em;
  }
  /* 背景図版は「幅100%・上端基準」なので、ヒーローの高さが縮んでも図の大きさ・
     横位置は変わらず、下端が overflow: hidden で切れるだけになる(調整は不要)。 */
}

/* ===== T01: ヒーロー本文内の強調とリンク(2026-08-19) ===== */
/* 意図: 本文の定義部「品質経営とは」を強調し、書名を書籍紹介ページへの導線にする。
   本文テキストは変更せず、テンプレート側の str_replace でタグのみを巻いている。 */
.qdm-hero__em {
  color: var(--qdm-teal-text);
  font-weight: 700;
}

.qdm-hero__lead-link {
  color: var(--qdm-teal-text);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: opacity 0.2s;
}

.qdm-hero__lead-link:hover {
  opacity: 0.75;
}

/* ===== T01: 入口カードのタイトル強調(2026-08-19) ===== */
/* 意図: 入口カード(知る/読む/議論する)はアイコン廃止に伴いタイトルを大型化し、
   ティールの下線バーで色のアクセントを補う。
   スコープは .qdm-entrances__list 配下に限定し、「四つの変換」カード
   (.qdm-conversions__list)や共通の .qdm-card__title には影響させない。 */
.qdm-entrances__list .qdm-card__title {
  font-size: 22px;
  position: relative;
  padding-bottom: 12px;
  margin-bottom: 14px;
}

.qdm-entrances__list .qdm-card__title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 36px;
  height: 3px;
  border-radius: 2px;
  background: var(--qdm-teal);
}

/* ===== T01: 入口カード群のeyebrow「ENTRANCE」(2026-08-19) ===== */
/* 意図: ヒーロー内に統合した入口カード群へ、原案モックにあったeyebrowを復活させる。
   見た目は共通の .qdm-section__eyebrow(268行付近・他ページ使用中)をそのまま流用し、
   ここではヒーロー本文とカードの間のバランスを取る上下の余白のみを調整する。 */
.qdm-entrances__eyebrow {
  margin-bottom: 18px;
}

/* ===== T01: 入口カードの主従(2026-08-20改) ===== */
/* 主=「品質経営を知る」はタイトル下線と矢印を金色にして控えめに強調する
   (2026-08-19の濃ティール塗り+白文字反転はユーザー要望で2026-08-20にこの形へ置き換え)。
   スコープは .qdm-card--primary 配下に限定し、副カード2枚・「四つの変換」カード・他ページには影響させない。 */
.qdm-entrances__list .qdm-card--primary .qdm-card__title::after {
  background: var(--qdm-gold);
}

.qdm-card--primary .qdm-card__arrow {
  color: var(--qdm-gold);
}

/* ===== T11: 注目記事カードの全幅・濃色反転(2026-09-01) ===== */
/* 意図: 旧構成(左=白い大カード + 右=濃色の引用パネル)は、引用文が未入力の記事で
   紹介文が引用パネルに代用され、左右にほぼ同じ文章が並んで見えていた。
   引用パネルを廃止して注目カード1枚を全幅にし、面を引用パネルと同じ濃色グラデーション
   +白文字へ反転して「注目記事」であることを示す(モック preview/t11-featured-mock.html の
   ユーザー承認案・2026-09-01)。
   スコープは .qdm-fcard--dark 配下のみ。白カードの .qdm-fcard 既定値、記事カード
   .qdm-icard、他ページのクラスには影響しない。 */
.qdm-fcard--dark {
  position: relative;
  overflow: hidden;
  background: linear-gradient(145deg, var(--qdm-band-navy) 0%, #15546a 55%, var(--qdm-teal) 100%);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-top: 3px solid var(--qdm-gold); /* 白カードのティール罫を金に反転 */
  border-radius: 10px;
  box-shadow: 0 10px 30px rgba(15, 34, 51, 0.28);
  padding: 34px 40px 30px;
  color: rgba(255, 255, 255, 0.88);
}

.qdm-fcard--dark:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 40px rgba(15, 34, 51, 0.38); /* 濃色地向けに影を強める */
}

/* 旧引用パネルの装飾(大きな引用符)をカード右上に薄く残す */
.qdm-fcard--dark .qdm-fcard__mark {
  position: absolute;
  top: -26px;
  right: 34px;
  font-size: 170px;
  line-height: 1;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.1);
  pointer-events: none;
  user-select: none;
}

/* 金色の英字ラベル(旧 .qdm-quote-panel__eyebrow をカード先頭へ移設) */
.qdm-fcard--dark .qdm-fcard__eyebrow {
  position: relative;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.22em;
  color: var(--qdm-gold);
  margin: 0 0 12px;
}

.qdm-fcard--dark .qdm-fcard__labels {
  position: relative;
}

/* 分類チップは淡色塗りのまま。章ラベルは濃色地で読めるよう文字色のみ白系に(金の罫はそのまま) */
.qdm-fcard--dark .qdm-ch-label {
  color: rgba(255, 255, 255, 0.82);
}

.qdm-fcard--dark .qdm-fcard__title {
  position: relative;
  max-width: 24em; /* 全幅でも行が伸びすぎないよう左寄せで抑える */
  color: #fff;
  margin: 0 0 12px;
}

.qdm-fcard--dark:hover .qdm-fcard__title {
  color: #fff; /* 濃色地ではティールに変えず白のまま */
}

.qdm-fcard--dark .qdm-fcard__text {
  position: relative;
  max-width: 60em;
  color: rgba(255, 255, 255, 0.88);
}

/* 金の罫(旧 .qdm-quote-panel__rule 相当の装飾) */
.qdm-fcard--dark .qdm-fcard__rule {
  position: relative;
  display: block;
  width: 44px;
  height: 2px;
  background: var(--qdm-gold);
  border-radius: 2px;
  margin-top: 22px;
}

.qdm-fcard--dark .qdm-fcard__meta {
  position: relative;
  border-top: 1px solid rgba(255, 255, 255, 0.18);
  color: rgba(255, 255, 255, 0.7);
}

.qdm-fcard--dark .qdm-fcard__more {
  color: var(--qdm-gold);
}

/* レスポンシブ: 既存の .qdm-fcard 用メディアクエリ(960px/640px)より詳細度が高いため、
   濃色カードぶんの余白・文字サイズはここで指定する。 */
@media (max-width: 960px) {
  .qdm-fcard--dark {
    padding: 26px 26px 24px;
  }

  .qdm-fcard--dark .qdm-fcard__title {
    font-size: 22px;
  }

  .qdm-fcard--dark .qdm-fcard__mark {
    font-size: 130px;
    right: 16px;
  }
}

@media (max-width: 640px) {
  .qdm-fcard--dark {
    padding: 22px 20px 20px;
  }

  .qdm-fcard--dark .qdm-fcard__title {
    font-size: 20px;
  }

  .qdm-fcard--dark .qdm-fcard__meta {
    gap: 4px 16px;
  }

  .qdm-fcard--dark .qdm-fcard__more {
    margin-left: 0;
  }
}

/* ===== T11一覧: 記事カード(3カラム)の「記事を読む」(2026-09-01) ===== */
/* 意図: 注目カードだけにあった「記事を読む」を通常の記事カードにも出し、
   カードがリンクであることを一覧全体で示す(矢印なし・注目カードと同トーン)。
   .qdm-icard__meta は既存のまま(ブロック要素・中の span は display: block で縦積み)に
   しておきたいので、右端寄せはこの追記側だけで成立させる:
   親の span { display: block } を上書きして内容幅のボックスにし、margin-left: auto で右端へ。 */
.qdm-icard__more {
  display: flex;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  margin-left: auto;
  margin-top: 8px;
  font-size: 13px;
  font-weight: 700;
  color: var(--qdm-teal-text);
}

/* ===== T12一覧: 開催予定の日付パネルをリンク化(2026-09-08) ===== */
/* 意図: 日付パネル(aside)を a に変えて「詳細・申込」と同じイベント詳細ページへ飛ばす。
   既存の .qdm-ev-datepanel(グラデ・余白・中の文字色)はそのまま使い、
   ここではリンク化で増える分(既定の青文字・下線の打ち消し、押せる表現、フォーカス表示)だけを足す。
   ホバーの浮き上がり量と影は、同じT12一覧の .qdm-ev-card:hover と同トーンに合わせた。 */
a.qdm-ev-datepanel {
  color: inherit;
  text-decoration: none;
  transition: transform 0.2s, box-shadow 0.2s;
}

a.qdm-ev-datepanel:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 26px rgba(18, 40, 58, 0.18);
}

a.qdm-ev-datepanel:focus-visible {
  outline: 3px solid rgba(23, 128, 141, 0.35);
  outline-offset: 3px;
}

/* ===== T12詳細: 申込受付中チップをバッジ行に並べたときの調整(2026-09-08) ===== */
/* 意図: チップ(.qdm-ev-apply-note)は申込ボタン横に置く前提の寸法(12px・padding 5px 16px)で、
   タイトル上のバッジ行(.qdm-ev-hero__labels)に並べると隣の .qdm-ev-badge(11px・padding 3px 14px)より
   一回り大きく、行内で高さが揃わない。ここではバッジ行に入ったときだけ文字サイズと余白をバッジに合わせる。
   色・枠線・先頭のドットは既存のまま流用する(既存行は変更しない)。 */
.qdm-ev-hero__labels .qdm-ev-apply-note {
  font-size: 11px;
  padding: 3px 14px;
  gap: 6px;
  white-space: nowrap;
}

/* ===== T12詳細: 下段を2カード+全幅「講演要旨」カードに再構成(2026-09-08) ===== */
/* 意図: 下段の3カード横並び(このような方に/開催後に掲載する内容/関連する書籍章)を、
   2カード横並び(このような方に/関連する書籍章)+その下の全幅カード「講演要旨」に変更した。
   カード自体の見た目(白地・枠線・影・見出し下の罫線・本文)は既存の .qdm-ev-tcard 系をそのまま使い、
   ここでは並び方(グリッドの列数と全幅化)だけを追記する(既存行は変更しない)。 */

/* 2カード行。auto-fit + min() のため、カードが1枚だけのときは自然に全幅へ伸び、
   幅が足りない画面では1カラムに折り返す(既存 .qdm-ev-trio の 1080px 以下=1カラムと同じ挙動)。 */
.qdm-ev-trio--duo {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr));
}

/* 全幅カード(講演要旨)。中の段落は既存の .qdm-ev-tcard__text をそのまま使う。 */
.qdm-ev-tcard--wide {
  width: 100%;
}

/* 2カード行の直後に置かれたときだけ、カード間と同じ余白(20px)を上に取る。 */
.qdm-ev-trio + .qdm-ev-tcard--wide {
  margin-top: 20px;
}

/* ===== T13: フォームセクションの説明文(見出し「ご相談受付」の下・2026-09-08) ===== */
/* 意図: 英字アイブロー「Contact Form」の下に日本語見出しと説明文3段落を追加したため、
   見出し(.qdm-section__title・下余白26px)と白パネル(.qdm-t13-panel)のあいだに置く
   説明文の行間と下余白だけを定義する。既存の .qdm-t13-form / .qdm-t13-panel /
   .qdm-section__title / .qdm-section__eyebrow は変更しない(末尾追記のみ)。 */
.qdm-t13-form__lead {
  max-width: 940px;
  margin: -8px 0 28px;
  font-size: 14.5px;
  line-height: 1.9;
}

.qdm-t13-form__lead p + p {
  margin-top: 4px;
}

/* ===== T13: 送信ボタン右の注意書き(2026-09-08) ===== */
/* 意図: 送信ボタンの文言を「内容を確認して送信」に短くしたのに合わせ、返信の目安を
   ボタンの右に小さく添える。
   注意書きをインライン要素として置くと、親 .qdm-t13-submit の text-align: center が
   「ボタン+注意書き」の塊を中央に置くため、ボタン自体が中央より左へずれて見える。
   そこで注意書きだけを絶対配置でボタンの右に浮かせ、ボタンは従来どおり中央に固定する。
   縦位置は .qdm-t13-submit の padding-top(26px)から下端までを占める箱を作り、
   その中で下端揃え(flex-end)にすることで、ボタンの高さを知らなくても下端基準で置ける。
   2026-09-08 ユーザー指摘「注意書きの主張が少し大きい。もう少し右下で小さめに」への対応として、
   13px→11px に落とし、縦中央揃え→ボタン下端寄せ、横位置も4pxだけ右へずらしている。
   色は既存どおり var(--qdm-text-weak)(種別の説明文 .qdm-t13-pick__note と同系)。
   見本フォームの span と CF7実フォームの span の両方で同じクラスを使う。
   既存の .qdm-t13-submit / .qdm-btn の宣言は変更していない(position: relative の
   1宣言だけを新規ブロックで足している。T13専用クラスのため他ページへの影響はない)。 */

/* 注意書きの絶対配置の基準にするためだけの指定(見た目は変わらない) */
.qdm-t13-submit {
  position: relative;
}

.qdm-t13-submit__note {
  position: absolute;
  /* 既存 .qdm-t13-submit .qdm-btn の min-width: 340px = 半幅170px。その右に24pxの間を空ける */
  left: calc(50% + 194px);
  top: 26px;    /* .qdm-t13-submit の padding-top と同値=ボタン行の上端 */
  bottom: 0;    /* ボタンは最後の要素で下余白がないため、ここがボタン行の下端 */
  display: flex;
  align-items: flex-end;  /* ボタン行の下端を基準に置く(右下寄せ) */
  /* 文字の下端をボタンの内側下端(.qdm-btn の padding-bottom: 14px の位置)に合わせる。
     11px×1.7 の行送りは文字の上下に約4pxずつ余りが出るため、14 − 4 = 10px を下に確保する。
     結果、注意書きはボタン内の文字ベースラインのわずか下に小さく添う。 */
  padding-bottom: 10px;
  white-space: nowrap;
  font-size: 11px;
  line-height: 1.7;
  color: var(--qdm-text-weak);
}

/* 「中央のボタン(半幅170px)+間24px+注意書き(11px×17.5字≒194px)」= 中心から右へ388px。
   これが収まるには .qdm-t13-submit の幅が776px以上必要。
   幅は 表示幅 −(.qdm-container の左右padding 32px×2)−(.qdm-t13-panel の左右padding)で、
   1080px以下ではパネルpaddingが24px×2になるため 表示幅−112px。
   776 + 112 = 888px が限界だが、周囲の余白を確保するため従来どおり980px以下で下に回す
   (11px化で必要幅は下がったので、980pxのままでも安全側)。
   640px以下でボタンが全幅(min-width: 0 / width: 100%)になる既存指定とも矛盾しない
   (640pxは980px以下に含まれ、そこでは常にボタンの下・中央揃えになる)。 */
@media (max-width: 980px) {
  .qdm-t13-submit__note {
    position: static;
    display: block;
    margin-top: 12px;
    padding-bottom: 0;  /* 絶対配置用の下余白は不要 */
    white-space: normal;
    font-size: 11px;    /* 基準側と同値(ボタン下に回っても小さめのまま) */
  }
}

/* ===== T12一覧: 「開催記録と共同企画」見出し直下の説明2行(2026-09-08ユーザー要望・T12専用) =====
   初回は太字紺のラベル+本文を見出しの直下に置いたが、見出しと視覚的に喧嘩して窮屈という指摘を受け、
   2026-09-08に「下のカードの状態バッジ(ピル)と同じ見た目のラベルを持つ凡例パネル」へ再設計した。
   .qdm-ev-list .qdm-section__title の margin-bottom: 22px をそのままひと呼吸の余白として使い、
   パネルの下に24pxを確保してカード一覧へつなぐ。
   T12一覧の「開催記録と共同企画」セクションでのみ使用するクラス。 */
.qdm-t12-records-lead {
  margin: 0 0 24px;
  /* 薄い面で本文と分ける。罫線と角丸は同セクションの .qdm-ev-card の流儀に合わせる */
  background: var(--qdm-bg);
  border: 1px solid var(--qdm-card-line);
  border-radius: 10px;
  padding: 16px 20px;
}

/* 文字色は当初 var(--qdm-text-weak) だったが、パネルの薄背景(var(--qdm-bg))の上では
   読みにくいとの指摘により、本文標準色 var(--qdm-text) に変更(2026-09-08)。 */
.qdm-t12-records-lead p {
  font-size: 13px;
  line-height: 1.8;
  color: var(--qdm-text);
}

/* 2行のあいだ。バッジが付いた分、行の見かけの高さが増えるので前回の4pxより少し広げる */
.qdm-t12-records-lead p + p {
  margin-top: 8px;
}

/* ラベル(開催記録/共同企画)は下のカードの状態バッジと同じピル表示にして、凡例として対応させる。
   カード側に影響を出さないため .qdm-ev-badge を共用せず、値だけを複製した専用クラスにする
   (複製元: .qdm-ev-badge / .qdm-ev-badge--record / .qdm-ev-badge--joint)。 */
.qdm-t12-records-lead__badge {
  display: inline-flex;
  align-items: center;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  border-radius: 999px;
  padding: 3px 14px;
  white-space: nowrap;
}

.qdm-t12-records-lead__badge--record {
  background: #e8edf2;
  color: var(--qdm-navy);
}

.qdm-t12-records-lead__badge--joint {
  background: #f4e6e8;
  color: var(--qdm-maroon);
}

/* ===== T13: 送信前の入力内容確認モーダル(2026-09-08ユーザー決定・T13専用) =====
   意図: 相談フォームで「内容を確認して送信」を押したとき、すぐ送信せず入力内容を一覧で見せる。
   確認画面プラグインは追加せず(ユーザー承認済み)、CF7のフォーム定義(DB)も変更せずに、
   template-qdm-contact.php の自前JSがこのマークアップを動的に組み立てて body 直下へ置く。
   そのため .qdm-t13-panel の外に出る=ここでは既存セレクタに一切依存せず、
   .qdm-t13-confirm 系の新規クラスだけで完結させる(既存行の変更なし・T13以外では出力されない)。
   色変数は body.qdm-body スコープの定義を継承する(モーダルもbody直下のため届く)。
   ボタンは既存の .qdm-btn / .qdm-btn--gold を流用し、button要素ぶんの打ち消しだけを足す。 */

/* 全画面のオーバーレイ。ヘッダー(z-index: 100)より確実に手前へ出す */
.qdm-t13-confirm {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px 16px;
}

.qdm-t13-confirm__overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(15, 34, 51, 0.62); /* 紺系(--qdm-band-navy)の半透明 */
}

/* 中央の白パネル。項目が多いときはパネル内だけがスクロールする */
.qdm-t13-confirm__panel {
  position: relative;
  width: 100%;
  max-width: 640px;
  max-height: calc(100vh - 48px); /* 上下のpadding 24px×2 を差し引いた高さに収める */
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  background: #fff;
  border-radius: 10px;
  border-top: 3px solid var(--qdm-gold); /* 白パネル(.qdm-t13-panel)と同じ見出し罫 */
  box-shadow: 0 18px 48px rgba(15, 34, 51, 0.4);
  padding: 28px 32px 26px;
}

.qdm-t13-confirm__title {
  font-size: 20px;
  font-weight: 700;
  color: var(--qdm-navy);
  letter-spacing: 0.04em;
  margin: 0 0 10px;
}

.qdm-t13-confirm__lead {
  font-size: 13px;
  line-height: 1.8;
  color: var(--qdm-text-weak);
  margin: 0 0 18px;
}

/* 一覧は「項目名(幅固定)+値」の行組み */
.qdm-t13-confirm__list {
  margin: 0;
  border-top: 1px solid var(--qdm-line);
}

.qdm-t13-confirm__row {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 0 16px;
  padding: 12px 2px;
  border-bottom: 1px solid var(--qdm-line);
}

.qdm-t13-confirm__key {
  font-size: 12.5px;
  font-weight: 700;
  line-height: 1.9;
  color: var(--qdm-navy);
  letter-spacing: 0.04em;
}

/* 相談内容などの長文は改行を保った上で折り返す(dd の既定マージンも消す) */
.qdm-t13-confirm__val {
  margin: 0;
  font-size: 13.5px;
  line-height: 1.9;
  color: var(--qdm-text);
  white-space: pre-wrap;
  overflow-wrap: break-word;
  word-break: break-word;
}

.qdm-t13-confirm__val.is-empty {
  color: var(--qdm-text-weak);
}

/* ボタン行(右寄せ)。「修正する」→「この内容で送信する」の順に置く */
.qdm-t13-confirm__actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 14px;
  margin: 24px 0 0;
}

/* .qdm-btn は既存サイトでは a に付ける前提のため、button要素ぶんの既定値を打ち消す
   (.qdm-t13-submit input.qdm-btn と同じ流儀) */
.qdm-t13-confirm__actions .qdm-btn {
  min-width: 240px;
  font-family: inherit;
  border: none;
  -webkit-appearance: none;
  appearance: none;
}

.qdm-t13-confirm__back {
  font-family: inherit;
  font-size: 13px;
  font-weight: 700;
  color: var(--qdm-text-weak);
  background: none;
  border: none;
  padding: 10px 14px;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color 0.2s;
}

.qdm-t13-confirm__back:hover {
  color: var(--qdm-navy);
}

.qdm-t13-confirm__panel :focus-visible {
  outline: 3px solid rgba(23, 128, 141, 0.35);
  outline-offset: 3px;
}

/* スマホ幅: パネルを画面幅いっぱい近くに広げ、項目名と値は縦積み・ボタンは全幅で縦並び */
@media (max-width: 640px) {
  .qdm-t13-confirm {
    padding: 14px 12px;
  }

  .qdm-t13-confirm__panel {
    max-width: none;
    max-height: calc(100vh - 28px);
    border-radius: 8px;
    padding: 22px 18px 20px;
  }

  .qdm-t13-confirm__title {
    font-size: 18px;
  }

  .qdm-t13-confirm__row {
    grid-template-columns: minmax(0, 1fr);
    gap: 4px;
    padding: 11px 0;
  }

  .qdm-t13-confirm__actions {
    flex-direction: column-reverse; /* 主要な「この内容で送信する」を上に置く */
    align-items: stretch;
    gap: 10px;
  }

  .qdm-t13-confirm__actions .qdm-btn {
    min-width: 0;
    width: 100%;
  }
}

/* ===== T13: 「相談の種類」カードのクリック連動(2026-09-08) =====
   カードを押すと下のフォームの相談種別が選ばれる(JS⑤)。
   JSが対応するラジオを見つけたカードにだけ .is-clickable を付けるので、
   フォームが出ていないページ状態では見た目も従来どおり(押せそうに見せない)。
   既存の .qdm-t13-tcard / :hover の宣言は変更していない(ここは追記のみ)。 */
.qdm-t13-tcard.is-clickable {
  cursor: pointer;
}

/* 既存hoverのtransform・影はそのまま効かせ、押せる合図として上罫のティール色を濃くする */
.qdm-t13-tcard.is-clickable:hover {
  border-top-color: var(--qdm-navy);
}

/* キーボード操作(Tabで移動→Enter/Space)の位置がわかるように輪郭を出す */
.qdm-t13-tcard.is-clickable:focus-visible {
  outline: 3px solid rgba(23, 128, 141, 0.35);
  outline-offset: 3px;
}

/* ===== T11一覧: フィルタチップ直下の分類説明パネル(2026-09-08ユーザー要望・T11専用) =====
   記事の分類4種(基礎解説/実践・運営/制度・技術/対談・記録)に説明を付けたいというユーザー要望。
   見せ方は同日ユーザー承認のT12一覧の凡例パネル(.qdm-t12-records-lead)と同じ流儀
   ——薄い面のパネルに「カードで使っているラベルそのもの+説明文」を並べて凡例にする。
   ただしT11ではラベルを複製せず、記事カード・注目カードと同じ .qdm-cat-chip 系を
   テンプレート側でそのまま流用する(表示専用のspanのため。既存セレクタは無変更)。
   上の .qdm-chips(padding: 30px 0 4px)と下の .qdm-featured(padding-top: 28px)の
   あいだに入るので、このセクション自身の上下余白は小さめにする。
   T11一覧のフィルタチップ直下でのみ使用するクラス。 */
.qdm-t11-cats {
  padding: 16px 0 0;
}

/* 薄い面で記事一覧と分ける。罫線と角丸は .qdm-t12-records-lead と同値。
   2026-09-08の見栄え指摘(「右半分が空いて間延びする」)により、4行を1列に積むのをやめて
   PC幅では2列×2行のグリッドに並べ、パネルの横幅を使い切るようにした。
   行間は p の margin ではなく row-gap で取る(グリッドでは margin が gap に足されるため)。 */
.qdm-t11-cats-lead {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 32px;
  row-gap: 10px;
  background: var(--qdm-bg);
  border: 1px solid var(--qdm-card-line);
  border-radius: 10px;
  padding: 16px 20px;
}

/* 文字色はT12で「薄い面の上では var(--qdm-text-weak) が読みにくい」との指摘があったため、
   最初から本文標準色 var(--qdm-text) にする(2026-09-08)。
   チップと説明文の縦位置を揃えるため、行は inline 要素の baseline に任せる。
   margin: 0 は上記グリッドの row-gap だけで行間を決めるため(テーマ既定の p 余白を打ち消す)。 */
.qdm-t11-cats-lead p {
  margin: 0;
  font-size: 13px;
  line-height: 1.8;
  color: var(--qdm-text);
}

/* 2026-09-08の見栄え指摘(「チップの幅がバラバラで『：』の位置が縦に揃わない」)への対応。
   ラベルは4文字(基礎解説)と5文字(実践・運営ほか)が混在するため、凡例の中だけ最小幅を与えて
   4つのチップを同じ幅に揃え、続く「：」と説明文の開始位置を縦に一致させる。
   記事カード・注目カードのチップに影響を出さないよう、必ず .qdm-t11-cats-lead 配下に限定した
   上書きにする(複製元 .qdm-cat-chip 本体のセレクタは無変更)。
   min-width の 8.5em はチップ自身の font-size: 11px 基準で約94px。5文字+左右padding(14px)の
   実寸(約87px)より少しだけ広い値。box-sizing はテーマ側の指定に依存しないよう明示する。 */
.qdm-t11-cats-lead .qdm-cat-chip {
  box-sizing: border-box;
  min-width: 8.5em;
  justify-content: center;
  text-align: center;
}

/* 狭い画面ではパネルの左右を詰める(.qdm-chips の640px指定と同じ帯域で切り替える)。
   2列だと1行あたりの文字数が足りず説明文が細かく折り返すので、1列に戻す。 */
@media (max-width: 640px) {
  .qdm-t11-cats {
    padding: 14px 0 0;
  }

  .qdm-t11-cats-lead {
    grid-template-columns: 1fr;
    padding: 14px 16px;
  }
}

/* ===== T11記事詳細: **〜** 記法の太字(2026-09-10) =====
   本文段落・「この記事で分かること」・「社内で考える問い」の <strong> を太字にする。
   共通 app.css のリセット(strong の font-weight を通常に戻す指定)がQDMページにも効いており、
   テンプレートが出力した <strong> が画面で太字に見えなかったため、クラス指定で上書きする。 */
.qdm-t11a .qdm-artsec p strong,
.qdm-t11a .qdm-artsum__list strong,
.qdm-t11a .qdm-scard__qs strong {
  font-weight: 700;
}

/* =========================================================
   T08 PDF準拠改修(2026-09-10)
   ユーザー提供PDF「P1_60分対話進行ガイド.pdf」への全面追随に伴う追記。
   既存のT08ブロック(2976〜3330行付近)の値は変更せず、新クラスと必要最小限の追加ルールのみ。
   色・余白・角丸は既存のT08(.qdm-rcard / .qdm-tstep / .qdm-avoid__box / .qdm-cg-lead)と
   :root(body.qdm-body)の変数に合わせる。
   ========================================================= */

/* ===== T08: ラベル付きの囲み(ヒーローの「目的」/ 現在地メモ下の「次に進むとき」) ===== */
.qdm-cg-purpose {
  max-width: 900px;
  margin-top: 22px;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid #cfe2e6;
  border-left: 3px solid var(--qdm-teal);
  border-radius: 8px;
  padding: 16px 24px 18px;
}

.qdm-cg-purpose__label {
  display: inline-flex;
  align-items: center;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: var(--qdm-teal-dark);
  background: var(--qdm-teal-light);
  border-radius: 999px;
  padding: 3px 14px;
  margin-bottom: 9px;
}

.qdm-cg-purpose__text {
  margin: 0;
  font-size: 14.5px;
}

/* 「次に進むとき」は薄い背景(qdm-section--alt)の上に置くため白カード+金の縦線にする */
.qdm-cg-purpose--next {
  margin-top: 26px;
  background: #fff;
  border-color: var(--qdm-card-line);
  border-left-color: var(--qdm-gold);
  box-shadow: 0 4px 20px rgba(18, 40, 58, 0.05);
}

.qdm-cg-purpose--next .qdm-cg-purpose__label {
  color: #8a6a1e;
  background: #f6ecd6;
}

/* ===== T08: 開始前に共有する3つのルール ===== */
.qdm-rules {
  padding: 54px 0 58px;
  border-bottom: 1px solid var(--qdm-line); /* 直後の「60分の標準進行」も白背景のため区切り線を入れる */
}

/* 見出しサイズは既存のT08セクションと同じ(24px)に揃える */
.qdm-rules .qdm-section__title,
.qdm-cg-notes .qdm-section__title {
  font-size: 24px;
  margin-bottom: 20px;
}

.qdm-rules__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin-top: 4px;
}

.qdm-rulecard {
  background: #fff;
  border: 1px solid var(--qdm-card-line);
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(18, 40, 58, 0.05);
  padding: 22px 24px 24px;
}

.qdm-rulecard__num {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--qdm-teal-light);
  color: var(--qdm-teal-dark);
  font-size: 13px;
  font-weight: 700;
  margin-bottom: 12px;
}

.qdm-rulecard:nth-child(2) .qdm-rulecard__num {
  background: #f6ecd6;
  color: #8a6a1e;
}

.qdm-rulecard:nth-child(3) .qdm-rulecard__num {
  background: #e8edf2;
  color: var(--qdm-navy);
}

.qdm-rulecard__title {
  font-size: 18px;
  font-weight: 700;
  color: var(--qdm-navy);
  letter-spacing: 0.03em;
  margin-bottom: 8px;
}

.qdm-rulecard__text {
  font-size: 13.5px;
}

/* ===== T08: 60分の標準進行の各ステップ内「問い返し：」「残すもの：」 ===== */
.qdm-tstep__meta {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 18px;
  margin-top: 12px;
  padding-top: 11px;
  border-top: 1px dashed var(--qdm-line);
}

.qdm-tstep__ask {
  margin: 0;
  font-size: 13.5px;
  color: var(--qdm-teal-text);
}

.qdm-tstep__ask-label {
  font-weight: 700;
  color: var(--qdm-teal-dark);
}

.qdm-tstep__keep {
  flex-shrink: 0;
  margin: 0;
  font-size: 12.5px;
  font-weight: 700;
  color: var(--qdm-navy);
  white-space: nowrap;
}

.qdm-tstep__keep-label {
  font-weight: 600;
  color: var(--qdm-text-weak);
}

/* ===== T08: ファシリテーターノート導入(直後の問い返しセクションと同じ背景で連続させる) ===== */
.qdm-cg-notes {
  padding: 56px 0 0;
}

.qdm-cg-notes .qdm-cg-lead {
  margin-bottom: 0;
}

.qdm-cg-notes + .qdm-cg-questions {
  padding-top: 30px;
}

/* ===== T08: 終了後に「現在地メモ」へ残すこと(5行表) ===== */
.qdm-memo {
  max-width: 900px;
  margin: 4px 0 0;
  padding: 4px 30px 6px;
  list-style: none;
  background: #fff;
  border: 1px solid var(--qdm-card-line);
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(18, 40, 58, 0.05);
}

.qdm-memo__row {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  padding: 13px 0;
  border-bottom: 1px solid var(--qdm-line);
  font-size: 14px;
}

.qdm-memo__row:last-child {
  border-bottom: none;
}

.qdm-memo__num {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: var(--qdm-teal-light);
  color: var(--qdm-teal-dark);
  font-size: 12px;
  font-weight: 700;
}

.qdm-memo__title {
  color: var(--qdm-navy);
  font-weight: 500;
}

.qdm-memo__note {
  font-size: 12.5px;
  color: var(--qdm-text-weak);
  text-align: right;
  white-space: nowrap;
}

/* ===== T08 PDF準拠改修: Responsive(既存のT08と同じ断点に合わせる) ===== */
@media (max-width: 1080px) {
  .qdm-rules__grid {
    grid-template-columns: 1fr;
    max-width: 620px;
  }
}

@media (max-width: 960px) {
  .qdm-rules .qdm-section__title,
  .qdm-cg-notes .qdm-section__title {
    font-size: 21px;
  }

  .qdm-rules {
    padding: 44px 0 46px;
  }

  .qdm-cg-notes {
    padding: 46px 0 0;
  }

  .qdm-memo {
    padding: 4px 22px 6px;
  }
}

@media (max-width: 640px) {
  .qdm-cg-purpose {
    padding: 14px 18px 16px;
  }

  /* 「問い返し」と「残すもの」は横並びだと収まらないので縦積みにする */
  .qdm-tstep__meta {
    flex-direction: column;
    align-items: flex-start;
    gap: 7px;
  }

  .qdm-tstep__keep {
    white-space: normal;
  }

  /* 右端の目安は項目名の下へ回す */
  .qdm-memo__row {
    grid-template-columns: 24px minmax(0, 1fr);
    row-gap: 5px;
  }

  .qdm-memo__note {
    grid-column: 2;
    text-align: left;
    white-space: normal;
  }
}

/* ===== T03 信頼アーキテクチャ: 引用枠の複数段落対応(2026-09-10) =====
   「四つの変換」末尾の段落と引用文を1つのゴールド罫枠(.qdm-pull)に収めるため、
   枠内の段落(p)の余白のみ定義。既存 .qdm-pull(353行目付近)の見た目は不変。 */
.qdm-pull--multi p {
  margin: 0 0 1em;
}

.qdm-pull--multi p:last-child {
  margin-bottom: 0;
}

/* ===== T04 書籍トップ: ページ末CTA(2026-09-11) =====
   T04のバンドはボタン2つだけで見出し・本文が無く、直前の巻末セクション(紺ボックス)と
   紺・空白・紺と並んで浮いて見えるため、T04のみ紺ボックスを無効化して
   白地にボタンを中央配置する。上余白0で巻末ボックスとの間隔は76px。
   共通の .qdm-band / .qdm-band__inner(他ページ)は不変。 */
.qdm-band--after-appendix {
  padding-top: 0;
}

.qdm-band--after-appendix .qdm-band__inner {
  background: transparent;
  border-radius: 0;
  padding: 0;
  color: inherit;
  overflow: visible;
}

.qdm-band--after-appendix .qdm-band__inner::before,
.qdm-band--after-appendix .qdm-band__inner::after {
  display: none;
}

/* ===== T10: 円環図の中央ラベル2行化(2026-09-11) =====
   用語変更「統合運営循環」→「信頼が育ち続ける循環サイクル」(14文字)により
   中央ラベルが1行に収まらないため、テンプレート側で<br>2行にし、文字サイズを少し下げる。
   既存 .qdm-cycle__center-title(4039行目付近)は不変・ここで上書き。 */
.qdm-cycle__center-title {
  font-size: 14px;
  letter-spacing: 0.04em;
}

/* ===== T06 実践する: 3カードのCTAボタンを1行に収める(2026-09-11) =====
   用語変更でカード3のボタン文言が「信頼が育ち続ける循環サイクルを見る」(17文字)になり、
   文字14px・字間0.04em・左右余白34pxではカード内側幅(約250px)に収まらず末尾1文字が折り返していた。
   ボタンは幅100%のため左右余白を最小にし、文字13.5px・字間なしで3カード共通に揃える。
   既存 .qdm-btn / .qdm-btn--teal / .qdm-pcard__cta .qdm-btn は不変・ここで上書き。 */
.qdm-pcard__cta .qdm-btn {
  padding-left: 6px;
  padding-right: 6px;
  font-size: 13.5px;
  letter-spacing: 0;
}

/* ===== T08 利用ガイド: 末尾のダウンロード資料パネル(横並び3枚・2026-09-11) =====
   T07の .qdm-dlpanel 系をそのまま流用し、--row 修飾で資料3枚を横並びにする。
   .qdm-check-cta は text-align:center のためパネル内は左寄せに戻す。
   既存の .qdm-dlpanel 系(T07)・.qdm-check-cta 系は不変。 */
.qdm-check-cta--dl .qdm-dlpanel {
  text-align: left;
}

.qdm-dlpanel--row .qdm-dlpanel__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-bottom: 0;
}

.qdm-check-cta--dl .qdm-check-cta__subs {
  margin-top: 24px;
}

@media (max-width: 860px) {
  .qdm-dlpanel--row .qdm-dlpanel__list {
    grid-template-columns: 1fr;
  }
}

/* ===== ヘッダー: 文字なしのCTA領域(T06で使用・2026-09-11) =====
   $GLOBALS['qdm_header_cta'] に placeholder を渡したページで、リンクも文字も無い
   ティール領域だけを出す。幅は「現在地を考える」ボタン(文字7字+左右30px)相当に固定し、
   他ページとヘッダーの見た目を揃える。既存 .qdm-header__cta 群は不変。 */
.qdm-header .qdm-header__cta--placeholder {
  min-width: 160px;
  cursor: default;
}

/* ===== T08 利用ガイド: 事前準備1の本文中の資料リンク(2026-09-11) =====
   紺パネル(.qdm-prep__item・文字色 #e6eef3)の上に置くため、ゴールド+下線で資料名を示す。 */
.qdm-prep__link {
  color: var(--qdm-gold);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: opacity 0.2s;
}

.qdm-prep__link:hover {
  opacity: 0.75;
}

/* ===== T13 相談・連携: 「相談の前に」のリード文(2026-09-11) =====
   見出し直下・5項目リストの上に置く補足文。文言の丁寧語改訂で新設。 */
.qdm-t13-prep__lead {
  max-width: 1000px; /* 2026-09-14: 直下のリスト(.qdm-t13-prep__list)と同幅に。760pxでは2行目(約56字)が語の途中で折り返していたため */
  margin: -6px 0 22px;
  font-size: 14.5px;
  line-height: 1.85;
  color: var(--qdm-text-weak, #6b7a85);
}

/* ===== T12 イベント詳細: 自由セクション(2026-09-14) =====
   ACFリピーター qdm_ev_sections の本文。段落の余白・行間は既存の開催趣旨本文
   (.qdm-ev-sec p)と同じにして、固定セクションと並んでも見た目が揃うようにする。
   **〜** で囲んだ範囲の <strong> は本文よりやや濃い紺(見出しと同じ --qdm-navy)。 */
.qdm-ev-free__body p {
  font-size: 15px;
  line-height: 1.95;
  margin-bottom: 1.2em;
}

.qdm-ev-free__body p:last-child {
  margin-bottom: 0;
}

.qdm-ev-free__body strong {
  font-weight: 700;
  color: var(--qdm-navy);
}

@media (max-width: 860px) {
  .qdm-ev-free__body p {
    font-size: 14.5px;
  }
}

/* ===== T12 イベント詳細: 再視聴ボタン(URL未定の灰色無効表示・2026-09-14) =====
   再視聴URLが未定で「再視聴の注記」だけがあるときに出す <span>。
   寸法は申込ボタン(.qdm-t12e .qdm-btn--apply)をそのまま使い、色だけ薄いグレー+紺文字にして
   押せないことを見た目で示す(クリック不可・hoverの変化なし・ゴールドの影も消す)。 */
.qdm-btn--replay-off {
  background: #c9ced3;
  color: var(--qdm-navy);
  cursor: default;
  pointer-events: none;
}

.qdm-t12e .qdm-btn--replay-off {
  box-shadow: none;
  transition: none;
}

/* 末尾CTAの紺バンドの上でも文字が読めるように、うっすら縁を付けてボタンの輪郭を出す */
.qdm-check-cta--band .qdm-btn--replay-off {
  background: #d3d8dc;
  border: 1px solid rgba(255, 255, 255, 0.45);
}

/* ===== T12一覧: 下段カードの「詳細」ボタン風表示(2026-09-14) ===== */
/* カード全体が <a> なので、中の「詳細」は入れ子リンクにせず <span> の飾りにしている。
   見た目は上段の「詳細・申込」(.qdm-btn--teal)に合わせ、小カード向けに上下paddingだけ詰めた。
   下端揃えは紹介文(.qdm-ev-card__text)の flex-grow に持たせる方式:
     ・紹介文が余った高さを吸収するので、日付注記と詳細ボタンは常にカード下端に寄る
     ・詳細ボタンの上は常に20px空く(紹介文に密着しない)。日付注記があるときは注記の下に16px */
.qdm-ev-card__text {
  flex: 1 0 auto; /* 紹介文が余白を吸収して、日付注記・詳細ボタンをカード下端へ寄せる。詳細ボタンの上は常に20px空く */
}

.qdm-ev-card__more {
  align-self: flex-start;
  margin: 20px 0 0;
  padding: 12px 34px;
  border-radius: 4px;
  background: var(--qdm-teal-dark);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.04em;
  transition: background 0.2s;
}

.qdm-ev-card__meta + .qdm-ev-card__more {
  margin-top: 16px;
}

/* カード全体のホバーに合わせて、ボタンの色も .qdm-btn--teal:hover と同じ紺に変える */
.qdm-ev-card:hover .qdm-ev-card__more {
  background: var(--qdm-navy);
}

/* ===== T12 イベント詳細: 自由セクション本文のリンク(2026-09-14) =====
   本文に [文言](URL) と書いた部分(template-qdm-event.php の $qdm_free_blocks が変換)。
   色は本文リンクの既存色(T08「相談の前に」の .qdm-prep__link と同じ扱い)に合わせ、
   紺の本文の中で見分けがつくティールにする。太さは本文のまま(太字記法と併用できるよう継承)。 */
.qdm-ev-free__link {
  color: var(--qdm-teal-dark);
  text-decoration: underline;
  text-underline-offset: 3px;
  font-weight: inherit;
  transition: opacity 0.2s;
}

.qdm-ev-free__link:hover {
  opacity: 0.75;
}

/* ===== T12 イベント詳細: 開催概要パネルのリンク(2026-09-14) =====
   開催概要6欄の値に [文言](URL) と書いた部分(template-qdm-event.php の $qdm_link_markup が変換)。
   紺パネルの上なので自由セクション本文のティールでは沈む。パネルの白系の文字色をそのまま継承し、
   下線だけで見分けがつくようにする(ホバーは薄くして反応を示す)。 */
.qdm-ev-ovpanel .qdm-ev-free__link {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.qdm-ev-ovpanel .qdm-ev-free__link:hover {
  opacity: 0.8;
}

/* ===== スマホ表示崩れ修正(2026-09-15・ユーザー指摘) =====
   ① 品質経営(T02)「3つの時代」: .qdm-era__meta の flex-shrink:0 で右のメタ文が縮まず、
      左の名称が1文字ずつ縦に潰れ、メタ文がカード外へはみ出していた。768px以下で縦積みにする。
   ② セミナー一覧/詳細(T12): 種別ラベル .qdm-ev-badge--title が .qdm-ev-badge の
      white-space:nowrap を引き継ぎ、長い開催名が画面外へ伸びてページ全体が横スクロールしていた。
      種別ラベルだけ折り返しを許可(状態バッジ「開催予定/開催記録/共同企画」の nowrap は維持)。
   ③ セルフチェック(T07)末尾CTA: 変種なし .qdm-check-cta の .qdm-btn(min-width:300px)に
      スマホ用の解除がなく、幅360px端末で数pxはみ出す。既存の --band 変種と同じ解除を640px以下に追加。 */
@media (max-width: 768px) {
  .qdm-era {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
  }

  .qdm-era__meta {
    flex-shrink: 1;
    text-align: left;
  }
}

.qdm-ev-badge--title {
  white-space: normal;
  align-items: flex-start;
  line-height: 1.6;
}

.qdm-ev-badge--title::before {
  flex-shrink: 0;
  margin-top: 0.55em;
}

@media (max-width: 640px) {
  .qdm-check-cta__main .qdm-btn {
    min-width: 0;
    width: 100%;
  }
}
