@charset "utf-8";

.contact-banner{
  padding:200px 0 240px;
  position:relative;
  text-align:center;
  color:#fff;
  background:url(https://door-style.co.jp/system_panel/uploads/images/20251117180912959915.png) no-repeat center/cover;
}

.contact-banner a{
  color:#fff;
}

.contact-banner h2.accent{
  color:#5C5048;
  font-size:clamp(3.625rem, 2.398rem + 4.09vw, 7rem);
  line-height:1;
  margin-bottom:3rem;
}

.contact-banner h2.accent::first-letter{
  font-size:clamp(3.8rem, 2.455rem + 4.48vw, 7.5rem);
}

.contact-banner-wrap{
  display:flex;
  margin:100px auto 0;
  justify-content: space-between;
  position: relative;
  max-width: 1280px;
}

.contact-banner-wrap::before{
  content:"";
  position:absolute;
  width:1px;
  height:100%;
  background:#707070;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}

.contact-banner-item{
  width: 40%;
  max-width: 500px;
}

.contact-banner-item a{
  height:130px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 8px;
}

.contact-banner-item a:hover{
  opacity:0.7;
}

.contact-banner-item:first-child a .accent{
  font-size:clamp(1.063rem, 0.858rem + 0.68vw, 1.625rem);
  display: flex;
  align-items: baseline;
  gap: 8px;
}

.contact-banner-item:first-child a .accent strong{
  font-size:clamp(2.813rem, 2.699rem + 0.38vw, 3.125rem);
}

.contact-banner-item:last-child a{
  border:1px solid #868686;
  font-size:clamp(1.125rem, 0.989rem + 0.45vw, 1.5rem);
  position:relative;
}

.contact-banner-item:last-child a::before{
  content: "";
  position: absolute;
  top: 50%;
  right: 1.5rem;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  width: 8px;
  height: 15px;
  background: url(https://door-style.co.jp/system_panel/uploads/images/20251117164125894686.png) no-repeat center / contain;
}

.contact-banner-item > p{
  margin-bottom:20px;
}

.footer{
  color:#fff;
  position: relative;
  z-index: 10;
}

.footer a{
  color:#fff;
}

.footer a:hover{
  opacity:0.7;
}

.footer-wrap{
  display:flex;
  justify-content: space-between;
  align-items: stretch;
  font-size: 15px;
}

.footer-left{
  width:37%;
  position:relative;
  padding-top: 100px;
}

.footer-left p{
  line-height:2;
}

.footer-left > div{
  width:fit-content;
  margin:0 auto;
}

.footer-left::before{
  content:"";
  position:absolute;
  width:100%;
  height:calc(100% + 2.5rem);
  background:#000000;
  bottom:0;
  left:0;
  z-index:-1;
}

.footer-logo{
  margin-bottom:3rem;
  max-width:340px;
  width: 90%;
}

.footer-logo:hover{
  opacity:0.7;
}

.footer-left a{
  display:inline-block;
}

.footer-right{
  background-color:#797979;
  padding:120px 5% 3.5rem 0;
  width: 63%;
}

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

.footer-right-wrap > div{
  width:fit-content;
}

.footer-right-wrap a{
  width:100%;
}

.footer-right-wrap > div > a:first-child{
  margin-bottom:2rem;
}

.footer-right-wrap div  div a{
  margin-bottom:1rem;
  display:flex;
  align-items:center;
  gap:8px;
}

.footer-right-wrap div  div a::before{
  content:"";
  width:10px;
  height:1px;
  background:#fff;
  display:block;
}


.copyright{
  text-align:center;
  line-height:1;
  font-size:12px;
  padding-top:2.5rem;
  margin-top:7.5rem;
  border-top:1px solid #8D8D8D;
  display: flex;
  justify-content: end;
  align-items: center;
  gap:100px;
}

@media screen and (max-width: 1279px) {
  .footer-left {
    width: 45%;
    padding: 100px 5% 0;
  }
  .footer-right{
    width: 55%;
  }
  .footer-right-wrap{
    flex-wrap: wrap;
    gap: 2rem 0;
    width: 90%;
  }
  .footer-right-wrap > div {
    width: 45%;
  }
  .copyright{
    gap:40px;
  }
  .contact-banner .inner{
    max-width: 800px;
    width: 95%;
  }
  .contact-banner-item a {
    height: 100px;
  }
}

@media screen and (max-width: 1024px) {
  .contact-banner-item {
    width: 45%;
  }

}

@media (max-width: 767px) {
  .footer-logo{
    margin:0;
    width:225px;
  }
  .footer-left > div{
    margin:0;
    position: relative;
    z-index: 15;
  }
  .footer-left::before{
    height:100%;
    z-index: 10;
  }
  .footer-left {
    width: 300px;
    padding: 2.5rem 1rem;
    margin-top: -3rem;
  }
  .footer-wrap{
    flex-direction: column;
    font-size:14px;
  }
  .footer-left p{
    display:none;
  }
  .footer-right {
    margin-top:-5rem;
    width: 100%;
    padding: 120px 5% 3rem;
  }
  .footer-right-wrap{
    width: 100%;
    gap:0;
  }
  .footer-right-wrap > div > a:first-child{
    margin-bottom: 0rem;
  }
  .footer-right-wrap > div{
    width: 100%;
    padding:24px 0;
    border-bottom:1px solid #8D8D8D;
  }
  .footer-right-wrap > div:nth-child(2){
    display: flex;
    justify-content: space-between;
  }
  .footer-right-wrap > div:nth-child(2) > a{
    width: 100px;
  }
  .footer-right-wrap > div:nth-child(2) > div{
    width: calc(100% - 120px);
  }
  .copyright {
    font-size: 11px;
    gap: 1rem;
    flex-direction: column;
    align-items: flex-start;
    margin-top:3rem;
    padding: 0;
    border: none;
  }
  .footer .sp{
    font-size:12px;
    margin-top: 3rem;
  }
  .footer .sp a{
    display:inline-block;
  }
  .contact-banner {
    padding: 60px 0 130px;
    background-position: left;
  }
  .contact-banner-wrap::before{
    display:none;
  }
  .contact-banner-wrap{
    flex-direction: column;
    gap: 70px;
    align-items: center;
    max-width:320px;
    margin-top: 70px;
  }
  .contact-banner-item {
    width: 100%;
  }
  .contact-banner-item a {
    height: 80px;
  }
  .contact-banner h2.accent{
    margin-bottom: 1rem;
  }
  .contact-banner-item:first-child > p{
    margin:0;
  }
  .contact-banner h2.accent + p{
    font-size:15px;
  }
}
