:root{
  --pink:#E7C4D9;
  --pink2:#E3ABC6;
  --blue:#BCDBF3;
  --blue2:#A2CBEC;
  --purple:#C8B1D5;
}

*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body{
  font-family:"Zen Maru Gothic", sans-serif;
  color:white;
  overflow-x:hidden;
  background:linear-gradient(
    -45deg,
    var(--pink),
    var(--pink2),
    var(--purple),
    var(--blue),
    var(--blue2)
  );
  background-size:400% 400%;
  animation:bgMove 18s ease infinite;
}

@keyframes bgMove{
  0%{background-position:0% 50%;}
  50%{background-position:100% 50%;}
  100%{background-position:0% 50%;}
}

/* 星空 */

.stars{
  position:fixed;
  inset:0;
  overflow:hidden;
  pointer-events:none;
  z-index:0;
}

.star{
  position:absolute;
  border-radius:50%;
  background:white;
  animation:twinkle linear infinite;
  opacity:.8;
  box-shadow:0 0 10px rgba(255,255,255,.8);
}

@keyframes twinkle{
  0%,100%{
    transform:scale(.6);
    opacity:.3;
  }
  50%{
    transform:scale(1.4);
    opacity:1;
  }
}

/* ヘッダー */

.header{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  padding:24px 48px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  z-index:100;
  background:rgba(255,255,255,.08);
  backdrop-filter:blur(14px);
}

.logo{
  text-decoration:none;
  color:white;
  font-weight:700;
  letter-spacing:1px;
  font-size:22px;
}

.nav{
  display:flex;
  gap:32px;
}

.nav a{
  color:white;
  text-decoration:none;
  font-size:14px;
  letter-spacing:1px;
  transition:.3s;
}

.nav a:hover{
  opacity:.6;
}

/* SNSリンク */
/* SNSリンク右側縦配置 */
  a i {
    font-size: 50px;
    color: #ffffff;
    margin: 10px 0;
    transition: transform 0.2s, filter 0.2s;
  }

  /* ホバー時（PC） */
  a:hover i {
  transform: scale(1.15);
  filter: brightness(1.3); /* 少し明るく */
  }

/* アクティブ時（タップなど） */
  a:active i {
  transform: scale(0.9);
  filter: brightness(0.8); /* 少し暗く */
  }

  .sns-links {
    position: fixed;
    right: 30px;
    top: 40%;
    transform: translateY(-50%);
    display: flex;
    flex-direction: column;
    gap: 30px;
    z-index: 5;
  }

  .sns-links i {
    font-size: 40px;
  }


/* ヒーロー */

.hero{
  position:relative;
  z-index:1;
  min-height:100vh;
  display:flex;
  justify-content:center;
  align-items:center;
  text-align:center;
  padding:0 24px;
}

.hero-inner{
  padding:72px 56px;
}

.hero-sub{
  letter-spacing:3px;
  margin-bottom:18px;
  opacity:.9;
}

.hero h1{
  font-family:"Marcellus", serif;
  font-size:clamp(46px,8vw,82px);
  font-weight:400;
  letter-spacing:5px;
margin-bottom:24px;
  text-shadow:0 0 24px rgba(255,255,255,.4);
}

/* hero-text removed */

.hero-image{
  max-width:900px;
  height:auto;
  margin:-8px 0 24px;
}



/* スクロール */

.scroll{
  position:absolute;
  bottom:40px;
  left:50%;
  transform:translateX(-50%);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  animation:float 2s ease-in-out infinite;
}

.arrow{
  width:2px;
  height:42px;
  background:white;
  position:relative;
}

.arrow::after{
  content:"";
  position:absolute;
  bottom:0;
  left:-4px;
  width:10px;
  height:10px;
  border-right:2px solid white;
  border-bottom:2px solid white;
  transform:rotate(45deg);
}

@keyframes float{
  0%,100%{transform:translate(-50%,0);}
  50%{transform:translate(-50%,10px);}
}

.news-section{

    display:flex;
    justify-content:center;
    margin-top:100px;
    margin-bottom:120px;

}

.glass-news{

    width:700px;
    max-width:90%;

    padding:35px 40px;

    border-radius:30px;

    background:rgba(255,255,255,.16);

    backdrop-filter:blur(20px);
    -webkit-backdrop-filter:blur(20px);

    border:1px solid rgba(255,255,255,.25);

    box-shadow:
        0 10px 35px rgba(0,0,0,.12);

}

.glass-news h2{

    color:white;

    margin-bottom:25px;

    font-size:30px;

}

.news-item{

    display:flex;

    gap:25px;

    align-items:center;

    padding:18px 0;

    border-bottom:1px solid rgba(255,255,255,.15);

}

.news-item:last-of-type{

    border:none;

}

.date{

    color:white;

    opacity:.7;

    width:110px;

    font-size:14px;

}

.news-item p{

    color:white;

    font-size:17px;

}

/* news-btn removed */
.music-preview{

    display:flex;
    justify-content:center;
    margin:120px 0;

}

.glass-music{

    width:600px;

    padding:40px;

    border-radius:30px;

    text-align:center;

    background:rgba(255,255,255,.15);

    backdrop-filter:blur(20px);

    border:1px solid rgba(255,255,255,.25);

    color:white;

}

.glass-music h2{

    margin-bottom:10px;

}

.glass-music h3{
    font-size: 35px;
    margin-bottom: 20px; 
}

.glass-music h4{
    font-size: 18px;
    font-weight: normal;
    margin-top: 0;
    margin-bottom: 30px;
}

#playBtn{

    margin-top:25px;

    padding:15px 45px;

    border:none;

    border-radius:40px;

    background:#ffffff30;

    color:white;

    cursor:pointer;

    transition:.3s;

}

#playBtn:hover{

    background:#ffffff55;

    transform:scale(1.05);

}

audio{
    width:100%;
    margin-top:20px;
}

/* 仮セクション */

.concept{
  min-height:100vh;
  padding:160px 24px;
  text-align:center;
  background:rgba(255,255,255,.05);
  line-height:4.0;
}

.concept p{
  font-size:20px;
  margin-bottom:18px;
}

.concept h2{
  font-family:"Marcellus", serif;
  font-size:64px;
  margin-bottom:24px;
}

.concept h3{
  font-size:30px;
  margin-bottom:24px;
}

/* スマホ */

@media (max-width:768px){

  .header{
    padding:18px 20px;
  }

  .nav{
    display:none;
  }

  .hero-inner{
    padding:56px 28px;
  }

  .hero h1{
    letter-spacing:3px;
  }

}