﻿/* ------------- my css ------------- */
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');


/* color */
.txt_color_nomal, .hvr_txt_color_nomal:hover{color: var(--black);}
:root{
    --color1: #7ad3e2; 
    --color2: #f8feff; 
    --color3: #3876c1; 
    --color4: #d2f1ff; 
    --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
}

#page1, header{
    min-width: 1200px;
}

@media screen and (max-width: 768px) {
    #page1, header{
    min-width: auto;
}
}

.point_no{
    pointer-events: none;
}

.en, .cmstitle .jp{
    font-family: "Roboto", sans-serif;
}
.noto, .title ,.title .en , .cmstitle .en{
    font-family: "Noto Serif JP","游明朝",'Yu Mincho', serif;
}
/*------------- nav -------------*/
.menu_btn .bg_color2{
    background-color: var(--color1);
}
@media screen and (max-width: 667px) {
    #sp_nav .sp_nav_inner .l-menu ul li {
        padding: 2px 0;
    }
}
/*------------- pagetop -------------*/
.pagetop{
    bottom: 26px !important;
}

@media screen and (max-width: 768px) {
    .pagetop {
        bottom: 12px !important;
    }
}

/*------------- FV -------------*/
#main_img{
    height: 100vh !important;
    overflow: hidden;
}
.main_txt{
    z-index: 4;
    top: 50%;
    left: 33%;
    transform: translate(-50%, -50%);
        width: 40%;
    max-width: 650px;
    min-width: 450px;
}
.sub_txt{
    font-size: 26px;
    line-height: 1.4;
        filter: drop-shadow(0px 0px 6px #fff);
        color: #1a72a3;
}
.txt_anim1 span{
	position: relative;
	right: 20px;
	opacity: 0;
	transition: all .8s;
}
.txt_anim1 span.start{
	right: 0;
	opacity: 1;
}


#main_img::before {
        content: '';
    position: absolute;
    top: -30%;
    left: 0;
    width: 73vw;
    height: 120vh;
    background: linear-gradient(55deg, #f0f8ff, #007bff);
    opacity: 0.5;
    transform: skewY(-53deg) translateY(-20%);
    z-index: 3;
    mix-blend-mode: multiply;
}
#main_img::after {
    content: '';
    position: absolute;
    top: -29%;
    left: 0;
    width: 73vw;
    height: 120vh;
    background: linear-gradient(55deg, #f0f8ff, #007bff);
    opacity: 1;
    transform: skewY(-53deg) translateY(-20%);
    mix-blend-mode: screen;
    z-index: 3;
}

@media screen and (max-width: 768px) {
        #main_img::before {
        top: -56%;
        left: -46%;
        width: 120vw;
    }
      #main_img::after {
        top: -50%;
        left: -49%;
        width: 120vw;
    }
    
    .main_txt{
    top: 10%;
    left: 50%;
    transform: translate(-50%, 0);
    width: 60%;
    min-width: auto;
    }
    
}

@media screen and (max-width: 667px) {
    #main_img{
    height: 75vh !important;
    }
    .main_txt {
        top: 13%;
        left: 50%;
        transform: translate(-50%, 0);
        width: 70%;
    }
    .sub_txt {
    margin-top: 5px;
    font-size: 14px;
    font-weight: bold;
    }
    #main_img::before{
        top: -80%;
        left: -46%;
        width: 180vw;
    }
       #main_img::after {
        top: -80%;
        left: -45%;
        width: 180vw;
    }
}

/*------------- TOP -------------*/

.icon .width_100{
    width: 80px;
}
#con3 .title .en {
    font-size: 36px;
}
#con2 .topimg2 img, #con2 .topimg3 img {
    border-radius: 10px;
}

.cms_2-f .swiper-button-prev, .cms_2-f .swiper-button-next {
    bottom: -75px;
    font-size: 50px;
}

.cms_2-f .swiper-button-next {
    left: 45px;
}

@media screen and (max-width: 768px) {
    #con3 .box .img {
        max-width: 300px;
        margin: 0 auto;
        border-radius: 20px;
    }
}

@media screen and (max-width: 667px) {
    #con1 .title .sp_txt  {
        font-size: 26px;
        line-height: 1.4;
        text-align: center;
    }
    #con2 .title .sp_txt {
       font-size: 24px;
        line-height: 1.4;
        text-align: center;
    }
    #con3  .title .sp_txt{
        font-size: 30px;
        line-height: 1.4;
        text-align: center;
    }
}


/*------------- footer -------------*/
.f_sitemap_inner li {
    width: 25%;
}

@media screen and (max-width: 768px) {
    .f_sitemap_inner li {
        width: 30%;
    }
}

/*------------- 下層 -------------*/
.pagetitle {
    padding-top: 200px;
}


.pagetitle span{
    opacity: 0.6;
    mix-blend-mode: normal;
}
.pagetitle h2{
        font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "游ゴシック体", YuGothic, "YuGothic M", meiryo, sans-serif;
    color: #fff;
        font-weight: bold;
        filter: drop-shadow(0 0 6px rgba(56, 118, 193, 0.6));
}

.pagetitle p{
        color: #fff;
        filter: drop-shadow(0 0 6px rgba(56, 118, 193, 0.6));
        font-family: "Roboto", sans-serif;
}
.pagetitle p span{
    display: none;
}

.cate_list li a:hover{
    background-color: var(--color4);
}

@media screen and (max-width: 768px) {
    .pagetitle {
        padding-top: 124px;
    }
    .cate_list li a {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    padding: 10px;
}
}
@media screen and (max-width: 667px) {
    .pagetitle {
        padding-top: 120px;
    }
}

/*------------- 施工事例 -------------*/
#cms_2-a .cate .width_50per{
    margin: 0 auto 20px;
    width: 47% !important;
}


#cms_2-a .box_img1 {
  display: inline-block;
}

#cms_2-a .img1::before {
  content: 'before'; 
  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;
}
#cms_2-a .img2::before {
  content: 'after'; 
  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;
}



@media screen and (max-width: 667px) {
#cms_2-a .cate .width_50per {
    width: 100% !important;
}

}

/*------------- お問い合わせ -------------*/
.mail_btn input{
    cursor: pointer;
}

@media screen and (max-width: 667px) {
    #page8 .contact_tel a {
        display: block;
        padding: 10px 15px;
        line-height:1.5;
    }
}
/*-------------fix_bnr---------------*/
#fix_bnr{
    bottom: 10px;
    right: 100px;
    z-index: 8;
    width: 320px;
}

#fix_bnr a:hover{
    opacity: 0.7;
}

@media screen and (max-width: 667px){
	#fix_bnr{
	    width: 70%;
	    bottom: 8px;
	     transform: translate(0, 0);
	    left: 20px;
	}
}