@charset "UTF-8";

/* =========================
   Footer（デザイン寄せ）
   ========================= */
.site-footer{
  background: linear-gradient(180deg, #1c1c1c, #121212);
  color: rgba(255,255,255,.86);
}

.footer-inner{
  padding: clamp(40px, 6vw, 64px) 0 clamp(22px, 4vw, 34px);
  display:grid;
  grid-template-columns: 1fr;
  gap: 28px;
  align-items:start;
}

.footer-logoText{
  margin: 0 0 6px;
  font-size: 2.4rem;
  font-weight: 900;
  letter-spacing: .01em;
}

.footer-tagline{
  margin: 0 0 18px;
  font-size: 1.1rem;
  letter-spacing: .18em;
  opacity: .75;
}

.footer-company{
  margin: 0 0 10px;
  font-weight: 700;
  font-size: 1.3rem;
  opacity: .92;
}
.footer-address{
  margin: 0 0 16px;
  font-size: 1.3rem;
  line-height: 1.8;
  opacity: .78;
}

.footer-phoneLabel{
  margin: 0 0 6px;
  font-size: 1.0rem;
  letter-spacing: .14em;
  opacity: .6;
}

.footer-tel{
  display:inline-block;
  text-decoration:none;
  font-size: 2.0rem;
  font-weight: 900;
  letter-spacing: .01em;
  color: rgba(255,255,255,.92);
}
.footer-tel:hover{ opacity: .9; text-decoration: underline; }

.footer-navTitle{
  margin: 0 0 14px;
  font-weight: 800;
  letter-spacing: .14em;
  font-size: 1.2rem;
  opacity: .9;
}
.footer-navMark{
  color: #2f67ad;
  margin-right: 8px;
}

.footer-menu{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px 18px;
}
.footer-menu a{
  text-decoration:none;
  color: rgba(255,255,255,.86);
  opacity: .9;
  font-size: 1.3rem;
}
.footer-menu a:hover{
  opacity: 1;
  text-decoration: underline;
}

.footer-bottom{
  border-top: 1px solid rgba(255,255,255,.08);
  padding: 14px 0;
}

.footer-bottomInner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 12px;
  color: rgba(255,255,255,.55);
  font-size: 1.1rem;
  letter-spacing: .08em;
}
.footer-bottomInner small{
  font-size: 1.1rem;
}

.footer-since{
  text-align:right;
}
.footer-since span{
  margin-left: 10px;
  opacity: .85;
}

@media (min-width: 860px){
  .footer-inner{
    grid-template-columns: 1.1fr 1fr;
    gap: 40px;
  }
}

@media (max-width: 520px){
  .footer-menu{
    grid-template-columns: 1fr;
  }
  .footer-bottomInner{
    flex-direction: column;
    align-items:flex-start;
  }
  .footer-since{
    text-align:left;
  }
}
