.site-footer {
  border-top: var(--stroke-1) solid var(--semantic-border-hover);
  background: var(--semantic-border);
  color: var(--neutral-tx3-sub);
}

.site-footer__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 26px;
  width: 100%;
  padding: 40px 14px;
  text-align: center;
}

.site-footer a { color: inherit; text-decoration: none; }
.site-footer a:hover, .site-footer a:focus-visible { text-decoration: underline; }

.site-footer__social {
  display: flex;
  align-items: center;
  gap: 20px;
}

.site-footer__social-link {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: none;
  width: 48px;
  height: 48px;
  border-radius: var(--radius-full);
  background: var(--semantic-bg);
}

.site-footer__social-link--icon { background: transparent; }
.site-footer__social-icon { display: block; width: 100%; }
.site-footer__social-icon--youtube { width: 28px; }
.site-footer__social-icon--instagram { width: 25px; }

.site-footer__guide {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--spacing-lg);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-20);
}

.site-footer__divider {
  width: 100%;
  height: var(--stroke-1);
  margin: 0;
  border: 0;
  background: var(--semantic-border-hover);
}

.site-footer__policy,
.site-footer__company-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  column-gap: 10px;
  row-gap: 0;
  width: 100%;
}

.site-footer__policy {
  font-size: var(--font-size-base);
  line-height: var(--line-height-20);
}

.site-footer__policy a,
.site-footer__company-row span {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.site-footer__policy a:not(:last-child)::after,
.site-footer__company-row span:not(:last-child)::after {
  display: block;
  width: var(--stroke-1);
  height: 12px;
  background: var(--semantic-input-border);
  content: '';
}

.site-footer__policy-strong { font-weight: var(--font-weight-bold); }

.site-footer__company {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--spacing-micro);
  width: 100%;
  font-size: var(--font-size-sm);
  font-style: normal;
  line-height: var(--line-height-16);
}

.site-footer__notice {
  max-width: 900px;
  font-size: var(--font-size-xs);
  line-height: var(--line-height-14);
}

.site-footer__notice p,
.site-footer__copyright { margin: 0; }
.site-footer__copyright { font-size: var(--font-size-xs); line-height: var(--line-height-14); }

@media (max-width: 767px) {
  .site-footer__policy,
  .site-footer__company-row { row-gap: var(--spacing-micro); }
}
