/* Member homepage — aligned with zeta subpage visual system */
body.zeta-members-home {
  --zeta-navy: #071a2b;
  --zeta-ink: #0b1f33;
  --zeta-cyan: #24b2dd;
  --zeta-cyan-light: #5fcae7;
  --zeta-cyan-deep: #1a91b1;
  --zeta-accent-grad: linear-gradient(135deg, var(--zeta-cyan-light) 0%, var(--zeta-cyan) 48%, var(--zeta-cyan-deep) 100%);
  --zeta-mist: #f3f8fb;
  --zeta-line: rgba(11, 31, 51, 0.08);
  --header-h: 4.5rem;
  background: #fff;
  color: var(--zeta-ink);
  font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", sans-serif;
  font-feature-settings: "palt";
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
}

body.zeta-members-home,
body.zeta-members-home * {
  border-radius: 0 !important;
}

[x-cloak] {
  display: none !important;
}

body.zeta-members-home #main {
  padding: 0 !important;
  background: #fff;
}


.mh-wrap {
  max-width: 88rem;
  width: 100%;
  margin: 0 auto;
  padding-left: 1rem;
  padding-right: 1rem;
  box-sizing: border-box;
}

@media (min-width: 640px) {
  .mh-wrap {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}

@media (min-width: 1024px) {
  .mh-wrap {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }
}

.mh-hero {
  position: relative;
  background: var(--zeta-navy);
  color: #fff;
  padding: calc(var(--header-h) + 3.5rem) 0 3.25rem;
}

.mh-hero::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 3px;
  background: var(--zeta-accent-grad);
}

.mh-hero-inner {
  display: grid;
  gap: 1.5rem;
}

@media (min-width: 900px) {
  .mh-hero-inner {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
  }
}

.mh-kicker {
  margin: 0;
  font-family: Outfit, sans-serif;
  font-size: 0.85rem;
  font-weight: 800;
  letter-spacing: 0.22em;
  color: var(--zeta-cyan);
}

.mh-kicker-ink {
  color: var(--zeta-cyan);
}

.mh-hero h1 {
  margin: 0.45rem 0 0;
  font-size: 1.75rem;
  font-weight: 800;
  line-height: 1.35;
  color: #fff;
  letter-spacing: 0.02em;
}

@media (min-width: 640px) {
  .mh-hero h1 {
    font-size: 1.85rem;
  }
}

.mh-hero-lead {
  margin: 1rem 0 0;
  max-width: 36rem;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.9);
}

.mh-hero-user {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.75rem;
}

@media (min-width: 900px) {
  .mh-hero-user {
    align-items: flex-end;
  }
}

.mh-user-name {
  margin: 0;
  font-size: 1.02rem;
  font-weight: 700;
  color: #fff;
}

.mh-user-status {
  display: inline-block;
  margin-left: 0.5rem;
  color: var(--zeta-cyan);
}

.mh-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.mh-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 0.9rem 1.45rem;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-decoration: none !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease, background 0.2s ease, border-color 0.2s ease;
}

/* モバイル: アクション系ボタンは基本フル幅（戻るリンク・ヘッダー連絡は除外） */
@media (max-width: 719px) {
  .mh-section a.mh-btn:not(.mh-btn-contact),
  .mh-section button.mh-btn,
  .mh-section span.mh-btn,
  .mh-hero-actions .mh-btn {
    width: 100%;
  }

  .mh-article-back a.mh-btn,
  .mh-article-back .btn-ghost,
  .site-header .mh-btn,
  .mh-btn-contact {
    width: auto;
  }

  /* 会員一覧: 企業情報詳細 / メッセージは横並び（上記 width:100% より詳細度を上げる） */
  .mh-section .mh-memberslist-actions {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 0.4rem;
  }

  .mh-section .mh-memberslist-actions a.mh-btn,
  .mh-section .mh-memberslist-actions span.mh-btn,
  .mh-section .mh-memberslist-actions button.mh-btn {
    flex: 1 1 0;
    width: auto;
    min-width: 0;
    margin: 0;
    padding: 0.55rem 0.45rem;
    font-size: 0.82rem;
  }

  .mh-hero-actions,
  .mh-wg-actions,
  .mh-exhibitor-actions,
  .mh-exhibition-company .cinfodiv ul.actions {
    flex-direction: column;
    align-items: stretch;
  }

  .mh-wg-actions .mh-wg-form,
  .mh-wg-actions .mh-btn,
  .mh-wg-actions .mh-wg-form .mh-btn,
  .mh-exhibitor-actions .mh-btn {
    width: 100%;
    min-width: 0;
    flex: none;
  }

  .mh-btn-download {
    white-space: normal;
  }
}

.mh-btn-primary {
  color: #fff !important;
  background: var(--zeta-accent-grad);
  box-shadow: 0 12px 28px rgba(11, 110, 153, 0.28);
}

.mh-btn-primary:hover {
  transform: translateY(-2px);
  filter: brightness(1.05);
}

.mh-btn-ghost-light {
  color: #fff !important;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.28);
}

.mh-btn-ghost-light:hover {
  transform: translateY(-2px);
  background: rgba(255, 255, 255, 0.18);
}

.mh-btn-ghost {
  color: var(--zeta-navy) !important;
  background: #fff;
  border: 1px solid rgba(11, 31, 51, 0.14);
}

.mh-btn-ghost:hover {
  transform: translateY(-2px);
  border-color: var(--zeta-cyan);
  color: var(--zeta-cyan) !important;
}

.mh-btn-contact {
  gap: 0.4rem;
  padding: 0.55rem 0.95rem;
  font-size: 0.92rem;
  font-weight: 800;
  color: var(--zeta-navy) !important;
  background: var(--zeta-mist);
  border: 1px solid rgba(11, 31, 51, 0.12);
}

.mh-btn-contact::before {
  content: "";
  display: inline-block;
  width: 0.95em;
  height: 0.95em;
  flex-shrink: 0;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Crect x='3' y='5' width='18' height='14' stroke='%23000' stroke-width='2'/%3E%3Cpath d='m4 7 8 6 8-6' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Crect x='3' y='5' width='18' height='14' stroke='%23000' stroke-width='2'/%3E%3Cpath d='m4 7 8 6 8-6' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}

.mh-btn-contact:hover {
  transform: translateY(-1px);
  color: var(--zeta-cyan) !important;
  background: #fff;
  border-color: var(--zeta-cyan);
}

.mh-btn-download {
  gap: 0.45rem;
  white-space: nowrap;
  flex-shrink: 0;
  color: #fff !important;
  background: var(--zeta-accent-grad);
  border: 1px solid transparent;
  box-shadow: 0 8px 18px rgba(11, 110, 153, 0.22);
}

.mh-btn-download::before {
  content: "↓";
  font-family: Outfit, sans-serif;
  font-weight: 700;
  font-size: 1.02em;
  line-height: 1;
}

.mh-btn-download:hover {
  color: #fff !important;
  border-color: transparent;
  filter: brightness(1.05);
}

.mh-btn-watch {
  gap: 0.45rem;
  white-space: nowrap;
  flex-shrink: 0;
  color: #fff !important;
  background: var(--zeta-accent-grad);
  border: 1px solid transparent;
  box-shadow: 0 8px 18px rgba(11, 110, 153, 0.22);
}

.mh-btn-watch::before {
  content: "▶";
  font-family: Outfit, sans-serif;
  font-weight: 700;
  font-size: 0.85em;
  line-height: 1;
}

.mh-btn-watch:hover {
  color: #fff !important;
  border-color: transparent;
  filter: brightness(1.05);
}

.mh-btn.is-disabled,
.mh-btn.is-disabled:hover {
  pointer-events: none;
  transform: none;
  color: #8a959e !important;
  background: #eef2f5;
  border-color: transparent;
  box-shadow: none;
  filter: none;
  cursor: not-allowed;
}

.mh-section {
  padding: 4rem 0;
  background: #fff;
}

.mh-section-mist {
  background: var(--zeta-mist);
}

.mh-notice {
  padding: 1.5rem 0 0;
}

.mh-notice .mh-wrap {
  background: var(--zeta-mist);
  padding: 1.15rem 1.25rem;
  max-width: 83rem;
  width: 90%;
}

.mh-notice p {
  margin: 0;
  font-size: 1.02rem;
  font-weight: 500;
  line-height: 1.85;
}

.mh-notice a {
  color: var(--zeta-cyan);
  font-weight: 700;
}

.mh-section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.5rem;
}

.mh-section-head-sub {
  margin-top: 3.25rem;
}

.mh-section-head h2 {
  margin: 0.45rem 0 0;
  font-size: 1.55rem;
  font-weight: 800;
  color: var(--zeta-navy);
}

.mh-more {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  flex-shrink: 0;
  padding: 0.58rem 0.95rem 0.58rem 1.05rem;
  font-size: 0.88rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  color: var(--zeta-navy) !important;
  background: #fff;
  border: 1px solid rgba(11, 31, 51, 0.14);
  text-decoration: none !important;
  white-space: nowrap;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.mh-more::after {
  content: "";
  width: 0.42rem;
  height: 0.42rem;
  margin-top: -1px;
  border-right: 1.8px solid var(--zeta-cyan);
  border-bottom: 1.8px solid var(--zeta-cyan);
  transform: rotate(-45deg);
  transition: transform 0.2s ease, border-color 0.2s ease;
}
.mh-more:hover {
  color: #fff !important;
  background: var(--zeta-navy);
  border-color: var(--zeta-navy);
  transform: translateY(-1px);
}
.mh-more:hover::after {
  border-color: var(--zeta-cyan);
  transform: rotate(-45deg) translate(1px, 1px);
}

.mh-lead {
  margin: -0.4rem 0 1.75rem;
  max-width: 46rem;
  font-size: 1.02rem;
  font-weight: 500;
  line-height: 2.05;
  color: var(--zeta-ink);
}

.mh-news-list {
  border-top: 1px solid var(--zeta-line);
}

.mh-news-item {
  display: grid;
  grid-template-columns: 6.5rem 6.4rem 1fr;
  gap: 1rem;
  align-items: center;
  padding: 1rem 0;
  border-bottom: 1px solid var(--zeta-line);
  color: inherit;
  text-decoration: none !important;
  transition: background 0.2s ease;
}

.mh-news-item:hover {
  background: rgba(36, 178, 221, 0.04);
}

.mh-news-date {
  font-family: Outfit, sans-serif;
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--zeta-navy);
}

.mh-news-badge {
  display: inline-flex;
  justify-content: center;
  min-width: 5.6rem;
  padding: 0.28rem 0.55rem;
  font-size: 0.82rem;
  font-weight: 800;
  color: var(--zeta-navy);
  background: #fff;
  border: 1px solid rgba(11, 31, 51, 0.12);
  text-align: center;
}

.mh-news-badge.is-closed {
  color: #6b7780;
}

.mh-news-title {
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.6;
  color: var(--zeta-ink);
}

.mh-news-item:hover .mh-news-title {
  color: var(--zeta-cyan);
}

.mh-new {
  display: inline-block;
  margin-left: 0.35rem;
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  color: var(--zeta-cyan);
  vertical-align: 0.08em;
}

@media (max-width: 767px) {
  .mh-news-item {
    grid-template-columns: 5.2rem 1fr;
    grid-template-areas:
      "date badge"
      "title title";
    gap: 0.35rem 0.75rem;
  }
  .mh-news-date { grid-area: date; }
  .mh-news-badge { grid-area: badge; justify-self: start; }
  .mh-news-title { grid-area: title; }
}

.mh-card-grid {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
  grid-template-columns: 1fr;
}

.mh-card {
  display: block;
  background: #fff;
  color: var(--zeta-navy);
  text-decoration: none !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.mh-section:not(.mh-section-mist) .mh-card {
  background: var(--zeta-mist);
}

.mh-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 32px rgba(7, 26, 43, 0.1);
}

.mh-card-art {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  background-color: #e8f3f7;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

.mh-card-label {
  display: block;
  padding: 0.9rem 0.85rem 1.05rem;
  font-size: 1.02rem;
  font-weight: 800;
  text-align: center;
  color: var(--zeta-navy);
}

.mh-card:hover .mh-card-label {
  color: var(--zeta-cyan);
}

.mh-card-grid li.is-nested .mh-card-label::before {
  content: "— ";
  color: var(--zeta-cyan);
}

/* モバイル: サムネ + ラベルの横並び（タップしやすい・長文ラベル対応） */
@media (max-width: 639px) {
  .mh-card-grid {
    gap: 8px;
  }

  .mh-card-grid > li {
    min-width: 0;
  }

  .mh-card {
    display: grid;
    grid-template-columns: 4.75rem minmax(0, 1fr);
    align-items: stretch;
    min-height: 4.75rem;
    overflow: hidden;
  }

  .mh-card:hover {
    transform: none;
    box-shadow: none;
  }

  .mh-card:active {
    background: rgba(11, 110, 153, 0.06);
  }

  .mh-card-art {
    width: 4.75rem;
    height: 100%;
    min-height: 4.75rem;
    aspect-ratio: auto;
  }

  .mh-card-label {
    display: flex;
    align-items: center;
    padding: 0.7rem 0.85rem;
    font-size: 0.9rem;
    line-height: 1.35;
    text-align: left;
    word-break: break-word;
  }
}

@media (min-width: 640px) {
  .mh-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1100px) {
  .mh-card-grid,
  .mh-card-grid-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.mh-card-art.bg_wg { background-image: url("./images/bg_wg.jpg"); }
.mh-card-art.bg_technical { background-image: url("./images/bg_technical.jpg"); }
.mh-card-art.bg_manual { background-image: url("./images/bg_manual.jpg"); }
.mh-card-art.bg_seminar { background-image: url("./images/bg_seminar.jpg"); }
.mh-card-art.bg_movie { background-image: url("./images/bg_movie.jpg"); }
.mh-card-art.bg_qanda { background-image: url("./images/bg_qanda.jpg"); }
.mh-card-art.bg_faq { background-image: url("./images/bg_faq.jpg"); }
.mh-card-art.bg_startkit { background-image: url("./images/bg_startkit.jpg"); }
.mh-card-art.bg_kyoto { background-image: url("./images/bg_kyoto.jpg"); }
.mh-card-art.bg_certification { background-image: url("./images/bg_certification.jpg"); }
.mh-card-art.bg_registration { background-image: url("./images/bg_registration.jpg"); }
.mh-card-art.bg_regulations { background-image: url("./images/member-regulations.jpg"); }
.mh-card-art.bg_minutes { background-image: url("./images/bg_minutes.jpg"); }
.mh-card-art.bg_list { background-image: url("./images/bg_list.jpg"); }
.mh-card-art.bg_logo { background-image: url("./images/bg_logo.jpg"); }
.mh-card-art.zdv_1 { background-image: url("./images/zdv_1.png"); }
.mh-card-art.zdv_2 { background-image: url("./images/zdv_2.png"); }
.mh-card-art.zdv_3 { background-image: url("./images/zdv_3.png"); }
.mh-card-art.zdv_4 { background-image: url("./images/zdv_4.png"); }

body.zeta-members-home #footer.mh-footer {
  display: block;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  background: var(--zeta-navy);
  color: rgba(255, 255, 255, 0.78);
  border-top: 3px solid var(--zeta-cyan);
}

.mh-footer-inner {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  padding-top: 1.35rem;
  padding-bottom: 1.35rem;
  font-size: 0.88rem;
  box-sizing: border-box;
}

@media (min-width: 720px) {
  .mh-footer-inner {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 1.25rem;
  }
}

.mh-footer-copy {
  margin: 0;
  flex-shrink: 0;
}

.mh-footer-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem 1.15rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.mh-footer-links a {
  color: rgba(255, 255, 255, 0.78) !important;
  text-decoration: none !important;
}

.mh-footer-links a:hover {
  color: #fff !important;
}

#developer {
  scroll-margin-top: calc(var(--header-h) + 0.75rem);
}

.mh-cat-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0 0 1.75rem;
}

.mh-chip {
  display: inline-flex;
  align-items: center;
  padding: 0.45rem 0.95rem;
  font-size: 0.92rem;
  font-weight: 700;
  text-decoration: none !important;
  border: 1px solid transparent;
  transition: background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.mh-chip.is-on {
  color: #fff !important;
  background: var(--zeta-accent-grad);
  box-shadow: 0 8px 18px rgba(11, 110, 153, 0.22);
}

.mh-chip.is-off {
  color: var(--zeta-navy) !important;
  background: var(--zeta-mist);
  border-color: rgba(11, 31, 51, 0.08);
}

.mh-chip.is-off:hover {
  border-color: var(--zeta-cyan);
  color: var(--zeta-cyan) !important;
}

.mh-empty {
  margin: 0;
  padding: 1.5rem 0;
  color: #5b6770;
}

.mh-pagination {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-top: 2rem;
}

.mh-pagination a,
.mh-pagination span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.4rem;
  height: 2.4rem;
  padding: 0 0.65rem;
  font-family: Outfit, sans-serif;
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--zeta-navy) !important;
  background: var(--zeta-mist);
  text-decoration: none !important;
}

.mh-pagination a:hover,
.mh-pagination .current {
  color: #fff !important;
  background: var(--zeta-accent-grad);
}

.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.mh-hero.is-article h1 {
  max-width: 52rem;
  font-size: 1.35rem;
}

@media (min-width: 640px) {
  .mh-hero.is-article h1 {
    font-size: 1.55rem;
  }
}

.mh-hero-cat {
  margin: 0.55rem 0 0;
}

.mh-hero-cat a {
  color: rgba(255, 255, 255, 0.78) !important;
  font-size: 0.92rem;
  font-weight: 700;
  text-decoration: none !important;
}

.mh-hero-cat a:hover {
  color: #fff !important;
}

.mh-article-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.55rem 0.75rem;
  margin: 1rem 0 0;
  font-family: Outfit, sans-serif;
  font-size: 0.92rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: rgba(255, 255, 255, 0.72);
}

.mh-hero.is-article .mh-article-meta-label {
  display: inline-block;
  padding: 0.22em 0.55em 0.18em;
  border: 1px dotted rgba(255, 255, 255, 0.72);
  background: transparent;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 0.9em;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.4;
  color: rgba(255, 255, 255, 0.92);
  white-space: nowrap;
}

.mh-article {
  max-width: 46rem;
}

.mh-article-figure {
  margin: 0 0 1.75rem;
}

.mh-article-figure img,
.mh-article-body img {
  display: block;
  width: 100%;
  height: auto;
}

.mh-article-body a img {
  border: 1px solid rgba(7, 26, 43, 0.2);
  box-sizing: border-box;
}

.mh-article-body a img.smallbanner,
.mh-article-body img.smallbanner,
img.smallbanner {
  display: inline-block;
  width: 200px;
  max-width: 100%;
  height: auto;
  margin: 0 0 0.35rem;
  border: none;
}

.mh-article-body {
  font-size: 1.02rem;
  font-weight: 400;
  line-height: 2.05;
  color: var(--zeta-ink);
}

.mh-article-body p,
.mh-article-body ul,
.mh-article-body ol {
  margin: 0 0 1.4em;
}

.mh-article-body p:last-child,
.mh-article-body ul:last-child,
.mh-article-body ol:last-child {
  margin-bottom: 0;
}

.mh-article-body ol,
.mh-event-article ol {
  padding-left: 1.6em;
  list-style: decimal;
}

.mh-article-body ol > li,
.mh-event-article ol > li {
  display: list-item;
  list-style: inherit;
}

.mh-article-body a {
  color: var(--zeta-ink);
  font-weight: 700;
  text-decoration: none;
  border-bottom: 1px dotted currentColor;
  word-break: break-all;
}

.mh-article-body a:hover,
.mh-article-body a:focus-visible {
  color: var(--zeta-navy);
  border-bottom-style: solid;
}

.mh-article-body a:has(img),
.mh-article-body a.mh-btn,
.mh-article-body a.mh-btn-download,
.mh-article-body a.mh-btn-ghost,
.mh-article-body a.mh-btn-contact,
.mh-article-body a.button,
.mh-article-body dd span.mapspan a {
  border-bottom: none;
  text-decoration: none;
}

.mh-article-body a:has(img) {
  color: inherit;
}

.mh-article-body a.linkbk,
a.linkbk {
  color: var(--zeta-ink);
  margin: 0 0.2em;
  font-weight: 700;
  text-decoration: none;
  border-bottom: 1px dotted currentColor;
}

.mh-article-body a.linkbk:hover,
a.linkbk:hover {
  color: var(--zeta-navy);
  border-bottom-style: solid;
}

.mh-article-body h2,
.mh-article-body h4 {
  margin: 1.6em 0 0.7em;
  font-weight: 800;
  color: var(--zeta-navy);
}

.mh-article-note {
  margin: 1.5rem 0 0;
  font-size: 1rem;
  color: #5b6770;
}

.mh-article-edit {
  margin: 1.25rem 0 0;
  font-size: 0.75rem;
  line-height: 1.4;
  color: #8a949c;
}

.mh-article-edit .post-edit-link {
  color: inherit;
  text-decoration: none;
  border-bottom: 1px dotted currentColor;
  opacity: 0.75;
}

.mh-article-edit .post-edit-link:hover,
.mh-article-edit .post-edit-link:focus-visible {
  opacity: 1;
  color: #5b6770;
}

.mh-article-gallery {
  margin-top: 1.5rem;
}

.mh-article a:has(img) {
  cursor: zoom-in;
}

.mh-article-gallery .gallery {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(8.5rem, 1fr));
  gap: 0.75rem;
}

.mh-article-gallery .gallery .gallery-item {
  margin: 0;
}

.mh-article-gallery .gallery .gallery-icon,
.mh-article-gallery .gallery .gallery-icon a {
  display: block;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: var(--zeta-mist);
}

.mh-article-gallery .gallery img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
}

.mh-gate {
  background: var(--zeta-mist);
  padding: 1.15rem 1.25rem;
  max-width: 46rem;
}

.mh-gate p {
  margin: 0;
  font-size: 1.02rem;
  font-weight: 500;
  line-height: 1.85;
}

.mh-gate a {
  color: var(--zeta-cyan);
  font-weight: 700;
}

.mh-eventdoc-article {
  max-width: none;
}

/* Download lists: table.dlpage (casestudy / eventdoc / minutes / exhibition / etc.)
   枠なし — no outer/cell frame; hairline row dividers only. */
table.dlpage,
.dlpage {
  width: 100%;
  margin: 0 0 1.5rem;
  border: 0;
  border-collapse: collapse;
  border-spacing: 0;
  background: transparent;
  box-shadow: none;
}

.dlpage thead,
.dlpage tbody,
.dlpage tfoot {
  border: 0;
}

.dlpage thead th {
  padding: 0 0 0.85rem;
  border: 0;
  border-bottom: 1px solid var(--zeta-line);
  background: transparent;
  font-size: 0.88rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-align: left;
  color: #5b6770;
  white-space: normal;
}

.dlpage thead th:last-child {
  text-align: right;
}

.dlpage tbody tr {
  border: 0;
  border-bottom: 1px solid var(--zeta-line);
  background: transparent;
}

.dlpage td {
  padding: 1.1rem 0.75rem 1.1rem 0;
  border: 0;
  background: transparent;
  vertical-align: middle;
  font-size: 1.02rem;
  font-weight: 700;
  line-height: 1.75;
  color: var(--zeta-ink);
  white-space: normal;
}

.dlpage td:last-child {
  width: 1%;
  padding-right: 0;
  text-align: right;
  white-space: nowrap;
}

/* Title + muted subtitle (nested span in Description cell) */
.dlpage td > span:not(.button):not(.mh-minutes-lab):not(.mh-dlfiles-id):not(.canum):not(.date) {
  display: block;
  margin-top: 0.35rem;
  padding: 0;
  font-size: 0.92rem;
  font-weight: 600;
  line-height: 1.6;
  color: #5b6770;
}

.dlpage td strong {
  display: block;
  margin-top: 0.35rem;
  font-size: 1rem;
  font-weight: 800;
  color: var(--zeta-navy);
}

.mh-minutes-lab,
.mh-dlfiles-id {
  display: inline-flex;
  margin: 0;
  padding: 0.2rem 0.45rem;
  font-size: 0.8rem;
  font-weight: 800;
  color: var(--zeta-navy);
  background: #fff;
  border: 1px solid rgba(11, 31, 51, 0.12);
}

/* Password form on public dlfiles / protected download singles */
.mh-dlfiles-article .post_password {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
  margin: 1.25rem 0 0;
}

.mh-dlfiles-article .post_password input[name="post_password"] {
  flex: 1 1 12rem;
  max-width: 22rem;
  min-height: 2.75rem;
  padding: 0.55rem 0.85rem;
  font-size: 1rem;
  font-weight: 600;
  color: var(--zeta-ink);
  background: #fff !important;
  border: 1px solid rgba(11, 31, 51, 0.18);
  box-shadow: none;
}

.mh-dlfiles-article .post_password input[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.75rem;
  padding: 0.55rem 1.15rem;
  font-size: 0.95rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  color: #fff;
  cursor: pointer;
  background: var(--zeta-accent-grad);
  border: 1px solid transparent;
}

.dlpage ul.actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.5rem;
  margin: 0;
  padding: 0 !important;
  list-style: none !important;
}

/* 記事内でも actions の大きな上マージンを無効化（download セルのスカスカ対策） */
.mh-article .dlpage ul.actions,
.mh-article-body .dlpage ul.actions {
  margin: 0;
}

.dlpage ul.actions li {
  margin: 0;
  padding: 0;
  list-style: none !important;
}

/* Show real button labels — do not hide with font-size:0 / :before swap */
.dlpage a.button,
.dlpage span.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  min-width: 6.5rem;
  padding: 0.62rem 0.95rem;
  font-size: 0.92rem;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: 0.02em;
  color: #fff !important;
  background: var(--zeta-accent-grad);
  border: 1px solid transparent;
  box-shadow: none;
  text-decoration: none !important;
  border-bottom: 1px solid transparent !important;
  white-space: nowrap;
  transition: transform 0.2s ease, filter 0.2s ease, background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.dlpage a.button:hover {
  color: #fff !important;
  background: var(--zeta-accent-grad);
  border-color: transparent;
  filter: brightness(1.05);
  transform: translateY(-1px);
}

/* Outline / secondary (minutes 資料, alt buttons) */
.dlpage a.button.is-doc,
.dlpage a.button.alt,
.dlpage span.button.is-doc:not(.is-disabled) {
  background: #fff;
  border-color: rgba(7, 26, 43, 0.16);
  color: var(--zeta-navy) !important;
  box-shadow: none;
}

.dlpage a.button.is-doc:hover,
.dlpage a.button.alt:hover {
  background: #fff;
  border-color: var(--zeta-cyan);
  color: var(--zeta-cyan) !important;
  filter: none;
  transform: translateY(-1px);
}

.dlpage span.button.is-disabled {
  color: rgba(11, 31, 51, 0.35) !important;
  background: #edf1f4;
  border-color: transparent;
  box-shadow: none;
  cursor: not-allowed;
}

/* Kill Font Awesome glyph; keep visible text label */
.dlpage a.button.icon:before,
.dlpage span.button.icon:before {
  display: none !important;
  content: none !important;
}

/* Optional ↓ prefix only for download-class links */
.dlpage a.button.fa-download:before,
.dlpage a.button.icon.fa-download:before {
  display: inline !important;
  content: "↓";
  font-family: Outfit, "Zen Kaku Gothic New", sans-serif;
  font-size: 0.92rem;
  font-weight: 700;
  line-height: 1;
}

@media (max-width: 719px) {
  .dlpage thead {
    display: none;
  }

  /* タイトル | download を1行に（縦積みのスカスカを解消） */
  .dlpage tbody tr {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.55rem 0.75rem;
    padding: 0.55rem 0;
  }

  .dlpage td {
    display: block;
    width: auto;
    padding: 0;
  }

  .dlpage td:first-child {
    flex: 1 1 auto;
    min-width: 0;
    font-size: 0.9rem;
    font-weight: 700;
    line-height: 1.35;
  }

  .dlpage td + td {
    margin-top: 0;
  }

  .dlpage td:last-child {
    flex: 0 0 auto;
    width: auto;
    text-align: right;
    white-space: nowrap;
  }

  .dlpage td > span:not(.button):not(.mh-minutes-lab):not(.mh-dlfiles-id):not(.canum):not(.date) {
    margin-top: 0.2rem;
    font-size: 0.78rem;
    line-height: 1.4;
  }

  .dlpage ul.actions {
    margin: 0;
    justify-content: flex-end;
  }

  .dlpage a.button,
  .dlpage span.button {
    width: auto;
    min-width: 0;
    padding: 0.42rem 0.7rem;
    font-size: 0.8rem;
  }

  .mh-article-body table.dlpage td,
  .mh-article-body table.dlpage.alt td {
    padding: 0;
  }

  .mh-article .dlpage a.button,
  .mh-article .dlpage span.button {
    min-width: 0;
    padding: 0.42rem 0.7rem;
    font-size: 0.8rem;
  }
}

.mh-movies-article {
  max-width: none;
}

.mh-video {
  position: relative;
  width: 100%;
  max-width: 56rem;
  margin: 0 0 2rem;
  aspect-ratio: 16 / 9;
  background: #071a2b;
  overflow: hidden;
}

.mh-video iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.mh-vimeo-item {
  margin: 0 0 2.5rem;
  padding: 0 0 2rem;
  border-bottom: 1px solid var(--zeta-line);
}

.mh-vimeo-item:last-of-type {
  border-bottom: 0;
}

.mh-vimeo-item h3 {
  margin: 0 0 0.75rem;
  font-size: 1.15rem;
  font-weight: 800;
  color: var(--zeta-navy);
}

/* Training single — original 左サムネ + 右メタ, 1-col stack meta */
.mh-article.mh-training-article {
  max-width: 56rem;
}

.mh-training-intro {
  margin: 0 0 1.75rem;
}

.mh-training-panel {
  display: grid;
  grid-template-columns: 11.5rem minmax(0, 1fr);
  gap: 1.5rem 2rem;
  align-items: start;
  margin: 0 0 2.25rem;
  padding: 1.35rem 0 0;
  border-top: 1px solid var(--zeta-line);
}

.mh-training-thumb {
  margin: 0;
  max-width: 11.5rem;
  float: none;
}

.mh-training-thumb a {
  display: block;
}

.mh-training-thumb img {
  display: block;
  width: 100%;
  height: auto;
  float: none;
  border: 1px solid rgba(7, 26, 43, 0.14);
  box-sizing: border-box;
}

.mh-training-subtitle {
  margin: 0 0 1rem;
  padding: 0;
  background: none;
  font-size: 1.2rem;
  font-weight: 800;
  line-height: 1.45;
  color: var(--zeta-navy);
}

.mh-training-meta .mh-spec-stack {
  margin: 0;
}

.mh-spec-stack {
  margin: 0;
  padding: 0;
}

.mh-spec-row {
  margin: 0;
  padding: 0.85rem 0;
  border-bottom: 1px solid var(--zeta-line);
}

.mh-spec-row:first-child {
  padding-top: 0;
}

.mh-spec-label {
  margin: 0 0 0.3rem;
  font-size: 0.84rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  color: #5b6770;
}

.mh-spec-value {
  margin: 0;
  font-size: 1.02rem;
  font-weight: 500;
  line-height: 1.7;
  color: var(--zeta-ink);
  overflow-wrap: anywhere;
  word-break: break-word;
}

.mh-spec-value a {
  color: var(--zeta-cyan-deep);
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

.mh-spec-value .mapspan {
  display: inline;
  margin: 0;
  padding: 0;
  background: none;
}

.mh-spec-value .mapspan a {
  display: inline-flex;
  align-items: center;
  margin-left: 0.45rem;
  padding: 0.12rem 0.55rem;
  border: 1px solid rgba(11, 31, 51, 0.14);
  background: var(--zeta-mist);
  font-size: 0.86rem;
  font-weight: 800;
  line-height: 1.4;
  color: var(--zeta-navy) !important;
  text-decoration: none !important;
}

.mh-spec-value .mapspan a:hover {
  border-color: var(--zeta-cyan);
  color: var(--zeta-cyan-deep) !important;
}

.mh-training-agenda {
  margin: 0 0 2rem;
  padding: 1.5rem 0 0;
  border-top: 1px solid var(--zeta-line);
}

.mh-training-agenda h3 {
  margin: 0 0 1rem;
  padding: 0;
  background: none;
  font-size: 1.15rem;
  font-weight: 800;
  color: var(--zeta-navy);
}

.mh-training-agenda .mh-article-body ol,
.mh-training-agenda .mh-article-body ul {
  margin: 0.35rem 0 0.75rem;
  padding-left: 1.25rem;
}

.mh-training-apply-note {
  margin: 0 0 1.25rem;
}

@media screen and (max-width: 720px) {
  .mh-training-panel {
    grid-template-columns: 1fr;
  }

  .mh-training-thumb {
    max-width: 10rem;
  }
}

/* Legacy 2-col table (certification etc.) */
.mh-spec-table {
  width: 100%;
  margin: 1.5rem 0 2rem;
  border: 0;
  border-collapse: collapse;
  background: transparent;
  table-layout: fixed;
}

.mh-spec-table th,
.mh-spec-table td {
  padding: 0.95rem 1rem 0.95rem 0;
  border: 0;
  border-bottom: 1px solid var(--zeta-line);
  vertical-align: top;
  text-align: left;
  line-height: 1.75;
}

.mh-spec-table th {
  width: 7.5rem;
  font-size: 0.92rem;
  font-weight: 800;
  color: var(--zeta-navy);
  white-space: nowrap;
}

.mh-spec-table td {
  font-size: 1.02rem;
  font-weight: 500;
  color: var(--zeta-ink);
  overflow-wrap: anywhere;
  word-break: break-word;
}

.mh-spec-table td a {
  color: var(--zeta-cyan-deep);
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

.mh-spec-table .mapspan {
  margin-left: 0.35rem;
}

@media screen and (max-width: 640px) {
  .mh-spec-table,
  .mh-spec-table tbody,
  .mh-spec-table tr,
  .mh-spec-table th,
  .mh-spec-table td {
    display: block;
    width: 100%;
  }

  .mh-spec-table th {
    padding-bottom: 0.25rem;
    border-bottom: 0;
  }

  .mh-spec-table td {
    padding-top: 0.25rem;
  }
}

.mh-cert-points {
  margin: 0 0 1.75rem;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 1rem;
}

.mh-cert-points li {
  margin: 0;
  padding: 1rem 1.15rem;
  background: var(--zeta-mist);
  border-left: 3px solid var(--zeta-cyan);
  line-height: 1.75;
  color: var(--zeta-ink);
}

.mh-movies-gate {
  display: grid;
  gap: 1.25rem;
  margin: 0 0 2rem;
  max-width: 46rem;
}

.mh-movies-gate-thumb {
  margin: 0;
  max-width: 20rem;
  opacity: 0.55;
}

.mh-movies-gate-thumb img {
  display: block;
  width: 100%;
  height: auto;
}

.mh-pager {
  display: grid;
  gap: 0.75rem;
  margin-top: 3rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--zeta-line);
}

@media (min-width: 720px) {
  .mh-pager {
    grid-template-columns: 1fr 1fr;
  }

  .mh-pager-next {
    text-align: right;
  }
}

.mh-pager a {
  color: var(--zeta-navy) !important;
  font-size: 1rem;
  font-weight: 700;
  text-decoration: none !important;
}

.mh-pager a:hover {
  color: var(--zeta-cyan) !important;
}

.mh-article-back {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 0.85rem 1.25rem;
  width: 100%;
  max-width: 100%;
  margin: 2.5rem 0 0;
  padding-top: 1.5rem;
  border-top: 1px solid var(--zeta-line);
  text-align: left;
  box-sizing: border-box;
}

.mh-article-back > p {
  margin: 0;
}

.mh-article-back .mh-btn:not(.mh-btn-contact),
.mh-article-back .btn-ghost {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.45rem;
  padding: 0;
  font-size: 0.95rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  color: var(--zeta-navy) !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  white-space: nowrap;
  transform: none;
  backdrop-filter: none;
  transition: color 0.2s ease;
}

.mh-article-back .mh-btn:not(.mh-btn-contact)::before,
.mh-article-back .btn-ghost::before {
  content: "←";
  font-family: Outfit, sans-serif;
  font-weight: 700;
  color: var(--zeta-cyan);
}

.mh-article-back .mh-btn:not(.mh-btn-contact):hover,
.mh-article-back .btn-ghost:hover {
  color: var(--zeta-cyan) !important;
  background: transparent !important;
  border: 0 !important;
  transform: none;
  filter: none;
}

.mh-article-back .mh-btn-contact {
  margin-left: auto;
}

.header-drop-panel a.header-mega-logout {
  grid-column: 1 / -1;
  display: inline-flex !important;
  flex-direction: row;
  align-items: center;
  gap: 0.65rem;
  width: max-content;
  max-width: 100%;
  margin-bottom: 0.35rem;
  padding: 0.5rem 0.95rem;
  background: var(--zeta-navy);
  color: #fff !important;
  outline: none;
  white-space: nowrap !important;
  font-size: 0.92rem !important;
  font-weight: 800 !important;
}

.header-drop-panel a.header-mega-logout:hover {
  background: #0c3048;
  color: #fff !important;
}

.header-mega-logout .header-mega-icon {
  width: 1.7rem;
  height: 1.7rem;
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
}

.header-mega-logout .header-mega-icon svg {
  width: 0.95rem;
  height: 0.95rem;
}

.header-mega-logout .header-mega-label {
  min-height: 0;
  padding: 0;
  background: transparent;
  color: #fff !important;
  font-size: 0.92rem;
  -webkit-line-clamp: 1;
}

.header-drop-panel a.header-mega-logout:hover .header-mega-label {
  color: #fff !important;
  background: transparent;
}

.drawer-member-item.is-logout {
  margin-bottom: 0.65rem;
  padding: 0.7rem 0.85rem !important;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.18);
  color: #fff !important;
  font-weight: 800;
}

.drawer-member-item.is-logout .header-mega-icon {
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
}

.drawer-member-item.is-logout:hover {
  background: rgba(255, 255, 255, 0.14);
  color: #fff !important;
}

.mh-article ul.actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin: 1.5rem 0 0;
  padding: 0;
  list-style: none;
}

.mh-article ul.actions.last {
  margin-bottom: 0;
}

.mh-article ul.actions li {
  margin: 0;
  padding: 0;
  list-style: none;
}

.mh-article ul.actions.vertical {
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: flex-start;
  gap: 0;
}

.mh-article ul.actions.vertical li {
  display: block;
  width: auto;
  max-width: 100%;
}

.mh-article-body ul.actions {
  margin: 1rem 0 1.25rem;
  padding: 0 !important;
  list-style: none !important;
}

.mh-article-body ul.actions li {
  margin: 0;
  padding: 0;
  list-style: none !important;
  text-indent: 0;
}

.mh-article-body ul.actions.vertical li + li {
  padding-top: 0;
}

.mh-article a.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  padding: 0.7rem 1.15rem;
  font-size: 0.95rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  color: var(--zeta-navy) !important;
  background: var(--zeta-mist);
  border: 1px solid rgba(11, 31, 51, 0.1);
  text-decoration: none !important;
  border-bottom: 1px solid rgba(11, 31, 51, 0.1) !important;
  word-break: normal;
  transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.mh-article a.button:hover {
  transform: translateY(-1px);
  color: var(--zeta-cyan) !important;
  border-color: var(--zeta-cyan) !important;
  background: #fff;
}

.mh-article a.button.small {
  padding: 0.45rem 1.1rem;
  font-size: 0.88rem;
  line-height: 1.4;
}

.mh-article a.button.alt {
  color: var(--zeta-navy) !important;
  background: #fff;
  border: 1px solid rgba(11, 31, 51, 0.18) !important;
  box-shadow: inset 0 0 0 1px rgba(11, 31, 51, 0.04);
}

.mh-article a.button.alt:hover {
  background: rgba(7, 26, 43, 0.04);
  border-color: var(--zeta-cyan) !important;
  color: var(--zeta-cyan) !important;
}

.mh-article a.button.special {
  color: #fff !important;
  background: var(--zeta-accent-grad);
  border-color: transparent;
}

.mh-article a.button.special:hover {
  color: #fff !important;
  filter: brightness(1.05);
}

.mh-article a.button.icon:before {
  display: none;
}

/* Re-assert after .mh-article a.button (same/higher specificity) */
.mh-article .dlpage a.button,
.mh-article .dlpage span.button {
  min-width: 6.5rem;
  padding: 0.62rem 0.95rem;
  font-size: 0.92rem;
  font-weight: 800;
  line-height: 1.2;
  color: #fff !important;
  background: var(--zeta-accent-grad);
  border: 1px solid transparent;
  border-bottom: 1px solid transparent !important;
  box-shadow: none;
}

.mh-article .dlpage a.button:hover {
  color: #fff !important;
  background: var(--zeta-accent-grad);
  border-color: transparent !important;
  filter: brightness(1.05);
}

.mh-article .dlpage a.button.is-doc,
.mh-article .dlpage a.button.alt,
.mh-article .dlpage span.button.is-doc:not(.is-disabled) {
  background: #fff;
  border-color: rgba(7, 26, 43, 0.16) !important;
  color: var(--zeta-navy) !important;
}

.mh-article .dlpage a.button.is-doc:hover,
.mh-article .dlpage a.button.alt:hover {
  background: #fff;
  border-color: var(--zeta-cyan) !important;
  color: var(--zeta-cyan) !important;
  filter: none;
}

.mh-article .dlpage span.button.is-disabled {
  color: rgba(11, 31, 51, 0.35) !important;
  background: #edf1f4;
  border-color: transparent !important;
}

.mh-article .dlpage a.button.icon:before,
.mh-article .dlpage span.button.icon:before {
  display: none !important;
  content: none !important;
}

.mh-article .dlpage a.button.fa-download:before,
.mh-article .dlpage a.button.icon.fa-download:before {
  display: inline !important;
  content: "↓";
  font-family: Outfit, "Zen Kaku Gothic New", sans-serif;
  font-size: 0.92rem;
  font-weight: 700;
  line-height: 1;
}

.mh-article a.button.fa-arrow-right:after,
.mh-article a.button.icon.fa-arrow-right:after {
  content: "→";
  font-family: Outfit, sans-serif;
  font-weight: 700;
  line-height: 1;
}

.mh-article a.button.fa-angle-left:before,
.mh-article a.button.icon.fa-angle-left:before {
  display: inline;
  content: "←";
  font-family: Outfit, sans-serif;
  font-weight: 700;
}

.mh-note {
  margin: 0 0 1.5rem;
  font-size: 1rem;
  font-weight: 500;
  color: #5b6770;
}

.mh-wg-card {
  display: grid;
  gap: 1.5rem;
  padding: 1.5rem 0 0;
  border-top: 1px solid var(--zeta-line);
}

.mh-wg-stack {
  display: grid;
  gap: 1.25rem;
}

.mh-wg-panel {
  padding: 1.75rem 1.35rem 1.85rem;
  background: var(--zeta-mist);
  border-top: 1px solid var(--zeta-line);
  border-bottom: 1px solid var(--zeta-line);
}

@media (min-width: 640px) {
  .mh-wg-panel {
    padding: 1.9rem 1.75rem 2rem;
  }
}

.mh-wg-panel-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.55rem 0.75rem;
  margin-bottom: 1rem;
}

.mh-wg-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.mh-wg-chips li {
  display: inline-flex;
  align-items: center;
  padding: 0.22rem 0.55rem;
  font-size: 0.78rem;
  font-weight: 800;
  color: var(--zeta-navy);
  background: var(--zeta-mist);
  border: 1px solid rgba(11, 31, 51, 0.1);
}

.mh-wg-panel h2 {
  margin: 0 0 0.85rem;
  font-size: clamp(1.25rem, 2vw, 1.55rem);
  font-weight: 800;
  line-height: 1.4;
  color: var(--zeta-navy);
}

.mh-wg-lead {
  margin: 0;
  max-width: 52rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.95;
  color: var(--zeta-ink);
}

.mh-wg-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin-top: 1.35rem;
}

.mh-wg-actions .mh-wg-form {
  margin: 0;
  display: inline-flex;
}

@media (min-width: 720px) {
  .mh-wg-actions .mh-btn,
  .mh-wg-actions .mh-wg-form .mh-btn {
    width: auto;
    min-width: 9.5rem;
  }
}

@media (max-width: 719px) {
  .mh-wg-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .mh-wg-actions .mh-wg-form {
    display: block;
    width: 100%;
  }

  .mh-wg-actions .mh-btn,
  .mh-wg-actions .mh-wg-form .mh-btn {
    width: 100%;
    min-width: 0;
  }
}

@media (min-width: 900px) {
  .mh-wg-card {
    grid-template-columns: 8.5rem minmax(0, 1fr) minmax(13.5rem, auto);
    gap: 2rem;
    align-items: start;
  }

  .mh-wg-card.is-media {
    grid-template-columns: 12rem minmax(0, 1fr) minmax(13.5rem, auto);
    align-items: center;
  }
}

.mh-doc-thumb a,
.mh-doc-thumb img {
  display: block;
}

.mh-doc-thumb img {
  width: 100%;
  max-width: 12rem;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  background: #dce6ed;
}

@media (min-width: 900px) {
  .mh-doc-thumb img {
    max-width: 100%;
  }
}

.mh-doc-thumb.is-off {
  opacity: 0.48;
}

.mh-doc-thumb.is-video a {
  position: relative;
}

.mh-doc-thumb.is-video a::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 0;
  height: 0;
  margin: -0.55rem 0 0 -0.2rem;
  border-style: solid;
  border-width: 0.55rem 0 0.55rem 0.9rem;
  border-color: transparent transparent transparent #fff;
  filter: drop-shadow(0 2px 6px rgba(7, 26, 43, 0.35));
  pointer-events: none;
}

.mh-wg-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.28rem 0.55rem;
  font-size: 0.82rem;
  font-weight: 800;
  color: var(--zeta-navy);
  background: #fff;
  border: 1px solid rgba(11, 31, 51, 0.12);
}

.mh-wg-badge.is-public {
  color: #fff;
  background: var(--zeta-cyan);
  border-color: transparent;
}

.mh-wg-roles {
  margin: 0.7rem 0 0;
  font-size: 0.92rem;
  font-weight: 700;
  line-height: 1.7;
  color: #5b6770;
}

.mh-wg-body h2 {
  margin: 0 0 0.85rem;
  font-size: 1.2rem;
  font-weight: 800;
  color: var(--zeta-navy);
}

.mh-wg-card.is-media .mh-wg-body h2 {
  margin: 0.45rem 0 0;
}

.mh-wg-body p {
  margin: 0 0 1.1rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.95;
  color: var(--zeta-ink);
}

.mh-wg-body p:last-child {
  margin-bottom: 0;
}

.mh-wg-aside {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

.mh-wg-form {
  margin: 0;
}

.mh-wg-aside .mh-btn,
.mh-wg-form .mh-btn {
  width: 100%;
}

.mh-doc-stack .mh-wg-card {
  padding: 1.5rem 0;
}

.mh-doc-stack .mh-wg-card + .mh-wg-card {
  border-top: 1px solid var(--zeta-line);
}

.mh-media-list {
  border-top: 1px solid var(--zeta-line);
}

.mh-media-year {
  margin: 0 0 0.15rem;
  padding: 1.65rem 0 0.55rem;
}

.mh-media-year.is-next {
  margin-top: 1.75rem;
  border-top: 1px solid var(--zeta-line);
}

.mh-media-year .mh-kicker {
  margin: 0;
}

.mh-media-year h2 {
  margin: 0.3rem 0 0;
  font-size: 1.15rem;
  font-weight: 800;
  color: var(--zeta-navy);
}

.mh-media-item {
  display: grid;
  grid-template-columns: 6.4rem 5.6rem minmax(0, 1fr) auto;
  gap: 0.85rem 1rem;
  align-items: center;
  padding: 0.95rem 0.35rem;
  border-bottom: 1px solid var(--zeta-line);
  color: inherit;
  text-decoration: none !important;
  transition: background 0.2s ease;
}

a.mh-media-item:hover {
  background: rgba(36, 178, 221, 0.05);
}

.mh-media-item.is-locked {
  opacity: 0.72;
}

.mh-media-date {
  font-family: Outfit, sans-serif;
  font-size: 0.92rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  color: var(--zeta-navy);
  white-space: nowrap;
}

.mh-media-badge {
  display: inline-flex;
  justify-content: center;
  min-width: 5.2rem;
  padding: 0.22rem 0.45rem;
  font-size: 0.78rem;
  font-weight: 800;
  color: var(--zeta-navy);
  background: #fff;
  border: 1px solid rgba(11, 31, 51, 0.12);
  text-align: center;
  white-space: nowrap;
}

.mh-media-badge.is-public {
  color: #fff;
  background: var(--zeta-cyan);
  border-color: transparent;
}

.mh-media-title {
  min-width: 0;
  font-size: 1.02rem;
  font-weight: 700;
  line-height: 1.55;
  color: var(--zeta-ink);
}

a.mh-media-item:hover .mh-media-title {
  color: var(--zeta-cyan);
}

.mh-media-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  flex-shrink: 0;
  font-size: 0.88rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  color: var(--zeta-cyan);
  white-space: nowrap;
}

.mh-media-cta::after {
  content: "";
  display: inline-block;
  width: 0.38rem;
  height: 0.38rem;
  border-right: 1.7px solid currentColor;
  border-bottom: 1.7px solid currentColor;
  transform: rotate(-45deg);
}

.mh-media-item.is-locked .mh-media-cta {
  color: rgba(11, 31, 51, 0.35);
}

@media (max-width: 719px) {
  .mh-media-item {
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
      "date badge"
      "title title"
      "cta cta";
    gap: 0.4rem 0.55rem;
    padding: 1rem 0;
  }

  .mh-media-date {
    grid-area: date;
    font-size: 0.85rem;
  }

  .mh-media-badge {
    grid-area: badge;
    justify-self: end;
    align-self: center;
    min-width: 0;
    padding: 0.18rem 0.4rem;
    font-size: 0.72rem;
  }

  .mh-media-title {
    grid-area: title;
    margin: 0.1rem 0 0.15rem;
    font-size: 0.95rem;
    line-height: 1.45;
    word-break: break-word;
  }

  .mh-media-cta {
    grid-area: cta;
    justify-content: center;
    width: 100%;
    margin-top: 0.15rem;
    padding: 0.7rem 0.85rem;
    font-size: 0.9rem;
    color: var(--zeta-navy);
    background: #fff;
    border: 1px solid rgba(11, 31, 51, 0.14);
  }

  a.mh-media-item:hover .mh-media-cta {
    border-color: var(--zeta-cyan);
    color: var(--zeta-cyan);
  }

  .mh-media-item.is-locked .mh-media-cta {
    color: rgba(11, 31, 51, 0.4);
    background: #edf1f4;
    border-color: transparent;
  }
}

.mh-qanda-search {
  display: flex;
  gap: 0.5rem;
  margin: 0 0 1.75rem;
}
.mh-qanda-search input[type="search"] {
  flex: 1;
  min-width: 0;
  padding: 0.85rem 1rem;
  border: 1px solid rgba(7, 26, 43, 0.16);
  background: #fff;
  font: inherit;
  font-size: 1rem;
  color: var(--zeta-ink);
}
.mh-qanda-search input[type="search"]:focus {
  outline: 2px solid var(--zeta-cyan);
  outline-offset: 0;
  border-color: var(--zeta-cyan);
}
.mh-qanda-search button {
  padding: 0.85rem 1.2rem;
  border: 0;
  background: var(--zeta-navy);
  color: #fff;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}
.mh-qanda-search button:hover {
  background: #0c3048;
}
.mh-qanda-label {
  margin: 0 0 0.45rem;
  font-family: Outfit, sans-serif;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  color: var(--zeta-cyan);
}
.mh-qanda-fold {
  margin: 0 0 0.65rem;
  border: 1px solid rgba(11, 31, 51, 0.1);
  background: #fff;
}
.mh-qanda-fold-summary {
  position: relative;
  list-style: none;
  cursor: pointer;
  padding: 0.9rem 2.5rem 0.9rem 1rem;
  font-size: 0.95rem;
  font-weight: 800;
  color: var(--zeta-navy);
}
.mh-qanda-fold-summary::-webkit-details-marker {
  display: none;
}
.mh-qanda-fold-summary::after {
  content: "";
  position: absolute;
  right: 1rem;
  top: 50%;
  width: 0.45rem;
  height: 0.45rem;
  margin-top: -0.15rem;
  border-right: 1.8px solid var(--zeta-cyan);
  border-bottom: 1.8px solid var(--zeta-cyan);
  transform: translateY(-50%) rotate(45deg);
  transition: transform 0.2s ease;
}
.mh-qanda-fold[open] .mh-qanda-fold-summary::after {
  margin-top: 0.1rem;
  transform: translateY(-50%) rotate(-135deg);
}
.mh-qanda-fold-summary:hover {
  color: var(--zeta-cyan);
}
.mh-qanda-fold .mh-cat-nav {
  margin: 0;
  padding: 0 1rem 1rem;
}
.mh-qanda-fold + .mh-qanda-result,
.mh-qanda-fold + .mh-qanda-list,
.mh-qanda-fold + .mh-empty {
  margin-top: 1.1rem;
}
.mh-qanda-result {
  margin: 0 0 1rem;
  font-size: 1.02rem;
  font-weight: 800;
  color: var(--zeta-navy);
}
.mh-qanda-list {
  margin: 0 0 1.75rem;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--zeta-line);
}
.mh-qanda-list a {
  display: block;
  padding: 1.05rem 0.1rem;
  border-bottom: 1px solid var(--zeta-line);
  color: var(--zeta-navy);
  text-decoration: none !important;
}
.mh-qanda-list a:hover .mh-qanda-q {
  color: var(--zeta-cyan);
}
.mh-qanda-list a.is-locked {
  cursor: default;
  opacity: 0.7;
}
.mh-qanda-list a.is-locked:hover .mh-qanda-q {
  color: var(--zeta-navy);
}
.mh-qanda-q {
  display: block;
  font-size: 1.02rem;
  font-weight: 800;
  line-height: 1.65;
}
.mh-qanda-meta {
  display: block;
  margin-top: 0.28rem;
  font-size: 0.85rem;
  font-weight: 600;
  color: #5b6770;
}
.mh-qanda-question {
  margin: 0 0 1.15rem;
  font-size: 1.25rem;
  font-weight: 800;
  line-height: 1.7;
  color: var(--zeta-navy);
}
.mh-qanda-answer {
  font-size: 1.05rem;
  font-weight: 500;
  line-height: 1.95;
  color: var(--zeta-ink);
}
.mh-qanda-terms {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin: 2em 0;
}
.mh-qanda-terms .mh-chip {
  font-size: 0.85rem;
}

.mh-qanda-hub {
  display: grid;
  gap: 1.25rem;
}

@media (min-width: 900px) {
  .mh-qanda-hub {
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem;
  }
}

.mh-qanda-hub-panel {
  display: flex;
  flex-direction: column;
  padding: 1.75rem 1.35rem 1.85rem;
  background: var(--zeta-mist, #f3f8fb);
  border-top: 1px solid var(--zeta-line, rgba(11, 31, 51, 0.08));
  border-bottom: 1px solid var(--zeta-line, rgba(11, 31, 51, 0.08));
}

@media (min-width: 640px) {
  .mh-qanda-hub-panel {
    padding: 1.9rem 1.75rem 2rem;
  }
}

.mh-qanda-hub-panel h2 {
  margin: 0 0 0.55rem;
  font-size: clamp(1.25rem, 2vw, 1.55rem);
  font-weight: 800;
  line-height: 1.4;
  color: var(--zeta-navy);
}

.mh-qanda-hub-panel .mh-wg-lead {
  margin: 0 0 1.15rem;
}

.mh-qanda-hub-list {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--zeta-line, rgba(11, 31, 51, 0.08));
}

.mh-qanda-hub-list a,
.mh-qanda-hub-list .mh-qanda-hub-empty {
  display: block;
  padding: 0.75rem 0.1rem;
  border-bottom: 1px solid var(--zeta-line, rgba(11, 31, 51, 0.08));
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.55;
  color: var(--zeta-navy);
  text-decoration: none !important;
}

.mh-qanda-hub-list a:hover {
  color: var(--zeta-cyan);
}

.mh-qanda-hub-list a.is-locked {
  cursor: default;
  opacity: 0.7;
}

.mh-qanda-hub-list a.is-locked:hover {
  color: var(--zeta-navy);
}

.mh-qanda-hub-list .mh-qanda-hub-empty {
  font-weight: 600;
  color: #5b6770;
}

.mh-qanda-hub-cta {
  margin-top: auto;
  padding-top: 1.25rem;
}

.mh-qanda-hub-cta .btn-primary {
  flex-shrink: 0;
  padding: 0.5rem 1rem; /* ~ py-2 px-4 */
  font-size: 0.875rem; /* text-sm */
  width: auto;
}

.mh-qanda-hub-panel .mh-qanda-fold {
  margin-top: 1rem;
  margin-bottom: 0;
}

.mh-faq-toolbar {
  margin-bottom: 1.75rem;
}

.mh-faq-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.5rem 1.25rem;
  margin-bottom: 1.15rem;
}

.mh-faq-head h2 {
  margin: 0;
  font-size: 1.35rem;
  font-weight: 800;
  color: var(--zeta-navy);
}

.mh-faq-ver {
  margin: 0;
  font-family: Outfit, sans-serif;
  font-size: 0.88rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: #5b6770;
}

.mh-faq-search {
  display: block;
  margin: 0 0 0.9rem;
}

.mh-faq-search input[type="search"] {
  width: 100%;
  min-height: 3rem;
  padding: 0.85rem 1rem;
  border: 1px solid rgba(7, 26, 43, 0.16);
  background: #fff;
  font: inherit;
  font-size: 1rem;
  color: var(--zeta-ink);
}

.mh-faq-search input[type="search"]:focus {
  outline: 2px solid var(--zeta-cyan);
  outline-offset: 1px;
}

.mh-faq-toc {
  margin: 0 0 0.35rem;
  border: 1px solid rgba(11, 31, 51, 0.1);
  background: #fff;
}

.mh-faq-toc-summary {
  position: relative;
  list-style: none;
  cursor: pointer;
  padding: 0.9rem 2.5rem 0.9rem 1rem;
  font-size: 0.95rem;
  font-weight: 800;
  color: var(--zeta-navy);
}

.mh-faq-toc-summary::-webkit-details-marker {
  display: none;
}

.mh-faq-toc-summary::after {
  content: "";
  position: absolute;
  right: 1rem;
  top: 50%;
  width: 0.45rem;
  height: 0.45rem;
  margin-top: -0.15rem;
  border-right: 1.8px solid var(--zeta-cyan);
  border-bottom: 1.8px solid var(--zeta-cyan);
  transform: translateY(-50%) rotate(45deg);
  transition: transform 0.2s ease;
}

.mh-faq-toc[open] .mh-faq-toc-summary::after {
  margin-top: 0.1rem;
  transform: translateY(-50%) rotate(-135deg);
}

.mh-faq-toc-summary:hover {
  color: var(--zeta-cyan);
}

.mh-faq-index {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  padding: 0 1rem 1rem;
}

.mh-faq-index .mh-chip {
  cursor: pointer;
  border: 1px solid rgba(11, 31, 51, 0.12);
  background: #fff;
  font: inherit;
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--zeta-navy);
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.mh-faq-index .mh-chip:hover {
  color: var(--zeta-cyan);
  border-color: rgba(36, 178, 221, 0.45);
  background: rgba(36, 178, 221, 0.08);
}

.mh-faq-stack {
  border-top: 1px solid var(--zeta-line);
}

.mh-faq-item {
  padding: 1.5rem 0 1.65rem;
  border-bottom: 1px solid var(--zeta-line);
  scroll-margin-top: calc(var(--header-h) + 1rem);
}

.mh-faq-title {
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
  margin: 0 0 1.1rem;
  font-size: 1.08rem;
  font-weight: 800;
  line-height: 1.55;
  color: var(--zeta-navy);
}

.mh-faq-num {
  display: inline-grid;
  place-items: center;
  flex-shrink: 0;
  width: 2rem;
  height: 2rem;
  margin-top: 0.05rem;
  font-family: Outfit, sans-serif;
  font-size: 0.88rem;
  font-weight: 700;
  color: #fff;
  background: var(--zeta-cyan);
}

.mh-faq-title-text {
  flex: 1;
  min-width: 0;
  padding-top: 0.2rem;
}

.mh-faq-body {
  display: grid;
  gap: 0.95rem;
}

.mh-faq-lab {
  float: left;
  margin-right: 0.35em;
  font: inherit;
  font-weight: 700;
  color: inherit;
}

.mh-faq-text {
  overflow: auto;
  min-width: 0;
  font-size: 1.02rem;
  font-weight: 500;
  line-height: 1.9;
  color: var(--zeta-ink);
}

.mh-faq-q .mh-faq-text {
  padding: 0;
  background: transparent;
}

.mh-faq-text > :first-child,
.mh-faq-text > p:first-of-type {
  margin-top: 0;
}

.mh-faq-text > :last-child {
  margin-bottom: 0;
}

.mh-faq-locked {
  display: flow-root;
  margin: 0;
  padding: 0.85rem 1rem;
  background: var(--zeta-mist, #eef2f5);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.8;
  color: #5b6770;
}

.mh-faq-locked .mh-faq-lab {
  float: none;
}

.mh-faq-locked a {
  color: var(--zeta-cyan);
  font-weight: 700;
}

.mh-faq-empty {
  margin: 1.5rem 0 0;
  padding: 1.1rem 1.15rem;
  background: var(--zeta-mist);
  font-size: 1rem;
  font-weight: 600;
  color: #5b6770;
}

.mh-faq-list,
.mh-faq-olist {
  margin: 0.75rem 0 0;
  padding-left: 1.35rem;
}

.mh-faq-list li,
.mh-faq-olist li {
  margin: 0 0 0.45rem;
}

.mh-faq-olist {
  list-style: decimal;
}

.mh-faq-list {
  list-style: disc;
}

.mh-lead {
  margin: 0 0 2rem;
  max-width: 52rem;
  font-size: 1.02rem;
  font-weight: 500;
  line-height: 1.95;
  color: var(--zeta-ink);
}

.mh-section:has(.mh-startkit-thumb) > .mh-wrap > .mh-lead {
  margin-bottom: 1.5rem;
  line-height: 1.85;
}

.mh-startkit-thumb {
  margin: 0 0 1.1rem;
  max-width: 14rem;
}

.mh-startkit-thumb img {
  display: block;
  width: 100%;
  height: auto;
}

.mh-step-stack {
  margin-top: 1.75rem;
  display: grid;
  gap: 1.25rem;
}

.mh-step {
  padding: 1.5rem 0 0;
  border-top: 1px solid var(--zeta-line);
}

.mh-step-stack .mh-step {
  padding: 1.75rem 1.35rem 1.85rem;
  background: var(--zeta-mist);
  border-top: 1px solid var(--zeta-line);
  border-bottom: 1px solid var(--zeta-line);
}

@media (min-width: 640px) {
  .mh-step-stack .mh-step {
    padding: 1.9rem 1.75rem 2rem;
  }
}

.mh-step-num {
  margin: 0;
  font-family: Outfit, sans-serif;
  font-size: 0.85rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  color: var(--zeta-cyan);
}

.mh-step h3 {
  margin: 0.35rem 0 0.75rem;
  font-size: 1.2rem;
  font-weight: 800;
  color: var(--zeta-navy);
}

.mh-step > p {
  margin: 0 0 1rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.85;
  color: var(--zeta-ink);
}

.mh-rule-list {
  margin: 0 0 1.5rem;
  padding-left: 1.35rem;
  list-style: disc;
}

.mh-rule-list li {
  margin: 0 0 0.7rem;
  font-size: 1.02rem;
  font-weight: 500;
  line-height: 1.85;
  color: var(--zeta-ink);
  list-style: disc;
}

.mh-rule-list li:last-child {
  margin-bottom: 0;
}

.mh-rule-list strong {
  font-weight: 800;
  color: var(--zeta-navy);
}

.mh-step .mh-qanda-fold {
  margin: 0 0 1.25rem;
  background: #fff;
}

.mh-step .mh-qanda-fold .mh-rule-list {
  margin: 0;
  padding: 0 1.15rem 1.1rem 2.5rem;
}

.mh-step .mh-agree-box {
  background: #fff;
}

.mh-step-actions .btn-primary,
.mh-wg-panel .btn-primary,
.mh-agree .btn-primary {
  flex-shrink: 0;
  padding: 0.5rem 1rem;
  font-size: 0.875rem;
  width: auto;
}

.mh-agree .btn-primary.is-disabled,
a.btn-primary.is-disabled,
span.btn-primary.is-disabled {
  opacity: 0.45;
  pointer-events: none;
  transform: none;
  filter: none;
  box-shadow: none;
}

.mh-guideline-frame {
  display: block;
  width: 100%;
  height: 22rem;
  margin: 0 0 1.5rem;
  border: 1px solid var(--zeta-line);
  background: #fff;
}

.mh-form-lead {
  margin: 0 0 1.5rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.85;
  color: var(--zeta-ink);
}

.mh-form-note {
  display: block;
  margin: 0.45rem 0 0;
  font-size: 0.92rem;
  font-weight: 500;
  line-height: 1.7;
  color: #5b6770;
}

.mh-form-note a {
  color: var(--zeta-cyan);
  font-weight: 700;
}

.mh-form-callout {
  margin: 1.25rem 0 0.5rem;
  padding: 0.85rem 1rem;
  background: #eaf7fb;
  font-size: 1.02rem;
  font-weight: 800;
  line-height: 1.6;
  color: var(--zeta-navy);
  text-align: left;
}

.mh-fact dd {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.75;
  color: var(--zeta-navy);
}

.mh-fact dd a {
  color: var(--zeta-cyan);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 0.12em;
}

.mh-fact dd .mh-form-note {
  margin-top: 0.5rem;
  font-weight: 500;
}

.mh-fact dd .mh-form-note + br {
  display: none;
}

.mh-fact dd .mh-form-note + .mh-form-note,
.mh-fact dd .mh-form-note + br + .mh-form-note {
  margin-top: 0.25rem;
}

.mh-agree {
  display: grid;
  gap: 1rem;
  max-width: 40rem;
}

.mh-agree-box {
  display: grid;
  grid-template-columns: 1.85rem minmax(0, 1fr);
  gap: 0.85rem;
  align-items: center;
  padding: 0.85rem 1rem;
  background: var(--zeta-mist);
  border: 1px solid rgba(7, 26, 43, 0.1);
}

.mh-agree-box.is-on {
  border-color: var(--zeta-cyan);
  background: #eaf7fb;
}

.mh-agree-box label {
  display: block;
  margin: 0;
  font-size: 1.02rem;
  font-weight: 800;
  line-height: 1.5;
  color: var(--zeta-navy);
  cursor: pointer;
}

.mh-agree-box input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  width: 1.85rem;
  height: 1.85rem;
  margin: 0;
  border: 2px solid rgba(11, 31, 51, 0.28);
  background: #fff;
  cursor: pointer;
  flex-shrink: 0;
}

.mh-agree-box input[type="checkbox"]:checked {
  background: var(--zeta-cyan);
  border-color: var(--zeta-cyan);
}

.mh-agree-box input[type="checkbox"]:checked::after {
  content: "";
  display: block;
  width: 0.45rem;
  height: 0.85rem;
  margin: 0.12rem auto 0;
  border-right: 2.5px solid #fff;
  border-bottom: 2.5px solid #fff;
  background: transparent;
  transform: rotate(45deg);
}

.mh-agree-box input[type="checkbox"]:focus-visible {
  outline: 2px solid var(--zeta-cyan);
  outline-offset: 3px;
}

.mh-agree .mh-btn {
  width: max-content;
  max-width: 100%;
}

.mh-agree-note {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 500;
  line-height: 1.7;
  color: #5b6770;
}

.mh-agree-note a {
  color: var(--zeta-cyan);
  font-weight: 700;
}

.mh-step-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.mh-step .mh-note {
  margin-top: -0.35rem;
}

.mh-facts {
  display: grid;
  gap: 0;
  margin: 0 0 2.25rem;
  max-width: 56rem;
  border-top: 1px solid var(--zeta-line);
}

.mh-fact {
  display: grid;
  grid-template-columns: 8.5rem minmax(0, 1fr);
  gap: 1rem;
  padding: 0.85rem 0;
  border-bottom: 1px solid var(--zeta-line);
}

.mh-fact dt {
  margin: 0;
  font-size: 0.92rem;
  font-weight: 800;
  color: #5b6770;
}

.mh-wg-card + .mh-facts {
  margin-top: 2rem;
}

.mh-list-admin {
  margin: 0 0 0.5rem;
  padding: 1rem 0 0;
  border-top: 1px solid var(--zeta-line);
  font-size: 0.92rem;
  font-weight: 600;
  line-height: 1.8;
  color: #5b6770;
}

.mh-list-admin a {
  color: var(--zeta-cyan);
  font-weight: 700;
  text-decoration: none;
}

.mh-list-admin a:hover {
  text-decoration: underline;
}

.mh-list-admin-note {
  display: inline;
  color: #5b6770;
}

@media (max-width: 519px) {
  .mh-fact {
    grid-template-columns: 1fr;
    gap: 0.25rem;
  }
}

.mh-kyoto-media {
  display: grid;
  gap: 1rem;
  margin: 0 0 2.5rem;
}

@media (min-width: 800px) {
  .mh-kyoto-media {
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
    align-items: start;
  }
}

.mh-kyoto-media figure {
  margin: 0;
  background: var(--zeta-mist);
}

.mh-kyoto-media img {
  display: block;
  width: 100%;
  height: auto;
}

.mh-subhead {
  margin: 0 0 0.85rem;
  font-size: 1rem;
  font-weight: 800;
  color: var(--zeta-navy);
}

.mh-lead + .mh-lead {
  margin-top: -1rem;
}

.mh-casestudy-article {
  max-width: none;
}

.mh-casestudy-article .mh-article-body {
  max-width: 52rem;
}

.mh-article-body .box {
  margin: 0 0 1.75rem;
  padding: 1.15rem 1.25rem;
  background: var(--zeta-mist);
  font-size: 1.02rem;
  font-weight: 500;
  line-height: 1.9;
  color: var(--zeta-ink);
}

.mh-article-body h5,
.mh-article-body h3 {
  margin: 1.6rem 0 0.55rem;
  padding: 0.15rem 0 0.15rem 0.75rem;
  border-left: 3px solid var(--zeta-cyan);
  background: none;
  font-size: 1.1rem;
  font-weight: 800;
  line-height: 1.4;
  text-align: left;
  color: var(--zeta-navy);
}

.mh-article-body h6 {
  margin: 1.25rem 0 0.4rem;
  padding: 0;
  border: none;
  background: none;
  font-size: 1.05rem;
  font-weight: 800;
  line-height: 1.45;
  text-align: left;
  color: var(--zeta-navy);
}

.mh-article-body .row {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  align-items: flex-start;
  margin: 0 0 1.5rem;
}

.mh-article-body .row.uniform {
  align-items: flex-start;
}

.mh-article-body .row.uniform.\35 0\25,
.mh-article-body .row[class*="50%"] {
  gap: 1rem;
}

.mh-article-body .row > [class*="u"] {
  flex: 1 1 100%;
  min-width: 0;
  box-sizing: border-box;
}

/* Skel grid classes start with digits — use ~= so selectors are valid */
@media (min-width: 768px) {
  .mh-article-body .row > [class~="12u"] {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .mh-article-body .row > [class~="2u"] {
    flex: 2 1 0;
    max-width: none;
  }

  .mh-article-body .row > [class~="3u"] {
    flex: 3 1 0;
    max-width: none;
  }

  .mh-article-body .row > [class~="4u"] {
    flex: 0 0 calc(33.333% - 1rem);
    width: calc(33.333% - 1rem);
    max-width: calc(33.333% - 1rem);
  }

  .mh-article-body .row > [class~="5u"] {
    flex: 5 1 0;
  }

  .mh-article-body .row > [class~="6u"] {
    flex: 6 1 0;
    max-width: none;
  }

  .mh-article-body .row > [class~="7u"] {
    flex: 7 1 0;
  }

  .mh-article-body .row > [class~="8u"] {
    flex: 8 1 0;
  }

  .mh-article-body .row > [class~="9u"] {
    flex: 9 1 0;
  }
}

/* Skel small breakpoint: 6u(small) = half width (2-up logo grids) */
@media (max-width: 767px) {
  .mh-article-body .row > [class*="6u(small)"] {
    flex: 1 1 calc(50% - 0.5rem);
    max-width: calc(50% - 0.5rem);
  }

  .mh-article-body .row > [class*="12u(small)"] {
    flex: 1 1 100%;
    max-width: 100%;
  }
}

.mh-article-body .row > [class~="2u"] a:has(img),
.mh-article-body .row > [class~="2u"] img,
.mh-article-body .row > [class~="4u"] a:has(img),
.mh-article-body .row > [class~="4u"] img {
  display: block;
  width: 100%;
  height: auto;
  border-bottom: none;
}

.mh-article-body .image.fit,
.mh-article-body span.image.fit {
  display: block;
  width: 100%;
  margin: 0 0 0.75rem;
}

.mh-article-body .image.fit img,
.mh-article-body span.image.fit img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
  object-fit: contain;
}

.mh-article-body .row > [class~="2u"] .image.fit,
.mh-article-body .row > [class~="2u"] span.image.fit,
.mh-article-body .row > [class~="4u"] .image.fit,
.mh-article-body .row > [class~="4u"] span.image.fit {
  margin: 0;
}

.mh-article-body .row.uniform > [class~="2u"],
.mh-article-body .row.uniform > [class~="4u"] {
  display: flex;
  align-items: center;
}

.mh-article-body .sml {
  font-size: 0.85em;
  font-weight: 400;
  line-height: 1.8;
  text-align: left;
  color: var(--zeta-ink);
}

.mh-article-body .sml p {
  margin: 0 0 0.75em;
  font-size: inherit;
  line-height: inherit;
}

.mh-article-body ul.dot {
  margin: 0 0 0.75rem;
  padding: 0 0 0 1em;
  list-style: none;
}

.mh-article-body ul.dot > li {
  list-style: none;
  margin: 0;
  padding: 0;
  text-indent: -1em;
  font-weight: 400;
  line-height: 1.7;
}

.mh-article-body ul.dot > li::before {
  content: "・";
}

.mh-article-body ul.dot.btm > li,
.mh-article-body ul.btm > li {
  margin-bottom: 0.5em;
}

.mh-article-body ul.dot.btm > li:last-child,
.mh-article-body ul.btm > li:last-child {
  margin-bottom: 0;
}

.mh-article a.button.lkbtn,
.mh-article-body a.button.lkbtn {
  display: inline-flex;
  width: 100%;
  max-width: 100%;
  padding: 0.55rem 0.85rem;
  border: none !important;
  color: #fff !important;
  font-size: 0.85rem;
  line-height: 1.35;
  text-align: center;
  white-space: normal;
  word-break: normal;
}

.mh-article a.button.lkbtn:hover,
.mh-article-body a.button.lkbtn:hover {
  color: #fff !important;
  filter: brightness(1.06);
  transform: translateY(-1px);
}

.mh-article-body .row > [class~="12u"] > h5,
.mh-article-body .row > [class~="12u"] > h3 {
  margin-top: 1.35rem;
  margin-bottom: 0;
}

.mh-article-body .row > [class~="12u"]:first-child > h5,
.mh-article-body .row > [class~="12u"]:first-child > h3 {
  margin-top: 0;
}

.mh-article-body .scroll-table {
  margin: 0 0 1.5rem;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.mh-article-body .scroll-table table.mh-data-table {
  white-space: normal;
  min-width: 44rem;
}

.mh-article-body table.mh-data-table th,
.mh-article-body table.mh-data-table td {
  white-space: normal;
  vertical-align: top;
  word-break: break-word;
}

.mh-article-body table.mh-data-table td:last-child {
  width: auto;
  text-align: left;
  white-space: normal;
}

.mh-certlist-article {
  max-width: 64rem;
}

.mh-certlist-logo {
  max-width: 18rem;
  margin: 0 0 1.5rem;
}

.mh-article-body table,
.mh-article-body table.alt {
  width: 100%;
  margin: 0 0 1.5rem;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 0.95rem;
  line-height: 1.5;
}

.mh-article-body .scroll-table table,
.mh-article-body .scroll-table table.alt {
  margin: 0;
  min-width: 40rem;
}

.mh-article-body table th {
  padding: 0.65rem 0.75rem;
  border: 1px solid rgba(7, 26, 43, 0.14);
  border-left-width: 0;
  background: var(--zeta-mist);
  font-size: 0.9em;
  font-weight: 800;
  text-align: left;
  color: var(--zeta-navy);
  white-space: nowrap;
  vertical-align: middle;
}

.mh-article-body table th:first-child {
  border-left-width: 1px;
}

.mh-article-body table.alt thead {
  border-bottom: 0;
}

.mh-article-body table td {
  padding: 0.65rem 0.75rem;
  border: solid 1px rgba(7, 26, 43, 0.14);
  border-left-width: 0;
  border-top-width: 0;
  vertical-align: middle;
  color: var(--zeta-ink);
  white-space: nowrap;
  background: #fff;
}

.mh-article-body table td:first-child {
  border-left-width: 1px;
}

.mh-article-body table tbody tr:first-child td {
  border-top-width: 1px;
}

.mh-article-body table td[rowspan] {
  font-weight: 700;
  color: var(--zeta-navy);
  background: var(--zeta-mist);
  white-space: normal;
  vertical-align: middle;
}

.mh-article-body table a {
  word-break: normal;
}

/* .dlpage inside articles: override framed table.alt / cell borders (枠なし) */
.mh-article-body table.dlpage,
.mh-article-body table.dlpage.alt {
  border: 0;
  border-collapse: collapse;
  border-spacing: 0;
  background: transparent;
  box-shadow: none;
}

.mh-article-body table.dlpage thead,
.mh-article-body table.dlpage tbody,
.mh-article-body table.dlpage tfoot {
  border: 0;
}

.mh-article-body table.dlpage th,
.mh-article-body table.dlpage td {
  border: 0;
  border-left-width: 0;
  border-top-width: 0;
  background: transparent;
  white-space: normal;
}

.mh-article-body table.dlpage thead th {
  padding: 0 0 0.85rem;
  border-bottom: 1px solid var(--zeta-line);
  background: transparent;
}

.mh-article-body table.dlpage tbody tr {
  border: 0;
  border-bottom: 1px solid var(--zeta-line);
}

.mh-article-body table.dlpage tbody tr:first-child td {
  border-top-width: 0;
}

.mh-article-body table.dlpage td {
  padding: 1.1rem 0.75rem 1.1rem 0;
}

.mh-article-body table.dlpage td:last-child {
  padding-right: 0;
}

/* モバイル: 記事内 dlpage の後勝ち padding を打ち消し */
@media (max-width: 719px) {
  .mh-article-body table.dlpage td,
  .mh-article-body table.dlpage.alt td {
    padding: 0.55rem 0;
  }

  .mh-article-body table.dlpage td:last-child {
    padding: 0.55rem 0;
  }

  /* eventdocシングルのみ: タイトル→download 縦積み＋横100% */
  .mh-eventdoc-list table.dlpage tbody tr {
    display: block;
    padding: 0.65rem 0;
  }

  .mh-eventdoc-list table.dlpage td {
    display: block;
    width: 100%;
    padding: 0;
  }

  .mh-eventdoc-list table.dlpage td + td {
    margin-top: 0.45rem;
  }

  .mh-eventdoc-list table.dlpage td:last-child {
    width: 100%;
    text-align: left;
    white-space: normal;
  }

  .mh-eventdoc-list .dlpage ul.actions,
  .mh-eventdoc-list .dlpage ul.actions li {
    width: 100%;
    margin: 0;
  }

  .mh-eventdoc-list .dlpage a.button,
  .mh-eventdoc-list .dlpage span.button,
  .mh-eventdoc-article .mh-eventdoc-list .dlpage a.button,
  .mh-eventdoc-article .mh-eventdoc-list .dlpage span.button {
    display: flex;
    width: 100%;
    min-width: 0;
    justify-content: center;
    padding: 0.65rem 0.85rem;
    font-size: 0.88rem;
  }

  /* minutes: 資料 / 議事録ボタンを離して縦並び */
  .mh-minutes-list table.dlpage tbody tr {
    display: block;
    padding: 0.75rem 0;
  }

  .mh-minutes-list table.dlpage td {
    display: block;
    width: 100%;
    padding: 0;
  }

  .mh-minutes-list table.dlpage td + td {
    margin-top: 0.65rem;
  }

  .mh-minutes-list .dlpage ul.actions {
    flex-direction: column;
    align-items: stretch;
    gap: 0.55rem;
    width: 100%;
  }

  .mh-minutes-list .dlpage ul.actions li,
  .mh-minutes-list .dlpage a.button,
  .mh-minutes-list .dlpage span.button,
  .mh-minutes-article .dlpage a.button,
  .mh-minutes-article .dlpage span.button {
    width: 100%;
    min-width: 0;
  }

  .mh-minutes-list .dlpage a.button,
  .mh-minutes-list .dlpage span.button {
    display: flex;
    justify-content: center;
    padding: 0.65rem 0.85rem;
    font-size: 0.88rem;
  }
}

.mh-case-download {
  margin-top: 2.75rem;
  padding-top: 2rem;
  border-top: 1px solid var(--zeta-line);
  max-width: 52rem;
}

.mh-case-download h3 {
  margin: 0 0 1.25rem;
  font-size: 1.2rem;
  font-weight: 800;
  color: var(--zeta-navy);
}

@media (min-width: 768px) {
  .zeta-form .fwrapd {
    grid-template-columns: 17rem minmax(0, 1fr);
    align-items: start;
  }

  .mh-event-entry .zeta-form .fwrapd,
  .mh-event-entry.zeta-form .fwrapd {
    grid-template-columns: 14rem minmax(0, 1fr);
    align-items: start;
  }
}

.mh-case-download .form-agree__text a {
  color: var(--zeta-cyan);
  font-weight: 700;
}

/* Mailformpro injects .mfp_err into the 2-col agree grid; span full width */
.zeta-form .full.btmsp > .mfp_err,
.zeta-form .form-choice > .mfp_err {
  grid-column: 1 / -1;
  width: 100%;
  white-space: normal;
  background-position: 0 0.15em;
}

.zeta-form .mfp_err {
  margin-top: 0.4rem;
  font-size: 0.92rem;
  font-weight: 700;
  color: #c12b91;
}

.zeta-form .mfp_parent_error {
  border-color: #c12b76;
}

.zeta-form #mfp_error,
.zeta-form #mfp_warning {
  border-color: #c12b76;
  background-color: #fce8f1;
}

.zeta-form #mfp_error p strong,
.zeta-form #mfp_warning p strong {
  color: #c12b76;
}

/* mailformpro.css sets label { white-space: nowrap } — allow wrap in agree box */
.zeta-form .full.btmsp label,
.zeta-form .full.btmsp .form-agree__text {
  white-space: normal !important;
  overflow-wrap: break-word;
  word-break: break-word;
  min-width: 0;
}

/* mailformpro.css adds white text-shadow on .mfp_element_submit — looks doubled */
.zeta-form input[type="submit"],
.zeta-form input[type="submit"].special,
.zeta-form input[type="reset"],
.zeta-form .mfp_element_submit,
.zeta-form .mfp_element_reset {
  text-shadow: none !important;
}

/* Override mailformpro select chrome (date picker / 都道府県 etc.) */
.zeta-form select.mfp_element_select-one,
.zeta-form select.mfp_element_all,
.zeta-form .full > select,
.zeta-form .form-addr select,
.zeta-form select[name="都道府県"] {
  display: block;
  width: 100%;
  max-width: 100%;
  margin: 0;
  box-sizing: border-box;
  min-height: 3.05rem;
  padding: 0.78rem 2.75rem 0.78rem 0.85rem;
  border: 1px solid rgba(7, 26, 43, 0.16);
  border-radius: 0 !important;
  box-shadow: none !important;
  background-color: #fff;
  background-image: linear-gradient(45deg, transparent 50%, var(--zeta-navy) 50%),
    linear-gradient(135deg, var(--zeta-navy) 50%, transparent 50%);
  background-position: calc(100% - 1.15rem) 55%, calc(100% - 0.85rem) 55%;
  background-size: 0.35rem 0.35rem, 0.35rem 0.35rem;
  background-repeat: no-repeat;
  font: inherit;
  font-weight: 600;
  line-height: 1.5;
  color: var(--zeta-ink);
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
}

.zeta-form select.mfp_element_select-one:focus,
.zeta-form select.mfp_element_all:focus,
.zeta-form .full > select:focus,
.zeta-form .form-addr select:focus,
.zeta-form select[name="都道府県"]:focus {
  outline: 2px solid var(--zeta-cyan);
  outline-offset: 0;
  border-color: var(--zeta-cyan);
}

/* Empty 都道府県 option reads like a placeholder */
.zeta-form select[name="都道府県"]:has(> option[value=""]:checked) {
  color: rgba(7, 26, 43, 0.42);
  font-weight: 500;
}

.zeta-form select[name="都道府県"] option,
.zeta-form select[name="都道府県"] optgroup {
  color: var(--zeta-ink);
  font-weight: 600;
}

.zeta-form .full > .mfp_err {
  width: 100%;
  white-space: normal;
}

.zeta-form .full.half {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.5rem;
}

.zeta-form .full.half + h6,
.zeta-form .full + h6 {
  margin-top: 1.35rem;
}

.zeta-form .full.half input + input,
.zeta-form .full > input[type="email"] + input[type="email"] {
  margin-top: 0;
}

.zeta-form .full > input[type="email"] + input[type="email"] {
  margin-top: 0.5rem;
}

.zeta-form .form-choice label {
  white-space: normal !important;
}

.zeta-form .hidebox {
  margin-top: 0.75rem;
  padding: 0.85rem 0 0.25rem;
}

.zeta-form .hidebox .form-choice-list {
  margin-top: 0.75rem;
}

.zeta-form .hidebox .mh-form-callout,
.zeta-form .hidebox .mh-form-note {
  margin-top: 0;
  margin-bottom: 0.75rem;
  text-align: left;
}

.mh-minutes-file {
  margin: 1.75rem 0 0;
}

.mh-minutes-file .mh-btn {
  display: inline-flex;
  width: auto;
}

.mh-logo-guide .mh-article-body > p {
  margin: 0 0 1.15rem;
  font-size: 1.05rem;
  font-weight: 500;
  line-height: 1.9;
  color: var(--zeta-ink);
}

.mh-logo-ban {
  margin: 1.75rem 0 2rem;
  padding: 1.15rem 1.25rem;
  background: var(--zeta-mist);
}

.mh-logo-ban-title {
  margin: 0 0 0.55rem;
  font-size: 1.02rem;
  font-weight: 800;
  color: var(--zeta-navy);
}

.mh-logo-ban p:last-child {
  margin: 0;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.85;
  color: var(--zeta-ink);
}

.mh-logo-guide .mh-agree {
  margin-top: 0.5rem;
}

.mh-logolist-summary {
  margin: 0 0 2.25rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid var(--zeta-line);
  text-align: center;
}

.mh-logolist-partners {
  margin: 0 0 0.65rem;
  font-family: Outfit, "Zen Kaku Gothic New", sans-serif;
  font-size: 1.35rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  color: var(--zeta-navy);
}

.mh-logolist-partners span {
  display: block;
  margin-top: 0.25rem;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: var(--zeta-cyan);
}

.mh-logolist-count {
  margin: 0 0 0.45rem;
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--zeta-ink);
}

.mh-logolist-count strong {
  margin: 0 0.15em;
  font-size: 1.35rem;
  font-weight: 800;
  color: var(--zeta-navy);
}

.mh-logolist-count span {
  display: inline-block;
  margin-left: 0.25rem;
  font-size: 0.95rem;
  font-weight: 600;
  color: #5b6770;
}

.mh-logolist-date {
  margin: 0;
  font-size: 0.92rem;
  font-weight: 600;
  color: #5b6770;
}

.mh-logolist-group {
  margin: 0 0 2.75rem;
}

.mh-logolist-group h3 {
  margin: 0 0 1.25rem;
  padding: 0.7rem 1rem;
  background: var(--zeta-mist);
  font-size: 1.22rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  color: var(--zeta-navy);
}

.mh-logolist-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem 1.15rem;
}

@media (min-width: 720px) {
  .mh-logolist-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 1000px) {
  .mh-logolist-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.mh-logolist-item {
  margin: 0;
}

.mh-logolist-thumb {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 5.5rem;
  padding: 0.85rem 1rem;
  background: #fff;
  border: 1px solid var(--zeta-line);
  text-decoration: none !important;
  transition: border-color 0.2s ease, transform 0.2s ease;
}

.mh-logolist-thumb:hover {
  border-color: var(--zeta-cyan);
  transform: translateY(-1px);
}

.mh-logolist-thumb img {
  display: block;
  width: 100%;
  max-width: 11rem;
  height: auto;
  max-height: 3.5rem;
  object-fit: contain;
}

.mh-logolist-meta {
  margin-top: 0.55rem;
}

.mh-logolist-name {
  margin: 0;
  font-size: 0.88rem;
  font-weight: 700;
  line-height: 1.55;
  color: var(--zeta-navy);
}

.mh-logolist-flag {
  margin: 0.25rem 0 0;
  font-size: 0.82rem;
  font-weight: 700;
  color: #c12b76;
}

.mh-logolist-edit {
  margin: 0.2rem 0 0;
  font-size: 0.82rem;
}

.mh-logolist-edit a {
  color: var(--zeta-cyan);
  font-weight: 700;
  text-decoration: none;
}

.mh-logolist-edit a:hover {
  text-decoration: underline;
}

.mh-mlist-scroll {
  margin: 0 0 0.5rem;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid var(--zeta-line);
  background: #fff;
}

.mh-mlist-table {
  width: 100%;
  min-width: 64rem;
  margin: 0;
  border-collapse: collapse;
  font-size: 0.88rem;
  line-height: 1.55;
}

.mh-mlist-table thead th {
  padding: 0.7rem 0.75rem;
  border-bottom: 1px solid var(--zeta-line);
  background: #eaf7fb;
  font-size: 0.85rem;
  font-weight: 800;
  color: var(--zeta-navy);
  text-align: left;
  white-space: nowrap;
}

.mh-mlist-table td,
.mh-mlist-table th {
  padding: 0.85rem 0.75rem;
  border-bottom: 1px solid var(--zeta-line);
  vertical-align: top;
  color: var(--zeta-ink);
}

.mh-mlist-group th {
  padding: 0.7rem 0.85rem;
  background: var(--zeta-mist);
  font-size: 1.02rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  color: var(--zeta-navy);
  text-align: left;
}

.mh-mlist-logo {
  width: 10.5rem;
  text-align: center;
}

.mh-mlist-logo a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 3.5rem;
  margin: 0 0 0.45rem;
  padding: 0.45rem;
  background: #fff;
  border: 1px solid var(--zeta-line);
  text-decoration: none !important;
}

.mh-mlist-logo img {
  display: block;
  width: 100%;
  max-width: 8.5rem;
  height: auto;
  max-height: 2.8rem;
  object-fit: contain;
}

.mh-mlist-noimage {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 2.5rem;
  font-family: Outfit, sans-serif;
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  color: #8a96a0;
  background: #edf1f4;
}

.mh-mlist-logo strong {
  display: block;
  font-size: 0.84rem;
  font-weight: 700;
  line-height: 1.5;
  color: var(--zeta-navy);
}

.mh-mlist-flag {
  display: inline-block;
  margin-top: 0.3rem;
  font-size: 0.8rem;
  font-weight: 800;
  color: #c12b76;
}

.mh-mlist-admin {
  min-width: 7rem;
}

.mh-mlist-admin a,
.mh-mlist-contact a {
  display: block;
  color: var(--zeta-cyan);
  font-weight: 700;
  text-decoration: none;
  word-break: break-all;
}

.mh-mlist-admin a:hover,
.mh-mlist-contact a:hover,
.mh-mlist-ext:hover {
  text-decoration: underline;
}

.mh-mlist-badge {
  display: inline-flex;
  margin: 0 0 0.4rem;
  padding: 0.15rem 0.4rem;
  font-size: 0.8rem;
  font-weight: 800;
  color: var(--zeta-navy);
  background: #eaf7fb;
  border: 1px solid rgba(36, 178, 221, 0.28);
}

.mh-mlist-terms {
  margin: 0;
  padding: 0;
  list-style: none;
}

.mh-mlist-terms li {
  margin: 0 0 0.2rem;
}

.mh-mlist-contact,
.mh-mlist-body {
  min-width: 12rem;
}

.mh-mlist-contact span,
.mh-mlist-body span {
  display: block;
  margin-top: 0.25rem;
  word-break: break-all;
}

.mh-mlist-url {
  font-size: 0.8rem;
  color: #5b6770;
}

.mh-mlist-ext {
  display: block;
  margin-top: 0.25rem;
  color: var(--zeta-cyan);
  font-weight: 700;
  text-decoration: none;
  word-break: break-all;
}

.mh-mlist-nost {
  color: #c12b76 !important;
  font-weight: 700;
}

.mh-mlist-empty {
  color: #8a96a0;
}

.mh-userfaq-stack {
  display: grid;
  gap: 0;
  margin: 0 0 1.75rem;
  max-width: 48rem;
  border-top: 1px solid var(--zeta-line);
}

.mh-userfaq-item {
  margin: 0;
  padding: 1.35rem 0;
  border-bottom: 1px solid var(--zeta-line);
}

.mh-userfaq-q {
  display: grid;
  grid-template-columns: 1.75rem minmax(0, 1fr);
  gap: 0.75rem;
  align-items: start;
  margin: 0;
  padding: 0.85rem 1rem;
  background: var(--zeta-mist);
  font-size: 1.05rem;
  font-weight: 800;
  line-height: 1.8;
  color: var(--zeta-navy);
}

.mh-userfaq-a {
  display: grid;
  grid-template-columns: 1.75rem minmax(0, 1fr);
  gap: 0.75rem;
  align-items: start;
  margin: 0 0 0 1em;
  font-size: 1.05rem;
  font-weight: 500;
  line-height: 1.8;
  color: var(--zeta-ink);
}

.mh-devfaq .mh-userfaq-a {
  margin: 1em 0 0 1em;
}

.mh-userfaq-lab {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  font-family: Outfit, sans-serif;
  font-size: 0.88rem;
  font-weight: 800;
  line-height: 1;
  color: #fff;
  background: var(--zeta-cyan);
}

.mh-userfaq-a .mh-userfaq-lab {
  background: var(--zeta-navy);
}

.mh-userfaq-text {
  min-width: 0;
}

.mh-userfaq-text a {
  display: inline;
  color: var(--zeta-cyan);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 0.12em;
}

.mh-userfaq-note {
  margin: 0 0 0.5rem;
  max-width: 48rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.8;
  color: #5b6770;
}

.mh-userfaq-note a {
  color: var(--zeta-cyan);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 0.12em;
}

.mh-fileup-intro {
  margin: 0 0 2.25rem;
  max-width: 48rem;
}

.mh-fileup-intro p {
  margin: 0 0 1.1rem;
  font-size: 1.05rem;
  font-weight: 500;
  line-height: 1.9;
  color: var(--zeta-ink);
}

.mh-fileup-intro strong {
  font-weight: 800;
  color: var(--zeta-navy);
}

.mh-fileup-sample {
  margin: 0 0 1.25rem;
  padding: 1rem;
  background: var(--zeta-mist);
}

.mh-fileup-sample img {
  display: block;
  width: 100%;
  max-width: 36rem;
  height: auto;
  margin: 0 auto;
}

.mh-fileup-notes {
  margin: 0.85rem 0 0;
  padding: 0;
  list-style: none;
}

.mh-fileup-notes li {
  position: relative;
  margin: 0 0 0.55rem;
  padding-left: 1.1em;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.8;
  color: #5b6770;
  text-indent: -1em;
}

.mh-fileup-notes li::before {
  content: "※";
}

.mh-fileup-notes a {
  color: var(--zeta-cyan);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 0.12em;
}

.zeta-form input[type="file"] {
  display: block;
  width: 100%;
  max-width: 100%;
  margin: 0 0 0.85rem;
  padding: 0.75rem 0.85rem;
  font-size: 1rem;
  color: var(--zeta-ink);
  background: #fff;
  border: 1px solid rgba(11, 31, 51, 0.16);
}

.mh-memberslist-count {
  margin: 0 0 1.5rem;
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--zeta-ink);
}

.mh-memberslist-count strong {
  margin: 0 0.15em;
  font-size: 1.35rem;
  font-weight: 800;
  color: var(--zeta-navy);
}

.mh-memberslist-count span {
  font-size: 0.95rem;
  font-weight: 600;
  color: #5b6770;
}

.mh-memberslist-tools {
  display: grid;
  gap: 1rem;
  margin: 0 0 1.75rem;
}

.mh-memberslist-search {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.65rem;
  max-width: 36rem;
}

.mh-memberslist-search input[type="search"] {
  width: 100%;
  min-height: 2.85rem;
  padding: 0.65rem 0.9rem;
  font-size: 1.02rem;
  color: var(--zeta-ink);
  background: #fff;
  border: 1px solid rgba(11, 31, 51, 0.16);
}

.mh-memberslist-search button {
  min-width: 5.5rem;
  padding: 0 1.1rem;
  font-size: 0.95rem;
  font-weight: 800;
  color: #fff;
  background: var(--zeta-accent-grad);
  border: 0;
  cursor: pointer;
}

.mh-memberslist-search button:hover {
  filter: brightness(1.05);
}

.mh-memberslist-cats-toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.55rem 0.85rem;
  font-size: 0.95rem;
  font-weight: 800;
  color: var(--zeta-navy);
  background: var(--zeta-mist);
  border: 1px solid rgba(11, 31, 51, 0.1);
  cursor: pointer;
}

.mh-memberslist-cats-toggle span {
  font-family: Outfit, sans-serif;
  color: var(--zeta-cyan);
}

.mh-memberslist-cat-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0.85rem 0 0;
  padding: 0;
  list-style: none;
}

.mh-memberslist-cat-list a {
  display: inline-flex;
  padding: 0.4rem 0.7rem;
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--zeta-navy) !important;
  background: #fff;
  border: 1px solid rgba(11, 31, 51, 0.14);
  text-decoration: none !important;
}

.mh-memberslist-cat-list a:hover {
  color: var(--zeta-cyan) !important;
  border-color: var(--zeta-cyan);
}

.mh-memberslist-filterbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.85rem;
  margin: 0 0 1.25rem;
}

.mh-memberslist-filter-label {
  margin: 0;
  font-size: 1rem;
  font-weight: 800;
  color: var(--zeta-navy);
}

.mh-memberslist-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid var(--zeta-line);
  background: #fff;
}

.mh-memberslist-table {
  width: 100%;
  /* min-width: 40rem; */
  margin: 0;
  border-collapse: collapse;
}

.mh-memberslist-table thead th {
  padding: 0.7rem 0.85rem;
  border-bottom: 1px solid var(--zeta-line);
  background: #eaf7fb;
  font-size: 0.88rem;
  font-weight: 800;
  color: var(--zeta-navy);
  text-align: left;
  white-space: nowrap;
}

.mh-memberslist-table td,
.mh-memberslist-table th {
  padding: 0.95rem 0.85rem;
  border-bottom: 1px solid var(--zeta-line);
  vertical-align: middle;
}

.mh-memberslist-group th {
  padding: 0.7rem 0.85rem;
  background: var(--zeta-mist);
  font-size: 1.02rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  color: var(--zeta-navy);
  text-align: left;
}

.mh-memberslist-logo {
  width: 9.5rem;
}

.mh-memberslist-logo img {
  display: block;
  width: 100%;
  max-width: 8.5rem;
  height: auto;
  max-height: 2.8rem;
  object-fit: contain;
}

.mh-memberslist-noimage {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 2.5rem;
  font-family: Outfit, sans-serif;
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  color: #8a96a0;
  background: #edf1f4;
}

.mh-memberslist-name strong {
  font-size: 1.05rem;
  font-weight: 800;
  color: var(--zeta-navy);
}

.mh-memberslist-actions {
  width: 14rem;
  white-space: nowrap;
}

.mh-memberslist-actions .mh-btn {
  display: inline-flex;
  margin: 0 0.35rem 0.35rem 0;
  padding: 0.55rem 0.85rem;
  font-size: 0.88rem;
}

.mh-memberslist-actions .mh-btn-ghost {
  background: #fff;
}

@media (max-width: 719px) {
  .mh-memberslist-scroll {
    border-left: 0;
    border-right: 0;
  }

  .mh-memberslist-table thead {
    display: none;
  }

  .mh-memberslist-table,
  .mh-memberslist-table tbody,
  .mh-memberslist-table tr,
  .mh-memberslist-table td,
  .mh-memberslist-table th {
    display: block;
    width: 100%;
  }

  .mh-memberslist-table tr:not(.mh-memberslist-group) {
    padding: 0.7rem 0.75rem;
    border-bottom: 1px solid var(--zeta-line);
  }

  .mh-memberslist-table td {
    padding: 0.15rem 0;
    border-bottom: 0;
  }

  .mh-memberslist-group th {
    padding: 0.55rem 0.75rem;
    font-size: 0.9rem;
  }

  .mh-memberslist-logo {
    width: 100%;
    margin: 0 0 0.1rem;
  }

  .mh-memberslist-logo img {
    display: block;
    width: 100%;
    max-width: 100%;
    max-height: none;
    height: auto;
    object-fit: contain;
    object-position: left center;
  }

  .mh-memberslist-noimage {
    min-height: 3.5rem;
    font-size: 0.75rem;
  }

  .mh-memberslist-name {
    padding: 0.1rem 0 0.25rem;
  }

  .mh-memberslist-name strong {
    font-size: 0.95rem;
    line-height: 1.35;
  }

  .mh-memberslist-actions {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 0.4rem;
    width: 100%;
    margin-top: 0.2rem;
    white-space: normal;
  }

  .mh-section .mh-memberslist-actions a.mh-btn,
  .mh-section .mh-memberslist-actions span.mh-btn,
  .mh-section .mh-memberslist-actions button.mh-btn,
  .mh-memberslist-actions .mh-btn {
    flex: 1 1 0;
    width: auto !important;
    min-width: 0;
    margin: 0;
    padding: 0.55rem 0.45rem;
    font-size: 0.82rem;
  }
}

.mh-memberslist-hero-logo {
  margin: 1.25rem 0 0;
}

.mh-memberslist-hero-logo img {
  display: block;
  width: auto;
  max-width: min(100%, 16rem);
  max-height: 4.5rem;
  height: auto;
  padding: 0.75rem 1rem;
  background: #fff;
  object-fit: contain;
}

.mh-memberslist-single {
  max-width: 56rem;
}

.mh-memberslist-seg {
  margin: 0;
  padding: 0;
  list-style: none;
}

.mh-memberslist-seg li {
  margin: 0 0 0.25rem;
}

.mh-memberslist-block {
  margin: 0 0 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--zeta-line);
}

.mh-memberslist-block h3 {
  margin: 0 0 0.85rem;
  padding: 0;
  background: none;
  font-size: 1.05rem;
  font-weight: 800;
  color: var(--zeta-navy);
}

.mh-memberslist-block p,
.mh-memberslist-prose {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 500;
  line-height: 1.9;
  color: var(--zeta-ink);
}

.mh-memberslist-prose > :first-child {
  margin-top: 0;
}

.mh-memberslist-prose > :last-child {
  margin-bottom: 0;
}

.mh-memberslist-message {
  margin: 2.25rem 0 0;
  padding: 1.5rem 0 0;
  border-top: 1px solid var(--zeta-line);
}

.mh-memberslist-message h3 {
  margin: 0 0 0.75rem;
  padding: 0;
  background: none;
  font-size: 1.15rem;
  font-weight: 800;
  color: var(--zeta-navy);
}

.mh-memberslist-message-lead {
  margin: 0 0 1rem;
  font-size: 1.02rem;
  font-weight: 500;
  line-height: 1.8;
  color: var(--zeta-ink);
}

.mh-memberslist-cf7 {
  margin-top: 1.25rem;
  max-width: 56rem;
}

.mh-memberslist-cf7 .wpcf7-form label,
.mh-memberslist-cf7 .wpcf7-form p {
  font-size: 1rem;
  font-weight: 600;
  color: var(--zeta-navy);
}

.mh-memberslist-cf7 .wpcf7-form input[type="text"],
.mh-memberslist-cf7 .wpcf7-form input[type="email"],
.mh-memberslist-cf7 .wpcf7-form input[type="tel"],
.mh-memberslist-cf7 .wpcf7-form input[type="url"],
.mh-memberslist-cf7 .wpcf7-form textarea {
  width: 100%;
  margin: 0.35rem 0 0.85rem;
  padding: 0.7rem 0.85rem;
  font-size: 1.02rem;
  color: var(--zeta-ink);
  background: #fff;
  border: 1px solid rgba(11, 31, 51, 0.16);
}

.mh-memberslist-cf7 .wpcf7-list-item {
  display: block;
  margin: 0;
}

.mh-memberslist-cf7 .wpcf7-acceptance,
.mh-memberslist-cf7 .wpcf7-checkbox {
  display: block;
  margin: 0.85rem 0 1rem;
}

.mh-memberslist-cf7 .wpcf7-acceptance .wpcf7-list-item-label,
.mh-memberslist-cf7 .wpcf7-checkbox .wpcf7-list-item-label {
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.7;
  color: var(--zeta-navy);
}

.mh-memberslist-cf7 .wpcf7-acceptance label,
.mh-memberslist-cf7 .wpcf7-checkbox label {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  margin: 0;
  padding: 0.95rem 1rem;
  font-weight: 600;
  color: var(--zeta-navy);
  background: var(--zeta-mist);
  cursor: pointer;
}

.mh-memberslist-cf7 .wpcf7-acceptance a,
.mh-memberslist-cf7 .wpcf7-checkbox a {
  color: var(--zeta-cyan) !important;
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

.mh-memberslist-cf7 .wpcf7-form input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  width: 1.85rem;
  height: 1.85rem;
  margin: 0.1rem 0 0;
  border: 2px solid rgba(11, 31, 51, 0.28);
  background: #fff;
  cursor: pointer;
  flex-shrink: 0;
}

.mh-memberslist-cf7 .wpcf7-form input[type="checkbox"]:checked {
  background: var(--zeta-cyan);
  border-color: var(--zeta-cyan);
}

.mh-memberslist-cf7 .wpcf7-form input[type="checkbox"]:checked::after {
  content: "";
  display: block;
  width: 0.45rem;
  height: 0.85rem;
  margin: 0.12rem auto 0;
  border-right: 2.5px solid #fff;
  border-bottom: 2.5px solid #fff;
  background: transparent;
  transform: rotate(45deg);
}

.mh-memberslist-cf7 .wpcf7-form input[type="checkbox"]:focus-visible {
  outline: 2px solid var(--zeta-cyan);
  outline-offset: 3px;
}

.mh-memberslist-cf7 .wpcf7-form input[type="submit"] {
  margin-top: 0.5rem;
  padding: 0.85rem 1.45rem;
  font-size: 1rem;
  font-weight: 800;
  color: #fff !important;
  background: var(--zeta-accent-grad);
  border: 0;
  cursor: pointer;
}

.mh-memberslist-cf7 .wpcf7-form input[type="submit"]:hover {
  filter: brightness(1.05);
}

.mh-memberslist-cf7 .wpcf7-not-valid-tip,
.mh-memberslist-cf7 .wpcf7-response-output {
  border: 0 !important;
  color: #c12b76;
}

.mh-memberslist-links {
  margin: 2rem 0 0;
  padding: 1.15rem 1.25rem;
  background: var(--zeta-mist);
}

.mh-memberslist-links-title {
  margin: 0 0 0.45rem;
  font-size: 1.05rem;
  font-weight: 800;
  color: var(--zeta-navy);
}

.mh-memberslist-links-lead {
  margin: 0 0 0.95rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.75;
  color: var(--zeta-ink);
}

.mh-memberslist-links-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin: 0;
}

.mh-memberslist-links .mh-btn {
  padding: 0.55rem 0.95rem;
  font-size: 0.92rem;
}

.mh-regulations .rtext {
  font-size: 1.02rem;
  font-weight: 500;
  line-height: 1.9;
  color: var(--zeta-ink);
}

.mh-regulations .rtext .align-right {
  margin: 0 0 1.75rem;
  text-align: right;
  font-size: 0.92rem;
  font-weight: 600;
  line-height: 1.7;
  color: #5b6770;
}

.mh-regulations .rtext h4 {
  margin: 2.25rem 0 0.85rem;
  padding: 0.15rem 0;
  font-size: 1.15rem;
  font-weight: 800;
  color: var(--zeta-navy);
}

.mh-regulations .rtext h4:first-of-type {
  margin-top: 0;
}

.mh-regulations .rtext h5 {
  margin: 1.5rem 0 0.65rem;
  font-size: 1rem;
  font-weight: 800;
  color: var(--zeta-navy);
}

.mh-regulations .rtext p {
  margin: 0 0 1rem;
}

.mh-regulations .rtext ol.cjk {
  margin: 0 0 1.25rem 0.3em;
  padding-left: 2em;
  list-style-type: cjk-ideographic;
}

.mh-regulations .rtext ol.cjk > li {
  margin: 0 0 0.55rem;
  padding-left: 0.15rem;
}

.mh-regulations .rtext ol.cjk ul {
  margin: 0.45rem 0 0;
  padding: 0 0 0 1em;
  list-style: none;
}

.mh-regulations .rtext ol.cjk ul li {
  position: relative;
  margin: 0 0 0.35rem;
  padding-left: 0;
  text-indent: -1em;
  list-style: none;
}

.mh-regulations .rtext ol.cjk ul li::before {
  content: "・";
}

.mh-regulations .rtext ul {
  margin: 0 0 1.25rem;
  padding-left: 1.25rem;
}

.mh-regulations .rtext ul li {
  margin: 0 0 0.45rem;
}

.mh-regulations .scroll-table {
  margin: 0 0 1.5rem;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid var(--zeta-line);
  background: #fff;
}

.mh-regulations table.alt {
  width: 100%;
  margin: 0 0 1.5rem;
  border-collapse: collapse;
  font-size: 0.95rem;
  line-height: 1.5;
}

.mh-regulations .scroll-table table.alt {
  margin: 0;
  min-width: 44rem;
}

.mh-regulations table.alt td {
  padding: 0.65rem 0.7rem;
  border: 1px solid var(--zeta-line);
  vertical-align: middle;
  color: var(--zeta-ink);
  white-space: normal;
  background: #fff;
}

.mh-regulations table.alt.tcnt td {
  text-align: center;
  font-weight: 700;
}

.mh-regulations table.alt td:first-child {
  text-align: left !important;
  font-weight: 700;
  color: var(--zeta-navy);
  background: var(--zeta-mist);
}

.mh-regulations table.alt tr:first-child td,
.mh-regulations table.alt tr:nth-child(2) td {
  font-weight: 800;
  color: var(--zeta-navy);
  background: #eaf7fb;
}

.mh-regulations table.alt tr:first-child td:first-child,
.mh-regulations table.alt tr:nth-child(2) td:first-child {
  background: #d7eef6;
}

.mh-regulations table.alt .regtt {
  font-weight: 800;
  color: var(--zeta-navy);
  background: #eaf7fb;
}

.mh-regulations table.alt .regtt div {
  white-space: nowrap;
}

.mh-regulations table.alt .subasta {
  margin-left: 0.1em;
  font-size: 0.78em;
  font-weight: 800;
  color: var(--zeta-cyan);
  vertical-align: super;
}

.mh-regulations table.alt tr:hover td {
  background: #f7fbfd;
}

.mh-regulations table.alt tr:hover td:first-child {
  background: #e8f1f6;
}

.mh-regulations table.alt tr:first-child:hover td,
.mh-regulations table.alt tr:nth-child(2):hover td {
  background: #eaf7fb;
}

.mh-regulations table.alt tr:first-child:hover td:first-child,
.mh-regulations table.alt tr:nth-child(2):hover td:first-child {
  background: #d7eef6;
}

/* Membership matrix: pin the left label column while scrolling */
.mh-regulations table.tbreg td:first-child {
  position: sticky;
  left: 0;
  z-index: 1;
  width: 38%;
  min-width: 11rem;
}

.mh-regulations table.tbreg tr:first-child td:first-child,
.mh-regulations table.tbreg tr:nth-child(2) td:first-child {
  z-index: 2;
}

/* Fee schedule: keep merged label cells readable */
.mh-regulations table.alt:not(.tbreg) {
  min-width: 32rem;
  border: 1px solid var(--zeta-line);
}

.mh-regulations table.alt:not(.tbreg) td[rowspan],
.mh-regulations table.alt:not(.tbreg) td[colspan="2"] {
  background: var(--zeta-mist);
  color: var(--zeta-navy);
  font-weight: 800;
}

.mh-regulations .rtext ul.asterisk {
  margin: 0.85rem 0 1.5rem;
  padding-left: 1em;
  list-style: none;
}

.mh-regulations .rtext ul.asterisk li {
  margin: 0 0 0.45rem;
  padding-left: 0;
  text-indent: -1em;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.75;
  color: #5b6770;
}

.mh-regulations .rtext ul.asterisk li::before {
  content: "※";
}

.mh-event-article .mh-article-body > p {
  margin: 0 0 1.15rem;
  font-size: 1.05rem;
  font-weight: 400;
  line-height: 1.9;
  color: var(--zeta-ink);
}

.mh-hero.is-article .mh-event-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem 0.55rem;
  margin: 0.95rem 0 0;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 0.92rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.45;
  color: rgba(255, 255, 255, 0.92);
}

.mh-hero.is-article .mh-event-onoff {
  display: inline-block;
  padding: 0.22em 0.55em 0.18em;
  border: 1px dotted rgba(255, 255, 255, 0.72);
  background: transparent;
  white-space: nowrap;
}

.mh-hero.is-article .mh-event-dt {
  display: inline-block;
  padding: 0.22em 0.6em 0.18em;
  background: rgba(255, 255, 255, 0.16);
  white-space: normal;
}

.mh-article-body dl {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  margin: 1.25rem 0 1.75rem;
  border-top: 1px solid var(--zeta-line);
}

.mh-article-body dt {
  margin: 0;
  padding: 0.7rem 0 0.15rem;
  font-size: 0.92rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  color: var(--zeta-navy);
}

.mh-article-body dd {
  margin: 0;
  padding: 0 0 0.7rem;
  border-bottom: 1px solid var(--zeta-line);
  font-size: 1.05rem;
  font-weight: 400;
  line-height: 1.8;
  color: var(--zeta-ink);
}

.mh-article-body dd > p {
  margin: 0;
}

.mh-article-body dd .fsmall {
  margin-top: 0.35rem;
  font-size: 0.92rem;
  line-height: 1.65;
  color: #5b6770;
}

.mh-article-body dd > span:not(.mustspan):not(.mapspan) {
  display: inline-block;
  margin: 0 0.35rem 0.2rem 0;
  padding: 0.12rem 0.45rem 0.08rem;
  border: 1px dotted rgba(7, 26, 43, 0.55);
  background: #fff;
  font-size: 0.9em;
  font-weight: 700;
  line-height: 1.4;
  color: var(--zeta-navy);
  vertical-align: baseline;
}

.mh-article-body dd span.mapspan {
  display: inline;
  margin: 0;
  padding: 0;
  border: none;
  background: none;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  color: inherit;
  vertical-align: baseline;
}

.mh-article-body dd span.mapspan a {
  display: inline-flex;
  align-items: center;
  margin-left: 0.45rem;
  padding: 0.12rem 0.55rem;
  border: 1px solid rgba(11, 31, 51, 0.14);
  background: var(--zeta-mist);
  font-size: 0.86rem;
  font-weight: 800;
  line-height: 1.4;
  color: var(--zeta-navy) !important;
  text-decoration: none !important;
  border-bottom: none;
  vertical-align: baseline;
}

.mh-article-body dd span.mapspan a:hover {
  border-color: var(--zeta-cyan);
  color: var(--zeta-cyan-deep) !important;
  opacity: 1;
}

/* Font Awesome 未読込時の空アイコン枠を出さない */
.mh-article-body dd span.mapspan a.icon:before,
.mh-exhibition-intro .mapspan a.icon:before,
.mh-spec-value .mapspan a.icon:before {
  content: none !important;
  display: none !important;
}

.mh-article-body dd span.mustspan {
  display: inline;
  margin-left: 0.25em;
  padding: 0;
  border: none;
  background: none;
  font-size: 0.78em;
  font-weight: 700;
  line-height: 1.4;
  color: var(--zeta-cyan);
  vertical-align: middle;
}

.mh-article-body dd span.mustspan::before {
  content: "※";
}

.mh-article-body dd span.mustspan a {
  color: var(--zeta-cyan) !important;
  font-weight: 700;
  border-bottom: none;
}

.mh-article-body dd ul.actions {
  margin: 0;
  padding: 0;
  list-style: none;
}

.mh-article-body dd ul.actions li {
  margin: 0;
  padding: 0;
  list-style: none;
}

.mh-article-body dd ul.actions.vertical li {
  display: block;
  padding-bottom: 0;
}

.mh-article-body dd ul.actions.vertical li:last-child {
  padding-bottom: 0;
}

.mh-article-body a.button {
  border-bottom: none;
  word-break: normal;
}

@media (min-width: 640px) {
  .mh-article-body dl {
    grid-template-columns: 7rem minmax(0, 1fr);
    column-gap: 1rem;
  }

  .mh-article-body dt {
    padding: 0.75rem 0;
    border-bottom: 1px solid var(--zeta-line);
  }

  .mh-article-body dd {
    padding: 0.75rem 0;
  }
}

/* Speaker cards (restored from theme style.css, scoped for mh-article-body) */
.mh-article-body .speaker-section,
.speaker-section {
  max-width: 46rem;
  margin: 0 auto 2em;
  padding: 0;
}

.mh-article-body .speaker-grid,
.speaker-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}

.mh-article-body .speaker-card,
.speaker-card {
  text-align: left;
  min-width: 0;
}

.mh-article-body img.speaker-photo,
.speaker-photo {
  width: 100%;
  height: auto;
  display: block;
  margin: 0 0 1em;
  border: 1px solid #222;
  background: #f5f5f5;
}

.mh-article-body p.speaker-role,
.speaker-role {
  margin: 0;
  font-size: 0.9em;
  font-weight: 700;
  line-height: 1.6;
  color: var(--zeta-navy);
}

.mh-article-body p.speaker-name,
.mh-article-body p.speaker-company,
.mh-article-body p.speaker-title,
.speaker-name,
.speaker-company,
.speaker-title {
  margin: 0;
  font-size: 0.8em;
  font-weight: 500;
  line-height: 1.55;
  color: var(--zeta-ink);
}

.mh-article-body p.speaker-company,
.mh-article-body p.speaker-title {
  margin-top: 2px;
}

@media (max-width: 768px) {
  .mh-article-body .speaker-grid,
  .speaker-grid {
    gap: 10px;
  }

  .mh-article-body img.speaker-photo,
  .speaker-photo {
    max-width: 100%;
  }
}

.mh-event-entry h3,
.mh-event-entry h4 {
  margin: 2rem 0 0.85rem;
  padding: 0.7rem 1rem;
  background: var(--zeta-navy);
  font-size: 1.05rem;
  font-weight: 800;
  color: #fff !important;
}

/* Confirm overlay (appended to body; scoped when page has .mh-event-article) */
body:has(.mh-event-article) #mfp_phase_confirm h4,
body:has(.mh-event-article) #mfp_overlay_inner h4 {
  margin: 0 0 1.35rem;
  padding: 0.1rem 0 0.1rem 0.85rem;
  border-left: 3px solid var(--zeta-cyan);
  font-size: 1.15rem;
  font-weight: 800;
  line-height: 1.45;
  letter-spacing: 0.02em;
  text-align: left;
  background: #fff;
  color: #000 !important;
}

.mh-event-article .mh-article-body ul {
  margin: 0 0 1.25rem;
  padding-left: 1.25rem;
  font-size: 1.05rem;
  font-weight: 400;
  line-height: 1.85;
  color: var(--zeta-ink);
}

.mh-event-article .mh-article-body ul.asterisk {
  margin: 0.5rem 0 1.25rem;
  padding-left: 1em;
  list-style: none;
}

.mh-event-article .mh-article-body ul.asterisk li {
  margin: 0 0 0.4rem;
  padding: 0;
  border: none;
  background: none;
  text-indent: -1em;
  font-size: 1.05rem;
  font-weight: 400;
  line-height: 1.85;
  color: var(--zeta-ink);
}

.mh-event-article .mh-article-body ul.asterisk li::before {
  content: "※";
}

.mh-event-article .mh-article-body .fsmall,
.mh-event-article .mh-article-body .sml {
  margin-top: 0.35rem;
  font-size: 0.95rem;
  color: #5b6770;
}

.mh-event-article .mh-article-body > p.mh-event-closed,
.mh-event-closed {
  margin: 1.5rem 0 0;
  padding: 1.15rem 1.25rem;
  background: var(--zeta-navy);
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.75;
  color: #fff !important;
}

.mh-event-entry {
  margin-top: 2rem;
}

.mh-event-entry-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin: 1rem 0 0;
}

.mh-event-file {
  margin: 1.75rem 0 0;
}

.mh-event-file .mh-btn {
  display: inline-flex;
  width: auto;
}

.mh-dev-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin: 0 0 2.25rem;
  padding-bottom: 1.35rem;
  border-bottom: 1px solid var(--zeta-line);
}

.mh-dev-nav a {
  display: inline-flex;
  align-items: center;
  padding: 0.55rem 0.95rem;
  font-size: 0.95rem;
  font-weight: 800;
  color: var(--zeta-navy) !important;
  background: var(--zeta-mist);
  border: 1px solid transparent;
  text-decoration: none;
}

.mh-dev-nav a:hover {
  color: var(--zeta-cyan) !important;
  border-color: rgba(36, 178, 221, 0.35);
}

.mh-dev-nav a.is-current {
  color: #fff !important;
  background: var(--zeta-navy);
}

.mh-devdoc-group {
  margin: 0 0 2.5rem;
}

.mh-devdoc-group h3 {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.65rem 0.85rem;
  margin: 0 0 0.85rem;
  padding: 0.7rem 1rem;
  background: var(--zeta-mist);
  font-size: 1.05rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  color: var(--zeta-navy);
}

.mh-devdoc-list {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--zeta-line);
}

.mh-devdoc-list li {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.85rem 1.25rem;
  margin: 0;
  padding: 1rem 0;
  border-bottom: 1px solid var(--zeta-line);
}

.mh-devdoc-title {
  flex: 1 1 16rem;
  min-width: 0;
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.7;
  color: var(--zeta-navy);
}

.mh-devdoc-list .mh-btn-download {
  width: auto;
  padding: 0.55rem 0.95rem;
  font-size: 0.92rem;
  box-shadow: none;
}

@media (max-width: 640px) {
  .mh-devdoc-list li {
    align-items: flex-start;
  }

  .mh-devdoc-list .mh-btn-download {
    width: 100%;
  }
}

.mh-exhibition-intro {
  margin-bottom: 2.5rem;
}

.mh-exhibition-intro .mh-article-body {
  max-width: none;
}

.mh-exhibition-intro .mh-article-body dl {
  margin: 0;
}

@media (min-width: 800px) {
  .mh-exhibition-intro .mh-article-body dl {
    display: grid;
    grid-template-columns: 8.5rem minmax(0, 1fr);
  }

  .mh-exhibition-intro .mh-article-body dt {
    padding: 1.05rem 1rem 1.05rem 0;
    border-bottom: 1px solid var(--zeta-line);
  }

  .mh-exhibition-intro .mh-article-body dd {
    padding: 0.95rem 0 1.05rem;
  }
}

.mh-exhibition-intro .mapspan a {
  display: inline-flex;
  align-items: center;
  margin-left: 0.45rem;
  padding: 0.12rem 0.55rem;
  border: 1px solid rgba(11, 31, 51, 0.14);
  background: var(--zeta-mist);
  font-size: 0.86rem;
  font-weight: 800;
  line-height: 1.4;
  color: var(--zeta-navy) !important;
  text-decoration: none !important;
  word-break: normal;
}

.mh-exhibition-intro .mapspan a:hover {
  border-color: var(--zeta-cyan);
  color: var(--zeta-cyan-deep) !important;
}

.mh-exhibition-list-title {
  margin: 0 0 1.15rem;
  font-size: 1.15rem;
  font-weight: 800;
  color: var(--zeta-navy);
}

.mh-exhibitor-grid {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

@media (min-width: 700px) {
  .mh-exhibitor-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1100px) {
  .mh-exhibitor-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.mh-exhibitor-card {
  display: flex;
  height: 100%;
  flex-direction: column;
  padding: 1.15rem 1.15rem 1.2rem;
  background: var(--zeta-mist);
}

.mh-exhibitor-logo {
  display: grid;
  place-items: center;
  min-height: 7.5rem;
  padding: 0.85rem 1rem;
  background: #fff;
  border: 1px solid rgba(11, 31, 51, 0.08);
}

.mh-exhibitor-logo img {
  display: block;
  width: 100%;
  max-width: 14rem;
  max-height: 4.5rem;
  object-fit: contain;
}

.mh-exhibitor-name {
  margin: 0.9rem 0 0;
  font-size: 1.02rem;
  font-weight: 800;
  line-height: 1.5;
  color: var(--zeta-navy);
}

.mh-exhibitor-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: auto;
  padding-top: 0.95rem;
}

.mh-exhibitor-actions .mh-btn {
  flex: 1 1 7.5rem;
  padding: 0.55rem 0.75rem;
  font-size: 0.88rem;
}

.mh-exhibition-company {
  max-width: none;
}

.mh-exhibition-company .clearfix::after {
  content: "";
  display: table;
  clear: both;
}

/* —— 出展企業一覧（details） —— */
.mh-exhibition-company .hdsidebar {
  margin: 0 0 1.35rem;
}

.mh-exhibition-company .details {
  background: transparent;
}

.mh-exhibition-company .details-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  width: 100%;
  max-width: 16rem;
  margin-left: auto;
  box-sizing: border-box;
  list-style: none;
  cursor: pointer;
  padding: 0.55rem 0.95rem;
  background: var(--zeta-mist);
  border: 1px solid rgba(11, 31, 51, 0.08);
  font-size: 0.92rem;
  font-weight: 800;
  color: var(--zeta-navy);
  transition: border-color 0.2s ease, color 0.2s ease;
}

.mh-exhibition-company .details-summary::-webkit-details-marker,
.mh-exhibition-company .details-summary::marker {
  display: none;
  content: "";
}

.mh-exhibition-company .details-summary::after {
  content: "";
  flex: 0 0 auto;
  width: 0.45rem;
  height: 0.45rem;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: translateY(-15%) rotate(45deg);
  transition: transform 0.2s ease;
}

.mh-exhibition-company .details[open] .details-summary::after {
  transform: translateY(15%) rotate(225deg);
}

.mh-exhibition-company .details-summary:hover {
  border-color: var(--zeta-cyan);
  color: var(--zeta-cyan);
}

.mh-exhibition-company .details-content {
  margin-top: 0.75rem;
  padding: 0.85rem;
  background: var(--zeta-mist);
  border: 1px solid rgba(11, 31, 51, 0.06);
}

.mh-exhibition-company .menu2 ul.actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.mh-exhibition-company .menu2 ul.actions li {
  margin: 0;
  padding: 0;
  max-width: 100%;
}

.mh-exhibition-company .menu2 a.button {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  padding: 0.4rem 0.75rem;
  font-size: 0.84rem;
  font-weight: 700;
  line-height: 1.35;
  color: var(--zeta-navy) !important;
  background: #fff;
  border: 1px solid rgba(11, 31, 51, 0.1);
  border-bottom: 1px solid rgba(11, 31, 51, 0.1) !important;
  text-decoration: none !important;
  word-break: break-word;
}

.mh-exhibition-company .menu2 a.button:hover {
  border-color: var(--zeta-cyan) !important;
  color: var(--zeta-cyan) !important;
}

.mh-exhibition-company .menu2 a.button.is-current,
.mh-exhibition-company .menu2 a.button[aria-current="page"] {
  color: #fff !important;
  background: var(--zeta-accent-grad);
  border-color: transparent !important;
}

/* —— ロゴ帯（hero とタイトル重複するため h2 は非表示） —— */
.mh-exhibition-company .cher {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 1rem 1.5rem;
  margin: 0 0 1.5rem;
  padding: 0 0 1.15rem;
  border-bottom: 1px solid var(--zeta-line);
}

.mh-exhibition-company .cher:not(:has(.clogodiv)) {
  display: none;
}

.mh-exhibition-company .cttldiv {
  display: none;
  float: none;
  padding: 0;
  white-space: normal;
}

.mh-exhibition-company .clogodiv {
  float: none;
  width: min(13.5rem, 100%);
  margin: 0;
}

.mh-exhibition-company .clogodiv .image.fit {
  display: block;
  margin: 0;
}

.mh-exhibition-company .clogodiv img,
.mh-exhibition-company .clogodiv .clogo {
  display: block;
  width: 100%;
  max-height: 4.25rem;
  height: auto;
  margin: 0;
  object-fit: contain;
  object-position: right center;
}

/* —— 本文 —— */
.mh-exhibition-company .comsin {
  float: none;
  padding: 0;
}

.mh-exhibition-company .thecontent {
  float: none;
  margin: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.mh-exhibition-company .thecontent > p {
  margin: 0 0 1.15rem;
  font-size: 1.05rem;
  font-weight: 500;
  line-height: 1.9;
  color: var(--zeta-ink);
}

.mh-exhibition-company .thecontent ol,
.mh-exhibition-company .thecontent ul:not(.actions):not(.dot) {
  margin: 0 0 1.5rem;
  padding-left: 1.4rem;
  font-size: 1.05rem;
  font-weight: 500;
  line-height: 1.85;
  color: var(--zeta-ink);
}

.mh-exhibition-company .thecontent ol {
  list-style: decimal !important;
}

.mh-exhibition-company .thecontent ul:not(.actions):not(.dot) {
  list-style: disc !important;
}

.mh-exhibition-company .thecontent ul.dot {
  margin: 0 0 1.5rem;
  font-size: 1.02rem;
  font-weight: 500;
  line-height: 1.8;
  color: var(--zeta-ink);
}

.mh-exhibition-company .thecontent ol li,
.mh-exhibition-company .thecontent ul:not(.actions):not(.dot) li {
  margin: 0 0 0.45rem;
}

.mh-exhibition-company .thecontent > img,
.mh-exhibition-company .thecontent > p > img,
.mh-exhibition-company .thecontent .image.fit img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  margin: 0 0 1.5rem;
}

/* —— パネル画像グリッド（rowuni / wid*） —— */
.mh-exhibition-company .rowuni {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
  margin: 0 0 1.75rem;
  padding: 0;
}

.mh-exhibition-company .rowuni > [class*="wid"] {
  width: auto !important;
  max-width: none;
  float: none;
  padding: 0;
  box-sizing: border-box;
}

.mh-exhibition-company .rowuni .wid12u {
  grid-column: 1 / -1;
}

.mh-exhibition-company .rowuni .wid6u,
.mh-exhibition-company .rowuni .wid6u12u12u,
.mh-exhibition-company .rowuni .wid8u,
.mh-exhibition-company .rowuni .wid8u12u12u,
.mh-exhibition-company .rowuni .wid9u {
  grid-column: span 2;
}

.mh-exhibition-company .rowuni a:has(img) {
  display: block;
  background: var(--zeta-mist);
  border: 1px solid rgba(11, 31, 51, 0.08);
  cursor: zoom-in;
  transition: border-color 0.2s ease;
}

.mh-exhibition-company .rowuni a:has(img):hover {
  border-color: var(--zeta-cyan);
}

.mh-exhibition-company .rowuni img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0 !important;
  vertical-align: top;
  object-fit: contain;
}

/* —— 資料 dlpage —— */
.mh-exhibition-company .thecontent table.dlpage {
  margin: 0 0 0.25rem;
}

.mh-exhibition-company .thecontent .dlpage td {
  font-size: 0.98rem;
}

/* —— 公式サイト / お問合せ —— */
.mh-exhibition-company .cinfodiv {
  margin-top: 1.5rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--zeta-line);
}

.mh-exhibition-company .cinfodiv ul.actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.mh-exhibition-company .cinfodiv a.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  min-width: 8.5rem;
  padding: 0.65rem 1.1rem;
  font-size: 0.92rem;
  font-weight: 800;
  line-height: 1.2;
  color: #fff !important;
  background: var(--zeta-accent-grad);
  border: 1px solid transparent !important;
  border-bottom: 1px solid transparent !important;
  text-decoration: none !important;
  box-shadow: none;
}

.mh-exhibition-company .cinfodiv a.button:hover {
  color: #fff !important;
  filter: brightness(1.05);
}

.mh-exhibition-company .cinfodiv a.button.icon:before {
  display: none !important;
  content: none !important;
}

@media (max-width: 900px) {
  .mh-exhibition-company .rowuni {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.6rem;
  }

  .mh-exhibition-company .rowuni .wid6u,
  .mh-exhibition-company .rowuni .wid6u12u12u,
  .mh-exhibition-company .rowuni .wid8u,
  .mh-exhibition-company .rowuni .wid8u12u12u,
  .mh-exhibition-company .rowuni .wid9u {
    grid-column: span 1;
  }
}

@media (max-width: 719px) {
  .mh-exhibition-company .details-summary {
    max-width: none;
    margin-left: 0;
  }

  .mh-exhibition-company .details-content {
    padding: 0.7rem;
  }

  .mh-exhibition-company .menu2 a.button {
    font-size: 0.82rem;
    padding: 0.38rem 0.65rem;
  }

  .mh-exhibition-company .cher {
    justify-content: flex-start;
    margin-bottom: 1.15rem;
    padding-bottom: 1rem;
  }

  .mh-exhibition-company .clogodiv {
    width: min(11.5rem, 70%);
  }

  .mh-exhibition-company .clogodiv img,
  .mh-exhibition-company .clogodiv .clogo {
    max-height: 3.5rem;
    object-position: left center;
  }

  .mh-exhibition-company .thecontent > p,
  .mh-exhibition-company .thecontent ul.dot,
  .mh-exhibition-company .thecontent ol,
  .mh-exhibition-company .thecontent ul:not(.actions):not(.dot) {
    font-size: 1rem;
    line-height: 1.8;
  }

  .mh-exhibition-company .rowuni {
    gap: 0.5rem;
    margin-bottom: 1.35rem;
  }

  .mh-exhibition-company .cinfodiv ul.actions {
    flex-direction: column;
  }

  .mh-exhibition-company .cinfodiv a.button {
    width: 100%;
    min-width: 0;
  }
}

