*, *::before, *::after {
  box-sizing: border-box;
}

html {
  margin: 0;
  padding: 0;
  overflow-x: hidden;
  font-family: Arial, sans-serif;
  scroll-behavior: smooth;
  scroll-padding-top: calc(60px + 300px);
}

.bg-img {
    position: fixed;
    filter: contrast(0.5) blur(70px);
    width: 100%;
    height: 100%;
    z-index: -1;
    color: rgba(235, 235, 235, 0.4);
}


body {
  margin: 0;

}

.main {
  /*background-color: rgba(235, 235, 235, 0.3);*/
  height: 100vh;
}
.main-layout {
    display: flex;
    flex-direction: column;
    position: relative;
    width: 400px;
    margin: 0 auto;
    top: 40px;
    align-items: center;
}

/* 画像を包む親要素（位置の基準にする） */
.msc-img-wrapper {
  position: relative;
  width: 240px;
  height: 240px;
  border-radius: 12px;
  overflow: hidden; /* 角丸からはみ出さないようにする */
  cursor: pointer;   /* ホバー時にカーソルを指マークにする */
}

.msc-img {
  width: 240px;
  height: 240px;
  border-radius: 12px;
  object-fit: cover;
  display: block;
  transition: transform 0.3s ease;
}
.msc-img:hover {
  transform: scale(1.05); /* ほんのり拡大して真ん中感を強調 */
}

/* 再生ボタンの基本スタイル（最初は非表示） */
/* 再生ボタンの基本スタイル */
.play-button {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.9);
    width: 80px;
    height: 80px;
    background-color: rgba(0, 0, 0, 0.6);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    
    opacity: 1;
    visibility: visible;
    z-index: 2;

    /* ▼ 追加：ボタン自体がクリックの邪魔をしないようにしつつ、クリックイベントは受け付けるようにする */
    cursor: pointer;
}

/* 再生アイコンのサイズ */
.play-icon {
  width: 50px;
  height: 50px;
  pointer-events: none; 
}

.music-title {
  font-weight: 600;
  font-size: 20px;
  text-align: center;
}

.subscribe-list {
  background-color: white;
  width: 100%;
  border-radius: 15px;
  overflow: hidden; /* 角丸からはみ出た部分をきれいに切り取る */
}

.subscribe-list-content {
  display: flex;
  padding: 15px;
  align-items: center;
  
  /* ▼ ここで各項目ごとに下線を引き、一番下だけ線を消す */
  border-bottom: solid 1px #eee; 
}

/* リストの一番最後の項目だけ線の下線を消す場合 */
.subscribe-list a:last-child .subscribe-list-content {
  border-bottom: none;
}

.subscribe-list-content img {
  width: 124px;
  height: 40px;
  object-fit: contain;
  transition: transform 0.3s ease;
}

.ONLINE-SHOP-icon {
  filter: invert(100%);
}

.subscribe-list-content:hover {
  background-color: rgba(231, 231, 231, 0.8);
  transition: background-color 0.2s; /* transform ではなく背景色に変えると滑らかです */
}

/* ホバーしたときに少し大きくして真ん中でアピールする */
.subscribe-list-content:hover img {
  transform: scale(1.05); /* ほんのり拡大して真ん中感を強調 */
  transform: translateX(10px); /* 例：右にスライドさせて真ん中に見せる */
}

.copyright {
  font-size:12px;
  opacity: 0.6;
}

@media screen and (max-width: 768px) {

  .msc-img-wrapper, .msc-img {
    width: 180px;
    height: 180px;
  }

  .play-button {
    width: 60px;
    height: 60px;
  }

  .play-icon {
    width: 30px;
    height: 30px;
    pointer-events: none; 
  }

  .main-layout {

    width: 100%;
    max-width: 300px;

  }
}