@charset "utf-8";


.cta{
  margin:7.5rem 0 2.5rem;
  padding:5rem 0 7.5rem;
  background:#F5FAF6;
  position:relative;
}

.page-top{
  position:absolute;
  width:95px;
  right:5%;
  bottom:0;
  z-index:10;
}

.cta-wrap{
  display:flex;
  justify-content: space-between;
  align-items: flex-start;
}

.cta-left{
  font-size:clamp(0.75rem, 0.708rem + 0.14vw, 0.875rem);
  font-weight:500;
  width:392px;
  position:relative;
}

.cta-left::before{
  content:"";
  position:absolute;
  width:1px;
  height:100%;
  background:#707070;
  right:-20%;
  top:0;
}

.cta-left h2{
  font-size:clamp(0.75rem, 0.667rem + 0.28vw, 1rem);
}

.cta-left .english{
  font-size:clamp(2.5rem, 2.333rem + 0.56vw, 3rem);
  color:#1AAF14;
  font-weight:bold;
  margin-bottom:1rem;
}

.cta-right{
  width:calc(100% - 10rem - 400px);
  display:flex;
  gap:3rem;
}

.cta-right > div{
  width:calc((100% - 3rem ) / 2 );
}

.cta-right > div > p{
  font-size:clamp(0.75rem, 0.708rem + 0.14vw, 0.875rem);
  margin-bottom:8px;
}

.cta-right > div a{
  height:120px;
  border-radius:5px;
  color:#fff;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 8px;
}

.cta-right > div a.cta-tel{
  background:#1D221F;
  padding-left: 13%;
}

.cta-right > div a.cta-tel > p:first-child{
  font-family: "Zen Old Mincho", serif;
  font-size:clamp(1.25rem, 0.958rem + 0.97vw, 2.125rem);
}

.cta-right > div a.cta-tel > p:first-child strong{
  font-size:clamp(1.25rem, 1.188rem + 0.21vw, 1.438rem);
}

.cta-right > div a.cta-tel > p:last-child{
  font-size:clamp(0.625rem, 0.583rem + 0.14vw, 0.75rem);
}

.cta-right > div a.cta-contact{
  background:#1C9B17;
  font-size:clamp(1.25rem, 1.083rem + 0.56vw, 1.75rem);
  text-align:center;
  font-family: "Zen Old Mincho", serif;
}


.footer{
  font-weight:bold;
}

.footer-top{
  border-bottom:1px solid #000000;
  padding-bottom:2.5rem;
  margin-bottom:2.5rem;
}

.footer-top-wrap{
  display:flex;
  gap:5rem;
  align-items: center;
}

.footer-top-left{
  width:310px;
  position:relative;
}

.footer-top-left::before{
  content:"";
  position:absolute;
  width:1px;
  height:100%;
  background:#000000;
  right:-2.5rem;
  top:0;
}

.footer-top-left a{
  width:245px;
  margin-bottom:1rem;
}

.footer-top-right .accent{
  font-size:2rem;
}

.footer-top-right {
  font-size:clamp(0.875rem, 0.833rem + 0.14vw, 1rem);
}

.footer-bottom-wrap{
  display:flex;
  gap:4rem;
}

.copyright{
  text-align: center;
  font-size:clamp(0.75rem, 0.708rem + 0.14vw, 0.875rem);
  padding:12px;
  background-image: linear-gradient(110deg, #89e381, #74df97 30%, #3fce56);
  font-weight:400;
  margin-top:4rem;
}

@media (max-width: 1600px) {
  .cta-left::before{
    right: -5%;
  }
  .cta-right {
    width: calc(100% - 5rem - 400px);
  }
}

@media (max-width: 1400px) {
  .cta-wrap{
    width:90%;
  }
}

@media (max-width: 1279px) {
  .cta-wrap{
    flex-direction: column;
    gap: 4rem;
  }
  .cta-right{
    width:100%;
    max-width: 800px;
    margin: 0 auto;
  }
  .cta-left::before {
    right: auto;
    left: 0;
    width: 100%;
    height: 1px;
    bottom: -2rem;
    top: auto;
  }
}

@media (max-width: 1024px) {
  .footer-swiper {
    margin-bottom:3rem;
  }
  .footer .container{
    width:90%;
  }
  .footer-bottom-wrap{
    gap: 2.5rem;
  }
}

@media (max-width: 767px) {
  .page-top {
    width: 48px;
  }
  .cta {
    margin: 5rem 0 1.5rem;
    padding: 3rem 0 4rem;
  }
  .cta-right > div a {
    height: 64px;
  }
  .cta-right{
    flex-direction: column;
    gap: 1rem;
    align-items: center;
  }
  .cta-right > div {
    width: 100%;
    max-width: 315px;
  }
  .cta-right > div a.cta-tel{
    padding-left: 0;
    align-items: center;
  }
  .cta-left{
    width: 100%;
  }
  .cta-left .english{
    margin-bottom: 0.5rem;
  }
  .copyright{
    text-align: center;
    font-size:12px;
    margin-top:2.5rem;
  }
  .footer-right {
    flex-wrap: wrap;
    gap: 1rem;
    justify-content: end;
  }
  .footer-top-wrap{
    flex-direction: column;
    gap: 2.5rem;
  }
  .footer-bottom-wrap{
    flex-direction: column;
    gap:20px;
    font-size: 1rem;
  }
  .footer-top{
    width: 90%;
    margin: 0 auto 20px;
    border-bottom: 0.5px solid #000000;
    max-width: 310px;
    padding-bottom: 1.5rem;
  }
  .footer-top-left a {
    width: 275px;
  }
  .footer-top-left::before{
    right: auto;
    top: auto;
    left: 0;
    width: 100%;
    height: 0.5px;
    bottom: -1.5rem;
  }
  .footer .container.footer-top-wrap{
    width:100%;
  }
  .footer-bottom-wrap{
    max-width: 310px;
  }
}
