
body {
  font-family: 'Noto Sans JP', sans-serif;
  margin: 0;
  background-color: #121212;
  color: #f0f0f0;
}

header {
  background: #1f1f1f;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 32px;
  position: sticky;
  top: 0;
}

header .logo img {
  height: 50px;
}

.site-title {
  font-size: 1.2em;
  color: #00B4D8;
  font-weight: bold;
  margin-left: 12px;
}

nav a {
  color: #00B4D8;
  text-decoration: none;
  margin: 0 12px;
  transition: color 0.3s;
}

nav a:hover {
  color: #90e0ef;
}

.hero {
  background-color: #1e1e1e;
  padding: 80px 20px;
  text-align: center;
  color: #ffffff;
}

.hero h1 {
  font-size: 2.8em;
  letter-spacing: 2px;
  margin: 0;
  color: #00B4D8;
  text-shadow: 2px 2px 6px #000;
}

.hero p {
  font-size: 1.2em;
  margin-top: 12px;
  color: #cccccc;
  letter-spacing: 1px;
}

main {
  max-width: 1000px;
  margin: 0 auto;
  padding: 32px 24px;
}

h2 {
  border-bottom: 2px solid #00B4D8;
  padding-bottom: 8px;
}

table.members th:nth-child(1),
table.members td:nth-child(1) {
  width: 80px;         /* 学年列 */
  white-space: nowrap;
}

table.members th:nth-child(2),
table.members td:nth-child(2) {
  width: 160px;        /* 氏名列 */
  white-space: nowrap;
}

table.members th:nth-child(3),
table.members td:nth-child(3) {
  width: auto;         /* 研究テーマ列は可変 */
}


.intro a {
  color: #00B4D8;        /* 視認性の高いシアンブルーに */
  text-decoration: underline;
}

.intro a:hover {
  color: #90e0ef;        /* ホバー時は明るいブルーに */
}

footer {
  background: #1f1f1f;
  color: #aaa;
  text-align: center;
  padding: 16px 0;
  margin-top: 40px;
}
