*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
:root{ --g:#00FF41; }
html{background:#000;scroll-behavior:smooth;}
body{background:#000;color:var(--g);font-family:'Space Mono',monospace;overflow-x:hidden;cursor:none;}

body::before{
  content:'';position:fixed;inset:0;pointer-events:none;z-index:9990;
  background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,255,65,.03) 2px,rgba(0,255,65,.03) 3px);
}

#cr,#cd{position:fixed;pointer-events:none;z-index:9999;border-radius:50%;transform:translate(-50%,-50%);}
#cr{width:36px;height:36px;border:1.5px solid var(--g);transition:width .15s,height .15s;}
#cd{width:5px;height:5px;background:var(--g);box-shadow:0 0 10px var(--g);}

header{position:fixed;top:0;left:0;right:0;z-index:500;padding:20px 30px;display:flex;justify-content:flex-end;}
.slinks{display:flex;gap:20px;align-items:center;}
.slink{color:var(--g);display:flex;text-decoration:none;filter:drop-shadow(0 0 5px var(--g));}
/* header部分のスタイルを以下に差し替え、または追記 */
.slink svg {
  width: 20px;   /* 全体的に少し大きく（18px → 20px） */
  height: 20px;
  fill: currentColor;
}

/* LinkedInだけさらに微調整したい場合 */
.linkedin-icon svg {
  width: 21px;   /* 他より少し大きくして視覚的なバランスをとる */
  height: 21px;
  transform: translateY(1px); /* 垂直方向の微調整 */
}

#hero{position:relative;width:100vw;height:100vh;overflow:hidden;}
#hero-video {
  position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
  width: 100%; height: 100%; object-fit: cover; opacity: 0.9; z-index: 0;
}
.hero-ov {
  position: absolute; inset: 0;
  background: radial-gradient(circle, transparent 60%, rgba(0,0,0,0.2) 100%);
  z-index: 1;
}

#text-journey{position:relative;height:1600vh;}
#text-sticky{position:sticky;top:0;height:100vh;width:100vw;background:#000;overflow:hidden;display:flex;align-items:center;justify-content:center;}
#text-canvas{display:block;}

#footer{padding:60px 20px 40px;border-top:1px solid rgba(0,255,65,.2);display:flex;flex-direction:column;align-items:center;text-align:center;gap:15px;position:relative;z-index:10;background:#000;}
.ft-name, .ft-det, .ft-copy{font-size:0.7rem;color:var(--g);letter-spacing:0.1em;filter:drop-shadow(0 0 5px var(--g));}

.ft-det a{
  color:inherit;
  text-decoration:none;
  filter:drop-shadow(0 0 5px var(--g));
}

@media(max-width:768px){ #cr,#cd{display:none;} body{cursor:auto;} }
