/* ボディの基本スタイル */
body {
  margin: 0;
  height: 100vh;
  background-image:url('../img/sea-background.jpg');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
  overflow: hidden;
  transition: opacity 1s ease; /* フェードアウト用 */
}

body.fade-out {
  opacity: 0;
}

/* 透明オーバーレイ */
body::before {
  content: "";
  position: fixed;
  top: 0; left: 0;
  width: 100vw; height: 100vh;
  background: rgba(255, 255, 255, 0.7);
  pointer-events: none;
  z-index: 0;
}

/* ロゴのスタイル */
.logo {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0.5);
  opacity: 0;
  transition: opacity 1.5s ease, transform 1.5s ease;
  max-width: 300px;
  width: 50vw;
  height: auto;
  z-index: 10;
  user-select: none;
}

.logo.show {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}

.logo.hide {
  opacity: 0;
  transform: translate(-50%, -50%) scale(0.95);
}
