@charset "utf-8";

/* 基本設定
-------------------------------*/
@font-face {
  font-family: "NSans-B";
  src: url(../fonts/NotoSansJP-Bold.otf) format("opentype");
}
body {
	font-family :"メイリオ",verdana,Meiryo,Osaka,"ＭＳ Ｐゴシック","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic","MS P Gothic",sans-serif, Arial,Helvetica;
	font-size: 16px;
	line-height: 1.8em;
	color: #000;
	-webkit-text-size-adjust: 100%;
}

    @media only screen and (max-width:640px){
        body {
            font-size: 90%;
            line-height: 1.8em;
        }
    }
    /* プリントの表示設定 */
    @media print{
        #body{width:1110px; margin:auto;}
    }



#wrapper{
	margin:0 auto;
	padding:0;
	width:100%;
	overflow:hidden;
}



/* リンク設定
-------------------------------*/
a{color:#0076ce; text-decoration:none;}
a:hover{color:#ed6868;}
a:active, a:focus{outline:0;}

/* PCで電話リンクしない */
@media(min-width: 768px){
  a[href^="tel:"]{
    pointer-events: none;
  }
}


/* ヘッダー
-------------------------------*/
* html #header{height:1%;}
#header{
    width: 100%;
    background-color: #fff;
	/*padding: 10px;*/
    padding: 10px 0 0 0;
}
#header .inner{
    width: 90%;
    /*max-width: 1100px;*/
    margin: auto;
}
#header .head01{
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}
#header .head01 h1{
    width: 60%;
    margin-right: 20px;
    font-size: 12px;
    line-height: 1.2em;
    color: #303030;
	position: absolute;
	margin-top: 30px;
	margin-left: 78px;	
}
#header .head01 .h_tel{margin-right: 20px;}

#header .head02{
    display: flex;
    justify-content: space-between;
	position: relative;
}
#header .head02 .h_logo{
    width: 30%;
	margin-right: 9%;
	padding-bottom: 10px;
}
#header .head02 .menu{
    /*width: 68%;*/
	width: 58%;
	margin-top: 28px;
}


@media only screen and (max-width:768px){
    #header .head01 h1{
        /*width: 70%;*/
		width: 65%;
		margin-bottom: 10px;
		margin-left: 60px;		
    }
    #header .head01 .h_tel,
    #header .head01 .h_toi{display: none;} 

    #header .head02{
        display: block;
    }
    #header .head02 .h_logo{
        width: 70%;
    }

#header .head02 .menu {
  margin-top: 0;
}	
	
}


/* フッター
-------------------------------*/
#footer{
    width: 100%;
    background: url(../images/bg_footer.jpg) center bottom no-repeat;
    padding-top: 8%;
    color: #fff;
    margin-top: 12%;
}
#footer .inner{
    width: 90%;
    max-width: 1100px;
    margin: 0 auto 5%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
#footer .inner .info{
    width: 42%;
}
#footer .inner .map{
    width: 55%;
}
#footer .inner .info .f_logo{
    margin-bottom: 10px;
}
#footer .inner .info .f_add span{display: inline-block;}
#footer .inner .info .f_btn{
    width: 100%;
    max-width: 380px;
    margin-top: 20px;
}
#footer .inner .info .f_btn a{
    display: block;
    transition: 0.3s;
}
#footer .inner .info .f_btn a:hover{
    background-color: #57a0e5;
    
}
#footer .copy{
    width: 100%;
    background: url(../images/bg_copy.jpg) center bottom no-repeat;
	text-align:center;
	font-size:12px;
    line-height: 1.2em;
	padding:20px 0;
    position: relative;
}
#footer .copy span{display: inline-block;}

#footer .create {
    font-size: 12px;
    position: absolute;
    right: 20px;
    top: 20px;
}

/*  ページトップへ */
#pageTop{
	position:fixed;
	bottom:60px;
	right:0;
}
#pageTop .sp{display: none;}



	@media only screen and (max-width:900px) {
        #footer .create {
            text-align: right;
            padding: 10px 20px 0;
            position: static;
        }
    }

	@media only screen and (max-width:640px){
        #footer .inner{
            display: block;
        }
        #footer .inner .info,
        #footer .inner .map{
            width: 100%;
            text-align: center;
            margin-bottom: 20px;
        }
        #footer .inner .info .f_add{
            font-size: 90%;
            line-height: 1.4em;
        }
        #footer .inner .info .f_btn{
            margin-left: auto;
            margin-right: auto;
        }
        #pageTop .pc{display: none;}
        #pageTop .sp{display: block;}


	}






/* 共通
-------------------------------*/
.ttl_head{
    width: 100%;
    height: 405px;
    margin-bottom: 5%;
    background-position: center top;
    background-repeat: no-repeat;
    padding-top: 150px;
}
.bg_service{
    background-image: url(../images/bg_service.jpg);
}
.bg_achieve{
    background-image:url(../images/bg_achieve.jpg);
}
.bg_company{
    background-image:url(../images/bg_company.jpg);
}
.bg_recruit{
    background-image: url(../images/bg_recruit.jpg);
}

.ttl_head .inner{
    width: 90%;
    max-width: 1100px;
    margin: auto;
    font-family: "NSans-B",sans-serif;
    color: #fff;
}
.ttl_head .inner .ja{
    font-size: 46px;
    line-height: 1.2em;
    letter-spacing: 0.3em;
}
.ttl_head .inner span{
    font-size: 150%;
    line-height: 1.2em;
}
.ttl_head .inner .en{
    font-size: 18px;
    line-height: 1.2em;
    color: #c1c1c1;
    letter-spacing: 0.2em;
}

.ttl01{
    width: 100%;
    background: url(../images/bg_ttl_bar.jpg) center bottom no-repeat;
    padding: 10px 0;
    margin-bottom: 3%;
}
.ttl01 .inner{
    width: 90%;
    max-width: 1100px;
    margin: auto;
    color: #fff;
    font-family: "NSans-B",sans-serif;
    letter-spacing: 0.2em;
    font-size: 25px;
    line-height: 1.2em;
}
.ttl01 .inner span{
    padding-left: 10px;
    font-size: 13px;
    line-height: 1.2em;
    letter-spacing: 0.15em;
}
.contents{
    width: 90%;
    max-width: 1100px;
    margin: auto;
}
.space{
    width: 100%;
    height: 120px;
}

    @media only screen and (max-width:768px){
        .ttl_head{
            height: auto;
            padding: 5% 0;
            background-size: cover;
        }
        .ttl_head .inner .ja{
            font-size: 28px;
            line-height: 1.2em;
            letter-spacing: 0.2em;
        }
        .ttl_head .inner .en{
            font-size: 14px;
            line-height: 1.2em;
        }
        .ttl01 .inner{
            font-size: 20px;
            line-height: 1.2em;
        }
        .ttl01 .inner span{
            font-size: 12px;
            line-height: 1.2em;
        }
        .space{
            height: 60px;
        }

    }













/* HOME
-------------------------------*/

.top_waku{
    width: 100%;
    overflow: hidden;
}
.top_waku .bg01{
    width: 100%;
    background: url(../images/bg_top01.jpg) center top no-repeat;
    background-size: cover;
}
.top_waku .bg02{
    width: 100%;
    height: 723px;
/*    background: url(../images/bg_top02.png) center top no-repeat;*/
    padding-top: 70px;
    position: relative;
}
.top_waku .image{
    width: 90%;
    max-width: 1150px;
    margin: auto;
}
.top_waku .image img{vertical-align: top;}
.top_waku .image .txt01{
    display: flex;
}
.top_waku .image .txt02{
    width: 80%;
    margin: auto;
    text-align: center;
}
.top_waku .nami{
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);    
    width: 1920px;
}

/* 以下フェードイン表示の指定 */
.fadein {
    opacity: 0;
    animation: fadein 1.5s ease forwards;
}
@keyframes fadein {
    100% {  opacity: 1;}
}
.fin01 {animation-delay: 0.5s;}
.fin02 {animation-delay: 2s;}
.fin03 {animation-delay: 3s;}
.fin04 {animation-delay: 4s;}
.txt02 {animation-delay: 5s;}
.nami {animation-delay: 6s;}


@media only screen and (max-width:1280px){
    .top_waku .bg02{
        height: 56.5vw;
        padding-top: 5.46vw;
    }
    .top_waku .nami{
        width: 150vw;
    }

}
@media only screen and (max-width:640px){
    .top_waku .bg02{
        height: 56.5vw;
        padding-top: 4vw;
    }

}

/**
.top01{
    width: 100%;
    text-align: center;
    background: url(../images/top_image_bg.jpg) center top no-repeat;
}
*/
.top02{
    width: 100%;
    padding: 5% 0;
    background: url(../images/top02_bg.jpg) center top no-repeat;
}
.top02 .lead{
    width: 90%;
    max-width: 1100px;
    margin: auto;
    margin-bottom: 5%;
}
.top02 .lead .ttl{
    font-family: "NSans-B",sans-serif;
    font-size: 32px;
    line-height: 1.5em;
    letter-spacing: 0.15em;
    margin-bottom: 3%;
}

.top02 ul{
    width: 90%;
    max-width: 1280px;
    margin: auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.top02 li{
    width: 32%;
    margin-bottom: 20px;
}


.top_ttl{
    display: flex;
    justify-content: flex-start;
    align-items: flex-end;
    font-family: "NSans-B",sans-serif;
    letter-spacing: 0.15em;
    padding-bottom: 10px;
    background: url(../images/wide_ttl_kei.png) left bottom no-repeat;
}
.top_ttl .c01{
    font-size: 49px;
    line-height: 1em;
    color: #2549ad;
    margin-right: 5px;
}
.top_ttl .c02{
    font-size: 32px;
    line-height: 1em;
    margin-right: 5px;
}
.top_ttl .c03{
    font-size: 18px;
    line-height: 1em;
    color: #c1c1c1;
}
.ttl_bar_l{
    width: 100%;
    background: url(../images/wide_ttl_left.png) center bottom no-repeat;
    margin-bottom: 2%;
}
.ttl_bar_l .inner{
    width: 90%;
    max-width: 1100px;
    margin: auto;
}

    @media only screen and (max-width:640px){
        .top_ttl .c01{
            font-size: 7.6vw;
            line-height: 1em;
        }
        .top_ttl .c02{
            font-size: 5vw;
            line-height: 1em;
        }
        .top_ttl .c03{
            font-size: 2.8vw;
            line-height: 1em;
        }
        .ttl_bar_l{background: none;}

    }

    @media only screen and (max-width:600px){
        .top02 .lead .ttl{
            font-size: 5.3vw;
            line-height: 1.5em;
        }
        .top02 li{
            width: 75%;
            margin-left: auto;
            margin-right: auto;
            text-align: center;
        }

    }




.top03{
    width: 100%;
    background: url(../images/top03_bg.jpg) center top no-repeat;
    padding: 5% 0;
    background-size: auto 100%;
}
.top03 .contents{
    display: flex;
    justify-content: space-between;
    flex-flow: row-reverse;
}
.top03 .img{
    margin-right: 20px;
    flex: 1; /* こっちは可変 */
}
.top03 .txt{
    width: 350px; /* こっちは固定 */
    position: relative;
    padding-top: 100px;
}
.top_btn_more{
    margin-top: 8%;
    text-align: center;
}
.ttl_bar_r{
    position: absolute;
    top: 0;
    left: 0;
    width: 800px;
    background: url(../images/wide_ttl_kei.png) center bottom repeat-x;
}
.ttl_bar_r .inner{
    width: 350px;;
}

    @media only screen and (max-width:768px){
        .top03 .img{
            overflow: hidden;
        }
        .top03 .img img{
            max-width: none;
            width: 550px;
            height: auto;
        }
        .top03 .txt{
            width: 310px; /* こっちは固定 */
        }

    }
    @media only screen and (max-width:640px){
        .top03{
            background-size: cover;
        }
        .top03 .img{
            display: none;
        }
        .top03 .txt{
            width: 100%;
            padding-top: 0;
        }
        .top03 .txt .btn_more{
            margin-top: 8%;
            text-align: center;
        }
        .ttl_bar_r{
            position: static;
            width: 100%;
            background: none;
            margin-bottom: 3%;
        }
        .ttl_bar_r .inner{
            width: 100%;
        }

    }



.top04{
    width: 100%;
    background: url(../images/top04_bg.png) center top no-repeat;
}
.top04 .bg_siro{
    width: 40%;
    background-color: #fff;
    padding: 4%;
}
.top04 .bg_siro .txt{
    width: 380px;
    margin-left: auto;
    position: relative;
    padding-top: 90px;
}
.ttl_bar_l_2{
    position: absolute;
    top: 0;
    right: 0;
    width: 800px;
    background: url(../images/wide_ttl_left_2.png) right bottom no-repeat;
}
.ttl_bar_l_2 .inner{
    width: 380px;
    margin-left: auto;
}

.top_seo{
    width: 90%;
    max-width: 1100px;
    margin: 0 auto 5%;
    font-size: 90%;
    line-height: 1.5em;
    color: #fff;
}


#footer.top{
    background-size: cover;
}

@media only screen and (max-width:1100px){
    .top04 .bg_siro{
        display: inline-block;
        width: auto;
        padding: 5%;
    }

}




@media only screen and (max-width:640px){

.top04{
    background: none;
}
.top04 .bg_siro{
    display: block;
    width: 100%;
    padding: 5%;
}
.top04 .bg_siro .txt{
    width: 100%;
    padding-top: 0;
}
.ttl_bar_l_2{
    position: static;
    width: 100%;
    background: none;
    margin-bottom: 20px;
}
.ttl_bar_l_2 .inner{
    width: 100%;
    margin-left: 0;
}

#footer.top{
    background-size: cover;
}
}























/* 業務案内
-------------------------------*/
/* 防水事業 */
.ser01 .lead{
    width: 100%;
    display: flex;
    justify-content: space-between;
}
.ser01 .lead .txt{
    width: 68%;
}
.ser01 .lead .logo{
    width: 27%;
    text-align: center;
}
.gy_img{
    width: 100%;
    margin: 40px 0;
}
.ttl_maru{
    width: 140px;
    margin: auto;
    text-align: center;
    color: #fff;
    font-family: "NSans-B",sans-serif;
    font-size: 20px;
    line-height: 1.2em;
    background: url(../images/bg_ttl_maru.png) center center no-repeat;
    background-size: cover;
    padding: 10px 0;
    border-radius: 25px;
}
.ser01 table{
    width: 100%;
    margin-top: 20px;
    margin-bottom: 40px;
    font-family: "NSans-B",sans-serif;
    line-height: 1.4em;
}
.ser01 table td{
    border: solid 1px #999;
    text-align: center;
    padding: 15px 5px;
    width: 33%;
}

.ser01 ul{
    width: 100%;
    display: flex;
    justify-content: space-between;
    margin-top: 20px;
}
.ser01 li{
    padding-top: 50px;
    border-left: solid 1px #999;
    text-align: justify;
    text-justify: inter-character;
}
.ser01 li:nth-child(1){
    width: 31%;
    padding-right: 5%;
    border-left: none;
    background-image: url(../images/toku_01.png);
    background-position: left top;
    background-repeat: no-repeat;
}
.ser01 li:nth-child(2){
    width: 38%;
    padding-left: 5%;
    padding-right: 5%;
    background-image: url(../images/toku_02.png);
    background-position: 15% top;
    background-repeat: no-repeat;
}
.ser01 li:nth-child(3){
    width: 31%;
    padding-left: 4.5%;
    background-image: url(../images/toku_03.png);
    background-position: 15% top;
    background-repeat: no-repeat;
}
.ser01 li .ttl{
    text-align: center;
    font-family: "NSans-B",sans-serif;
    font-size: 48px;
    line-height: 1.2em;
    letter-spacing: 0.13em;
    margin-bottom: 20px;
}
.ser01 li p{
    margin-bottom: 20px;
    text-indent: -1em;
    margin-left: 1em;
}
.ser01 li:nth-child(3) .ttl{
    display: flex;
    justify-content: center;
}
.ser01 li:nth-child(3) .ttl .sub{
    font-size: 50%;
    line-height: 1.1em;
    text-align: left;
}
.gy_link{
    width: 100%;
    margin-top: 10%;
    text-align: center;
}
.gy_link p{
    margin-bottom: 20px;
}

    @media only screen and (max-width:1200px){
        .ser01 li .ttl{
            font-size: 4vw;
            line-height: 1.2em;
        }
    }

    @media only screen and (max-width:768px){
        .ser01 ul{
            display: block;
        }
        .ser01 li{
            padding-top: 20px;
            border-left:none;
        }
        .ser01 li:nth-child(1),
        .ser01 li:nth-child(2),
        .ser01 li:nth-child(3){
            width: 100%;
            margin: 0 auto 20px;
            padding-left: 0;
            padding-right: 0;
            border: none;
            background-position: left top;
            padding-bottom: 20px;
            border-bottom: solid 1px #ccc;
        }
        .ser01 li .ttl{
            text-align: left;
            font-size: 36px;
            line-height: 1.2em;
            padding-left: 140px;
        }
        .ser01 li p{
            margin-bottom: 0;
        }
        .ser01 li:nth-child(3) .ttl{
            justify-content: flex-start;
        }
    }

    @media only screen and (max-width:640px){
        .ser01 .lead{
            display: block;
        }
        .ser01 .lead .txt,
        .ser01 .lead .logo{
            width: 100%;
            margin-bottom: 20px;
        }
        .ser01 .lead .logo img{
            max-width: 200px;
            height: auto;
        }
    }


    @media only screen and (max-width:420px){
        .ser01 table{
            margin-top: 10PX;
            border: solid 1px #000;
        }
        .ser01 table td{
            display: inline-block;
            width: 100%;
            text-align: left;
            padding: 10px;
            border:none ;
            border-bottom: solid 1px #000;
        }
        .ser01 table tr:last-child td:last-child{border-bottom: none;}
        .gy_link{
            text-align: left;
        }
        .ser01 li:nth-child(1),
        .ser01 li:nth-child(2),
        .ser01 li:nth-child(3){
            background-size: auto 60px;
        }
        .ser01 li .ttl{
            padding-left: 120px;
            margin-bottom: 10px;
        }

    }








/* プール事業 */
.bg_ao{
    width: 100%;
    background-color: #e6f7ff;
    padding: 5% 0;
}
.ser02 table{
    width: 100%;
    margin-top: 40px;
    margin-bottom: 40px;
    border: solid 1px #999;
}
.ser02 td{
    width: 33%;
    padding: 3%;
    vertical-align: top;
    border-left: solid 1px #999;
}
.ser02 td:nth-child(1){
    border-left: none;
}
.ser02 td .ttl{
    font-size: 28px;
    line-height: 1.2em;
    font-family: "NSans-B",sans-serif;
    margin-bottom: 20px;
}
.ser02 td .ttl span{color: #2549ad;}
.ser02 ul{
    display: flex;
    justify-content: space-between;
}
.ser02 li{
    width: 48%;
    text-align: center;
}
.ser02 li p{margin-top: 15px;}
.pool01{
    width: 90%;
    max-width: 1100px;
    margin: 0 auto 5%;
    background-color: #fff;
    background-image: url(../images/icon_pickup.png), url(../images/bg_pickup.jpg);
    background-position: left top, right bottom;
    background-repeat: no-repeat ,no-repeat;
    background-size:  auto ,contain;
    padding: 5%;
    border: solid 1px #f1f1f1;
}
.pool01 .logo{
    width: 50%;
    padding: 3% 0;
}
.pool01 .img{display: none;}
.pool02{
    width: 100%;
    max-width: 1280px;
    padding: 0 90px;
    margin: 0 auto 5%;
    min-height: 278px;
    background: url(../images/bg_pool.png) center top no-repeat;
}
.pool02 .txt{
    width: 50%;
}
.pool02 .txt .ttl{
    font-family: "NSans-B",sans-serif;
    font-size: 27px;
    line-height: 1.6em;
    letter-spacing: 0.15em;
    margin-bottom: 5%;
}
.pool02 .img{display: none;}
.pool03{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    margin-top: 20px;
}
.pool03 .txt{
    padding: 3%;
}
.pool03 .txt .ttl{
    font-family: "NSans-B",sans-serif;
    font-size: 35px;
    line-height: 1.2em;
    letter-spacing: 0.15em;
    margin-bottom: 10px;
}
.pool03 .txt .ttl span{color: #0073ff;}
.pool03 .txt.item01,
.pool03 .txt.item02{
    width: 50%;
    border-bottom: solid 1px #999;
}
.pool03 .txt.item03,
.pool03 .txt.item04,
.pool03 .txt.item05{
    width: 33.33%;
}
.pool03 .txt.item01,
.pool03 .txt.item03,
.pool03 .txt.item04{border-right: solid 1px #999;}
.pool03 .txt .inner{
    padding-top:30px;
    background-position: top left;
    background-repeat: no-repeat;
}
.pool03 .txt.item01 .inner{background-image: url(../images/toku_s_01.png);}
.pool03 .txt.item02 .inner{background-image: url(../images/toku_s_02.png);}
.pool03 .txt.item03 .inner{background-image: url(../images/toku_s_03.png);}
.pool03 .txt.item04 .inner{background-image: url(../images/toku_s_04.png);}
.pool03 .txt.item05 .inner{background-image: url(../images/toku_s_05.png);}

    @media only screen and (max-width:1280px){
        .pool02{
            padding: 0;
        }
        .pool02 .txt{
            padding-left: 5%;
        }
    }

    @media only screen and (max-width:768px){
        .ser02 table td{
            display: inline-block;
            border-left: none;
            border-bottom: solid 1px #999;
            width: 100%;
        }
        .ser02 table td:last-child{border-bottom: none;}
        .ser02 td .ttl{
            font-size: 22px;
            line-height: 1.2em;
            margin-bottom: 10px;
        }
        .ser02 ul{
            display: block;
        }
        .ser02 li{
            width: 100%;
            margin-bottom: 30px;
        }
        .ser02 li p{margin-top: 5px;}
        .pool03{
            display: block;
        }
        .pool03 .txt{
            padding: 2% 0;
        }
        .pool03 .txt .ttl{
            font-size: 24px;
            line-height: 1.2em;
        }
        .pool03 .txt.item01,
        .pool03 .txt.item02,
        .pool03 .txt.item03,
        .pool03 .txt.item04,
        .pool03 .txt.item05{
            width: 100%;
            border-right: none;
            border-bottom: solid 1px #ccc;
        }

    }

    @media only screen and (max-width:640px){
        .pool01{
            background-image: url(../images/icon_pickup.png);
            background-position: left top;
            background-size:  auto ;
            padding-top: 60px;
        }
        .pool01 .logo{
            width: 100%;
            padding: 0;
            text-align: center;
        }
        .pool01 .img{
            display: block;
            text-align: center;
            margin-top: 15px;
        }
        .pool02{
            min-height: none;
            background: none;
            padding: 0 5%;
        }
        .pool02 .txt{
            width: 100%;
            padding: 0;
        }
        .pool02 .txt .ttl{
            font-size: 22px;
            line-height: 1.6em;
            margin-bottom: 3%;
        }
        .pool02 .img{
            display: block;
            text-align: center;
            margin-top: 10px;
        }

    }








/* 工業薬品事業 */
#gy03.ttl01 .inner br{display: none;}

.ser03 ul{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 8%;
}

.ser03 li{
    width: 33.3%;
    padding: 3%;
    vertical-align: top;
}
.ser03 li.item02{
    width: 66.6%;
}
.ser03 li.item01,
.ser03 li.item02{
    border-bottom: solid 1px #999;
}
.ser03 li.item01,
.ser03 li.item03,
.ser03 li.item04{
    border-right: solid 1px #999;
}

.ser03 li .ttl{
    font-size: 30px;
    line-height: 1.2em;
    font-family: "NSans-B",sans-serif;
    letter-spacing: 0.15em;
    margin-bottom: 20px;
    
}
.ser03 li .ttl span{color: #2549ad;}

.ser04 .ttl{
    text-align: center;
    color: #2549ad;
    font-size: 125%;
    line-height: 1.2em;
    font-weight: bold;
    padding-bottom: 8px;
    border-bottom: 2px double #999;
    margin-bottom: 30px;
    
}
.ninki{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.ninki .item{
    width: 47%;
    text-align: justify;
    text-justify: inter-character;
    margin-bottom: 8%;
}
.ninki .item .img{
    text-align: center;
    margin-bottom: 15px;
}
.ninki .item .name{
    font-weight: bold;
    font-size: 110%;
    margin-bottom: 7px;
}

    @media only screen and (max-width:768px){
        .ser03 li,
        .ser03 li.item02{
            width: 100%;
            padding: 3% 0;
        }
        .ser03 li br{display: none;}    
        .ser03 li.item01,
        .ser03 li.item02,
        .ser03 li.item01,
        .ser03 li.item03,
        .ser03 li.item04{
            border-right: none;
            border-bottom:  solid 1px #ccc;
        }

        .ser03 li .ttl{
            font-size: 24px;
            line-height: 1.2em;
            letter-spacing: 0.12em;
            margin-bottom: 10px;
        }
    }

    @media only screen and (max-width:640px){
            .ser03 li .ttl{
                font-size: 22px;
                line-height: 1.2em;
            }
            .ninki .item{
                width: 80%;
                max-width: 500px;
                margin-left: auto;
                margin-right: auto;
            }
    }

    @media only screen and (max-width:420px){
        #gy03.ttl01 .inner br{display: inline-block;}
    }









/* 実績紹介
-------------------------------*/

.achi01{
    font-weight: bold;
    padding-bottom: 3px;
    border-bottom: double 3px #999;
    margin-bottom: 20px;
}
.achi02{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.achi02 li{
    width: 45%;
    margin-bottom: 40px;
}
.achi02 li.arrow{
    width: 6%;
}
.achi02 li p{
    margin-top: 5px;
}
.cate_ttl{
    width: 100%;
    padding: 15px 20px;
    color: #fff;
    font-weight: bold;
    line-height: 1.3em;
}
.cate_ttl.cate01{background-color: #1daacf;}
.cate_ttl.cate02{background-color: #2549ad;}
.cate_ttl.cate03{background-color: #34c262;}
.cate_ttl.cate04{background-color: #f7a329;}
.cate_ttl span{display: inline-block;}
.cate_waku{
    margin-bottom: 8%;
}
.achi03{
    width: 100%;
    min-width: 600px;
    border: solid 1px #999;
    line-height: 1.4em;
}
.achi03 tr{
    border-bottom: solid 1px #999;
}
.achi03 td{
    border-left: solid 1px #999;
    padding: 15px 0;
}
.achi03 th{
    border-left: solid 1px #999;
    text-align: center;
    padding: 15px 0;
    background-color: #f1f1f1;
}
.achi03 td:nth-child(1){width: 7em; text-align: center;}
.achi03 td:nth-child(2){width: 5em; text-align: center;}
.achi03 td:nth-child(3){
    width: auto;
    padding-left: 15px;
    padding-right: 15px;
}
.achi03 td:nth-child(4){
    width: 7em;;
    padding-left: 15px;
}
.achi03 td:nth-child(5){width: 6em; text-align: center;}

    @media only screen and (max-width:640px){
        .cate_waku{
            width: 100%;
            overflow: auto;
        }
        .achi03{
            font-size: 90%;
            line-height: 1.4em;
        }
        .achi03 td,
        .achi03 th{
            padding: 10px 0;
        }

    }







/* 会社案内
-------------------------------*/
.about01{
    width: 100%;
    max-width: 1200px;
    margin: auto;
    background: url(../images/bg_about01.jpg) left top no-repeat;
}
.about01 .lead{
    width: 100%;
    max-width: 610px;
    text-align: justify;
    text-justify: inter-character;
}
.about01 .lead p{
    margin-bottom: 20px;
}
.about01 .lead .ttl{
    font-family: "NSans-B",sans-serif;
    letter-spacing: 0.2em;
    font-size: 23px;
    line-height: 1.6em;
    margin-bottom: 30px;
}
.about01 .lead .name{
    text-align: right;
    font-size: 125%;
    line-height: 1.6em;
    margin-top: 30px;
    
}
.gaiyou{
    width: 100%;
    margin-bottom: 40px;
}
.gaiyou tr{
    border-bottom: solid 1px #999;
}

.gaiyou th{
    width: 30%;
    padding-left: 10%;
    padding-top: 15px;
    padding-bottom: 15px;
    vertical-align: top;
    font-weight: bold;
}
.gaiyou td{
    width: 70%;
    padding: 15px 0;
}
.gaiyou td ul{
    display: flex;
}
.gaiyou td li{
    margin-right: 2em;
}

.about02{
    display: flex;
    flex-wrap: wrap;
}
.about02 .item{
    width: 50%;
}
.about02 .item:nth-child(1){
    padding-right: 5%;
}

.about02 .item:nth-child(2){
    padding-left: 5%;
    border-left: solid 1px #999;
}
.about02 .item .ttl{
    font-weight: bold;
    margin-bottom: 10px;
}
.about02 .item table{
    width: 100%;
    line-height: 1.6em;
}
.about02 .item table th{
    width: 9em;
    vertical-align: top;
    padding-right: 5px;
    padding-bottom: 15px;
}
.about02 .item table td{
    width: auto;
    padding-bottom: 15px;
}

    @media only screen and (max-width:900px){
        .about02 .item{
            width: 100%;
        }
        .about02 .item:nth-child(1),
        .about02 .item:nth-child(2){
            padding: 0;
            margin-bottom: 20px;
            border: none;
        }
        .gaiyou td ul{
            display: block;
        }
        .gaiyou td li{
            margin-right: 0;
        }
    }

    @media only screen and (max-width:768px){
        .gaiyou th{
            padding-left: 5px;
        }
    }
    @media only screen and (max-width:480px){
        .gaiyou th{
            display: inline-block;
            width: 100%;padding-bottom: 0;
        }
        .gaiyou td{
            display: inline-block;
            width: 100%;
            padding-top: 0;
        }
        .about02 .item table tr{
            border-bottom: dashed 1px #ccc;
        }
        .about02 .item table th{
            display: inline-block;
            width: 100%;
            padding-top: 10px;
            padding-right: 0;
            padding-bottom: 0;
        }
        .about02 .item table td{
            display: inline-block;
            padding-left: 1em;
        }

    }











/* 求人情報
-------------------------------*/
#job1.ttl01,
#job2.ttl01{
    background-image: url(../images/rec_ttl_bar_bg.png);
    margin-bottom: 5%;
}
.rec01{text-align: center;}
.rec01 .ttl{
    margin-bottom: 30px;
}
.rec01 .ttl_sub{
    font-family: "NSans-B",sans-serif;
    font-size: 20px;
    letter-spacing: 0.2em;
    color: #cbcbcb;
    margin-bottom: 40px;
}
.rec01 .lead{
    margin-bottom: 60px;
}
.rec01 ul.btn{
    width: 100%;
    display: flex;
    justify-content: space-between;
}
.rec01 ul.btn li{
    width: 47%;
}
.rec02{
    position: relative;
}
.rec02 .lead{
    position: absolute;
    top: 0;
    left: 0;
    width: 390px;
    padding-right: 5%;
    padding-bottom: 5%;
    background-color: #fff;
    text-align: justify;
    text-justify: inter-character;
}
.rec02 .lead .ttl{
    font-family: "NSans-B",sans-serif;
    font-size: 30px;
    line-height: 1.2em;
    margin-bottom: 10px;
    padding-top: 20px;
    background: url(../images/rec_ttl_sub_bar.png) left top no-repeat;
}
.rec02 .lead .ttl_sub{
    font-family: "NSans-B",sans-serif;
    font-size: 20px;
    letter-spacing: 0.15em;
    color: #cbcbcb;
    margin-bottom: 40px;
    
}
.rec02 .lead p{
    padding-bottom: 20px;
}
.rec02 .img{
    padding-top: 20px;
    text-align: right;
    margin-bottom: 8%;
}

.rec02 .bosyu_waku{
    clear: both;
    width: 100%;
}

.rec02 .bosyu_waku .cap{
    text-align: center;
    padding: 5%;
    color: #ff0000;
}


    @media only screen and (max-width:1200px){
        .rec02 .lead{
            position: static;
            float: left;
            width: 40%;
            padding: 0;
            background-color: transparent;
        }
        .rec02 .img{
            float: right;
            width: 55%;
        }
    }

    @media only screen and (max-width:768px){
        .rec02 .lead,
        .rec02 .img{
            float: none;
            width: 100%;
        }
    }

    @media only screen and (max-width:640px){
        .rec01 .ttl{
            width: 80%;
            margin: 0 auto 15px;
        }
        .rec01 .ttl_sub{
            font-size: 18px;
            margin-bottom: 30px;
        }
        .rec01 .lead{
            text-align: left;
        }
        .rec01 .lead br{display: none;}
        .rec01 ul.btn{
            display: block;
        }
        .rec01 ul.btn li{
            width: 80%;
            margin: 0 auto 20px;
        }
        .rec02 .lead .ttl{
            font-size: 24px;
            line-height: 1.2em;
        }
        .rec02 .lead .ttl_sub{
            font-size: 18px;
            margin-bottom: 25px;
        }

    }



.rec03{
    width: 100%;
    max-width: 1100px;
    margin: auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.rec03 .item{
    width: 32.18%;
    margin-bottom: 20px;
}
.rec03 .item:first-child {
    width: 100%;
}
.rec03 .item p{
    margin-top: 5px;
    text-align: center;
}

.rec03_b{
    width: 100%;
    max-width: 1100px;
    margin: 60px auto 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.rec03_b .item{
    width: 48%;
    margin-bottom: 20px;
}
.rec03_b .item p{
    margin-top: 5px;
    text-align: center;
}






.rec04 .lead{
    display: flex;
    align-items:center;
    margin-bottom: 40px;
}
.rec04 .lead .txt1{
    margin-right: 2em;
}
.rec04 .lead .ttl{
    font-family: "NSans-B",sans-serif;
    font-size: 30px;
    line-height: 1.2em;
    margin-bottom: 10px;
    padding-top: 20px;
    background: url(../images/rec_ttl_sub_bar.png) left top no-repeat;
}
.rec04 .lead .ttl_sub{
    font-family: "NSans-B",sans-serif;
    font-size: 20px;
    letter-spacing: 0.15em;
    color: #cbcbcb;
}
.rec03 .item2{
    width: 48%;
    margin-bottom: 40px;
}
.rec03 .item2 a{color: #000;}
.rec03 .item2 .txt{
    margin-left: 10%;
    padding-top: 5%;
    padding-left: 5%;
    border-left: solid 1px #ccc;
}
.rec03 .item2 .txt .ttl{
    font-family: "NSans-B",sans-serif;
    font-size: 24px;
    line-height: 1.45em;
    margin-bottom: 20px;
}


    @media only screen and (max-width:640px){
        .rec03 .item{
            width: 48%;
        }

        .rec04 .lead{
            display: block;
            margin-bottom: 30px;
        }
        .rec04 .lead .ttl{
            font-size: 24px;
            line-height: 1.2em;
        }
        .rec04 .lead .ttl_sub{
            font-size: 18px;
            margin-bottom: 20px;
        }
        .rec04 .lead .txt2 br{display: none;}
        .rec03 .item2{
            width: 80%;
            margin-left: auto;
            margin-right: auto;
        }
        .rec03 .item2 .txt{
            margin-left: 5%;
        }
        .rec03 .item2 .txt .ttl{
            font-size: 19px;
            line-height: 1.3em;
            margin-bottom: 15px;
        }
        .rec03 .item2 .txt .ttl br{display: none;}
		
		
		.rec03_b{
			margin: 30px auto 0;
		}
		.rec03_b .item{
			width: 80%;
			margin-left: auto;
            margin-right: auto;
		}


		
		
		
		
		
		

    }














/* 先輩社員の声
-------------------------------*/
.vic01{
    width: 100%;
    max-width: 1200px;
    margin: auto;
    position: relative;
    margin-bottom: 8%;
}
.vic01 .txt{
    position: absolute;
    top: 100px;
    left: 0;
    width: 630px;
    padding: 5%;
    background: url(../images/bg_siro.png);
}
.vic01 .txt .ttl1{
    font-family: "NSans-B",sans-serif;
    font-size: 20px;
    color: #fff;
    margin-bottom: 15px;
}

.vic01 .txt .ttl1 span{
    background: url(../images/bg_ttl_bar.png) center bottom no-repeat;
    padding: 0 3px 3px;
}
.vic01 .txt .ttl2{
    font-family: "NSans-B",sans-serif;
    font-size: 30px;
    line-height: 1.4em;
    margin-bottom: 20px;
}
.vic01 .txt .name{
    line-height: 1.4em;
}


.vic02{
    width: 90%;
    max-width: 1200px;
    margin: auto;
    position: relative;
    margin-bottom: 8%;
}
.vic02 .txt{
    width: 640px;
    padding-top: 5%;
}
.vic02 .txt .waku1{
    width: 100%;
    padding: 0 5% 5%;
    background: url(../images/bg_siro_wide.png) top center no-repeat;
    margin-bottom: 30px;
}
.vic02 .txt .waku1 .ttl3{
    font-family: "NSans-B",sans-serif;
    color: #fff;
    margin-bottom: 20px;
}
.vic02 .txt .waku1 .ttl3 span{
    padding: 3px 5px;
    background: -moz-linear-gradient(left, #012079, #279fff);
    background: -webkit-linear-gradient(left, #012079, #279fff);
    background: linear-gradient(to right, #012079, #279fff);
}
.vic02 .img{
    position: absolute;
    top: 0;
    right: 0;
    width: 74%;
    z-index: -1;
}



.vic02.rBox .txt{
    margin-left: auto;
}
.vic02.rBox .img{
    position: absolute;
    top: 0;
    left: 0;
    right: auto;
}

.vic_btn{
    display: flex;
    justify-content: space-around;
    align-content: center;
}
.vic_btn .btn{
    width: 380px;
} 
.vic_btn .btn a{
    display: block;
    border: solid 2px #2549ad;
    padding: 20px 10px;
    font-family: "NSans-B",sans-serif;
    color: #2549ad;
    background-image: url(../images/arrow_ao.png);
    background-position: right center;
    background-repeat: no-repeat;
}
.vic_btn .btn a:hover{
    background-color: #ccc;
}


    @media (min-width:768px) and (max-width:1288px){
        .vic01 .txt{
            display: inline-block;
            width: auto;
            padding: 3%;
        }
        .vic02 .txt{
            padding-top: 25%;
        }
    }

    @media only screen and (max-width:900px){
        .vic_btn{
            display: block;
        }
        .vic_btn .btn{
            width: 80%;
            max-width: 380px;
            margin: 0 auto 20px;
        }
    }

    @media only screen and (max-width:768px){
        .vic01 .txt{
            position: static;
            width: 100%;
            padding: 0 5%;
            background:none;
            margin-bottom: 20px;
        }
        .vic01 .txt .ttl1{
            color: #2549ad;
        }
        .vic01 .txt .ttl2{
            font-size: 24px;
            line-height: 1.4em;
        }

        .vic02 .txt,
        .vic02.rBox .txt{
            width: 100%;
        }
        .vic02 .txt .waku1{
            margin-bottom: 20px;
            padding: 0;
            background: none;
        }
        .vic02 .txt .waku1 .ttl3{
            margin-bottom: 15px;
        }
        .vic02 .img,
        .vic02.rBox .img{
            position: static;
            width: 100%;
        }

    }
@media only screen and (max-width:380px){
        .vic01 .txt .ttl2 br{
            display: none;
        }
}


/* 追加　*/

.rec_bosyu {
    width: 100%;
    margin-bottom: 40px;
}
.rec_bosyu table {
	width: 100%;
}
.rec_bosyu tr{
    border-bottom: solid 1px #999;
}

.rec_bosyu th{
    width: 20%;
    padding-left: 5%;
    padding-top: 15px;
    padding-bottom: 15px;
    vertical-align: top;
    font-weight: bold;
}
.rec_bosyu td{
    width: 80%;
    padding: 15px 0;
}


@media only screen and (max-width:768px){
.rec_bosyu th{
            padding-left: 5px;
        }
	
}

@media only screen and (max-width:480px){
.rec_bosyu th{
	display: inline-block;
	width: 100%;padding-bottom: 0;
}
.rec_bosyu td{
	display: inline-block;
	width: 100%;
	padding-top: 0;
}

}

@media screen and (min-width: 680px){   
  .pc_br { display:block; }
  .sp_br { display:none; }
}
@media screen and (max-width: 680px){   
  .pc_br { display:none; }
  .sp_br { display:block; }
	.line-he {
		line-height: 12px;
	}	
	
	
}



