/* ═══════════════════════════════════════
   MUSE Header — 全ページ共通
   ═══════════════════════════════════════ */
.hd{
  position:fixed;top:0;left:0;right:0;z-index:200;
  background:rgba(255,255,255,.82);
  backdrop-filter:blur(24px) saturate(1.2);-webkit-backdrop-filter:blur(24px) saturate(1.2);
  box-shadow:0 1px 24px -6px rgba(6,11,24,.04);
}
.hd::after{
  content:'';position:absolute;bottom:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(24,71,204,.08) 30%,rgba(24,71,204,.08) 70%,transparent);
}
.hd__inner{
  max-width:1240px;margin:0 auto;
  padding:0 var(--sp-wrap);
  display:flex;align-items:center;
  height:clamp(52px,7vh,68px);
}
.hd__logo{display:flex;align-items:center;gap:clamp(10px,1vw,16px);text-decoration:none;flex-shrink:0}
.hd__logo-img{height:clamp(26px,2.8vw,36px);width:auto}
.hd__logo-text{display:flex;flex-direction:column;gap:1px}
.hd__logo-name{
  font-family:var(--fd);font-weight:800;font-size:clamp(16px,1.4vw,22px);
  letter-spacing:.02em;color:var(--k);line-height:1;
}
.hd__logo-sub{
  font-family:var(--fm);font-size:clamp(7px,.55vw,9px);
  letter-spacing:.22em;text-transform:uppercase;color:var(--k6);line-height:1;
}

/* Nav */
.hd__nav{display:flex;align-items:center;gap:clamp(4px,.5vw,8px);margin-left:auto;margin-right:clamp(16px,2vw,28px)}
.hd__nav a{
  font-family:var(--fm);font-size:clamp(10px,.8vw,13px);letter-spacing:.18em;text-transform:uppercase;
  color:var(--k5);text-decoration:none;padding:clamp(6px,.8vh,10px) clamp(12px,1.4vw,20px);
  position:relative;transition:color .35s var(--smooth);
}
.hd__nav a::before{
  content:'';position:absolute;bottom:clamp(2px,.3vh,4px);left:50%;
  width:0;height:1.5px;background:var(--bl);
  transition:width .4s var(--smooth),left .4s var(--smooth);
}
.hd__nav a:hover{color:var(--k)}
.hd__nav a:hover::before{width:60%;left:20%}
.hd__nav a.--current{color:var(--bl)}
.hd__nav a.--current::before{width:60%;left:20%;background:var(--bl);opacity:.4}

/* Separator */
.hd__sep{width:1px;height:clamp(20px,2.5vh,32px);background:var(--k7);margin:0 clamp(4px,.5vw,8px);flex-shrink:0}

/* CTA */
.hd__cta{
  display:inline-flex;align-items:center;gap:clamp(8px,1vw,12px);
  padding:clamp(10px,1.2vh,16px) clamp(22px,2.5vw,36px);
  background:var(--k);position:relative;overflow:hidden;text-decoration:none;flex-shrink:0;
}
.hd__cta::before{content:'';position:absolute;inset:0;background:var(--bl);transform:translateX(-101%);transition:transform .45s var(--smooth)}
.hd__cta:hover::before{transform:translateX(0)}
.hd__cta-texts{position:relative;z-index:1;display:flex;flex-direction:column;gap:1px}
.hd__cta-en{font-family:var(--fd);font-size:clamp(10px,.8vw,13px);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--w);line-height:1}
.hd__cta-jp{font-family:var(--fj);font-size:clamp(8px,.6vw,10px);font-weight:300;color:rgba(255,255,255,.4);line-height:1}
.hd__cta-arr{position:relative;z-index:1;width:clamp(18px,1.5vw,22px);height:clamp(18px,1.5vw,22px);display:grid;place-items:center;transition:transform .35s var(--smooth)}
.hd__cta:hover .hd__cta-arr{transform:translateX(3px)}
.hd__cta-arr svg{width:100%;height:auto;fill:none;stroke:var(--w);stroke-width:1.8}

/* Burger — mobile */
.hd__burger{display:none;width:28px;height:18px;position:relative;cursor:pointer;z-index:210;margin-left:auto}
.hd__burger span{position:absolute;left:0;width:100%;height:1.5px;background:var(--k);transition:all .4s var(--smooth)}
.hd__burger span:nth-child(1){top:0}
.hd__burger span:nth-child(2){top:50%;transform:translateY(-50%);width:70%;right:0;left:auto}
.hd__burger span:nth-child(3){bottom:0}
.hd__burger.--open span:nth-child(1){top:50%;transform:translateY(-50%) rotate(45deg);width:100%}
.hd__burger.--open span:nth-child(2){opacity:0}
.hd__burger.--open span:nth-child(3){top:50%;transform:translateY(-50%) rotate(-45deg);width:100%}

@media(max-width:767px){
  .hd__nav,.hd__sep,.hd__cta{display:none}
  .hd__burger{display:block}
  .hd__inner{height:56px;padding:0 clamp(16px,4vw,24px)}
  .hd__logo-sub{display:none}
}

/* ── SPナビ ── */
.sp-nav{
  position:fixed;inset:0;z-index:199;
  background:rgba(238,242,250,.97);
  backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:clamp(8px,2vh,14px);
  opacity:0;visibility:hidden;
  transition:all .5s var(--smooth);
}
.sp-nav.--open{opacity:1;visibility:visible}
.sp-nav__link{
  font-family:var(--fd);font-weight:800;
  font-size:clamp(28px,7vw,40px);
  letter-spacing:.02em;color:var(--k);text-decoration:none;
  padding:clamp(6px,1vh,10px) 0;
  opacity:0;transform:translateY(20px);
  transition:opacity .5s var(--smooth),transform .5s var(--spring);
}
.sp-nav.--open .sp-nav__link{opacity:1;transform:none}
.sp-nav.--open .sp-nav__link:nth-child(1){transition-delay:.06s}
.sp-nav.--open .sp-nav__link:nth-child(2){transition-delay:.12s}
.sp-nav.--open .sp-nav__link:nth-child(3){transition-delay:.18s}
.sp-nav.--open .sp-nav__link:nth-child(4){transition-delay:.24s}
.sp-nav.--open .sp-nav__link:nth-child(5){transition-delay:.30s}
.sp-nav__label{
  display:block;
  font-family:var(--fm);font-size:clamp(7px,1.8vw,9px);
  letter-spacing:.3em;text-transform:uppercase;
  color:var(--k6);margin-top:2px;
}
.sp-nav__sep{
  width:clamp(28px,8vw,44px);height:1px;
  background:var(--k7);margin:clamp(8px,1.5vh,14px) 0;
}
.sp-nav__cta{
  display:inline-flex;align-items:center;gap:8px;
  padding:clamp(12px,1.5vh,16px) clamp(28px,7vw,44px);
  background:var(--k);
  font-family:var(--fd);font-size:clamp(10px,2.8vw,13px);font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;
  color:var(--w);text-decoration:none;
  margin-top:clamp(8px,1.5vh,14px);
  opacity:0;transform:translateY(20px);
  transition:opacity .5s .36s var(--smooth),transform .5s .36s var(--spring),background .3s;
}
.sp-nav.--open .sp-nav__cta{opacity:1;transform:none}
.sp-nav__cta svg{width:12px;height:6px;fill:none;stroke:currentColor;stroke-width:1.6}
