/* 基本スタイル */
body {
    margin: 0;
    font-family: sans-serif;
    background-color: #fff;
}

img {
    max-width: 100%;
    display: block;
}

a {
    text-decoration: none;
    color: inherit;
}

/* ヘッダー */
.site-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 20px;
    position: sticky;
    top: 0;
    background-color: rgba(255,255,255,0.25);
    backdrop-filter: blur(5px);
    z-index: 100;
}
/* top-style.css の該当部分を置き換え */

/* ハンバーガーメニューボタン */
.menu-btn {
    width: 40px;
    height: 40px;
    background: #EB5777; /* ピンク系の色 */
    border: none;
    border-radius: 50%;
    cursor: pointer;
    position: relative; /* 子要素を絶対配置するための基準 */
    z-index: 110; /* メニューより手前に表示 */
}
.menu-btn span {
    display: block;
    width: 20px;
    height: 2px;
    background-color: white;
    position: absolute;
    left: 10px;
    transition: all 0.4s;
}
.menu-btn span:nth-child(1) {
    top: 13px;
}
.menu-btn span:nth-child(2) {
    top: 19px;
}
.menu-btn span:nth-child(3) {
    top: 25px;
}

/* ▼ メニューが開いたとき(active)のボタンのスタイル ▼ */
.menu-btn.active span:nth-child(1) {
    top: 19px;
    transform: rotate(45deg);
}
.menu-btn.active span:nth-child(2) {
    opacity: 0;
}
.menu-btn.active span:nth-child(3) {
    top: 19px;
    transform: rotate(-45deg);
}

/* ナビゲーションメニュー（普段は隠れている） */
.nav-menu {
    position: fixed;
    top: 0;
    right: -100%; /* 右側に隠す */
    width: 250px;
    height: 100vh;
    background-color: #333;
    color: white;
    transition: right 0.4s;
    padding-top: 60px;
}
.nav-menu.active {
    right: 0; /* activeクラスが付いたら表示 */
}
.nav-menu ul {
    list-style: none;
    padding: 0;
}
.nav-menu li a {
    display: block;
    padding: 15px 20px;
}

/* メインビジュアル */
.main-visual-wrapper img {
    width: 100%;
    height: auto;
}

/* ビジュアル切り替え */
.visual-changer {
    display: flex;
    justify-content: center;
    gap: 10px;
    padding: 20px;
    background-color: #f7f7f7;
}
.thumb {
    width: 80px;
    border: 2px solid transparent;
    cursor: pointer;
    transition: border-color 0.3s;
}
.thumb.active {
    border-color: #EB5777; /* アクティブなサムネイルの枠色 */
}

/* top-style.cssに追記 */
/* メイン画像のラッパー（メッセージを重ねるための基準） */
.main-visual-wrapper {
  position: relative;
}

/* メッセージコンテナ（全体の配置） */
.visual-message-container {
  position: absolute;
  bottom: 3px;
  right: 15px;
  max-width: 80%;
}

/* メッセージ1行ごとのスタイル */
.message-line {
 /* background: linear-gradient(to right, #eb5777, #fcb1c8); */
    /* background-colorをrgbaで指定 */
  /*background-color: rgba(235, 87, 119, 0.75); /* メインカラーを75%の不透明度に */
  /*  background-color: rgba(232, 109, 119, 0.79); /* メインカラーを75%の不透明度に */
    background-color: rgba(50, 50, 50, 0.05); /* メインカラーを75%の不透明度に */
  color: #fff;
  padding: 2px 12px;
  display: inline-block; /* 文字の長さに合わせて幅が変わるように */
  margin-bottom: 6px;
  border-radius: 4px;
  font-size: 15px;
  font-weight: bold;
  line-height: 1.0;/* 1.6 */
  text-shadow: 1px 1px 2px rgba(0,0,0,1);/* 0.5 */
  box-shadow: 0 2px 4px rgba(0,0,0,0);/* 0.2 */
  float: right; /* 右寄せにする */
  clear: both; /* 各行が改行されるように */
  /*opacity: 0.96;*/
}