/* みんなの投資 — 明るく・やさしく・スマホ優先（50〜60代でも読みやすい文字サイズ） */
.mt-wrap, .mt-footer-note {
  --mt-primary: #1d63d6;
  --mt-primary-dark: #154ba1;
  --mt-accent: #ffb020;
  --mt-ink: #1f2a37;
  --mt-sub: #4b5563;
  --mt-line: #d6e0ee;
  --mt-soft: #eef5ff;
  --mt-bg: #ffffff;
  color: var(--mt-ink);
  font-size: 18px;
  line-height: 1.8;
}
.mt-wrap *, .mt-footer-note * { box-sizing: border-box; }
.mt-wrap section { margin: 0 0 48px; }
.mt-h { font-size: 1.5rem; line-height: 1.4; margin: 0 0 12px; padding: 0 0 0 14px; border-left: 6px solid var(--mt-primary); }
.mt-h3 { font-size: 1.15rem; margin: 20px 0 8px; }
.mt-lead { color: var(--mt-sub); margin: 0 0 16px; }
.mt-note { font-size: .875rem; color: var(--mt-sub); line-height: 1.7; margin: 12px 0; }
.mt-empty { background: var(--mt-soft); border-radius: 12px; padding: 16px; color: var(--mt-sub); }
.mt-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }

/* ボタン */
.mt-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 10px 24px; border: 2px solid var(--mt-primary); border-radius: 999px; background: var(--mt-primary); color: #fff !important; font-size: 1rem; font-weight: 700; text-decoration: none !important; cursor: pointer; line-height: 1.3; }
.mt-btn:hover { background: var(--mt-primary-dark); border-color: var(--mt-primary-dark); }
.mt-btn-sub { background: #fff; color: var(--mt-primary) !important; }
.mt-btn-sub:hover { background: var(--mt-soft); }
.mt-btn-accent { background: var(--mt-accent); border-color: var(--mt-accent); color: #3a2600 !important; }
.mt-btn-accent:hover { background: #f59e0b; border-color: #f59e0b; }
.mt-btn-big { min-height: 56px; font-size: 1.1rem; padding: 12px 28px; }
.mt-btn[disabled] { opacity: .6; cursor: wait; }
.mt-linkbtn { background: none; border: 0; padding: 8px 4px; color: var(--mt-primary); text-decoration: underline; font-size: .9rem; cursor: pointer; min-height: 44px; }
.mt-more { text-align: center; margin: 20px 0 0; }
.mt-wrap a:focus-visible, .mt-wrap button:focus-visible, .mt-wrap select:focus-visible, .mt-wrap input:focus-visible, .mt-wrap textarea:focus-visible { outline: 3px solid #ff8a00; outline-offset: 2px; }

/* ヒーロー */
.mt-hero { background: linear-gradient(135deg, #eaf3ff 0%, #fff6e0 100%); border-radius: 20px; padding: 32px 20px; text-align: center; }
.mt-logo { margin: 0; font-weight: 800; color: var(--mt-primary); letter-spacing: .08em; }
.mt-hero-t { font-size: 1.9rem; line-height: 1.35; margin: 8px 0 12px; border: 0; padding: 0; }
.mt-hero-s { font-size: 1.05rem; margin: 0 0 20px; }
.mt-hero-cta { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin: 0 0 12px; }

/* 今日のお題 */
.mt-today { border: 3px solid var(--mt-accent); border-radius: 20px; padding: 24px 16px; background: #fffdf5; }
.mt-today-label { display: inline-block; background: var(--mt-accent); color: #3a2600; font-weight: 800; border-radius: 999px; padding: 2px 16px; margin: 0 0 8px; }
.mt-today-t { font-size: 1.6rem; line-height: 1.4; margin: 0 0 16px; border: 0; padding: 0; }

/* 投票ボタン（指で押しやすい大きさ） */
.mt-options { display: grid; grid-template-columns: 1fr; gap: 12px; margin: 0 0 8px; }
.mt-opt { display: block; width: 100%; min-height: 60px; padding: 14px 18px; text-align: left; font-size: 1.1rem; font-weight: 700; color: var(--mt-ink); background: #fff; border: 2px solid var(--mt-primary); border-radius: 14px; cursor: pointer; line-height: 1.4; }
.mt-opt:hover { background: var(--mt-soft); }
.mt-opt.is-chosen { background: var(--mt-primary); color: #fff; }
.mt-msg { min-height: 1.6em; font-weight: 700; color: var(--mt-primary-dark); margin: 4px 0; }
.mt-see-wrap { margin: 0; }

/* 結果グラフ */
.mt-results { margin-top: 16px; padding: 16px; background: var(--mt-soft); border-radius: 16px; }
.mt-total { margin: 0 0 8px; }
.mt-bars { list-style: none; margin: 0; padding: 0; }
.mt-bar { margin: 0 0 14px; }
.mt-bar-head { display: flex; justify-content: space-between; gap: 8px; font-weight: 700; }
.mt-bar-mine { color: #b45309; font-size: .875rem; white-space: nowrap; }
.mt-bar-track { background: #fff; border: 1px solid var(--mt-line); border-radius: 999px; height: 22px; overflow: hidden; margin: 4px 0; }
.mt-bar-fill { height: 100%; background: var(--mt-primary); border-radius: 999px; min-width: 0; transition: width .5s ease; }
.mt-bar.is-mine .mt-bar-fill { background: #f59e0b; }
.mt-bar-num { font-size: .95rem; color: var(--mt-sub); }

/* プロフィール */
.mt-profile { margin-top: 16px; background: #fff; border: 1px solid var(--mt-line); border-radius: 12px; padding: 12px 16px; }
.mt-profile summary { cursor: pointer; font-weight: 700; min-height: 44px; display: flex; align-items: center; }
.mt-profile-grid { display: grid; grid-template-columns: 1fr; gap: 8px; margin: 12px 0; }

/* フォーム */
.mt-form { background: #fff; border: 1px solid var(--mt-line); border-radius: 16px; padding: 16px; margin: 0 0 24px; }
.mt-field { display: block; margin: 0 0 14px; }
.mt-field > span { display: block; font-weight: 700; margin: 0 0 4px; font-size: 1rem; }
.mt-field input[type=text], .mt-field input[type=email], .mt-field select, .mt-field textarea { width: 100%; min-height: 48px; padding: 10px 12px; font-size: 1rem; border: 2px solid #9fb3cf; border-radius: 10px; background: #fff; color: var(--mt-ink); font-family: inherit; }
.mt-field textarea { min-height: 120px; line-height: 1.6; }
.mt-form-msg { margin: 10px 0 0; font-weight: 700; min-height: 1.5em; }
.mt-form-msg.is-ok { color: #166534; }
.mt-form-msg.is-ng { color: #b91c1c; }

/* カード */
.mt-grid { display: grid; grid-template-columns: 1fr; gap: 14px; }
.mt-card { position: relative; background: #fff; border: 2px solid var(--mt-line); border-radius: 16px; padding: 16px; transition: border-color .15s; }
.mt-card:hover, .mt-card:focus-within { border-color: var(--mt-primary); }
.mt-card-title { font-size: 1.15rem; line-height: 1.5; margin: 6px 0 4px; border: 0; padding: 0; }
.mt-card-title a { color: var(--mt-ink); text-decoration: none; }
.mt-card-title a::after { content: ""; position: absolute; inset: 0; }
.mt-card-meta { font-size: .9rem; color: var(--mt-sub); margin: 0 0 4px; line-height: 1.6; }
.mt-card-cta { display: inline-block; margin-top: 6px; color: var(--mt-primary); font-weight: 700; }
.mt-chip { display: inline-block; font-size: .8rem; background: var(--mt-soft); color: var(--mt-primary-dark); border-radius: 999px; padding: 2px 12px; font-weight: 700; }

/* コメント */
.mt-comment-list { display: grid; gap: 12px; }
.mt-comment { background: #fff; border: 1px solid var(--mt-line); border-left: 6px solid var(--mt-primary); border-radius: 12px; padding: 12px 16px; }
.mt-c-body { margin: 0 0 6px; }
.mt-c-foot { display: flex; flex-wrap: wrap; gap: 4px 12px; align-items: center; font-size: .875rem; color: var(--mt-sub); }
.mt-c-nick { font-weight: 700; color: var(--mt-ink); }
.mt-c-choice { background: var(--mt-soft); border-radius: 999px; padding: 0 10px; }
.mt-c-topic { font-size: .875rem; margin: -6px 0 6px 6px; }

/* 体験談・補助 */
.mt-exp-meta { color: var(--mt-sub); }
.mt-cats { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.mt-cats a { display: flex; justify-content: space-between; align-items: center; gap: 6px; min-height: 52px; padding: 8px 14px; border: 2px solid var(--mt-line); border-radius: 12px; text-decoration: none; color: var(--mt-ink); font-weight: 700; background: #fff; }
.mt-cats a:hover { border-color: var(--mt-primary); }
.mt-cats span { font-size: .8rem; color: var(--mt-sub); font-weight: 400; white-space: nowrap; }
.mt-stats { list-style: none; margin: 0 0 20px; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; text-align: center; }
.mt-stats li { background: var(--mt-soft); border-radius: 14px; padding: 12px 6px; }
.mt-stats strong { display: block; font-size: 1.6rem; color: var(--mt-primary-dark); line-height: 1.3; }
.mt-stats span { font-size: .9rem; color: var(--mt-sub); }
.mt-com { background: #f4fbf5; border: 2px solid #bfe3c6; border-radius: 16px; padding: 16px; margin: 0 0 32px; }
.mt-com-t { font-weight: 800; margin: 0 0 4px; }
.mt-rank { background: #fff; border: 1px solid var(--mt-line); border-radius: 12px; padding: 4px 16px 12px; margin: 0 0 14px; }
.mt-data-poll { background: #fff; border: 1px solid var(--mt-line); border-radius: 12px; padding: 8px 16px; margin: 0 0 10px; }
.mt-data-poll summary { cursor: pointer; font-weight: 700; min-height: 44px; display: flex; align-items: center; }
.mt-table-wrap { overflow-x: auto; }
.mt-table { border-collapse: collapse; width: 100%; font-size: .95rem; }
.mt-table th, .mt-table td { border: 1px solid var(--mt-line); padding: 8px 10px; text-align: left; }
.mt-table thead th { background: var(--mt-soft); }

/* 全ページ共通の注意書き */
.mt-footer-note { background: #f3f6fb; border-top: 1px solid var(--mt-line); padding: 16px; font-size: .85rem; text-align: center; }
.mt-footer-note p { margin: 2px 0; }

/* トップは見出しのかわりにヒーローを使う */
.home .page-header, .home .entry-title { display: none; }

@media (min-width: 700px) {
  .mt-options { grid-template-columns: 1fr 1fr; }
  .mt-grid { grid-template-columns: 1fr 1fr; }
  .mt-profile-grid { grid-template-columns: 1fr 1fr; }
  .mt-cats { grid-template-columns: repeat(3, 1fr); }
  .mt-hero { padding: 48px 32px; }
  .mt-hero-t { font-size: 2.4rem; }
}
@media (prefers-reduced-motion: reduce) { .mt-bar-fill { transition: none; } }

/* 投稿者名（ログインID）は表示しない */
.entry-meta-item-author, .entry-meta .entry-meta-item-author { display: none; }
