﻿/* ------------- my css ------------- */

@import url('https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c&family=Zen+Kurenaido&display=swap');

/* color */
.txt_color_nomal, .hvr_txt_color_nomal:hover{color: var(--black);}
:root{
    --color1: #649964; 
    --color2: #e8efe8; 
    --color3: #5ab75a; 
    --color4: #ffd72e; 
    --color5: #fff; 
    --black: #16110d; 
    --jp:"M PLUS Rounded 1c", "游ゴシック体","Yu Gothic",sans-serif;
}

.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
}

/*フォント*/

.font_jp,h2,h3,h4{
    font-family: var(--jp);
}

/* ------------- animation ------------- */
.fadein{
	transform: translateY(20px);
	transition: transform 1.5s ease, opacity 2s;
	transition-property: opacity,transform;
	opacity: 0;
}
.fadein.start{transform: translateY(0);opacity: 1;}

/* ------------- header ------------- */

.header{
    font-family: var(--jp);
}

.logo1 {
    max-width: 200px;
    padding-left: 20px;
    padding-right: 80px;
}

#sp_nav .sp_nav_inner .menu__header .logo3 img {
    max-width: 250px;
}
@media screen and (max-width: 768px) {
.sp_nav_inner .l-menu .width_50per_tb{
    width: 100% !important;
    margin-bottom: 0px;
}
.sp_nav_inner .l-menu .font_jp{
    margin-top: 20px;
}
/*header{
        background-color: #fff;
    padding-bottom: 10px;
}

.menu_btn{
    border:none;
    box-shadow:none;
}*/

}

@media screen and (max-width: 667px) {
.logo1 {
    max-width: 150px;
    padding-left: 10px;
}
#sp_nav .sp_nav_inner .menu__header .logo3 img {
    max-width: 160px;
}
    #sp_nav .sp_nav_inner .menu__header {
        padding: 5% 8% 5%;
    }
    .sp_nav_inner .l-menu .font_jp{
    margin-top: 0;
}
#sp_nav .sp_nav_inner .l-menu ul li {
        padding: 3px 0;
    }
    

}
/* ------------- FV ------------- */




.txt_anim6 span{
	display: inline-block;
	-webkit-transform: translateY(20px);
	transform: translateY(20px);
	-webkit-animation: .35s cubic-bezier(.175,.885,.32,1.275) both;
	animation: .35s cubic-bezier(.175,.885,.32,1.275) both;
	opacity: 0;
}
.txt_anim6 span.start{
	-webkit-animation-name: slide-bs;
	animation-name: slide-bs;
	opacity: 1;
}
@keyframes slide-bs{
	0%{-webkit-transform: translateY(20px);transform: translateY(20px);}
	100%{-webkit-transform: translateY(0);transform: translateY(0);}
}


#main_img .posi_abs{
    z-index: 2;
}

#main_img .sub_txt {
    font-size: 46px;
    left: 14%;
    bottom: 16%;
    font-family: "Zen Kurenaido", sans-serif;
        filter: drop-shadow(0px 0px 4px #649964) drop-shadow(0px 0px 13px #649964);
        line-height: 1.3;
}


#main_img .main_txt {
    width: 50%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

#main_img .fv_item3 {
        writing-mode: vertical-rl;
    color: var(--color1);
    font-size: 25px;
    bottom: 3%;
    right: 0;
    background-color: #fff;
    padding: 3% 7px;
    border-radius: 10px 0 0 10px;
    text-align: center;
}
#main_img .fv_item2 {
    top: 15%;
    right: 0;
        width: 28%;
    max-width: 300px;
}
@media screen and (max-width: 768px) {
#main_img{
    padding-top: 120px;
}
#main_img .sub_txt {
    font-size: 32px;
    left: 11%;
    bottom: 8%;
}
#main_img .fv_item2 {
    top: 23%;
}
#main_img .fv_item3{
    font-size: 20px;
}
}
@media (min-width: 667px) and (max-width: 768px){
    #main_img{
        height: 60vh;
    }
    
    #main_img img{
        object-fit: cover;
        height: 100%;
    }
}
@media screen and (max-width: 667px) {
#main_img{
    padding-top: 90px;
}
#main_img .sub_txt {
    font-size: 20px;
            left: 11%;
        bottom: 11%;
    }

#main_img .fv_item3 {
        height: 19%;
        padding: 3% 5px;
        font-size: 14px;
}
}

/* ------------- TOP ------------- */

.pagetop {
    z-index: 10;
}

.txt_anim1 span{
	position: relative;
	right: 20px;
	opacity: 0;
	transition: all .8s;
}
.txt_anim1 span.start{
	right: 0;
	opacity: 1;
}


.top_txt{
    font-size: 40px;
}

.con1_inner{
    position: relative;
    z-index: 5;
}

#con1 .con1_inner .txt_left{
    filter: drop-shadow(2px 2px 5px #fff);
}

#con1 .leef1{
    right: 0;
    top: 5%;
    width: 22%;
    max-width: 450px;
}

#con1 .leef2{
    bottom: 0;
    left: 0;
    width: 22%;
    max-width: 270px;
}

#con2 .item6{
    top: 0;
    right: 10%;
    z-index: 2;
    width: 20%;
    max-width: 300px;
}

#con3 .leef1 {
    transform: rotate(106deg);
    left: 0;
    top: -2%;
    width: 22%;
    max-width: 290px;
}
#topCms .leef2 {
        transform: rotate(270deg);
    right: 0;
    top: -5%;
    width: 22%;
    max-width: 330px;
}



#con3 .title .sl{
    display: none;
}
#con3 .title .en {
    font-size: 32px;
}


#con3 .box .icon {
    margin-top: -95px;
}

@media screen and (max-width: 768px) {
#con1 .leef1 {
    top: 2%;
    width: 27%;}
    
    #con1 .leef2 {
    bottom: -8%;
    width: 20%;
    }
#con1 h2{
    line-height: 1.5;
}

#con2 .d_flex .txt_color3{
    position: relative;
    z-index: 5;
}
    #con3 .box .img {
        max-width: 500px;
        margin: 0 auto;
        border-radius: 20px;
    }
    #con3 .txt{
        max-width: 500px;
        margin: 0 auto 50px;
    }
}

@media screen and (max-width: 667px) {
    .top_txt{
        font-size: 25px;
        line-height: 1.5;
    }
    #con2 .item6 {
        width: 32%;
    right: 0;
    }
    
    #con3 .box .img {
        max-width: 300px;}
        
        #con3 .title .en {
    font-size: 24px;
}
#con3 .leef1 {
    top: -3%;
    width: 35%;
}
#topCms .leef2 {
    top: -21%;
    width: 30%;}


}

/* ------------- footer ------------- */
.footer .txt_white{
    color: var(--color1);
}
.f_sitemap_inner li {
    width: 33.3%;
}

div.footer{
    display: grid;
    justify-content: center;

}

.f_sitemap_inner li {
    width: 33.3%;
    border-bottom: 1px solid #d9e6d9;
    padding: 3px 0;
}



/* ------------- 下層ページ ------------- */

.pagetitle_img{
    opacity: 0.8;
}


.pagetitle{
    background-color: transparent;
        padding-top: 250px;
}


.cate_list li a {
    border-color: var(--color3);
}

.cate_list li a:hover {
    background-color: var(--color3);
    color: #fff;
}

.all_contents.pd_t-100px{
    padding-top: 0px;
}
@media screen and (max-width: 768px) {
.cate_list .grid_4{
    width: 100% !important;
}
}

@media screen and (max-width: 667px) {
.pagetitle{
    padding-top: 140px;
    padding-bottom: 30px;
}
.all_contents.pd_t-50px_sp {
        padding-top: 10px;
    }
}


/*施工事例*/

#cms_2-c .cate:first-child .box_img1{
    display: none;
}


}