.cm-global-footer{
  --cm-footer-bg:#050505;
  --cm-footer-ink:#f5f1e8;
  --cm-footer-muted:rgba(245,241,232,.62);
  --cm-footer-soft:rgba(245,241,232,.38);
  --cm-footer-line:rgba(245,241,232,.16);
  --cm-footer-line-strong:rgba(245,241,232,.26);
  --cm-footer-hover:#ffffff;
  background:
    linear-gradient(90deg,rgba(245,241,232,.045) 1px,transparent 1px) 0 0/72px 72px,
    linear-gradient(180deg,#050505 0%,#090908 100%);
  color:var(--cm-footer-ink);
  margin-top:96px;
  overflow:hidden;
  padding:clamp(62px,8vw,128px) clamp(20px,5vw,72px) 28px;
  position:relative;
}
.cm-global-footer,
.cm-global-footer *{box-sizing:border-box;}
.cm-global-footer a{color:inherit;text-decoration:none;}
.cm-global-footer__watermark{
  bottom:-.2em;
  color:rgba(245,241,232,.055);
  display:none;
  font-family:"Barlow Condensed","Inter","Noto Sans JP",sans-serif;
  font-size:clamp(96px,20vw,360px);
  font-weight:900;
  left:clamp(12px,3vw,48px);
  letter-spacing:-.07em;
  line-height:.78;
  pointer-events:none;
  position:absolute;
  right:-.08em;
  text-transform:lowercase;
  white-space:nowrap;
  z-index:0;
}
.cm-global-footer__inner{
  display:grid;
  gap:clamp(42px,6vw,86px);
  grid-template-columns:1fr;
  margin:0 auto;
  max-width:1360px;
  position:relative;
  z-index:1;
}
.cm-global-footer__brand{
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  min-height:300px;
  order:2;
}
.cm-global-footer__kicker{
  color:var(--cm-footer-muted);
  font-family:"Barlow Condensed","Inter","Noto Sans JP",sans-serif;
  font-size:12px;
  font-weight:800;
  letter-spacing:.22em;
  text-transform:uppercase;
}
.cm-global-footer__logo{
  font-family:"Barlow Condensed","Inter","Noto Sans JP",sans-serif;
  font-size:clamp(64px,12vw,180px);
  font-weight:900;
  letter-spacing:-.07em;
  line-height:.72;
  margin:auto 0 22px;
  max-width:none;
  overflow-wrap:normal;
  white-space:nowrap;
  word-break:keep-all;
  text-transform:none;
}
.cm-global-footer__desc{
  color:var(--cm-footer-muted);
  font-size:clamp(14px,1.05vw,16px);
  letter-spacing:.04em;
  line-height:2;
  margin:0;
  max-width:560px;
}
.cm-global-footer__status{
  align-items:center;
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:auto;
  padding-top:42px;
}
.cm-global-footer__pill{
  border:1px solid var(--cm-footer-line);
  border-radius:999px;
  color:var(--cm-footer-muted);
  display:inline-flex;
  font-family:"Barlow Condensed","Inter","Noto Sans JP",sans-serif;
  font-size:12px;
  font-weight:800;
  letter-spacing:.14em;
  padding:10px 14px;
  text-transform:uppercase;
  transition:color .18s ease,border-color .18s ease,background .18s ease,transform .18s ease;
}
.cm-global-footer__pill:hover,
.cm-global-footer__pill:focus-visible{
  background:rgba(245,241,232,.08);
  border-color:var(--cm-footer-hover);
  color:var(--cm-footer-hover);
  outline:none;
  transform:translateY(-1px);
}
.cm-global-footer__nav{
  border-top:1px solid var(--cm-footer-line-strong);
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  order:1;
  width:100%;
}
.cm-global-footer__col{
  border-bottom:1px solid var(--cm-footer-line-strong);
  min-height:300px;
  padding:32px clamp(18px,2.2vw,34px) 38px 0;
  min-width:0;
}
.cm-global-footer__col + .cm-global-footer__col{
  border-left:1px solid var(--cm-footer-line-strong);
  padding-left:clamp(18px,2.2vw,34px);
}
.cm-global-footer__title{
  color:var(--cm-footer-soft);
  font-family:"Barlow Condensed","Inter","Noto Sans JP",sans-serif;
  font-size:13px;
  font-weight:900;
  letter-spacing:.2em;
  margin:0 0 28px;
  text-transform:uppercase;
}
.cm-global-footer__list{
  display:flex;
  flex-direction:column;
  gap:0;
  list-style:none;
  margin:0;
  padding:0;
}
.cm-global-footer__link{
  align-items:start;
  border-top:1px solid rgba(245,241,232,.1);
  display:block;
  min-height:72px;
  padding:18px 30px 18px 0;
  position:relative;
  transition:color .18s ease,opacity .18s ease,transform .18s ease;
}
.cm-global-footer__link::after{
  color:rgba(245,241,232,.32);
  content:"↗";
  font-size:16px;
  line-height:1;
  opacity:0;
  position:absolute;
  right:0;
  top:20px;
  transform:translate(-8px,8px);
  transition:opacity .18s ease,transform .18s ease,color .18s ease;
}
.cm-global-footer__link:hover,
.cm-global-footer__link:focus-visible{
  color:var(--cm-footer-hover);
  outline:none;
  transform:translateX(4px);
}
.cm-global-footer__link:hover::after,
.cm-global-footer__link:focus-visible::after{
  color:var(--cm-footer-hover);
  opacity:1;
  transform:translate(0,0);
}
.cm-global-footer__link:hover .cm-global-footer__note,
.cm-global-footer__link:focus-visible .cm-global-footer__note{
  color:var(--cm-footer-hover);
}
.cm-global-footer__label{
  display:block;
  font-family:"Barlow Condensed","Inter","Noto Sans JP",sans-serif;
  font-size:clamp(24px,2.2vw,36px);
  font-weight:900;
  letter-spacing:.03em;
  line-height:1;
  word-break:normal;
  overflow-wrap:anywhere;
  text-transform:uppercase;
}
.cm-global-footer__note{
  color:var(--cm-footer-muted);
  display:block;
  font-size:12px;
  letter-spacing:.08em;
  line-height:1.5;
  margin-top:.35rem;
  transition:color .18s ease;
  white-space:normal;
}
.cm-global-footer__bottom{
  align-items:center;
  border-top:1px solid var(--cm-footer-line-strong);
  color:var(--cm-footer-muted);
  display:flex;
  flex-wrap:wrap;
  font-size:11px;
  gap:10px 18px;
  justify-content:space-between;
  letter-spacing:.04em;
  line-height:1.8;
  margin:44px auto 0;
  max-width:1360px;
  padding-top:22px;
  position:relative;
  z-index:1;
}
.cm-global-footer__legal{
  display:flex;
  flex-wrap:wrap;
  gap:18px;
}
.cm-global-footer__legal a:hover,
.cm-global-footer__legal a:focus-visible{
  color:var(--cm-footer-hover);
  outline:none;
}
@media(max-width:980px){
  .cm-global-footer__inner{grid-template-columns:1fr;}
  .cm-global-footer__brand{min-height:auto;}
  .cm-global-footer__nav{grid-template-columns:repeat(3,minmax(0,1fr));}
  .cm-global-footer__logo{font-size:clamp(54px,13vw,150px);margin-top:18px;}
}
@media(max-width:860px){
  .cm-global-footer__nav{grid-template-columns:1fr;}
}
@media(max-width:760px){
  .cm-global-footer{margin-top:64px;padding:42px 18px 24px;}
  .cm-global-footer__watermark{
    bottom:12px;
    font-size:clamp(58px,22vw,120px);
    left:18px;
  }
  .cm-global-footer__nav{grid-template-columns:1fr;}
  .cm-global-footer__col,
  .cm-global-footer__col + .cm-global-footer__col{
    border-left:0;
    min-height:auto;
    padding:24px 0;
  }
  .cm-global-footer__link{grid-template-columns:1fr;min-height:auto;}
  .cm-global-footer__link::after{display:none;}
  .cm-global-footer__link:hover,
  .cm-global-footer__link:focus-visible{transform:none;}
  .cm-global-footer__note{white-space:normal;}
}
