body { font-family: Arial, sans-serif; margin: 0; padding: 0; }

header, footer { text-align: center;}

.container {
  width: 100%;
  max-width: 800px; /* インスタグラム風に調整 */
  margin: auto; /* 中央に配置 */
}

header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 80px;
  background-color: #7dffb2;
  z-index: 100;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 20px;
}

  .header-menu {
    display: none; /* Hide by default */
  }


  .title-container {
    display: flex;
    flex-direction: column; /* タイトルとサブタイトルを縦方向に配置 */
    align-items: center; /* タイトルとサブタイトルを中央揃え */
  }

/* メインコンテンツのスタイリング */
main {
  margin-top: 80px; /* ヘッダーの高さと同じマージンを設定 */
  margin-bottom: 80px; /* フッターの高さと同じマージンを設定 */
  padding: 20px;
}

h1 { 
  font-size: 24px; /* PC用のフォントサイズ */
  margin-block-start: 0.3em;
  margin-block-end: 0.3em;
}

h2{padding: 0; margin: 0 0 20px 0; text-align: center;}

.more-button {
  width: 80%; 
  margin: 20px auto; 
  padding: 15px; 
  background-color: #06c755; 
  color: white; 
  text-align: center; 
  border-radius: 5px; 
  cursor: pointer; 
}

#more-button { 
  width: 80%;
  margin: 0 auto;
  padding: 10px;
  background-color: #06c755;
  color: white;
  text-align: center;
  border-radius: 5px;
  cursor: pointer;
 }

 /* モーダルウィンドウのスタイル */
.modal {
  display: none;
  position: fixed;
  z-index: 1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgba(0,0,0,0.4);
}

.modal-content {
  background-color: #ffccc9;
  margin: 35% auto;
  padding: 20px;
  border: 1px solid #888;
  width: 80%;
}

.close {
  color: #aaa;
  float: right;
  font-size: 28px;
  font-weight: bold;
}

.close:hover,
.close:focus {
  color: black;
  text-decoration: none;
  cursor: pointer;
}

.atag-button{
  text-decoration: none;  /* 下線を消す */
}

/* Add these styles to styles.css */

#fixed-buttons {
  position: fixed;
  bottom: 80px;
  right: 20px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

#home-button, #scroll-top-button {
  width: 50px;
  height: 50px;
  border: none;
  border-radius: 50%;
  background-color: #fff;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  cursor: pointer;
  font-size: 24px;
  display: flex;
  justify-content: center;
  align-items: center;
}

#scroll-top-button {
  display: none;
}

@media only screen and (max-width: 600px) {
  h1 {
    font-size: 20px; /* モバイル用のフォントサイズ */
  }
}

h1 {
  white-space: nowrap; /* 1行に収める */
  overflow: hidden; /* オーバーフローを隠す */
  text-overflow: ellipsis; /* 省略記号で表示 */
}

/* footer.php のスタイル */
.footer {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 50px;
  background-color: #f8f9fa;
  display: flex;
  justify-content: space-around;
  align-items: center;
  padding: 10px 0;
}

.footer-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  cursor: pointer;
}

.footer-icon {
  font-size: 40px;
  color: #00c300;
}

.footer-item span {
  font-size: 12px;
  margin-top: 5px;
}

/* styles.css */

.footer-item {
  position: relative;
  /* display: inline-block;*/
  margin: 10px;
  font-size: 24px;
}

.badge {
  position: absolute;
  top: -20px;
  right: -25px;
  background-color: red;
  color: white;
  border-radius: 50%;
  padding: 10px 10px;
  font-size: 14px;
  display: none; /* 初期状態で非表示 */
}

.sparkle-container {
  position: absolute;
  width: 100%;
  height: 100%;
  pointer-events: none;
  top: -20px;
  left: 20px;
  overflow: visible;
}

.sparkle {
  position: absolute;
  width: 10px;
  height: 10px;
  background: yellow;
  clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
  animation: sparkle-animation 3s forwards;
}


@keyframes sparkle-animation {
  0% {
      transform: scale(1) translate(0, 0);
      opacity: 1;
  }
  100% {
      transform: scale(0.5) translate(calc(100px * (random() - 0.5)), calc(100px * (random() - 0.5)));
      opacity: 0;
  }
}