/* 共通レイアウト（UTF-8） */

/* ------------------------------
   全体基本
------------------------------ */
html, body {
  margin: 0;
  padding: 0;
  height: 100%;
  scroll-behavior: smooth;
}

body {
  background-color: #013220;
  color: #ffffff;
  font-family: sans-serif;

  /* スクロールスナップ */
  scroll-snap-type: y mandatory;
  overflow-y: scroll;
}

/* ------------------------------
   固定ナビゲーション
------------------------------ */
nav {
  position: fixed;
  top: 0;
  left: 0;
  width: 120px;
  height: 100%;
  background-color: #012a1b;
  padding: 20px;
  box-sizing: border-box;
}

/* リンク */
nav a {
  display: block;
  margin-bottom: 15px;
  text-decoration: none;
  transition: color 0.2s ease;
}

nav a:link { color: #ffff66; }
nav a:visited { color: #ffffff; }
nav a:hover { color: #ffffff; }

/* ------------------------------
   更新履歴
------------------------------ */
.noticeHeader {
  position: fixed;
  bottom: 260px;
  left: 10px;
  width: 180px;
  height: 40px;
  border: none;
  background: rgba(0, 0, 0, 0.5);
  color: #a0ffa0;
  text-align: center;
  z-index: 9999;
}

.noticeFrame {
  position: fixed;
  bottom: 10px;
  left: 10px;
  width: 180px;
  height: 240px;
  border: none;
  z-index: 9999;

  display: block;
  overflow: hidden;
}

/* ------------------------------
   セクション（1画面分）
------------------------------ */
.section {
  height: 100vh;
  scroll-snap-align: start;

  margin-left: 180px;
  padding: 40px;
  box-sizing: border-box;

  display: flex;
  align-items: center;
  justify-content: center;
}

/* iframe を画面に合わせて拡大表示させるための枠 */
.frameWrap {
  width: 100%;
  height: 100%;

  /* section の padding 分を引いた実表示領域に収める */
  max-width: calc(100vw - 180px - 80px);
  max-height: calc(100vh - 80px);

  /* 余白が出た場合の見た目 */
  display: flex;
  align-items: center;
  justify-content: center;
}

/* 実表示 iframe: 親領域いっぱいに */
.contentFrame {
  width: 100%;
  height: 100%;
  border: none;

  display: block;
  overflow: hidden;
}

/* ------------------------------
   ボタン画像（元の仕様）
------------------------------ */
.btn-0 {
  display: inline-block;
  width: 200px;
  height: 80px;
  background-image: url("./images/white.png");
  background-size: cover;
}
.btn-0:hover { background-image: url("./images/green.png"); }
.btn-0:active { background-image: url("./images/red.png"); }

.btn-a {
  display: inline-block;
  width: 160px;
  height: 60px;
  background-image: url("./images/main_top_normal.png");
  background-size: cover;
}
.btn-a:hover { background-image: url("./images/main_top_hover.png"); }
.btn-a:active { background-image: url("./images/main_top_active.png"); }

.btn-b {
  display: inline-block;
  width: 160px;
  height: 60px;
  background-image: url("./images/main_story_normal.png");
  background-size: cover;
}
.btn-b:hover { background-image: url("./images/main_story_hover.png"); }
.btn-b:active { background-image: url("./images/main_story_active.png"); }

.btn-c {
  display: inline-block;
  width: 160px;
  height: 60px;
  background-image: url("./images/main_chara_normal.png");
  background-size: cover;
}
.btn-c:hover { background-image: url("./images/main_chara_hover.png"); }
.btn-c:active { background-image: url("./images/main_chara_active.png"); }

.btn-x {
  display: inline-block;
  width: 160px;
  height: 60px;
  background-image: url("./images/main_nazo_normal.png");
  background-size: cover;
}
.btn-x:hover { background-image: url("./images/main_nazo_hover.png"); }
.btn-x:active { background-image: url("./images/main_nazo_active.png"); }
