@charset "utf-8";

/* reset */
*,
*::before,
*::after { box-sizing: border-box; }

html{ scrollbar-gutter: stable; }

body{
  margin: 0;
    font-family: "Luxurious Roman", system-ui, -apple-system,
               BlinkMacSystemFont, "Segoe UI","Noto Sans JP", sans-serif;
  background: linear-gradient(135deg, #000 50%, #fff 50%);
  background-attachment: fixed;
  overflow: hidden; /* トップはスクロールさせない */
}

/* site */
.site{
  position: relative;
  min-height: 100vh;
}

/* header */
.site-header{
  position: fixed;
  left: 14px;
  z-index: 10;
  pointer-events: none;
}

.site-header-text{
  font-size: 34px;
  letter-spacing: 0.10em;
  color: rgba(255,255,255,0.42);
  line-height: 1;
}

/* hero */
.hero{
  height: 100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  text-align:center;
  position: relative;
  padding: 24px 16px 26px;
}

.hero::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background: radial-gradient(circle at center,
    rgba(0,0,0,.32) 0%,
    rgba(0,0,0,.14) 40%,
    rgba(0,0,0,0) 74%);
}

.hero > *{
  position: relative;
  z-index: 1;
}

/* ロゴ */
.hero-logo-mark{
  width: 178px;
  height: 178px;
  margin: 60px auto 26px;
  background-color: #fff;
  -webkit-mask: url("../img/toy-fac.png") no-repeat center / contain;
          mask: url("../img/toy-fac.png") no-repeat center / contain;
  filter: drop-shadow(0 8px 18px rgba(0,0,0,.35));
}

/* menu */
.menu{
  display:flex;
  flex-direction: column;
  gap: 10px;
  justify-content:center;
  align-items: center;
  margin-top: 30px;
}

.menu a{
  text-decoration:none;
  font-size: 20px;
  letter-spacing: .12em;
  color: rgba(255,255,255,0.95);
  position: relative;
  padding: 10px 12px;
  border-radius: 999px;
  text-shadow: 0 1px 3px rgba(0,0,0,.35);
}

.menu a::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:6px;
  width:0%;
  height:1px;
  background: rgba(255,255,255,.85);
  transform:translateX(-50%);
  transition: width .3s ease;
}
.menu a:active::after{ width:100%; }

/* sns */
.sns{
  margin-top: 14px;
  display: flex;
  gap: 14px;
  justify-content: center;
}

.sns img{
  width: 38px;
  opacity: .80;
  filter: drop-shadow(0 4px 10px rgba(0,0,0,.35));
}

/* =========================
   waves（SP：完全に静止）
   ========================= */
.bg-waves{
  position: fixed;
  left:0;
  right:0;
  bottom:0;
  height: 34vh;
  min-height: 90px;
  z-index: 1;
  pointer-events:none;
}

.waves{
  width:100%;
  height:100%;
  display:block;
  opacity:.20;
  filter: drop-shadow(0 -10px 18px rgba(0,0,0,.33));
  shape-rendering: geometricPrecision;
}

.wave{ fill:#777; }
.wave1{ opacity:.45; }
.wave2{ opacity:.30; }
.wave3{ opacity:.18; }
.wave4{ opacity:.10; }

.parallax > use{
  animation: none !important;
  transform: none !important;
}

/* 小さい端末 */
@media (max-width: 360px){
  .site-header-text{ font-size: 30px; }
  .hero-logo-mark{ width: 160px; height: 160px; }
  .menu a{ font-size: 18px; padding: 9px 10px; }
  .sns img{ width: 34px; }
}
