footer {
  /*background: rgba(225, 225, 225, .5);*/
  width: 100%;
}

footer .link_box {
  background: rgba(0, 78, 162, 1);
  padding: 60px 0;
}

footer .link_box .wrap {
  width: 66.015625%;
  margin: auto;
}

footer .link_box .link_item {
  width: 48%;
  background: var(--white);
  padding: 30px 35px;
  border-radius: 20px;
}

footer .link_box .link_item .jp_ttl {
  margin-top: 25px;
}

footer .link_box .link_item .btn_wrap {
  margin-top: 20px;
}

footer .link_box .link_item .btn_wrap .item_txt {
  width: calc(100% - 70px);
}

footer .link_box .link_item .btn_wrap .circle {
  width: 50px;
  height: 50px;
  background: var(--blue);
  border-radius: 50%;
  position: relative;
}
footer .link_box .link_item .btn_wrap .circle::after {
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  background: var(--white);
  transition: all 0.4s;
  border-radius: 50%;
  border: 1px solid #404f79;
}
footer .link_box .link_item:hover .btn_wrap .circle::after {
  width: 100%;
  height: 100%;
}

footer .link_box .link_item .btn_wrap .circle .arrow {
  width: 26%;
  height: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  transition: all 0.2s;
  z-index: 2;
}
footer .link_box .link_item:hover .btn_wrap .circle .arrow {
  opacity: 0;
  width: 0;
}

footer .link_box .link_item .btn_wrap .circle .arrow.arrow_blue {
  opacity: 0;
}
footer .link_box .link_item:hover .btn_wrap .circle .arrow.arrow_blue {
  opacity: 1;
  width: 13px;
}

footer .nav_box {
    background: rgba(225, 225, 225, 0.5);
    padding-top: 50px;
    padding-bottom: 20px;
}

footer .nav_box .wrap {
    width: 80%;
    margin: auto;
    max-width: 1366px;
}

footer .nav_box .top {
    width: 50%;
    margin: auto;
}

footer .nav_box .top .top_link {
    width: fit-content;
}

footer .nav_box .icon_link {
    margin: auto;
    margin-top: 45px;
    display: block;
    text-align: center;
    width: 11vw;
    max-width: 180px;
    min-width: 150px;
}

footer .nav_box .small_link {
    margin-top: 30px;
    margin-bottom: 20px;
}

footer .nav_box .small_link a {
    display: block;
    margin: 0 25px;
}

/* responsive */
@media screen and (max-width: 1024px) {
    footer .link_box .wrap {
        width: 90%;
    }

    footer .nav_box .wrap {
        width: 90%;
    }
}

@media screen and (max-width: 768px) {
    footer .link_box {
        padding: 40px 0;
    }

    footer .link_box .wrap {
        flex-direction: column;
    }

    footer .link_box .link_item {
        width: 100%;
        padding: 30px;
        border-radius: 20px;
    }

    footer .link_box .link_item:not(:first-of-type) {
        margin-top: 15px;
    }

    footer .link_box .link_item .btn_wrap .circle {
        width: 40px;
        height: 40px;
    }

    footer .nav_box .top {
        width: 75%;
    }
    
    footer .nav_box .small_link a {
    margin: 0 5px;
}

}

@media screen and (max-width: 480px) {
    footer .nav_box .top {
        width: 100%;
    }
}