footer {
  background: #181818;
  padding: 70px 0 210px;
}
@media screen and (max-width: 768px) {
  footer {
    padding: 50px 0 80px;
  }
  .container.footercontainer {
    width: 76.5vw;
    margin: 0 auto;
  }
}
.footer-logo {
  width: 236px;
  margin-bottom: 19px;
}
.footer-up {
	align-items: flex-end;
  padding-bottom: 70px;
}
@media screen and (max-width: 768px) {
  .footer-logo {
    margin-bottom: 30px;
  }
  .footer-up {
    flex-wrap: wrap;
    padding-bottom: 40px;
  }
  .footer-up .left {
    width: 100%;
  }
}
address {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 15px;
  letter-spacing: 0.02em;
  line-height: 1.867;
  text-align: left;
  color: #fff;
  font-style: normal;
  margin-bottom: 13px;
}
@media screen and (max-width: 768px) {
  address {
    margin-bottom: 14px;
  }
}
ul.footer-shozaichi {
  width: 303px;
}
ul.footer-shozaichi li {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 15px;
  letter-spacing: 0.02em;
  line-height: 28px;
  text-align: left;
  color: #fff;
}
@media screen and (max-width: 768px) {
  ul.footer-shozaichi {
    width: 100%;
    margin-bottom: 20px;
    justify-content: space-between;
  }
  ul.footer-shozaichi li {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
    font-size: 1.4rem;
    letter-spacing: 0.02em;
    line-height: 24px;
    text-align: left;
    color: #fff;
  }
}
.footer-up .right {
  width: 554px;
}
@media screen and (max-width: 768px) {
  .footer-up .right {
    margin: 0 auto;
    width: 100%;
  }
}
.footer-up .right .footer-nav ul {
  flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .footer-up .right .footer-nav.flex {
    flex-wrap: wrap;
  }
}
.footer-up .right .footer-nav ul:first-child {
  width: 100px;
}
.footer-up .right .footer-nav ul:nth-child(2) {
  width: 143px;
	    align-items: flex-start;
    align-content: flex-start;
}
.footer-up .right .footer-nav ul:nth-child(3) {
  width: 167px;
}
@media screen and (max-width: 768px) {
  .footer-up .right .footer-nav ul:first-child {
    width: 50%;
	 height: fit-content;
  }
  .footer-up .right .footer-nav ul:nth-child(2) {
    width: 50%;
  }
  .footer-up .right .footer-nav ul:nth-child(3) {
    width: 50%;
	 margin-top: -45px;
  }
}
.footer-up .right .footer-nav ul li {
  margin-bottom: 13px;
  width: 100%;
}
.footer-up .right .footer-nav ul li a {
  white-space: nowrap;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 600;
  font-size: 16px;
  letter-spacing: 0.05em;
  line-height: 1;
  text-align: left;
  color: #fff;
}
@media screen and (max-width: 768px) {
	.footer-up .right .footer-nav ul li {
  margin-bottom: 10px;
  width: 100%;
}

  .footer-up .right .footer-nav ul li a {
    font-weight: 500;
    font-size: 15px;
    line-height: 12px;
    text-align: left;
    color: #fff;
  }
}
.footer-up .right .footer-nav ul li.sub a {
  font-size: 14px;
  padding-left: 14px;
  position: relative;
}
.footer-up .right .footer-nav ul li.sub a:before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 1px;
  background: #005bac;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto 0;
  left: 0;
}
@media screen and (max-width: 768px) {
	.footer-up .right .footer-nav ul li.sub{
		margin-bottom: 5px;
	}
  .footer-up .right .footer-nav ul li.sub a {
	font-weight: normal;
    margin-bottom: 5px;
  }
  .footer-up .right .footer-nav ul li.last-child-sp {
    margin-bottom: 0;
  }
  .footer-up .right .footer-nav ul li.sub.last-sp {
    margin-bottom: 22px;
  }
}
p.copy {
  text-align: center;
width: 100%;
    white-space: nowrap;
}
p.copy small {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 13px;
  line-height: 1;
  text-align: center;
  color: #999;
}
@media screen and (max-width: 768px) {
  p.copy small {
    font-size: 12px;
    line-height: 1;
  }
}
/*採用*/
.footer-recruit {
  padding: 120px 0 90px;
}
/*お問い合わせ*/
.footer-contact {
  padding: 60px 0 80px;
}
@media screen and (max-width: 768px) {
  .footer-contact {
    padding: 50px 0 50px;
  }
}
/*フッターのリクルート*/
.footer-recruit-wrap {
  height: 769px;
  position: relative;
  background: #fff;
}
.footer-recruit-wrap .footer-recruit-container {
  width: 1088px;
  margin: 0 auto 0;
  padding-top: 210px;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 768px) {
.footer-recruit-wrap {
  height: 734px;
}
  .footer-recruit-wrap .footer-recruit-container {
    width: 100%;
    padding-top: 70px;
    flex-wrap: wrap;
  }
}
.footer-recruit-wrap .footer-recruit-container .left {
  width: 407px;
}
@media screen and (max-width: 768px) {
  .footer-recruit-wrap .footer-recruit-container .left {
    width: 88.3vw;
    padding-left: 47px;
    margin: 0 auto;
  }
}
.footer-recruit-wrap .footer-recruit-container .right {
  width: 681px;
}
@media screen and (max-width: 768px) {
  .footer-recruit-wrap .footer-recruit-container .right {
    width: 88.3vw;
    padding-left: 11.8vw;
    margin: 30px auto 0;
  }
}
.footer-recruit-back {
  position: absolute;
  width: 92.2%;
  height: calc(100% - 90px);
  right: 0;
  left: 0;
  bottom: 0;
  margin: 0 auto;
  background-size: 160%;
  background-position: top;
  animation: parallax linear both;
  animation-timeline: view();
}
@media screen and (max-width: 768px) {
  .footer-recruit-back {
    position: absolute;
    width: 92.2%;
    height: 100%;
    right: 0;
    left: auto;
    bottom: 0;
    margin: 0 auto;
    background-size: 100%;
    background-position: top;
    animation: parallax linear both;
    animation-timeline: view();
  }
}
.bg-recruit {
  background-image: url("../../aoi/image/footer/recruit-back.jpg");
	width: 100%;
	height: 100%;
	background-size: cover;
}
@media screen and (max-width: 768px) {
	.bg-recruit {
  background-image: url("../../aoi/image/footer/recruit-back-sp.jpg");
	width: 100%;
	height: 100%;
	background-size: cover;
}
}

@keyframes parallax {
  from {
    background-position: center 0;
  }
  to {
    background-position: center -500px;
  }
}
div.left-txt {
  position: absolute;
  bottom: 0;
     left: 20px;
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  font-size: 105px;
  letter-spacing: 0.02em;
  line-height: 0.699;
  text-align: center;
  color: #005bac;
  opacity: 0.65;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  div.left-txt {
    top: 30px;
    bottom: auto;
    left: -13px;
  }
}
h3.footer-rec-h3 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 38px;
  letter-spacing: 0.03em;
  line-height: 1.316;
  text-align: left;
  color: #181818;
  margin-top: 30px;
}
@media screen and (max-width: 768px) {
  h3.footer-rec-h3 {
    font-size: 2.3rem;
    letter-spacing: 0.03em;
    line-height: 30px;
    margin-top: 30px;
  }
}
h3.footer-rec-h3 span.pad {
  padding: 0 15px;
}
.footer-recruit-wrap .footer-recruit-container .left p.txt {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 17px;
  letter-spacing: 0.02em;
  line-height: 1.706;
  text-align: left;
  color: #fff;
  margin-top: 30px;
  margin-bottom: 50px;
}
@media screen and (max-width: 768px) {
  .footer-recruit-wrap .footer-recruit-container .left p.txt {
    font-weight: 500;
    font-size: 14px;
    letter-spacing: 0.02em;
    line-height: 25px;
    text-align: left;
    color: #fff;
    margin-bottom: 30px;
    margin-top: 20px;
  }
  h2.standerd.white .sp-top-recruit span.en {
    font-size: 37px;
  }
}
div.footer-contact-container {
  width: 838px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  div.footer-contact-container {
    width: 100%;
  }
}
h2.footer-contact-h2 {
  text-align: center;
}
@media screen and (max-width: 768px) {
  h2.footer-contact-h2 {
    line-height: 1;
  }
}
h2.footer-contact-h2 span.ja {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 15px;
  line-height: 1;
  text-align: center;
  color: #fff;
}
@media screen and (max-width: 768px) {
  h2.footer-contact-h2 span.ja {
    font-weight: 600;
    font-size: 16px;
    letter-spacing: 0.02em;
    line-height: 1;
    text-align: center;
    color: #fff;
  }
}
h2.footer-contact-h2 span.en {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  font-size: 60px;
  line-height: 1.35;
  text-align: center;
  color: #fff;
}
@media screen and (max-width: 768px) {
  h2.footer-contact-h2 span.en {
    font-size: 42px;
    letter-spacing: 0.02em;
    line-height: .8;
    text-align: center;
    color: #fff;
    margin-top: 15px;
    display: inline-block;
    margin-bottom: 20px;
  }
}
.footer-rec-txts {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 600;
  font-size: 15px;
  line-height: 1;
  text-align: center;
  color: #fff;
  margin-top: 13px;
  margin-bottom: 68px;
}
@media screen and (max-width: 768px) {
  .footer-rec-txts {
    width: 76.5vw;
    margin: 0 auto 0;
    line-height: 24px;
    text-align: center;
    color: #fff;
    margin-bottom: 40px;
    letter-spacing: 0;
  }
}
.footer-contact-bottom {
  color: #fff;
}
@media screen and (max-width: 768px) {
  .footer-contact-bottom {
    flex-wrap: wrap;
  }
}
.footer-contact-bottom li {
  text-align: center;
}
.footer-contact-bottom li.vertical-line{
	width: 0px;
height: 111px;
background: transparent;
border: 1px solid #fff;
}
@media screen and (max-width: 768px) {
  .footer-contact-bottom li {
    width: 76.5%;
    margin: 0 auto;
  }
  .footer-contact-bottom li:first-child {
    border-bottom: 1px solid #fff;
    padding-bottom: 20px;
    margin-bottom: 30px;
  }
}
.footer-contact-bottom li div.txt {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 600;
  font-size: 16px;
  line-height: 1;
  text-align: center;
  color: #fff;
  margin-bottom: 13px;
}
.footer-contact-bottom li div.txt.mb {
  margin-bottom: 17px;
}
.footer-contact-bottom li div.tel {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  font-size: 40px;
  letter-spacing: 0.02em;
  line-height: 1.7;
  text-align: center;
  color: #fff;
}
@media screen and (max-width: 768px) {
	.footer-contact-bottom li div.txt.mb {
  margin-bottom: 20px;
}
  .footer-contact-bottom li div.tel {
    font-size: 30px;
    letter-spacing: 0.02em;
    /*line-height: 68px;*/
    text-align: center;
    color: #fff;
    line-height: 1.5;
  }
}
.footer-contact-bottom li div.time {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 14px;
  line-height: 1;
  text-align: center;
  color: #fff;
}
.f-contact-btn {
  width: 360px;
  height: 60px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 600;
  font-size: 17px;
  letter-spacing: 0.02em;
  line-height: 1;
  text-align: left;
  color: #005bac;
}
@media screen and (max-width: 768px) {
  .f-contact-btn {
    width: 100%;
  }
}
.f-contact-btn a {
  position: relative;
  display: block;
  background: #fff;
  border-radius: 100vh;
  width: 100%;
  height: 100%;
}
.f-contact-btn a:after {
  width: 17px;
  height: 14px;
  background-image: url("../../aoi/image/common/arrow-blue.svg");
  content: "";
  display: inline-block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 30px;
  background-size: contain;
}
.f-contact-btn a:hover:after {
  background-image: url("../../aoi/image/common/arrow-white.svg");
}
.f-contact-btn a span {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 600;
  font-size: 17px;
  letter-spacing: 0.02em;
  line-height: 1;
  color: #005bac;
  position: absolute;
  left: 45px;
}
@media screen and (max-width: 768px) {
  .f-contact-btn a:after {
    right: 20px;
  }
  .f-contact-btn a span {
    left: 20px;
  }
}
.f-contact-btn a span:before {
  content: "";
  display: inline-block;
  width: 22px;
  height: 17px;
  background-image: url("../../aoi/image/footer/mail.svg");
  background-size: contain;
  vertical-align: middle;
  margin-right: 16px;
  margin-top: -3px;
}
.f-contact-btn a:hover {
  background: #000;
}
.f-contact-btn a:hover span {
  color: #fff;
}
.f-contact-btn a:hover span:before {
  background-image: url("../../aoi/image/footer/mail-w.svg");
}
/*下部固定バナー*/
.recruit-btn-fix {
  position: fixed;
  bottom: 0;
  right: 0;
  width: 308px;
  height: 250px;
  z-index: 10;
  display: none;
}
.recruit-btn-fix a {
  position: relative;
  width: 308px;
  height: 250px;
  display: block;
  transition: 0.3s ease-in-out;
}
.recruit-btn-fix a div.nomal {
  position: absolute;
  z-index: 3;
  transition: 0.3s ease-in-out;
}
.recruit-btn-fix a:hover div.nomal {
  opacity: 0;
}
.recruit-btn-fix a div.hover {
  position: absolute;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .recruit-btn-fix {
    width: 100%;
    /*    height: 54px;*/
    height: auto;
    overflow: hidden;
  }
  .recruit-btn-fix a {
    width: 100%;
    height: auto;
  }
}
.footer-bottom-wrap {
  background: #002076;
  padding: 32px 0;
}
/*採用ページのフッター*/
.recruit-footer-link {
  height: 526px;
  padding-top: 121px;
  position: relative;
  background-image: url("../../aoi/image/footer/recruit-footer-back.jpg");
  background-size: cover;
  background-position: top 18% center;
}
.recruit-footer-link:before {
  content: "";
  position: absolute;
  height: 100%;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.75);
}
.recruit-footer-container.flex .left {
  width: 493px;
}
.recruit-footer-container.flex .left h2 {
  margin-bottom: 20px;
}
.recruit-footer-container.flex .left h2 span.en {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  font-style: italic;
  font-size: 60px;
  letter-spacing: 0.02em;
  line-height: 1.35;
  text-align: left;
  color: #fff;
}
.recruit-footer-container.flex .left h2 span.ja {
  font-family: "Noto Sans JP";
  font-weight: bold;
  font-size: 18px;
  line-height: 39px;
  text-align: left;
  color: #fff;
  position: relative;
  padding-left: 34px;
}
.recruit-footer-container.flex .left h2 span.ja:before {
  width: 27px;
  height: 1px;
  background: #004cb3;
  content: "";
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}
.recruit-footer-container.flex .left p {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 20px;
  letter-spacing: 0.03em;
  line-height: 1.95;
  text-align: left;
  color: #fff;
}
.recruit-footer-container.flex .right {
  width: 420px;
}
.recruit-footer-container.flex .right ul.link-btn {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
}
.recruit-footer-container.flex .right ul.link-btn li {
  width: 420px;
  position: relative;
}
.recruit-footer-container.flex .right ul.link-btn li a {
  border-radius: 8px;
  background: rgba(255, 255, 255, 1);
  padding: 32px 45px;
  display: block;
  height: 120px;
  box-sizing: border-box;
  border: 2px solid #fff;
  position: relative;
}
.recruit-footer-container.flex .right ul.link-btn li a:after {
  content: "";
  display: inline-block;
  width: 51px;
  height: 51px;
  background-image: url("../../aoi/image/footer/recruit-arrow.svg");
  position: absolute;
  top: 50%;
  left: auto;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  right: 30px;
}
.recruit-footer-container.flex .right ul.link-btn li a:hover {
  background: rgba(255, 255, 255, 0.7);
}
.recruit-footer-container.flex .right ul.link-btn li a div.txt {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
}
.recruit-footer-container.flex .right ul.link-btn li a div.txt span:first-child {
  display: block;
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 1;
  text-align: left;
  color: #004cb3;
  width: 100%;
}
.recruit-footer-container.flex .right ul.link-btn li a div.txt span.ja {
  display: block;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 23px;
  line-height: 1;
  text-align: left;
  color: #171717;
  margin-top: 9px;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .recruit-footer-link {
    height: auto;
    padding-top: 80px;
	  padding-bottom: 80px;
    position: relative;
    background-image: url("../../aoi/image/footer/recruit-footer-back.jpg");
  }
  .recruit-footer-container.flex .left h2 {
    margin-bottom: 10px;
  }
  .recruit-footer-container.flex .left h2 span.ja {
    font-size: 16px;
    line-height: 1;
    padding-left: 0;
  }
  .recruit-footer-container.flex .left h2 span.en {
    font-size: 42px;
    letter-spacing: 0.02em;
    line-height: 57px;
    text-align: left;
    color: #fff;
  }
  .recruit-footer-container.flex {
    flex-wrap: wrap;
    width: 88.3vw;
    margin: 0 auto;
  }
  .recruit-footer-container.flex .left p {
    font-size: 20px;
    letter-spacing: 0.02em;
    line-height: 35px;
    margin-bottom: 40px;
  }
  .recruit-footer-container.flex .right ul.link-btn li {
    width: 100%;
  }
  .recruit-footer-container.flex .right ul.link-btn li a {}
  .recruit-footer-container.flex .right ul.link-btn li a:after {
    right: 40px;
  }
}