@charset "utf-8";

.footer{
  padding: 10rem 0 140px;
  color:#fff;
  position:relative;
}

.footer::before{
  content:"";
  position:absolute;
  width: 100%;
  bottom: 0;
  left: 0;
  z-index: -1;
  aspect-ratio: 1920/1214;
  background: url(https://salkan.co.jp/system_panel/uploads/images/20260325165531477205.png) no-repeat center / contain;
}

.page-top{
  width:5rem;
  position: absolute;
  top: -2.5rem;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  overflow:hidden;
  border-radius:999vh;
}

.page-top::before{
  background: #fff;
  content: "";
  height: 200%;
  left: -200%;
  opacity: .2;
  position: absolute;
  top: -100px;
  transform: rotate(35deg);
  transition: all 600ms cubic-bezier(0.19, 1, 0.22, 1);
  width: 200%;
  z-index: 10;
}

.page-top:hover::before{
  left: 100%;
  top: 50px;
  transition: all 550ms cubic-bezier(0.19, 1, 0.22, 1);
}

.footer a{
  color:#fff;
}

.footer-logo{
  width:96px;
  margin-bottom:2rem;
}

.footer-wrap{
  display: flex;
  width:80%;
  max-width:1530px;
  margin:0 auto;
  justify-content: space-between;
}

.footer-left{
  width:250px;
}

.footer-left > p{
  font-size:14px;
}

.footer-insta{
  display: flex;
  justify-content: space-between;
  align-items:center;
  border-top:1px solid #9F9F9F;
  border-bottom:1px solid #9F9F9F;
  padding:12px 1rem;
  margin:1rem 0;
  width: 100% !important;
}

.footer-insta .text-link{
  text-shadow: 0 1.5em 0 #fff, 0 0 0 #fff;
}

.footer-insta .text-link p{
  line-height:1.3;
}

.footer-insta:hover .text-link{
  text-shadow: 0 0 0 #fff, 0 -1.5em 0 #fff;
}

.footer-insta img{
  width:18px;
}

.footer-right{
  width:calc(100% - 300px);
  max-width:830px;
  display: flex;
  flex-wrap:wrap;
  gap:2rem 3rem;
  align-items: flex-start;
}

.footer-right a{
  width:fit-content;
  color:#fff;
}

.footer-right > a{
  margin-top:3px;
  padding-bottom:4px;
  position:relative;
}

.footer-right > a::before{
  content:"";
  position:absolute;
  width:100%;
  height:1.5px;
  background:#FFFFFF;
  left:0;
  bottom:0;
}

.footer-right > a:hover::before{
  animation:line-right 1s forwards;
}

@keyframes line-right {
  0% {
    opacity: 0;
    width:0%;
  }
  100% {
    opacity: 1;
    width:100%;
  }
}

.sub-menu{
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-size: 14px;
  margin-top: 1rem;
}

.footer-right > div >  a{
  position:relative;
  padding-bottom:4px;
}

.footer-right > div >  a::before{
  content:"";
  position:absolute;
  width:100%;
  height:1.5px;
  background:#FFFFFF;
  left:0;
  bottom:0;
}

.footer-right > div >  a:hover::before{
  animation:line-right 1s forwards;
}

.sub-menu a{
  color: #5D5D5D;
}

.footer-right a:hover{
  color:#fff;
}

.copyright{
  width:fit-content;
  margin:0 auto;
  font-size:12px;
}

.copyright-box{
  width:225px;
  margin:0 10% 0 auto;
  font-size:12px;
}

.copyright-box a{
  display:block;
  margin:0 0 1.5rem auto;
  width: fit-content;
}

.copyright-box a:hover{
  opacity:1;
}


@media (max-width: 1024px) {
  .footer-right {
    width: 100%;
    gap: 2rem;
    justify-content: space-between;
  }
  .footer-wrap {
    gap: 5rem;
    flex-direction: column-reverse;
    width: 90%;
  }
  .footer {
    padding: 5rem 0;
  }
}

@media (max-width: 767px) {
  .footer{
    padding: 1rem 0 3rem;
  }
  .footer-right {
    width: 100%;
    flex-direction: column;
    gap: 2rem;
  }
  .footer-left > p {
    font-size: 12px;
  }
  .footer-left {
    width: 215px;
  }
  .footer-right a{
    font-size:1rem;
  }
  .sub-menu a{
    font-size:12px;
  }
  .copyright-box {
    margin: 2.5rem 5% 0 auto;
    font-size: 10px;
    text-align: right;
  }
  .copyright-box a{
    margin: 0 0 1rem auto;
  }
  .copyright-box .arrow-btn {
    width: 40px;
    height: 40px;
  }
  .footer::before{
    aspect-ratio: 375 / 1226;
    background: url(https://salkan.co.jp/system_panel/uploads/images/20260330153549978226.png) no-repeat center / contain;
  }
}
