/* mv =========================================*/
#mv {
  padding: clamp(30px, 4.5vw, 50px) 0 clamp(100px, 18vw, 200px);
}

@media screen and (max-width: 599px) {
  #mv .mv-box {
    flex-direction: column-reverse;
  }
}

#mv .mv-box .l-b {
  width: 50%;
  padding-top: 6em;
  align-items: center;
  flex-direction: column;
}

@media screen and (max-width: 599px) {
  #mv .mv-box .l-b {
    width: 100%;
    padding-top: 0;
  }
}

#mv .mv-box .l-b .mv-ttl {
  position: relative;
  margin: 0 0 clamp(57px, 7.2vw, 80px);
  font-size: clamp(45px, 5.4vw, 60px);
  z-index: 1;
}

#mv .mv-box .l-b .mv-ttl .mv-ttl-sub {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -50px;
  font-size: clamp(58px, 7.2vw, 80px);
  letter-spacing: 2px;
  color: #f5f5f5;
  z-index: -1;
}

#mv .mv-box .l-b .mv-txt {
  margin-top: 0;
  font-weight: 300;
  letter-spacing: 1px;
  font-size: clamp(16px, 1.6vw, 18px);
}

@media screen and (max-width: 599px) {
  #mv .mv-box .l-b .mv-txt {
    position: relative;
    z-index: 2;
  }
}

#mv .mv-box .r-b {
  width: 50%;
}

@media screen and (max-width: 599px) {
  #mv .mv-box .r-b {
    width: 100%;
  }
}

#mv .mv-box .r-b .mv-img {
  position: relative;
  width: clamp(310px, 34vw, 380px);
  height: clamp(260px, 34vw, 380px);
  margin: 0 2em 0 auto;
  background: url("/assets/img/top/img-mv.jpg") center/cover no-repeat;
}

@media screen and (max-width: 599px) {
  #mv .mv-box .r-b .mv-img {
    margin: 0 auto 30px;
    width: 80%;
  }
}

#mv .mv-box .r-b .mv-img::before, #mv .mv-box .r-b .mv-img::after {
  position: absolute;
  content: "";
  border: solid 1px #c1c1c1;
  z-index: -1;
}

@media screen and (max-width: 599px) {
  #mv .mv-box .r-b .mv-img::before, #mv .mv-box .r-b .mv-img::after {
    content: none;
  }
}

#mv .mv-box .r-b .mv-img::before {
  width: clamp(240px, 24vw, 270px);
  height: clamp(240px, 24vw, 270px);
  left: -15%;
  top: 10%;
}

#mv .mv-box .r-b .mv-img::after {
  width: clamp(300px, 34vw, 380px);
  height: clamp(260px, 27vw, 300px);
  left: -25%;
  top: 30%;
}

/* works =========================================*/
#works .bg-grey {
  position: relative;
  padding-bottom: clamp(40px, 5.4vw, 60px);
}

#works .bg-grey::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 80%;
  bottom: 0;
  background: #eeeaec;
}

#works .bg-grey .slide li {
  margin: 0 1.3em;
  border: solid 1px #eeeaec;
}

@media screen and (max-width: 599px) {
  #works .bg-grey .slide li {
    margin: 0 1em;
  }
}

#works .bg-grey .slide li figure {
  display: block;
  width: 100%;
}

#works .bg-grey .slide li .work-ttl {
  margin-top: 1em;
  font-weight: 100;
  font-size: clamp(14px, 1.4vw, 16px);
}

#works .bg-grey p {
  margin: 0;
}

#works .bg-grey p .btn {
  margin: clamp(30px, 4.5vw, 50px) 0 0;
}

#works .bg-grey .post-ttl {
  text-align: center;
  font-weight: 200;
}

/* about =========================================*/
#about .left-box {
  width: 45%;
}

@media screen and (max-width: 599px) {
  #about .left-box {
    width: 50%;
    margin: 0 auto;
  }
}

#about .left-box figure {
  max-width: 450px;
  width: 100%;
  display: block;
}

#about .left-box figure img {
  width: 100%;
}

#about .left-box .about-img1 {
  margin: 0 0 0 2em;
}

@media screen and (max-width: 599px) {
  #about .left-box .about-img1 {
    margin: 0 0 0 1em;
  }
}

#about .left-box .about-img2 {
  margin: 1em 0 0 0;
}

@media screen and (max-width: 599px) {
  #about .left-box .about-img2 {
    margin: .5em 1em 0 0;
  }
}

#about .right-box {
  width: 47%;
  margin-top: 1em;
}

@media screen and (max-width: 599px) {
  #about .right-box {
    width: 100%;
    margin-top: 2em;
    text-align: center;
  }
}

#about .lead {
  margin-top: 0;
  margin-bottom: clamp(20px, 3.6vw, 40px);
  font-weight: 300;
  font-size: clamp(12px, 1.2vw, 14px);
  line-height: 2.5;
}

@media screen and (max-width: 599px) {
  #about .lead {
    text-align: left;
  }
}

/* servicre =========================================*/
@media screen and (max-width: 599px) {
  #servicre .service-list {
    gap: 1.2em;
  }
}

#servicre .service-list li {
  width: 28%;
}

@media screen and (max-width: 599px) {
  #servicre .service-list li {
    width: 100%;
  }
}

#servicre .service-list li .icon {
  margin: 0 0 clamp(15px, 1.8vw, 20px);
}

#servicre .service-list li .icon img {
  width: clamp(30px, 3.6vw, 40px);
}

#servicre .service-list li .service-txt {
  font-size: clamp(12px, 1.2vw, 14px);
  line-height: 2;
  font-weight: 300;
}

/* insta =========================================*/
#insta {
  margin-bottom: 0;
}

#insta .sbi_photo {
  background-repeat: no-repeat;
  background-size: cover;
}

#insta .sbi_photo img {
  display: none;
}
