@charset 'utf-8';

/* ブランドカラー変数 */
:root { --brand-color: #10069f; }

/* ベース調整 */
html { font-size: 100%; }
img { max-width: 100%; height: auto; }

/* カードグリッド（モバイル1、PC3カラム） */
/* アウトラインの内側でも適用できるよう子孫セレクタに */
main.content ul.org-ul {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  padding: 0; /* 左インデントを消す */
  list-style: none;
  margin-bottom: 2.5rem; /* フッターとの余白を確保 */
}
@media (min-width: 48rem) { /* 768px 以上 */
  main.content ul.org-ul { grid-template-columns: repeat(3, 1fr); }
}

/* カード本体 */
main.content ul.org-ul li {
  border: 1px solid #e5e5e5;
  border-radius: 8px;
  padding: 1rem;
  background: #fff;
  box-shadow: 0 1px 2px rgba(0,0,0,0.05);
  /* カード全体をクリック可能にするための基点 */
  position: relative;
  z-index: 0; /* スタッキングコンテキストを作る */
}

/* タイトルリンク */
main.content ul.org-ul li > a {
  color: var(--brand-color);
  text-decoration: none;
  font-weight: 600;
  line-height: 1.4;
  display: block;
  /* フォーカス時の視認性向上 */
  outline-offset: 2px;
}
main.content ul.org-ul li > a:hover { text-decoration: underline; }

/* stretched-link: カード全面を a で覆う疑似要素 */
main.content ul.org-ul li > a::after {
  content: '';
  position: absolute;
  inset: 0; /* top:0; right:0; bottom:0; left:0 と同義 */
  /* 疑似要素によりリスト項目全体がクリック対象になる */
  z-index: 1; /* 他の内容より前面にしてクリックを拾う */
}

/* 旧レイアウトの干渉を防ぐ（保険） */
.org-ul, .org-dl { flex: initial; float: none; }
.org-ul li { width: auto; height: auto; margin: 0; position: static; }
