/* ======================================
firstview
========================================= */
.fv__img {
  background-image: url(../img/front-page/mainimg.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  padding: 65px 0px;
  height: 700px;
  margin-top: 100px;
}

/* ======================================
about
========================================= */
.about__wrapper {
  margin: 0px auto;
  /*position: relative;
  padding-bottom: 115px;*/
}

.about__wrapper h3 {
  font-size: 3vw;
  font-weight: lighter;
  margin: -20px 0px 35px 9%;
  line-height: 1.5;
}

.about__text {
  width: 100%;
  display: flex;
  justify-content: end;
}

.about__text p {
  width: 64%;
  line-height: 2;
  margin-right: 5%;
}

.ob-posi {
  position: absolute;
  bottom: 0px;
  right: 5%;
}

/* ======================================
News
========================================= */
.news__wrapper {
  background-image: url(../img/front-page/news-back.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  padding: 1px 0px;
}

.news__all {
  width: 92%;
  margin: 0 auto;
  margin-top: 50px;
  display: flex;
  justify-content: space-around;
}

.news__box {
  background-color: #fff;
  border-radius: 30px;
  display: flex;
  width: 31%;
}

.news__box:hover .news__box-right {
  opacity: 0.8;
}

.news__box-left  {
  padding: 6%;
  width: calc(50% - 12%);
}

.news__box-right {
  padding: 4% 6% 4% 0%;
  width: 44%;
  line-height: 2;
}

.news__box-date {
  color: #fe6e00;
}

/* ======================================
Service
========================================= */
.service__img {
  width: 70%;
  margin: 60px auto;
  position: relative;
}

/* ======================================
works
========================================= */
.index-works__wrapper {
  background-image: url(../img/front-page/works-back.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  padding: 1px 0px;
}

.works__all {
  width: 90%;
  margin: 0 auto;
  margin-top: 50px;
  display: flex;
  justify-content: space-around;
}

.works__box {
  flex-direction: column;
}

.works__box-top  {
  padding: 6%;
  padding-bottom: 4%;
  width: calc(100% - 12%);
}

.works__box-down {
  padding: 6%;
  padding-top: 0px;
  width: calc(100% - 12%);
}

.works__box:hover .works__box-down {
opacity: 0.8;
}

.works__box-date {
  color: #fe6e00;
  padding-bottom: 5%;
}

.works__box-text {
  line-height: 2;
  /*font-size: 1.3rem;*/
  font-size: 1.2vw;
  font-weight: 300;
}

/* ======================================
スライドショー
========================================= */
.slider img {
  object-fit: cover;
      height: 14vw;
  width: 100%;
}
/*slick setting*/
.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
  background-color: #fff;
}

/*表示する文字周りの設定*/
.slick-prev:before, .slick-next:before {
  content: '';
  width: 10px;
  height: 10px;
  border-top: solid 2px #fe6e00;
  border-right: solid 2px #fe6e00;
  position: absolute;
  left: 40%;
  top: 42%;
}

.slick-prev:hover:before, .slick-next:hover:before {
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
}

.slick-prev:before {
  transform: rotate(-135deg);
}

.slick-next:before {
  transform: rotate(45deg);
}

/*背景や位置の調整*/
.slick-prev, .slick-next {
  width: 65px;
  height: 65px;
  background-color: #fff;
  border-radius: 50%;
  border: solid 3px #fff;
}

.slick-prev:hover, .slick-next:hover {
  background-color: #fe6e00;
}

.slick-prev {
  left: -100px;
}

.slick-next {
  right: -100px;
}

.slick-slide{
  margin-right: 0.8vw!important;
  margin-left: 0.8vw!important;
}

/* ======================================
blog
========================================= */
.blog__content {
  width: 80%;
  margin: 0 auto;
  margin-top: 50px;
  display: flex;
}

.blog__left {
  width: 50%;
}

.blog__right {
  width: 50%;
  display: flex;
  flex-wrap: wrap;
}

.blog__box {
  width: calc(50% - 10%);
  padding: 5%;
  padding-top: 0px;
}

.blog__box:hover .blog__box-down {
  opacity: 0.8;
}

.blog__left-box {
  width: calc(100% - 10%);
}

.blog__box-top img {
  width: 100%;
  height: 13vw;
  object-fit: cover;
  border-radius: 8%;
}

.blog__left-box .blog__box-top img {
  height: 29vw;
}

.blog__box-down {
  padding-top: 20px;
}

.blog__box-date {
  font-family: 'Montserrat','Noto Sans JP', sans-serif;
  color: #fe6e00;
  /*font-size: 1rem;*/
  font-size: 1vw;
  font-weight: 300;
  letter-spacing: 1px;
}

.blog__left .blog__box-date {
  font-family: 'Montserrat','Noto Sans JP', sans-serif;
  color: #fe6e00;
  /*font-size: 1.4rem;*/
  font-size: 1.3vw;
  font-weight: 300;
  letter-spacing: 1px;
}

.blog__box-title {
  padding: 8px 0px;
  /*font-size: 1.2rem;*/
  font-size: 1.1vw;
  font-weight: 600;
  line-height: 1.8;
}

.blog__left .blog__box-title {
  padding: 8px 0px;
  /*font-size: 1.5rem;*/
  font-size: 1.4vw;
  font-weight: 600;
  line-height: 1.8;
}

.blog__box-text {
  line-height: 2;
  font-size: 1vw;
}


/* ======================================
Instagram
========================================= */
.instagram__wrapper .all__wrapper {
  margin-top: 0px;
}

.instagram__wrapper {
  background-color: #fff;
  border-top: solid 6px #fe6e00;
}

.instagram__all {
  margin-right: -10%;
  margin-left: -10%;
  margin-top: 50px;
}

.instagram__slider li img {
  width: 100%;
  height: 21.5vw;
  object-fit: cover;
  border-radius: 8%;
}

/* ======================================
staff
========================================= */
.staff__wrapper {
  margin-top: -50px;
}

.staff__all {
  width: 100%;
  margin: 0 auto;
  margin-top: 50px;
  display: flex;
  align-items: center;
}

.staff__left {
  /*width: 44%;*/
  width: 100%;
  padding: 0px 3%;
}

.staff__left img {
  /*width: 100%;
  height: 28.9vw;
  object-fit: cover;
  border-radius: 8%;*/
  width: 100%;
  height: 100%;
  margin: 0 auto;
  display: block;
}

.staff__right {
  width: 44%;
  padding-left: 6%;
  line-height: 2;
  font-size: 1vw;
}

/* ======================================
contact
========================================= */

.contact__wrapper {
  background-image: url(../img/front-page/contact-back.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  padding: 1px 0px;
}

.contact__wrapper .all__wrapper {
  padding-bottom: 0px;
      margin: 129px auto;
}

.contact__wrapper .h2-posi {
  margin-left: 0px;
  padding-top: 0px;
}

.contact__all {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 73%;
  margin: 0 auto;
      margin-bottom: 60px;
}

.contact__box {
  font-family: 'Montserrat','Noto Sans JP', sans-serif;
  background-color: #fff;
  width: 62%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  border-radius: 20px;
  padding: 58px 0px;
}

.contact__phone {
  width: 100%;
  display: flex;
  align-items: center;
      justify-content: center;
}

.contact__phone-img {
width: 43px;
}

.contact__phone-text {
  padding-left: 20px;
    font-size: 3rem;
    letter-spacing: 5px;
    color: #fe6e00;
}

.contact__time {
  font-size: 1.3rem;
  letter-spacing: 2px;
  padding-top: 20px;
}

/* ======================================
メディアクエリ
========================================= */

@media screen and (max-width:1250px){

  .news__all {
    width: 100%;
    font-size: 1.2vw;
  }

  .news__box {
    width: 32%;
  }

  .service__img  {
    width: 80%;
  }

  .contact__all {
        width: 100%;
  }

}

@media screen and (max-width:1024px){
  .service__img  {
    width: 95%;
  }

  .blog__content {
    width: 90%;
  }

  .blog__left .blog__box-date,
  .blog__left .blog__box-title,
  .blog__box-date {
    font-size: 1rem;
  }

  .blog__box-title {
    padding: 5px 0px;
    font-size: 0.8rem;
  }

  .blog__left .blog__box-text {
    font-size: 0.85rem;
  }

  .blog__box-text {
    font-size: 0.75rem;
  }

  .staff__all {
    width: 90%;
  }

  .staff__left img {
    height: auto;
  }

  .staff__right {
    font-size: 1.5vw;
  }
}

@media screen and (max-width:900px){
  .s-icon03 {
    right: 0px;
  }

  .works__all {
    width: 80%;
    margin: 0 auto;
    margin-top: 50px;
  }

  .slider img {
    height: 21vw;
  }

  .works__box-date {
    font-size: 15px;
  }

  .works__box-text {
    font-size: 17px;
  }

  .slick-prev {
    left: -75px;
  }

  .slick-next {
    right: -75px;
  }

  .blog__content {
    flex-direction: column;
    width: 100%;
  }

  .blog__left, .blog__right {
    width: 80%;
    margin: 0 auto;
  }

  .blog__box-top img {
    height: 28.2vw;
  }

  .blog__left-box .blog__box-top img {
    height: 63.6vw;
  }

  .instagram__all {
    margin-right: -5%;
    margin-left: -5%;
  }

  .instagram__slider li img {
    height: 28.7vw;
  }

.contact__wrapper .all__wrapper {
    margin: 70px auto 100px;
}

  .contact__all {
    flex-direction: column;
            align-items: baseline;
  }

  .contact__box {
margin: 60px auto 0px;
width: 72%;
  }

}

@media screen and (max-width:768px){

  .about__wrapper h3 {
    font-size: 30px;
  }

  .news__all {
    flex-direction: column;
    font-size: 15px;
    align-items: center;
  }

  .news__box {
    width: 70%;
    margin: 10px 0px;
  }

  .staff__all {
    flex-direction: column;
  }

  .staff__left, .staff__right {
    padding: 0px;
    width: 80%;
  }

  .staff__left img {
    height: auto;
  }

  .staff__right {
    padding-top: 5%;
    font-size: 0.9rem;
  }

.contact__box {
  padding: 35px 0px;
}

  .contact__phone {
    flex-direction: column;
  }

  .contact__phone-img {
        padding-bottom: 20px;
  }

  .contact__phone-text {
    padding-left: 0px;
    letter-spacing: 3px;
  }

}

@media screen and (max-width:600px){

  .fv__img {
    background-image: url(../img/front-page/mainimg-sp.jpg);
    height: 580px;
    padding: 0px;
  }

  .about__text p {
    width: 80%;
  }

  .news__box {
    width: 80%;
  }

  .works__all {
    width: 75%;
  }

  .slider img {
    height: 39vw;
  }

  .slick-prev, .slick-next {
    width: 55px;
    height: 55px;
  }

  .slick-prev {
    left: -60px;
  }

  .slick-next {
    right: -60px;
  }

  .blog__left, .blog__right {
    width: 100%;
  }

  .blog__box-top img {
    height: 35vw;
  }

  .blog__left-box .blog__box-top img {
    height: 78.7vw;
  }

  .instagram__slider li img {
    height: 75.4vw;
  }

  .staff__left, .staff__right {
    width: 100%;
  }

  .staff__left img {
    height: auto;
  }


.contact__phone-text {
    font-size: 7.5vw;
    letter-spacing: 1px;
  }

}

@media screen and (max-width:425px){
  .news__all, .instagram__all {
    margin-top: 30px;
  }

  .works__all, .blog__content, .staff__all {
    margin-top: 15px;
  }

  /*.about__wrapper {
  padding-bottom: 0px;
  }*/

  .about__wrapper h3 {
    font-size: 22px;
    margin: 30px 0px 35px 22%;
  }

  .about__text {
    justify-content: center;
  }

  .about__text p {
    width: 90%;
  }

  .orange-button a {
    padding: 11px 15px;
  }

  .ob-posi {
    position: sticky;
    margin-top: 10%;
  }

  .news__box {
    width: 100%;
    border-radius: 20px;
  }

.service__img {
  margin: 40px auto;
}

  .works__box-top, .works__box-down {
    padding: 8%;
    width: calc(100% - 16%);
  }

  .works__box-down {
    padding-top: 0px;
  }

  .works__box-date {
    padding-bottom: 2%;
  }

  .slick-prev, .slick-next {
    width: 50px;
    height: 50px;
  }

  .slick-prev {
    left: -55px;
  }

  .slick-next {
    right: -55px;
  }

  .blog__right {
    flex-direction: column;
  }

  .blog__box {
    padding: 5% 0px;
    width: 100%;
  }

  .blog__right .blog__box {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .blog__right .blog__box-top, .blog__right .blog__box-down {
    width: 48%;
  }

  .blog__right .blog__box-down {
    padding-top: 0px;
  }

  .blog__box-top img {
    height: 41.4vw;
  }

  .blog__left-box .blog__box-top img {
    height: 86.4vw;
  }

  .blog__box-date, .blog__left .blog__box-date {
    /*font-size: 1rem;*/
    font-size: 4vw;
  }

  .blog__box-title, .blog__left .blog__box-title {
    /*font-size: 1.1rem;*/
    font-size: 4.1vw;
  }

  .blog__box-text, .blog__left .blog__box-text {
    /*font-size: 0.95rem;*/
    font-size: 3.6vw;
  }

  .staff__all {
    width: 100%;
  }

  .staff__left img {
    height: auto;
  }

.contact__wrapper .all__wrapper {
  margin: 50px auto 80px;
}

.contact__all {
      margin-bottom: 50px;
}

.contact__box {
      margin-top: 50px;
      padding: 25px 0px;
}

.contact__phone-img {
  padding-bottom: 15px;
  width: 35px;
}

  .contact__time {
        font-size: 1rem;
        padding-top: 15px;
  }

  .s-icon03 a {
    padding: 0px;
  }

}

@media screen and (max-width:375px){
  .works__all {
    width: 70%;
  }

  .contact__box {
        width: 90%;
  }
}
