﻿/* ------------- my css ------------- */

body{
    font-size: 16px;
}

/* color */
.txt_color_nomal, .hvr_txt_color_nomal:hover{color: var(--black);}
:root{
    --color1: #32ad4c; 
    --color2: #daf2de; 
    --color3: #ddb068; 
    --color4: #fdffe1; 
    --black: #151a1e; 
}

.txt_red, .hvr_txt_red:hover{color: #C12326;}
.txt_gray, .hvr_txt_gray:hover{color: #ccc}
.txt_color1, .hvr_txt_color1:hover{color: var(--color1)} /* メインカラー */
.txt_color2, .hvr_txt_color2:hover{color: var(--color2)} /* サブカラー */
.txt_color3, .hvr_txt_color3:hover{color: var(--color3)} /* アクセントカラー1 */
.txt_color4, .hvr_txt_color4:hover{color: var(--color4)} /* アクセントカラー2 */

/* background-color */
.bg_black, .hvr_bg_black:hover{background-color: var(--black)} /* 黒背景 */
.bg_gray, .hvr_bg_gray:hover{background-color: #ccc}
.bg_color1, .hvr_bg_color1:hover{background-color: var(--color1)} /* メインカラー */
.bg_color2, .hvr_bg_color2:hover{background-color: var(--color2)} /* サブカラー */
.bg_color3, .hvr_bg_color3:hover{background-color: var(--color3)} /* アクセントカラー1 */
.bg_color4, .hvr_bg_color4:hover{background-color: var(--color4)} /* アクセントカラー2 */
.bg_color_clear, .hvr_bg_color_clear:hover{background-color: transparent!important}

/* border-color ※!important */
.border_black, .hvr_border_black:hover{border-color: var(--black)}
.border_gray, .hvr_border_gray:hover{border-color: #ccc}
.border_color1, .hvr_border_color1:hover{border-color: var(--color1)}
.border_color2, .hvr_border_color2:hover{border-color: var(--color2)}
.border_color3, .hvr_border_color3:hover{border-color: var(--color3)}
.border_color4, .hvr_border_color4:hover{border-color: var(--color4)}


/*自動リンク設定*/
.linkStyle{
    color:var(--color1);
}
.linkStyle:hover{
	opacity:0.7
}

.flex_box{
    min-width: 1200px;
}

@media screen and (max-width: 768px) {
    .flex_box{
    min-width: auto;
}
}

.point_no{
    pointer-events: none;
}

.width_35{
    width: 35px;
}

.scroll_bt{
    display: none;
}

/* header ---------------------------------------------------------------------------------------------*/
.fat-nav li {
    font-size: 16px;
}


@media screen and (max-width: 768px) {
    .main_box {
        padding-top: 67px;
    }
    
}

@media screen and (max-width: 667px) {
    .main_box {
        padding-top: 53px;
    }
}

/* fv ---------------------------------------------------------------------------------------------*/
#main_img{
    max-height: 800px;
}
.main_bg{
    top: 0;
    left: 0;
        height: 100vh;
    width: 100%;
}
.main_bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center; 
}

.main_img{
    bottom: 0;
  left:50%;
  transform: translate(-50%, 0); /* 中央に移動 */
  width: auto;
  height: 61vh;
}

.main_img img{
    width: auto;
  height: 100%;
}
.main_txt{
    top: 9%;
    left: 50%;
    transform: translateX(-50%);
    width: 80%;
    max-width: 800px;
}
.main_item1-r{
    right: -10px;
    bottom: -20px;
    opacity: 0.8;
    width: 38%;
    max-width: 500px;
    mix-blend-mode: multiply;
}

.main_item1-l{
    left: -5px;
    bottom: -20px;
    opacity: 0.8;
    width: 35%;
    max-width: 420px;
    mix-blend-mode: multiply;
}

.main_item2{
    bottom: 20px;
    left: 20px;
    width: 40%;
    max-width: 500px;
}



@media screen and (max-width: 768px) {
    #main_img {
        max-height: 70vh;
        min-height: 70vh;
    }
    .main_img{
        height: 44vh;
    }
    .main_txt {
        left: 55%;
    }
}


@media screen and (max-width: 667px) {
    .main_txt {
    top: 11%;
    width: 90%;
}
.main_item2 {
    bottom: 10px;
    left: 10px;
    width: 60%;
}
}


/*------------- TOP -------------*/
#contents1{
    background-image: url("/Files/img/con_bg.png"); 
  background-size: cover; 
  background-position: center; 
  background-repeat: no-repeat; 
}


.con_bg{
    z-index: -1;
    width: 100%;
  height: 100%;
}

.con_bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center; 
}
#top_cms .item1{
    z-index: -1;
    width: 35%;
    max-width: 400px;
    top: -10%;
    right: 0;
}
@media screen and (max-width: 768px) {
.head_banner{
    display: none;
}
#attach {
        height: 410px;
    }
}

@media screen and (max-width: 667px) {
    #attach {
        height: 190px;
    }
}

/*------------- 施工事例 -------------*/

#cms_2-b .cate .width_50per{
    margin: 0 auto 20px;
    width: 47% !important;
}


#cms_2-b .box_img1 {
  display: inline-block;
}

#cms_2-b .img1::before {
  content: 'before'; 
  position: absolute;
  top: 0;
  left: 0;
  background: var(--color3); 
  color: #fff; 
  font-size: 16px;
  padding: 3px 8px;
  border-radius: 0 0 10px 0;
  font-weight: bold;
}
#cms_2-b .img2::before {
  content: 'after'; 
  position: absolute;
  top: 0;
  left: 0;
  background: var(--color1); 
  color: #fff; 
  font-size: 16px;
  padding: 3px 8px;
  border-radius: 0 0 10px 0;
  font-weight: bold;
}



@media screen and (max-width: 667px) {
#cms_2-b .cate .width_50per {
    width: 100% !important;
}

}




/* fix_bnr ---------------------------------------------------------------------------------------------*/
#fix_bnr {
    bottom: 20px;
    right: 20px;
    z-index: 10;
    width: 70%;
    max-width: 450px;
    transition: 0.8s;
    display: block;
    margin: auto;
}
#fix_bnr.scroll{
    opacity: block;
}
#fix_bnr.close{
    display: none;
    z-index: -1;
}

#fix_bnr img:first-child {
    display: none;
    margin-bottom: -12%;
}

#fix_bnr:hover img:first-child {
    display: inline;
}

#fix_bnr .people {
    top: -12%;
    right: 20px;
    width: 30%;
    z-index: 2;
    transform: translate(0, -50%);
    pointer-events: none;
}



@media screen and (max-width: 768px){
#fix_bnr{
    max-width: 400px;
}
#fix_bnr.close{
    transform: translateX(200px);
}
}
@media screen and (max-width: 667px){
    #fix_bnr {
        width: 77% !important;
        margin: auto;
        right: auto;
        left: 50%;
        bottom: 10px;
        transform: translate(-50%, 0);
    }
}



/* fix_bnr end ---------------------------------------------------------------------------------------------*/


/*------------- footer -------------*/
.item2{
    top: 0;
    right: 20px;
    width: 20%;
    max-width: 300px;
    z-index: -1;
}

.footer_bg{
    margin-top: -5%;
    width: 100%;
}
@media screen and (max-width: 667px){
.item2{
        top: -1%;
    right: -10px;
    width: 50%;
}
}
}