@charset "UTF-8";

.p-footer .p-company {
  display: block;
  color: #ffffff;
  padding-top: clamp(80px, 12.3333333333vw, 148px);
  padding-bottom: clamp(80px, 11.5vw, 138px);
  border-radius: 25px;
  position: relative;
}
@media (any-hover: hover) {
  .p-footer .p-company:hover {
    color: #ffffff;
  }
}
.p-footer .p-company__wrap {
  position: relative;
  z-index: 2;
}
@media screen and (min-width:768px) {
  .p-footer .p-company__wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 32px;
  }
}
.p-footer .p-company__content {
  max-width: 454px;
}
@media screen and (min-width:768px) {
  .p-footer .p-company__content {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}
.p-footer .p-company__title .c-section__title-en::after {
  background: url(../images/dash-line-white.svg) repeat center center/cover;
}
.p-footer .p-company__title .c-section__title-ja::before {
  background: url(../images/icon-title-white.svg) no-repeat center center/contain;
}
.p-footer .p-company__text {
  margin-top: clamp(32px, 4.1666666667vw, 50px);
  font-size: clamp(13px, 1.8229166667vw, 14px);
  line-height: 1.9285714286;
  letter-spacing: 0.28px;
  font-weight: 500;
}
.p-footer .p-company__btn {
  margin-top: 32px;
  margin-left: auto;
  padding-right: clamp(42px, 8.30078125vw, 85px);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: clamp(13px, 1.8229166667vw, 14px);
  line-height: 1.4285714286;
  font-weight: 700;
  position: relative;
}
.p-footer .p-company__btn::after {
  content: "";
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  right: 0;
  width: clamp(35px, 6.8359375vw, 70px);
  aspect-ratio: 1/1;
  background: url(../images/icon-arrow-navy.svg) no-repeat center center/contain;
}
@media screen and (min-width:768px) {
  .p-footer .p-company__btn {
    margin-top: 0;
  }
}
@media screen and (min-width:1200px) {
  .p-footer .p-company__btn {
    margin-left: clamp(60px, 21.5226939971vw, 294px);
  }
}
.p-footer .p-company__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 25px;
}
.p-footer .p-company__bg::before {
  content: "";
  position: absolute;
  inset: 0;
  background: transparent -webkit-gradient(linear, left top, right top, from(rgba(24, 27, 57, 0.6980392157)), to(rgba(24, 27, 57, 0.3019607843))) 0% 0% no-repeat padding-box;
  background: transparent linear-gradient(90deg, rgba(24, 27, 57, 0.6980392157) 0%, rgba(24, 27, 57, 0.3019607843) 100%) 0% 0% no-repeat padding-box;
  pointer-events: none;
  border-radius: 25px;
  z-index: 1;
}
.p-footer .p-company__bg img {
  border-radius: 25px;
}

.p-footer__top {
  padding-block: clamp(80px, 8.3333333333vw, 100px);
  position: relative;
}
@media screen and (min-width:768px) {
  .p-footer__top {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
  .p-footer__top::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    translate: -50%;
    width: 1px;
    height: 100%;
    background: url(../images/dash-ver.svg) no-repeat center center/cover;
  }
}

.p-footer__top-link {
  width: 100%;
  position: relative;
}
.p-footer__top-link:nth-of-type(2) {
  margin-top: 40px;
}
@media screen and (min-width:768px) {
  .p-footer__top-link:nth-of-type(2) {
    margin-top: 0;
  }
}
.p-footer__top-link:nth-of-type(2) .link-icon {
  margin-top: clamp(16px, 2.25vw, 27px);
  max-width: 103px;
  aspect-ratio: 103/99;
}

.link-title {
  font-size: clamp(16px, 1.5vw, 18px);
  line-height: 1.4444444444;
  letter-spacing: 0.54px;
  font-weight: 700;
  text-align: center;
}

.link-icon {
  margin-top: clamp(16px, 2.0833333333vw, 25px);
  max-width: 100px;
  aspect-ratio: 1/1;
  margin-inline: auto;
}
.link-icon img {
  -o-object-fit: contain;
     object-fit: contain;
}
.link-num {
  margin-top: clamp(24px, 2.5vw, 30px);
  font-family: "Lato", sans-serif;
  font-size: clamp(18px, 2.6666666667vw, 32px);
  line-height: 1;
  font-weight: 500;
  text-align: center;
}

.link-text {
  margin-top: 8px;
  font-size: clamp(11px, 1vw, 12px);
  line-height: 1.4166666667;
  letter-spacing: 0.24px;
  font-weight: 500;
  opacity: 0.7;
  text-align: center;
}

.link-btn {
  margin-top: clamp(24px, 2.9166666667vw, 35px);
  padding-block: 14px;
  padding-inline: clamp(16px, 2.44140625vw, 25px);
  border: 1px solid #181b39;
  border-radius: 22px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}
.link-btn .text {
  padding-right: 30px;
  font-size: clamp(13px, 1.3671875vw, 14px);
  line-height: 1.4285714286;
  font-weight: 500;
  position: relative;
}
.link-btn .text::after {
  content: "";
  position: absolute;
  top: 2px;
  right: 0;
  width: clamp(16px, 1.953125vw, 20px);
  aspect-ratio: 1/1;
  background: url(../images/icon-arrow-blue.svg) no-repeat center center/contain;
}

.p-footer__bottom {
  padding-top: clamp(80px, 10vw, 120px);
  padding-bottom: clamp(92px, 12vw, 144px);
  background: #f8f8f8;
  border-radius: 20px 20px 0px 0px;
}

.p-footer__bottom-wrap {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  padding-bottom: clamp(60px, 9.47265625vw, 97px);
}
@media screen and (min-width:768px) {
  .p-footer__bottom-wrap {
    width: auto;
    margin: 0;
  }
}
@media screen and (min-width:1024px) {
  .p-footer__bottom-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 32px;
  }
}

.p-footer__info {
  max-width: 200px;
}
.p-footer__info .title {
  margin-top: 20px;
  font-size: clamp(13px, 1.8229166667vw, 14px);
  line-height: 1.4285714286;
  font-weight: 700;
}
.p-footer__info .text {
  margin-top: clamp(24px, 3.90625vw, 30px);
  font-size: clamp(11px, 1.5625vw, 12px);
  line-height: 1.5833333333;
  letter-spacing: 0.24px;
  font-weight: 500;
  opacity: 0.7;
}

.p-footer__logo {
  width: 152px;
  height: 80px;
}

.p-footer__menu {
  margin-top: 32px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 517px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  -webkit-column-gap: clamp(20px, 5.8565153734vw, 80px);
     -moz-column-gap: clamp(20px, 5.8565153734vw, 80px);
          column-gap: clamp(20px, 5.8565153734vw, 80px);
  row-gap: 20px;
}
@media screen and (min-width:768px) {
  .p-footer__menu {
    grid-template-columns: repeat(3, 1fr);
    margin-inline: auto;
  }
}
@media screen and (min-width:1024px) {
  .p-footer__menu {
    margin: 30px;
  }
}

.p-footer__menu-link .text {
  padding-left: 15px;
  font-size: clamp(13px, 1.3671875vw, 14px);
  line-height: 1.4285714286;
  font-weight: 500;
  position: relative;
}
.p-footer__menu-link .text::before {
  content: "";
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  left: 0;
  width: 7px;
  height: 7px;
  background: #21C3D4;
  border: 1px solid #181B39;
  border-radius: 50%;
}
.p-footer__menu-link + .p-footer__menu-link {
  margin-top: clamp(24px, 2.9296875vw, 30px);
}

.p-copyright-wrap {
  padding-top: 15px;
  position: relative;
}
.p-copyright-wrap::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: url(../images/dash-line.svg) no-repeat center center/cover;
}

.p-copyright-text {
  font-size: 10px;
  line-height: 1.5;
  letter-spacing: 0.2px;
  font-weight: 500;
  opacity: 0.7;
}