/* ソフトウェア/サービスなどのブロック */
.main-row {
  min-height: 100vh; /* ビューポートの高さに合わせる */
}

.card {
  position: relative;
  /*display: inline-block;*/
  text-align: center;
  width: 200px;
  margin: 0.5rem;
}

.card-image {
  width: 150px;
  height: 150px;
  display: block;
}

.card-text {
  margin-top: 8px; /* 画像とテキストの間隔を調整 */
  color: #000;     /* 適宜調整。白だと見えない場合があるため */
  font-size: 1.2rem;
  font-weight: bold;
}

.error-msg {
  color: red;
}

/* カテゴリーのサイドバー表示 */
.sidebar {
  height: 100%;
  padding-top: 20px;
  background-color: #f8f9fa;
}

/* カテゴリーのリンク */
.sidebar .nav-link {
  color: #333;
}

.sidebar .nav-link.active {
  font-weight: bold;
  color: #007bff;
}

/* メニュー一覧 - プロダクト詳細 */
.menu-bar {
  display: flex;
  border-bottom: 2px solid #ddd;
}

.menu-bar .menu-link {
  display: block;
  padding: 10px 15px;
  margin-right: 2px;
  text-decoration: none;
  color: #333;
  background-color: #f1f1f1;
  border: 1px solid #ddd;
  border-bottom: none;
  border-radius: 5px 5px 0 0;
  width: 120px;
  text-align: center;
}

.menu-bar .menu-link.active {
  background-color: #fff;
  border-bottom: 2px solid #fff;
  font-weight: bold;
}

/* ノード・ツリー */
.tree {
  list-style: none;
  padding-left: 0;
}

.tree ul {
  padding-left: 20px; /* 適度なインデント */
}

.tree li .topic-node, doc-link {
  margin: 3px 0;
  padding: 5px;
}

.tree li .topic-node {
  display: block;
  /*padding: 5px 10px;*/
  background-color: #f0f0f0;
  border-radius: 3px;
}

.tree li .doc-link {
  text-decoration: none;  /* 下線を消す */
  color: inherit;         /* 必要に応じて、親の色を引き継ぐ */
  display: block;
}

.tree li .doc-link.selected {
  background-color: #d4edda;
  border-radius: 3px;
  font-weight: bold;
  /*padding: 5px 10px;*/
}

/* ニュース、更新履歴 */
#news, #updates {
  min-height: 200px;
}

#product-meta {
  display: none;
}
