    /* 表の縦位置と1列目の扱いだけ最適化 */
    #jp-spouse-status .minitable th, 
    #jp-spouse-status .minitable td { vertical-align: top; }
    #jp-spouse-status .minitable th:nth-child(1), 
    #jp-spouse-status .minitable td:nth-child(1){ white-space: nowrap; }
    .table-wrap{overflow-x:auto;}
    .note{font-size:.95rem; color: var(--muted);}
    @media (max-width:600px){
      #jp-spouse-status .minitable th:nth-child(1), 
      #jp-spouse-status .minitable td:nth-child(1){ width:7rem; }
    }
.divorce-reason-box {
  background: #222;              /* 深いチャコールグレー */
  color: #f5f5f5;                /* 明るめの文字色でコントラスト確保 */
  padding: 1.8em;
  border-radius: 10px;
  border: 1px solid #444;
  line-height: 1.9;
}
.divorce-reason-box h2, 
.divorce-reason-box h3 {
  color: #ffd166;                /* 暖かみのあるゴールドトーン */
  margin-top: 1.2em;
}
.divorce-reason-box ul li {
  margin: 0.4em 0;
}
.visa-box {
  border: 2px solid #ccc;
  border-radius: 10px;
  padding: 5px 20px 20px 20px; 
    margin-top: 0;       /* ←ここを追加して余白を消す */
  background-color: #fafafa;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}
.visa-box h3 {
  color: #004080;
  border-bottom: 1px solid #ddd;
  padding-bottom: 6px;
  margin-bottom: 15px;
}
.visa-box ul {
  margin-left: 1.2em;
  list-style-type: disc;
}
.visa-box p {
  line-height: 1.6;
  margin-bottom: 10px;
}
.news-quote {
  border-left: 6px solid #b22222;
  background: #faf6f6;
  padding: 1.2em 1.5em;
  margin: 1.5em 0;
  border-radius: 8px;
}
.news-quote h3 {
  color: #b22222;
  margin-top: 0;
}
.news-quote p {
  line-height: 1.7;