/* ツールのタブ（4ページ共通） */
.mct { --mct-navy:#1f3358; --mct-ink:#1c2433; --mct-soft:#4d5868; --mct-off:#e9edf3; --mct-tip:#b4520f;
  max-width:1160px; margin:0 auto 24px; font-variant-numeric:tabular-nums; }
.mct-list { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:8px; }
.mct-item { margin:0; padding:0; min-width:0; }
.mct-tab { position:relative; display:block; height:100%; box-sizing:border-box; min-height:76px; padding:14px 16px; border-radius:10px;
  border:2px solid transparent; background:var(--mct-off); color:#3c4758; text-decoration:none !important; transition:background .15s, border-color .15s; }
.mct-tab:hover { background:#dde3ec; color:var(--mct-ink); }
.mct-tab:focus-visible { outline:3px solid var(--mct-tip); outline-offset:2px; }
.mct-tab.is-on { background:#fff; color:var(--mct-navy); border-color:var(--mct-navy); box-shadow:0 2px 10px rgba(31,51,88,.12); }
.mct-q { display:block; font-size:12px; line-height:1.5; }
.mct-label { display:block; margin-top:2px; font-size:17px; font-weight:700; line-height:1.4; }
.mct-badge { position:absolute; top:-10px; right:10px; background:var(--mct-tip); color:#fff; font-size:12px; font-weight:700; line-height:1;
  padding:5px 10px; border-radius:999px; animation:mctpulse 1.8s ease-out 3; }
@keyframes mctpulse { 0% { box-shadow:0 0 0 0 rgba(180,82,15,.5); } 70% { box-shadow:0 0 0 10px rgba(180,82,15,0); } 100% { box-shadow:0 0 0 0 rgba(180,82,15,0); } }
.mct-tip { position:relative; max-width:360px; margin-top:12px; background:var(--mct-tip); color:#fff; border-radius:10px; padding:14px 44px 14px 16px;
  box-shadow:0 6px 18px rgba(180,82,15,.28); }
.mct-tip::before { content:""; position:absolute; top:-9px; left:36px; border:9px solid transparent; border-top:0; border-bottom-color:var(--mct-tip); }
.mct-tip-title { margin:0; font-size:15px; font-weight:700; line-height:1.5; color:#fff; }
.mct-tip-text { margin:4px 0 0; font-size:13px; line-height:1.6; color:#fff; }
.mct-tip-close { position:absolute; top:4px; right:4px; width:40px; height:40px; border:0; background:transparent; color:#fff; font-size:20px; line-height:1; cursor:pointer; padding:0; }
.mct [hidden] { display:none !important; }
@media (max-width: 760px) {
  .mct-list { grid-template-columns:repeat(2, minmax(0,1fr)); }
  .mct-tab { min-height:68px; padding:12px; }
  .mct-label { font-size:14px; }
  .mct-q { font-size:11px; }
}
@media (prefers-reduced-motion: reduce) { .mct-badge { animation:none; } .mct-tab { transition:none; } }
@media print { .mct { display:none !important; } }
