body {
    background-color: black;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    background-attachment: fixed;
    color: #333;
    font-size: 30px;	
	line-height: 2;		
    font-family: "pirulen", sans-serif;
    font-weight: 400;
    font-style: bold;
    color: #fff;
  }
  @media (max-width: 450px){
    body {
        font-size: 25px;
    }
  }
 /* ========== ヘッダー共通 ========== */
header {
  width: 100%;
  background: transparent;
  padding: 10px 0;
  position: relative;
}

/* ナビゲーションバー */
#menubar {
  width: 100%;
  text-align: center;
  margin: 0 auto;
  padding: 0;
}

#menubar ul {
  display: flex;
  justify-content: center;   /* 中央寄せ */
  align-items: center;
  flex-wrap: wrap;           /* 幅が狭いとき折り返す */
  list-style: none;
  margin: 0;
  padding: 0;
}

#menubar li {
  margin: 0 1rem;
}

#menubar li a {
  display: block;
  padding: 8px 12px;
  text-decoration: none;
  font-size: 1.2rem;
  font-weight: 400;
  border-bottom: 2px solid transparent;
  -webkit-text-stroke-width: 0.1px;
  -webkit-text-stroke-color: white;
  transition: all 0.3s ease;
}

/* ========== レスポンシブ調整 ========== */

/* タブレット以下 */
@media (max-width: 1000px) {
  #menubar ul {
    flex-direction: column;  /* 縦並び */
  }
  #menubar li {
    margin: 0.5rem 0;
  }
  #menubar li a {
    font-size: 1.5rem;
    width: auto;
  }
}

/* スマホ以下 */
@media (max-width: 600px) {
  #menubar li a {
    font-size: 1.2rem;
    padding: 6px 10px;
  }
}

/* 小さいスマホ */
@media (max-width: 450px) {
  #menubar li a {
    font-size: 1rem;
    padding: 5px 8px;
  }
}

/* ========== トピコ アイコン ========== */
#topico {
  width: 40vw;              /* 画面幅の40%を基準に */
  max-width: 300px;         /* 大きすぎ防止 */
  aspect-ratio: 1 / 1;      /* 正方形を維持（画像が正方形想定） */
  margin: 0 auto;

  /* 通常時はPNGをそのまま表示 */
  background: url("image/ico.png") no-repeat center/contain;
}

/* ホバー時はマスク＋グラデーション */
#topico:hover {
  -webkit-mask-image: url("image/ico.png");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;

  mask-image: url("image/ico.png");
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;

  background: linear-gradient(
    90deg,
    #C4FFB7 0%,
    #91cfff 25%,
    #ffaacc 50%,
    #C4FFB7 75%
  );
  background-size: 200% 100%;
  animation: gradient-text 2s linear infinite;
}

/* グラデーション流しアニメーション */
@keyframes gradient-text {
  0%   { background-position: 0% 50%; }
  100% { background-position: 200% 50%; }
}

/* ========== メディアクエリで調整 ========== */
@media (max-width: 1000px) {
  #topico {
    width: 50vw;
    max-width: 250px;
  }
}

@media (max-width: 600px) {
  #topico {
    width: 60vw;
    max-width: 200px;
  }
}

@media (max-width: 450px) {
  #topico {
    width: 70vw;
    max-width: 150px;
  }
}

#menubar {
	position:relative;
	top:0%;	
	left:0px;
	width: 100%;
	text-align: center;
}
ul {
    display: block;
    list-style-type: disc;
    margin-block-start: 1em;
    margin-block-end: 1em;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
    padding-inline-start: 0px;
    text-align: center;
}
#menubar li {
	display: inline-block;
	margin: 0 1%;
    text-align: center;
}

#menubar li a {
	text-decoration: none;
    display: block;
    text-align: center;
	width: 250px;	
	border-bottom: 2px solid transparent;
	padding-bottom: 7px;
     -webkit-text-stroke-width: 0.1px;
  -webkit-text-stroke-color: white;
  font-size: 100%;
}
@media(max-width:1000px){
    #menubar{
        padding: 0;
        list-style: none;
    }
    #menubar li{
        padding: 2%;
        margin: 2%; 
    }
    #menubar li a {
    width: 250px;
    }
}
@media(max-width:600px){
    #menubar{
        
        list-style: none;
    }
    #menubar li{
        padding: 2%;
        margin: 2%; 
    }
    #menubar li a {
    width: 150px;
    }
}
@media(max-width:450px){
    #menubar{
        
        list-style: none;
    }
    #menubar li{
        padding: 2%;
        margin: 2%; 
    }
    #menubar li a {
    width: 100px;
    }
}
#menubar li a:hover {
    color: transparent; /* 文字色を透明に */
  background-image: linear-gradient(
    90deg,
    #C4FFB7 0%,
    #91cfff 25%,
    #ffaacc 50%,
    #C4FFB7 75%
  );
  background-size: 200% 100%; /* アニメーションに必要 */
  background-clip: text;
  -webkit-background-clip: text;
  animation: gradient-text 2s linear infinite;
}

/* グラデーションを動かすアニメーション */
@keyframes gradient-text {
  0% {
    background-position: 0% 50%;
  }
  100% {
    background-position: 200% 50%;
  }
}
#link{
    color: inherit;
    text-decoration: none;
    font-size: 35px;
}
a,a:hover,a:visited{
    color: inherit;
}
a,a:visited{
    color: inherit;
}
#link2{
    margin-left:5%;
    color: inherit;
    text-decoration: none;
    font-size: 40px;
    color: #FF0000;
}
a,#link2:hover{
    color: black;
}
#link3{
    margin-left:5%;
    color: inherit;
    text-decoration: none;
    font-size: 40px;
    color: #FC4D50;
}
a,#link3:hover{
    color: black;
}
#link4{
    margin-left:5%;
    color: inherit;
    text-decoration: none;
    font-size: 40px;
    color: #167bff;
}
a,#link4:hover{
    color: black;
}
#link5{
    margin-left:5%;
    color: inherit;
    text-decoration: none;
    font-size: 40px;
    color: #61a5ff;
}
a,#link5:hover{
    color: black;
}
#profiles{
    margin-left:4%;
    margin-right:4%;
    color: transparent; /* 文字色を透明に */
  background-image: linear-gradient(
    90deg,
    #C4FFB7 0%,
    #91cfff 25%,
    #ffaacc 50%,
    #C4FFB7 75%
  );
  background-size: 200% 100%; /* アニメーションに必要 */
  background-clip: text;
  -webkit-background-clip: text;
  animation: gradient-text 2s linear infinite;
  word-wrap: break-word;   /* 古い書き方だが対応広い */
  overflow-wrap: break-word;
}

/* グラデーションを動かすアニメーション */
@keyframes gradient-text {
  0% {
    background-position: 0% 50%;
  }
  100% {
    background-position: 200% 50%;
  }
}
#profile:hover {
    color: transparent; /* 文字色を透明に */
  background-image: linear-gradient(
    90deg,
    #C4FFB7 0%,
    #91cfff 25%,
    #ffaacc 50%,
    #C4FFB7 75%
  );
  background-size: 200% 100%; /* アニメーションに必要 */
  background-clip: text;
  -webkit-background-clip: text;
  animation: gradient-text 2s linear infinite;
}

/* グラデーションを動かすアニメーション */
@keyframes gradient-text {
  0% {
    background-position: 0% 50%;
  }
  100% {
    background-position: 200% 50%;
  }
}
#ws{
     margin-left:20%;
    margin-right:20%;
}
#profilei {
    color: transparent; /* 文字色を透明に */
  background-image: linear-gradient(
    90deg,
    #C4FFB7 0%,
    #91cfff 25%,
    #ffaacc 50%,
    #C4FFB7 75%
  );
  background-size: 200% 100%; /* アニメーションに必要 */
  background-clip: text;
  -webkit-background-clip: text;
  animation: gradient-text 2s linear infinite;
}

/* グラデーションを動かすアニメーション */
@keyframes gradient-text {
  0% {
    background-position: 0% 50%;
  }
  100% {
    background-position: 200% 50%;
  }
}
#ws{
     margin-left:20%;
    margin-right:20%;
}