@charset "UTF-8";
/* ============================================================
   KAGUYAHI LP — ワイヤー（画像スロット積み上げ）
   素材差し替え：wireframe/*.png → image/*.png
   デザイン調整・HTML化は最後
============================================================ */
:root{
  /* スマホ版：幅390px中央 */
  --lp-width:390px;
  --lp-vw:min(100vw,var(--lp-width));
  --lp-wing-space:0px;
  --cta-reserve:0px;
  --bridge-demo-w:calc(120/750*var(--lp-vw));
  --bridge-demo-h:calc(var(--bridge-demo-w)*983/643);
  --bridge-scroll-w:calc(48/750*var(--lp-vw));
  --bridge-scroll-h:calc(var(--bridge-scroll-w)*240/48);
  --bridge-slide-h:calc(110/750*var(--lp-vw));
}
*{margin:0;padding:0;box-sizing:border-box}
html{
  overflow-x:hidden;
  -webkit-text-size-adjust:100%;
}
body.lp-wireframe{
  font-family:"Hiragino Sans","Yu Gothic",sans-serif;
  background:#080814;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  width:100%;
  min-width:0;
}

.lp_wrap{
  width:100%;
  max-width:var(--lp-width);
  margin:0 auto;
  overflow:hidden;
  box-shadow:none;
  position:relative;
  background:#0f0f1f;
  padding-left:var(--lp-wing-space);
  padding-right:var(--lp-wing-space);
  padding-bottom:0;
  isolation:isolate;
}
.lp_wrap :where([class*="__head"] p,[class*="__title"],[class*="__line"],[class*="__lead"]){
  text-wrap:balance;
}
.lp_wrap main{
  width:100%;
  max-width:100%;
  overflow-x:clip;
}
.lp_wrap main > section,
.lp_wrap main > footer,
.lp_wrap main > div{
  width:100%;
  max-width:100%;
}

/* iCell型：画像を自然な高さで積む */
.lp_wrap .box{
  position:relative;
  z-index:1;
  line-height:0;
}
.lp_wrap .box>p,
.lp_wrap .wf-bridge{
  margin:0;
  line-height:0;
}
.lp_wrap .box img{
  width:100%;
  max-width:100%;
  height:auto;
  display:block;
  vertical-align:top;
}

/* セクションまたぎブリッジ — 高さ0で隙間なし、画像だけ上下に重ねる */
.wf-bridge--mark{
  position:relative;
  z-index:30;
  height:0;
  overflow:visible;
  text-align:center;
  line-height:0;
  pointer-events:none;
}
.wf-bridge--mark img{
  position:relative;
  display:inline-block;
  width:var(--bridge-mark-w, var(--bridge-demo-w));
  height:auto;
  max-width:none;
  vertical-align:top;
  transform:translateY(-50%);
}
.wf-bridge--demo{
  --bridge-mark-w:var(--bridge-demo-w);
}
.wf-bridge--scroll{
  --bridge-mark-w:var(--bridge-scroll-w);
}
#wf-generation,
#wf-serum{
  position:relative;
  z-index:1;
}
#wf-team{
  position:relative;
  z-index:2;
}
#wf-monitor{
  position:relative;
  z-index:1;
  overflow:visible;
}
.wf-bridge--text-slide{
  position:relative;
  z-index:50;
  display:block;
  width:100%;
  max-width:100%;
  height:0;
  margin:0;
  padding:0;
  overflow:hidden;
  line-height:0;
  font-size:0;
  background:transparent;
  pointer-events:none;
}
