@charset "UTF-8";

body {
    background-color:#fff;
}
html {
    background-color:#000;
    scroll-behavior: smooth;
}
:target {
  scroll-margin-top: 90px;
}

/* --- ダミー --- */
.dumyHeader{
    width:100%;
    height:50px;
    background-color:#004c97;
}
.headerWrap{
    max-width:1000px;
    margin:0 auto;
    height:50px;
    background-image:url("../_img_bg/logo.svg");
    background-repeat:no-repeat;
    background-size:220px;
    background-position:left center;
}

/* --- main --- */
#gmbs{
    line-height: 1.5;
    /* overflow: hidden; */
    width:100%;
    max-width:1000px;
    margin:0 auto;
    padding:40px 0;
    color:#333;
                
}

.gmHeader{
    padding:0 16px;
}
#gmbs .ttl01{
    width:100%;
    margin:0 auto 40px;
}
#gmbs .ttl01 img{
    width:100%;
    margin:0 auto;
}
.leadBlock{

}
#gmbs .ttl02,
#gmbs .spCase{
    font-size: clamp(16px, 3vw, 30px);
    text-align:center;
    font-weight:700;
    margin-bottom:0.7em;
}

#gmbs .ttl02sub{
    display:block;
    text-align:center;
    font-size: clamp(11px, 2vw, 13px);
    color:#555;
}
#gmbs .tx01{
    width:90%;
    margin:0 auto 40px;
    font-size: clamp(13px, 4vw, 17px);
    font-weight:600;
    line-height:1.5;
}
#gmbs .tx02{
    width:100%;
    margin:0 auto 40px;
    font-size: clamp(13px, 2vw, 16px);
    font-weight:600;
    line-height:170%;
}
#gmbs .ttl03{
    font-size: clamp(14px, 3vw, 24px);
    font-weight:700;
    margin-bottom:0.5em;
}
#gmbs .ttl03b{
    font-size: clamp(14px, 3vw, 24px);
    font-weight:700;
    margin-bottom:0.3em;
}
#gmbs .capt{
    font-size: clamp(13px, 2vw, 16px);
    font-weight:550;
    margin-top:0.1em;
}
#gmbs .capt2{
    font-size: clamp(13px, 2vw, 16px);
    font-weight:550;
    margin-top:0.1em;
}
#gmbs .capt3{
    font-size: clamp(12px, 2vw, 14px);
    font-weight:550;
    margin-top:0.1em;
}


/* --- #004c97 --- */
.mokuji{
    width:85%;
    margin:0 auto 40px;
}
.mokuji .each{
    display:flex;
    justify-content: left;
    font-size: clamp(13px, 2vw, 16px);
    margin-bottom:1em;
}
/*
.each .num {
    display: inline-block;
    font-size: clamp(12px, 1.6vw, 14px);
    width: 4.5em;
    height: 4.7em;
    background: #004c97;
    color:#fff;
    font-weight:900;
    clip-path: polygon(0 -1.2%, 86.5% -1.2%, 86.5% 0, 100% 50%, 86.5% 100%, 86.5% 101.2%, 0 101.2%);
    text-align:left;
    padding:0.35em 0 0 0.3em;
    line-height:100%;
    white-space:nowrap;
}
.each .num b{
    display:block;
    font-weight:bolder;
    text-align:center;
    font-size: clamp(13px, 2.8vw, 40px);
    padding:0.25em 0 0 0;
    margin-left:-0.2em;
}
*/
.each .num{
    width:8.5%;
    min-width:170px;
}
.each .num img{
    width:100%;
}
.each .tx{
    min-width:70%;
    font-size: clamp(13px, 2vw, 20px);
    color:#333;
    font-weight:700;
    padding:0 0 0 0.7em;
    line-height:1.2;
      flex-basis: 90%;
}
.each .tx em{
    display:block;
    font-size: clamp(16px, 3vw, 28px);
    color:#004c97;
    font-weight:700;
    text-decoration:none;
    padding-bottom:0.1em;
    line-height:100%;
}

/* --- 施工 --- */
.sekou{
    width:100%;
    padding:0 16px;
    margin:0 auto 40px;
}
.sekouImg{
    display:flex;
    gap:0 1em;
}
.sekouImg p{
    width:50%;
}
.sekouImg img{
    width:100%;
}

/* --- 耐久性 --- */
.taikyuusei{
    width:100%;
    padding:0 16px;
    margin:0 auto 40px;
}
.taikyuuseiImg{
    display:flex;
    gap:0 1em;
}
.taikyuuseiImg p{
    width:50%;
}
.taikyuuseiImg img{
    width:100%;
}

/* --- 撥水効果 --- */
.hassuikouka{
    width:100%;
    padding:0 16px;
    margin:0 auto 40px;
}
.hassuikoukaImg{
    display:block;
}
.hassuikoukaImg p{
    width:100%;
    margin-bottom:24px;
}
.hassuikoukaImg img{
    width:100%;
}

/* --- about tx --- */
.aboutTextBlock{
    padding:0 16px;
    margin-bottom:40px;
}

/* --- 施工価格 --- */
.constructionPrice{
    width:100%;
    padding:0 16px;
    margin:0 auto 40px;
}
.priceTtl{
    background-color:#004c97;
    color:#fff;
    font-size: clamp(14px, 3vw, 16px);
    font-weight:550;
    margin:0;
    padding:0.3em 0.7em;
    line-height:150%;
}
.priceTtl b{
    font-size: clamp(15px, 3vw, 20px);
    font-weight:600;
}
.priceTtl span{
    font-weight:600;
}
.priseTb{
    width:100%;
    margin:0 0 0.2em 0;
    padding:0;
}
.priseTb th{
    background-color:#ccc;
    font-size: clamp(12px, 2vw,14px);
    font-weight:600;
    text-align:center;
    padding:0.2em 0.7em;
    border-bottom:1px solid #333;
    border-left:1px solid #333;
}
.priseTb th.fst{
    font-size: clamp(13px, 2vw,16px);
    font-weight:700;
    text-align:left;
    border-left:none;
}
.priseTb td.fst{
    font-size: clamp(13px, 2vw,16px);
    font-weight:700;
    text-align:left;
    border-left:none;
}
.priseTb td{
    font-size: clamp(12px, 2vw,14px);
    font-weight:600;
    text-align:right;
    padding:0.2em 0.7em;
    border-bottom:1px solid #333;
    border-left:1px solid #333;
}

.comntact{
  display: inline-block;
  font-size: clamp(13px, 2vw,16px);
  width: 100%;
  height: 3em;
  line-height: 3em;
  padding:0 1em;
  background: #aaa;
  clip-path: polygon(0 -44.5%, 97.6% -44.5%, 97.6% 0, 100% 50%, 97.6% 100%, 97.6% 144.5%, 0 144.5%);
  margin-bottom:80px;
}

/* --- ダミーfooter --- */
.dumyFooter{
    width:100%;
    height:250px;
    background-color:#000;
}
.container{
    max-width:1000px;
    margin:0 auto;
    height:100%;
    background-image:url("../_img_bg/logo.svg");
    background-repeat:no-repeat;
    background-size:220px;
    background-position:left 50px;
}





/* --- SP --- */
@media screen and (max-width:768px){

/* --- ダミー --- */
.dumyHeader{
    width:100%;
    height:50px;
}
.headerWrap{
    background-position:center center;
}

/* --- main --- */

    #gmbs{
        line-height: 1.5;
        width:100%;
        padding:10vw 0;
    }
    .gmHeader{
        padding:0 4vw;
    }
    #gmbs .ttl01{
        margin:0 auto 10vw;
    }

    #gmbs .ttl02{
        font-size: 5vw;
        text-align:center;
        font-weight:700;
        margin-bottom:0.7em;
    }
    #gmbs .spCase{
        font-size: 6vw;
        display:block;
        margin-bottom:0;
        line-height:1.4;
    }
    #gmbs .ttl02sub{
        display:block;
        text-align:center;
        font-size: 3vw;
    }
    #gmbs .tx01{
        width:90%;
        margin:0 auto 10vw;
        font-size: 4.25vw;
        font-weight:600;
        line-height:1.5;
    }
    #gmbs .tx02{
        width:100%;
        margin:0 auto 10vw;
        font-size: 4.25vw;
        font-weight:600;
        line-height:1.5;
    }
    #gmbs .ttl03{
        font-size: 5vw;
        font-weight:700;
        margin-bottom:0.5em;
    }
    #gmbs .ttl03b{
        font-size: 5vw;
        font-weight:700;
        margin-bottom:0.5em;
    }
    #gmbs .capt{
        font-size: 3.7vw;
        font-weight:550;
        margin-top:0.1em;
    }
    #gmbs .capt2{
        font-size: 3.7vw;
        font-weight:550;
        margin-top:0.1em;
    }
    #gmbs .capt3{
        font-size: 3.5vw;
        font-weight:550;
        margin-top:0.1em;
        line-height:1.4;
    }

    /* --- #004c97 --- */
    .mokuji{
        width:92vw;
        margin:0 auto 10vw;
    }
    .mokuji .each{
        display:flex;
        justify-content: left;
        font-size: 4vw;
        margin-bottom:0.5em;
    }
    .each .num{
        width:25%;
        min-width:25%;
    }
    .each .tx{
        width:70%;
        min-width:70%;
        font-size: 3.5vw;
        color:#333;
        font-weight:700;
        padding:0 0 0 0.5em;
        line-height:1.3;
        letter-spacing:-0.01em;
        flex-basis: 90%;
    }
    .each .tx em{
        display:block;
        font-size: 4vw;
        color:#004c97;
        font-weight:700;
        text-decoration:none;
        padding-bottom:0.3em;
        line-height:1.2;
    }

    /* --- 施工 --- */
    .sekou{
        width:100%;
        padding:0 4vw;
        margin:0 auto 10vw;
    }
    .sekouImg{
        display:block;
    }
    .sekouImg p{
        width:100%;
    }
    .sekouImg p:first-child{
        margin-bottom:5vw;
    }
    .sekouImg img{
        width:100%;
    }

    /* --- 耐久性 --- */
    .taikyuusei{
        width:100%;
        padding:0 4vw;
        margin:0 auto 10vw;
    }
    .taikyuuseiImg{
        display:block;
    }
    .taikyuuseiImg p{
        width:100%;
    }
    .taikyuuseiImg p:first-child{
        margin-bottom:3vw;
    }
    .taikyuuseiImg img{
        width:100%;
    }

    /* --- 撥水効果 --- */
    .hassuikouka{
        width:100%;
        padding:0 4vw;
        margin:0 auto 10vw;
    }
    .hassuikoukaImg{
        display:block;
    }
    .hassuikoukaImg p{
        width:100%;
        margin-bottom:24px;
    }
    .hassuikoukaImg img{
        width:100%;
    }

    /* --- about tx --- */
    .aboutTextBlock{
        padding:0 4vw;
        margin-bottom:10vw;
    }

    /* --- 施工価格 --- */
    .constructionPrice{
        padding:0 4vw;
        margin:0 auto 10vw;
    }
    .priceTtl{
        font-size: 3.5vw;
        padding:0.3em 0.7em;
        line-height:1.5;
    }
    .priceTtl b{
        font-size: 4.5vw;
    }
    .priceTtl span{
        font-weight:600;
    }
    .priseTb{
        width:100%;
        margin:0 0 0.2em 0;
        padding:0;
    }
    .priseTb th{
        background-color:#ccc;
        font-size: 3.3vw;
        text-align:center;
        padding:0.2em 0.5em;
        line-height:1.3;
        white-space:nowrap;
        letter-spacing:-0.05em;
    }
    .priseTb th.fst{
        font-size: 3.4vw
        font-weight:700;
        text-align:left;
        border-left:none;
    }
    .priseTb td.fst{
        font-size: 3.3vw;
        font-weight:700;
        text-align:left;
        line-height:1.4;
        letter-spacing:-0.03em;
    }
    .priseTb td{
        font-size: 3.3vw;
        font-weight:600;
        text-align:right;
        padding:0.2em 0.3em;
        white-space:nowrap;
    }

    /* --- お問い合わせ --- */
    .comntact{
    display: block;
    font-size:3.5vw;
    width: 90%;
    height: auto;
    line-height: 1.4;
    padding:0.5em 1em;
    margin:0 auto 20vw;
    }

/* --- ダミーfooter --- */
.dumyFooter{
    width:100%;
    height:250px;
}
.container{
    max-width:1000px;
    margin:0 auto;
    height:100%;
    background-image:url("../_img_bg/logo.svg");
    background-repeat:no-repeat;
    background-size:220px;
    background-position:left 50px;
}




}/* SP */