@charset "UTF-8";
@import "reset.css";

.clear:after {
    content: "";
    clear: both;
    display: block;
}

body{
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}

.header_nav_wrap{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 203px;
    z-index: 100000;
    background-color: #fff;
}

header{
    max-width: 1150px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
}

#logo{
    width: 224px;
    margin-top: 34px;
}

#logo .logo_txt{
    font-size: 16px;
    margin-top: 8px;
    letter-spacing: .4px;
}

#logo a{
    display: block;
    width: 213px;
    height: 57px;
    text-indent: -9999px;
    background: url(/common/img/head_logo.png) no-repeat;
}

#head_contents{
    width: 586px;
}

#biz_navi{
    margin-left: 13px;
    border-top: 4px solid #000000;
    display: flex;
    justify-content: space-around;
}

#biz_navi li{
    list-style-type: none;
    padding-top: 10px;
}

#biz_navi li a{
    box-sizing: border-box;
    color: #000000;
    text-decoration: none;
    text-align: center;
    width: 190px;
    border-left: 1px solid #000000;
    display: block;
    font-size: 14px;
    padding: 2px 0;
}

#biz_navi li a:hover{
    opacity: 0.5;
    transition: all 0.2s;
}

#biz_navi .li_last a{
    border-right: 1px solid #000000;
}

#contact{
    margin-top: 16px;
    display: flex;
}

#contact_txt{
    padding-top: 4px;
    font-size: 16px;
    line-height: 1.6;
    width: 124px;
}

#contact_txt .quote{
    letter-spacing: -1px;
}

#contact_txt .inquiry{
    letter-spacing: 2px;
    line-height: 2;
}

#contact_number{
    width: 270px;
}



.tel dl,.fax dl{
    display: flex;
}

.tel dt img{
    background: #000;
    padding: 5px 9px;
    margin-top: 4px;
}

.tel dd{
    font-size: 30px;
    margin-left: 14px;
}

.fax dt img{
    display: block;
    background: #000;
    padding: 5px 10px;
    margin-top: 4px;
}

.fax dd{
    font-size: 24px;
    margin-left: 14px;
    margin-top: 2px;
}

.form_button{
    margin-top: 7px;
}

.form_button a{
    display: block;
    width: 242px;
    color: #ffffff;
    text-decoration: none;
    text-align: center;
    padding: 6px 0;
    background: #000000 url(/common/img/btn_arrow.png) no-repeat;
    background-position: center right 24px;
    font-size: 14px;
}

.form_button a:hover{
    opacity: 0.5;
    transition: all 0.2s;
}

#hours{
    width: 192px;
    margin-top: 3px;
}

.hours_txt{
    background: #f3f3f3;
    font-size: 14px;
    line-height: 1.5;
    box-sizing: border-box;
    padding: 10px 10px;
}

nav{
    background: #222828;
}

nav .nav_wrap{
    width: 100%;
    max-width: 1150px;
    margin: 0 auto;
    position: relative;
}

nav .main_nav{
    max-width: 1150px;
    margin: 10px auto 0;
    display: flex;
    justify-content: space-between;
}


nav .main_nav li{
    padding: 13px 0;
}

nav .nav_li_last .w_line{
    border-right: 1px solid #fff;
}

nav .main_nav .w_line{
    border-left: 1px solid #fff;
}


nav .main_nav a{
    display: block;
    width: 190px;
    color: #fff;
    font-size: 15px;
    text-decoration: none;
    text-align: center;
    position: relative;
}

nav .main_nav a::after{
    position: absolute;
    bottom: -13px;
    left: 32px;
    content: '';
    height: 3px;
    width: 126px;
    background: #e60012;

    visibility: hidden;
}

nav .main_nav a span{
    display: block;
    padding: 7px 0;
}

nav .main_nav a span:hover{
    opacity: 0.5;
    transition: all 0.2s;
}

nav .main_nav li a.gnavi:hover::after{
    transition: all 0.2s;
    visibility: visible;
}

#products_handled:hover .products_rollover{
    visibility: visible;
    transition: all 0.2s;
}

.products_rollover{
    position: absolute;
    top: 54px;
    left: 0;
    background: rgba(34, 40, 40, 0.9);
    width: 1150px;
    display: flex;
    z-index: 100;
    visibility: hidden;
}

.main_nav .results{
    width: 300px;
    color: #fff;
}

.main_nav .results_ttl{
    padding: 54px 0 0 114px;
    font-size: 20px;
}

.main_nav .results_list a{
    display: block;
    font-size: 16px;
    width: 101px;
    padding: 8px 0;
    border: 1px solid #fff;
    margin: 24px 0 0 102px;
}

.main_nav .results_list a:hover{
    transition: all 0.2s;
    opacity: 0.5;
}

nav .main_nav .products_menu{
    width: 830px;
    display: flex;
    padding: 55px 0 50px 0;
    font-size: 16px;
}

nav .main_nav .products_menu li{
    border: none;
    padding-bottom: 30px;
}
nav .main_nav .products_menu li:first-child {
    padding-top: 0;
}

nav .main_nav .products_menu li a{
    display: inline-block;
    text-align: left;
    width: auto;
}

nav .main_nav .products_menu li a:hover{
    transition: all 0.2s;
    opacity: 0.5;
}

.products_one{
    width: 250px;
}

.products_two{
    width: 280px;
}

.products_three{
    width: 280px;
}

.sp_menu_btn{
    display: none;
}

.sp_br{
    display: none;
}

.sp_inline{
    display: none;
}

.sp_results{
    display: none;
}

#main{
    padding-top: 203px;
}

footer{
    background: #f3f3f3;

}

.footer_wrap{
    width: 100%;
    max-width: 1150px;
    margin: 0 auto;
    padding: 85px 0 60px 0;
}

.order_iquiry{
    background: #fff;
    padding-bottom: 46px;
}

.order_ttl{
    background: #000;
    color: #fff;
    text-align: center;
    font-size: 18px;
    padding: 11px 0;
}

#order{
    padding: 40px 0px 0px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    width: 904px;
}

.iquiry_form a,.visit_button a{
    display: block;
    width: 428px;
    color: #fff;
    text-align: center;
    text-decoration: none;
    font-size: 26px;
    padding: 25px 0;
    background: #000 url(/common/img/btn_arrow_2.png) no-repeat;
    background-size: 8px 14px;
    background-position: center right 32px;
}

.iquiry_form a:hover,.visit_button a:hover{
    transition: all 0.2s;
    opacity: 0.5;
}

footer .tell_time{
    width: 892px;
    margin: 36px auto 0;
    display: flex;
}

.tel_fax{
    width: 446px;

}

.ft_tel{
    padding-top: 9px;
    display: flex;
}

.ft_fax{
    display: flex;
    margin-top: 5px;
}


.ft_tel dt,.ft_fax dt{
    background: #000;
    color: #fff;
    font-size: 20px;
    width: 92px;
    height: 34px;
    padding-top: 7px;
    box-sizing: border-box;
    text-align: center;
    margin-top: 7px;
    letter-spacing: 1px;
}

.ft_tel dd{
    font-size: 46px;
    margin-left: 22px;
}

.ft_fax dd{
    font-size: 38px;
    margin-left: 22px;
    margin-top: 4px;
}

.ft_time{
    width: 445px;
    box-sizing: border-box;
    border-left: 1px solid #000;
    font-size: 20px;
    line-height: 1.5;
    padding-left: 42px;
    padding-top: 10px;
}

.calendar_links{
    width: 100%;
    max-width: 1150px;
    display: flex;
    justify-content: space-between;
    margin-top: 50px;
}

.calendar_wrap{
    width: 480px;
}

.calendar_ttl{
    background: #000;
    color: #fff;
    text-align: center;
    font-size: 16px;
    padding: 7px 0;
}

.cal_inside{
    display: flex;
    background: #fff;
}

.cal_1{
    width: 240px;
    padding: 36px 0 31px 15px;
    box-sizing: border-box;
}

.cal_2{
    width: 240px;
    padding: 36px 0 31px 10px;
    box-sizing: border-box;
}

.sns{
    margin-top: 28px;
}

.sns ul{
    list-style: none;
    display: flex;
}

.facebook{
    width: 30px;
    height: 30px;
    background: url(/common/img/logo_facebook.png) no-repeat;
    background-size: 30px 30px;
}

.twitter{
    width: 30px;
    height: 26px;
    background: url(/common/img/logo_twitter.png) no-repeat;
    background-size: 30px 26px;
    margin: 2px 0 0 23px;
}

.instagram{
    width: 32px;
    height: 32px;
    background: url(/common/img/logo_instagram.png) no-repeat;
    background-size: 32px 32px;
    margin: 0 0 0 23px;
}

.ft_links{
    width: 470px;
    display: flex;
}

.ft_links a:hover{
    opacity: 0.5;
    transition: all 0.2s;
}

.ft_links ul{
    list-style: none;
}

.links_1{
    width: 252px;
}

.links_1 a,
.links_2 a {
    text-decoration: none;
    color: #000;
    font-feature-settings: "palt";
}

.links_1 ul{
    font-size: 14px;
    margin-bottom: 50px;
}

.links_1 ul li{
    padding-top: 14px;
}

.link_ttl a{
    font-size: 16px;
}

.links_2{
    width: 221px;
}

.right_top{
    padding-left: 10px;
}

.links_2 ul{
    font-size: 14px;
    margin-bottom: 24px;
}

.links_2 ul li{
    padding-top: 14px;
}

.links_2 .right_btm ul{
    margin-top: 0px;
}

.right_btm{
    border-left: 1px solid #000;
    padding-left: 9px;
}

.right_btm .link_ttl{
    padding-bottom: 12px;
}

.right_btm .link_ttl.last{
    padding-bottom: 0px;
}


.copyright{
    background: #000;
    color: #fff;
    text-align: center;
    font-size: 12px;
    padding: 10px 0;
}

.sp_sns{
    display: none;
}

#works{
    height: 200px;
    background: url(/common/img/back_works.jpg) no-repeat;
    background-size: cover;
}

#works a{
    display: block;
    height: 200px;
}

#works:hover{
    opacity: 0.5;
    transition: all 0.2s;
}

.works_inside{
    width: 100%;
    max-width: 1070px;
    margin: 0 auto;
    padding-top: 34px;
}

.go_top{
    width: 108px;
    height: 108px;
    position: fixed;
    bottom: 20px;
    right: 20px;
    cursor: pointer;
    background: url(/common/img/icon_arrowtop_pc.png) no-repeat;
}

.sp_img{
    display: none;
}

#services #products_handled a.gnavi::after{
    visibility: visible;
}

#technique #nav_technique a.gnavi::after{
    visibility: visible;
}

#corporate #nav_corporate a.gnavi::after{
    visibility: visible;
}

#newcustomer #nav_newcustomer a.gnavi::after{
    visibility: visible;
}

#cat_works #nav_works a.gnavi::after{
    visibility: visible;
}

.arrow{
    background: #000 url(/common/img/btn_arrow_2.png) no-repeat;
    background-position: center right 5px;
}

.blank{
    background: #000 url(/common/img/btn_blank.png) no-repeat;
    background-position: center right 5px;
}

.tel dd a,.fax dd a,.com_inside dd a,.tel_txt a,.fax_txt a{
    text-decoration: none;
    color: #000;
}

.ft_tel dd a,.ft_fax dd a{
    text-decoration: none;
    color: #000;
}

.bread{
    width: 100%;
    max-width: 1150px;
    margin: 24px auto 16px;
}

.bread a{
    color: #000;
    text-decoration: none;
}

.bread a:hover{
    opacity: 0.5;
    transition: all 0.2s;
}

.contents{
    background: url(/common/img/bg_1.png);
}

.contents_wrap{
    width: 100%;
    max-width: 1080px;
    margin: 0 auto;
    padding-bottom: 70px;
}


.double_circle{
    width: 37px;
    height: 12px;
    margin: 0 auto;
    background: url(/services/img/double_circles.png) no-repeat;
    margin-top: 20px;
}

.circles{
    width: 63px;
    height: 12px;
    margin: 0 auto;
    background: url(/services/img/circles.png) no-repeat;
    margin-top: 22px;
}

.contact{
    margin-top: 102px;
    background: #f3f3f3;
    padding: 60px 64px 68px 64px;
}

.contact_ttl{
    font-size: 34px;
    text-align: center;
}

.contact_ttl span{
    color: #ff8400;
}

.contact_wrap{
    display: flex;
    justify-content: space-between;
    margin-top: 36px;
}

.contact_number{
    width: 459px;
    border: 2px dotted #000;
    background: #fff;
    box-sizing: border-box;
    padding: 30px 39px 24px 39px;
}

.number_ttl{
    font-size: 33px;
    text-align: center;
}

.number_tel_fax{
    margin-top: 33px;
}

.number_tel{
    display: flex;
}

.number_tel dt,.number_fax dt{
    background: #000;
    color: #fff;
    font-size: 20px;
    width: 92px;
    text-align: center;
    padding: 8px 0;
    letter-spacing: 1px;
}

.number_tel dd,
.number_fax dd{
    font-size: 38px;
    margin-left: 17px;
    letter-spacing: 2.5px;
}
.number_fax dd{
    font-size: 32px;
}

.number_tel dd a,
.number_fax dd a{
    text-decoration: none;
    color: #000;
}

.number_fax{
    display: flex;
    margin-top: 10px;
}

.number_time{
    text-align: center;
    font-size: 23px;
    margin-top: 30px;
    line-height: 1.4;
    letter-spacing: -.3px;
}



.contact_form{
    width: 459px;
    border: 2px dotted #000;
    background: #fff;
    box-sizing: border-box;
}

.form_ttl{
    margin-top: 66px;
    font-size: 33px;
    text-align: center;
}

.contact_form_btn a{
    display: block;
    width: 376px;
    text-align: center;
    color: #fff;
    text-decoration: none;
    margin: 30px auto 0;
    padding: 18px 0;
    font-size: 26px;
    background: #000 url(/common/img/btn_arrow_3.png) no-repeat;
    background-size: 9px 18px;
    background-position: center right 25px;
}

.contact_form_btn a:hover,.back_btn a:hover{
    opacity: 0.5;
    transition: 0.2s;
}

.contact_form_txt{
    font-size: 24px;
    text-align: center;
    margin-top: 24px;
}

.four_circles{
    margin: 20px auto 0;
    width: 89px;
    height: 12px;
    background: url(/services/img/four_circles.png);
}


#sp_products{
    display: none;
}


.step_footer_flow_txt{
    font-size: 16px;
    line-height: 1.4;
    margin-top: 28px;
    text-align: center;
}
.step_footer_flow_txt .step_flow_payment {
    font-size: 16px;
    padding: 10px 15px;
    border-top: 1px dashed #000;
    border-bottom: 1px dashed #000;
    margin: 15px auto;
    display: inline-block;
}


.contact .back_btn {
    margin-top: 70px;
}
.contact .back_btn a {
    display: block;
    border: 4px solid #222828;
    color: #fff;
    text-decoration: none;
    text-align: center;
    width: 190px;
    margin: 0 auto;
    background: #222828 url(/common/img/btn_arrow_left.png) no-repeat;
    background-position: center left 8px;
}
.contact .back_btn .back_inside {
    border: 1px solid #fff;
    padding: 10px;
}
@media screen and (max-width: 767px) {
    .contact .back_btn {
        margin-top: 42px;
    }
    .contact .back_btn a {
        width: 266px;
        font-size: 12px;
        background-size: 7px 14px;
    }
    .contact .back_btn .back_inside {
        padding: 5px;
    }
}






/*------------- sp -------------*/

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

.header_nav_wrap{
    height: auto;
    height: 220px;
}
.header_nav_wrap #logo a {
    background-size: contain;
    width: 170px;
    height: unset;
}

.bread{
    width: auto;
    margin: 24px 12px;
    font-size: 10px;
    line-height: 2;
}

.contents_wrap{
    width: auto;
    padding-bottom: 45px;
}

.double_circle{
    width: 27px;
    height: 9px;
    background-size: 27px 9px;
    margin-top: 7px;
}

.circles{
    width: 45px;
    height: 9px;
    margin-top: 10px;
    background-size: 45px 9px;
}

.go_top{
    width: 54px;
    height: 54px;
    bottom: 10px;
    right: 10px;
    background-size: 54px 54px;
}

.sp_br{
    display: inline;
}

.sp_menu_btn{
    display: block;
}

.pc{
    display: none;
}

.sp_inline{
    display: inline;
}

header{
    max-width: 100%;
    width: auto;
    display: block;
    border-top: 3px solid #000;
}

#logo{
    width: auto;
    margin: 18px 0 15px 15px;
    display: flex;
    justify-content: space-between;
}

#logo h2 a{
    width: 150px;
    height: 40px;
    background: url(/common/img/sp_head_logo.png) no-repeat;
    background-size: 150px 40px;
}

.logo_left{
    display: flex;
}

#logo .logo_txt{
    font-size: 12px;
    margin-top: 3px;
    line-height: 1.4;
    /*margin-left: 15px;*/
    letter-spacing: .4px;
}

.sp_menu_btn{
    height: 40px;
    width: 50px;
    background: url(/common/img/sp_menu.png) no-repeat;
    background-size: 30px 19px;
    background-position: 7px 11px;
}

#biz_navi{
    display: none;
}

#head_contents{
    border-top: 1px solid #b5b5b5;
    width: auto;
    border-bottom: 1px solid #b5b5b5;
    background-color: #fff;
}

#sp_products{

}

nav .main_nav #sp_products li a{
    padding: 11px 0 11px 12px;
}

#contact{
    margin-top: 14px;
    display: block;
    width: 315px;
    margin: 0 auto;
    padding-bottom: 13px;

}

#contact_txt{
    padding-top: 13px;
    font-size: 23px;
    line-height: 1.6;
    width: auto;
}

#contact_txt .quote{
    letter-spacing: -1px;
}

#contact_txt .inquiry{
    letter-spacing: 0;
    line-height: unset;
}

#contact_number{
    width: auto;
    margin-top: 5px;
}

.fax,#hours{
    display: none;
}

.tel dt{
    background: #000;
    padding: 0;
    width: 70px;
    height: 25px;
    text-indent: -9999px;
    background: url(/common/img/sp_tel.png) no-repeat #000;
    background-size: 34px 12px;
    background-position: 18px 7px;
    margin-top: 3px;
}

.products_rollover{
    display: none;
}

.tel dd{
    font-size: 32px;
    margin-left: 17px;
    letter-spacing: -.1px;
}

.form_button{
    margin-top: 12px;
}

.form_button a{
    width: auto;
    font-size: 15px;
    padding: 8px 0;
    background-position: center right 20px;
}

nav{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    display: none;
}

nav .nav_wrap{
    width: auto;
}

nav .main_nav{
    max-width: auto;
    margin: 0;
    display: block;
    background: #222828;
    width: 100%;
    padding-top: 70px;
    height: 100%;
    position: fixed;
}

nav .main_nav li{
    padding: 0;
    border-top: 1px solid #fff;

}

nav .main_nav .w_line{
    border-left: none;
}

nav .nav_li_last .w_line{
    border-right: none;
}

nav .nav_li_last{
    border-bottom: 1px solid #fff;
}

nav .main_nav li a{
    width: auto;
    text-align: left;
    padding: 10px 0 10px 12px;
    background: url(/common/img/sp_btn_arrow.png) no-repeat;
    background-size: 6px 10px;
    background-position: center right 14px;
}

nav .main_nav li a.product_a{
    background: url(/common/img/sp_btn_arrow_down.png) no-repeat;
    background-size: 10px 6px;
    background-position: center right 14px;
}

nav .main_nav li a.product_a.active{
    background: url(/common/img/sp_btn_arrow_up.png) no-repeat;
    background-size: 10px 6px;
    background-position: center right 14px;
}

.sp_arrow{
    background: url(/common/img/sp_btn_arrow.png) no-repeat;
    background-size: 6px 10px;
    background-position: center right 14px
}

nav .main_nav a::after{
    background: #222828;
    left: -9999px;
    visibility: hidden;
}

nav .main_nav li a.gnavi:hover::after{
    visibility: hidden;
    display: none;
}

.sp_results{
    display: block;
}

.sp_results_ttl{
    color: #fff;
    font-size: 15px;
    padding: 30px 0 0 0;
    text-align: center;
}

nav .main_nav .sp_results_list a{
    display: block;
    width: 117px;
    border: 1px solid #fff;
    margin: 12px auto 0;
    padding: 7px 0;
}

.sp_close_btn{
    position: fixed;
    width: 40px;
    height: 40px;
    background: url(/common/img/sp_close_button.png) no-repeat;
    background-size: 40px 40px;
    top: 18px;
    right: 8px;
    display: block;
}


#main{
    padding-top: 220px;
}

.footer_wrap{
    width: auto;
    padding: 17px 0 0 0;
}

.order_iquiry{
    padding-bottom: 15px;
    margin: 0 10px;
}

.order_ttl{
    font-size: 12px;
    padding: 4px 0;
}

#order{
    padding: 24px 12px 0px;
    display: block;
    width: auto;
}

.iquiry_form a,.visit_button a{
    width: auto;
    font-size: 19px;
    background-position: center right 20px;
    background-size: 7px 12px;
    padding: 20px 0;
}

.visit_button a{
    margin-top: 10px;
}

footer .tell_time{
    width: auto;
    margin: 21px 15px 0;
    display: block;
}

.tel_fax{
    width: auto;
}

.ft_tel{
    padding-top: 0;
}

.ft_tel dt,.ft_fax dt{
    font-size: 15px;
    width: 70px;
    height: 26px;
    padding-top: 6px;
    margin-top: 4px;
}

.ft_tel dd{
    font-size: 32px;
    margin-left: 16px;
}

.ft_fax dd{
    font-size: 28px;
    margin-left: 16px;
    margin-top: 4px;
}

.ft_time{
    width: auto;
    /*margin-left: 88px;*/
    margin-top: 13px;
    padding-left: 14px;
    padding-top: 0px;
    font-size: 15px;
}

.calendar_links{
    width: auto;
    margin: 22px 10px 0;
    display: block;
}

.calendar_wrap{
    width: auto;
}

.calendar_ttl{
    font-size: 12px;
    padding: 4px 0;
}

.cal_1{
    width: 50%;
    padding: 18px 4px 15px 6px;
    box-sizing: border-box;
}

.cal_1 img{
    width: 100%;
}

.cal_2{
    width: 50%;
    padding: 18px 6px 15px 4px;
    box-sizing: border-box;
}

.cal_2 img{
    width: 100%;
}

.sns{
    display: none;
}

.ft_links{
    width: auto;
    display: block;
    margin: 22px 10px 0;
    background: #fff;
}

.links_1,.links_2{
    width: auto;
}

.links_1 .link_ttl {
    display: block;
    border-top: 2px solid #000;
    padding: 12px 11px;
}
.links_1 .link_ttl a {
    display: block;
    font-size: 13px;
}
.links_1 .link_ttl.slide,
.links_2 .right_top .link_ttl{
    display: block;
    font-size: 13px;
    border-top: 2px solid #000;
    padding: 12px 11px;
    background: url(/common/img/btn_under.png) no-repeat;
    background-size: 13px 6px;
    background-position: center right 12px;
}

.links_1 .link_ttl.slide.active,
.links_2 .right_top .active{
    background: url(/common/img/btn_upper.png) no-repeat;
    background-size: 13px 6px;
    background-position: center right 12px;
}

.links_1 ul,.links_2 ul{
    font-size: 11px;
    margin-bottom: 0px;
    display: none;
}

.links_1 ul li,.links_2 ul li{
    padding-top: 0;
}

.links_1 ul li a,.links_2 ul li a{
    display: block;
    padding: 12px 0 12px 26px;
    border-top: 1px solid #000;
    background: url(/common/img/btn_tri.png) no-repeat;
    background-size: 6px 7px;
    background-position: center left 12px;
}

.right_top{
    padding-left: 0px;
}

.links_2 .right_btm ul{
    margin-top: 0;
}

.right_btm{
    border-left: none;
    padding-left: 0;
}

.right_btm .link_ttl{
    padding-bottom: 0;
}

.right_btm .ttl_top{
    border-top: 1px solid #000;
}

.right_btm .link_ttl a{
    font-size: 11px;
    display: block;
    padding: 12px 0 12px 26px;
    border-top: 1px solid #000;
    background: url(/common/img/btn_tri.png) no-repeat;
    background-size: 6px 7px;
    background-position: center left 12px;
}

.last_btm{
    border-bottom: 1px solid #000;
}

.sp_sns{
    margin: 33px auto 0;
    width: 117px;
    display: block;
}

.sp_sns ul{
    width: 100%;
    list-style: none;
    display: flex;
}

.sp_sns .facebook{
    width: 26px;
    height: 26px;
    background-size: 26px 26px;
}

.sp_sns .twitter{
    width: 26px;
    height: 23px;
    background-size: 26px 23px;
    margin: 2px 0 0 20px;
}

.sp_sns .instagram{
    width: 24px;
    height: 24px;
    background-size: 24px 24px;
    margin: 0 0 0 18px;
}

.copyright{
    font-size: 6px;
    margin-top: 30px;
    padding: 5px 0;
}

#works{
    height: auto;
    background:none;
}

#works a{
    display: block;
    height: auto;
}


.works_inside{
    width: auto;
    margin: 0 auto;
    padding-top: 0;
}

.pc_img{
    display: none;
}

.sp_img{
    display: block;
    width: 100%;
}

.contact{
    margin: 58px 12px 0;
    background: #f3f3f3;
    padding: 32px 35px 42px 35px;
}

.contact_ttl{
    font-size: 20px;
    text-align: left;
    line-height: 1.4;
}

.contact_wrap{
    display: block;
    margin-top: 20px;
}

.contact_number{
    width: auto;
    border: 1px dotted #000;
    padding: 18px 24px 11px 24px;
}

.number_ttl{
    font-size: 20px;
    text-align: center;
}

.number_tel_fax{
    margin-top: 18px;
}

.number_tel dt,
.number_fax dt {
    font-size: 12px;
    width: 52px;
}

.number_tel dd,
.number_fax dd {
    font-size: 24px;
    margin-left: 9px;
    letter-spacing: 0px;
    line-height: 1.4;
}
.number_fax dd {
    font-size: 20px;
}

.number_time{
    font-size: 14px;
    margin-top: 20px;
}

.contact_form{
    width: auto;
    border: 1px dotted #000;
    margin-top: 14px;
}

.form_ttl{
    margin-top: 42px;
    font-size: 20px;
}

.contact_form_btn a{
    width: 230px;
    margin: 19px auto 0;
    padding: 11px 0;
    font-size: 16px;
    background-position: center right 10px;
    background-size: 6px 12px;
}

.contact_form_txt{
    font-size: 15px;
    margin-top: 15px;
    padding-bottom: 32px;
}

.four_circles{
    margin: 10px auto 0;
    width: 63px;
    height: 9px;
    background: url(/services/img/four_circles.png);
    background-size:  63px 9px;
}

}




.tel dd a.push[href*="tel:"],
.ft_tel dd a.push[href*="tel:"] {
    pointer-events: none;
    cursor: unset;
    display: inline-block;
}
@media only screen and (max-width: 767px) {
    .tel dd a.push[href*="tel:"],
    .ft_tel dd a.push[href*="tel:"] {
        pointer-events: initial;
    }
}