@charset "UTF-8";


footer {
  position: relative;
  z-index: 1;
}

footer .containers {
  width: 90%;
  max-width: 1400px;
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  padding: 150px 0 80px;
  position: relative;
}

footer .icon_back {
  width: 8px;
  height: 8px;
  background-image: url('../img/icon_back_top.svg');
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  margin: 0 auto;
}

footer .back {
  width: 200px;
  height: 200px;
  border-radius: 50%;
  background-color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: absolute;
  bottom: 80px;
  left: 0;
}

footer .text_back {
  font-size: 12px;
  margin: 20px 0 0 0;
}

footer .logo_container {
  width: 330px;
  margin: 12px auto 0 0;
}

footer .logo {
  width: 200px;
}

footer .logo img {
  width: 100%;
}

footer .official_name {
  font-size: 18px;
  margin: 36px 0 0 0;
}

footer .address {
  font-size: 16px;
  line-height: 22px;
  margin: 16px 0 0 0;
}

footer .map {
  font-size: 17px;
  width: fit-content;
  margin: 24px 0 0 0;
  background-image: url(../img/icon_external_link.svg);
  background-repeat: no-repeat;
  background-size: 17px;
  padding: 0 22px 0 0;
  background-position: right 1.5px;
}

footer .main_info {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
}

footer .each_menu {
  margin: 40px 0 0 0;
}

footer .each_menu:first-child {
  margin: 0;
}

footer .each_menu a {
  font-size: 22px;
  display: flex;
  align-items: flex-end;
}

footer .each_menu:last-child a {
  background-image: url(../img/icon_external_link.svg);
  background-repeat: no-repeat;
  background-size: 19px;
  padding: 0 28px 0 0;
  background-position: right 4px;
}

footer .categories_mag {
  border-left: solid 1px #ddd;
  margin: 16px 0 0 0;
  padding: 0 0 0 16px;
}

footer .each_category_mag {
  margin: 16px 0 0 0;
}

footer .each_category_mag:first-child {
  margin: 0;
}

footer .each_category_mag a {
  font-size: 15px;
}

footer .menu_container {
  margin: 0 auto 0 0;
}

footer .mag_container {
  margin: 0 auto 0 0;
}

footer .submenu_container {
  display: flex;
  justify-content: space-between;
  border-top: solid 1px #2f2f2f;
  padding: 32px 0 0 0;
}

footer .submenu {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

footer .submenu li {
}

@media only screen and (max-width: 767px) {
  footer .submenu li {
    width: 100%;
  }
}

footer .each_submenu {
  font-size: 13px;
  margin: 0 24px 0 0;
}

footer .submenu li a {
  background-image: url(../img/icon_external_link.svg);
  background-repeat: no-repeat;
  background-size: 14px;
  padding: 0 20px 0 0;
  background-position: right 2px;
  white-space: nowrap;
}

@media only screen and (max-width: 767px) {
  footer .submenu li a {
    white-space: wrap;
  }
}

footer .copyright {
  font-size: 13px;
}

footer .copyright_sp {
  display: none;
}

footer .info_containers {
  display: grid;
  gap: 56px;
  width: calc(96% - 330px);
}

footer .sns_container {
  display: flex;
  align-items: center;
  gap: 10px;
}

footer .wrap_sns_icon {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

footer .external_link {
  width: 16px;
  height: 16px;
  background-image: url('../img/icon_external_link.svg');
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  margin: 4px 0 0 6px;
}

footer .break_on {
  display: none;
}

footer .banner {
  border-radius: 20px;
  overflow: hidden;
}



footer .logo {
  width: 180px;
}

footer .break_on {
  display: block;
}

footer .logo_container {
  width: 180px;
}

footer .info_containers {
  width: calc(95% - 180px);
}

footer .back {
  width: 180px;
  height: 180px;
}



footer .break_on {
  display: none;
}

footer .logo_container {
  width: 100%;
  margin: 0;
}

footer .containers {
  width: 86%;
  padding: 160px 0 64px;
  flex-direction: column;
  gap: 40px;
}

footer .back {
  right: 0;
  left: inherit;
  width: 110px;
  height: 110px;
  bottom: 140px;
  font-size: 10px;
}

footer .text_back {
  margin: 4px 0 0 0;
  scale: .8;
}

footer .info_containers {
  width: 100%;
}



footer {
  margin-left: 0;
}

footer .main_info {
  flex-wrap: wrap;
  margin: 0 0 0 4px;
}

footer .mag_container {
  width: calc((100% - 56px)/2);
}

footer .sns_container {
  width: 100%;
  display: flex;
  justify-content: flex-end;
  margin: 24px 0 0 0;
}

footer .each_menu {
  margin: 32px 0 0 0;
}

footer .each_menu a {
  font-size: 20px;
}

footer .back {
  display: none;
}

footer .banner {
  border-radius: 10px;
  border: 1px solid #ffd1ee;
}

footer .each_menu:last-child a {
  background-size: 17px;
}



footer .containers {
  width: calc(100% - 56px);
  padding: 60px 0 60px;
}

footer .info_containers {
  gap: 32px;
}

footer .logo {
  width: 220px;
}

footer .official_name {
  font-size: 16px;
  margin: 24px 0 0 0;
}

footer .menu_container {
  width: fit-content;
}

footer .mag_container {
  width: fit-content;
}

footer .each_menu {
  margin: 24px 0 0 0;
}

footer .each_menu a {
  font-size: 16px;
}

footer .map {
  font-size: 15px;
  background-size: 15px;
  background-position: right 1.5px;
}

footer .each_category_mag a {
  font-size: 12px;
}

footer .copyright {
  display: none;
}

footer .copyright_sp {
  display: block;
  font-size: 10px;
}

footer .address {
  font-size: 12px;
  line-height: 20px;
  margin: 8px 0 0 0;
}

footer .wrap_sns_icon {
  width: 40px;
  height: 40px;
}

footer .each_category_mag {
  margin: 10px 0 0 0;
}

footer .sns_container {
  margin: 32px 0 0 0;
}

footer .sns_container>span {
  font-size: 12px;
}

footer .each_submenu {
  font-size: 12px;
}

footer .back {
  display: flex;
  width: 80px;
  height: 80px;
  bottom: 50px;
}

footer .each_menu:last-child a {
  background-size: 15px;
  padding: 0 24px 0 0;
  background-position: right 2px;
}

footer .submenu li:nth-of-type(2) a {
  background-size: 14px;
  background-position: right 1px;
}