/* 全体の設定 */
body {
  margin: 0;
  padding: 0;
  background: #121212;
  color: #eee;
  font-family: 'Montserrat', sans-serif;
  line-height: 1.6;
}

/* ヘッダーのスタイル */
header {
  background: linear-gradient(135deg, #00c6ff, #0072ff);
  padding: 20px;
  /* text-align: center; ← Flexboxを使うならいったん消してOK */
}

/* 横並びにするためにFlexboxを使う */
.header-content {
  display: flex;             /* 子要素を横並びにする */
  align-items: center;       /* 垂直方向の中央揃え */
  justify-content: center;   /* 水平方向の中央揃え(全体を中央に置きたい場合) */
  gap: 20px;                 /* ロゴとテキストの間の隙間 */
}

/* ロゴ画像のサイズを調整 */
.header-logo {
  width: 80px;    /* 好きな大きさに変更してね */
  height: auto;   /* アスペクト比を崩さないように */
  margin-right: 15px;
}

/* タイトルのスタイル */
header h1 {
  margin: 0;
  font-size: 2em;
  font-weight: 700;
  color: #fff; /* お好みで文字色を変更してね */
}

a {
  text-decoration: none;
  color: inherit;
}

.section-title {
  text-align: center;
}

/* ヘッダー */
header {
  background: linear-gradient(135deg, #00c6ff, #0072ff);
  padding: 20px;
  text-align: center;
}
header h1 {
  margin: 0;
  font-size: 2.5em;
  font-weight: 700;
}
/* ヒーローセクション */
.hero {
  position: relative;
  text-align: center;
  padding: 100px 20px;
  background: url('https://source.unsplash.com/1600x900/?technology,futuristic') center/cover no-repeat;
}
.hero::before {
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.5);
}
.hero-content {
  position: relative;
  z-index: 1;
}
.hero-content h2 {
  font-size: 3em;
  margin: 0;
}
.hero-content p {
  font-size: 1.2em;
  margin: 20px 0;
}
.cta-button1 {
  background: #ff6836;
  color: #fff;
  padding: 15px 30px;
  font-size: 1.2em;
  border-radius: 5px;
  transition: background 0.3s;
  display: inline-block;
}

.cta-button2 {
  background: #0072ff;
  color: #fff;
  padding: 15px 30px;
  font-size: 1.2em;
  border-radius: 5px;
  transition: background 0.3s;
  display: inline-block;
}

.cta-button:hover {
  background: #005bb5;
}
/* セクション */
.features {
  display: flex;              /* 横並びに */
  flex-wrap: wrap;            /* 画面幅が狭い時は折り返し */
  justify-content: center;    /* 横方向の中央揃え */
  gap: 20px;                  /* カード間の余白 */
}

.feature {
  flex: 1 1 300px;            /* カードの最小幅を確保 */
  background: #1e1e1e;        /* カードの背景色 */
  padding: 20px;
  border-radius: 8px;
  box-shadow: 0 4px 6px rgba(0,0,0,0.3);
  text-align: center;         /* カード内の文字を中央寄せ */
}

.feature-icon {
  width: 60px;       /* アイコンのサイズはお好みで */
  height: auto;
  margin-bottom: 10px; /* アイコン下に余白をつける */
}

.feature h3 {
  margin-top: 10px;  /* 見出しとアイコンの間隔を微調整 */
  font-size: 1.2em;
}

.feature p {
  margin: 10px 0 0;  /* 見出しと本文の間隔を微調整 */
}

@media (max-width: 768px) {
  .features {
    flex-direction: column;
    align-items: center;
  }
}

.image-container {
  display: flex;
  justify-content: center; /* 横方向の中央揃え */
  align-items: center;     /* 縦方向の中央揃え（必要なら） */
  gap: 20px;               /* 画像間の隙間を調整 */
}

.hero {
  position: relative;
  text-align: center;
  padding: 240px 20px;
  /* 背景画像と半透明のグラデーションを重ねる */
  background: 
    linear-gradient(rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.1)),
    url('./images/4353657_m.jpg');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

/* フッター */
footer {
  background: #1a1a1a;
  text-align: center;
  padding: 20px;
  font-size: 0.9em;
}

@media (max-width: 768px) {
  .hero {
    padding: 60px 20px;
  }
  .hero-content h2 {
    font-size: 2.5em;
  }
  .hero-content p {
    font-size: 1em;
  }
}