@charset "utf-8";
/*a {
  pointer-events: none;
}*/
img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.main-container {
  position: relative;
}
.blur_img_inner {
  width: 100%;
  height: 100vh;
  overflow: hidden;
  position: relative;
  /*  height: 100dvh;*/
  position: fixed;
  position: -webkit-fixed;
  top: 0;
  left: 0;
  right: 0;
}
.blur_img img {
  width: auto;
  height: 66.25vw;
  min-height: 100%;
  min-width: 100%;
  object-fit: cover;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transform-origin: center center;
  position: absolute;
}
.zfadeIn {
  transition: 2s;
}
.zanimated {
  filter: blur(12px);
  -webkit-filter: blur(12px);
  transition: 2s;
}
.fv-slider_pc {
  display: none;
}
/*fv-slider*/
.fv-slider {
  width: 100%;
}
.fv-slider {
  width: 100%;
  height: 100%;
  margin-bottom: 0;
}
.fv-slider div {
  width: 100%;
  height: 100%;
}
.fv-slider_layer {
  position: relative;
  z-index: 0;
}
.fv-slider_layer::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
}
.fv-slider_layer15::before {
  background-color: rgba(0, 0, 0, 0.15);
}
.fv-slider_layer20::before {
  background-color: rgba(0, 0, 0, 0.2);
}
.fv-slider_layer30::before {
  background-color: rgba(0, 0, 0, 0.3);
}
@media screen and (min-width: 768px) {
  .fv-slider_sp {
    display: none;
  }
  .fv-slider_pc {
    display: block;
  }
}
/***************************************
メインビジュアル
***************************************/
/*main_sd*/
#main_sd {
  width: 100%;
  height: 100vh;
  position: relative;
  min-height: 500px;
  top: 0;
}
.mv_txt_block {
  width: 80%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: 443px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
.mv_logo_wrap img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.mv_logo_img {
  width: 120px;
  margin-bottom: 2rem;
}
.mv_renovation_img {
  width: 142px;
}
.mv_txt {
  display: none;
}
@media screen and (min-width: 768px) {
  .mv_logo_wrap {
    display: flex;
    align-items: center;
    gap: 36px;
    margin-bottom: 2rem;
  }
  .mv_logo_img {
    width: 160px;
    margin-bottom: 0;
  }
  .mv_renovation_img {
    width: 247px;
  }
  .mv_txt {
    display: block;
    font-size: 1.125rem;
    letter-spacing: 0.14em;
    color: #fff;
    text-align: center;
  }
}
/***************************************
topページ用
***************************************/
.section_container {
  position: relative;
  z-index: 10;
  background-color: #fff;
}
/***************************************
concept_container
***************************************/
.concept_container {
  position: relative;
  padding-bottom: 8rem;
}
.concept_block {
  color: #fff;
  width: 77%;
  margin: 0 auto;
  max-width: 1000px;
}
.concept_head {
  font-size: 1.14rem;
  letter-spacing: 0.04em;
  text-align: center;
  margin-bottom: 4.8rem;
}
.concept_title {
  font-size: 2rem;
  line-height: 1.6;
  letter-spacing: 0.18em;
  text-align: center;
  margin-bottom: 2.6rem;
}
.concept_txt {
  display: inline;
  line-height: 1.78;
  letter-spacing: 0.08em;
  ;
  text-align: justify;
  margin-bottom: 0;
}
.concept_container .section_long_btn_box {
  margin-top: 4rem;
}
.concept_container .section_long_btn {
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .concept_container {
    padding-bottom: 10rem;
  }
  .concept_head {
    text-align: left;
  }
  .concept_item {
    display: flex;
    justify-content: space-between;
  }
  .concept_title {
    text-align: left;
    width: 40%;
    margin-bottom: 0;
  }
  .concept_unit {
    width: 56%;
    padding-top: 0.3rem;
  }
  .concept_txt {
    display: block;
    margin-bottom: 1rem;
  }
  .concept_container .section_long_btn {
    margin: 0;
  }
}
@media screen and (min-width: 1200px) {
  .concept_container {
    padding-bottom: 13.2rem;
  }
  .concept_head {
    font-size: 1.125rem;
    margin-bottom: 6.8rem;
  }
  .concept_title {
    font-size: 2.125rem;
    line-height: 1.58;
  }
  .concept_txt {
    line-height: 2;
    letter-spacing: 0.12em;
    ;
    margin-bottom: 2rem;
  }
  .concept_container .section_long_btn_box {
    margin-top: 4.5rem;
  }
}
/***************************************
consultation_container
***************************************/
.consultation_container {
  background-color: #f3f1ed;
  padding: 0 0 5.7rem;
  margin-bottom: 5.2rem;
}
.consultation_title_wrap {
  display: none;
}
.consultation_unit01 {
  height: 280px;
  position: relative;
  overflow: hidden;
  margin-bottom: 5.2rem;
}
.consultation_img {
  position: relative;
  top: -52%;
  width: 100%;
}
.consultation_img_pc {
  display: none;
}
.consultation_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: 1.9s cubic-bezier(0.19, 1, 0.22, 1);
}
.consultation_unit02 {
  width: 77%;
  margin: 0 auto;
}
.consultation_unit02 .section_title_box {
  margin-bottom: 3.9rem;
}
.consultation_title {
  font-size: 1.64rem;
  line-height: 1.56;
  letter-spacing: 0;
  margin-bottom: 2.2rem;
}
.consultation_txt_pc {
  display: none;
}
.consultation_txt_sp {
  margin-bottom: 4rem;
}
.consultation_txt {
  line-height: 1.78;
  letter-spacing: 0.08em;
  margin-bottom: 1.8rem;
}
@media screen and (max-width: 380px) {
  .consultation_title {
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 768px) {
  .consultation_container {
    padding: 8rem 0 10rem;
    margin-bottom: 8rem;
  }
  .consultation_block {
    width: 87%;
    margin: 0 auto;
  }
  .consultation_title_wrap {
    display: block;
    margin-bottom: 2rem;
    margin-bottom: 8rem;
  }
  .consultation_title_wrap .section_title_box {
    margin-bottom: 0;
  }
  .consultation_item {
    display: flex;
  }
  .consultation_unit01 {
    width: 33%;
    height: auto;
    aspect-ratio: 38 / 49;
    /* padding-top: 6rem;*/
    margin-bottom: 0;
  }
  .consultation_img {
    height: 135%;
    top: -21%;
  }
  .consultation_img_sp {
    display: none;
  }
  .consultation_img_pc {
    display: block;
  }
  .consultation_unit02 {
    width: 50%;
    margin-top: -4.8rem;
    padding-left: 5%;
  }
  .consultation_unit02 .section_title_box {
    display: none;
  }
  .consultation_txt_pc {
    display: block;
    margin-bottom: 2rem;
  }
  .consultation_txt_sp {
    display: none;
  }
  .consultation_txt {
    margin-bottom: 0;
  }
}
@media screen and (min-width: 992px) {
  .consultation_item {
    width: 87%;
    margin: 0 auto;
  }
}
@media screen and (min-width: 1200px) {
  .consultation_container {
    padding: 9.6rem 0 10rem;
    margin-bottom: 9.3rem;
  }
  .consultation_block {
    width: 85.5%;
  }
  .consultation_title_wrap {
    margin-bottom: 10rem;
  }
  .consultation_item {
    width: 84.25%;
  }
  .consultation_unit01 {
    width: 29.3%;
  }
  .consultation_unit02 {
    width: 56%;
    margin-top: -7.8rem;
    padding-left: 6.5%;
  }
  .consultation_title {
    font-size: 1.8rem;
    line-height: 1.58;
    letter-spacing: 0.14em;
  }
  .consultation_txt_pc {
    margin-bottom: 4.9rem;
  }
  .consultation_txt {
    line-height: 2;
    letter-spacing: 0.1em;
  }
}
@media screen and (min-width: 1500px) {
  .consultation_title {
    font-size: 2.125rem;
  }
}


/***************************************
insta_container
***************************************/
.insta_container {
  margin-bottom: 6.6rem;
}
.insta_block {
  width: 82%;
  margin: 0 auto 2.7rem;
}
@media screen and (min-width: 768px) {
  .insta_container {
    margin-bottom: 8rem;
  }
}
@media screen and (min-width: 1200px) {
  .insta_container {
    margin-bottom: 9.3rem;
  }
  .insta_block {
    width: 72%;
    margin-bottom: 3.6rem;
  }
  .insta_block #sb_instagram #sbi_images {
    gap: 30px !important;
  }
}
/***************************************

***************************************/
/* MOUSE FOLLOW */
#mouse-follow {
  width: 130px;
  height: 130px;
  margin-top: -80px;
  margin-left: -70px;
  /*  background-color: rgba(60,60,60,0.80);*/
  background-color: rgba(2, 100, 70, 0.80);
  border-radius: 50%;
  position: absolute;
  z-index: 2000;
  pointer-events: none;
  will-change: transform;
  opacity: 0;
  transform: scale(0);
  transition: transform 0.2s, opacity 0.4s, -webkit-transform 0.2s;
}
#mouse-follow::before {
  content: "More";
  display: block;
  font-family: 'Satoshi', sans-serif;
  font-weight: 400;
  color: #fff;
  font-size: 1rem;
  letter-spacing: 0.04em;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
#mouse-follow.is-show {
  opacity: 1;
  transform: scale(1);
}
@media screen and (max-width: 1023px) {
  #mouse-follow {
    display: none;
  }
}
/***************************************

***************************************/
/***************************************

***************************************/