@charset "utf-8";
/* -----------------------------------------------------------------
 site_footer
----------------------------------------------------------------- */
.site_footer {
  margin-top: var(--margin_size_100);
}
@media screen and (max-width: 767px) {
}
@media print, screen and (min-width: 768px) {
}
@media (hover: hover) and (pointer: fine) {
}

/* -----------------------------------------------------------------
 site_footer_top
----------------------------------------------------------------- */
.site_footer_top img {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  border-radius: var(--margin_size_60) var(--margin_size_60) 0px 0px;
}

/* -----------------------------------------------------------------
 site_footer_flex
----------------------------------------------------------------- */
.site_footer_flex {
  display: flex;
  justify-content: space-between;
  gap:3rem;
  margin-top: var(--margin_size_100);
}
.site_footer_flex .address {
  margin-top: 20px;
  line-height: 1.5;
  font-weight: 700;
}
.site_footer_flex .sns {
  display: flex;
  gap:1.5rem;
  margin-top: 20px;
}
.site_footer_flex .sns .item {
  width: 2rem;
  height: 2rem;
}
@media screen and (max-width: 767px) {
  .site_footer_flex {
    flex-direction: column;
    align-items: center;
  }
  .site_footer_flex .address {
    text-align: center;
  }
  .site_footer_flex .sns {
    justify-content: center;
  }
}
@media print, screen and (min-width: 768px) {
  .site_footer_flex .sns {
    gap:1rem;
  }
  .site_footer_flex .sns .item {
    width: 1.88rem;
    height: 1.88rem;
  }
}

/* -----------------------------------------------------------------
 site_footer_info
----------------------------------------------------------------- */
.site_footer_info {
}
@media screen and (max-width: 767px) {
  .site_footer_flex {
  }
}

@media print, screen and (min-width: 768px) {
  .site_footer_flex {
  }
}


/* -----------------------------------------------------------------
 site_footer_logo
----------------------------------------------------------------- */
.site_footer_logo {
  display: flex;
  align-items: flex-end;
}
.site_footer_logo .text {
  margin-left: .7em;
  white-space: nowrap;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .site_footer_logo .logo {
    width: min(39.5vw,296px);
  }
  .site_footer_logo .text {
    font-size: .92rem;
  }
}
@media print, screen and (min-width: 768px) {
  .site_footer_logo .logo {
    width: min(319px,18vw);
  }
  .site_footer_logo .text {
    font-size: min(1rem, 1vw);
  }
}

/* -----------------------------------------------------------------
 site_footer_global_nav
----------------------------------------------------------------- */
.site_footer_global_nav {
  display: flex;
}
.site_footer_global_nav .nav_list {
  display: flex;
  flex-direction: column;
  gap:1.3rem;
  padding: 0 min(65px,3vw);
  font-weight: 700;
}
.site_footer_global_nav .nav_list + .nav_list {
  border-left: #9b9a98 1px solid;
}

@media screen and (max-width: 767px) {
.site_footer_global_nav {
  display: none;
}
}
@media print, screen and (min-width: 768px) {
}


/* -----------------------------------------------------------------
 site_footer_bottom 
----------------------------------------------------------------- */
.site_footer_bottom {
  display: flex;
  flex-direction: column;
  margin-top: var(--margin_size_20);
}
.site_footer_bottom .site_footer_copyright {
  font-weight: 700;
}
.site_footer_bottom .link {
  display: inline-flex;
  align-items: center;
  gap:.6em;
  font-weight: 700;
}
.site_footer_bottom .link .arrow {
  width: .8em;
}
@media screen and (max-width: 767px) {
  .site_footer_bottom {
    align-items: center;
    margin-top: 20px;
    padding-bottom: 20px;
  }
  .site_footer_bottom .site_footer_copyright {
    margin-top: 45px;
    font-size: .83rem;
  }
  .site_footer_bottom .link {
    font-size: .83rem;
  }
}
@media print, screen and (min-width: 768px) {
  .site_footer_bottom {
    flex-direction: column-reverse;
    padding-bottom: 47px;
  }
  .site_footer_bottom .site_footer_copyright {
    font-size: .75rem;
  }
  .site_footer_bottom .link {
    align-self: flex-end;
    font-size: .875rem;
  }
}

