html, body {
  margin: 0;
  padding: 0;
  width: 100%;
  min-height: 100%;
  overflow-x: hidden; /* 横スクロールを防ぐ */
}


body {
  margin: 0;
  font-family: sans-serif;

  background:
    url('background-img.jpg') no-repeat center top,
    linear-gradient(to bottom, rgba(152, 233, 209, 1) 33%, rgba(229, 162, 255, 1));

  background-size: 80%, cover;
  /* 画像は60%、グラデーションは全体 */
  background-attachment: scroll, scroll;
  /* スクロールに追従（←ここが重要） */
  background-repeat: repeat-y;
  /* ← 画像を縦横に繰り返す */
  min-height: calc(100vh - 1vw);
  padding-bottom: 1vw;
  /* footer分の余白を追加 */
}





a {
  color: black;
  text-decoration: none;
  text-align: center;
}

a:hover {
  text-decoration: underline;
}

.nav-buttons {
  display: flex;
  justify-content: flex-start;
  gap: 1rem;
  margin-top: 0.1vw;
  font-size:1.2rem ;
}

.nav-button {
  display: inline-block;
  padding: 20px 40px;
  background-color: #f0f0f0;
  color: #333;
  text-decoration: none;

  border-radius: 1VW;
  transition: background-color 0.3s, color 0.3s;

}

.nav-button:hover {
  background-color: #333;
  color: white;
}








header {
  display: flex;
  align-items: center;
  padding: 1rem;
  border-bottom: 0.1rem solid purple;
  background-color: white;
  flex-wrap: wrap;
  justify-content: space-between;
  /* ← 左右に分ける */

}

.title {
  font-size: 60px;
  /* 相対値でフォントサイズを指定 */
  margin-right: 1vw;
  flex-grow: 1;
}

.nav {
  margin-left: auto;
}

.menu-group {
  display: flex;
  gap: 1vw;
  padding: 0;
  margin: 0;
  list-style: none;
}

.mainLOGO {
  width: 160px;
  height: auto;
  margin-right: 1vw;
}

.menu-item img {
  width: 70px;
  height: auto;
}

.menu-item {
  display: flex;
  align-items: center;
  justify-content: center;
}

.menu-item_y{
display: flex;
  align-items: center;
  justify-content: center;

}
.menu-item_y img {
  width: 90px;
  height: auto;
}



.log {
  display: flex;
  flex-direction: column;
  /* 縦並びにする場合 */
  align-items: center;
  /* 横中央寄せ */
  justify-content: center;
  /* 縦方向の中央寄せ（flex-directionによっては不要） */
  text-align: center;
  position: relative;
}

.log .A {
  width: 80%;
  height: auto;
  border-radius: 32px;
  margin-bottom: 32px;
  margin-top: 128px;
  position: relative;
text-align: center;
}

.log .log1 {
  font-size: 40px;
  position: absolute;
  z-index: 1;
  height: 100px;
  top: 16%;
  left: 25%;
}

.log .log2 {
  position: absolute;
  font-size: 24px;
  /*font-size: 1.2rem;*/
  z-index: 1;
  text-align: left;
  left: 25%;
  top: 26%;
  height: 60%;
  overflow: scroll;
  overflow: auto;
  width: 50%;
}


.daily {
  display: flex;
  flex-direction: column;
  /* 縦並びにする場合 */
  align-items: center;
  /* 横中央寄せ */
  justify-content: center;
  /* 縦方向の中央寄せ（flex-directionによっては不要） */
  text-align: center;
  position: relative
}

.daily .A {
  width: 80%;
  height: auto;
  margin-top: 160px;
  border-radius: 32px;
  margin-bottom: 128px;
}

.Q {
  font-size: 40px;
  position: absolute;
  /* または absolute にするなら親に position: relative を付ける */
  z-index: 1;
  margin-bottom: 16px;
  top: 17%;
  left: 25%;
}

.twitter{
  position: absolute;
  z-index: 1;
  top: 30%;
  left: 23%;
  width: 53%;
  height: auto;
  align-items: center;
  flex-direction: column;
  /* 縦並びにする場合 */
  justify-content: center;
  text-align: center;
}















footer {
  background: transparent;
  /* footerの背景画像を透明に設定 */
  padding: 1rem;
  border-top: 5px solid lightgreen;
  font-size: 1.5rem;
  font-weight: bold;
  text-align: center;
  margin-bottom: 0;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}




/* スマホ用レイアウト調整 */
@media (max-width: 960px) {

  /* ヘッダー関連 */
  header {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .mainLOGO {
    width: 20vw; /* スマホでは少し大きめに */
    margin: 0 auto 0.5rem;
  }

  .title {
    font-size: 1.5rem; /* 画面幅に収まる大きさに */
    margin: 0.5rem 0;
  }

  .nav-buttons {
    flex-direction: column;
    gap: 0.5rem;
    width: 100%;
    align-items: center;
  }

  .nav-button {
    font-size: 1rem;
    width: 80%;
    padding: 0.8rem;
  }

  .nav .menu-group {
    display: flex;           /* ← これが必須 */
  justify-content: center; /* 横方向の中央寄せ */
  align-items: center;     /* 縦方向の中央寄せ */
  gap: 0.5rem;
  margin: 0.5rem auto;
  padding: 0;              /* 不要な余白がある場合はリセット */
  list-style: none;        /* li のポチを消す */
  left: 50%;
  }


  .menu-item img,
  .menu-item_y img {
    width: 14vw; /* 小さなアイコンに */
     justify-content: center;
     display: block;
  margin: 0 auto; /* 画像を中央寄せ */
  }


  /* コンテンツ部分 */
  .log {
    flex-direction: column;
    align-items: center;
    text-align: center;
    
  }

  .log .A {
    width: 95%; /* 画面幅に合わせる */
    margin-top: 2rem;
    margin-bottom: 1rem;
  }

  .log .log1{
    position: absolute; /* 絶対配置解除 */
    
   top:9%;
   left: 25%;
    font-size: 20px;
    text-align: left;
  }

 .log .log2 {
    position: absolute; /* 絶対配置解除 */
    width: 60%;
    height: 60%;
    margin: 0.5rem auto;
    font-size: 16px;
    /*font-size: 0.45rem;*/
    text-align: left;
    left: 18%;
    top: 25%;
  }
  .daily .A {
    width: 95%;
    margin-top: 2rem;
    margin-bottom: 1rem;
  }

  .daily .Q {
    position: absolute;
    margin: 0.5rem auto;
    font-size: 1.2rem;
    left: 25%;
    top: 12%;
  }

  .twitter {
    position: absolute;
    width: 60%;
    margin: 0 auto;
    left: 20%;
    top: 30%;
  }


  /* フッター */
  footer {
    font-size: 0.8rem;
    padding: 0.5rem;
  }
}


