.k-footer{
  background: linear-gradient(
    to bottom,
    #1a1a1a 0%,
    #0b0b0b 40%,
    #000000 100%
  );
  color:#eaeaea;
  padding:56px 0 28px;
}

.k-footer__inner{
  max-width:1100px;
  margin:0 auto;
  padding:0 20px;
}

.k-footer__top{
  display:flex;
  gap:40px;
  align-items:flex-start;
  justify-content:space-between;
  padding-bottom:28px;
  border-bottom:1px solid rgba(255,255,255,.12);
}

.k-footer__logo{
  display:inline-block;
  font-size:24px;
  font-weight:700;
  letter-spacing:.02em;
  color:#fff;
  text-decoration:none;
}

.k-footer__tagline{
  margin:10px 0 0;
  font-size:13px;
  color:rgba(255,255,255,.7);
}

.k-footer__nav{
  display:flex;
  flex-wrap:wrap;
  gap:14px 22px;
  justify-content:flex-end;
}

.k-footer__nav a,
.k-footer__snsLinks a{
  color:rgba(255,255,255,.85);
  text-decoration:none;
  font-size:13px;
}

.k-footer__nav a:hover,
.k-footer__snsLinks a:hover{
  color:#fff;
  text-decoration:underline;
}

.k-footer__mid{
  display:grid;
  grid-template-columns: 1.3fr 1fr;
  gap:28px;
  padding:28px 0;
}

.k-footer__infoTitle{
  margin:0 0 10px;
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(255,255,255,.7);
}

.k-footer__infoText{
  margin:0;
  font-size:13px;
  line-height:1.8;
  color:rgba(255,255,255,.85);
}

.k-footer__snsLinks{
  display:flex;
  flex-wrap:wrap;
  gap:10px 16px;
}

.k-footer__bottom{
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.12);
  text-align:center;
  color:rgba(255,255,255,.65);
  font-size:12px;
}

/* SP */
@media (max-width: 768px){
  .k-footer__top{ flex-direction:column; }
  .k-footer__nav{ justify-content:flex-start; }
  .k-footer__mid{ grid-template-columns:1fr; }
}
