/* 全体のリセット */
body,
h1,
h2,
h3,
h4,
p,
a {
  margin: 0;
  padding: 0;
  font-family: Arial, sans-serif;
}

body {
  line-height: 1.6;
  color: #333;
}

/* ウェルカムページ背景画像 */
#welcome {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100vh;
  text-align: center;
  background-image: url('images/StockSnap_5NLKT00MVB.jpg');
  /* 画像ファイルパス */
  background-size: cover;
  /* 画面全体に合わせて背景画像をリサイズ */
  background-position: center;
  /* 画像を中央に配置 */
  color: white;
}

/* ウェルカムページの見出し */
#welcome h1 {
  font-size: 2.5em;
  margin-bottom: 20px;
  filter: drop-shadow(2px 2px 0px rgb(13, 99, 118));
}

#welcome p {
  font-size: 1.2em;
  margin-bottom: 30px;
  filter: drop-shadow(2px 2px 0px rgb(13, 99, 118));
}

/* ボタンスタイル */
#welcome .button {
  display: inline-block;
  background-color: white;
  color: #894caf;
  padding: 5px 20px;
  margin: 2px;
  font-size: 1.2em;
  border-radius: 5px;
  text-decoration: none;
  transition: background-color 0.3s;
}

#welcome .button:hover {
  background-color: #894caf;
  color: white;
}

/* 紹介ページヘッダー画像 */
header {
  background-image: url('images/PIXNIO-2918276-8000x4484.jpg');
  /* 画像ファイルパス */
  background-size: cover;
  background-position: center;
  color: white;
  text-align: center;
  padding: 80px 0;
  /* ヘッダーの高さ調整 */
}

header h1 {
  font-size: max(5vw, 10px);
  margin-bottom: 10px;
}

header p {
  font-size: max(3vw, 4px);
}

main {
  padding: 20px;
}

#university-list {
  margin: 20px 0;
}

.university {
  background-color: white;
  border: 1px solid #ddd;
  border-radius: 5px;
  padding: 15px;
  margin-bottom: 15px;
}

.university h4 {
  color: #4CAF50;
  margin-bottom: 10px;
}

.university a {
  color: #0066cc;
  text-decoration: none;
}

.university a:hover {
  text-decoration: underline;
}

footer {
  text-align: center;
  padding: 10px 0;
  background-color: #8d8d8d;
  color: white;
  margin-top: 20px;
}

/* トップへ戻るボタン */
.page_top_btn {
  position: fixed;
  bottom: 10px;
  right: 10px;
  font-weight: bold;
  padding: 0.7em;
  text-align: center;
  background: rgb(90, 211, 255);
  color: #fff;
  transition: 0.3s0;
}

/* マウスオーバー時 */
.page_top_btn:hover {
  background: rgba(90, 252, 255, 0.8);
  color: rgb(255, 255, 255, 0.8);
}

.box {
  width: calc(100%-30px);
  display: flex;
  flex-wrap: wrap;
  column-gap: 15px;
}

.box>* {
  flex: 0 1 500px;
}