@charset "UTF-8";
/*
 * Site footer.
 * - .hestia-footer: the whole footer block, root <footer> tag. Rendered by
 *   inc/views/main/class-hestia-footer.php (Hestia_Footer::the_footer_content(),
 *   ::render_footer_sidebars(), ::bottom_footer_content()).
 * Figma: https://www.figma.com/design/h3qpzbT1QgNiiTu4iQrk5p/?node-id=183-3729
 * Compiled to assets/css/footer.css and enqueued by hestia_footer_css()
 * in functions.php.
 *
 * The legacy `footer.footer.footer-black a { color: #fff; opacity: .86 }`
 * rule in style.css (old dark-footer Customizer option, currently active on
 * this site) ties on specificity with a plain `.hestia-footer__… a` rule —
 * on a tie the later-loaded stylesheet wins, which isn't reliable, so this
 * reset forces black text with !important to guarantee it wins regardless
 * of load order or which footer-color Customizer option is active. Elements
 * that need Figma's 86% opacity (or a different link color, e.g. the
 * Service/Company/Blog/Promise labels) still set that explicitly on their
 * own `<span>`, which is more specific than this `a` reset and wins normally.
 */
footer.hestia-footer .hestia-footer__container a {
  color: #000 !important;
  text-decoration: none;
}

footer.hestia-footer {
  /* Figmaは白背景固定のデザインのため、旧「黒/白フッター」カスタマイザー設定
     (footer-black { background:#323437 }) を上書きして常に白背景にする */
  background: #fff !important;
}

.hestia-footer {
  border-top: 1px solid #000;
}
.hestia-footer__container {
  max-width: 1136px;
  margin: 0 auto;
  padding: 24px 24px 0;
}
.hestia-footer__nav {
  display: flex;
  align-items: stretch;
  gap: 16px;
  padding: 24px 0;
}
@media (max-width: 767px) {
  .hestia-footer__nav {
    flex-direction: column;
    gap: 24px;
  }
}
.hestia-footer__nav-col {
  flex: 1 1 0%;
  min-width: 0;
  padding: 0 15px;
  border-left: 1px solid #d3dfe4;
}
.hestia-footer__nav-col:first-child {
  border-left: none;
}
@media (max-width: 767px) {
  .hestia-footer__nav-col:first-child {
    border-left: 1px solid #d3dfe4;
  }
}
.hestia-footer__nav-heading {
  display: flex;
  flex-direction: column;
  padding-left: 8px;
  opacity: 0.86;
  letter-spacing: 0.64px;
}
.hestia-footer__nav-heading-ja {
  font-family: kozuka-gothic-pro, sans-serif;
  font-weight: 700;
  font-size: 18px;
  line-height: 24px;
  color: #000;
}
.hestia-footer__nav-heading-en {
  font-family: neue-haas-unica, sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 24px;
}
.hestia-footer__nav-heading-en--service {
  color: #66c8ff;
}
.hestia-footer__nav-heading-en--company {
  color: #0b5ae4;
}
.hestia-footer__nav-heading-en--blog {
  color: #bc66ff;
}
.hestia-footer__nav-heading-en--promise {
  color: #ff6681;
}
.hestia-footer__nav-list {
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 9px 0 0;
  list-style: none;
}
.hestia-footer__nav-list li {
  padding-left: 8px;
  opacity: 0.86;
}
.hestia-footer__nav-list a {
  display: block;
  font-family: kozuka-gothic-pro, sans-serif;
  font-weight: 700;
  font-size: 14px;
  line-height: 24px;
  letter-spacing: 0.64px;
  color: #000;
}
.hestia-footer__nav-promise {
  display: block;
  margin-top: 16px;
  padding-left: 8px;
  opacity: 0.86;
}
.hestia-footer__group {
  padding: 10px 0;
}
.hestia-footer__group-title {
  margin: 0 0 10px;
  text-align: center;
  letter-spacing: 0.64px;
  font-family: kozuka-gothic-pro, sans-serif;
  font-weight: 700;
  font-size: 18px;
  line-height: 32px;
  color: #222;
}
.hestia-footer__group-title span {
  font-family: neue-haas-unica, sans-serif;
  font-weight: 700;
  font-size: 16px;
  color: #51a2d2;
}
.hestia-footer__group-divider {
  border-top: 1px solid #d3dfe4;
}
.hestia-footer__group-list {
  display: flex;
  gap: 16px;
  padding-top: 10px;
  color: #222;
  font-size: 14px;
  letter-spacing: 0.64px;
}
@media (max-width: 767px) {
  .hestia-footer__group-list {
    flex-direction: column;
    gap: 0;
  }
}
.hestia-footer__group-col {
  display: flex;
  flex: 1 1 0%;
  flex-direction: column;
  min-width: 0;
}
.hestia-footer__group-col a {
  font-family: kozuka-gothic-pro, sans-serif;
  font-weight: 700;
  line-height: 32px;
  opacity: 0.86;
}
.hestia-footer__group-col a.is-latin {
  font-family: neue-haas-unica, sans-serif;
  font-weight: 500;
}
.hestia-footer__bottom {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}
@media (max-width: 767px) {
  .hestia-footer__bottom {
    flex-direction: column;
  }
}
.hestia-footer__brand {
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding: 29px 30px 14px 0;
  opacity: 0.86;
}
.hestia-footer__brand-link {
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.hestia-footer__brand-logo {
  display: block;
  width: 224px;
  max-width: 100%;
  height: auto;
}
.hestia-footer__brand-copyright {
  font-family: neue-haas-unica, sans-serif;
  font-weight: 500;
  font-size: 12px;
  line-height: 12px;
  letter-spacing: 0.64px;
  color: #000;
}
.hestia-footer__brand-copyright--mobile {
  display: none;
}
.hestia-footer__marks {
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 30px 15px 0;
}
.hestia-footer__marks-airtrip {
  display: block;
  height: 68px;
  width: auto;
}
.hestia-footer__marks-jpx {
  display: block;
  height: 55px;
  width: auto;
  opacity: 0.86;
}
.hestia-footer__menu {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 14px;
  margin: 0;
  padding: 32px 10px 42px 15px;
  list-style: none;
  font-size: 14px;
  letter-spacing: 0.56px;
}
.hestia-footer__menu li {
  opacity: 0.86;
}
.hestia-footer__menu a {
  font-family: kozuka-gothic-pro, sans-serif;
  font-weight: 700;
  line-height: 24px;
  color: #000;
}
@media (max-width: 575px) {
  .hestia-footer__brand-copyright--mobile {
    display: block;
    padding-bottom: 24px;
  }
}

/*# sourceMappingURL=footer.css.map */
