@charset "UTF-8";

/*----------------------------ボタン----------------------------*/
main .contents_btn01 a span {
    padding: 10px 25px 10px;
}
main .contents_btn01 a, .glossary_archive .content_wrapper .heading.block_header_2 a:after {
    border: none;
    border-left: 2px solid var(--i_btn_color);
    color: var(--i_btn_color);
    position: relative;
    display: inline-block;
    padding-left: 10px;
    padding-right: 10px;
    text-align: center;
    transition: .4s ease-in-out;
    font-family: inherit;
    font-weight: 600;
}
main .contents_btn01 a:before, main form .submit span:before {
    content: '';
    position: absolute;
    bottom: 14px;
    right: -14%;
    width: 15%;
    height: 1px;
    background: var(--i_btn_hover_color);
    transition: all .3s;
}
main .contents_btn01 a:after, main form .submit span:after {
    content: '';
    position: absolute;
    bottom: 19px;
    right: -14%;
    width: 15px;
    height: 1px;
    background: var(--i_btn_hover_color);
    transform: rotate(35deg);
    transition: all .3s;
}
main .contents_btn01 a:hover:before, main form .submit span:hover:before {
    right: -5%;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
}
main .contents_btn01 a:hover:after, main form .submit span:hover:after {
    right: -5%;
}
main .contents_btn01 a:hover, .glossary_archive .content_wrapper .heading.block_header_2 a:hover:after, main form .submit span input:hover {
    background: none;
    color: var(--i_btn_hover_color);
    border-left: 2px solid var(--i_btn_hover_color);
}
main .contents_btn01 a span {
    color: var(--i_btn_hover_color);
}
main .widget_gallery01 a, main .gallery_archive .inner_item a, main .gallery_single .inner_item a {
    overflow: inherit;
}

/*------------------- ギャラリーパーツの変更 --------------------*/
#high_image_gallery + .widget_gallery01 > .content_wrapper{
  padding-bottom: 70px;
  position: relative;
}

#high_image_gallery + .widget_gallery01 .heading .h{
  margin: 0 5px;
}

#high_image_gallery + .widget_gallery01 .add_text{
  max-height: 65vh;
}

#high_image_gallery + .widget_gallery01 .wrapper_item:not(:last-child){
  flex-grow: 1;
}

#high_image_gallery + .widget_gallery01.add_design1 .inner_item a{
  padding-top: 133%;
  position: relative;
}

#high_image_gallery + .widget_gallery01.add_design1 .inner_item a::after{
  content: "";
  display: block;
  width: 100%;
  height: 4px;
  background: #000;
  position: absolute;
  top: 100%;
  left: 0;
  transform: scale(0, 1);
  transform-origin: right center;
  transition: transform 0.7s;
}

#high_image_gallery + .widget_gallery01.add_design1 .inner_item a:hover::after{
  transform: scale(1, 1);
  transform-origin: left center;
}

#high_image_gallery + .widget_gallery01 a:hover img{
  transform: scale(1);
  opacity: 1;
}

@media (max-width: 900px){
  #high_image_gallery + .widget_gallery01 > .content_wrapper{
    justify-content: center;
    flex-wrap: wrap;
  }

  #high_image_gallery + .widget_gallery01 > .content_wrapper .slick-slider{
    width: 100%;
    order: 3;
  }

  #high_image_gallery + .widget_gallery01 .add_text{
    margin-bottom: 20px;
    order: 1;
  }

  #high_image_gallery + .widget_gallery01 .content_wrapper > .heading.block_header_1{
    order: 2;
    flex-direction: column-reverse;
  }
}
@media (max-width: 768px){
#high_image_gallery + .widget_gallery01 {
    background: #fff;
    margin-top: 15vw;
}
#high_image_gallery + .widget_gallery01 > .content_wrapper {
    padding-bottom: 0px;
}
}

/* wide_image_section */
#wide_image_section + section.contents_box01 .inner_item_img{
  order: 0;
}

#wide_image_section + section.contents_box01 .inner_item_img img{
  height: 300px;
  object-fit: cover;
}

#wide_image_section + section.contents_box01 .inner_item_txt{
  width: 50%;
  order: 2;
  flex-basis: 50%;
  margin-top: 30px;
}

#wide_image_section + section.contents_box01 .heading.block_header_6{
  order: 1;
  flex-basis: 50%;
  margin-top: 30px;
}

@media (max-width: 900px){
  #wide_image_section + section.contents_box01 > .content_wrapper {
    background: none;
    padding: 0;
  }
  #wide_image_section + section.contents_box01 .inner_item_img {
    width: 100%;
    flex-basis: 100%;
    max-width: 100%;
    margin-right: auto;
    margin-left: auto;
  }
  #wide_image_section + section.contents_box01 .heading.block_header_6{
    box-sizing: border-box;
    order: 1;
    margin: -3rem 0 0 auto;
    max-width: 90%;
    flex-basis: 90%;
    width: 90%;
    padding: 3rem 3rem 2rem!important;
    background: #fff;
  }
  #wide_image_section + section.contents_box01 .inner_item_txt{
    max-width: 90%;
    flex-basis: 90%;
    width: 90%;
    margin: 0 0 0 auto;
    order: 2;
    padding: 0 3rem 3rem!important;
    background: #fff;
  }
 #wide_image_section + section.contents_box01 .inner_item_txt .contents_btn01 {
    text-align: left!important;
 }
}
@media (max-width: 540px){
  #wide_image_section + section.contents_box01 .heading.block_header_6{
    padding: 2rem!important;
  }
  #wide_image_section + section.contents_box01 .inner_item_txt{
    padding: 0 2rem 2rem!important;
  }
}




/* blogブロックの変更 */
#blog_section + .block_news_1.add_design4 > .content_wrapper ul>li{
  margin-left: 0;
  width: 25%;
} 

#blog_section + .block_news_1.add_design4 > .content_wrapper{
}

#blog_section + .block_news_1.add_design4 .heading{
  align-items: flex-start;
}

#blog_section + .block_news_1.add_design4 .heading .h{
  margin: 0 5px;
}

#blog_section + .block_news_1.add_design4 .add_text{
  text-align: left;
  max-height: 60vh;
}

#blog_section + .block_news_1.add_design4 ul{
  flex-basis: auto;
  width: auto;
  flex-grow: 1;
  align-items: flex-start;
}

#blog_section + .block_news_1.add_design4 ul li{
  height: 50%;
  border-top: none;
}

#blog_section + .block_news_1.add_design4 .content_btn01{
  flex-basis: 100%;
}

@media (max-width: 1090px){
  #blog_section + .block_news_1.add_design4 .add_text{
    margin-bottom: 20px;
    order: -1;
  }

  #blog_section + .block_news_1.add_design4 .heading{
    flex-direction: column-reverse;
  }
}

@media (max-width: 700px){
  #blog_section + .block_news_1.add_design4 > .content_wrapper ul>li{
    width: 50%;
    height: auto;
  }
}
@media screen and (max-width: 550px){
#blog_section + .block_news_1.add_design4 > .content_wrapper ul>li {
    margin-bottom: 50px;
}
}

/* flex_img01 */
#flex_img01+.composite_box01 {
  flex-basis: 60%;
  max-width: 800px;
}

#flex_img01_text {
  width: 0 !important;
}

#flex_img01{
  width: 0 !important;
}

#flex_img01_text+.contents_box01 {
  flex-basis: 40%;
  max-width: 680px;
}

#flex_img01_text+.contents_box01>.content_wrapper {
  flex-direction: column;
}

#flex_img01_text+.contents_box01>.content_wrapper .heading {
  width: auto;
}

#flex_img01_text+.contents_box01>.content_wrapper .heading p {
  margin: 0 5px;
}

#flex_img01_text+.contents_box01>.content_wrapper .wrapper_item {
  max-height: 60vh;
  width: auto;
}

#flex_img01_text+.contents_box01>.content_wrapper .inner_item_txt {
  margin-top: 30px;
  margin-right: 60px;
  display: flex;
  flex-direction: column;
}


/*  */

#flex_img01+.composite_box01>.content_wrapper .wrapper_item{
  padding: 50px 0 200px;
  justify-content: flex-end;
}

#flex_img01+.composite_box01>.content_wrapper .wrapper_item .inner_item {
  width: 250px !important;
  margin: 0 !important;
  position: relative;
  max-width: 33.33333%;
}

#flex_img01+.composite_box01>.content_wrapper .wrapper_item .inner_item:nth-child(1){
  top: 192px;
  margin-right: 4%;
}
#flex_img01+.composite_box01>.content_wrapper .wrapper_item .inner_item:nth-child(2){
  top: 78px;
  margin-right: 5%;
}
#flex_img01+.composite_box01>.content_wrapper .wrapper_item .inner_item:nth-child(3){

}
#flex_img01+.composite_box01>.content_wrapper .wrapper_item .inner_item:nth-child(4){
  top: 190px;
  margin-right: 4%;
}
#flex_img01+.composite_box01>.content_wrapper .wrapper_item .inner_item:nth-child(5){
  top: 80px;
  margin-right: 4%;
}

#flex_img01+.composite_box01.block_images_4 .inner_item_img {
  padding-top: 100%;
  width: 100%;
  background: #000;
    border-radius: 100%;
}

#flex_img01+.composite_box01.block_images_4 .inner_item_img img{
  opaci ty: 0.8;
}

#flex_img01+.composite_box01.block_images_4 .inner_item_txt {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  white-space: nowrap;
}
#flex_img01+.composite_box01>.content_wrapper .wrapper_item .inner_item .inner_item_txt::before{
  position: absolute;
  color: var(--i_btn_color);
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  right: -20px;
  text-shadow: 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff;
  font-size: 10px;
  top: 0;
}
#flex_img01+.composite_box01>.content_wrapper .wrapper_item .inner_item:nth-child(1) .inner_item_txt::before{
    content: "CONDOMINIUM";
}
#flex_img01+.composite_box01>.content_wrapper .wrapper_item .inner_item:nth-child(2) .inner_item_txt::before{
    content: "APARTMENT";
}
#flex_img01+.composite_box01>.content_wrapper .wrapper_item .inner_item:nth-child(3) .inner_item_txt::before{
    content: "STORE";
}
#flex_img01+.composite_box01>.content_wrapper .wrapper_item .inner_item:nth-child(4) .inner_item_txt::before{
    content: "LARGE SCALE REPAIR";
}
#flex_img01+.composite_box01>.content_wrapper .wrapper_item .inner_item:nth-child(5) .inner_item_txt::before{
    content: "BATHROOM";
}

@media (max-width: 950px){
  #flex_img01{
    order: calc(var(--initial-order) + 2) !important;
  }

  #flex_img01 + .composite_box01{
    order: calc(var(--initial-order) + 2) !important;
    width: 100%;
    flex-basis: 100%;
  }

  #flex_img01_text{
    order: calc(var(--initial-order) - 2) !important;
  }

  #flex_img01_text + .contents_box01{
    order: calc(var(--initial-order) - 2) !important;
    width: 100%;
    flex-basis: 100%;
  }

  #flex_img01+.composite_box01>.content_wrapper .wrapper_item{
    justify-content: center;
  }

  #flex_img01+.composite_box01>.content_wrapper .wrapper_item .inner_item:nth-child(5){
    margin-right: -16%;
  }

  #flex_img01_text+.contents_box01>.content_wrapper{
    display: flex;
    justify-content: center;
  }
}

@media (max-width: 900px){
  main#main{
    display: flex;
  }
}

@media (max-width: 600px){
  #flex_img01+.composite_box01>.content_wrapper .wrapper_item{
    justify-content: space-between;
    padding-bottom: 150px;
  }

  #flex_img01+.composite_box01>.content_wrapper .wrapper_item .inner_item{
    width: 45% !important;
    max-width: 50%;
    margin: 0 0 30px !important;
    top: 0 !important;
  }

  #flex_img01+.composite_box01>.content_wrapper .wrapper_item .inner_item:nth-child(1){
    transform: translateY(50%);
  }
  #flex_img01+.composite_box01>.content_wrapper .wrapper_item .inner_item:nth-child(3){
    transform: translateY(50%);
  }
  #flex_img01+.composite_box01>.content_wrapper .wrapper_item .inner_item:nth-child(5){
    margin-left: 55%!important;
  }
}

/*----------------------mv変更--------------------------------------*/
header{
    color: var(--i_txt_color);
}
body.scrolled header{
    color: #fff;
}
body header.open{
    color: #fff;
}
header .inner>.btn>a{
    color: var(--i_txt_color);
    border-color: var(--i_txt_color);
}
body.scrolled header .inner>.btn>a{
    color: var(--i_txt_color);
    border-color: var(--i_txt_color);
}
body header.open .inner>.btn>a{
    color: #fff;
    border-color: #fff;
}
header .sp_menu a div span, header .sp_menu a div:before, header .sp_menu a div:after{
    background: var(--i_txt_color);
}
body.scrolled header .sp_menu a div span,
body.scrolled header .sp_menu a div:before,
body.scrolled header .sp_menu a div:after,
{
    background: var(--i_txt_color);
}
body header.open .sp_menu a div span,
body header.open .sp_menu a div:before,
body header.open .sp_menu a div:after{
    background: #fff;
}

header .header_contents .header_col1 .tel svg, 
header .header_contents .header_col1 .btn .translate a svg, 
header .burger li.sp_translate a svg, 
header .header_contents .header_sns li svg{
    fill: var(--i_txt_color) !important;
}
body.scrolled header .header_contents .header_col1 .tel svg, 
body.scrolled header .header_contents .header_col1 .btn .translate a svg, 
body.scrolled header .burger li.sp_translate a svg, 
body.scrolled header .header_contents .header_sns li svg{
    fill: var(--i_txt_color) !important;
}
header.open .header_contents .header_col1 .tel svg, 
header.open .header_contents .header_col1 .btn .translate a svg, 
header.open .burger li.sp_translate a svg, 
header.open .header_contents .header_sns li svg{
    fill: #fff !important;
}
body.scrolled header.open .header_contents .header_col1 .tel svg, 
body.scrolled header.open .header_contents .header_col1 .btn .translate a svg, 
body.scrolled header.open .burger li.sp_translate a svg, 
body.scrolled header.open .header_contents .header_sns li svg{
    fill: #fff !important;
}

#mv.slide06 .mv_img li.r, #mv.slide07 .mv_img li.r{
    left: calc( 50% + 220px);
    top: calc(50% - 220px);
}

#mv.slide06 .mv_img li:not(.r), #mv.slide07 .mv_img li:not(.r){
    bottom: 40px;
    right: calc( 50% + 220px);
    left: initial;
}

#mv:before{
    display: none;
}

#mv:after{
    display: none;
}

@keyframes slide07 {
    0% {
        clip-path: inset(0px 100% 0px 0px);
    }

    100% {
        clip-path: inset(0px 0% 0px 0px);
    }
}

#mv.slide07 .mv_img li.show img{
    opacity: 1;
    animation-duration: 1500ms !important;
}

#mv .mv_text>div{
    display: inline-flex;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    flex-direction: column;
    justify-content: center;
    color: var(--i_txt_color);
}

#mv .mv_text h2{
    padding-top: 0;
    font-size: 4rem !important;
}

#mv .mv_text h2:before{
    width: auto;
    position: relative;
    font-size: 2rem;
}

@media (max-width: 768px){
    #mv.slide06 .mv_img li.r, #mv.slide07 .mv_img li.r{
        display: none;
    }
#mv.slide06 .mv_img li:not(.r), #mv.slide07 .mv_img li:not(.r){
    left: 0;
}
}


#high_image_gallery + .widget_gallery01 .slick-slider{
  overflow: hidden;
}



#blog_section + .block_news_1.add_design4 > .content_wrapper ul>li {
  margin-left: 1%;
    width: 23%;
    margin-right: 1%;
}

@media screen and (max-width: 700px) {
  #blog_section + .block_news_1.add_design4 > .content_wrapper ul>li {
  margin-left: 1%;
    width: 48%;
    margin-right: 1%;
 }
}