/*全体*/

html,
body {
    height: 100%;
    margin: 0 !important;
    padding: 0 !important;
}


/*メインスライダー*/
.bg-switcher {
    width: 100vw;
    height: 100vh;
    background-position: center center;
    background-size: cover;
    display: flex;
    display: -webkit-flex;
    align-items: center;
    -webkit-align-items: center;
    justify-content: flex-end;
    -webkit-justify-content: flex-end;
}


.bg-switcher2 {
    width: 100vw;
    height: 400px;
    background-position: top center;
    background-size: cover;
    display: flex;
    display: -webkit-flex;
    align-items: center;
    -webkit-align-items: center;
    justify-content: flex-end;
    -webkit-justify-content: flex-end;
}


.bg {
    max-width: 1000px;
    width: 90%;
    margin: 0 auto;
    text-align: right;
}

.bg img {
    margin-top: 30%;
    width: 320px;
}


.bg_sp {
    display: none;
}


.catch h1 {
    margin-top: 30px;
}

/*文字の種類・太さ*/

body h1 {
    font-family: tbudmincho-std, sans-serif;
    font-weight: 500;
    font-style: normal;
    letter-spacing: 0.1em;
}

body h2 {
    font-family: source-han-sans-japanese, sans-serif;
    font-weight: 300;
    font-style: normal;
    letter-spacing: 0.1em;
}

body h3 {
    font-family: source-han-sans-japanese, sans-serif;
    font-weight: 300;
    font-style: normal;
    letter-spacing: 0.1em;
}


body h5 {
    font-family: tbudmincho-std, sans-serif;
    font-weight: 500;
    font-style: normal;
    letter-spacing: 0.1em;
}

body p {
    font-family: source-han-sans-japanese, sans-serif;
    font-weight: 200;
    font-style: normal;
    letter-spacing: 0.1em;
}

body table {
    font-family: source-han-sans-japanese, sans-serif;
    font-weight: 200;
    font-style: normal;
    letter-spacing: 0.1em;
}

body a {
    font-family: source-han-sans-japanese, sans-serif;
    font-weight: 200;
    font-style: normal;
    text-decoration: none;
    letter-spacing: 0.1em;
}




/*背景*/

.bg_glay {
    background-color: #efefef;
}

.bg_glay2 {
    background-color: #333;
}

.bg_photo1 {
    background-image: url("../img/sekou_bg.jpg");
    background-position: center;
    background-size: cover;
}


.bg_photo2 {
    background-image: url("../img/sekai.png");
    background-color: rgba(255, 255, 255, 0.5);
    background-blend-mode: lighten;
    background-position: center;
    background-size: 1000px;
    background-repeat: no-repeat;
    background-position: bottom;
}

.bg_photo3 {
    background-image: url("../img/saiyo_bg.jpg");
    background-position: bottom;
    background-size: cover;
}


/*基本の箱・文字サイズ*/

.mb-30 {
    margin-bottom: -30px;
}


.kihon {
    width: 100%;
    padding: 160px 0;
    text-align: center;
}

.kihon h1 {
    font-size: 32px;
    padding: 0 0 10px;
    line-height: 1.3;
    font-family: tbudmincho-std, sans-serif;
    font-weight: 500;
    font-style: normal;
}

.kihon h2 {
    font-size: 16px;
    line-height: 1.5;
}

.kihon h3 {
    font-size: 24px;
    line-height: 1.5;
}

.kihon h4 {
    font-size: 14px;
    line-height: 1.5;
}

.kihon h5 {
    font-size: 20px;
    line-height: 1.5;
}

.kihon p {
    text-align: left;
    font-size: 12px;
    line-height: 1.5;
}

.kihon a {
    font-size: 14px;
    line-height: 1.5;
}

.kihon th {
    font-size: 14px;
    line-height: 1.5;
}

.kihon td {
    font-size: 14px;
    line-height: 1.5;
}

p.center {
    text-align: center;
}


.text_shiro {
    color: #fff;
}


.text_kuro {
    color: #595656;
}



/*ボタン*/

.btn1 {
    width: 200px;
    text-align: center;
    margin: 30px auto 0;
    display: inline-block;
    padding: 10px 0;
    text-decoration: none;
    background: none;
    color: #595656;
    border: solid 1px #595656;
    border-radius: 50px;
    transition: .4s;
}

.btn1:hover {
    background: #595656;
    color: #fff;
}


.btn2 {
    width: 200px;
    text-align: center;
    margin: 30px auto 0;
    display: inline-block;
    padding: 10px 0;
    text-decoration: none;
    background: none;
    color: #fff;
    border: solid 1px #fff;
    border-radius: 50px;
    transition: .4s;
}

.btn2:hover {
    background: #fff;
    color: #595656;
}



.btn3 {
    width: 280px;
    text-align: center;
    margin: 30px auto 0;
    display: inline-block;
    padding: 10px 0;
    text-decoration: none;
    background: #009e96;
    color: #fff;
    border: solid 1px #00bab3;
    border-radius: 50px;
    transition: .4s;
}

.btn3:hover {
    background: #fff;
    color: #595656;
}



/*TOP*/
.bg_photo {
    width: 100%;
    height: ;
    background-image: url("../img/mirai.jpg");
    background-position: right 0px top 120px;
    background-size: 95% auto;
    background-repeat: no-repeat;
}

.mirai_soto {
    max-width: 1000px;
    width: 90%;
    margin: 0 auto;
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;

}

.tategaki h1 {
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    text-orientation: upright;
    text-align: left;
    margin-left: 20px;
}

.tategaki p {
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    text-orientation: upright;
    text-align: left;
    margin-top: 38px;
}



/*理由*/

.reason {
    max-width: 1000px;
    width: 90%;
    margin: 32% auto 160px;
    display: flex;
    justify-content: center;
}

.tategaki2 h1 {
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    text-orientation: upright;
    text-align: left;
}



.reason_box_soto {
    max-width: 1200px;
    width: 90%;
    margin: 0 auto 100px;
    padding: 0px 0;
    display: flex;
    display: -webkit-flex;
    align-items: flex-start;
    -webkit-align-items: flex-start;
    justify-content: space-around;
    -webkit-justify-content: space-around;
}


.reason_box_soto2 {
    max-width: 1200px;
    width: 90%;
    margin: 0 auto 100px;
    padding: 0px 0;
    display: flex;
    display: -webkit-flex;
    align-items: flex-start;
    -webkit-align-items: flex-start;
    justify-content: space-around;
    -webkit-justify-content: space-around;
    flex-direction: row-reverse;
}



.reason_box1 {
    width: 35%;
    margin-left: 5%;
    text-align: left;
}

.reason_box1 h1 {
    margin-top: 30px;
}


.reason_box2 {
    width: 60%;
}


.reason_box2 img {
    width: 100%;
}





/*事業内容*/

.jigyou_box_soto {
    max-width: 1000px;
    width: 100%;
    margin: 60px auto 0;
    display: flex;
    display: -webkit-flex;
    align-items: center;
    -webkit-align-items: center;
    justify-content: space-around;
    -webkit-justify-content: space-around;
    flex-wrap: wrap;
}



.j_phoyo1 {
    width: 240px;
    height: 280px;
    background-image: url("../img/tekkotsu.jpg");
    background-position: center;
    background-size: cover;
    background-position: left;
}

.j_phoyo2 {
    width: 240px;
    height: 280px;
    background-image: url("../img/ashiba.jpg");
    background-position: center;
    background-size: cover;
    background-position: center;
}

.j_phoyo3 {
    width: 240px;
    height: 280px;
    background-image: url("../img/pc2.jpg");
    background-position: center;
    background-size: cover;
    background-position: left;
}

.j_phoyo4 {
    width: 240px;
    height: 280px;
    background-image: url("../img/kikai.jpg");
    background-position: center;
    background-size: cover;
    background-position: left;
}

.jigyou_text {
    width: 240px;
    height: 180px;
    background: #fff;
}


.jigyou_text h2 {
    padding: 20px 0;
}

.jigyou_text p {
    padding: 0 20px;
}



/*海外事業*/

.kaigai p {
    text-align: center;
    padding: 100px 0 60px;
}


/*採用情報*/


.saiyo_box_soto {
    max-width: 1000px;
    width: 90%;
    margin: 0px auto;
    display: flex;
    display: -webkit-flex;
    align-items: flex-start;
    -webkit-align-items: flex-start;
    justify-content: space-around;
    -webkit-justify-content: space-around;
}


.saiyo_box1 {
    width: 40%;
    text-align: left;
}


.saiyo_box2 {
    width: 40%;
    text-align: left;
}

.saiyo_box2 h3 {
    margin-bottom: 30px;
}

.saiyo_box2 p {
    margin-bottom: 30px;
}


/*お問合せ*/


.info_box_soto {
    max-width: 1000px;
    background-color: #fff;
    width: 90%;
    margin: 0px auto;
    padding: 60px 0;
    display: flex;
    display: -webkit-flex;
    align-items: flex-start;
    -webkit-align-items: flex-start;
    justify-content: space-around;
    -webkit-justify-content: space-around;
}


.info_box1 {
    width: 40%;
    text-align: left;
    border-right: solid 1px #595656;
}

.info_box1 h2 {
    margin-bottom: 30px;
}


.info_box2 {
    width: 40%;
    margin-right: 5%;
    text-align: center;
}


.info_box2 h1 {
    color: #00bab3;
}


.info_box2 p {
    text-align: center;
}



/*フッター*/

.footer {
    width: 100%;
    padding: 30px 0 10px;
    text-align: center;
}

.footer p {
    padding-bottom: 20px;
    font-size: 12px;
}

.footer a {
    color: #595656;
}

.footer img {
    width: 100px;
    margin-bottom: 30px;
}

.end {
    width: 100%;
    margin: 0 auto;
    background: #595656;
    text-align: center;
}

.end p {
    padding: 10px 0px;
    font-size: 12px;
    color: #fff;
}



/*施工実績*/
.sekou_box_soto {
    max-width: 1000px;
    background-color: #000;
    width: 90%;
    margin: 0 auto 100px;
    padding: 0px 0 0px;
    display: flex;
    display: -webkit-flex;
    align-items: flex-start;
    -webkit-align-items: flex-start;
    justify-content: space-around;
    -webkit-justify-content: space-around;
    flex-wrap: wrap;
}


.sekou_box1 {
    width: 60%;

}

.sekou_box1 img {
    width: 100%;
    margin: 0px 0 -2px;
    padding: 0;
}


.sekou_box2 {
    width: 35%;
    margin-left: 2.5%;
    margin-right: 2.5%;
    text-align: left;
}

.sekou_box2 h4 {
    margin-top: 40px;
    padding-bottom: 30px;
    width: 100%;
    border-bottom: solid 1px #595656;
}

.sekou_box2 p {
    margin-top: 20px;
}



/*会社案内*/

.gaiyo_box_soto {
    max-width: 1000px;
    background-color: #fff;
    width: 90%;
    margin: -200px auto 30px;
    padding: 100px 0;
    text-align: left;
}


.gaiyo_box_soto h1 {
    margin: 0 20px 0px 100px;
    display: inline;
}

.gaiyo_box_soto h1:before {
    content: '';
    /*何も入れない*/
    display: inline-block;
    /*忘れずに！*/
    width: 20px;
    /*画像の幅*/
    height: 20px;
    /*画像の高さ*/
    background-image: url(../img/mark.png);
    background-size: contain;
    vertical-align: middle;
    margin-right: 10px;
}



.gaiyo_box_soto h2 {
    display: inline;
}


.gaiyo_box_soto h5 {
    margin: 60px 100px 0;
}

h5.right {
    text-align: right;
}


/*概要テーブル*/
.defo_table {
    margin: 60px 100px 100px;
}

.defo_table table {
    width: 100%;
    margin: 0 auto;
}

.defo_table th {
    min-width: 25%;
    border-bottom: solid 1px #595656;
    padding: 40px 0;
    text-align: center;
    vertical-align: middle;
}


.defo_table td {
    width: 75%;
    border-bottom: solid 1px #595656;
    text-align: left;
    padding: 40px 0 40px 30px;
}


.defo_table h2 {
    margin-bottom: 40px;
    display: block;
}

.defo_table span {
    color: #00bab3;
}

th.pd_0 {
    padding: 0;
}

td.pd_0 {
    padding: 0;
}

.mb_0 {
    margin-bottom: 0px;
}

.mt_0 {
    margin-top: 0px;
}

.mt_40 {
    margin-top: 40px;
}



/*お問い合せ*/

.info2 {
    padding: 100px 0;
}

.info_text {
    max-width: 1000px;
    width: 90%;
    margin: 0 auto;
}

.info_text p {
    text-align: center;
}

p.text_right {
    margin-left: 90%;
}




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



    /*メインスライダー*/
    .bg-switcher2 {
        width: 100vw;
        height: 100vh;
        background-position: top center;
        background-size: cover;
        display: flex;
        display: -webkit-flex;
        align-items: center;
        -webkit-align-items: center;
        justify-content: flex-end;
        -webkit-justify-content: flex-end;
    }


    .bg {
        display: none;
    }

    .bg_sp {
        display: inline;
        width: 90%;
        margin: 0 auto;
        text-align: right;
    }

    .bg_sp img {
        margin-top: 30%;
        width: 200px;
    }


    /*基本の箱・文字サイズ*/

    .kihon {
        width: 100%;
        padding: 100px 0;
        text-align: center;
    }


    .kihon h1 {
        font-size: 24px;
        padding: 0 0 10px;
        line-height: 1.3;
    }


    .kihon h5 {
        font-size: 16px;
    }

    .kihon th {
        font-size: 12px;
    }

    .kihon td {
        font-size: 12px;
    }

    /*TOP*/
    .bg_photo {
        width: 100%;
        height: ;
        background-image: url("../img/mirai.jpg");
        background-position: right 0px top 300px;
        background-size: 100% auto;
        background-repeat: no-repeat;
    }

    .mirai_soto {
        max-width: 1000px;
        width: 90%;
        margin: 0 auto;
        display: inherit;
        flex-direction: normal;
        justify-content: normal;
    }


    .tategaki h1 {
        -ms-writing-mode: horizontal-tb;
        -webkit-writing-mode: horizontal-tb;
        writing-mode: horizontal-tb;
        text-orientation: upright;
        text-align: left;
        margin-left: 0px;
    }

    .tategaki p {
        -ms-writing-mode: horizontal-tb;
        -webkit-writing-mode: horizontal-tb;
        writing-mode: horizontal-tb;
        text-orientation: upright;
        text-align: left;
        margin-top: 20px;
    }


    /*理由*/

    .reason {
        max-width: 1000px;
        width: 90%;
        margin: 60% auto 60px;
        display: flex;
        justify-content: center;
    }


    .reason_box_soto {
        width: 90%;
        margin: 0 auto 60px;
        padding: 0px 0;
        display: inherit;
    }


    .reason_box_soto2 {
        width: 90%;
        margin: 0 auto 60px;
        padding: 0px 0;
        display: inherit;
    }



    .reason_box1 {
        width: 100%;
        margin-left: 0;
        text-align: left;
    }

    .reason_box1 h1 {
        margin-top: 0px;
    }


    .reason_box1 p {
        margin: 20px 0;
    }


    .reason_box2 {
        width: 100%;
    }


    .reason_box2 img {
        width: 100%;
    }

    .mb-30 {
        margin-bottom: -20px;
    }

    .mbsp-30 {
        margin-bottom: -20px;
    }




    /*事業内容*/

    .jigyou_box_soto {
        max-width: 1000px;
        width: 90%;
        margin: 60px auto 0px;
        display: flex;
        display: -webkit-flex;
        align-items: center;
        -webkit-align-items: center;
        justify-content: center;
        -webkit-justify-content: center;
        flex-wrap: wrap;
    }



    .j_phoyo1 {
        width: 100%;
        height: 210px;
        background-image: url("../img/tekkotsu.jpg");
        background-position: center;
        background-size: cover;
        background-position: left;
    }

    .j_phoyo2 {
        width: 100%;
        height: 210px;
        background-image: url("../img/ashiba.jpg");
        background-position: center;
        background-size: cover;
        background-position: center;
    }

    .j_phoyo3 {
        width: 100%;
        height: 210px;
        background-image: url("../img/pc2.jpg");
        background-position: center;
        background-size: cover;
        background-position: left;
    }

    .j_phoyo4 {
        width: 100%;
        height: 210px;
        background-image: url("../img/kikai.jpg");
        background-position: center;
        background-size: cover;
        background-position: left;
    }

    .jigyou_text {
        max-width: 768px;
        width: 100%;
        height: 180px;
        background: #fff;
        margin-bottom: 30px;
    }


    .jigyou_text h2 {
        padding: 20px;
        text-align: left;
    }

    .jigyou_text p {
        padding: 0 20px;
    }



    /*海外事業*/

    .kaigai p {
        width: 280px;
        margin: 0 auto;
        text-align: left;
        padding: 60px 0 30px;
    }


    /*採用情報*/


    .saiyo_box_soto {
        width: 90%;
        margin: 0px auto;
        display: inherit;
    }


    .saiyo_box1 {
        width: 100%;
        text-align: center;
    }


    .saiyo_box2 {
        width: 100%;
        text-align: center;
    }

    .saiyo_box2 h3 {
        margin: 60px 0;
    }

    .saiyo_box2 p {
        width: 280px;
        margin: 0 auto 30px;
    }


    /*お問合せ*/

    .info_box_soto {
        background-color: #efefef;
        width: 90%;
        margin: 0px auto;
        padding: 0;
        display: inherit;
    }


    .info_box1 {
        width: 100%;
        text-align: center;
        border-right: none;
    }

    .info_box1 h2 {
        margin-bottom: 30px;
    }

    .info_box1 h2 {
        margin-bottom: 30px;
    }


    .info_box2 {
        width: 100%;
        margin-right: 0;
        text-align: center;
    }


    .info_box2 h1 {
        color: #00bab3;
    }


    .info_box1 p {
        width: 280px;
        text-align: center;
        margin: 0 auto 30px;

    }


     /*フッター*/
    .footer p{
        font-size: 10px; 
    }
    


    /*施工実績*/
    .sekou_box_soto {
        margin: 0 auto 30px;
        padding: 0px 0 0px;
        display: flex;
        display: -webkit-flex;
        align-items: flex-start;
        -webkit-align-items: flex-start;
        justify-content: space-around;
        -webkit-justify-content: space-around;
        flex-wrap: wrap;
    }


    .sekou_box1 {
        width: 100%;

    }

    .sekou_box1 img {
        width: 100%;
        margin: 0px 0 -2px;
        padding: 0;
    }


    .sekou_box2 {
        width: 100%;
        margin-left: 5%;
        margin-right: 5%;
        text-align: left;
    }


    .sekou_box2 {
        width: 100%;
        margin-left: 5%;
        margin-right: 5%;
        margin-bottom: 30px;
        text-align: left;

    }

    .sekou_box2 h4 {
        margin-top: 20px;
        padding-bottom: 20px;
        width: 100%;
        border-bottom: solid 1px #595656;
    }

    .sekou_box2 p {
        margin-top: 20px;
    }



    /*会社案内*/

    .gaiyo_box_soto {
        margin: -200px auto 30px;
        padding: 60px 0;
        text-align: left;
    }

    .mt_0 {
        margin-top: 0px;
    }


    .gaiyo_box_soto h1 {
        margin: 0 0px 0px 40px;
        display: block;
    }




    .gaiyo_box_soto h2 {
        margin-left: 40px;
        display: block;
    }


    .gaiyo_box_soto h5 {
        margin: 40px 40px 0;
    }

    h5.right {
        text-align: right;
    }



    /*概要テーブル*/
    .defo_table {
        margin: 40px 40px 60px;
    }

    .mb-0 {
        margin-bottom: 0px;
    }

    .defo_table th {
        padding: 30px 0;
        text-align: center;
        vertical-align: middle;
    }

    .defo_table td {
        width: 75%;
        text-align: left;
        padding: 30px 0 30px 30px;
    }


    .defo_table h2 {
        margin-bottom: 40px;
        margin-left: 0;
        display: block;
    }


    th.pd_0 {
        padding: 0;
    }

    td.pd_0 {
        padding: 0;
    }


    .mb_0 {
        margin-bottom: 0px;
    }

    .mt_0 {
        margin-top: 0px;
    }

    .mt_20 {
        margin-top: 20px;
    }

    
    /*お問い合わせ*/
    
    .info_text p {
    text-align:left;
}
    
    p.text_right {
        margin-left: 80%;
    }
}
