

/* 全体背景のグラデーション設定 */
body {
  background: linear-gradient(135deg, #547aff 0%, #e6f0ff 40%, #a3c4ff 100%);
  background-attachment: fixed; /* スクロールしても固定 */
  font-family: 'Noto Sans JP', sans-serif;
}

a { text-decoration: none; }
.accent { color: #00B894; }

.about-text {
  line-height: 2;     /* 行間を広く */
  margin-bottom: 2rem; /* 段落間の余白 */
}

:root {
  --main-blue: #1E40AF;
  --main-blue-dark: #1E3A8A;
}

.btn-text-blue {
  color: var(--main-blue);
  border: 2px solid var(--main-blue);
  padding: 0.75rem 1.5rem;
  border-radius: 0.5rem;
  background: transparent;
  transition: all 0.3s;
}

.btn-text-blue:hover {
  background-color: var(--main-blue);
  color: white;
}


.hero, .carousel-inner, .carousel-item {
  height: 100vh;
  position: relative;
}

.carousel-item img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.carousel-caption {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 10;
  width: 100%;
  text-align: center;
}

.overlay-text {
  background: rgba(0,0,0,0.6); /* 半透明で文字を強調 */
  display: inline-block;
  padding: 20px 40px;
  border-radius: 10px;
  color: white;
}

.carousel-caption h1 {
  font-weight: 700;
  font-size: 3rem;
}

.carousel-caption p {
  font-size: 1.5rem;
}

@media (max-width: 768px) {
  .carousel-caption h1 { font-size: 2rem; }
  .carousel-caption p { font-size: 1rem; }
}




section { padding: 80px 0; }
.card:hover { transform: translateY(-5px); transition: 0.3s; }
.timeline { list-style: none; padding-left:0; }
.timeline li { margin-bottom: 20px; position: relative; padding-left: 20px; }
.timeline li::before {
  content: '';
  position: absolute;
  left:0; top: 5px;
  width: 10px; height: 10px;
  background: #00B894; border-radius: 50%;
}

.card-body {
  margin-top: auto; /* カード内の残りスペースを画像が占め、タイトルは下に固定 */
}

/* モーダル全体のフォント */
.modal-content {
  font-family: 'Helvetica Neue', Arial, sans-serif;
  font-size: 1rem;          /* 基本フォントサイズ */
  line-height: 1.8;         /* 行間を広めに */
}

/* モーダルタイトル */
.modal-title {
  font-family: 'Helvetica Neue', Arial, sans-serif;
  font-weight: 600;
  font-size: 1.25rem;
}

/* リスト項目 */
.modal-body ul {
  padding-left: 1.2rem;
}

.modal-body li {
  margin-bottom: 0.75rem;   /* 各項目の間隔 */
}


