/* 外側の背景（余白部分） */
body {
  margin: 0;
  padding: 0;
  background: #f3ede1; /* 白～クリーム系 */
  font-family: "Hiragino Sans", "Meiryo", sans-serif;
  color: #682b0e;
  height: 100%;
}

/* 背景画像＋ガラス風レイヤー（固定） */
.content-bg {
  position: fixed;       /* 背景を画面に固定 */
  top: 2vh;
  left: 2.5vw;
  width: 95vw;           /* ほぼ全画面 */
  height: 96vh;          /* ほぼ全画面高さ */
  border-radius: 16px;
  overflow: hidden;      /* 枠からはみ出した部分を非表示 */
  background-image: url("cover1.png");
  background-size: cover;
  background-position: center;
}

/* ガラス効果の透明白レイヤー（背景と完全一致） */
.content-glass {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 241, 196, 0.6);
  backdrop-filter: blur(2px);
  pointer-events: none; /* 背景なのでクリックを邪魔しない */
}

/* スクロールする本体 */
.content-inner {
  position: relative;
  z-index: 10;
  width: 100%;
  height: 100%;
  padding: 20px 40px;    /* 余白を調整（上下20px 左右40px） */
  overflow-y: auto;      /* 縦スクロール可能 */
  overflow-x: hidden;    /* 横方向はみ出しを非表示 */
  text-align: left;
  box-sizing: border-box;

  /* Firefox用スクロールバー */
  scrollbar-width: thin;
  scrollbar-color: rgba(80,60,40,0.6) rgba(255,255,255,0.3);
}

/* WebKit系ブラウザ用スクロールバー */
.content-inner::-webkit-scrollbar {
  width: 8px;
}
.content-inner::-webkit-scrollbar-track {
  background: rgba(255,255,255,0.3);
  border-radius: 8px;
}
.content-inner::-webkit-scrollbar-thumb {
  background: rgba(80,60,40,0.6);
  border-radius: 8px;
}
.content-inner::-webkit-scrollbar-thumb:hover {
  background: rgba(80,60,40,0.8);
}

/* 説明文 */
.desc {
  font-size: 1.1rem;
  margin-bottom: 30px;
}

/* セクション */
section {
  margin-bottom: 40px;
  padding: 20px;                /* 内側余白 */
  border: 1px solid #ddd;       /* 薄いグレー枠線 */
  border-radius: 12px;          /* 角丸 */
  background: rgba(255,255,255,0.4); /* ほんのり背景 */
}

a {
  text-decoration:underline;
  color: black;
  font-weight: bold;
}

/* レスポンシブ対応: タブレット以上 */
@media (max-width: 1024px) {
  .content-bg {
    top: 5vh;
    left: 5vw;
    width: 90vw;
    height: 90vh;
  }

  .content-inner {
    padding: 15px 30px;
  }

  .desc {
    font-size: 1rem;
  }

  section {
    padding: 15px;
  }
}

/* レスポンシブ対応: スマートフォン以上 */
@media (max-width: 600px) {
  .content-bg {
    top: 5vh;
    left: 5vw;
    width: 90vw;
    height: 90vh;
  }

  .content-inner {
    padding: 10px 20px;
  }

  .desc {
    font-size: 0.95rem;
    margin-bottom: 20px;
  }

  section {
    padding: 10px;
  }
}

/* レスポンシブ対応: 超小型スマホ（例：横幅320px未満） */
@media (max-width: 320px) {
  .content-bg {
    top: 5vh;
    left: 5vw;
    width: 90vw;
    height: 90vh;
  }

  .content-inner {
    padding: 10px;
  }

  .desc {
    font-size: 0.9rem;
    margin-bottom: 15px;
  }

  section {
    padding: 8px;
  }
}
