*{ box-sizing: border-box; }

html,body{
  margin:0;
  padding:0;
  height:100%;
  background:#000;
  font-family:"Helvetica Neue", Arial, sans-serif;
  overflow:hidden; /* 1画面完結 */
}

/* 背景 */
.hero{
  position:fixed;
  inset:0;
  z-index:0;
  overflow:hidden;
  pointer-events:none;
}

.hero-bg{
  width:100%;
  height:100%;
  background-image:url("../images/entry_bg.webp");
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  filter:brightness(0.75);
  pointer-events:none;

  -webkit-touch-callout:none;
  -webkit-user-select:none;
  user-select:none;
}

.no-webp .hero-bg{
  background-image:url("../images/entry_bg.jpg");
}

/* ロゴ */
.logo{
  position:fixed;
  top:48px;
  left:24px;
  z-index:2;
  color:#fff;
  font-size:7rem;
  font-weight:600;
  letter-spacing:0.04em;
  text-shadow:0 2px 8px rgba(0,0,0,0.6);
}
.logo .thin{ font-weight:300; }

/* ENTER */
.enter-btn{
  position:fixed;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  z-index:2;

  display:inline-block;
  line-height:1;

  padding:1rem 2.8rem;
  font-size:1.15rem;

  color:#fff;
  background:rgba(0,0,0,0.55);

  border:2px solid #fff;
  border-radius:6px;

  text-decoration:none;
  letter-spacing:0.08em;
  text-transform:uppercase;
  transition:0.25s ease;
  backdrop-filter:blur(4px);

  -webkit-text-fill-color:currentColor;
  text-shadow:none;

  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
}

.enter-btn:focus{ outline:none; }

/* PCだけ hover */
@media (hover: hover) and (pointer: fine){
  .enter-btn:hover{
    background:rgba(255,255,255,0.92);
    color:#000;
  }
}

/* タッチ端末：常に黒固定（透過・ぼかしOFF） */
@media (hover: none) and (pointer: coarse){
  .enter-btn{
    background:#000 !important;
    backdrop-filter:none !important;
  }
  .enter-btn:active,
  .enter-btn:focus,
  .enter-btn:focus-visible{
    background:#000 !important;
    color:#fff !important;
  }
}

/* フッター */
#footer{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:3;
  padding:0.6rem 1rem 0.9rem;
  text-align:center;
  color:#ccc;
  font-size:0.8rem;
  background:rgba(0,0,0,0.9);
}
#footer ul{ list-style:none; margin:0; padding:0; }
#footer li{ margin:0.15rem 0; }
