/*
Theme Name: 官民リモートハブ コミュニティ子テーマ
Template: buddyx
Description: 官民共創コミュニティの画面・アクセシビリティ・レスポンシブ表示を担うBuddyX子テーマ。
Version: 0.4.0
*/

/* ===============================================================
   ブランドカラー上書き（BuddyXのアクセント赤 → #1e6dc1）
   #1e6dc1=プライマリ / #e46c56=アクセント赤 / #2d323e=ダーク
=============================================================== */
:root {
  --chitele-blue: #1e6dc1;
  --chitele-blue-dark: #1e6dc1;
  --chitele-blue-soft: #e8f5fa;
  --chitele-coral: #e46c56;
  --chitele-ink: #202936;
  --chitele-muted: #667085;
  --chitele-line: #dde3ea;
  --chitele-surface: #ffffff;
  --chitele-surface-soft: #f5f7fa;
  --chitele-focus: #1e6dc1; /* DENBAK 2026-08-30: フォーカスリングのオレンジをやめ、サイト共通の青に */
  --chitele-radius-sm: 8px;
  --chitele-radius-md: 12px;
  --chitele-radius-lg: 18px;
  --chitele-shadow: 0 12px 30px rgba(26, 52, 72, .09);

  --bx-color-accent:            #1e6dc1 !important;
  --bx-color-accent-secondary:  #1e6dc1 !important;
  --bx-color-accent-tertiary:   #e46c56 !important;

  --button-background-color:       #1e6dc1 !important;
  --button-background-hover-color: #1e6dc1 !important;
  --button-border-color:           #1e6dc1 !important;
  --button-border-hover-color:     #1e6dc1 !important;
  --button-text-color:             #ffffff !important;
  --button-text-hover-color:       #ffffff !important;
}

body {
  color: var(--chitele-ink);
  background: var(--chitele-surface);
  font-family: "Noto Sans CJK JP", "Noto Sans JP", "Yu Gothic", "YuGothic", Meiryo, sans-serif;
  line-height: 1.75;
}

body a { text-underline-offset: .18em; }

body :where(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid var(--chitele-focus) !important;
  outline-offset: 3px !important;
}

.site-header-wrapper {
  border-bottom: 1px solid var(--chitele-line);
  box-shadow: none !important;
  background: rgba(255, 255, 255, .98);
}

.site-header-wrapper .site-header {
  min-height: 66px;
}

.site-header-wrapper .site-title,
.site-header-wrapper .site-title a {
  color: var(--chitele-ink);
  font-weight: 800;
  letter-spacing: .01em;
}

.site-header-wrapper .main-navigation a {
  color: #3e4b5c;
  font-size: 14px;
  font-weight: 650;
}

.site-header-wrapper .main-navigation a:hover,
.site-header-wrapper .main-navigation .current-menu-item > a {
  color: var(--chitele-blue-dark);
}

[data-chitele-skip-target]:focus-visible {
  outline: 3px solid #a85d00;
  outline-offset: 4px;
}

.site-footer {
  border-top: 1px solid var(--chitele-line);
  background: #fff;
}

/* ===============================================================
   官民共創ハブ一覧・詳細
=============================================================== */
.chitele-kicker {
  margin: 0 0 .3rem;
  color: var(--chitele-blue-dark);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .14em;
}
.hub-pagehead { max-width: 760px; }
.hub-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}
.hub-card {
  overflow: hidden;
  border: 1px solid var(--chitele-line);
  border-radius: var(--chitele-radius-lg);
  background: #fff;
  box-shadow: 0 8px 22px rgba(26, 52, 72, .06);
}
.hub-card-link { display: grid; grid-template-columns: minmax(150px, 35%) 1fr; height: 100%; color: var(--chitele-ink); }
.hub-card-link:hover { text-decoration: none; box-shadow: inset 0 0 0 2px var(--chitele-blue-soft); }
.hub-card-visual { min-height: 260px; display: grid; place-items: center; background: linear-gradient(145deg, #dff2f8, #b9dce9); color: var(--chitele-blue-dark); font-weight: 900; letter-spacing: .12em; }
.hub-card-visual img { width: 100%; height: 100%; object-fit: cover; }
.hub-card-body { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; padding: 24px; }
.hub-card-title { margin: 0; color: var(--chitele-ink); font-size: 21px; line-height: 1.45; }
.hub-card-body > p { margin: 0; color: var(--chitele-muted); }
.hub-card-facts { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 2px 0; padding: 0; list-style: none; font-size: 13px; }
.hub-card-facts li { display: flex; gap: 6px; }
.hub-card-facts strong { color: var(--chitele-blue-dark); }
.hub-card-target { font-size: 13px; }
.hub-card-action { margin-top: auto; color: var(--chitele-blue-dark); font-weight: 750; }
.hub-status--active { background: #e3f5ec; color: #14633d; }
.hub-status--preparing { background: #fff3d8; color: #825000; }
.hub-status--closed { background: #edf0f3; color: #596273; }
.hub-empty { padding: 48px 24px; text-align: center; border: 1px dashed var(--chitele-line); border-radius: var(--chitele-radius-lg); background: var(--chitele-surface-soft); }
.hub-empty h2 { margin-top: 0; font-size: 20px; }
.hub-single-head { margin-bottom: 28px; }
.hub-single-head h1 { margin: 10px 0; color: var(--chitele-ink); font-size: clamp(28px, 5vw, 42px); line-height: 1.35; }
.hub-single-lead { margin: 0; color: var(--chitele-muted); font-size: 17px; }
.hub-single-updated { margin: 12px 0 0; color: var(--chitele-muted); font-size: 13px; }
.hub-single-visual { overflow: hidden; margin-bottom: 30px; border-radius: var(--chitele-radius-lg); }
.hub-single-visual img { display: block; width: 100%; height: auto; }
.hub-facts, .hub-single-body, .hub-participation, .hub-talks { margin-top: 34px; }
.hub-facts h2, .hub-single-body h2, .hub-participation h2, .hub-talks h2 { margin: 0 0 14px; font-size: 20px; }
.hub-facts dl { margin: 0; overflow: hidden; border: 1px solid var(--chitele-line); border-radius: var(--chitele-radius-md); }
.hub-facts dl > div { display: grid; grid-template-columns: 130px 1fr; border-top: 1px solid var(--chitele-line); }
.hub-facts dl > div:first-child { border-top: 0; }
.hub-facts dt, .hub-facts dd { margin: 0; padding: 14px 16px; }
.hub-facts dt { background: var(--chitele-surface-soft); font-weight: 750; }
.hub-talks { padding: 24px; border-radius: var(--chitele-radius-lg); background: var(--chitele-blue-soft); }
.hub-related-links { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.hub-card-body,
.hub-card-facts li,
.hub-facts dd { min-width: 0; }
.hub-card-title,
.hub-card-body > p,
.hub-card-facts span,
.hub-single-head h1,
.hub-single-lead,
.hub-facts dd,
.hub-participation p,
.hub-talks p {
  overflow-wrap: anywhere;
  word-break: normal;
}

@media (max-width: 900px) {
  .hub-grid { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .hub-card-link { grid-template-columns: 1fr; }
  .hub-card-visual { min-height: 170px; }
  .hub-card-body { padding: 20px; }
  .hub-facts dl > div { grid-template-columns: 1fr; }
  .hub-facts dt { padding-bottom: 4px; }
  .hub-facts dd { padding-top: 4px; }
}

/* ===============================================================
   事務局からのお知らせ
=============================================================== */
.office-news-pagehead { max-width: 760px; }
.office-news-list { display: grid; gap: 14px; }
.office-news-card { border: 1px solid var(--chitele-line); border-radius: var(--chitele-radius-md); background: #fff; }
.office-news-card.is-important { border-left: 5px solid var(--chitele-coral); }
.office-news-card > a { display: block; padding: 22px 24px; color: var(--chitele-ink); }
.office-news-card > a:hover { text-decoration: none; background: #f9fbfc; }
.office-news-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 18px; color: var(--chitele-muted); font-size: 13px; }
.office-news-card h2 { margin: 10px 0 5px; font-size: 20px; line-height: 1.5; }
.office-news-card p { margin: 0; color: var(--chitele-muted); }
.office-news-action { display: inline-block; margin-top: 12px; color: var(--chitele-blue-dark); font-weight: 750; }
.office-news-important { background: #fff0ee; color: #a6362b; }
.office-news-review { background: #fff4d8; color: #765000; }
.office-news-action-required { background: #e4f2fb; color: #1e6dc1; }
.office-news-expired { background: #edf0f3; color: #596273; }
.office-news-empty { padding: 48px 24px; text-align: center; border: 1px dashed var(--chitele-line); border-radius: var(--chitele-radius-lg); background: var(--chitele-surface-soft); }
.office-news-empty h2 { margin-top: 0; font-size: 20px; }
.office-news-single > header { padding-bottom: 24px; border-bottom: 1px solid var(--chitele-line); }
.office-news-single h1 { margin: 10px 0 18px; font-size: clamp(28px, 5vw, 40px); line-height: 1.4; }
.office-news-facts { display: flex; flex-wrap: wrap; gap: 8px 24px; margin: 0; color: var(--chitele-muted); font-size: 14px; }
.office-news-facts > div { display: flex; gap: 7px; }
.office-news-facts dt { font-weight: 750; color: var(--chitele-ink); }
.office-news-facts dd { margin: 0; }
.office-news-body { margin-top: 30px; }
.office-news-badges { display: flex; flex-wrap: wrap; gap: 8px; }
.office-news-action-box { margin-top: 28px; padding: 20px 22px; border: 1px solid #b9dce9; border-radius: var(--chitele-radius-md); background: var(--chitele-blue-soft); }
.office-news-action-box h2 { margin: 0 0 10px; font-size: 19px; }
.office-news-action-box p { margin: 0; }
.office-news-action-box p + p { margin-top: 10px; }
.office-news-expired-note { color: #723028; font-weight: 650; }
.office-news-card h2,
.office-news-card p,
.office-news-single h1,
.office-news-facts dd,
.office-news-action-box p {
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: normal;
}

@media (max-width: 560px) {
  .office-news-card > a { padding: 18px; }
  .office-news-meta, .office-news-facts { display: grid; gap: 5px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* ===============================================================
   トークルーム一覧: カード → リスト（TW風の横並び行）
=============================================================== */
.bp-nouveau #groups-list,
#groups-list {
  display: flex !important;
  flex-direction: column !important;
  grid-template-columns: 1fr !important;
  gap: 0 !important;
  border: 1px solid #dce3e6;
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
}
#groups-list > li.item-entry {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  flex: none !important;
  border-top: 1px solid #dce3e6;
}
#groups-list > li.item-entry:first-child { border-top: 0; }
#groups-list .list-wrap {
  display: flex !important;
  align-items: center;
  gap: 14px;
  padding: 14px 16px !important;
  box-shadow: none !important;
  border: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
}
#groups-list .list-wrap:hover { background: #f7fbfd !important; }
#groups-list .item-avatar { margin: 0 !important; flex: 0 0 auto; }
#groups-list .item-avatar img {
  width: 48px !important; height: 48px !important; border-radius: 10px !important; display: block;
}
#groups-list .item { flex: 1 1 auto; min-width: 0; text-align: left !important; padding: 0 !important; }
#groups-list .item-block { text-align: left !important; }
#groups-list .list-title,
#groups-list .groups-title {
  font-size: 16px !important; margin: 0 0 2px !important; text-align: left !important;
}
#groups-list .group-desc { margin: 2px 0 0 !important; }
#groups-list .group-desc p {
  margin: 0 !important; font-size: 13px; color: #51585f;
  overflow-wrap: anywhere;
}
#groups-list .item-meta { font-size: 12px !important; margin: 2px 0 0 !important; }
#groups-list .group-button,
#groups-list .bp-group-join-button { margin-left: auto; }

/* ===============================================================
   トークルーム一覧（参加済み/未参加）
=============================================================== */
.talk-directory { display: block; }
.talk-directory .talk-panel {
  border: 1px solid #dce3e6; border-radius: 10px; background: #fff;
  margin-bottom: 16px; overflow: hidden;
}
.talk-directory .talk-panel-head {
  background: #f4f6f8; padding: 14px 18px; font-weight: 700; font-size: 15px; color: #2d323e;
  cursor: pointer; list-style: none; display: flex; align-items: center; justify-content: space-between;
}
.talk-directory .talk-panel-head:focus-visible { outline-offset: -3px !important; }
.talk-directory .talk-panel-head::-webkit-details-marker { display: none; }
.talk-directory .talk-panel-head::after { content: "⌃"; color: #8b939b; }
.talk-directory .talk-panel:not([open]) .talk-panel-head::after { content: "⌄"; }
.talk-directory .talk-panel-body { padding: 24px 18px; text-align: center; }
.talk-directory .talk-empty { margin: 0; color: #51585f; }
.talk-directory .talk-empty-hint { margin: 8px 0 0; color: #8b939b; font-size: 13px; }
.talk-directory .talk-results-count { margin: 0 0 10px; color: #51585f; font-size: 13px; }
.talk-directory .talk-pagination { margin-top: 20px; }
.talk-directory .talk-pagination .page-numbers { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0; padding: 0; list-style: none; }
.talk-directory .talk-pagination a,
.talk-directory .talk-pagination .current { display: inline-flex; min-width: 40px; min-height: 40px; align-items: center; justify-content: center; padding: 6px 10px; border: 1px solid #d5dce3; border-radius: 6px; }
.talk-directory .talk-pagination .current { border-color: var(--chitele-blue-dark); color: #fff; background: var(--chitele-blue-dark); }

.talk-directory .talk-row {
  display: flex; align-items: center; gap: 12px;
  padding: 16px 18px; border-top: 1px solid #dce3e6; color: #2d323e;
}
.talk-directory .talk-row:first-child { border-top: 0; }
.talk-directory .talk-row:hover { background: #f7fbfd; text-decoration: none; }
.talk-directory .talk-row-main { flex: 1 1 auto; min-width: 0; }
.talk-directory .talk-row-title { font-weight: 700; color: #1e6dc1; font-size: 15px; }
.talk-directory .talk-row-desc {
  color: #51585f; font-size: 13px; margin-top: 3px;
  overflow-wrap: anywhere;
}
.talk-directory .talk-row-meta {
  display: flex; align-items: center; gap: 12px;
  color: #8b939b; font-size: 12px; white-space: nowrap; flex: 0 0 auto;
}
.talk-directory .talk-row-avatars { display: inline-flex; }
.talk-directory .talk-row-avatars img {
  width: 24px !important; height: 24px !important; border-radius: 50% !important;
  margin-left: -6px; border: 2px solid #fff; display: inline-block;
}
.talk-directory .talk-row-avatars img:first-child { margin-left: 0; }
.talk-directory .talk-row-arrow { color: #8b939b; font-size: 18px; flex: 0 0 auto; }

@media (max-width: 720px) {
  .talk-directory .talk-row { align-items: flex-start; flex-wrap: wrap; }
  .talk-directory .talk-row-main { order: 1; flex: 1 1 calc(100% - 36px); }
  .talk-directory .talk-row-title { overflow-wrap: anywhere; }
  .talk-directory .talk-row-arrow { order: 2; }
  .talk-directory .talk-row-meta {
    display: flex;
    order: 3;
    width: 100%;
    box-sizing: border-box;
    flex: 1 1 100%;
    flex-wrap: wrap;
    padding-left: 36px;
    white-space: normal;
  }
  .talk-directory .talk-row-desc {
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
    overflow-wrap: anywhere;
  }
}

/* 会員セルフサービス: プロフィール変更・通知・退会を既存マイページ内で安全に扱う。 */
.member-self-service{margin:24px 0;padding:22px;border:1px solid #cbd9e4;border-radius:14px;background:#fff}
.member-self-service>h2{margin-top:0;color:#153d5b}
.member-self-service details{margin-top:12px;border:1px solid #d7e1e8;border-radius:10px;background:#f8fbfd}
.member-self-service summary{cursor:pointer;padding:14px 16px;font-weight:700;color:#173f5d}
.member-self-service form{display:grid;gap:14px;padding:0 16px 18px}
.member-self-service label{display:grid;gap:6px;font-weight:700}
.member-self-service textarea,.member-self-service input[type="url"],.member-self-service select{width:100%;max-width:100%;padding:10px;border:1px solid #8aa2b3;border-radius:7px;background:#fff;color:#17212b}
.member-self-service button{justify-self:start;padding:10px 18px;border:0;border-radius:8px;background:#1e6dc1;color:#fff;font-weight:700;cursor:pointer}
.member-self-service button:hover,.member-self-service button:focus-visible{background:#0d3f5d;outline:3px solid #f59e0b;outline-offset:2px}
.member-workflow-result{padding:12px;border-left:5px solid #1c7c54;background:#ecf9f2}
.secretariat-table details dl{margin:10px 0;display:grid;gap:8px}
.secretariat-table details dl div{padding:8px;background:#f8fafc;border-radius:6px}
.secretariat-table details dt{font-weight:700}.secretariat-table details dd{margin:4px 0 0;white-space:normal}
.secretariat-inline-editor{min-width:280px}.secretariat-inline-editor form{display:grid;gap:9px;margin:10px 0}.secretariat-inline-editor label{display:grid;gap:4px;font-weight:700}.secretariat-inline-editor input,.secretariat-inline-editor textarea{width:100%;padding:8px;border:1px solid #8aa2b3;border-radius:6px}.secretariat-inline-editor form div{display:flex;gap:8px;flex-wrap:wrap}.secretariat-inline-editor ul{padding-left:18px}.secretariat-inline-editor li form{display:inline-block;margin-left:8px}
@media (max-width: 520px){.member-self-service{padding:16px 12px}.member-self-service summary{padding:13px 12px}.member-self-service form{padding:0 12px 16px}.member-self-service button{width:100%}}

/* ============================================================
   操作27: 事務局からのお知らせ（原画面13〜14）
   ============================================================ */
.office-news-pagehead { margin-bottom: 38px; }
.office-news-list { overflow: hidden; gap: 0; border-top: 1px solid #dce3e6; }
.office-news-card { border: 0; border-bottom: 1px solid #dce3e6; border-radius: 0; }
.office-news-card.is-important { border-left: 4px solid #ef6a5b; }
.office-news-card > a { display: grid; grid-template-columns: minmax(130px, .32fr) minmax(0, 1fr) auto; gap: 12px 24px; align-items: center; padding: 21px 18px; }
.office-news-card > a:hover { background: #f5f9fa; }
.office-news-card .office-news-meta { grid-column: 1; align-content: center; }
.office-news-card h2 { grid-column: 2; margin: 0; font-size: 17px; }
.office-news-card p { grid-column: 2; margin: 5px 0 0; }
.office-news-card .office-news-action { grid-column: 3; grid-row: 1 / span 2; margin: 0; white-space: nowrap; }
.office-news-support-grid { display: grid; grid-template-columns: 1fr; gap: 20px; margin-top: 42px; } /* DENBAK 2026-08-27: PCでも縦積み */
.office-news-support-card { border: 1px solid #dce3e6; border-radius: 6px; padding: 23px 25px; background: #f7fafb; }
.office-news-support-card h2 { margin: 0 0 10px; color: #26343b; font-size: 18px; }
.office-news-support-card h2 span { color: #1e6dc1; }
.office-news-support-card p { margin: 0; color: #59686f; line-height: 1.8; }
.office-news-single { font-family: "Noto Sans CJK JP", "Noto Sans JP", "Yu Gothic", YuGothic, Meiryo, sans-serif; }
.office-news-single .chitele-breadcrumb { margin-bottom: 24px; }
.office-news-single > header { padding-bottom: 25px; }
.office-news-body { color: #344249; line-height: 1.9; }
.office-news-return { margin: 42px 0 0; padding-top: 26px; border-top: 1px solid #dce3e6; text-align: center; }

@media (max-width: 720px) {
  .office-news-card > a { grid-template-columns: 1fr auto; gap: 9px 14px; padding: 18px 13px; }
  .office-news-card .office-news-meta,
  .office-news-card h2,
  .office-news-card p { grid-column: 1; }
  .office-news-card .office-news-action { grid-column: 2; grid-row: 1 / span 3; align-self: center; font-size: 0; }
  .office-news-card .office-news-action span { font-size: 26px; }
  .office-news-support-grid { grid-template-columns: 1fr; }
}

/* ===============================================================
   トークルーム単体（TWチャット型: 左ルームリスト＋中央フィード）
=============================================================== */
.talk-room-layout {
  display: grid; grid-template-columns: 240px 1fr; gap: 16px; align-items: start;
}
.talk-room-sidebar {
  border: 1px solid #dce3e6; border-radius: 10px; background: #fbfcfd; padding: 12px 10px;
}
.talk-nav-back { display: inline-block; color: #8b939b; font-size: 12px; margin-bottom: 10px; }
.talk-nav-more { display: inline-block; margin: 2px 6px 6px; color: var(--chitele-blue-dark); font-size: 12px; font-weight: 700; }
.talk-nav-group { margin-bottom: 12px; }
.talk-nav-head { font-size: 12px; font-weight: 700; color: #51585f; margin: 4px 6px 6px; }
.talk-nav-item {
  display: block; padding: 8px 10px; border-radius: 6px;
  color: #2d323e; font-weight: 600; font-size: 14px;
  overflow-wrap: anywhere;
}
.talk-nav-item:hover { background: #eef3f6; text-decoration: none; }
.talk-nav-item.is-active { background: #e3f2f9; color: #1e6dc1; }
.talk-nav-empty { color: #8b939b; font-size: 13px; margin: 4px 8px; }

.talk-room-main {
  border: 1px solid #dce3e6; border-radius: 10px; background: #fff; overflow: hidden;
}
.talk-roomhead {
  display: flex; align-items: center; gap: 10px;
  padding: 14px 18px; border-bottom: 1px solid #dce3e6; background: #f7fbfd;
}
.talk-roomhead-name { min-width: 0; font-weight: 700; font-size: 16px; color: #2d323e; overflow-wrap: anywhere; }
.talk-row-deadline, .talk-roomhead-deadline { color: #6a3b00; font-weight: 750; }
.talk-roomhead-scope { color: #8b939b; font-size: 12px; }
.talk-room-body { padding: 16px 18px; }

/* グループ単体ページでBuddyXのカバー/タブが残っても隠す保険 */
.single-item.groups #item-header.groups-header,
.single-item.groups .bp-wrap > .item-list-tabs,
.single-item.groups #subnav.item-list-tabs { display: none; }

@media (max-width: 860px) {
  .talk-room-layout { grid-template-columns: 1fr; }
  .talk-room-sidebar {
    max-height: min(42vh, 360px);
    overflow-y: auto;
    overscroll-behavior: contain;
  }
}

/* リンク・アクティブ系をブランドブルーへ（取りこぼし対策） */
a { color: #1e6dc1; }
a:hover { color: #1e6dc1; }

/* 404・共通エラー状態 */
.chitele-state-page {
  display: grid;
  min-height: min(68vh, 680px);
  place-items: center;
  padding-top: 48px;
  padding-bottom: 64px;
}

.chitele-state-card {
  width: min(100%, 760px);
  padding: clamp(28px, 6vw, 56px);
  border: 1px solid var(--chitele-line);
  border-radius: var(--chitele-radius-lg);
  background: #fff;
  box-shadow: 0 16px 44px rgba(31, 74, 94, .08);
  text-align: center;
}

.chitele-state-code {
  margin: 0 0 4px;
  color: var(--chitele-blue);
  font-size: clamp(42px, 9vw, 72px);
  font-weight: 800;
  letter-spacing: .08em;
  line-height: 1;
}

.chitele-state-card h1 {
  margin: 12px 0 16px;
  color: var(--chitele-ink);
  font-size: clamp(24px, 4vw, 34px);
}

.chitele-state-lead {
  margin: 0 auto 8px;
  color: var(--chitele-ink);
  font-weight: 700;
}

.chitele-state-card > p:not(.chitele-state-code, .chitele-state-primary-action) {
  max-width: 620px;
  margin-right: auto;
  margin-left: auto;
}

.chitele-state-primary-action { margin: 28px 0 22px; }

.chitele-state-button {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  padding: 10px 22px;
  border-radius: 999px;
  background: var(--chitele-blue);
  color: #fff;
  font-weight: 700;
  text-decoration: none;
}

.chitele-state-button:hover,
.chitele-state-button:focus-visible { background: var(--chitele-blue-dark); color: #fff; }

.chitele-state-routes {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 18px;
  padding-top: 20px;
  border-top: 1px solid var(--chitele-line);
}

.chitele-state-routes a { font-weight: 700; }

.chitele-inline-state {
  box-sizing: border-box;
  width: min(100%, 720px);
  margin: 32px auto;
  padding: clamp(24px, 5vw, 40px);
  border: 1px solid var(--chitele-line);
  border-radius: var(--chitele-radius-lg);
  background: var(--chitele-surface-soft);
  text-align: center;
}

.chitele-inline-state-label {
  margin: 0 0 8px;
  color: var(--chitele-blue-dark);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .08em;
}

.chitele-inline-state h2 { margin: 0 0 14px; color: var(--chitele-ink); font-size: clamp(22px, 4vw, 30px); overflow-wrap: anywhere; text-wrap: balance; }
.chitele-inline-state p { max-width: 600px; margin-right: auto; margin-left: auto; }
.chitele-inline-state-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 18px; margin: 24px 0 0; }
.chitele-inline-state-link { display: inline-flex; min-height: 44px; box-sizing: border-box; align-items: center; padding: 10px 12px; font-weight: 700; }

.chitele-results-summary {
  display: flex;
  box-sizing: border-box;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 6px 18px;
  margin: 0 0 18px;
  padding: 12px 16px;
  border: 1px solid var(--chitele-line);
  border-radius: var(--chitele-radius-md);
  background: var(--chitele-surface-soft);
  color: var(--chitele-muted);
  font-size: 14px;
}
.chitele-results-summary strong { color: var(--chitele-ink); font-size: 17px; }

.chitele-pagination { margin: 32px 0 8px; }
.chitele-pagination .nav-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.chitele-pagination .page-numbers {
  display: inline-flex;
  min-width: 44px;
  min-height: 44px;
  box-sizing: border-box;
  align-items: center;
  justify-content: center;
  padding: 8px 12px;
  border: 1px solid var(--chitele-line);
  border-radius: 8px;
  background: #fff;
  color: var(--chitele-blue-dark);
  font-weight: 700;
  text-decoration: none;
}
.chitele-pagination a.page-numbers:hover { border-color: var(--chitele-blue); background: var(--chitele-blue-soft); }
.chitele-pagination .page-numbers.current { border-color: var(--chitele-blue-dark); background: var(--chitele-blue-dark); color: #fff; }
.chitele-pagination .page-numbers.dots { min-width: 24px; padding-right: 2px; padding-left: 2px; border-color: transparent; background: transparent; }

@media (max-width: 560px) {
	.chitele-state-page { align-items: start; padding-top: 24px; }
	.chitele-state-card { padding: 28px 20px; }
	.chitele-state-routes { align-items: stretch; flex-direction: column; }
	.chitele-state-routes a { min-height: 44px; padding: 10px; }
	.chitele-inline-state-actions { align-items: stretch; flex-direction: column; }
	.chitele-inline-state-actions a { justify-content: center; }
	.chitele-results-summary { align-items: flex-start; flex-direction: column; }
}

/* ボタン取りこぼし対策 */
.buddyx-button,
.wp-block-button__link,
button.button,
.bp-button,
input[type="submit"] {
  background-color: #1e6dc1;
  border-color: #1e6dc1;
}
.buddyx-button:hover,
button.button:hover,
.bp-button:hover,
input[type="submit"]:hover {
  background-color: #1e6dc1;
  border-color: #1e6dc1;
}

/* ===============================================================
   トークルーム フィード = タイムライン化 ＋ 下部コンポーザ
=============================================================== */
.talk-room-body { display: flex; flex-direction: column; padding: 0 !important; }

/* 不要な見出し・フィルタ（RSS/検索）を隠す */
.talk-room-body > .bp-screen-title,
.talk-room-body .subnav-filters { display: none !important; }

/* タイムライン本体を上、投稿フォームを下に */
.talk-room-body #activity-stream { order: 1; padding: 16px 18px; }
.talk-room-body #bp-nouveau-activity-form {
  order: 2; position: sticky; bottom: 0; z-index: 5;
  background: #fff; border-top: 1px solid #dce3e6; padding: 12px 18px;
}

/* コンポーザ（メッセージ入力） */
.talk-room-body #whats-new-form textarea#whats-new {
  width: 100%; border: 1px solid #dce3e6; border-radius: 10px;
  padding: 10px 12px; min-height: 46px; font: inherit; line-height: 1.6;
}
.talk-room-body #whats-new-form .whats-new-submit,
.talk-room-body #whats-new-form .whats-new-actions { text-align: right; margin-top: 8px; }
.talk-room-body #whats-new-form #aw-whats-new-submit {
  background: #1e6dc1; border-color: #1e6dc1; color: #fff;
  border-radius: 8px; padding: 9px 22px; font-weight: 700;
}

/* ===============================================================
   概要ページ（フロント）
=============================================================== */
.ov-hero { display: grid; grid-template-columns: 1fr 420px; gap: 24px; align-items: start; margin: 8px 0 24px; }
.ov-hero-id { display: flex; align-items: center; gap: 16px; }
.ov-hero-avatar {
  width: 76px; height: 76px; border-radius: 12px; flex: 0 0 auto;
  background: #1e6dc1; color: #fff; display: grid; place-items: center;
  font-weight: 800; font-size: 12px; text-align: center; line-height: 1.3; padding: 6px;
}
.ov-hero-title { font-size: 26px; font-weight: 800; color: #2d323e; margin: 0 0 8px; }
.ov-hero-meta { display: flex; align-items: center; gap: 12px; }
.ov-avatars { display: inline-flex; }
.ov-avatars img { width: 24px; height: 24px; border-radius: 50%; border: 2px solid #fff; margin-left: -6px; }
.ov-avatars img:first-child { margin-left: 0; }
.ov-avatars--lg { margin: 12px 0 4px; }
.ov-avatars--lg img { width: 32px; height: 32px; }
.ov-count-link { color: #1e6dc1; font-weight: 600; font-size: 13px; }
.ov-hero-kv {
  border-radius: 14px; min-height: 200px; overflow: hidden;
  background: linear-gradient(135deg, #eaf6fc 0%, #d9eefa 55%, #cfeaf6 100%);
  display: grid; place-items: center; text-align: center;
}
.ov-kv-brand { font-size: 30px; font-weight: 800; color: #1e6dc1; }
.ov-kv-sub { color: #51585f; font-weight: 700; margin-top: 4px; }

.ov-lead { font-size: 24px; font-weight: 800; line-height: 1.55; color: #2d323e; margin: 0 0 14px; }
.ov-desc { color: #2d323e; line-height: 1.9; margin: 0 0 8px; }
.chip { display: inline-block; padding: 4px 12px; border-radius: 999px; font-size: 12px; font-weight: 700; background: #f3f5f8; color: #51585f; }

.ov-panel { border: 1px solid #dce3e6; border-radius: 10px; overflow: hidden; margin: 16px 0; }
.ov-panel-head { background: #f4f6f8; padding: 14px 18px; font-weight: 700; color: #2d323e; }
.ov-panel-body { padding: 16px 18px; color: #2d323e; }
.ov-manager { display: flex; align-items: center; gap: 12px; }
.ov-manager img { width: 40px; height: 40px; border-radius: 50%; }
.ov-muted { color: #8b939b; font-size: 13px; }
.ov-readmore { color: #8b939b; font-size: 13px; margin-top: 6px; }
.btn-leave { display: block; width: 100%; text-align: center; background: #fff; border: 1px solid #dce3e6; color: #e46c56; border-radius: 10px; padding: 14px; font-weight: 700; cursor: pointer; margin-top: 8px; }

@media (max-width: 860px) {
  .ov-hero { grid-template-columns: 1fr; }
  .ov-hero-kv { order: -1; min-height: 150px; }
}

/* ===============================================================
   コミュニティホーム（Figma v3）
=============================================================== */
body .chitele-home {
  max-width: 1080px;
  padding-top: 34px;
}

.home-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 420px);
  min-height: 220px;
  overflow: hidden;
  border-radius: var(--chitele-radius-lg);
  background:
    radial-gradient(circle at 18% 18%, rgba(255,255,255,.7) 0 6%, transparent 7%),
    linear-gradient(115deg, #d7f3f5 0%, #dff5f1 42%, #ffe9df 100%);
}

.home-hero::before,
.home-hero::after {
  position: absolute;
  content: "";
  border: 2px solid rgba(0, 127, 174, .16);
  border-radius: 50%;
}

.home-hero::before { width: 120px; height: 120px; left: -35px; bottom: -60px; }
.home-hero::after { width: 72px; height: 72px; right: 31%; top: -26px; }

.home-hero-copy,
.home-brand {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 38px 44px;
}

.home-eyebrow {
  margin: 0 0 6px;
  color: var(--chitele-blue-dark);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .18em;
}

.home-hero h1 {
  margin: 0;
  color: var(--chitele-ink);
  font-size: clamp(26px, 4vw, 40px);
  line-height: 1.25;
  letter-spacing: .02em;
}

.home-hero-copy > p:last-child {
  margin: 8px 0 0;
  color: var(--chitele-muted);
  font-size: 14px;
}

.home-brand {
  align-items: center;
  flex-direction: row;
  gap: 18px;
  color: var(--chitele-ink);
}

.home-brand-mark {
  color: var(--chitele-blue);
  font-size: 58px;
  font-weight: 800;
  line-height: 1;
}

.home-brand strong {
  font-size: 17px;
  line-height: 1.55;
  letter-spacing: .05em;
}

.home-intro {
  max-width: 820px;
  margin: 46px auto 42px;
  text-align: center;
}

.home-intro h2 {
  margin: 14px 0 18px;
  color: var(--chitele-ink);
  font-size: clamp(23px, 3vw, 34px);
  line-height: 1.55;
  letter-spacing: .01em;
}

.home-intro > p:last-child {
  max-width: 720px;
  margin: 0 auto;
  color: #475467;
  font-size: 15px;
  line-height: 2;
}

.home-latest {
  margin: 0 0 34px;
  padding: 24px 28px;
  border: 1px solid var(--chitele-line);
  border-radius: var(--chitele-radius-md);
  background: var(--chitele-surface-soft);
}

.home-section-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 12px;
}

.home-section-head h2 {
  margin: 0;
  color: var(--chitele-ink);
  font-size: 20px;
}

.home-section-head p {
  margin: 0;
  color: var(--chitele-muted);
  font-size: 12px;
}

.home-latest-list {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--chitele-line);
}

.home-latest-list li { border-bottom: 1px solid var(--chitele-line); }

.home-latest-list a {
  display: grid;
  grid-template-columns: 104px minmax(0, 1fr) auto 20px;
  align-items: center;
  gap: 14px;
  min-height: 58px;
  padding: 8px 4px;
  color: var(--chitele-ink);
}

.home-latest-list a:hover {
  color: var(--chitele-blue-dark);
  text-decoration: none;
}

.home-latest-type {
  color: var(--chitele-blue-dark);
  font-size: 12px;
  font-weight: 750;
}

.home-latest-title {
  min-width: 0;
  font-size: 14px;
  font-weight: 650;
  overflow-wrap: anywhere;
}

.home-latest-list time {
  color: var(--chitele-muted);
  font-size: 12px;
}

.home-arrow { color: var(--chitele-blue); font-size: 22px; }

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

.home-route {
  position: relative;
  display: flex;
  min-height: 126px;
  flex-direction: column;
  justify-content: center;
  padding: 24px 58px 24px 26px;
  border: 1px solid #e3e7ec;
  border-radius: var(--chitele-radius-md);
  color: var(--chitele-ink);
  background: #f1f3f6;
}

a.home-route:hover {
  border-color: #b9dce9;
  color: var(--chitele-blue-dark);
  background: var(--chitele-blue-soft);
  box-shadow: var(--chitele-shadow);
  text-decoration: none;
  transform: translateY(-1px);
}

.home-route-label { font-size: 18px; font-weight: 800; }
.home-route-description { margin-top: 6px; color: var(--chitele-muted); font-size: 13px; }
.home-route-arrow { position: absolute; right: 26px; color: var(--chitele-blue); font-size: 30px; }
.home-route-status {
  position: absolute;
  right: 18px;
  top: 16px;
  padding: 2px 8px;
  border-radius: 999px;
  color: #69510a;
  background: #fff1bf;
  font-size: 11px;
  font-weight: 750;
}
.home-route.is-pending { color: #667085; background: #f5f6f8; }

.home-signature {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-top: 64px;
  padding-top: 28px;
  border-top: 1px solid var(--chitele-line);
}

.home-signature strong { color: var(--chitele-ink); font-size: 25px; line-height: 1.35; }
.home-signature strong span { color: var(--chitele-blue); }
.home-signature > span { color: var(--chitele-muted); font-size: 12px; font-weight: 700; }

@media (max-width: 760px) {
  .chitele-home { padding-top: 20px; }
  .home-hero { grid-template-columns: 1fr; }
  .home-hero-copy { padding: 30px 26px 18px; }
  .home-brand { justify-content: flex-start; padding: 18px 26px 30px; }
  .home-brand-mark { font-size: 45px; }
  .home-intro { margin: 36px auto 32px; text-align: left; }
  .home-intro h2 br { display: none; }
  .home-latest { padding: 20px 18px; }
  .home-section-head { align-items: flex-start; flex-direction: column; gap: 4px; }
  .home-latest-list a { grid-template-columns: 88px minmax(0, 1fr) 18px; gap: 9px; padding: 11px 2px; }
  .home-latest-list time { grid-column: 2; grid-row: 2; }
  .home-arrow { grid-column: 3; grid-row: 1 / span 2; }
  .home-routes { grid-template-columns: 1fr; }
  .home-route { min-height: 108px; }
  .home-signature { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 420px) {
  .home-latest-list a { grid-template-columns: 1fr 18px; }
  .home-latest-type { grid-column: 1; }
  .home-latest-title { grid-column: 1; white-space: normal; }
  .home-latest-list time { grid-column: 1; grid-row: auto; }
  .home-arrow { grid-column: 2; grid-row: 1 / span 3; }
}

/* ===============================================================
   操作23: 提供ワイヤーフレーム準拠の共通ヘッダー／TOP／フッター
=============================================================== */
.site-header-wrapper {
  position: relative;
  z-index: auto;
  background: #fff;
}

.site-header-wrapper > .container {
  width: min(100% - 32px, 1280px);
  max-width: 1280px;
  padding: 0;
}

.site-header-wrapper .site-header {
  display: flex;
  min-height: 78px;
  align-items: center;
  gap: clamp(18px, 2.3vw, 34px);
}

.chitele-site-branding {
  display: block;
  flex: 0 0 clamp(148px, 14.5vw, 185px);
  min-width: 0;
  margin: 0;
}

.chitele-site-logo {
  display: block;
}

.chitele-site-logo img {
  display: block;
  width: 100%;
  height: auto;
}

.chitele-navigation {
  display: flex;
  min-width: 0;
  flex: 1 1 auto;
  align-items: center;
  justify-content: flex-end;
}

.chitele-navigation .buddyx-desktop-menu {
  display: block;
  width: 100%;
}

.chitele-navigation .buddyx-mobile-menu,
.chitele-navigation .menu-toggle {
  display: none;
}

.chitele-primary-menu {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: flex-end;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.site-header-wrapper .chitele-primary-menu > li {
  display: flex;
  min-width: 0;
  align-items: center;
  margin: 0;
  padding: 0;
}

.site-header-wrapper .chitele-primary-menu > li > a {
  display: flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  padding: 7px clamp(7px, .72vw, 12px);
  border-left: 1px solid #d9dde1;
  color: #333b44;
  font-size: clamp(10px, .84vw, 12px);
  font-weight: 700;
  line-height: 1.35;
  text-align: center;
  white-space: nowrap;
}

.site-header-wrapper .chitele-primary-menu > li:first-child > a {
  border-left: 0;
}

.site-header-wrapper .chitele-primary-menu > li > a:hover,
.site-header-wrapper .chitele-primary-menu > li.current-menu-item > a {
  color: #1e6dc1;
  text-decoration: none;
}

.site-header-wrapper .chitele-primary-menu .chitele-my-page-link,
.site-header-wrapper .chitele-primary-menu .chitele-logout-link {
  min-height: 36px;
  margin-left: 8px;
  padding: 6px 14px;
  border: 1px solid #61717b;
  border-radius: 999px;
}

.chitele-cao-item {
  flex: 0 0 auto;
  gap: 5px;
  margin-left: 12px !important;
  color: #252a2e;
  font-family: "Noto Serif CJK JP", "Yu Mincho", YuMincho, serif;
  font-size: 14px;
  font-weight: 700;
  white-space: nowrap;
}

.chitele-cao-mark {
  position: relative;
  display: inline-block;
  width: 13px;
  height: 18px;
}

.chitele-cao-mark::before,
.chitele-cao-mark::after {
  position: absolute;
  width: 8px;
  height: 12px;
  border: 1px solid #252a2e;
  border-radius: 70% 20% 70% 20%;
  content: "";
  transform: rotate(-30deg);
}

.chitele-cao-mark::before { left: 1px; top: 0; }
.chitele-cao-mark::after { right: 0; bottom: 0; transform: rotate(30deg) scaleX(-1); }

body .chitele-home {
  width: 100%;
  max-width: 1200px;
  padding: 34px 0 84px;
}

.home-hero {
  display: grid;
  min-height: 290px;
  grid-template-columns: minmax(0, 1fr) minmax(330px, 47%);
  align-items: center;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background:
    radial-gradient(circle at 76% 26%, rgba(255,255,255,.65) 0 5%, transparent 5.5%),
    radial-gradient(circle at 12% 86%, rgba(255,255,255,.45) 0 9%, transparent 9.5%),
    linear-gradient(110deg, #d8f1f0 0%, #e4f5ee 44%, #f9e6dd 100%);
}

.home-hero::before {
  width: 170px;
  height: 170px;
  left: -70px;
  bottom: -100px;
  border-color: rgba(0, 127, 174, .12);
}

.home-hero::after {
  width: 100px;
  height: 100px;
  right: 34%;
  top: -58px;
  border-color: rgba(224, 126, 89, .13);
}

.home-hero-copy {
  padding: 52px clamp(34px, 6vw, 82px);
}

.home-eyebrow {
  margin-bottom: 7px;
  color: #1e6dc1;
  font-size: 12px;
  letter-spacing: .2em;
}

.home-hero h1 {
  font-size: clamp(34px, 4vw, 54px);
  font-weight: 750;
  letter-spacing: .08em;
}

.home-brand {
  justify-content: center;
  padding: 48px clamp(30px, 5vw, 70px);
}

.home-brand img {
  display: block;
  width: min(100%, 360px);
  height: auto;
}

.home-intro {
  max-width: 880px;
  margin: 70px auto 62px;
  text-align: center;
}

.home-intro h2 {
  margin: 0 0 24px;
  color: #25313a;
  font-size: clamp(26px, 3vw, 39px);
  font-weight: 750;
  line-height: 1.65;
}

.home-intro > p:last-child {
  max-width: 820px;
  color: #4b565f;
  font-size: 15px;
  line-height: 2.15;
}

.home-latest {
  margin: 0 0 38px;
  padding: 30px clamp(24px, 4.2vw, 52px) 34px;
  border: 0;
  border-radius: 22px;
  background: #f0f1f2;
}

.home-section-head {
  display: block;
  margin-bottom: 18px;
  text-align: center;
}

.home-section-head h2 {
  color: #2b3339;
  font-size: 22px;
  font-weight: 750;
  letter-spacing: .08em;
}

.home-latest-list {
  display: grid;
  gap: 10px;
  border: 0;
}

.home-latest-list li {
  border: 0;
}

.home-latest-list a {
  display: grid;
  min-height: 54px;
  grid-template-columns: 94px minmax(0, 1fr) minmax(80px, auto) 24px;
  align-items: center;
  gap: 16px;
  padding: 10px 20px;
  border-radius: 999px;
  color: #313b43;
  background: #fff;
  box-shadow: 0 1px 0 rgba(27, 51, 64, .06);
}

.home-latest-list a:hover {
  color: #1e6dc1;
  box-shadow: 0 5px 15px rgba(29, 65, 82, .09);
}

.home-latest-list time {
  color: #68737b;
  font-size: 12px;
  font-variant-numeric: tabular-nums;
}

.home-latest-title {
  font-size: 14px;
  font-weight: 700;
}

.home-latest-author {
  overflow: hidden;
  color: #68737b;
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.home-arrow {
  color: #1e6dc1;
  font-size: 25px;
  text-align: right;
}

.home-routes {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 22px;
}

.home-route {
  min-height: 116px;
  justify-content: center;
  padding: 25px 65px 25px 30px;
  border: 0;
  border-radius: 0;
  color: #313a42;
  background: #eceeef;
}

a.home-route:hover {
  color: #1e6dc1;
  background: #e2f2f6;
  box-shadow: none;
  transform: none;
}

.home-route-label {
  font-size: 19px;
  letter-spacing: .05em;
}

.home-route-description {
  color: #69747c;
  font-size: 12px;
}

.home-route-arrow {
  right: 30px;
  color: #1e6dc1;
  font-size: 29px;
}

.chitele-site-info {
  padding: 62px 0 0;
  color: #313b43;
  background: #fff;
}

.chitele-footer-inner {
  display: grid;
  width: min(100% - 40px, 1200px);
  max-width: 1200px;
  grid-template-columns: minmax(220px, 1fr) minmax(240px, 1fr) minmax(260px, 1.2fr);
  align-items: end;
  gap: 44px;
  padding: 0 0 48px;
}

.chitele-footer-slogan span,
.chitele-footer-slogan strong {
  display: block;
  line-height: 1.35;
}

.chitele-footer-slogan span {
  color: #1e6dc1;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: .08em;
}

.chitele-footer-slogan strong {
  color: #28343c;
  font-size: 31px;
  font-weight: 800;
  letter-spacing: .06em;
}

.chitele-footer-office img {
  display: block;
  width: min(100%, 245px);
  height: auto;
}

.chitele-footer-office p {
  margin: 14px 0 0;
  color: #65717a;
  font-size: 12px;
}

.chitele-footer-links {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  gap: 10px;
}

.chitele-footer-links a {
  color: #4e5b64;
  font-size: 12px;
  text-decoration: none;
}

.chitele-footer-links a::before {
  margin-right: 8px;
  color: #1e6dc1;
  content: "›";
}

.chitele-footer-links a:hover {
  color: #1e6dc1;
  text-decoration: underline;
}

.chitele-footer-copyright {
  margin: 0;
  padding: 15px 20px;
  color: #fff;
  background: #26363f;
  font-size: 11px;
  text-align: center;
}

@media (max-width: 1100px) {
  .site-header-wrapper .site-header {
    min-height: 68px;
    justify-content: space-between;
  }

  .chitele-site-branding {
    flex-basis: 174px;
  }

  .chitele-navigation {
    flex: 0 0 auto;
  }

  .chitele-navigation .buddyx-desktop-menu {
    display: none;
  }

  .chitele-navigation .menu-toggle {
    display: inline-flex;
    width: 44px;
    height: 44px;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0;
    border: 1px solid #aeb8be;
    border-radius: 50%;
    color: #26363f;
    background: #fff;
  }

  .chitele-menu-icon,
  .chitele-menu-icon::before,
  .chitele-menu-icon::after {
    display: block;
    width: 20px;
    height: 2px;
    background: currentColor;
  }

  .chitele-menu-icon {
    position: relative;
  }

  .chitele-menu-icon::before,
  .chitele-menu-icon::after {
    position: absolute;
    left: 0;
    content: "";
  }

  .chitele-menu-icon::before { top: -6px; }
  .chitele-menu-icon::after { top: 6px; }

  .chitele-navigation.nav--toggled-on .buddyx-mobile-menu {
    display: block;
  }

  .chitele-navigation .buddyx-mobile-menu {
    position: fixed;
    z-index: 1000;
    top: 0;
    right: 0;
    bottom: 0;
    width: min(88vw, 380px);
    overflow-y: auto;
    padding: 24px;
    background: #fff;
    box-shadow: -16px 0 42px rgba(27, 50, 62, .18);
  }

  body.mobile-menu-opened .chitele-navigation .buddyx-mobile-menu {
    display: block;
    opacity: 1;
    visibility: visible;
    transform: none;
  }

  .chitele-navigation .menu-toggle > * {
    pointer-events: none;
  }

  .chitele-navigation .mobile-menu-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0 0 18px;
    padding: 0 0 18px;
    border-bottom: 1px solid #e3e6e8;
    background: #fff;
  }

  .chitele-navigation .mobile-menu-heading .menu-title {
    margin: 0;
    color: #26363f;
    font-size: 18px;
    font-weight: 750;
  }

.chitele-navigation .menu-close {
	width: auto;
	min-height: 40px;
	margin: 0;
	padding: 6px 10px;
	border: 0;
	border-radius: 8px;
	color: #4b5962;
	background: transparent;
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
}

  .chitele-navigation .menu-close::before,
.chitele-navigation .menu-close::after {
	background: #4b5962;
}

  .chitele-navigation .buddyx-mobile-menu .chitele-primary-menu {
    display: block;
  }

  .site-header-wrapper .buddyx-mobile-menu .chitele-primary-menu > li {
    display: block;
    border-bottom: 1px solid #e3e6e8;
  }

  .site-header-wrapper .buddyx-mobile-menu .chitele-primary-menu > li > a {
    min-height: 52px;
    justify-content: flex-start;
    padding: 12px 4px;
    border: 0;
    font-size: 14px;
    text-align: left;
  }

  .site-header-wrapper .buddyx-mobile-menu .chitele-primary-menu .chitele-my-page-link,
  .site-header-wrapper .buddyx-mobile-menu .chitele-primary-menu .chitele-logout-link {
    justify-content: center;
    min-height: 44px;
    margin: 14px 0;
    padding: 8px 16px;
    border: 1px solid #61717b;
  }

  .buddyx-mobile-menu .chitele-cao-item {
    display: flex !important;
    min-height: 58px;
    margin-left: 0 !important;
  }
}

/* 一覧共通の検索・分類操作。入力と解除を一つの面にまとめる。 */
.chitele-archive-filter {
  display: grid;
  gap: 12px;
  margin: 0 0 18px;
  padding: 18px;
  border: 1px solid var(--chitele-line);
  border-radius: var(--chitele-radius-md);
  background: var(--chitele-surface-soft);
}

.chitele-archive-filter label { display: grid; gap: 6px; margin: 0; color: var(--chitele-ink); font-size: 14px; font-weight: 750; }
.chitele-archive-filter input,
.chitele-archive-filter select { width: 100%; min-height: 46px; margin: 0; padding: 8px 12px; border: 1px solid #aebac3; border-radius: var(--chitele-radius-sm); color: var(--chitele-ink); background: #fff; font: inherit; }
.chitele-archive-filter-row,
.chitele-archive-filter-actions { display: flex; gap: 10px; align-items: center; }
.chitele-archive-filter-row input { flex: 1 1 360px; }
.chitele-archive-filter button,
.chitele-archive-filter-actions button { min-height: 46px; margin: 0; padding: 9px 22px; border: 1px solid var(--chitele-blue-dark); border-radius: var(--chitele-radius-sm); color: #fff; background: var(--chitele-blue-dark); font-weight: 800; cursor: pointer; }
.chitele-archive-filter a { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; padding: 7px 14px; border: 1px solid #91a1ab; border-radius: var(--chitele-radius-sm); color: var(--chitele-ink); background: #fff; font-weight: 700; }
.chitele-archive-filter--split { grid-template-columns: minmax(240px, 2fr) minmax(190px, 1fr) auto; align-items: end; }
.chitele-active-filter { margin: 0 0 20px; padding: 10px 14px; border-left: 4px solid var(--chitele-blue); color: #30414b; background: var(--chitele-blue-soft); font-weight: 700; }
.talk-directory-search { margin-top: -6px; }

/* 詳細から一覧へ戻らず、同種の公開情報へ移動できる前後ナビ。 */
.chitele-sibling-navigation { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 36px 0 12px; padding-top: 24px; border-top: 1px solid var(--chitele-line); }
.chitele-sibling-navigation > div { min-width: 0; }
.chitele-sibling-navigation a { display: grid; gap: 5px; min-height: 88px; align-content: center; padding: 14px 16px; border: 1px solid var(--chitele-line); border-radius: var(--chitele-radius-md); color: var(--chitele-ink); background: #fff; text-decoration: none; }
.chitele-sibling-navigation a:hover { border-color: var(--chitele-blue); background: var(--chitele-blue-soft); }
.chitele-sibling-navigation span { color: var(--chitele-blue-dark); font-size: 13px; font-weight: 800; }
.chitele-sibling-navigation strong { overflow: hidden; font-size: 15px; text-overflow: ellipsis; white-space: nowrap; }
.chitele-sibling-next { text-align: right; }
.office-news-contact-box { margin: 28px 0 0; padding: 20px; border: 1px solid #b9d6e2; border-radius: var(--chitele-radius-md); background: var(--chitele-blue-soft); }
.office-news-contact-box h2 { margin: 0 0 8px; font-size: 18px; }
.office-news-contact-box p { margin: 7px 0 0; }

@media (max-width: 780px) {
	.chitele-archive-filter--split { grid-template-columns: 1fr; align-items: stretch; }
	.chitele-archive-filter-row,
	.chitele-archive-filter-actions { align-items: stretch; flex-direction: column; }
	.chitele-archive-filter-row > *,
	.chitele-archive-filter-actions > * { width: 100%; }
	.chitele-archive-filter-row input { flex-basis: auto; }
	.chitele-sibling-navigation { grid-template-columns: 1fr; }
	.chitele-sibling-next { text-align: left; }
  body .chitele-home {
    padding-top: 20px;
    padding-bottom: 56px;
  }

  .home-hero {
    min-height: 0;
    grid-template-columns: 1fr;
  }

  .home-hero-copy {
    padding: 38px 28px 18px;
  }

  .home-brand {
    justify-content: flex-start;
    padding: 20px 28px 42px;
  }

  .home-brand img {
    width: min(86%, 320px);
  }

  .home-intro {
    margin: 46px auto 42px;
    padding: 0 8px;
    text-align: left;
  }

  .home-intro h2 {
    font-size: clamp(23px, 7vw, 31px);
  }

  .home-intro h2 br {
    display: none;
  }

  .home-latest {
    padding: 24px 18px 28px;
    border-radius: 16px;
  }

  .home-latest-list a {
    grid-template-columns: 82px minmax(0, 1fr) 20px;
    gap: 7px 10px;
    padding: 13px 15px;
    border-radius: 14px;
  }

  .home-latest-title {
    grid-column: 2;
  }

  .home-latest-author {
    grid-column: 2;
    grid-row: 2;
  }

  .home-arrow {
    grid-column: 3;
    grid-row: 1 / span 2;
  }

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

  .home-route {
    min-height: 105px;
  }

  .chitele-footer-inner {
    grid-template-columns: 1fr;
    align-items: start;
    gap: 34px;
  }
}

@media (max-width: 430px) {
  .site-header-wrapper > .container {
    width: min(100% - 24px, 1280px);
  }

  .chitele-site-branding {
    flex-basis: 154px;
  }

  .home-latest-list a {
    grid-template-columns: minmax(0, 1fr) 20px;
  }

  .home-latest-list time,
  .home-latest-title,
  .home-latest-author {
    grid-column: 1;
    grid-row: auto;
  }

  .home-arrow {
    grid-column: 2;
    grid-row: 1 / span 3;
  }
}

/* ===============================================================
   CPT共通（ラッパ・バッジ・ページ見出し）
=============================================================== */
.chitele-wrap { max-width: 1040px; margin: 0 auto; padding: 24px 16px 60px; }
.chitele-wrap--narrow { max-width: 760px; }
.chitele-pagehead { margin-bottom: 20px; }
.chitele-pagetitle { font-size: 24px; font-weight: 800; color: #2d323e; margin: 0 0 6px; }
.chitele-pagelead { color: #51585f; margin: 0; }
.chitele-empty { color: #8b939b; padding: 40px 0; text-align: center; }
.chitele-back { margin: 0 0 12px; }
.chitele-back a { color: #8b939b; font-size: 13px; }

.badge { display: inline-block; padding: 2px 10px; border-radius: 4px; font-size: 12px; font-weight: 700; }
.badge--open     { background: #f3c63d; color: #5a4500; }
.badge--closed   { background: #9aa3ab; color: #fff; }
.badge--upcoming { background: #1e6dc1; color: #fff; }
.badge--ended    { background: #9aa3ab; color: #fff; }
.badge--archive  { background: #1e6dc1; color: #fff; }

/* ===============================================================
   イベント 一覧カード / 詳細
=============================================================== */
.event-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.event-card { display: flex; flex-direction: column; border: 1px solid #dce3e6; border-radius: 10px; overflow: hidden; background: #fff; color: #2d323e; }
.event-card:hover { box-shadow: 0 2px 10px rgba(16,24,40,.08); text-decoration: none; }
.event-card-thumb { position: relative; aspect-ratio: 16/9; background: #eaf3f9; display: grid; place-items: center; color: #1e6dc1; font-weight: 800; }
.event-card-thumb img { width: 100%; height: 100%; object-fit: cover; }
.event-card-thumb .badge { position: absolute; left: 10px; top: 10px; }
.event-card-body { padding: 12px 14px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.event-card-title { font-size: 15px; line-height: 1.5; margin: 0; }
.event-card-excerpt { color: #51585f; font-size: 13px; line-height: 1.6; margin: 0; flex: 1; }
.event-card-date { color: #51585f; font-size: 12px; }
.btn-event-detail { display: block; text-align: center; background: #1e6dc1; color: #fff; border-radius: 8px; padding: 9px 0; font-weight: 700; font-size: 14px; margin-top: 4px; }

.event-single-kv { border-radius: 12px; overflow: hidden; margin-bottom: 16px; }
.event-single-kv img { width: 100%; height: auto; display: block; }

.event-single-title { font-size: 22px; font-weight: 800; margin: 8px 0 12px; color: #2d323e; }
.event-meta { margin: 0; }
.event-meta > div { display: flex; gap: 12px; padding: 4px 0; }
.event-meta dt { color: #51585f; font-weight: 700; min-width: 120px; margin: 0; }
.event-meta dd { min-width: 0; margin: 0; color: #2d323e; overflow-wrap: anywhere; }
.event-section-body { color: #2d323e; line-height: 1.9; margin-bottom: 24px; }
.event-section-body,
.article-body,
.consult-section-body,
.office-news-body,
.hub-single-body {
  overflow-wrap: anywhere;
  word-break: normal;
}
.event-stream { margin: 0 0 20px; }
.event-apply { text-align: center; border-top: 1px solid #dce3e6; padding-top: 20px; }
.btn-apply { display: inline-block; background: #1e6dc1; color: #fff; border-radius: 10px; padding: 14px 40px; font-weight: 700; font-size: 16px; }
.btn-apply:hover { background: #1e6dc1; text-decoration: none; }
.btn-disabled { display: inline-block; background: #eef0f2; color: #8b939b; border-radius: 10px; padding: 14px 40px; font-weight: 700; }
.event-apply-note { color: #8b939b; font-size: 12px; margin: 8px 0 0; }
.btn-outline { display: inline-block; background: #fff; border: 1px solid #dce3e6; color: #1e6dc1; border-radius: 8px; padding: 10px 20px; font-weight: 700; }

@media (max-width: 860px) { .event-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px) {
  .event-grid { grid-template-columns: 1fr; }
  .event-meta > div { display: grid; gap: 2px; }
  .event-meta dt { min-width: 0; }
}

/* ===============================================================
   相談 一覧カード
=============================================================== */
.consult-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.consult-card {
  display: flex; flex-direction: column; border: 1px solid #dce3e6; border-radius: 10px;
  overflow: hidden; background: #fff; color: #2d323e;
}
.consult-card:hover { box-shadow: 0 2px 10px rgba(16,24,40,.08); text-decoration: none; }
.consult-card-thumb {
  position: relative; aspect-ratio: 16/9; background: #eaf3f9;
  display: grid; place-items: center; color: #1e6dc1; font-weight: 700;
}
.consult-card-thumb img { width: 100%; height: 100%; object-fit: cover; }
.consult-card-thumb .badge { position: absolute; left: 10px; top: 10px; }
.consult-card-body { padding: 12px 14px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.consult-card-title { font-size: 15px; line-height: 1.5; margin: 0; }
.consult-card-excerpt { color: #51585f; font-size: 13px; line-height: 1.6; margin: 0; flex: 1; }
.consult-card-meta { display: flex; align-items: center; gap: 6px; color: #8b939b; font-size: 12px; }
.consult-card-meta img { width: 24px; height: 24px; border-radius: 50%; }

/* ===============================================================
   マガジン 一覧カード / 詳細
=============================================================== */
.badge--public  { background: #e3f2f9; color: #1e6dc1; }
.badge--members { background: #f3f5f8; color: #51585f; }

.mag-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.mag-card { display: flex; flex-direction: column; border: 1px solid #dce3e6; border-radius: 10px; overflow: hidden; background: #fff; color: #2d323e; }
.mag-card:hover { box-shadow: 0 2px 10px rgba(16,24,40,.08); text-decoration: none; }
.mag-card-thumb { aspect-ratio: 16/10; background: #eaf3f9; display: grid; place-items: center; color: #1e6dc1; font-weight: 800; }
.mag-card-thumb img { width: 100%; height: 100%; object-fit: cover; }
.mag-card-body { padding: 12px 14px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.mag-card-body .badge { align-self: flex-start; }
.mag-card-title { font-size: 15px; line-height: 1.5; margin: 0; flex: 1; }
.mag-card-foot { display: flex; align-items: center; justify-content: space-between; color: #8b939b; font-size: 12px; }
.mag-card-likes { color: #e46c56; }

/* 記事詳細 共通レイアウト（.article-*）— マガジン採用。相談/イベントにも流用可 */
.article-kv { border-radius: 12px; overflow: hidden; margin: 0 0 18px; }
.article-kv img { width: 100%; height: auto; display: block; }
.article-author { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
.article-author img { width: 40px; height: 40px; border-radius: 50%; }
.article-author-name { font-weight: 700; color: #2d323e; }
.article-actions { margin-left: auto; display: flex; align-items: center; gap: 8px; }
.article-act { background: #fff; border: 1px solid #dce3e6; border-radius: 50%; width: 34px; height: 34px; cursor: pointer; color: #8b939b; line-height: 1; }
.article-act:hover { background: #f7fbfd; }
.article-like { background: #fff; border: 1px solid #dce3e6; border-radius: 20px; padding: 7px 16px; font-weight: 700; color: #51585f; font-size: 13px; }
.article-dateline { color: #8b939b; font-size: 13px; display: flex; gap: 8px; align-items: center; margin-bottom: 6px; }
.article-updated { background: #f3f5f8; border-radius: 4px; padding: 1px 7px; font-size: 11px; }
.article-title { font-size: 26px; font-weight: 800; line-height: 1.5; color: #2d323e; margin: 6px 0 12px; }
.article-badge { margin: 0 0 28px; }
.article-body { color: #2d323e; line-height: 1.95; }
.article-body p { margin: 0 0 1.2em; }
.detail-body h2, .detail-body h3,
.detail-section > h2, .detail-section > h3,
.consult-section-title, .consult-section-sub { margin: 1.6em 0 .6em; font-weight: 700; line-height: 1.5; }
.article-body h2 { font-size: 20px; }
.article-body h3 { font-size: 17px; }
.article-body ul, .article-body ol { margin: 0 0 1.2em 1.4em; }
.article-body li { margin: .3em 0; }
.article-body img { border-radius: 8px; max-width: 100%; height: auto; }
.article-body a { color: #1e6dc1; text-decoration: underline; }

@media (max-width: 860px) { .mag-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px) { .mag-grid { grid-template-columns: 1fr; } }

/* ===============================================================
   コメント欄（CPT詳細共通）— 見出しを小さくスッキリ
=============================================================== */
.chitele-wrap .comments-area { margin-top: 32px; border-top: 1px solid #dce3e6; padding-top: 20px; font-size: 14px; }
.chitele-wrap .comments-title,
.chitele-wrap .comment-reply-title {
  font-size: 16px !important; font-weight: 700 !important; line-height: 1.5 !important;
  margin: 0 0 14px !important; color: #2d323e !important;
}
.chitele-wrap .comment-reply-title small { font-weight: 400; font-size: 13px; }
.chitele-wrap .comment-list { list-style: none; margin: 0; padding: 0; }
.chitele-wrap .comment-list .comment-body { border: 1px solid #dce3e6; border-radius: 10px; padding: 14px; margin-bottom: 12px; }
.chitele-wrap .comment-author .fn { font-weight: 700; }
.chitele-wrap .comment-metadata a { color: #8b939b; font-size: 12px; }
.chitele-wrap .comment-respond { margin-top: 16px; }
.chitele-wrap .comment-form textarea,
.chitele-wrap .comment-form input[type="text"],
.chitele-wrap .comment-form input[type="email"],
.chitele-wrap .comment-form input[type="url"] {
  width: 100%; border: 1px solid #dce3e6; border-radius: 8px; padding: 10px 12px; font: inherit;
}
.chitele-wrap .comment-form .form-submit input[type="submit"] {
  background: #1e6dc1; border: 0; color: #fff; border-radius: 8px; padding: 10px 24px; font-weight: 700; cursor: pointer;
}
.chitele-wrap .comment-form .logged-in-as { font-size: 13px; color: #8b939b; }

/* ===============================================================
   相談 詳細
=============================================================== */
/* DENBAK 2026-08-30: 詳細ページのヘッダは3ページ共通で罫線なし。余白だけ .detail-head に集約。 */
.consult-single-head,
.event-single-head,
.detail-head { margin-bottom: 34px; }
.consult-single-title { font-size: 22px; font-weight: 800; margin: 8px 0; color: #2d323e; }
.consult-single-author { display: flex; align-items: center; gap: 8px; color: #8b939b; font-size: 13px; }
.consult-single-author img { width: 32px; height: 32px; border-radius: 50%; }
.consult-single-author .name { font-weight: 700; color: #2d323e; }
.consult-tags { margin-top: 10px; display: flex; flex-wrap: wrap; gap: 6px; }
.consult-tag { background: #f3f5f8; color: #51585f; border-radius: 999px; padding: 3px 10px; font-size: 12px; }
.consult-section { margin-bottom: 30px; }
/* DENBAK 2026-08-30: 旧デザイン（小さい見出し＋グレーの下線）は廃止。記事本文の h2 / h3 と同じ指定を共有する。 */
.consult-section-body { color: #2d323e; line-height: 1.95; }
.consult-section-body p { margin: 0 0 1em; }

/* 既存本人相談のフロント編集 */
.consult-owner-actions { margin-top: 16px; }
.consult-edit-link,
.consult-editor-submit,
.consult-editor-cancel {
  display: inline-flex; min-height: 44px; align-items: center; justify-content: center;
  border-radius: 9px; font-weight: 800; text-decoration: none;
}
.consult-edit-link { padding: 10px 16px; border: 1px solid #1e6dc1; color: #075b75; background: #fff; }
.consult-edit-link:hover { color: #fff; background: #075b75; }
.consult-edit-link:focus-visible,
.consult-editor-submit:focus-visible,
.consult-editor-cancel:focus-visible,
.consult-editor-form input:focus-visible,
.consult-editor-form textarea:focus-visible,
.consult-editor-content-visual:focus-visible,
.consult-editor-form input[type="radio"]:focus-visible {
  outline: 3px solid rgba(31, 150, 195, .38); outline-offset: 3px;
}
.consult-editor-notice { margin: 0 0 22px; padding: 14px 16px; border-left: 5px solid; border-radius: 8px; line-height: 1.75; }
.consult-editor-notice--success { border-color: #3f7d4a; color: #275531; background: #e8f5ea; }
.consult-editor-notice--error { border-color: #b63f43; color: #73272a; background: #fce8e8; }
.consult-editor {
  margin: 24px 0 34px; padding: clamp(22px, 4vw, 38px); border: 1px solid #dce3e6;
  border-radius: 16px; background: #fff; box-shadow: 0 10px 30px rgba(21, 55, 68, .07);
}
.consult-editor-eyebrow { margin: 0 0 5px; color: #1e6dc1; font-size: 13px; font-weight: 800; letter-spacing: .08em; }
.consult-editor h2 { margin: 0 0 10px; color: #17343f; font-size: clamp(24px, 4vw, 32px); }
.consult-editor-lead { margin: 0 0 24px; color: #52616a; line-height: 1.8; }
.consult-editor-errors { margin: 0 0 22px; padding: 18px 20px; border: 2px solid #b63f43; border-radius: 10px; color: #73272a; background: #fff6f6; }
.consult-editor-errors:focus { outline: 3px solid rgba(182, 63, 67, .25); outline-offset: 3px; }
.consult-editor-errors h3 { margin: 0 0 8px; color: inherit; font-size: 18px; }
.consult-editor-errors ul { margin: 0; padding-left: 22px; }
.consult-editor-errors a { color: #73272a; font-weight: 750; text-decoration: underline; text-underline-offset: 3px; }
.consult-editor-draft-status { min-height: 1.7em; margin-bottom: 10px; color: #52616a; font-size: 13px; }
.consult-editor-form { display: grid; gap: 24px; }
.consult-editor-field { min-width: 0; margin: 0; padding: 0; border: 0; }
.consult-editor-field > label,
.consult-editor-field > legend { display: block; margin: 0 0 6px; color: #263f49; font-size: 16px; font-weight: 800; }
.consult-editor-required { margin-left: 5px; color: #e46c56; font-size: 12px; }
.consult-editor-help { margin: 0 0 8px; color: #60717a; font-size: 13px; line-height: 1.6; }
.consult-editor-form input[type="text"],
.consult-editor-form textarea,
.consult-editor-content-visual {
  width: 100%; max-width: none; margin: 0; padding: 12px 13px; border: 1px solid #b8c8d0;
  border-radius: 8px; color: #17343f; background: #fff; font: inherit; line-height: 1.7;
}
.consult-editor-form textarea { resize: vertical; }
.consult-editor-content-visual { min-height: 20em; overflow-wrap: anywhere; white-space: pre-wrap; }
.consult-editor-content-visual > :first-child { margin-top: 0; }
.consult-editor-content-visual > :last-child { margin-bottom: 0; }
.consult-editor-field.has-error input[type="text"],
.consult-editor-field.has-error textarea,
.consult-editor-field.has-error .consult-editor-content-visual { border-width: 2px; border-color: #b63f43; background: #fffafa; }
.consult-editor-field-error { margin: 7px 0 0; color: #8b2c30; font-size: 13px; font-weight: 750; }
.consult-editor-status { display: flex; flex-wrap: wrap; gap: 10px 24px; }
.consult-editor-status legend { width: 100%; }
.consult-editor-status label { display: inline-flex; min-height: 40px; align-items: center; gap: 7px; color: #263f49; font-weight: 700; }
.consult-editor-status input { width: 20px; height: 20px; margin: 0; accent-color: #1e6dc1; }
.consult-editor-status .consult-editor-field-error { width: 100%; }
.consult-editor-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding-top: 4px; }
.consult-editor-submit { padding: 11px 22px; border: 0; color: #fff; background: #075b75; cursor: pointer; }
.consult-editor-submit:hover { background: #064b60; }
.consult-editor-submit:disabled { color: #fff; background: #71858d; cursor: not-allowed; opacity: 1; }
.consult-editor-cancel { padding: 10px 16px; border: 1px solid #aebbc1; color: #36505a; background: #fff; }
.consult-editor-cancel:hover { color: #17343f; background: #f0f4f5; }

@media (max-width: 540px) {
  .consult-editor { padding: 22px 17px; border-radius: 12px; }
  .consult-editor-actions { align-items: stretch; flex-direction: column; }
  .consult-editor-submit,
  .consult-editor-cancel { width: 100%; }
}

@media (max-width: 860px) { .consult-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px) { .consult-grid { grid-template-columns: 1fr; } }

/* ===============================================================
   操作24: みんなのハブ / トークルーム（原画面2〜5）
=============================================================== */
.chitele-breadcrumb {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 8px;
  margin: 4px 0 54px;
  color: #7d8790;
  font-size: 12px;
  line-height: 1.7;
}
.chitele-breadcrumb a { color: #4f5c64; text-decoration: none; }
.chitele-breadcrumb a:hover { color: #1e6dc1; text-decoration: underline; text-underline-offset: 3px; }
.chitele-breadcrumb [aria-current="page"] { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.chitele-kicker { color: #1e6dc1; font-size: 13px; font-weight: 800; letter-spacing: .04em; text-transform: none; }
.hub-pagehead { position: relative; margin-bottom: 34px; }
.hub-pagehead .chitele-pagetitle,
.talk-pagehead .chitele-pagetitle { font-size: clamp(30px, 4vw, 42px); line-height: 1.25; }
.hub-pagehead .chitele-pagelead { max-width: 900px; margin-top: 30px; color: #303840; line-height: 1.9; }
.hub-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin: 0 0 24px;
}
.hub-tabs { display: flex; flex-wrap: wrap; gap: 12px; }
.hub-tab {
  display: inline-flex;
  min-width: 82px;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  border: 1px solid #1e6dc1;
  border-radius: 999px;
  color: #1e6dc1;
  background: #fff;
  font-weight: 800;
  text-decoration: none;
}
.hub-tab:hover,
.hub-tab.is-active { color: #fff; background: #1e6dc1; text-decoration: none; }
.hub-search { display: flex; width: min(100%, 360px); }
.hub-search input {
  min-width: 0;
  min-height: 44px;
  flex: 1 1 auto;
  border: 1px solid #d7dde2;
  border-right: 0;
  border-radius: 7px 0 0 7px;
  padding: 9px 12px;
  font: inherit;
}
.hub-search button {
  min-width: 64px;
  min-height: 44px;
  border: 0;
  border-radius: 0 7px 7px 0;
  color: #fff;
  background: #1e6dc1;
  font-weight: 800;
  cursor: pointer;
}
.hub-tab:focus-visible,
.hub-search input:focus-visible,
.hub-search button:focus-visible,
.consult-card-link:focus-visible,
.consult-attachment-download:focus-visible { outline: 3px solid #ffbf47 !important; outline-offset: 3px !important; }
.hub-active-search {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: -8px 0 18px;
  padding: 10px 14px;
  border-left: 4px solid #217cb7;
  background: #f2f8fb;
  font-size: 13px;
}
.hub-results-count { margin: 0 0 10px; color: #68737b; font-size: 13px; }
.hub-submit-float {
  position: fixed;
  top: 46%;
  right: 0;
  z-index: 30;
  display: grid;
  justify-items: center;
  gap: 4px;
  width: 112px;
  padding: 13px 8px 10px;
  border-radius: 10px 0 0 10px;
  color: #fff;
  background: #9b6260;
  box-shadow: 0 5px 18px rgba(30,42,50,.18);
}
.hub-submit-disabled { font-size: 15px; font-weight: 850; }
.hub-submit-note { font-size: 10px; line-height: 1.45; text-align: center; }
.consult-card { min-width: 0; box-shadow: 0 5px 18px rgba(27,48,62,.08); }
.consult-card-link { display: flex; min-width: 0; height: 100%; flex-direction: column; color: inherit; text-decoration: none; }
.consult-card-link:hover { color: inherit; text-decoration: none; }
.consult-card-titleboard {
  display: flex;
  min-height: 155px;
  align-items: center;
  padding: 24px;
  background: linear-gradient(105deg, #d4f3f7 0%, #f7e5e2 100%);
}
.consult-card-titleboard h2 {
  display: -webkit-box;
  overflow: hidden;
  margin: 0;
  color: #202a32;
  font-size: clamp(18px, 1.6vw, 24px);
  font-weight: 850;
  line-height: 1.45;
  overflow-wrap: anywhere;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
.hub-status {
  display: inline-flex;
  align-self: flex-start;
  border-radius: 4px;
  padding: 3px 8px;
  color: #fff;
  font-size: 11px;
  font-weight: 850;
  line-height: 1.35;
}
.hub-status--notice { background: #1e6dc1; }
.hub-status--consult { background: #df6b59; }
.hub-status--closed { background: #6d747a; }
.hub-card-stats { display: flex; gap: 12px; color: #6b747c; font-size: 12px; }
.consult-card-meta span { display: grid; gap: 1px; min-width: 0; }
.consult-card-meta strong { color: #303940; font-size: 13px; }
.consult-card-meta time { color: #8a939a; font-size: 11px; }
/* DENBAK 2026-08-30: みんなのハブのページャーは共通の .pagination（portal-chrome.css）に統一。 */

.consult-single-head .hub-status { margin-bottom: 10px; }
.consult-tag { text-decoration: none; }
.consult-tag:hover { color: #fff; background: #1e6dc1; text-decoration: none; }
.consult-attachments { margin: 8px 0 34px; }
.consult-attachments h2 { margin: 0 0 12px; color: #2d323e; font-size: 17px; }
.consult-attachments ul { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.consult-attachments li {
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1px solid #dfe5e9;
  border-radius: 8px;
  padding: 10px 12px;
  background: #fff;
}
.consult-attachment-name { min-width: 0; flex: 1 1 auto; overflow-wrap: anywhere; font-weight: 750; }
.consult-attachment-size { color: #7d878e; font-size: 12px; white-space: nowrap; }
.consult-attachment-download {
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  border-radius: 7px;
  padding: 7px 13px;
  color: #fff;
  background: #1e6dc1;
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
}
.consult-attachment-download:hover { color: #fff; background: #075f78; text-decoration: none; }

.talk-pagehead { margin: 0 0 42px; }
.directory.groups .site-sub-header { display: none; }
.talk-directory .talk-panel { margin-bottom: 34px; border: 0; border-radius: 0; }
.talk-directory .talk-panel-head { min-height: 62px; padding: 17px 28px; color: #1e6dc1; background: #f0f2f5; }
.talk-directory .talk-panel-body { padding: 30px 18px; border-bottom: 1px solid #e2e6e9; }
.talk-directory .talk-results-count { margin: -18px 0 12px; text-align: right; }
.talk-directory .talk-list { border-bottom: 1px solid #e2e6e9; }
.talk-directory .talk-row { padding: 18px 28px; }
.talk-directory .talk-row-title { font-size: 16px; }
.talk-directory .talk-row-arrow { color: #1e6dc1; font-size: 26px; }
.talk-room-breadcrumb { margin-bottom: 34px; }
.talk-room-layout { grid-template-columns: minmax(220px, 270px) minmax(0, 1fr); gap: 22px; }
.talk-room-sidebar { border: 0; border-radius: 0; padding: 0; background: transparent; }
.talk-nav-group { margin-bottom: 22px; }
.talk-nav-head { margin: 0 0 7px; padding: 14px 12px; color: #1e6dc1; background: #f0f2f5; font-size: 13px; }
.talk-nav-item { display: flex; align-items: center; justify-content: space-between; gap: 8px; border-radius: 0; padding: 7px 10px; color: #1e6dc1; }
.talk-nav-item span:first-child { min-width: 0; overflow-wrap: anywhere; }
.talk-nav-count { color: #747f87; font-size: 11px; font-weight: 500; white-space: nowrap; }
.talk-nav-note { margin: 3px 8px 0; color: #7c868e; font-size: 11px; line-height: 1.55; }
.talk-room-main { border-color: #dde3e7; border-radius: 0; }
.talk-roomhead { min-height: 64px; padding: 16px 20px; background: #e3edf9; }
.talk-roomhead-name { flex: 1 1 auto; color: #1e6dc1; font-size: 18px; }
.talk-room-favorite { display: inline-grid; width: 44px; height: 44px; place-items: center; color: #707b84; font-size: 30px; }
.talk-room-favorite button { min-width: 44px; min-height: 44px; padding: 4px; font-size: 26px; }
.talk-room-summary { display: grid; grid-template-columns: auto auto minmax(0, 1fr); gap: 12px; align-items: stretch; border-bottom: 1px solid #dce3e6; padding: 16px 20px; background: #fbfcfd; }
.talk-room-summary > div { display: grid; min-width: 90px; place-items: center; border-radius: 8px; padding: 10px; background: #eef6fa; }
.talk-room-summary > div strong { color: #1e6dc1; font-size: 20px; }
.talk-room-summary > div span { color: #66737b; font-size: 11px; }
.talk-room-summary > p { align-self: center; margin: 0; color: #4f5d65; line-height: 1.75; }
.talk-room-empty-state {
  display: grid;
  gap: 5px;
  margin: 20px;
  border: 1px solid #dfe5e9;
  border-left: 5px solid #217cb7;
  border-radius: 7px;
  padding: 16px 18px;
  color: #34434c;
  background: #f7fbfd;
}
.talk-room-empty-state span { color: #6e7a82; font-size: 13px; line-height: 1.7; }
.talk-room-membership-action {
  display: flex;
  justify-content: center;
  border-top: 1px solid #dce3e6;
  padding: 24px 18px;
  background: #f2f4f6;
}
.talk-room-membership-action--top { justify-content: space-between; gap: 18px; border-top: 0; border-bottom: 1px solid #dce3e6; padding: 16px 20px; }
.talk-room-membership-action--top > div { display: grid; gap: 3px; }
.talk-room-membership-action--top > div span { color: #64727a; font-size: 12px; line-height: 1.6; }
.talk-room-membership-action .group-button { margin: 0; }
.talk-room-membership-action .group-button a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 999px;
  padding: 10px 28px;
  color: #fff;
  background: #1e6dc1;
  font-weight: 800;
  text-decoration: none;
}
.talk-room-membership-action .group-button a.leave-group { color: #43515a; border: 1px solid #aeb9c0; background: #fff; }
.talk-room-membership-action .group-button a:focus-visible { outline: 3px solid #ffbf47 !important; outline-offset: 3px !important; }

@media (max-width: 980px) {
  .hub-submit-float { top: auto; right: 12px; bottom: 14px; width: 104px; border-radius: 10px; }
}
@media (max-width: 860px) {
  .hub-toolbar { align-items: stretch; flex-direction: column; }
  .hub-search { width: 100%; }
  .talk-room-layout { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
  .chitele-breadcrumb { margin-bottom: 28px; }
  .hub-pagehead .chitele-pagelead { margin-top: 20px; }
  .hub-tabs { display: grid; grid-template-columns: repeat(3, 1fr); }
  .hub-tab { min-width: 0; padding-inline: 8px; }
  .consult-card-titleboard { min-height: 140px; padding: 21px; }
  .hub-submit-float { width: 94px; }
  .hub-active-search { align-items: flex-start; flex-direction: column; }
  .consult-attachments li { align-items: flex-start; flex-wrap: wrap; }
  .consult-attachment-name { flex-basis: calc(100% - 70px); }
  .consult-attachment-download { width: 100%; justify-content: center; }
  .talk-directory .talk-panel-head,
  .talk-directory .talk-row { padding-inline: 15px; }
  .talk-directory .talk-row-meta { padding-left: 0; }
  .talk-directory .talk-row-scope,
  .talk-directory .talk-row-avatars { display: none; }
  .talk-roomhead { flex-wrap: wrap; }
  .talk-roomhead-name { flex-basis: calc(100% - 54px); }
  .talk-roomhead-scope { order: 3; flex-basis: 100%; }
	.talk-room-summary { grid-template-columns: 1fr 1fr; padding: 14px; }
	.talk-room-summary > p { grid-column: 1 / -1; }
	.talk-room-membership-action--top { align-items: stretch; flex-direction: column; }
	.talk-room-membership-action--top .group-button a { width: 100%; }
}

/* ===============================================================
   スレッド（返信）パネル  PC=右サイド / SP=全画面
=============================================================== */
.ct-open-btn {
  background: transparent !important; border: 0 !important; box-shadow: none !important;
  color: #1e6dc1 !important; font-size: 13px !important; font-weight: 600;
  padding: 4px 12px 4px 0 !important; cursor: pointer;
}
.ct-open-btn:hover { text-decoration: underline; }

.ct-overlay {
  position: fixed; inset: 0; background: rgba(0,0,0,.28); z-index: 1000;
}
.ct-overlay[hidden] { display: none !important; }

/* パネルのヘッダーバー（固定） */
.ct-bar {
  position: fixed; top: 0; right: 0; width: 400px; max-width: 92vw; height: 50px;
  display: flex; align-items: center; gap: 8px; padding: 0 16px;
  background: #fff; border-bottom: 1px solid #dce3e6; box-shadow: -8px 0 24px rgba(16,24,40,.12);
  z-index: 1002; font-size: 15px;
}
.ct-bar[hidden] { display: none !important; }
.ct-bar .ct-ctx { color: #8b939b; font-size: 13px; font-weight: 600; }
.ct-bar .ct-close { margin-left: auto; background: transparent; border: 0; font-size: 18px; color: #8b939b; cursor: pointer; }

/* アクティブメッセージを「その場のまま」右パネル位置へ固定表示
   （DOMは #activity-stream 内に残すのでBPのコメント投稿が正常動作する） */
body.ct-open #activity-stream li.activity-item.ct-active {
  position: fixed !important; top: 50px; right: 0; bottom: 0; width: 400px; max-width: 92vw;
  margin: 0 !important; padding: 16px !important; background: #fff; z-index: 1001;
  overflow-y: auto; box-shadow: -8px 0 24px rgba(16,24,40,.12); border-bottom: 0 !important;
}
body.ct-open #activity-stream li.activity-item.ct-active .ct-open-btn { display: none; }
/* 返信フォームを常時表示 */
body.ct-open #activity-stream li.activity-item.ct-active form.ac-form,
body.ct-open #activity-stream li.activity-item.ct-active .ac-form { display: block !important; }
body.ct-open #activity-stream li.activity-item.ct-active .activity-comments { display: block !important; margin-top: 12px; }

/* SP: 全画面 */
@media (max-width: 600px) {
  .ct-bar { width: 100vw; max-width: 100vw; }
  body.ct-open #activity-stream li.activity-item.ct-active { width: 100vw; max-width: 100vw; }
}

/* ===============================================================
   トークルームのリアクション
=============================================================== */
#buddypress .chitele-activity-reactions[hidden] { display: none !important; }
#buddypress .chitele-activity-reactions:not([hidden]) {
  display: block !important;
  margin: 10px 0 0;
  padding: 12px;
  border: 1px solid #d9e3ea;
  border-radius: 10px;
  background: #f8fbfc;
}
.chitele-reaction-trigger[aria-expanded="true"] { border-color: var(--chitele-blue) !important; background: var(--chitele-blue-soft) !important; }
.chitele-reaction-trigger[hidden] { display: none !important; }
.chitele-reaction-no-script { display: inline-block; margin-top: 6px; color: #4d5963; font-size: 13px; }
.chitele-reaction-no-script[hidden] { display: none !important; }
.chitele-reaction-total { min-width: 1.5em; font-variant-numeric: tabular-nums; }
.chitele-reaction-options { display: flex; flex-wrap: wrap; gap: 8px; }
#buddypress button.chitele-reaction-option {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  width: auto;
  min-width: 52px;
  min-height: 40px;
  justify-content: center;
  margin: 0;
  padding: 6px 10px;
  border: 1px solid #d5dce3;
  border-radius: 999px;
  color: var(--chitele-ink);
  background: #fff;
  box-shadow: none;
  cursor: pointer;
}
#buddypress button.chitele-reaction-option:hover,
#buddypress button.chitele-reaction-option:focus-visible { border-color: var(--chitele-blue); background: var(--chitele-blue-soft); }
#buddypress button.chitele-reaction-option[aria-pressed="true"] { border-color: var(--chitele-blue-dark); color: var(--chitele-blue-dark); background: #dff3fa; }
#buddypress button.chitele-reaction-option:disabled { cursor: wait; opacity: .58; }
.chitele-reaction-emoji { font-size: 20px; line-height: 1; }
.chitele-reaction-count { font-size: 12px; font-variant-numeric: tabular-nums; }
.chitele-reaction-status.is-error {
  position: static !important;
  width: auto !important;
  height: auto !important;
  margin: 10px 0 0 !important;
  padding: 8px 10px !important;
  overflow: visible !important;
  clip: auto !important;
  clip-path: none !important;
  white-space: normal !important;
  color: #8f271f;
  background: #fff0ee;
  border-radius: 6px;
}

/* ===============================================================
   メンバー詳細・事務局への直接メール
=============================================================== */
.member-organization-contact {
  display: flex; align-items: center; justify-content: space-between; gap: 24px;
  margin: 28px 0; border: 1px solid #b9dbe2; border-radius: 16px; padding: 22px;
  background: #f0f9fa;
}
.member-organization-contact h3 { margin: 0 0 6px; color: #17343f; font-size: 20px; }
.member-organization-contact p { margin: 0; color: #52616a; }
.member-organization-contact > a,
.member-email-actions a {
  display: inline-flex; min-height: 44px; align-items: center; justify-content: center;
  border-radius: 10px; padding: 9px 16px; color: #fff; background: #075b75;
  font-weight: 800; text-decoration: none;
}
.member-account-organization-card { border: 1px solid #dce3e6; border-radius: 16px; padding: 24px; background: #fff; }
.member-account-organization-card h3 { margin: 8px 0 18px; color: #17343f; font-size: clamp(22px, 4vw, 32px); }
.member-account-organization-card h3 small { font-size: .6em; }
.member-account-organization-card dl { display: grid; gap: 12px; }
.member-account-organization-card dl div { display: grid; grid-template-columns: minmax(120px, 210px) 1fr; gap: 18px; border-top: 1px solid #dce3e6; padding-top: 12px; }
.member-account-organization-card dt { font-weight: 800; }
.member-account-organization-card dd { margin: 0; white-space: normal; }
.member-email-support { border: 1px solid #dce3e6; border-radius: 16px; padding: 24px; background: #fff; }
.member-office-address { display: flex; flex-wrap: wrap; gap: 8px 18px; align-items: center; }
.member-email-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 18px 0; }

/* ===============================================================
   事務局・掲載情報と基本設定
=============================================================== */
.secretariat-profile-selector {
  display: flex; align-items: end; gap: 12px; margin: 24px 0; border: 1px solid #dce3e6;
  border-radius: 14px; padding: 18px; background: #fff;
}
.secretariat-profile-selector label { display: grid; flex: 1 1 auto; gap: 6px; font-weight: 800; }
.secretariat-profile-selector :where(select, button) { min-height: 44px; border: 1px solid #91a7b3; border-radius: 8px; padding: 8px 12px; font: inherit; }
.secretariat-profile-selector button { cursor: pointer; border-color: #075b75; color: #fff; background: #075b75; font-weight: 800; }
.secretariat-profile-editor { display: grid; gap: 18px; padding: 24px; }
.secretariat-profile-editor > header { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 18px; border-bottom: 1px solid #dce3e6; padding-bottom: 16px; }
.secretariat-profile-editor > header p { margin: 0; color: #075b75; font-weight: 800; }
.secretariat-profile-editor > header h3 { flex: 1 1 360px; margin: 0; color: #17343f; }
.secretariat-profile-editor > header a { font-weight: 800; }
.secretariat-focus-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.secretariat-focus-grid label { display: flex; align-items: flex-start; gap: 8px; border: 1px solid #dce3e6; border-radius: 8px; padding: 10px; background: #fff; }
.secretariat-focus-grid input { width: auto; margin-top: 3px; }
.secretariat-settings-form { display: grid; gap: 18px; padding: 24px; }

@media (max-width: 680px) {
  .member-organization-contact, .secretariat-profile-selector { align-items: stretch; flex-direction: column; }
  .member-organization-contact > a { width: 100%; }
  .member-account-organization-card dl div { grid-template-columns: 1fr; gap: 4px; }
  .member-email-actions { display: grid; }
  .secretariat-focus-grid { grid-template-columns: 1fr; }
}

/* ===============================================================
   絵文字ピッカー（投稿ボックス）
=============================================================== */
.chitele-emoji-wrap { position: relative; display: inline-block; margin-top: 6px; }
.chitele-emoji-btn,
button.chitele-emoji-btn {
  background: #fff !important; background-color: #fff !important;
  border: 1px solid #dce3e6 !important; border-radius: 8px !important;
  color: #2d323e !important; box-shadow: none !important;
  padding: 4px 10px !important; font-size: 16px !important; line-height: 1 !important;
  cursor: pointer; width: auto !important; min-width: 0 !important;
}
.chitele-emoji-btn:hover,
button.chitele-emoji-btn:hover { background: #f7fbfd !important; }
.chitele-emoji-panel {
  position: absolute; bottom: 42px; left: 0; z-index: 60;
  width: min(296px, calc(100vw - 32px)); max-width: calc(100vw - 32px);
  background: #fff; border: 1px solid #dce3e6; border-radius: 10px;
  box-shadow: 0 6px 20px rgba(16,24,40,.14); padding: 8px;
  display: flex; flex-wrap: wrap; gap: 2px;
}
.chitele-emoji-panel[hidden] { display: none !important; }
.chitele-emoji-item {
  background: transparent; border: 0; font-size: 20px; line-height: 1;
  cursor: pointer; padding: 5px; border-radius: 6px;
}
.chitele-emoji-item:hover { background: #f0f2f4; }

/* ===============================================================
   トークルーム内メッセージのチャット化（不要情報を隠す）
=============================================================== */
/* 「Groups」ラベル（BuddyX entry.php の .activity-card-head > .card-head-content-type）を非表示 */
.talk-room-body #activity-stream .activity-card-head,
.talk-room-body #activity-stream .card-head-content-type,
/* 「Groups」等のコンポーネント見出し・グループロゴを非表示 */
.talk-room-body #activity-stream .activity-component,
.talk-room-body #activity-stream .activity-meta-component,
.talk-room-body #activity-stream .activity-header .group-avatar,
.talk-room-body #activity-stream .activity-header img.avatar,
.talk-room-body #activity-stream .activity-header .activity-obj-avatar { display: none !important; }

/* ヘッダー（名前＋時刻）を整える */
.talk-room-body #activity-stream .activity-header a:first-child { font-weight: 700; color: #2d323e; }
.talk-room-body #activity-stream .activity-header .ct-time,
.talk-room-body #activity-stream .activity-header .activity-time-since { color: #8b939b; font-size: 12px; }
.talk-room-body #activity-stream .activity-header .activity-time-since { text-decoration: none; }

/* メッセージ表示は BuddyX 標準レイアウトに任せる（flex/float/widthは触らない）。
   ここでは「カード枠のフラット化」「ボタンの控えめ化」など装飾のみ安全に調整。 */
.talk-room-body #activity-stream ul.activity-list > li.activity-item {
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  border-radius: 0 !important;
  border-bottom: 1px solid #dce3e6 !important;
  margin: 0 !important;
  padding: 14px 6px !important;
}
/* 「Groups」等のコンポーネントラベルを控えめに */
.talk-room-body #activity-stream .activity-item .activity-component,
.talk-room-body #activity-stream .activity-item > .activity-meta-component { display: none !important; }

/* アクション(コメント/お気に入り/削除)をテキストリンク調に */
.talk-room-body #activity-stream .activity-meta a.button,
.talk-room-body #activity-stream .activity-meta button.button,
.talk-room-body #activity-stream .activity-meta .generic-button a {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: #8b939b !important;
  padding: 4px 12px 4px 0 !important;
  font-size: 13px !important;
  font-weight: 600;
}
.talk-room-body #activity-stream .activity-meta a.button:hover { color: #1e6dc1 !important; }

/* カラーモード（ライト/ダーク）切替トグルを非表示 */
.bx-color-mode-toggle,
.bx-color-mode-toggle__btn { display: none !important; }

/* アクティビティ絞り込みタブから リアクション絵文字フィルタを除去
   （個人/メンション/グループ は残す。リアクション機能自体は維持） */
li[data-bp-user-scope="thumbsup"],
li[data-bp-user-scope="clap"],
li[data-bp-user-scope="muscle"],
li[data-bp-user-scope="pray"],
li[data-bp-user-scope="smile"],
li[data-bp-user-scope="shy"],
li[data-bp-user-scope="cry"],
li[data-bp-user-scope="eyes"],
li[data-bp-user-scope="check"],
li[data-bp-user-scope="tada"] { display: none !important; }

/* ===============================================================
   事務局ダッシュボード表示確認版（合成データ・読取専用）
=============================================================== */
body.chitele-preview-standalone { margin: 0; color: #242b38; background: #fff; }
.chitele-preview-standalone .chitele-wrap { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.chitele-preview-skip-link {
  position: fixed; z-index: 9999; top: 10px; left: 10px; padding: 10px 14px;
  color: #fff; background: #075b75; border-radius: 6px; transform: translateY(-160%);
}
.chitele-preview-skip-link:focus { transform: translateY(0); }
.chitele-preview-not-found { min-height: 100vh; display: grid; align-content: center; justify-items: center; text-align: center; }
.chitele-preview-not-found .chitele-state-code { margin: 0; color: #1e6dc1; font-size: clamp(64px, 14vw, 136px); font-weight: 800; line-height: 1; }
.chitele-preview-not-found h1 { margin: 18px 0 12px; color: #17343f; font-size: clamp(28px, 5vw, 46px); }
.chitele-preview-not-found p { margin: 4px 0; color: #52616a; }
.chitele-secretariat-preview {
  display: grid; grid-template-columns: minmax(0, 1fr); gap: 38px; padding-bottom: 96px;
}
.chitele-secretariat-preview > * { min-width: 0; }
.secretariat-brandbar { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 18px 0 4px; border-bottom: 1px solid #e8edf1; }
.secretariat-brandbar img { display: block; width: min(294px, 52vw); height: auto; }
.secretariat-brandbar p { display: flex; align-items: center; gap: 10px; margin: 0; color: #242b38; }
.secretariat-brandbar strong { font-size: 15px; }
.secretariat-brandbar span { padding: 5px 12px; border: 1px solid #1e6dc1; border-radius: 999px; color: #1e6dc1; font-size: 12px; font-weight: 700; }
.secretariat-hero {
  display: flex; align-items: flex-start; justify-content: space-between; gap: 28px;
  padding: clamp(34px, 5vw, 60px); border: 1px solid #dce3e6; border-radius: 0;
  color: #242b38; background: linear-gradient(100deg, #e2f7fb 0%, #f2f6f8 54%, #fff0ec 100%);
  box-shadow: none;
}
.secretariat-hero h1 { margin: 4px 0 12px; color: inherit; font-size: clamp(30px, 4vw, 48px); line-height: 1.22; }
.secretariat-hero p { max-width: 720px; margin-bottom: 0; color: inherit; }
.secretariat-hero .home-eyebrow { color: #1e6dc1; letter-spacing: .12em; }
.secretariat-preview-badge {
  flex: 0 0 auto; padding: 9px 14px; border: 1px solid #1e6dc1; border-radius: 999px;
  color: #1e6dc1; background: #fff; font-size: 13px; font-weight: 700; white-space: nowrap;
}
.secretariat-preview-notice { margin: 0; }
.secretariat-section-nav {
  display: flex; flex-wrap: wrap; gap: 10px; padding: 10px; border: 1px solid #dce3e6;
  border-radius: 16px; background: #fff;
}
.secretariat-section-nav a {
  display: inline-flex; min-height: 42px; align-items: center; padding: 9px 14px; border-radius: 10px;
  color: #36505a; font-size: 13px; font-weight: 700; text-decoration: none;
}
.secretariat-section-nav a:hover { color: #075b75; background: #edf7f9; }
.secretariat-section-nav a[aria-current="page"] { color: #fff; background: #1e6dc1; }
.secretariat-section-nav a:focus-visible,
.secretariat-workflow-card:focus-visible { outline: 3px solid #ffbf47; outline-offset: 3px; }
.secretariat-summary-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.secretariat-summary-grid--compact { grid-template-columns: repeat(2, minmax(0, 280px)); }
.secretariat-summary-card {
  min-width: 0; padding: 22px; border: 1px solid #dce3e6; border-radius: 16px;
  color: inherit; background: #fff; box-shadow: 0 8px 24px rgba(21, 55, 68, .06); text-decoration: none;
}
.secretariat-summary-card[href]:hover { border-color: #1e6dc1; background: #f4fbfc; transform: translateY(-1px); }
.secretariat-summary-card[href]:focus-visible { outline: 3px solid #ffbf47; outline-offset: 3px; }
.secretariat-summary-card p { min-height: 2.8em; margin: 0 0 12px; color: #52616a; font-weight: 700; }
.secretariat-summary-card strong { display: block; color: #075b75; font-size: 38px; line-height: 1; font-variant-numeric: tabular-nums; }
.secretariat-summary-card strong span { margin-left: 4px; font-size: 14px; }
.secretariat-summary-card small { display: block; margin-top: 12px; color: #697780; }
.secretariat-workflow-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.secretariat-workflow-card { padding: 24px; border: 1px solid #dce3e6; border-radius: 16px; background: #fff; text-decoration: none; }
.secretariat-workflow-card:hover { border-color: #9bcbd7; box-shadow: 0 10px 24px rgba(21, 55, 68, .08); }
.secretariat-workflow-card h3 { margin: 0 0 10px; color: #17343f; font-size: 19px; }
.secretariat-workflow-card p { margin: 0 0 18px; color: #52616a; }
.secretariat-workflow-card span,
.secretariat-action-disabled {
  display: inline-flex; min-height: 30px; align-items: center; padding: 5px 10px; border-radius: 999px;
  color: #5b6670; background: #edf1f3; font-size: 12px; font-weight: 700;
}
.secretariat-table-wrap { width: 100%; max-width: 100%; overflow-x: auto; border: 1px solid #dce3e6; border-radius: 16px; background: #fff; }
.secretariat-table-wrap:focus-visible { outline: 3px solid #1e6dc1; outline-offset: 3px; }
.secretariat-table { width: 100%; min-width: 720px; margin: 0; border: 0; border-collapse: collapse; }
.secretariat-table th,
.secretariat-table td { padding: 16px 18px; border: 0; border-bottom: 1px solid #dce3e6; text-align: left; vertical-align: middle; }
.secretariat-table thead th { color: #36505a; background: #f4f8f9; font-size: 13px; }
.secretariat-table tbody tr:last-child th,
.secretariat-table tbody tr:last-child td { border-bottom: 0; }
.secretariat-table tbody th { color: #17343f; font-weight: 700; }
.secretariat-table tbody th small { display: block; margin-top: 5px; color: #697780; font-weight: 400; }
.secretariat-status { display: inline-block; padding: 6px 10px; border-radius: 999px; color: #075b75; background: #e5f5f8; font-size: 12px; font-weight: 700; }
.secretariat-status.is-hold { color: #765900; background: #fff3c4; }
.secretariat-status.is-danger { color: #7b1717; background: #fff0f0; }
.secretariat-account-table { min-width: 1740px; }
.secretariat-account-editor { min-width: 270px; }
.secretariat-account-editor summary { cursor: pointer; color: #1e6dc1; font-weight: 800; }
.secretariat-account-editor form { display: grid; gap: 10px; margin-top: 12px; }
.secretariat-account-editor label { display: grid; gap: 5px; color: #36505a; font-size: 13px; font-weight: 750; }
.secretariat-account-editor :where(select, button) { width: 100%; min-height: 42px; border: 1px solid #9daeb7; border-radius: 6px; padding: 8px 10px; font: inherit; }
.secretariat-account-editor button { cursor: pointer; border-color: #1e6dc1; color: #fff; background: #1e6dc1; font-weight: 800; }
.secretariat-account-editor p { margin: 0; color: #5f707b; font-size: 12px; line-height: 1.7; }
.secretariat-account-editor .secretariat-account-confirm { display: flex; grid-template-columns: none; align-items: flex-start; gap: 7px; }
.secretariat-account-editor .secretariat-account-confirm input { width: auto; margin-top: 3px; }
.secretariat-counterpart-table { min-width: 780px; }
.secretariat-disabled-panel {
  margin: 18px 0 0; padding: 18px 20px; border: 1px solid #dce3e6; border-left: 4px solid #8b99a2;
  border-radius: 10px; color: #52616a; background: #f4f7f8;
}
.secretariat-policy-list {
  margin: 22px 0 0; padding: 20px 24px 20px 42px; border: 1px solid #dce3e6; border-radius: 14px; background: #fff;
}
.secretariat-policy-list li + li { margin-top: 10px; }
.secretariat-decision-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.secretariat-decision-grid article { padding: 22px; border: 1px solid #dce3e6; border-radius: 16px; background: #fff; }
.secretariat-decision-grid h3 { margin: 0 0 10px; color: #17343f; font-size: 18px; }
.secretariat-decision-grid p { margin: 0 0 18px; color: #52616a; }
.secretariat-decision-grid span { display: inline-flex; padding: 5px 10px; border-radius: 999px; color: #765900; background: #fff3c4; font-size: 12px; font-weight: 700; }
.secretariat-subhead { margin-top: 30px; }
.secretariat-subhead h3 { margin: 0; color: #17343f; font-size: 22px; }
.secretariat-stage-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; margin-bottom: 24px; }
.secretariat-stage-grid article { position: relative; min-width: 0; padding: 20px; border: 1px solid #dce3e6; border-radius: 16px; background: #fff; }
.secretariat-stage-grid article > span { display: grid; width: 32px; height: 32px; margin-bottom: 14px; place-items: center; border-radius: 50%; color: #fff; background: #075b75; font-weight: 800; }
.secretariat-stage-grid h3 { margin: 0 0 8px; color: #17343f; font-size: 17px; }
.secretariat-stage-grid p { min-height: 5.4em; margin: 0 0 14px; color: #52616a; font-size: 14px; }
.secretariat-stage-grid strong { color: #765900; font-size: 12px; }
.secretariat-relationship-map { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; gap: 14px; align-items: center; margin: 24px 0; }
.secretariat-relationship-map article { min-width: 0; padding: 22px; border: 1px solid #dce3e6; border-radius: 16px; background: #fff; }
.secretariat-relationship-map h3 { margin: 0 0 8px; color: #17343f; font-size: 18px; }
.secretariat-relationship-map p { margin: 0 0 14px; color: #52616a; }
.secretariat-relationship-map span { color: #075b75; font-size: 12px; font-weight: 800; }
.secretariat-relationship-map b { color: #69808a; font-size: 24px; }
.secretariat-export-panel { display: flex; gap: 24px; align-items: center; justify-content: space-between; margin-top: 24px; padding: 22px; border: 1px solid #b9dbe2; border-radius: 16px; background: #f0f9fa; }
.secretariat-export-panel h3 { margin: 0 0 6px; color: #17343f; font-size: 19px; }
.secretariat-export-panel p { max-width: 720px; margin: 0; color: #52616a; }
.secretariat-primary-action { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; min-height: 46px; padding: 10px 18px; border-radius: 10px; color: #fff; background: #075b75; font-weight: 800; text-decoration: none; }
.secretariat-primary-action:hover { color: #fff; background: #064b60; }
.secretariat-primary-action:focus-visible { outline: 3px solid #ffbf47; outline-offset: 3px; }
.secretariat-create-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 24px; }
.secretariat-create-actions a { display: inline-flex; align-items: center; min-height: 42px; padding: 8px 14px; border: 1px solid #9bcbd7; border-radius: 10px; color: #075b75; background: #fff; font-weight: 800; text-decoration: none; }
.secretariat-create-actions a:hover { background: #edf7f9; }
.secretariat-create-actions a:focus-visible { outline: 3px solid #ffbf47; outline-offset: 3px; }

.secretariat-result-message {
  margin: 0 0 22px; border: 2px solid #a32020; border-radius: 12px; padding: 14px 18px;
  color: #6f1616; background: #fff5f5; font-weight: 750;
}
.secretariat-result-message.is-success { border-color: #16704a; color: #125d3e; background: #edf9f4; }
.secretariat-safe-form { margin: 22px 0; border: 1px solid #cfdce3; border-radius: 16px; background: #fff; }
.secretariat-safe-form > summary { cursor: pointer; padding: 18px 22px; color: #173d50; font-weight: 800; }
.secretariat-safe-form > form { display: grid; gap: 18px; border-top: 1px solid #e0e8ec; padding: 22px; }
.secretariat-safe-form label { display: grid; gap: 7px; min-width: 0; color: #293b44; font-weight: 750; }
.secretariat-safe-form label small { color: #52636c; font-weight: 500; line-height: 1.6; }
.secretariat-safe-form :where(input, select, textarea) {
  width: 100%; min-height: 44px; border: 1px solid #9daeb7; border-radius: 7px; padding: 9px 11px;
  color: #1f2f37; background: #fff; font: inherit;
}
.secretariat-safe-form textarea { min-height: 94px; resize: vertical; }
.secretariat-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.secretariat-inline-form { display: grid; grid-template-columns: minmax(130px, 1fr) minmax(145px, 1fr) auto; gap: 7px; align-items: center; min-width: 440px; }
.secretariat-inline-form :where(select, input, button) { min-height: 40px; border: 1px solid #9daeb7; border-radius: 6px; padding: 7px 9px; font: inherit; }
.secretariat-inline-form button { cursor: pointer; border-color: #1e6dc1; color: #fff; background: #1e6dc1; font-weight: 750; }
.secretariat-structured-fields { margin: 18px 0; border: 1px solid #b9d9eb; border-radius: 12px; padding: 16px; background: #f5fbff; }
.secretariat-structured-fields legend { padding: 0 8px; color: #17375e; font-weight: 800; }
.secretariat-structured-fields > label { display: grid; gap: 6px; margin-top: 12px; }
.secretariat-structured-fields p { margin: 12px 0 0; color: #536476; font-size: .9rem; }
.secretariat-field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.secretariat-field-grid label { display: grid; align-content: start; gap: 6px; min-width: 0; }
.secretariat-status.is-overdue { color: #7b1717; background: #fff0f0; }
.secretariat-target-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin: 0 0 24px; }
.secretariat-target-grid article { min-width: 0; border: 1px solid #dce3e6; border-radius: 16px; padding: 20px; background: #fff; }
.secretariat-target-grid h3 { margin: 0 0 10px; color: #354952; font-size: 15px; }
.secretariat-target-grid strong { display: block; color: #1e6dc1; font-size: clamp(22px, 3vw, 34px); line-height: 1.2; }
.secretariat-target-grid p { margin: 9px 0 0; color: #566871; font-size: 13px; }

/* 公開物管理: 一覧を見ながら1件だけ開く、日常事務局向けの操作順。 */
.secretariat-content-create-grid,
.secretariat-content-summary-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin: 20px 0; }
.secretariat-content-create-grid a,
.secretariat-content-summary-grid a { display: grid; align-content: start; min-width: 0; border: 1px solid #c9dce3; border-radius: 14px; padding: 18px; color: #17343f; background: #fff; text-decoration: none; box-shadow: 0 6px 18px rgba(21,55,68,.05); }
.secretariat-content-create-grid a:hover,
.secretariat-content-summary-grid a:hover { border-color: #1e6dc1; background: #f4fbfc; transform: translateY(-1px); }
.secretariat-content-create-grid a:focus-visible,
.secretariat-content-summary-grid a:focus-visible { outline: 3px solid #ffbf47; outline-offset: 3px; }
.secretariat-content-create-grid span { width: max-content; margin-bottom: 9px; border-radius: 999px; padding: 4px 9px; color: #fff; background: #1e6dc1; font-size: 12px; font-weight: 800; }
.secretariat-content-create-grid strong,
.secretariat-content-summary-grid strong { font-size: 17px; line-height: 1.45; }
.secretariat-content-create-grid small,
.secretariat-content-summary-grid small { margin-top: 8px; color: #61717a; line-height: 1.65; }
.secretariat-content-summary-grid span { margin-top: 12px; color: #075b75; font-size: 15px; font-weight: 800; }
.secretariat-content-create-form[open] { border-color: #1e6dc1; box-shadow: 0 10px 28px rgba(21,55,68,.08); }
.secretariat-content-filter { display: grid; grid-template-columns: minmax(220px, 2fr) minmax(160px, 1fr) minmax(160px, 1fr) auto; gap: 12px; align-items: end; margin: 0 0 24px; border: 1px solid #d6e4e9; border-radius: 14px; padding: 18px; background: #f7fafb; }
.secretariat-content-filter label { display: grid; gap: 6px; min-width: 0; color: #354952; font-size: 13px; font-weight: 800; }
.secretariat-content-filter :where(input,select,button) { width: 100%; min-height: 44px; border: 1px solid #9daeb7; border-radius: 8px; padding: 8px 10px; color: #1f2f37; background: #fff; font: inherit; }
.secretariat-content-filter > div { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.secretariat-content-filter button { width: auto; cursor: pointer; border-color: #1e6dc1; color: #fff; background: #1e6dc1; font-weight: 800; }
.secretariat-content-filter a { white-space: nowrap; color: #1e6dc1; font-weight: 750; }
.secretariat-content-list { display: grid; gap: 16px; }
.secretariat-content-record { min-width: 0; overflow: hidden; border: 1px solid #dce3e6; border-radius: 16px; background: #fff; box-shadow: 0 7px 22px rgba(21,55,68,.05); }
.secretariat-content-record.is-trash { border-color: #e1c5c5; background: #fffafa; }
.secretariat-content-record-head { display: flex; gap: 18px; align-items: flex-start; justify-content: space-between; padding: 18px 20px; }
.secretariat-content-record-head > div { min-width: 0; }
.secretariat-content-record-head h4 { margin: 5px 0; color: #17343f; font-size: 18px; line-height: 1.55; overflow-wrap: anywhere; }
.secretariat-content-record-head p { margin: 0; color: #687982; font-size: 13px; }
.secretariat-content-record-type { color: #1e6dc1; font-size: 12px; font-weight: 800; }
.secretariat-content-record-actions { border-top: 1px solid #e4ecef; }
.secretariat-content-record-actions > .secretariat-content-open-action { margin: 18px; }
.secretariat-content-record-actions > a.secretariat-content-current-link { display: inline-flex; margin: 18px 18px 18px 0; color: #1e6dc1; font-weight: 800; }
.secretariat-content-editor-back { margin: 18px 18px 0; }
.secretariat-content-editor-back a { color: #1e6dc1; font-weight: 800; }
.secretariat-inline-editor { width: 100%; }
.secretariat-inline-editor > summary { display: flex; min-height: 48px; align-items: center; padding: 12px 20px; cursor: pointer; color: #075b75; background: #f5fafb; font-weight: 850; }
.secretariat-inline-editor > summary:hover { background: #eaf6f8; }
.secretariat-inline-editor[open] > summary { color: #fff; background: #075b75; }
.secretariat-inline-editor[open] > :not(summary) { margin-right: 20px; margin-left: 20px; }
.secretariat-inline-editor > form { display: grid; gap: 16px; margin-top: 20px; margin-bottom: 20px; border: 1px solid #d7e4e9; border-radius: 12px; padding: 20px; background: #fff; }
.secretariat-inline-editor form label { display: grid; gap: 6px; min-width: 0; color: #31454f; font-size: 14px; font-weight: 750; }
.secretariat-inline-editor form label:has(> input[type="checkbox"]) { display: flex; flex-direction: row; align-items: flex-start; }
.secretariat-inline-editor form :where(input:not([type="checkbox"]),select,textarea) { width: 100%; min-width: 0; min-height: 44px; border: 1px solid #9daeb7; border-radius: 8px; padding: 9px 11px; color: #1f2f37; background: #fff; font: inherit; }
.secretariat-inline-editor form textarea { resize: vertical; }
.secretariat-inline-editor form button { width: max-content; max-width: 100%; min-height: 44px; cursor: pointer; border: 1px solid #1e6dc1; border-radius: 9px; padding: 9px 16px; color: #fff; background: #1e6dc1; font: inherit; font-weight: 800; }
.secretariat-content-current-link { margin-top: 16px; }
.secretariat-content-current-link a { color: #1e6dc1; font-weight: 800; }
.secretariat-danger-zone { margin: 20px; border: 1px solid #e4c1c1; border-radius: 12px; background: #fff8f8; }
.secretariat-danger-zone > summary { cursor: pointer; padding: 14px 16px; color: #8a2525; font-weight: 800; }
.secretariat-danger-zone[open] { padding-bottom: 4px; }
.secretariat-danger-zone[open] > :not(summary) { margin-right: 16px; margin-left: 16px; }
.secretariat-danger-zone form { display: grid; gap: 12px; margin-bottom: 16px; border: 0; padding: 0; background: transparent; }
.secretariat-danger-zone form button { border-color: #9b2c2c; background: #9b2c2c; }
.secretariat-content-empty { margin: 0; border: 1px dashed #aac3cc; border-radius: 14px; padding: 24px; color: #52636c; background: #f7fafb; text-align: center; }

/* 会員・掲載情報管理: 検索して対象1件を開く。横長台帳を日常操作に使わない。 */
.secretariat-record-filter { display: grid; grid-template-columns: minmax(240px, 2fr) minmax(150px, 1fr) minmax(150px, 1fr) auto; gap: 12px; align-items: end; margin: 0 0 14px; border: 1px solid #d6e4e9; border-radius: 14px; padding: 18px; background: #f7fafb; }
.secretariat-record-filter label { display: grid; gap: 6px; min-width: 0; color: #354952; font-size: 13px; font-weight: 800; }
.secretariat-record-filter :where(input,select,button) { width: 100%; min-height: 44px; border: 1px solid #9daeb7; border-radius: 8px; padding: 8px 10px; color: #1f2f37; background: #fff; font: inherit; }
.secretariat-record-filter > div { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.secretariat-record-filter button { width: auto; cursor: pointer; border-color: #1e6dc1; color: #fff; background: #1e6dc1; font-weight: 800; }
.secretariat-record-filter a { white-space: nowrap; color: #1e6dc1; font-weight: 750; }
.secretariat-result-count { margin: 0 0 18px; color: #52636c; font-size: 14px; }
.secretariat-profile-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 0 0 24px; }
.secretariat-profile-card { display: grid; align-content: start; min-width: 0; border: 1px solid #d1e0e5; border-radius: 14px; padding: 17px; color: #17343f; background: #fff; text-decoration: none; box-shadow: 0 5px 16px rgba(21,55,68,.04); }
.secretariat-profile-card:hover { border-color: #1e6dc1; background: #f4fbfc; transform: translateY(-1px); }
.secretariat-profile-card:focus-visible { outline: 3px solid #ffbf47; outline-offset: 3px; }
.secretariat-profile-card.is-selected { border-color: #1e6dc1; box-shadow: inset 0 0 0 2px #1e6dc1; }
.secretariat-profile-card > span { color: #1e6dc1; font-size: 12px; font-weight: 800; }
.secretariat-profile-card > strong { margin-top: 7px; font-size: 17px; line-height: 1.5; overflow-wrap: anywhere; }
.secretariat-profile-card > small { margin-top: 3px; color: #65757d; }
.secretariat-profile-card > p { margin: 11px 0; color: #53646d; font-size: 13px; line-height: 1.7; }
.secretariat-profile-card > b { margin-top: auto; color: #1e6dc1; font-size: 13px; }
.secretariat-profile-card-grid > .secretariat-content-empty { grid-column: 1 / -1; }

.secretariat-account-card-list { overflow: visible; border: 0; background: transparent; }
.secretariat-account-card-list .secretariat-account-table { display: block; min-width: 0; }
.secretariat-account-card-list thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.secretariat-account-card-list tbody { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.secretariat-account-card-list tr { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-content: start; overflow: hidden; border: 1px solid #dce3e6; border-radius: 16px; background: #fff; box-shadow: 0 7px 22px rgba(21,55,68,.05); }
.secretariat-account-card-list :where(th,td) { display: block; min-width: 0; border-bottom: 1px solid #dce3e6; padding: 13px 16px; }
.secretariat-account-card-list th { grid-column: 1 / -1; color: #17343f; background: #f5fafb; font-size: 18px; }
.secretariat-account-card-list td::before { display: block; margin-bottom: 5px; color: #687982; font-size: 11px; font-weight: 800; }
.secretariat-account-card-list td:nth-of-type(1)::before { content: "区分"; }
.secretariat-account-card-list td:nth-of-type(2)::before { content: "利用状態"; }
.secretariat-account-card-list td:nth-of-type(3)::before { content: "初回利用・再設定"; }
.secretariat-account-card-list td:nth-of-type(4)::before { content: "停止・再開・退会対応"; }
.secretariat-account-card-list td:nth-of-type(5)::before { content: "所属組織"; }
.secretariat-account-card-list td:nth-of-type(6)::before { content: "登録日"; }
.secretariat-account-card-list td:nth-of-type(7)::before { content: "最終利用"; }
.secretariat-account-card-list td:nth-of-type(8)::before { content: "お客様番号"; }
.secretariat-account-card-list td:nth-of-type(9)::before { content: "投稿数"; }
.secretariat-account-card-list td:nth-of-type(10)::before { content: "コメント数"; }
.secretariat-account-card-list td:nth-of-type(3),
.secretariat-account-card-list td:nth-of-type(4),
.secretariat-account-card-list td:nth-of-type(5),
.secretariat-account-card-list td:nth-of-type(8) { grid-column: 1 / -1; }
.secretariat-account-card-list td:last-child { border-bottom: 0; }
.secretariat-account-card-list .secretariat-account-editor { min-width: 0; }
.secretariat-account-card-list .secretariat-inline-form { grid-template-columns: 1fr; min-width: 0; width: 100%; }
.secretariat-account-card-list :where(select,input,button) { max-width: 100%; min-width: 0; }

.secretariat-moderation-card-list { overflow: visible; border: 0; background: transparent; }
.secretariat-moderation-card-list .secretariat-table { display: block; min-width: 0; }
.secretariat-moderation-card-list thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.secretariat-moderation-card-list tbody { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.secretariat-moderation-card-list tr { display: block; overflow: hidden; border: 1px solid #dce3e6; border-radius: 14px; background: #fff; }
.secretariat-moderation-card-list :where(th,td) { display: block; width: 100%; border-bottom: 1px solid #dce3e6; padding: 12px 15px; }
.secretariat-moderation-card-list th { color: #17343f; background: #f5fafb; }
.secretariat-moderation-card-list td::before { display: block; margin-bottom: 4px; color: #687982; font-size: 11px; font-weight: 800; }
.secretariat-moderation-card-list.is-report-list td:nth-of-type(1)::before { content: "分類"; }
.secretariat-moderation-card-list.is-report-list td:nth-of-type(2)::before { content: "受付日時"; }
.secretariat-moderation-card-list.is-report-list td:nth-of-type(3)::before { content: "状態"; }
.secretariat-moderation-card-list.is-report-list td:nth-of-type(4)::before { content: "確認操作"; }
.secretariat-moderation-card-list.is-comment-list td:nth-of-type(1)::before { content: "受付日時"; }
.secretariat-moderation-card-list.is-comment-list td:nth-of-type(2)::before { content: "状態"; }
.secretariat-moderation-card-list.is-comment-list td:nth-of-type(3)::before { content: "内容確認"; }
.secretariat-moderation-card-list td:last-child { border-bottom: 0; }
.secretariat-moderation-card-list .secretariat-inline-form { grid-template-columns: 1fr auto; min-width: 0; width: 100%; }
.secretariat-moderation-card-list details summary { cursor: pointer; color: #1e6dc1; font-weight: 800; }

@media (max-width: 900px) {
  .secretariat-target-grid,
  .secretariat-content-create-grid,
  .secretariat-content-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .secretariat-content-filter,
  .secretariat-record-filter { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .secretariat-profile-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .secretariat-account-card-list tbody { grid-template-columns: 1fr; }
  .secretariat-moderation-card-list tbody { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .secretariat-form-grid,
  .secretariat-target-grid,
  .secretariat-content-create-grid,
  .secretariat-content-summary-grid,
  .secretariat-content-filter,
  .secretariat-record-filter,
  .secretariat-profile-card-grid { grid-template-columns: 1fr; }
  .secretariat-content-record-head { padding: 15px; }
  .secretariat-inline-editor > summary { padding: 12px 15px; }
  .secretariat-inline-editor[open] > :not(summary) { margin-right: 14px; margin-left: 14px; }
  .secretariat-inline-editor > form { padding: 15px; }
  .secretariat-danger-zone { margin: 16px 14px; }
  .secretariat-safe-form > form { padding: 18px 15px; }
  .secretariat-inline-form { grid-template-columns: 1fr; min-width: 0; width: 100%; }
  .secretariat-inline-form label { min-width: 0; }
  .secretariat-inline-form :where(select, input, button) { width: 100%; min-width: 0; }
  .secretariat-field-grid { grid-template-columns: 1fr; }
  .secretariat-account-card-list tr { grid-template-columns: 1fr; }
  .secretariat-account-card-list :where(th,td),
  .secretariat-account-card-list td:nth-of-type(3),
  .secretariat-account-card-list td:nth-of-type(4),
  .secretariat-account-card-list td:nth-of-type(5),
  .secretariat-account-card-list td:nth-of-type(8) { grid-column: 1; }
  .secretariat-table-wrap:has(.secretariat-inline-editor) { overflow: visible; border: 0; background: transparent; }
  .secretariat-table-wrap:has(.secretariat-inline-editor) .secretariat-table { display: block; min-width: 0; }
  .secretariat-table-wrap:has(.secretariat-inline-editor) thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .secretariat-table-wrap:has(.secretariat-inline-editor) tbody { display: grid; gap: 16px; }
  .secretariat-table-wrap:has(.secretariat-inline-editor) tr { display: block; overflow: hidden; border: 1px solid #dce3e6; border-radius: 14px; background: #fff; }
  .secretariat-table-wrap:has(.secretariat-inline-editor) :where(th, td) { display: block; width: 100%; border-bottom: 1px solid #dce3e6; padding: 12px 14px; }
  .secretariat-table-wrap:has(.secretariat-inline-editor) td::before { display: block; margin-bottom: 4px; color: #5f707b; font-size: 12px; font-weight: 800; }
  .secretariat-table-wrap:has(.secretariat-inline-editor) td:nth-of-type(1)::before { content: "種別"; }
  .secretariat-table-wrap:has(.secretariat-inline-editor) td:nth-of-type(2)::before { content: "状態"; }
  .secretariat-table-wrap:has(.secretariat-inline-editor) td:nth-of-type(3)::before { content: "更新日"; }
  .secretariat-table-wrap:has(.secretariat-inline-editor) td:nth-of-type(4)::before { content: "操作"; }
  .secretariat-table-wrap:has(.secretariat-inline-editor) td:last-child { border-bottom: 0; padding: 0; }
  .secretariat-table-wrap:has(.secretariat-inline-editor) td:last-child::before { padding: 12px 14px 0; }
  .secretariat-inline-editor { width: 100%; min-width: 0; }
  .secretariat-inline-editor > summary { padding: 12px 14px; color: #1e6dc1; font-weight: 800; }
  .secretariat-inline-editor[open] > :not(summary) { margin-right: 14px; margin-left: 14px; }
  .secretariat-inline-editor input, .secretariat-inline-editor select, .secretariat-inline-editor textarea, .secretariat-inline-editor button { max-width: 100%; min-width: 0; }
}

@media (max-width: 960px) {
  .secretariat-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .secretariat-workflow-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .secretariat-decision-grid { grid-template-columns: 1fr; }
  .secretariat-stage-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .secretariat-relationship-map { grid-template-columns: 1fr; }
  .secretariat-relationship-map b { transform: rotate(90deg); justify-self: center; }
}
@media (max-width: 640px) {
  .chitele-preview-standalone .chitele-wrap { width: min(100% - 28px, 1180px); }
  .chitele-secretariat-preview { gap: 34px; }
  .secretariat-brandbar { padding-top: 12px; }
  .secretariat-brandbar strong { display: none; }
  .secretariat-hero { display: block; padding: 28px 22px; border-radius: 0; }
  .secretariat-preview-badge { display: inline-flex; margin-top: 20px; white-space: normal; }
  .secretariat-summary-grid,
  .secretariat-workflow-grid { grid-template-columns: 1fr; }
  .secretariat-summary-grid--compact { grid-template-columns: 1fr; }
  .secretariat-summary-card p { min-height: 0; }
  .secretariat-section-nav { display: grid; grid-template-columns: 1fr 1fr; }
  .secretariat-section-nav a { justify-content: center; text-align: center; }
  .secretariat-stage-grid { grid-template-columns: 1fr; }
  .secretariat-stage-grid p { min-height: 0; }
  .secretariat-export-panel { display: block; }
  .secretariat-primary-action { width: 100%; margin-top: 18px; }
}

/* ===============================================================
   ログイン画面表示確認版（認証処理未接続）
=============================================================== */
.chitele-login-preview { padding-top: clamp(24px, 5vw, 58px); padding-bottom: 72px; }
.login-preview-shell {
  display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr);
  min-height: 680px; overflow: hidden; border: 1px solid #dce3e6; border-radius: 24px;
  background: #fff; box-shadow: 0 22px 58px rgba(20, 60, 76, .12);
}
.login-preview-brand {
  position: relative; display: flex; flex-direction: column; justify-content: center;
  padding: clamp(42px, 7vw, 84px); overflow: hidden;
  background: linear-gradient(145deg, #dff5f1 0%, #d7f3f5 52%, #ffe9df 100%);
}
.login-preview-brand::before,
.login-preview-brand::after {
  position: absolute; content: ""; border: 2px solid rgba(7,91,117,.12); border-radius: 50%;
}
.login-preview-brand::before { width: 220px; height: 220px; left: -100px; bottom: -90px; }
.login-preview-brand::after { width: 120px; height: 120px; right: -35px; top: -36px; }
.login-preview-brand > * { position: relative; z-index: 1; }
.login-preview-mark { margin: 20px 0 8px; color: #1e6dc1; font-size: 76px; font-weight: 800; line-height: .9; }
.login-preview-brand h1 { margin: 0 0 22px; color: #17343f; font-size: clamp(28px, 3vw, 42px); line-height: 1.42; word-break: keep-all; overflow-wrap: normal; }
.login-preview-brand h1 span { display: block; white-space: nowrap; }
.login-preview-brand > p:not(.home-eyebrow):not(.login-preview-mark) { max-width: 560px; color: #36505a; font-size: 16px; line-height: 1.9; }
.login-preview-brand ul { display: grid; gap: 10px; margin: 28px 0 0; padding: 0; list-style: none; color: #36505a; }
.login-preview-brand li { position: relative; padding-left: 24px; }
.login-preview-brand li::before { position: absolute; left: 0; content: "✓"; color: #1e6dc1; font-weight: 800; }
.login-preview-panel { display: flex; flex-direction: column; justify-content: center; padding: clamp(36px, 6vw, 72px); }
.login-preview-label { align-self: flex-start; margin: 0 0 16px; padding: 6px 10px; border-radius: 999px; color: #69510a; background: #fff1bf; font-size: 12px; font-weight: 800; }
.login-preview-panel h2 { margin: 0 0 10px; color: #17343f; font-size: 30px; }
.login-preview-panel > p { color: #52616a; }
.login-preview-form { display: grid; gap: 9px; margin-top: 24px; }
.login-preview-form label { margin-top: 8px; color: #263f49; font-size: 14px; font-weight: 700; }
.login-preview-form input[type="text"],
.login-preview-form input[type="password"] { width: 100%; min-height: 48px; margin: 0; border: 1px solid #cfdce2; border-radius: 9px; color: #6e7980; background: #f5f7f8; }
.login-preview-form input:disabled { opacity: 1; cursor: not-allowed; }
.login-preview-remember { display: flex; align-items: center; gap: 8px; font-weight: 500 !important; }
.login-preview-remember input { margin: 0; }
.login-preview-form button {
  min-height: 50px; margin-top: 14px; border: 0; border-radius: 9px;
  color: #fff; background: #6f8d98; font-weight: 800; cursor: not-allowed; opacity: 1;
}
.login-preview-form button:disabled { color: #fff !important; background: #6f8d98 !important; opacity: 1 !important; }
.login-access-form input[type="text"],
.login-access-form input[type="password"] { color: #17343f; background: #fff; }
.login-access-form input:focus-visible { outline: 3px solid rgba(31, 150, 195, .32); outline-offset: 2px; border-color: #1e6dc1; }
.login-human-check { display: grid; gap: 9px; margin: 14px 0 4px; border: 1px solid #a9cbd6; border-radius: 10px; padding: 16px; background: #f2fafc; }
.login-human-check legend { padding: 0 6px; color: #075b75; font-weight: 850; }
.login-human-check p { margin: 0; color: #3b555f; font-size: 13px; line-height: 1.7; }
.login-human-check-question { display: flex; align-items: center; gap: 10px; }
.login-human-check-question strong { display: inline-flex; min-width: 124px; justify-content: center; border: 1px solid #79aebf; border-radius: 8px; padding: 9px 14px; color: #17343f; background: #fff; font-size: 22px; letter-spacing: .08em; }
.login-human-check input[type="text"] { max-width: 160px; background: #fff; }
.login-access-form button {
  color: #fff !important; background: #e7575b !important; cursor: pointer !important;
  transition: background-color .18s ease, transform .18s ease;
}
.login-access-form button:hover { background: #ca3f45 !important; }
.login-access-form button:focus-visible { outline: 3px solid rgba(31, 150, 195, .38); outline-offset: 3px; }
.login-access-message {
  margin-top: 20px; padding: 14px 16px; border-left: 4px solid #217cb7; border-radius: 7px;
  color: #294650; background: #e5f5f8; font-size: 14px; line-height: 1.7;
}
.login-access-message-error { border-left-color: #b63f43; color: #73272a; background: #fce8e8; }
.login-access-message-success { border-left-color: #3f7d4a; color: #275531; background: #e8f5ea; }
.login-access-actions { margin-top: 20px; text-align: center; }
.login-access-actions a { color: #075b75; font-weight: 750; text-decoration: underline; text-underline-offset: 3px; }
.login-access-actions-prominent { padding: 18px; border-radius: 9px; background: #f4f8f9; }
.login-access-primary-link {
  display: block; margin-top: 20px; padding: 14px 18px; border-radius: 9px;
  color: #fff !important; background: #075b75; text-align: center; font-weight: 800;
}
.btn-login .fa { display: none !important; }
.login-preview-help { display: grid; gap: 8px; margin-top: 26px; padding-top: 22px; border-top: 1px solid #e1e8eb; }
.login-preview-help p { margin: 0; color: #52616a; font-size: 13px; line-height: 1.7; }
.login-preview-help strong { color: #263f49; }
.login-preview-site-name { margin: 24px 0 0; color: #7b878d !important; font-size: 12px; font-weight: 700; }

@media (max-width: 900px) {
  .login-preview-shell { grid-template-columns: 1fr; }
  .login-preview-brand { min-height: 390px; }
}
@media (max-width: 540px) {
  .login-preview-shell { border-radius: 16px; }
  .login-preview-brand,
  .login-preview-panel { padding: 30px 22px; }
  .login-preview-brand { min-height: 360px; }
  .login-preview-mark { font-size: 58px; }
  .login-preview-brand h1 { font-size: 29px; }
}

/* ===============================================================
   操作25: イベント / しる、まなぶ（原画面6〜9）
=============================================================== */
.event-pagehead,
.magazine-pagehead {
  max-width: 920px;
  margin-bottom: 48px;
}
.event-pagehead .chitele-pagetitle,
.magazine-pagehead .chitele-pagetitle {
  margin-top: 3px;
  color: #27333a;
  font-size: clamp(30px, 4vw, 42px);
  line-height: 1.25;
}
.event-pagehead .chitele-pagelead,
.magazine-pagehead .chitele-pagelead {
  margin-top: 27px;
  color: #303840;
  line-height: 1.9;
}
.event-source-grid,
.magazine-source-grid { gap: 34px 24px; }
.event-source-grid .event-card,
.magazine-source-grid .mag-card {
  min-width: 0;
  border: 0;
  border-radius: 0;
  overflow: visible;
  box-shadow: none;
}
.event-source-grid .event-card:hover,
.magazine-source-grid .mag-card:hover { box-shadow: none; }
.event-source-grid .event-card-thumb,
.magazine-source-grid .mag-card-thumb {
  overflow: hidden;
  border-radius: 2px;
  background: linear-gradient(135deg, #dff5f2 0%, #d9f3f6 55%, #fde8e0 100%);
}
.event-source-grid .event-card-ph,
.magazine-source-grid .mag-card-ph {
  color: #43818b;
  font-size: 13px;
  letter-spacing: .14em;
}
.event-source-grid .event-card-body,
.magazine-source-grid .mag-card-body { gap: 10px; padding: 16px 2px 0; }
.event-source-grid .event-card-title,
.magazine-source-grid .mag-card-title {
  color: #26323a;
  font-size: 17px;
  font-weight: 850;
  line-height: 1.55;
}
.event-source-grid .event-card-title a { color: inherit; text-decoration: none; }
.event-source-grid .event-card-title a:hover,
.magazine-source-grid .mag-card:hover .mag-card-title { color: #1e6dc1; }
.event-source-grid .event-card-excerpt {
  display: -webkit-box;
  overflow: hidden;
  color: #49555c;
  font-size: 13px;
  line-height: 1.75;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
.event-source-grid .event-card-date { color: #657078; font-size: 12px; line-height: 1.65; }
.event-source-grid .btn-event-detail {
  min-height: 44px;
  margin-top: 7px;
  border-radius: 0;
  padding: 11px 16px;
  background: #1e6dc1;
  text-decoration: none;
}
.event-source-grid .btn-event-detail:hover { color: #fff; background: #1e6dc1; text-decoration: none; }
.source-more-pagination { margin-top: 50px; }
.source-more-pagination .nav-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.source-more-pagination .page-numbers {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  border: 1px solid #1e6dc1;
  border-radius: 999px;
  padding: 9px 21px;
  color: #1e6dc1;
  background: #fff;
  font-weight: 800;
}
.source-more-pagination .current { color: #fff; background: #1e6dc1; }
.source-back { margin-bottom: 34px; }
.source-back a { color: #26333a; font-size: 14px; font-weight: 750; text-decoration: none; }
.source-back a:hover { color: #1e6dc1; text-decoration: underline; text-underline-offset: 3px; }
.event-single-kv,
.article-kv {
  min-height: 230px;
  border-radius: 0;
  background: linear-gradient(135deg, #dff5f2 0%, #d9f3f6 55%, #fde8e0 100%);
}
.event-single-kv--placeholder,
.article-kv--placeholder {
  display: grid;
  place-items: center;
  color: #43818b;
  font-size: 14px;
  font-weight: 850;
  letter-spacing: .16em;
}
.event-title-row,
.article-title-row {
  display: flex;
  min-width: 0;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}
.event-title-row .event-single-title,
.article-title-row .article-title { min-width: 0; flex: 1 1 auto; }
.event-single-title,
.article-title { font-size: clamp(25px, 4vw, 34px); line-height: 1.5; }
.source-like-disabled {
  display: inline-flex;
  min-width: 74px;
  min-height: 44px;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  gap: 5px;
  border: 1px solid #cfd8dd;
  border-radius: 999px;
  padding: 7px 12px;
  color: #76828a;
  background: #f5f7f8;
  cursor: not-allowed;
  font-size: 19px;
}
.source-like-disabled span { font-size: 10px; font-weight: 750; }

/* DENBAK 2026-08-30: 罫線色を共通の #dce3e6 にし、1行目の上にも罫線を出す。上下の余白は左右対称（12px）。 */
.event-meta { border-top: 1px solid #dce3e6; }
.event-meta > div { padding: 12px 0; border-bottom: 1px solid #dce3e6; }
.event-meta > div:last-child { border-bottom: 1px solid #dce3e6; } /* DENBAK 2026-08-30: 最終行（主催）の下にも罫線を出す */
.event-meta dt { color: #35434b; }
.source-content-section { margin-bottom: 42px; }
.source-detail-section { margin: 0 0 60px; }
/* DENBAK 2026-08-30: イベント詳細の見出しも、しる、まなぶ／みんなのハブと同じ指定を共有する。 */
.event-meta--overview { border-top: 1px solid #dce3e6; border-bottom: 1px solid #dce3e6; }
.event-howto ol { display: grid; gap: 8px; margin: 0; padding-left: 24px; color: #35434b; line-height: 1.8; }
.event-howto p { color: #52616a; line-height: 1.8; }
.event-card-participants { color: #1e6dc1; font-size: 13px; font-weight: 800; }
.event-speakers-body { padding: 20px; border: 1px solid #dce3e6; border-radius: 8px; color: #35434b; line-height: 1.9; background: #fff; }
.mag-card-labels { display: flex; flex-wrap: wrap; gap: 6px; }
.mag-card-labels span, .article-type-label { display: inline-block; margin: 0 0 8px; padding: 3px 9px; border-radius: 999px; color: #1e6dc1; background: #eaf6fa; font-size: 12px; font-weight: 800; }
.mag-card-labels .is-pin { color: #7d5700; background: #fff2c7; }
.mag-card.is-pinned { border-color: #e5bd42; }
.support-profile-fields { margin: 36px 0; }
.support-profile-fields h2 { font-size: 22px; }
.support-profile-fields dl { border: 1px solid #dce3e6; }
.support-profile-fields dl > div { display: grid; grid-template-columns: 180px minmax(0,1fr); border-bottom: 1px solid #dce3e6; }
.support-profile-fields dl > div:last-child { border-bottom: 0; }
.support-profile-fields dt, .support-profile-fields dd { margin: 0; padding: 16px 18px; line-height: 1.9; }
.support-profile-fields dt { background: #f3f8fa; font-weight: 800; }
.event-apply { margin-top: 8px; padding-top: 30px; }
.magazine-source-grid .mag-card-foot { color: #727c83; }
.magazine-source-grid .mag-card-likes.is-disabled { color: #8a949b; cursor: not-allowed; }
.article-title-row { margin-bottom: 8px; }
.article-dateline {
  flex-wrap: wrap;
  gap: 7px 18px;
  margin-bottom: 38px;
  color: #707b82;
}
.article-body { margin-bottom: 40px; }
/* 3つの詳細ページ（イベント／しる、まなぶ／みんなのハブ）で共有する本文見出し。
   h2＝青の縦線＋22px、h3＝青文字18px。DENBAK 2026-08-30 */
.detail-body h2,
.detail-section > h2,
.consult-section-title {
  border-left: 5px solid #217cb7;
  padding-left: 13px;
  color: #26333a;
  font-size: 22px;
}
.detail-body h3,
.detail-section > h3,
.consult-section-sub { color: #1e6dc1; font-size: 18px; }
/* セクションの下余白も共通。 */
.detail-section { margin: 0 0 60px; }
.detail-body { color: #2d323e; line-height: 1.95; }
.chitele-wrap .comments-area {
  margin-top: 42px;
  border-top: 1px solid #dce3e6;
  padding-top: 28px;
}

@media (max-width: 620px) {
  .event-pagehead,
  .magazine-pagehead { margin-bottom: 34px; }
  .event-pagehead .chitele-pagelead,
  .magazine-pagehead .chitele-pagelead { margin-top: 20px; }
  .event-title-row,
  .article-title-row { display: grid; }
  .source-like-disabled { justify-self: start; }
  .event-single-kv,
  .article-kv { min-height: 180px; }
  .event-meta > div { display: grid; gap: 3px; }
  .event-meta dt { min-width: 0; }
  .source-detail-section h2,
  .article-body h2 { font-size: 20px; }
}

/* ============================================================
   操作26: メンバーリスト / メンバー詳細 / マイページ（原画面10〜12）
   ============================================================ */
.directory.members .site-sub-header,
.directory.members .entry-header { display: none; }
.chitele-members-directory,
.chitele-member-single { width: min(1180px, calc(100% - 40px)); margin: 0 auto 72px; }
.member-pagehead,
.member-single-pagehead { margin-bottom: 36px; }
.member-directory-layout { display: grid; grid-template-columns: 230px minmax(0, 1fr); gap: 42px; align-items: start; }
.member-filter-panel { overflow: hidden; border: 1px solid #dce3e6; border-radius: 5px; background: #fff; }
.member-filter-panel section { padding: 20px; border-bottom: 1px solid #e5eaec; }
.member-filter-panel h2 { margin: 0 0 12px; color: #26343b; font-size: 16px; }
.member-filter-panel ul { display: grid; gap: 7px; margin: 0; padding: 0; list-style: none; }
.member-filter-panel li span { display: block; color: #7c898f; font-size: 14px; cursor: not-allowed; }
.member-filter-panel li span::before { content: "□"; margin-right: 7px; color: #aab4b8; }
.member-filter-note { margin: 0; padding: 18px 20px; color: #626f75; background: #f4f7f8; font-size: 12px; line-height: 1.7; }
.member-directory-main { min-width: 0; }
.member-directory-main .subnav-filters { margin: 0 0 14px; }
.member-directory-main .subnav-search { float: none; width: min(100%, 520px); }
.member-directory-main .bp-dir-search-form { display: flex; align-items: stretch; border-color: #cbd5d9; border-radius: 4px; }
.member-public-scope-note { margin: 0 0 18px; color: #65747b; font-size: 13px; }
.member-safe-table { overflow: hidden; border: 1px solid #d9e1e4; border-radius: 5px; background: #fff; }
.member-safe-row { display: grid; grid-template-columns: 105px minmax(220px, 1fr) minmax(210px, .9fr); align-items: center; min-height: 88px; border-bottom: 1px solid #e7ecee; }
.member-safe-row:last-child { border-bottom: 0; }
.member-safe-row > * { min-width: 0; padding: 16px 20px; }
.member-safe-row--head { min-height: 46px; color: #435158; background: #f1f4f5; font-size: 13px; font-weight: 750; }
.member-kind-label { display: inline-flex; align-items: center; justify-content: center; min-width: 54px; border-radius: 999px; padding: 5px 11px; color: #1e6dc1; background: #e9f5fa; font-size: 12px; font-weight: 750; }
.member-safe-person { display: flex; align-items: center; gap: 14px; }
.member-safe-avatar { flex: 0 0 auto; }
.member-safe-avatar img { display: block; width: 56px; height: 56px; border: 1px solid #e0e6e8; border-radius: 50%; object-fit: cover; }
.member-safe-person h2 { margin: 0; font-size: 16px; line-height: 1.5; }
.member-safe-person h2 a { color: #26343b; text-decoration: none; }
.member-safe-person h2 a:hover { color: #1e6dc1; text-decoration: underline; }
.member-safe-value { display: flex; align-items: center; justify-content: space-between; gap: 14px; color: #65737a; font-size: 13px; }
.member-safe-value a { flex: 0 0 auto; color: #1e6dc1; font-weight: 750; }
.chitele-member-single .chitele-breadcrumb { margin-top: 24px; }
.chitele-member-header { margin: 0 0 28px; border: 1px solid #dce3e6; border-radius: 7px; padding: 28px; background: #fff; }
.member-safe-header-card { display: flex; align-items: center; gap: 26px; }
.member-safe-header-avatar { position: relative; flex: 0 0 112px; }
.member-safe-header-avatar img { display: block; width: 112px; height: 112px; border: 1px solid #dce3e6; border-radius: 50%; object-fit: cover; }
.member-avatar-change { display: block; margin: 0 0 9px; color: #1e6dc1; font-size: 12px; font-weight: 700; text-align: center; }
.member-safe-header-copy { min-width: 0; }
.member-safe-header-copy h2 { margin: 2px 0 9px; color: #26343b; font-size: clamp(23px, 3.4vw, 32px); }
.member-safe-header-copy p { margin: 0; color: #5c6a71; line-height: 1.75; }
.member-safe-header-copy .member-safe-state { display: inline-flex; border-radius: 999px; padding: 4px 10px; color: #1e6dc1; background: #e9f5fa; font-size: 12px; font-weight: 750; }
.member-header-customer-number { display: flex; flex-wrap: wrap; align-items: baseline; gap: 7px 12px; }
.member-header-customer-number span { color: #52616a; font-size: 12px; font-weight: 750; }
.member-header-customer-number strong { color: #1e6dc1; font-size: 17px; overflow-wrap: anywhere; }
.member-header-customer-number small { color: #75828a; font-size: 11px; }
.member-page-jump { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 22px; padding: 12px; border: 1px solid var(--chitele-line); border-radius: var(--chitele-radius-md); background: #fff; }
.member-page-jump a { display: inline-flex; min-height: 42px; align-items: center; padding: 7px 13px; border: 1px solid #b8c6ce; border-radius: 999px; color: var(--chitele-blue-dark); background: var(--chitele-surface-soft); font-size: 13px; font-weight: 750; text-decoration: none; }
.member-page-jump a:hover { border-color: var(--chitele-blue); background: var(--chitele-blue-soft); }
.chitele-member-home { display: block; }
.chitele-member-home .bp-wrap { width: 100%; }
.chitele-member-home .item-body { min-width: 0; }
.chitele-member-home .main-navs { overflow-x: auto; border: 1px solid #dce3e6; border-radius: 5px 5px 0 0; background: #fff; }
.chitele-member-home .main-navs ul { display: flex; min-width: max-content; }
.chitele-member-home .main-navs li a { min-height: 46px; }
.member-public-profile { overflow: hidden; border: 1px solid #dce3e6; border-radius: 7px; background: #fff; }
.member-public-profile > h2 { margin: 0; border-bottom: 1px solid #e2e8ea; padding: 19px 24px; color: #26343b; background: #f4f7f8; font-size: 19px; }
.member-public-profile dl { margin: 0; }
.member-public-profile dl > div { display: grid; grid-template-columns: 160px minmax(0, 1fr); border-bottom: 1px solid #e7ecee; }
.member-public-profile dt,
.member-public-profile dd { margin: 0; padding: 16px 22px; }
.member-public-profile dt { color: #415058; background: #fafbfb; font-weight: 750; }
.member-public-profile dd { color: #606e75; }
.member-public-profile-note { margin: 0; padding: 17px 22px; color: #5b6970; background: #f3f8fa; font-size: 13px; }

@media (max-width: 720px) {
  .chitele-members-directory,
  .chitele-member-single { width: min(100% - 28px, 1180px); }
  .member-directory-layout { grid-template-columns: 1fr; gap: 24px; }
  .member-filter-panel { order: 2; }
  .member-directory-main { order: 1; }
  .member-safe-row--head { display: none; }
  .member-safe-row { display: grid; grid-template-columns: 70px minmax(0, 1fr); min-height: 0; padding: 16px; }
  .member-safe-row > * { padding: 0; }
  .member-safe-kind { grid-column: 1 / -1; margin-bottom: 10px; }
  .member-safe-person { grid-column: 1 / -1; }
  .member-safe-value { grid-column: 1 / -1; margin-top: 13px; padding-top: 12px; border-top: 1px solid #edf0f1; }
  .member-safe-header-card { display: grid; justify-items: center; text-align: center; }
  .member-safe-header-copy { width: 100%; }
  .chitele-member-home .main-navs { overflow-x: visible; }
  .chitele-member-home .main-navs ul {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    min-width: 0;
  }
  .chitele-member-home .main-navs li { min-width: 0; }
  .chitele-member-home .main-navs li a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    padding-inline: 6px;
    text-align: center;
    overflow-wrap: anywhere;
  }
  .member-public-profile dl > div { grid-template-columns: 1fr; }
  .member-public-profile dt { padding-bottom: 5px; }
  .member-public-profile dd { padding-top: 5px; }
}

/* ============================================================
   操作30: 2026-08-11改訂メンバー一覧・詳細（No.15〜19）
   ============================================================ */
.member-directory-v2 { width: min(1280px, calc(100% - 48px)); }
.member-directory-v2 .member-pagehead { margin-bottom: 46px; }
.member-directory-v2 .member-directory-layout { grid-template-columns: 260px minmax(0, 1fr); gap: 34px; }
.member-filter-panel-v2 { overflow: visible; border: 0; border-radius: 0; }
.member-filter-fallback-note { display: none; margin: 0 0 12px; color: #25333b; font-size: 16px; font-weight: 800; }
.member-filter-form { display: grid; gap: 24px; }
.member-name-search { display: grid; gap: 7px; color: #25333b; font-size: 13px; font-weight: 800; }
.member-name-search input { width: 100%; min-height: 44px; border: 1px solid #aebfc7; border-radius: 7px; padding: 8px 10px; color: #1f2f37; background: #fff; font: inherit; }
.member-filter-form fieldset { min-width: 0; margin: 0; border: 0; border-top: 2px solid #1e6dc1; padding: 13px 0 0; }
.member-filter-form legend { padding: 0 8px 0 0; color: #25333b; font-size: 16px; font-weight: 800; }
.member-filter-help { margin: 0 0 10px; color: #6b7780; font-size: 11px; }
.member-kind-options { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
.member-kind-options label { position: relative; min-width: 0; }
.member-kind-options input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.member-kind-options span {
  display: block;
  border: 1px solid #dce3e6;
  border-radius: 999px;
  padding: 5px 4px;
  color: #42515a;
  background: #fff;
  font-size: 12px;
  font-weight: 750;
  text-align: center;
  cursor: pointer;
}
.member-kind-options input:checked + span { border-color: #1e6dc1; color: #fff; background: #1e6dc1; }
.member-kind-options input:focus-visible + span { outline: 3px solid var(--chitele-focus); outline-offset: 2px; }
.member-check-list { display: grid; grid-template-columns: 1fr; gap: 5px; }
.member-check-list label { display: flex; align-items: flex-start; gap: 7px; color: #3f4d55; font-size: 12px; line-height: 1.55; cursor: pointer; }
.member-check-list input { flex: 0 0 auto; width: 15px; height: 15px; margin: 2px 0 0; accent-color: #1e6dc1; }
.member-issue-hold { border: 1px dashed #d98645 !important; padding: 13px !important; background: #fff8f0; }
.member-issue-hold legend { color: #9a4e19; background: #fff8f0; }
.member-issue-hold > p { margin: 0 0 11px; color: #835430; font-size: 11px; line-height: 1.6; }
.member-issue-hold[disabled] .member-check-list { opacity: .72; }
.member-filter-submit,
.member-filter-clear,
.member-filter-dialog-close-bottom {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  border-radius: 999px;
  padding: 9px 16px;
  font-size: 13px;
  font-weight: 800;
  text-align: center;
}
.member-filter-submit { border: 1px solid #1e6dc1 !important; color: #fff !important; background: #1e6dc1 !important; }
.member-filter-submit:hover { border-color: #1e6dc1 !important; background: #1e6dc1 !important; }
.member-filter-clear { border: 1px solid #dce3e6; color: #53616a; background: #fff; text-decoration: none; }
.member-filter-dialog-close-bottom { display: none; border: 0; color: #52616a; background: transparent; }
.member-filter-group { min-width: 0; border: 0; border-top: 2px solid #1e6dc1; }
.member-filter-group[hidden] { display: none; }
.member-filter-group > summary { display: flex; min-height: 44px; align-items: center; justify-content: space-between; gap: 8px; padding: 10px 0; color: #25333b; font-size: 14px; font-weight: 800; cursor: pointer; list-style: none; }
.member-filter-group > summary::-webkit-details-marker { display: none; }
.member-filter-group > summary::after { content: "+"; flex: 0 0 auto; color: #1e6dc1; font-size: 20px; font-weight: 500; }
.member-filter-group[open] > summary::after { content: "−"; }
.member-filter-group-body { padding: 0 0 10px; }
.member-check-list label small { margin-left: auto; color: #738087; font-size: 11px; font-variant-numeric: tabular-nums; }
.member-check-list label.is-empty { opacity: .48; }
.member-results { scroll-margin-top: 18px; transition: opacity .16s ease; }
.member-results.is-loading { opacity: .5; }
html.member-filter-live-ready .member-filter-submit { display: none; }

/* 認証済み会員向け・公開済み4種限定のサイト内検索。 */
.chitele-search-page { width: min(100% - 40px, 1180px); margin: 0 auto 72px; }
.chitele-site-search-form { margin: 0 0 34px; border: 1px solid #dce3e6; border-radius: 14px; padding: 20px; background: #f6fafb; }
.chitele-site-search-form > label { display: block; margin-bottom: 7px; color: #31454f; font-weight: 800; }
.chitele-site-search-form > small { display: block; margin-top: 9px; color: #687982; line-height: 1.6; }
.home-site-search { margin-top: -4px; }
.chitele-site-search-form > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 9px; }
.chitele-site-search-form input { width: 100%; min-height: 48px; border: 1px solid #9daeb7; border-radius: 8px; padding: 9px 12px; color: #1f2f37; background: #fff; font: inherit; }
.chitele-site-search-form button { min-height: 48px; cursor: pointer; border: 1px solid #1e6dc1; border-radius: 8px; padding: 9px 22px; color: #fff; background: #1e6dc1; font: inherit; font-weight: 800; }
.chitele-search-results { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.chitele-search-results article { display: grid; align-content: start; min-width: 0; border: 1px solid #dce3e6; border-radius: 14px; padding: 20px; background: #fff; }
.chitele-search-results article > span { width: max-content; border-radius: 999px; padding: 4px 9px; color: #1e6dc1; background: #eaf7fa; font-size: 12px; font-weight: 800; }
.chitele-search-results h2 { margin: 11px 0 6px; color: #17343f; font-size: 20px; line-height: 1.5; }
.chitele-search-results h2 a { color: inherit; text-decoration: none; }
.chitele-search-results h2 a:hover { color: #1e6dc1; text-decoration: underline; }
.chitele-search-results time { color: #687982; font-size: 12px; }
.chitele-search-results p { color: #52636c; line-height: 1.75; }
.chitele-search-result-link { margin-top: auto; color: #1e6dc1; font-weight: 800; }
.chitele-search-empty { border: 1px dashed #aac3cc; border-radius: 14px; padding: 30px; background: #f7fafb; text-align: center; }

@media (max-width: 680px) {
  .chitele-search-page { width: min(100% - 28px, 1180px); }
  .chitele-site-search-form > div,
  .chitele-search-results { grid-template-columns: 1fr; }
  .chitele-site-search-form button { width: 100%; }
}
.member-mobile-filter-open { display: none; width: 100%; min-height: 46px; margin: 0 0 20px; border: 1px solid #1e6dc1 !important; border-radius: 3px; color: #1e6dc1 !important; background: #fff !important; font-weight: 800; }
.member-mobile-filter-open::before { content: "☰"; margin-right: 8px; font-size: 12px; }
.member-filter-dialog:not([open]) { display: none; }
.member-filter-dialog { width: min(440px, calc(100% - 28px)); max-height: calc(100dvh - 28px); margin: auto; border: 0; border-radius: 8px; padding: 0; background: #fff; box-shadow: 0 18px 48px rgba(21, 40, 54, .28); }
.member-filter-dialog::backdrop { background: rgba(24, 35, 42, .7); }
.member-filter-dialog-head { position: sticky; z-index: 2; top: 0; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid #dde5e8; padding: 15px 18px; background: #fff; }
.member-filter-dialog-head h2 { margin: 0; color: #25333b; font-size: 20px; }
.member-filter-dialog-head button { min-width: 42px; min-height: 42px; border: 0 !important; color: #35434b !important; background: transparent !important; font-size: 26px; line-height: 1; }
.member-filter-dialog .member-filter-form { padding: 18px; }
.member-list-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 0 0 13px; }
.member-list-toolbar p { margin: 0; color: #59666e; font-size: 13px; }
.member-list-toolbar p strong { color: #1e6dc1; font-size: inherit; line-height: inherit; } /* DENBAK 2026-08-30: 件数だけ大きくしない */
.member-list-toolbar form { display: flex; align-items: center; gap: 7px; }
.member-list-toolbar label { color: #69767d; font-size: 12px; }
.member-list-toolbar select { min-height: 38px; border: 1px solid #d6dfe3; border-radius: 3px; padding: 5px 28px 5px 9px; color: #3d4b53; background: #fff; font-size: 12px; }
.member-list-toolbar button { min-height: 38px; border: 1px solid #1e6dc1 !important; border-radius: 3px; padding: 5px 12px; color: #1e6dc1 !important; background: #fff !important; font-size: 12px; font-weight: 750; }
.member-active-tags { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 16px; color: #65727a; font-size: 12px; }
.member-active-tag { border: 1px solid #b9d6e2; border-radius: 999px; padding: 3px 9px; color: #1e6dc1; background: #f4fbfd; font-weight: 700; }
.member-organization-table { border-top: 1px solid #dce3e6; }
.member-organization-row { display: grid; grid-template-columns: 74px minmax(170px, .9fr) minmax(120px, .65fr) minmax(260px, 1.65fr); align-items: start; border-bottom: 1px solid #dce3e6; }
.member-organization-row > * { min-width: 0; margin: 0; padding: 15px 12px; }
.member-organization-row-head { color: #33434b; background: #edf5f7; font-size: 12px; font-weight: 800; }
.member-organization-row h2 { font-size: 13px; line-height: 1.65; }
.member-organization-row h2 a { color: #273840; font-weight: 800; text-decoration: none; }
.member-organization-row h2 a:hover { color: #1e6dc1; text-decoration: underline; }
.member-kind-label.is-municipality { color: #e46c56; background: #fdefec; } /* DENBAK 2026-08-30: 自治体は緑→サイト共通のオレンジ */
.member-organization-tag { color: #55636b; font-size: 11px; line-height: 1.65; }
.member-organization-summary { display: -webkit-box; overflow: hidden; color: #4b5961; font-size: 12px; line-height: 1.75; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.member-directory-pagination { margin: 28px 0; }
.member-directory-pagination .page-numbers { display: flex; align-items: center; justify-content: center; gap: 7px; margin: 0; padding: 0; list-style: none; }
.member-directory-pagination a,
.member-directory-pagination span { display: inline-flex; align-items: center; justify-content: center; min-width: 34px; min-height: 34px; border-radius: 50%; color: #314149; font-size: 12px; text-decoration: none; }
.member-directory-pagination .current { color: #fff; background: #1e6dc1; font-weight: 800; }
.member-directory-pagination a:hover { color: #fff; background: #1e6dc1; }
.member-directory-v2 .member-public-scope-note { margin-top: 24px; border-left: 3px solid #94bdcd; padding: 8px 12px; background: #f5fafc; }
.member-list-empty,
.member-dataset-unavailable,
.member-profile-empty { border: 1px solid #dce3e6; border-radius: 6px; padding: 24px; background: #f7fafb; }
.member-dataset-unavailable { display: grid; gap: 3px; margin: 0 0 22px; color: #4c5a62; }
.member-detail-backlink { display: inline-flex; margin: 0 0 18px; color: #1e6dc1; font-weight: 750; }
.member-organization-hero { margin: 0 0 28px; padding: 24px 28px; color: #fff; background: #1e6dc1; }
.member-organization-hero .member-kind-label { margin-bottom: 9px; color: #1e6dc1; background: #fff; }
.member-organization-hero .member-kind-label.is-municipality { color: #e46c56; }
.member-organization-hero h2 { margin: 0; color: #fff; font-size: clamp(23px, 3vw, 34px); line-height: 1.45; }
.member-organization-number { margin: 9px 0 0; color: #fff; font-size: 13px; font-weight: 400; letter-spacing: .04em; } /* DENBAK 2026-08-30: 詳細の会員番号は通常ウェイト（色はそのまま） */
.member-detail-edit { display: inline-flex; min-height: 40px; align-items: center; margin-top: 15px; border: 1px solid #fff; border-radius: 999px; padding: 7px 16px; color: #1e6dc1; background: #fff; font-size: 13px; font-weight: 800; text-decoration: none; }
.member-detail-edit:hover { color: #fff; background: transparent; }
.member-organization-section { margin: 0 0 32px; }
.member-organization-section h3,
.member-profile-scope-note h3 { margin: 0; border-bottom: 1px solid #dce3e6; padding: 12px 16px; color: #2a3941; background: #eff6f8; font-size: 17px; }
.member-organization-section dl { margin: 0; border: 1px solid #dce3e6; border-top: 0; }
.member-organization-section dl > div { display: grid; grid-template-columns: 180px minmax(0, 1fr); border-bottom: 1px solid #dce3e6; }
.member-organization-section dl > div:last-child { border-bottom: 0; }
.member-organization-section dt,
.member-organization-section dd { margin: 0; padding: 16px 18px; }
.member-organization-section dt { color: #34444c; background: #f8fafb; font-weight: 800; }
.member-organization-section dd { color: #4e5d65; line-height: 1.9; }
.member-profile-scope-note { margin: 0 0 36px; border: 1px solid #dce3e6; }
.member-profile-scope-note p { margin: 0; padding: 20px; color: #536169; line-height: 1.9; }
.member-organization-long dt { align-self: stretch; }
.member-organization-long dd { white-space: normal; overflow-wrap: anywhere; }
.member-profile-complete-list dd > p { margin: 0 0 12px; }
.member-profile-complete-list dd > p:last-child { margin-bottom: 0; }
.member-profile-empty-note { margin: 0; border: 1px solid #dce3e6; border-top: 0; padding: 18px; color: #58676f; background: #fafcfc; }
.member-reference-links { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.member-reference-links a { display: inline-flex; align-items: center; gap: 5px; color: #1e6dc1; font-weight: 750; overflow-wrap: anywhere; }
.member-summary-label { display: block; margin-bottom: 5px; color: #1e6dc1; font-size: 12px; font-weight: 800; }
.member-list-number { display: block; margin-top: 4px; color: #9aa5ab !important; font-size: 10px !important; font-weight: 400 !important; letter-spacing: .03em; } /* DENBAK 2026-08-30: 一覧の会員番号は薄いグレー・通常ウェイト */
.member-directory-back-wrap { text-align: center; }
.member-directory-back { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; border: 1px solid #1e6dc1; border-radius: 999px; padding: 8px 24px; color: #1e6dc1; font-weight: 800; text-decoration: none; }
.member-directory-back:hover { color: #fff; background: #1e6dc1; }

.chitele-primary-menu .chitele-logout-link { color: #8b2635; }
.chitele-primary-menu .chitele-logout-link:hover,
.chitele-primary-menu .chitele-logout-link:focus { color: #fff; background: #8b2635; }
.member-page-jump .member-page-logout { margin-left: auto; border-color: #8b2635; color: #8b2635; }
.login-access-choice-links { display: grid; gap: 12px; }
.login-access-choice-links > a:last-child { text-align: center; }

@media (max-width: 780px) {
	.member-page-jump { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.member-page-jump a { justify-content: center; border-radius: var(--chitele-radius-sm); text-align: center; }
  .member-directory-v2 { width: min(100% - 28px, 1280px); }
  .member-directory-v2 .member-pagehead { margin-bottom: 24px; }
  .member-directory-v2 .member-directory-layout { display: block; }
  .member-filter-panel-v2 { display: block; margin: 0 0 28px; border: 1px solid #dce3e6; border-radius: 5px; padding: 18px; }
  .member-filter-fallback-note { display: block; }
  .member-mobile-filter-open { display: none; }
  .member-filter-dialog-ready .member-filter-panel-v2 { display: none; }
  .member-filter-dialog-ready .member-mobile-filter-open { display: block; }
  .member-filter-dialog-ready .member-filter-dialog-close-bottom { display: flex; }
	.member-filter-dialog { inset: 0 auto 0 0; width: min(88vw, 390px); max-width: none; height: 100dvh; max-height: none; margin: 0; border-radius: 0 10px 10px 0; overflow: auto; }
	.member-filter-dialog .member-filter-dialog-head { position: sticky; top: 0; z-index: 3; }
  .member-list-toolbar { align-items: flex-end; }
  .member-list-toolbar p strong { font-size: inherit; } /* DENBAK 2026-08-30: SPも件数を大きくしない */
  .member-list-toolbar form { display: grid; grid-template-columns: auto auto; gap: 5px; }
  .member-list-toolbar form label { grid-column: 1 / -1; }
  .member-list-toolbar form button { display: none; }
  .member-organization-row-head { display: none; }
  .member-organization-table { border-top: 1px solid #dce3e6; }
  .member-organization-row { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 4px 9px; padding: 16px 0; }
  .member-organization-row > * { padding: 0; }
  .member-organization-row > div { grid-column: 1; grid-row: 1; }
  .member-organization-row h2 { grid-column: 1 / -1; grid-row: 2; margin-top: 4px; font-size: 15px; }
  .member-organization-tag { grid-column: 2; grid-row: 1; align-self: center; }
  .member-organization-summary { grid-column: 1 / -1; grid-row: 3; margin-top: 3px; -webkit-line-clamp: 2; }
  .member-organization-section dl > div { grid-template-columns: 1fr; }
  .member-organization-section dt { padding-bottom: 5px; }
  .member-organization-section dd { padding-top: 8px; }
  .support-profile-fields dl > div { grid-template-columns: 1fr; }
  .member-organization-hero { padding: 19px 18px; }
}

/* Source-backed member actions: reversible posts, reactions and favorites. */
.consult-create{margin:20px 0;border:1px solid #dce3e6;border-radius:12px;background:#fff}.consult-create>summary{cursor:pointer;list-style:none;padding:14px 20px;font-weight:700}.consult-create>summary::-webkit-details-marker{display:none}.consult-create .consult-editor{margin:0;border:0;border-top:1px solid #dce3e6;border-radius:0}.consult-publish-confirm{display:flex;gap:10px;align-items:flex-start;border:1px solid #b7d3dd;border-radius:8px;padding:12px 14px;background:#f3fafc;font-weight:700;line-height:1.65}.consult-publish-confirm input{flex:0 0 auto;width:20px;height:20px;margin-top:3px}.consult-owner-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.consult-owner-actions form{margin:0}.consult-delete-button{border:1px solid #a32020;background:#fff;color:#8d1c1c;border-radius:6px;padding:8px 12px;cursor:pointer}.chitele-content-reaction,.member-favorite-form{display:inline-flex;margin:0}.chitele-content-reaction button,.talk-favorite-form button,.member-favorite-form button{border:1px solid #cbd4df;background:#fff;color:#334155;border-radius:999px;padding:7px 12px;cursor:pointer}.chitele-content-reaction.is-active button,.talk-favorite-form.is-active button,.member-favorite-form.is-active button{border-color:#b71c49;background:#fff1f5;color:#9b123c}.talk-row-wrap{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}.talk-row-wrap>.talk-row{min-width:0}.talk-row-favorite{padding:0 12px}.talk-roomhead .talk-room-favorite{margin-left:auto}.member-favorite-events{margin:20px 0;padding:20px;border:1px solid #dce3e6;border-radius:12px;background:#fff}.member-favorite-events h2{margin-top:0}.member-favorite-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.member-favorite-columns>div{border:1px solid #e0e6ea;border-radius:9px;padding:16px}.member-favorite-columns h3{margin:0 0 10px;color:#34434c;font-size:16px}.member-favorite-columns ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}.member-favorite-columns li a{display:grid;gap:3px;border-radius:7px;padding:10px;background:#f5f8fa;text-decoration:none}.member-favorite-columns li span{color:#68767e;font-size:12px}.member-favorite-columns p{margin:0;line-height:1.7}.member-organization-hero h2 small,.member-organization-row h2 small{font-size:.65em;font-weight:500;color:#536174}@media(max-width:680px){.member-favorite-columns{grid-template-columns:1fr}.member-favorite-events{padding:16px}}

/* Community safety, reporting and account protection. */
.chitele-safety-item a{white-space:nowrap}.safety-guide-hero{margin:28px 0 20px;border-radius:18px;padding:clamp(24px,5vw,52px);color:#fff;background:linear-gradient(135deg,#1e6dc1,#1e6dc1)}.safety-guide-hero h1{margin:5px 0 10px;color:#fff}.safety-guide-hero p:last-child{max-width:760px;margin-bottom:0;font-size:1.05rem;line-height:1.8}.safety-guide-nav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 34px}.safety-guide-nav a{border:1px solid #b8d7e0;border-radius:999px;padding:8px 14px;color:#1e6dc1;background:#fff;font-weight:700;text-decoration:none}.safety-guide-section{scroll-margin-top:24px;margin:0 0 26px;border:1px solid #d8e5e9;border-radius:14px;padding:clamp(20px,4vw,34px);background:#fff}.safety-guide-section h2{margin-top:0;color:#183d4a}.safety-guide-section li,.safety-guide-section p{line-height:1.85}.safety-guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.safety-guide-grid article{border-left:4px solid #217cb7;border-radius:8px;padding:16px;background:#f4fafb}.safety-guide-grid h3{margin:0 0 7px;font-size:1.05rem}.safety-guide-grid p{margin:0}.safety-session-form{margin-top:18px;border:1px solid #e1c1c1;border-radius:10px;padding:18px;background:#fff8f8}.safety-session-form button{border:1px solid #992f35;border-radius:6px;padding:10px 17px;color:#fff;background:#992f35;font-weight:800;cursor:pointer}.safety-session-form p{margin:9px 0 0;font-size:.92rem}.chitele-report-panel{margin:34px 0;border:1px solid #dce3e6;border-radius:12px;padding:20px;background:#f8fbfc}.chitele-report-panel h2{margin:0 0 12px;font-size:1.15rem}.chitele-report-panel summary{cursor:pointer;color:#1e6dc1;font-weight:800}.chitele-report-panel form{display:grid;gap:10px;margin-top:15px}.chitele-report-panel select{width:min(100%,560px);min-height:44px}.chitele-report-panel button{width:max-content;border:1px solid #1e6dc1;border-radius:6px;padding:9px 15px;color:#1e6dc1;background:#fff;font-weight:800;cursor:pointer}.chitele-report-result{border-left:4px solid #217cb7;padding:11px 14px;background:#eef9fc}.secretariat-inline-form a{align-self:center;white-space:nowrap}.secretariat-table small{display:block;color:#65727a;font-weight:500}
@media(max-width:680px){.safety-guide-grid{grid-template-columns:1fr}.safety-guide-nav{display:grid;grid-template-columns:1fr 1fr}.safety-guide-nav a{text-align:center}.chitele-report-panel{padding:16px}.safety-guide-section{border-radius:10px}}
.chitele-comment-report{display:inline-block;margin-left:8px;font-size:.88rem}.chitele-comment-report summary{cursor:pointer;color:#1e6dc1}.chitele-comment-report form{display:grid;gap:7px;margin-top:8px;border:1px solid #dce3e6;border-radius:7px;padding:10px;background:#f8fbfc}.chitele-comment-report select{display:block;max-width:100%;margin-top:4px}.chitele-comment-report button{width:max-content}

/* Office-to-member linked operations and clearer completion states. */
.secretariat-room-list{display:grid;gap:14px;margin:18px 0 28px}.secretariat-room-card{border:1px solid #d8e4e8;border-radius:10px;padding:18px;background:#fff}.secretariat-room-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.secretariat-room-card h4{margin:7px 0 4px;color:#273840;font-size:18px}.secretariat-room-card header p{margin:0;color:#64727a;font-size:13px}.secretariat-room-card header a{white-space:nowrap}.secretariat-room-card form{margin-top:16px;border-top:1px solid #dce3e6;padding-top:16px}.secretariat-profile-progress{display:block;margin-top:auto;color:#1e6dc1;font-weight:800}.member-profile-completion{display:grid;gap:7px;margin:12px 0;border:1px solid #d6e5e9;border-radius:9px;padding:13px 15px;background:#f7fbfc}.member-profile-completion>span{display:block;overflow:hidden;height:8px;border-radius:999px;background:#dce9ed}.member-profile-completion>span i{display:block;height:100%;border-radius:inherit;background:#1e6dc1}.member-profile-completion small{color:#5e6c73}.office-news-faq-list{display:grid;gap:8px}.office-news-faq-list details{border:1px solid #dbe5e8;border-radius:7px;background:#fff}.office-news-faq-list summary{cursor:pointer;padding:12px 14px;color:#26343b;font-weight:800}.office-news-faq-list details p{border-top:1px solid #e5ecee;padding:12px 14px}

/* 事務局 v0.4: 情報を探す、対象を開く、処置する順番が視覚的に分かる業務画面。 */
.chitele-preview-standalone{background:#eef4f6}.chitele-secretariat-preview{max-width:1500px;padding-bottom:72px}.chitele-secretariat-preview>section{margin-top:22px;border:1px solid #d7e4e8;border-radius:20px;padding:clamp(20px,3vw,34px);background:#fff;box-shadow:0 12px 34px rgba(27,63,76,.06)}
.secretariat-section-nav{position:sticky;z-index:40;top:0;display:grid;grid-template-columns:repeat(10,minmax(92px,1fr));gap:6px;margin:18px 0;padding:8px;border:1px solid #cfdee3;border-radius:16px;background:rgba(255,255,255,.96);box-shadow:0 8px 24px rgba(19,55,68,.09);backdrop-filter:blur(10px)}
.secretariat-section-nav a{display:grid;place-items:center;min-height:58px;border-radius:11px;padding:8px 5px;font-size:12px;line-height:1.35;text-align:center}.secretariat-section-nav a::before{display:block;margin-bottom:3px;font-size:20px;line-height:1}.secretariat-section-nav a:nth-child(1)::before{content:"⌂"}.secretariat-section-nav a:nth-child(2)::before{content:"＋"}.secretariat-section-nav a:nth-child(3)::before{content:"名"}.secretariat-section-nav a:nth-child(4)::before{content:"話"}.secretariat-section-nav a:nth-child(5)::before{content:"編"}.secretariat-section-nav a:nth-child(6)::before{content:"守"}.secretariat-section-nav a:nth-child(7)::before{content:"録"}.secretariat-section-nav a:nth-child(8)::before{content:"報"}.secretariat-section-nav a:nth-child(9)::before{content:"数"}.secretariat-section-nav a:nth-child(10)::before{content:"設"}
.secretariat-account-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0 24px}.secretariat-account-picker a{display:grid;gap:5px;min-width:0;border:1px solid #dce3e6;border-radius:14px;padding:15px;color:#193844;background:#fff;text-decoration:none;box-shadow:0 5px 16px rgba(21,55,68,.04)}.secretariat-account-picker a:hover,.secretariat-account-picker a[aria-current="true"]{border-color:#1e6dc1;background:#f0f9fc;box-shadow:inset 0 0 0 2px #1e6dc1}.secretariat-account-picker span{color:#1e6dc1;font-size:11px;font-weight:800}.secretariat-account-picker strong{overflow-wrap:anywhere;font-size:16px}.secretariat-account-picker small{color:#64757d}.secretariat-account-picker b{margin-top:6px;color:#1e6dc1;font-size:12px}
.secretariat-account-workspace{margin:20px 0 28px!important;border:2px solid #1e6dc1!important;border-radius:20px!important;padding:clamp(18px,3vw,30px)!important;background:linear-gradient(145deg,#fff 0%,#f4fbfd 100%)!important;box-shadow:0 16px 40px rgba(20,92,116,.12)!important}.secretariat-account-workspace>header{display:flex;align-items:center;gap:14px;margin-bottom:20px;border-bottom:1px solid #d4e5ea;padding-bottom:18px}.secretariat-account-workspace>header>div{flex:1}.secretariat-account-workspace>header p,.secretariat-account-workspace>header h3{margin:0}.secretariat-account-workspace>header p{color:#54717d;font-size:12px;font-weight:800}.secretariat-account-workspace>header h3{margin-top:4px;color:#17343f;font-size:clamp(22px,3vw,30px)}.secretariat-account-workspace>header>a{color:#1e6dc1;font-weight:800}.secretariat-account-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.secretariat-account-facts>div{display:grid;gap:5px;min-width:0;border:1px solid #d9e6ea;border-radius:11px;padding:12px 14px;background:#fff}.secretariat-account-facts span{color:#647780;font-size:11px;font-weight:800}.secretariat-account-facts strong{overflow-wrap:anywhere;color:#203d48;font-size:14px}.secretariat-account-links{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.secretariat-account-links a{border-radius:999px;padding:9px 14px;color:#fff;background:#1e6dc1;font-weight:800;text-decoration:none}.secretariat-account-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}.secretariat-account-action-grid>details{border:1px solid #cfdee3;border-radius:13px;background:#fff}.secretariat-account-action-grid summary{cursor:pointer;padding:15px;color:#173c4a;font-weight:850}.secretariat-account-action-grid form{display:grid;gap:11px;border-top:1px solid #e0eaed;padding:15px}.secretariat-account-action-grid label,.secretariat-member-delete-zone label{display:grid;gap:5px;color:#344f5a;font-size:13px;font-weight:750}.secretariat-account-action-grid :where(input,select,button),.secretariat-member-delete-zone :where(input,select,button){width:100%;min-height:44px;border:1px solid #99adb6;border-radius:8px;padding:8px 10px;font:inherit}.secretariat-account-action-grid button{cursor:pointer;border-color:#1e6dc1;color:#fff;background:#1e6dc1;font-weight:800}.secretariat-member-delete-zone{margin-top:18px}.secretariat-account-open{display:grid;gap:3px;color:#17343f;text-decoration:none}.secretariat-account-open small{color:#1e6dc1;font-size:11px}
.secretariat-moderation-workbench{display:grid;gap:18px;margin:24px 0;border:2px solid #e3b75a;border-radius:18px;padding:22px;background:#fffaf0}.secretariat-moderation-workbench h3{margin:0 0 6px;color:#553d0d}.secretariat-moderation-workbench p{margin:0;line-height:1.7}.secretariat-moderation-workbench form{display:grid;gap:14px}.secretariat-moderation-workbench label{display:grid;gap:6px;font-weight:750}.secretariat-moderation-workbench :where(input,select){min-height:44px;border:1px solid #a8956c;border-radius:8px;padding:8px 10px;background:#fff;font:inherit}
.secretariat-settings-groups{display:grid;gap:16px}.secretariat-settings-groups>fieldset{display:grid;gap:14px;border:1px solid #cfdee3;border-radius:15px;padding:18px;background:#f8fbfc}.secretariat-settings-groups legend{padding:0 8px;color:#174c60;font-size:17px;font-weight:850}.secretariat-faq-editor{display:grid;grid-template-columns:minmax(220px,1fr) minmax(320px,2fr);gap:12px;border-top:1px dashed #bdd0d7;padding-top:14px}.secretariat-faq-editor:first-of-type{border-top:0;padding-top:0}
.secretariat-rich-editor{display:grid;gap:7px}.secretariat-rich-editor>label{font-weight:800}.secretariat-rich-editor .wp-editor-wrap{border:1px solid #9fb2ba;border-radius:10px;background:#fff}.secretariat-rich-editor .wp-editor-tabs{padding-right:8px}.secretariat-rich-editor .mce-toolbar .mce-btn button{min-height:30px;padding:2px 5px}.secretariat-inline-editor .secretariat-rich-editor{margin:14px 0}.secretariat-inline-editor form>.secretariat-structured-fields{margin-top:18px}
.member-profile-field-note{margin:-4px 0 18px;color:#657780}.member-profile-complete-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.member-profile-complete-list>div{border:1px solid #d8e5e9;border-radius:12px;padding:16px;background:#fff}.member-profile-complete-list>div.is-empty{border-style:dashed;background:#f8fafb}.member-profile-complete-list dt{margin-bottom:8px;color:#1e6dc1;font-weight:850}.member-profile-complete-list dd{margin:0;color:#2d414a;line-height:1.8}.member-profile-complete-list .is-empty dd{color:#7a878d}
@media(max-width:1100px){.secretariat-section-nav{position:static;grid-template-columns:repeat(5,minmax(0,1fr))}.secretariat-account-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.secretariat-account-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.chitele-secretariat-preview>section{border-radius:14px;padding:16px}.secretariat-section-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.secretariat-account-picker,.secretariat-account-action-grid,.secretariat-account-facts,.member-profile-complete-list,.secretariat-faq-editor{grid-template-columns:1fr}.secretariat-account-workspace>header{align-items:flex-start;flex-wrap:wrap}.secretariat-account-workspace>header>div{flex-basis:100%}.secretariat-moderation-workbench{padding:16px}}
@media(max-width:680px){.secretariat-room-card>header{display:grid}.secretariat-room-card header a{white-space:normal}}

/* DENBAK 2026-08-24差分: マイページ内移動と4分類のお気に入り・いいね。 */
.chitele-member-home,
.member-favorite-events,
.member-self-service { scroll-margin-top: 18px; }
.member-favorite-columns { align-items: stretch; }
@media (max-width: 680px) {
	.member-header-customer-number { justify-content: center; }
}
/* DENBAK 2026-08-25: 公開プロフィール一覧をPCでも縦積み（1カラム）に */
.member-profile-complete-list{grid-template-columns:1fr}
/* DENBAK 2026-08-25: メンバー一覧の要約を全文表示（3行クランプ解除） */
.member-organization-summary{display:block;-webkit-line-clamp:unset;overflow:visible}
/* DENBAK 2026-08-25: 一覧のタグ列を非表示にしテキスト（概要）列を拡張。グリッドはPCのみ（SPは780px以下のカード表示を尊重） */
.member-organization-tag { display: none; }
.member-organization-row-head span:nth-child(3) { display: none; }
@media (min-width: 781px) {
  .member-organization-row { grid-template-columns: 74px minmax(200px, 1fr) minmax(340px, 2.4fr); }
}
/* DENBAK 2026-08-25: プロフィール編集の公開範囲UI「このフィールドは、次の人が見ることができます。」を撤去（詳細は全ログイン会員に公開のため表記が誤解を招く） */
.chitele-member-home .field-visibility-settings-toggle,
.chitele-member-home .field-visibility-settings-notoggle,
.chitele-member-home .field-visibility-settings { display: none !important; }
/* DENBAK 2026-08-26: #25 相談コメントの二重枠を解消（影・白カード・角丸を外し、区切り線のみでフラットに） */
.consult-comments li.comment { box-shadow: none; background: transparent; border-radius: 0; margin: 0; border-bottom: 1px solid #dce3e6; padding: 4px 0; }
.consult-comments li.comment:last-child { border-bottom: 0; }
.consult-comments .comment-body { border-radius: 0; background: transparent; margin: 0; padding: 12px 2px; }
.consult-comments .children { margin-left: 16px; }

/* 2026-08-26 #5 みんなのハブの投稿導線が分かりにくい対策。
   会員が管理ツールバーの「新規」を探して権限エラーに当たっていたため、
   一覧上部の details サマリーをボタンとして見せて投稿口を明示する。 */
.consult-create{border:0;background:transparent}
.consult-create>summary{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;border-radius:999px;background:#1e6dc1;color:#fff;font-weight:800;transition:background .15s ease}
.consult-create>summary::before{content:"＋";font-size:1.05em;line-height:1}
.consult-create>summary:hover{background:#1e6dc1}
.consult-create[open]{border:1px solid #dce3e6;border-radius:12px;background:#fff}
.consult-create[open]>summary{display:flex;border-radius:12px 12px 0 0;background:#536174}
.consult-create[open]>summary::before{content:"－"}

/* 2026-08-26 #24 「周知」投稿前の注意事項（先方支給文面）を投稿フォーム内に折りたたみで掲載する。 */
.consult-post-guideline{margin:0 0 18px;border:1px solid #b7d3dd;border-radius:8px;background:#f3fafc}
.consult-post-guideline>summary{cursor:pointer;padding:12px 14px;font-weight:700;line-height:1.6}
.consult-post-guideline-body{padding:0 14px 14px;line-height:1.8}
.consult-post-guideline-body p{margin:0 0 10px}
.consult-post-guideline-body h3{margin:14px 0 6px;font-size:15px}
.consult-post-guideline-body ul{margin:0 0 10px;padding-left:1.3em}
.consult-post-guideline-body li{margin:0 0 4px}

/* 2026-08-26 #23/#17 コメントの編集・削除・復元の操作リンクと削除済み表示。 */
.chitele-comment-actions{display:flex;gap:14px;align-items:center;margin:8px 0 0}
.chitele-comment-actions a,.chitele-comment-actions button{font-size:13px;line-height:1.6}
.chitele-comment-actions a{color:#536174;text-decoration:underline}
.chitele-comment-actions a:hover{color:#1e6dc1}
.chitele-comment-delete{color:#8d1c1c!important}
.chitele-comment-removed{margin:0;color:#68767e;font-style:normal}
.chitele-comment-edited{margin:6px 0 0;color:#68767e;font-size:12px}
.chitele-comment-edit-form textarea{width:100%;min-height:7em}
.chitele-comment-save{border:0;border-radius:999px;padding:8px 18px;background:#1e6dc1;color:#fff;font-weight:700;cursor:pointer}
.chitele-comment-save:hover{background:#1e6dc1}
.chitele-comment-is-removed > .comment-body .reply{display:none}

/* 2026-08-26 #21 関連資料は形式バッジ＋実ファイル名で「何のデータか」を分かるようにする。 */
.consult-attachment-type{flex:0 0 auto;border-radius:4px;padding:3px 8px;background:#eef3f7;color:#39546b;font-size:12px;font-weight:700;letter-spacing:.02em}
.consult-attachment-name{min-width:0;overflow-wrap:anywhere}
.consult-attachment-size{flex:0 0 auto;color:#68767e;font-size:12px}
.consult-attachments li .consult-attachment-download{margin-left:auto;flex:0 0 auto}

/* DENBAK 2026-08-27: アイキャッチ未設定の記事は、サムネイル枠・キービジュアルにタイトルを表示する */
.magazine-source-grid .mag-card-ph--title {
  display: -webkit-box;
  overflow: hidden;
  padding: 16px;
  color: #26323a;
  font-size: 15px;
  font-weight: 850;
  letter-spacing: .02em;
  line-height: 1.5;
  text-align: center;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
}
.article-kv--title span {
  display: block;
  max-width: 82%;
  margin: 0 auto;
  color: #26323a;
  font-size: clamp(18px, 2.6vw, 28px);
  font-weight: 850;
  letter-spacing: .02em;
  line-height: 1.5;
  text-align: center;
}

/* DENBAK 2026-08-27: ログアウトはマイページと同じボタン（余白・高さ・角丸は上のルールで共有）。色と区切り線だけ調整 */
.site-header-wrapper .chitele-primary-menu .chitele-logout-link {
  border-color: #8b2635;
  color: #8b2635;
}
.site-header-wrapper .chitele-primary-menu .chitele-my-page-item > a,
.site-header-wrapper .chitele-primary-menu .chitele-logout-item > a {
  border-left-color: transparent;
}
/* 他の項目と違い、この2つは縮めない（縮むと nowrap の文字が枠線に被る）。内閣府と同じ扱い */
.site-header-wrapper .chitele-primary-menu .chitele-my-page-item,
.site-header-wrapper .chitele-primary-menu .chitele-logout-item {
  flex: 0 0 auto;
}
.site-header-wrapper .chitele-primary-menu .chitele-my-page-link,
.site-header-wrapper .chitele-primary-menu .chitele-logout-link {
  box-sizing: border-box;
  flex: 0 0 auto;
}

@media (max-width: 991px) {
  /* SPは縦積み。幅いっぱいのボタンにして文字を中央へ */
  .site-header-wrapper .buddyx-mobile-menu .chitele-primary-menu .chitele-my-page-item,
  .site-header-wrapper .buddyx-mobile-menu .chitele-primary-menu .chitele-logout-item {
    display: block;
  }
  .site-header-wrapper .buddyx-mobile-menu .chitele-primary-menu .chitele-my-page-link,
  .site-header-wrapper .buddyx-mobile-menu .chitele-primary-menu .chitele-logout-link {
    width: 100%;
    text-align: center;
  }
  .site-header-wrapper .buddyx-mobile-menu .chitele-primary-menu .chitele-logout-link {
    margin-top: 10px;
  }
}
