@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');

/* Reset CSS
-------------------------------*/

body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{
    margin:0;
    padding:0;
}
table{
    border-collapse:collapse;
    border-spacing:0;
}
fieldset,img{
    border:0;
}
address,caption,cite,code,dfn,em,strong,th,var{
    font-style:normal;
    font-weight:normal;
}
ul,ol,li{
    list-style:none;
}
caption,th{
    text-align:left;
}
h1,h2,h3,h4,h5,h6{
    font-size:100%;
    font-weight:normal;
}
q:before,q:after{
    content:'';
}
abbr,acronym {border:0;font-variant:normal;}
sup {vertical-align:text-top;}
sub {vertical-align:text-bottom;}
hr {display:none;}
input,textarea,select{
    font-family:inherit;
    font-size:inherit;
    font-weight:inherit;
    *font-size:100%;
}
*,
*::before,
*::after {
    box-sizing: border-box;
}

img{
    max-width:100%;
    height:auto;
    vertical-align: bottom;
    margin:0;
    padding:0;
}
html {scroll-behavior: smooth;}





/* Basic setting
-------------------------------*/

body {
    font-family: "メイリオ",Meiryo,Osaka,"ＭＳ Ｐゴシック","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic","MS P Gothic",sans-serif, Arial,Helvetica;
    font-size: 16px;
    line-height: 1.8;
    color: #4d4d4d;
	-webkit-text-size-adjust: 100%;
}
@media screen and (max-width:640px){
    body {
        font-size: 14px;
        line-height: 1.7;
    }

}

#wrapper{
	margin:0 auto;
	padding:0;
	width:100%;
	overflow:hidden;
}

.clearfix:after {
    content: ""; 
    display: block; 
    height: 0; 
    clear: both; 
    visibility: hidden;
}

a {
    outline:none;
    color: #4d4d4d;
    -webkit-transition: 0.5s;
    -moz-transition: 0.5s;
    -o-transition: 0.5s;
    transition: 0.5s;
    text-decoration: none;
}

a:hover {
    text-decoration: none;
    filter: alpha(opacity=80);
    -moz-opacity:0.80;
    opacity:0.80;
}

/* PCで電話リンクしない */
@media(min-width: 768px){
    a[href^="tel:"]{
        pointer-events: none;
    }
}

.flex{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}


/* ヘッダー
-------------------------------*/
#header{
    width: 100%;
    border-top: solid 4px #cbcbcb;
    overflow: hidden;
}
#header .inner{
    width: 98%;
    max-width: 1050px;
    margin: auto;
    position: relative;
}
#header .inner:before{
    position: absolute;
    top: 0;
    left: -1000px;
    width: 1000px;
    height: 100%;
    background-color: #cbcbcb;
    content: "";
}
#header h1 {
    position: absolute;
    right: 0;
    top: 7px;
    width: 700px;
    text-align: right;
    font-size: 12px;
    line-height: 1.2;
}
.h_logo{
    width: 310px;
    height: 95px;
    background:url(../img/common/bg_h_logo.png) right bottom no-repeat; 
    display: flex;
    justify-content: flex-start;
    align-items: center;
}
#header .head_office{
    position: absolute;
    right: 0;
    top: 45px;
}

.h_office_list{
    width: 100%;
    background-color: #f1f1f1;
    padding-top: 20px;
    padding-bottom: 20px;
}
.h_office_list ul{
    width: 98%;
    max-width: 830px;
    margin: auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}
.h_office_list ul li{
    width: 25%;
    border-right: solid 1px #666;
}
.h_office_list ul li:first-child{
    border-left: solid 1px #666;
}
.h_office_list ul li a{
    display: block;
    text-align: center;
    padding-left: 10px;
    padding-right: 10px;
}
.h_office_list ul li a img{
    vertical-align: middle;
}

@media screen and (min-width:911px){
    #header h1.home {
        font-size: 10px;
    }
}

@media screen and (max-width:910px){
    
    #header h1 {
        right: 60px;
        font-size: 10px;
        line-height: 1.2;
        width: calc(100% - 370px);
    }
    #header .head_office{
        right: 60px;
    }
    
}
@media screen and (max-width:640px){
    #header{
        border-top: none;
        background-color: #f1f1f1;
        border-bottom: solid 1px #cbcbcb;
    }
    #header .inner{
        width: 97%;
        padding-top: 5px;
        padding-bottom: 10px;
    }
    #header .inner:before{
        display: none;
    }

    #header h1 {
        position: static;
        width: 100%;
        padding-right: 60px;
        text-align: left;
    }
    .h_logo{
        width: 100%;
        height: auto;
        padding-top: 10px;
        padding-right: 0;
        background: none;
    }
    #header .head_office{
        display: none;
    }
    
    .h_office_list{
        display: none;
    }
    
}



/* ページタイトル
-------------------------------*/
.page-name{
    width: 100%;
    max-width: 1280px;
    height: 227px;
    background-image: url(../img/common/bg_page_company.png);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    margin: 0 auto 70px;
}
.page-name.bg_business{
    background-image: url(../img/common/bg_page_business.png);
}
.page-name.bg_company{
    background-image: url(../img/common/bg_page_company.png);
}
.page-name.bg_jisseki{
    background-image: url(../img/common/bg_page_jisseki.png);
}
.page-name.bg_partners{
    background-image: url(../img/common/bg_page_partners.png);
}
.page-name.bg_tire{
    background-image: url(../img/common/bg_page_tire.png);
}

.page-name.bg_recruit{
    background-image: url(../img/common/bg_page_recruit.png);
}
.page-name.bg_contact{
    background-image: url(../img/common/bg_page_contact.png);
}

.page-name ._in{
    width: 90%;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 600;
}
.page-name .txt1{
    font-size: 30px;
    line-height: 1.2;
    letter-spacing: 0.1em;
    text-shadow: 0 0 4px #fff;
    margin-bottom: 20px;
}
.page-name .txt2{
    font-size: 17px;
    line-height: 1.5;
    font-weight: 700;
    letter-spacing: 0.06em;
    color: #444;
    text-shadow: 0 0 4px #fff;
}
.page-name .txt2 br.sp{
    display: none;
}

.page-name.bg_tire .txt1 br{
    display: none;
}
.w1280{
    width: 90%;
    max-width: 1280px;
    margin: auto;
}
.w1050{
    width: 90%;
    max-width: 1050px;
    margin: auto;
}
.cont_ttl {
    width: 100%;
    height: 70px;
    background-image: url(../img/common/bg_cont_ttl.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    border-left: 10px solid #333333;
    font-size: 23px;
    font-weight: 700;
    line-height: 70px;
    margin-bottom: 40px;
    padding-left: 20px;
}

.cont_ttl.bg_bk {
    background-color: #333;
    background-image: none;
    border-left-color: #cbcbcb;
    color: #fff;
}

@media screen and (max-width:640px){
    .page-name .txt1{
        font-size: 28px;
    }
    .page-name .txt2{
        font-size: 16px;
    }
    .page-name .txt2 br.sp{
        display: inline-block;
    }

    .page-name.bg_tire .txt1 br{
        display: inline-block;
    }
    
    .cont_ttl {
        height: 50px;
        border-left-width: 7px;
        font-size: 18px;
        line-height: 50px;
        margin-bottom: 30px;
    }


    
    
}

























/* フッター
-------------------------------*/
#footer{
    padding-top: 100px;
}

.f_nav{
    width: 90%;
    max-width: 850px;
    margin: 0 auto 25px;
    font-size: 15px;
    line-height: 1.2;
    display: flex;
    justify-content: center;
}
.f_nav li:not(:last-child){
    border-right: solid 1px #cbcbcb;
}
.f_nav li a{
    padding: 0 1em;
}
.f_nav li a:hover{
    text-decoration: underline;
}

.f_info{
    width: 100%;
    border-top: solid 1px #cbcbcb;
    background-color: #f1f1f1;
    background-image: url(../img/common/bg_footer.png);
    background-position: center top;
    background-repeat: no-repeat;
    background-size: auto 100%;
    padding: 60px 5% 50px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.f_info .f_tel{
    margin-left: 20px;
    margin-right: 20px;
}
.f_office_list{
    display: none;
}


#footer .copy{
	text-align:center;
	font-size:12px;
    background-color: #333333;
    color: #ffffff;
    padding: 10px;
}
#pageTop{
	position:fixed;
	bottom:20px;
	right:20px;
}

@media screen and (max-width:910px){
    
    #footer{
        padding-top: 70px;
    }
    .f_nav{
        display: none;
    }

    .f_info{
        display: block;
        text-align: center;
    }
    .f_info .f_tel{
        margin: 30px 0;
    }
    #pageTop{
        width: 50px;
        right:20px;
    }
    
}
@media screen and (max-width:640px){
    .f_office_list{
        display: block;
        width: 195px;
        margin: 0 auto 50px;
        text-align: left;
    }
    .f_office_list li{
        padding-top: 10px;
        border-top: dashed 1px #999;
        margin-bottom: 10px;
    }
    #pageTop{
        bottom:60px;
        right:10px;
    }

}





/* トップページ
-------------------------------*/

#slide {
    width:100%;
    max-width: 1280px;
    margin:0 auto 60px;
}


/* TOP-業務内容 */
.top_business{
    margin-bottom: 60px;
}
.ttl_black {
    background: url(../img/top/ttl_line_kuro.png) left bottom no-repeat;
    padding-bottom: 5px;
    padding-left: 20px;
    font-size: 23px;
    font-weight: bold;
    line-height: 1.2em;
    margin-bottom: 20px;
}
.top_biz_cont{
    width: 100%;
}
.top_biz_cont .item{
    width: 49.5%;
    padding: 3px;
    border: solid 1px #999999;
    margin-bottom: 10px;
}
.top_biz_cont .item .img{
    width: 46%;
}
.top_biz_cont .item .txt{
    width: 51%;
}
.top_biz_cont .item .txt dt{
    background: url(../img/top/arrow_black_top.png) left center no-repeat;
    border-bottom: dashed 1px #999999;
    padding: 10px 0 10px 15px;
    margin-bottom: 10px;
    font-size: 22px;
    line-height: 1.2;
    font-weight: bold;
}
.top_biz_cont .item .txt dt.f_s{
    font-size: 20px;
}
.top_biz_cont .item .txt dt.f_ss{
    font-size: 16px;
}

.top_biz_cont .item .txt dd{
    line-height: 1.4;
}
.top_biz_cont .item .txt .link_btn{
    margin-top: 30px;
}



@media screen and (max-width:910px){
    .top_biz_cont .item{
        width: 100%;
        max-width: 510px;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 15px;
    }
}
@media screen and (max-width:640px){
    .top_biz_cont .item .txt .link_btn{
        margin-top: 10px;
    }
}

@media screen and (max-width:566px){
    .top_biz_cont .item{
        display: block;
        padding: 20px;
    }
    .top_biz_cont .item .img{
        width: 100%;
        text-align: center;
        margin-bottom: 10px;
    }
    .top_biz_cont .item .img img{
        width: 100%;
        height: 30vw;
        object-position: center;
        object-fit: cover;
    }
    
    
    .top_biz_cont .item .txt{
        width: 100%;
    }
}






/* 実績スライダー */

.top_jyuki,
.top_jisseki{
    margin-bottom: 60px;
}
#productList_wrap{
    width: 100%;
    max-width: 940px;
    margin: auto;
    margin-bottom: 30px;
}
#productList li{
    padding-left: 5px;
    padding-right: 5px;
}
.waku_jisseki{
    width:100%;
    height: auto;
    min-height:346px;
    padding:3px;
    border:solid 1px #999999;
    font-size:15px;
    line-height:1.3em;
    overflow:hidden;
}
.ji_img{
    text-align:center;
    margin-bottom:12px;
    width:100%;
    background:#eeeeee;
}
.ji_img img{
    width: 100%;
    aspect-ratio:294 /208;
    object-fit: cover;
    object-position: center;
}
.waku_jisseki dl{
    width:100%;
}
.waku_jisseki dt{
    float:left;
    width:65px;
    background-color:#333333;
    color:#ffffff;
    text-align:center;
    padding:5px 0;
    margin-bottom:8px;
}
.waku_jisseki dd{
    margin-left:65px;
    width:calc(100% - 65px);
    padding:5px 5px;
    background-color:#e5e5e5;
    margin-bottom:8px;
}

@media screen and (min-width:1171px){
    #productList .slick-prev, 
    #productList .slick-next {
        font-size: 0;
        line-height: 0;
        position: absolute;
        top: 0;
        display: block;
        width: 58px;
        height: 345px;
        -webkit-transform: translate(0,0);
        -ms-transform: translate(0, 0);
        transform: translate(0, 0);
        background-color: transparent;
        background-position: center center;
        background-repeat: no-repeat;
        background-image: url(../img/top/arrow_r.png);
    }
    #productList .slick-prev {
        left: -59px;
        background-image: url(../img/top/arrow_l.png);
    }
    #productList .slick-next {
        right: -59px;
    }
    #productList .slick-prev::before {
        content: '';
    }
    #productList .slick-next::before {
        content: '';
    }
    
}
@media screen and (max-width:1170px){
    
    #productList .slick-prev::before,
    #productList .slick-next::before {
        font-size: 25px;
        color: #333;
    }
    #productList .slick-prev {
        left: -30px;
    }
}


@media screen and (max-width:910px){
    .waku_jisseki {
        min-height: 300px;
    }
    
    
}
@media screen and (max-width:640px){
    .top_jyuki img{
        width: 100%;
        height: 28vw;
        object-fit: cover;
        object-position: left;
    }
    #productList_wrap{
        max-width: 320px;
        margin-bottom: 50px;
    }
    .waku_jisseki{
        font-size:14px;
        line-height:1.3em;
    }

    
}







.top_rec{
    width: 100%;
    background-color: #e5e5e5;
    padding-top: 100px;
    position: relative;
}
.top_rec:before{
    position: absolute;
    left: 0;
    top: 3px;
    width: 100%;
    height: 1px;
    background-color: #fff;
    content: "";
}
.bg_top_rec{
    width: 95%;
    height: 450px;
    background: url(../img/top/banner_recruit_b.jpg) center top/contain no-repeat;
    position: relative;
    padding-top: 130px;
    padding-left: 50px;
}
.bg_top_rec .ttl{
    position: absolute;
    left: 55px;
    top: 28px;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 700;
    font-size: 23px;
    line-height: 1.4;
}
.bg_top_rec .txt .sub_ttl{
    font-family: "Noto Sans JP", sans-serif;
    font-size: 19px;
    line-height: 1.5;
    font-weight: 700;
    margin-bottom: 25px;
}
.bg_top_rec .txt p{
    line-height: 1.6;
}
.bg_top_rec .link_btn{
    margin-left: 240px;
    margin-top: 30px;
}

#footer.home{
    padding-top: 0;
}
.f_home_bg{
    width: 100%;
    background-color: #e5e5e5;
    padding-top: 40px;
    padding-bottom: 20px;
    border-bottom: solid 1px #fff;
}
.seo_txt{
    margin-bottom: 40px;

}

@media (max-width:1100px) and (min-width:911px){
    .bg_top_rec{
        height: 40.9vw;
        padding-top: 11.818vw;
        padding-left: 4.54vw;
    }
    .bg_top_rec .ttl{
        left: 5vw;
        top: 2.5vw;
        font-size: 2.09vw;
    }
    .bg_top_rec .txt .sub_ttl{
        font-size: 1.7vw;
        margin-bottom: 2.27vw;
    }
    .bg_top_rec .txt p{
        font-size: 1.45vw
    }
    .bg_top_rec .link_btn{
        margin-left: 21.8vw;
        margin-top: 2.72vw;
        width: 21.8vw;
    }
}
@media screen and (max-width:910px){
    .bg_top_rec{
        width: 90%;
        height: auto;
        background-image: url(../img/top/banner_recruit_b_sp.jpg);
        background-size:  cover;
        padding: 20px 20px 0;
        border: solid 1px #88cf2b;
    }
    .bg_top_rec .ttl{
        position: static;
        padding-left: 15px;
        border-left: solid 10px #fff;
        margin-bottom: 30px;
    }
    .bg_top_rec .txt p br{
        display: none;
    }
    .bg_top_rec .link_btn{
        text-align: center;
        margin-left: 0;
    }
    .bg_top_rec_sp{
        width: 100%;
        max-width: 600px;
        margin: -50px auto 0;
        aspect-ratio:692 / 512;
        background-image: url(../img/top/banner_recruit_b_sp_2.png);
        background-position: center;
        background-repeat: no-repeat;
        background-size: contain;
    }
}
@media screen and (max-width:640px){
    .top_rec {
        padding-top: 60px;
    }
    .bg_top_rec .ttl{
        font-size: 20px;
    }
    .bg_top_rec .txt .sub_ttl{
        font-size: 18px;
        margin-bottom: 20px;
    }
    .bg_top_rec .link_btn{
        margin-top: 20px;
    }

    .bg_top_rec_sp{
        margin-top: -30px;
    }
}













/* 業務内容
-------------------------------*/
.biz_cont {
    margin-bottom: 100px;
}
.biz_cont_item{
    width: 95%;
    max-width: 1050px;
    margin: auto;
}
.biz_cont_item .txt{
    width: 46%;
    padding-top: 10px;
}
.biz_cont_item .img{
    width: 49.5%;
}
.biz_cont_item .txt p{
    text-align: justify;
    text-justify: inter-character;
}
.biz_cont_item .txt .cat_ttl{
    border-left: 4px solid #808080;
    font-size: 23px;
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 25px;
    padding-left: 20px;
}
.biz_cont_item_bg{
    width: 100%;
    background-image: url(../img/business/business_cont_bg.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    margin-top: 30px;
    padding: 30px 0;
}
.biz_cont_item .img.mt{
    margin-top: 10px;
    
}
.biz_cont_item .link_btn{
    margin-top: 40px;
}
@media screen and (max-width:1115px){
    .biz_cont_item .txt p br.pc{
        display: none;
    }
}
@media screen and (max-width:910px){
    .biz_cont_item .txt{
        width: 100%;
        padding-top: 0;
        margin-bottom: 20px;
    }

    .biz_cont_item .img{
        width: 100%;
        text-align: center;
    }
    .biz_cont_item .txt .cat_ttl{
        margin-bottom: 15px;
    }
    
    .biz_cont_item .link_btn{
        margin-top: 20px;
    }
    
}
@media screen and (max-width:640px){
    .biz_cont {
        margin-bottom: 70px;
    }
    
    .biz_cont_item .txt .cat_ttl{
        font-size: 18px;
    }
    .biz_cont_item_bg{
        margin-top: 20px;
        padding: 20px 0;
    }
    .biz_cont_item .link_btn{
        max-width: 250px;
    }
}



/* 保有重機 */
.jyuki_img{
    width: 100%;
}
.jyuki_img li{
    width: 32.8125%;
    margin-bottom: 10px;
}
.jyuki_list_waku{
    margin-top: 50px;
    overflow: auto;
}
table.jyuki_list{
    width:100%;
    line-height: 1.5;
}
table.jyuki_list th,
table.jyuki_list td{
    border: solid 1px #b4b4b4;
}
table.jyuki_list th{
    background-color:#e5e5e5;
    text-align:center;
}
table.jyuki_list td{
    padding:5px 20px;
}

@media screen and (max-width:910px){
    .jyuki_img li{
        width: 49.3%;
    }
    table.jyuki_list{
        font-size: 14px;
        line-height: 1.4;
    }
}
@media screen and (max-width:640px){
    .jyuki_img li{
        width: 100%;
    }
    .jyuki_list_waku{
        margin-top: 30px;
        padding-bottom: 10px;
    }
    table.jyuki_list{
    /*    width: 500px;*/
        font-size: 13px;
    }
    table.jyuki_list td{
        padding:5px;
    }
}







/* 廃タイヤ再生資源回収施設事業<
-------------------------------*/
.tire_cont{
    margin-bottom: 100px;
}
.tire_cont_item{
    width: 100%;
    max-width: 1140px;
    margin: auto;
}
.tire_cont_item .txt{
    width: 50%;
}
.tire_cont_item .img{
    width: 45.7%;
}
.tire_cont_item .txt p{
    text-align: justify;
    text-justify: inter-character;
}
.tire_cont_item .txt .cap{
    font-size: 23px;
    font-weight: 700;
    line-height: 1.6;
    margin-bottom: 10px;
}
.f_ao{
    color: #005baa;
}
.tire_cont_item .txt .cap2{
    margin-bottom: 20px;
}
.tire_cont_item .txt .cap2 li{
    text-indent: -1em;
    margin-left: 1em;
}
.tire_cont_item .txt .cap3{
    width: 100%;
    max-width: 570px;
}
.tire_cont_item .txt .cap3 li{
    width: 32%;
    text-align: center;
    background-color: #d4e8fa;
    border-radius: 5px;
    padding: 16px 5px 12px;
    font-weight: 700;
    line-height: 1.2;
}
.tire_cont_item .txt .cap4{
    margin-top: 20px;
    width: 100%;
    max-width: 570px;
}
.tire_cont_item .txt .cap4 li {
    background-color: #d4e8fa;
    border-radius: 5px;
    font-weight: 700;
    margin-top: 10px;
    padding: 14px 10px 10px 40px;
}
@media (min-width:911px) and (max-width:1110px){
    .tire_cont_item .txt .cap4 li {
        padding: 14px 10px 10px;
    }

}
@media screen and (max-width:910px){

    .tire_cont_item .txt{
        width: 100%;
        margin-bottom: 30px;
    }
    .tire_cont_item .img{
        width: 100%;
        text-align: center;
    }
}
@media screen and (max-width:640px){
    .tire_cont{
        margin-bottom: 70px;
    }
    .tire_cont_item .txt .cap{
        font-size: 18px;
    }
    .tire_cont_item .txt .cap3 li{
        width: auto;
        flex-grow: 1;
    }
    .tire_cont_item .txt .cap3 li:not(:last-child){
        margin-right: 7px;
    }
    .tire_cont_item .txt .cap4 li {
        padding: 14px 10px 10px 1.5em;
        text-indent: -1em;
    }
    
}








/* 会社概要
-------------------------------*/
.com01{
    margin-bottom: 80px;
}
.ttl_gyosyu {
    background: url(../img/top/arrow_blue.png) left center no-repeat;
    border-bottom: dashed 1px #999999;
    padding: 0 0 0 20px;
    margin-bottom: 10px;
    font-size: 22px;
    line-height: 2em;
    font-weight: bold;
}
.com_kaisya{
    width:100%;
    margin-bottom:40px;
}
.com_kaisya th{
    width: 160px;
    border: solid 1px #b4b4b4;
    padding:10px 10px;
    vertical-align:top;
    background-color:#e5e5e5;
    font-weight:bold;
}
.com_kaisya td{
    border: solid 1px #b4b4b4;
    padding:10px 10px;
    vertical-align:top;
}
.com_kaisya td li{
    float:left;
    padding-right:30px;
}

#of00{
    padding-top: 30px;
    margin-top: -30px;
}
.waku_add{
    width:100%;
    border: solid 1px #b4b4b4;
    margin-bottom:20px;	
}
.waku_add td{
    vertical-align:top;
    line-height:1.4;
}
.waku_add td p{
    margin-bottom:5px;
}
.waku_add td .ttl_name{
    font-size:20px;
    font-weight:bold;
    margin-bottom:13px;
}
.waku_add td.add_img{
    width: 43%;
    padding:15px 0 15px 15px;
}
.waku_add td.add_map{
    width: 57%;
    padding:15px;
}
.g-map{
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 330px;/* 高さ */
}
.g-map iframe{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.g-map .btn_map{
    position: absolute;
    left: 8px;
    top: 8px;
    width: 127px;
    z-index: 1;
    box-shadow: 0 0 3px rgba(0,0,0,0.2);
}



@media screen and (max-width:910px){
    .waku_add td.add_img{
        display: inline-block;
        width: 100%;
        padding:15px;
    }
    .waku_add td.add_map{
        display: inline-block;
        width: 100%;
        padding:15px;
    } 
}
@media screen and (max-width:640px){
    .ttl_gyosyu {
        font-size: 18px;
        line-height: 2em;
    }
    .com_kaisya tr:last-child{
        border-bottom: solid 1px #b4b4b4;
    }
    .com_kaisya th{
        display: inline-block;
        border-bottom: none;
        width: 100%;
    }
    .com_kaisya td{
        display: inline-block;
        width: 100%;
        border-bottom: none;
    }
    
    .waku_add td.add_img{
        padding:10px;
    }
    .waku_add td.add_map{
        padding:10px;
    } 
    .g-map{
        padding-top: 70%;/* 高さ */
    }
}








/* リクルート
-------------------------------*/
.page-name.bg_recruit{
    margin-bottom: 20px;
}
.rec01{
    width: 100%;
    max-width: 1280px;
    margin: 0 auto 40px;
}
.rec01 img{
    width: 100%;
    height: 520px;
    object-fit: cover;
    object-position: center;
}
.rec02{
    border: solid 1px #63b000;
    background: url(../img/recruit/recruit_img02.png) right top no-repeat;
    padding: 40px;
    margin-bottom: 30px;
}
.rec02 .txt{
    width: 65%;
}
.rec02 .pdf{
    width: 30%;
    text-align: right;
}
.rec02 .txt .ttl_rireki {
    width: 100%;
    font-size: 24px;
    font-weight: bold;
    border-bottom: solid 1px #b2b2b2;
    padding-bottom: 15px;
    margin-bottom: 30px;
}
.rec03 a img{
    width: 100%;
    height: 204px;
    object-fit: cover;
    object-position: center;
}
@media screen and (max-width:910px){
    .rec02{
        background-position: right bottom;
        background-size: 66vw auto;
        padding: 30px;
    }
    .rec02 .txt{
        width: 100%;
    }
    .rec02 .txt br.pc{
        display: none;
    }
    .rec02 .pdf{
        width: 100%;
        text-align: center;
        margin-top: 30px;
    }
    
}
@media screen and (max-width:640px){
    .rec01 img{
        width: 100%;
        height: 81vw;
    }
    .rec02{
        padding: 20px;
        background: none;
    }
    .rec02 .txt .ttl_rireki {
        font-size: 18px;
    }
    .rec02 .pdf img{
        width: 35vw;
        height: auto;
    }
}
@media screen and (max-width:580px){
    .rec03 a img{
        width: 100%;
        height: 35.1vw;
    }
}











/* 協力業者募集
-------------------------------*/
.part01{
    margin-bottom: 60px;
}
.part01 .txt{
    width: 46%;
}
.part01 .img{
    width: 49%;
}

.part02{
    margin-bottom: 60px;
}
.part02_list{
    width: 100%;
}
.part02_list{
}
.part03 ul{
    width: 100%;
    max-width: 1165px;
    margin-left: auto;
}
.part03 ul li{
    text-indent: -1em;
    margin-left: 1em;
}
.part03 .cont_btn{
    text-align: center;
    margin-top: 80px;
}


@media screen and (max-width:910px){
    .part02_list ul{
        width: 48%;
    }
}
@media screen and (max-width:640px){
    .part01 .txt{
        width: 100%;
        margin-bottom: 20px;
    }
    .part01 .img{
        width: 100%;
        text-align: center;
    }
    .part03 .cont_btn{
        margin-top: 50px;
    }
}
@media screen and (max-width:580px){
    .part02_list{
        padding-left: 2em;
    }
    .part02_list ul{
        width: 100%;
    }

}








/* お問い合わせ
-------------------------------*/
.toi01{
    border: solid 1px #b2b2b2;
    margin-bottom: 70px;
    text-align: center;
    font-size: 18px;
    padding-bottom: 25px;
}
.toi_ttl{
    width: 100%;
    padding: 20px 20px 30px;;
    background: url(../img/contact/bg_toi_txt.png) center bottom no-repeat;
    text-align: center;

    font-size: 18px;
    line-height: 1.5em;
    color: #fff;
}
.toi_tel{
    width: 90%;
    margin: 30px auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    
}
.toi_tel li:first-child{
    margin-right: 30px;
}

.toi02 .waku_gray{
    border: solid 1px #b2b2b2;
}
.formTable{
    width:96%;
    margin:20px auto; 
}
.formTable th{
    width:260px;
    padding:15px 10px;
    font-weight:bold;
    border-bottom:solid 1px #005baa;
}
.formTable td {
    padding:15px 10px;
    border-bottom:solid 1px #cbcbcb;
}
.formTable th.end,
.formTable td.end {
    border-bottom:none;
    vertical-align:top;
}
.formTable th.end02,
.formTable td.end02 {
    border-bottom:none;
    font-weight: 700;
    vertical-align:top;
    padding-bottom: 0;
}
.formTable td.end02 input[type="checkbox"] {
    margin-right: 1em;
}
.length_l{
    width:100%;
    padding:5px;
}
.length_s{
    width:100%;
    max-width: 440px;
    padding:5px;
}
.naiyou{
    width:100%;
    height:100px;
    padding:5px;
    resize: vertical;
}
.btn_sousin{
    background:url(../img/contact/btn_sousin.png) center top/contain no-repeat;
    width: 80%;
    max-width:316px;
    height:76px;
    border:0px solid;
    background-color: transparent;
    cursor:pointer;
    transition: 0.3s;
}
.btn_sousin:hover{
    opacity: 0.7;
}
.txt_notes{
    text-align: center;
    margin-top: 30px;
    margin-bottom: 30px;
}
.end-txt{
    text-align: center;
    padding-bottom: 200px;

}

@media screen and (max-width:910px){
    .toi01{
        font-size: 16px;
        padding-bottom: 20px;
    }
    .toi_tel{
        display: block;
    }
    .toi_tel li:first-child{
        margin-right: 0;
        margin-bottom: 20px;
    }
}
@media screen and (max-width:640px){
    .toi01{
        margin-bottom: 50px;
    }
    .toi_ttl{
        padding: 20px;
        font-size: 15px;
    }
    .toi02 .toi_ttl br{
        display: none;
    }
    .formTable{
        width:95%;
    }
    .formTable th{
        display: inline-block;
        width: 100%;
        padding: 10px 0 5px;
        border-bottom:none;
    }
    .formTable td {
        display: inline-block;
        width: 100%;
        padding: 0 0 20px;
    }
    .formTable td.end02{
        padding-bottom: 20px;
        border-bottom:solid 1px #cbcbcb;
    }
    .txt_notes{
        text-align: left;
    }
    
}

@media screen and (max-width:480px){
    .toi_tel li.fax img{
        width: 71.66vw;
        height: auto;
        
    }
    
}


































/* layout */
.clear { clear: both; }
.ar { text-align: right; }
.ac { text-align: center; }
.strong{font-weight:bold;}
.font_red{
    color: #ff0000;
}

/* プリントの表示設定 */
@media print{
    body {
        zoom: 0.68;
        -webkit-print-color-adjust: exact;
    }

    #wrapper{
        width:1110px;
        margin:auto;
    }
    .navToggle {
        display: none;
    }


}







