@charset "utf-8";
/* CSS Document */
@media screen and (max-width:1000px){
/*  header
---------------------------*/
header .right_clmn{display: none;}
header #sp_btn{
    display: block;
    background: url(../images/common/sp_btn.png) no-repeat center;
    background-size: 60%;
    width: 50px;
    height: 50px;
    float: right;
    cursor: pointer;
    margin-top: 5px;
}
header #sp_btn.actv{
    background: url(../images/common/sp_btn02.png) no-repeat center;
    background-size: 60%;
}
header .head_bar{
    z-index: 10000000;
    position: relative;
}
header .head_bar .logo_area {
    padding: 0;
    max-width: 75px;
    width: 100%;
}
header .head_bar .logo_area a {
    background: url(../images/common/logo02.png) no-repeat center;
    background-size: 80%;
}
/*  footer
---------------------------*/
footer .inner1000 { padding: 0 10px; }
footer { padding: 15px 0 0 0; }
footer .left a:nth-child(2) { margin-top: 10px; }
footer .left a {
    font-size: 18px;
    line-height: 50px;
    max-height: 50px;
    font-weight: bold;
}
footer .right a { height: 110px; font-weight: bold; }
footer .right a::after { font-size: 20px; line-height: 110px; }
footer .left a span {
    background: url(../images/common/icon_pin.png) no-repeat left center;
    background-size: 15px;
    padding: 0 0 0 20px;
}
footer .left a:nth-child(2n) span {
    background: url(../images/common/icon_mail.png) no-repeat left center;
    background-size: 20px;
    padding: 0 0 0 25px;
}
footer .bg_blue { margin-top: 15px; padding: 15px 10px; }
footer .bg_blue .bt_link a {
    padding: 0 8px;
    border-right: 1px solid #fff;
    font-size: 12px;
}
footer .bg_blue .ft_logo { margin-bottom: 15px; }
footer .bg_blue .copy {
    font-size: 10px;
    margin-top: 20px;
}
.sp_nav{
    display: none;
    position: fixed;
    top: 0;
    right: -300px;
    -webkit-overflow-scrolling: touch;
    overflow-y: scroll;
    overflow-x: scroll;
    height: 100%;
    width: 100%;
    opacity: 1;
    -webkit-transition: 0.4s;
       -moz-transition: 0.4s;
         -o-transition: 0.4s;
        -ms-transition: 0.4s;
            transition: 0.4s;
    z-index: 10000;
    width: 200px;
    background: #fff;
    padding-top: 60px;
}
.sp_nav nav{
    padding: 10px;
}

.sp_nav .hover_btn{
    margin-bottom: 10px;
}
.sp_nav .hover_btn > a{
    border: 1px solid #ccc;
    display: block;
}
.sp_nav .layer01 { padding-bottom: 100px; }
.sp_nav .layer01 > li{
    margin-bottom: 10px;
    border-bottom: 1px solid #ddd;
    overflow: hidden;
}
.sp_nav .layer01 > li:last-child{border-bottom: none;}
.sp_nav .layer01 > li > a{
    display: block;
    text-align: left;
    padding: 5px 35px 5px 10px;
    position: relative;
    font-size: 15px;
    font-weight: bold;
    color: #011936;
}
.sp_nav .layer01 > li:first-child > a::after{
    content: " ";
    position: absolute;
    top: 0;
    right: 10px;
    bottom: 0;
    margin: auto;
    width: 0;
height: 0;
border-style: solid;
border-width: 10px 7px 0 7px;
border-color: #ddd transparent transparent transparent;
    transition: 0.4s;
    -webkit-transition: 0.4s;
    -ms-transition: 0.4s;
    -moz-transition: 0.4s;
}
.sp_nav .layer01 > li:first-child > a.actv::after{
    transform: rotate(-180deg);
    -o-transform: rotate(-180deg);
    -ms-transform: rotate(-180deg);
    -moz-transform: rotate(-180deg);
    -webkit-transform: rotate(-180deg);
}

.sp_nav a:link{ opacity: 1; }

.clear_btn{
    background: rgba(0,0,0,0.7);
    z-index: 1000;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
.layer02{display: none; text-align: left;}
.layer02 > li > a{
    display: block;
    text-align: left;
    padding: 5px 35px 5px 10px;
    font-size: 15px;
}


.clear_btn.actv{display: block;}
.sp_nav.actv{ display: block; }
.sp_nav.actv02{ right: 0; }
body.actv{
    overflow: hidden;
    position: fixed;
    top: 0;
    left: 0;
}


/*=============================
    common setting
===============================*/
.ttl01 {
    font-size: 23px;
    line-height: 30px;
    padding-bottom: 25px;
}
.ttl01::after { bottom: 0px; height: 15px; }
.read_link .links { font-size: 12px; padding: 0 13px 0 0; }
.ttl02 {
    font-size: 25px;
    line-height: 30px;
    padding: 5px 10px;
}
.ttl03 {
    font-size: 20px;
    line-height: 25px;
}

.table_conts td:nth-child(2),
.table_conts td:nth-child(1) { width: 100%; display: block; font-size: 15px; line-height: 25px; padding: 0 10px 5px 0; }
.table_conts td:nth-child(2) { padding-bottom: 10px; border-bottom: 1px solid #ddd; }
.table_conts td:nth-child(1) {
    padding-top: 8px;
    padding-bottom: 0px;
}
.table_conts td input { width: 100%; border: 1px solid #ddd; }
.table_conts td textarea {
    width: 100%;
    height: 150px;
    border: 1px solid #ddd; 
}
.submit{
    max-width: 300px;
    margin: 0 auto;
    display: block;
}

.btns a{ font-size: 17px; }

/*=============================
    top-page setting
===============================*/
.top_page header #sp_btn {
    display: block;
    background: url(../images/common/sp_btn.png) no-repeat center;
    background-size: 60%;
}
.top_page header #sp_btn.actv{
    background: url(../images/common/sp_btn02_a.png) no-repeat center;
    background-size: 60%;
}
.top_page header .right_clmn nav > ul > li a{
    color: #fff;
    text-shadow: 0 0 4px #000;
    -moz-text-shadow: 0 0 10px #000;
    -ms-text-shadow: 0 0 10px #000;
    -webkit-text-shadow: 0 0 10px #000;
}
.top_page header .head_bar .logo_area a {
    background: url(../images/common/logo02.png) no-repeat center;
    background-size: 80%;
}

/*=============================
    top-page setting
===============================*/
.top_mv .mv_txt {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    height: 35%;
    color: #fff;
    text-shadow: 0 0 10px #000;
    padding: 0 10px;
}
.top_mv .mv_txt.opa{ color: #011936; }
.top_mv .mv_txt h2{
    font-size: 25px;
    line-height: 35px;
    letter-spacing: 1px;
}
.top_mv .mv_txt .sub_txt{
    font-size: 16px;
    letter-spacing: 1px;
}
.top_mv .mv_txt .line {
    background: #fff;
    height: 45px;
    margin: 5px auto 15px auto;
}
.top_mv .mv_txt.opa .line{ background: #011936; }
/*  top_conts
------------------------*/
.top_conts .ttl01{ margin-bottom: 15px; }

/*  top_conts01
------------------------*/
.top_conts01 {
    padding: 25px 10px 40px 10px;
    margin: 0 auto;
}
.top_conts01 .page_link li {
    float: none;
    width: 100%;
    margin-right: 0;
    margin-bottom: 10px;
}
.top_conts01 .page_link li:last-child{ margin-bottom: 0; }
.top_conts01 .page_link li img { display: none; }
.top_conts01 .page_link li a {
    position: inherit;
    padding: 20px;
    font-size: 22px;
    letter-spacing: 1px;
    color: #fff;
}
.top_conts01 .page_link li::after{ display: none; }

/*  top_conts02
------------------------*/
.top_conts02 {
    padding-bottom: 40px;
    max-width: 600px;
    margin: 0 auto;
}
.top_conts02 .project_first .left { float: none; width: 100%; }
.top_conts02 .ttl01 { margin-bottom: 4px; }
.top_conts02 .project_first{ margin-bottom: 40px; }
.top_conts02 .project_first .pro_ttl {
    font-size: 25px;
    line-height: 35px;
    margin-bottom: 5px;
}
.top_conts02 .project_first .pro_txt {
    font-size: 14px;
    line-height: 20px;
    margin-bottom: 10px;
}
.top_conts02 .btns { margin: 50px auto 0 auto; }
/*.top_conts02 .project_first .left a::after {
    position: absolute;
    top: inherit;
    right: 0;
    bottom: -66px;
    margin: 0;
    font-size: 150px;
    line-height: 125px;
}*/
.top_conts02 .project_first .right {
    float: none;
    width: 100%;
    margin-top: 20px;
}
.top_conts02 .project_link li {
    width: 100%;
    margin-right: 0;
    margin-bottom: 25px;
    padding-bottom: 25px;
    border-bottom: 1px dotted #c4bbb8;
    float: none;
}
.top_conts02 .project_link li:last-child{ margin-bottom: 0; padding-bottom: 0; border-bottom: none; }
.top_conts02 .project_link li a{ min-height: auto!important; padding-bottom: 30px; }
.top_conts02 .project_link li .pro_ttl{ min-height: auto!important; }


/*  top_conts03
------------------------*/
.top_conts03 { padding: 25px 10px; }
.top_conts03 p {
    font-size: 14px;
    line-height: 25px;
    color: #c4bbb8;
    width: 100%;
}
.top_conts03 .read_link { position: inherit; height: auto; }
.top_conts03 .sub_txt{ width: 100%;}

/*=============================
    history-page setting
===============================*/
.history { padding: 30px 10px; }
.history .sub_txt {
    font-size: 14px;
    line-height: 25px;
    max-width: 1080px;
    margin: 0 auto 40px auto;
}
.history .history_list .arrow_l,
.history .history_list .arrow_r,
.history .history_list .arrow_none{ display: none; }
.history .history_list li{
    width: 100%;
    float: none;
    display: inline-block;
    max-width: 300px;
}
.history .history_list li .his_conts{
    width: 100%;
    height: 100%;
    padding: 15% 10px;
}
.history .history_list li .conts_txt{
    padding: 0;
}
.history .history_list li .year {
    font-size: 30px;
    margin-bottom: 10px;
}
.history .history_list li:hover{
    transform: inherit;  /*画像の拡大率*/
    z-index: inherit;
    transition: inherit;
    border-radius: 0;
}

/*=============================
    privacy-page setting
===============================*/
.pri_conts { padding: 40px 10px; }
.pri_conts .inner1000 { margin-bottom: 30px; }
.pri_conts .inner1000:last-child { margin-bottom: 0; }
.pri_conts .ttl01{ margin-bottom: 15px; }
.pri_conts .ttl02 { margin-bottom: 15px; }
.pri_conts .pri_list li, .pri_conts p {
    font-size: 15px;
    line-height: 25px;
}
.pri_conts .ttl03 { margin-bottom: 5px; }



/*=============================
    contact-page setting
===============================*/
.ct_conts{ padding: 30px 10px; }
.ct_conts .ttl01{ margin-bottom: 10px; }
.ct_conts p{ font-size: 15px; line-height: 25px; }
.ct_conts .table_conts { margin: 20px 0; }

/*=============================
    recruit-page setting
===============================*/
.rec_conts{ padding: 30px 10px; }
.rec_conts .ttl01{ margin-bottom: 10px; }
.rec_conts .none_cur{ font-size: 30px; line-height: 30px; font-weight: bold; }

/*=============================
    sitemap-page setting
===============================*/
.sm_conts{ padding: 30px 10px; }
.sm_conts .ttl01{ margin-bottom: 10px; }
.sm_conts .page_link { margin-top: 10px; }
.sm_conts .page_link li:nth-child(3n),
.sm_conts .page_link li{
    float: none;
    width: 100%;
    margin-right: 0;
    margin-bottom: 20px;
    display: inline-block;
    vertical-align: top;
    max-width: 350px;
}

/*=============================
    company-info-page setting
===============================*/
.info_conts{ padding: 30px 10px; }
.info_conts .inner1000{ margin-bottom: 40px; }
.info_conts .ttl01{ margin-bottom: 10px; }
.info_conts iframe{ display: block; width: 100%; border: none; height: 150px; margin-top: 20px; }
.info_conts .w_clm img{ display: block; width: 100%; }
.info_conts .w_clm .left,
.info_conts .w_clm .right{ float: none; width: 100%; }
.info_conts .w_clm .left{ margin-bottom: 10px; }
.info_conts .w_clm p{ font-size: 14px; line-height: 25px; }
.info_conts .w_clm .ttl02{ margin-bottom: 10px; }
#location {
    padding-top: 70px;
    margin-top: -70px;
}

/*=============================
    our-project-page setting
===============================*/
.project{ padding: 0 0px 30px 0px; }
.project .inner1000 {
    margin-bottom: 40px;
    margin-top: 20px;
    background: rgba(255,255,255,1);
    padding: 0 10px;
}
.project .detail_ttl {
    font-size: 23px;
    letter-spacing: 2px;
    line-height: 30px;
    margin-bottom: 20px;
}
.project .detail_ttl span {
    font-size: 12px;
    margin-bottom: 5px;
    line-height: 20px;
}
.project .gallery li{
    width: 49%;
    margin-right: 2%;
    margin-bottom: 2%;
}
.project .w_clmn .left {
    font-size: 15px;
    line-height: 25px;
    float: none;
    width: 100%;
    margin-bottom: 20px;
}
.project .w_clmn .right {
    float: none;
    width: 100%;
    background: #c4bbb8;
    padding: 15px 10px;
    margin-bottom: 20px;
    min-height: auto!important;
}
.project .w_clmn p.myriadpro{
    font-size: 16px;
    margin-bottom: 10px;
}
.project .w_clmn .right dl {
    margin-bottom: 10px;
    font-size: 14px;
}
.project .btn_project a {
    font-size: 14px;
    padding: 0 10px 5px 0;
}
.project .gallery li:nth-child(2n),
.project .gallery li:nth-child(4n){ margin-right: 0; }
.project .gallery li img,
.project .gallery li a{ direction: block; width: 100%; }
.project #gallery li a, .project #gallery li img { height: auto!important; }

/*=============================
    project-arcv-page setting
===============================*/
.project_arcv .w_clm.first_clm { padding-top: 24px; }
.project_arcv .w_clm.first_clm::after{ font-size: 30px; top: 5px; }
.project_arcv .w_clm.first_clm.second_clm::after{ text-align: left; padding: 0 0 0 5px; }
.project_arcv .w_clm p{ font-size: 15px; line-height: 25px; }
.project_arcv .w_clm .ttl02{ margin-bottom: 10px; }
.project_arcv .ttl_project {
    margin-bottom: 10px;
    font-size: 22px;
    line-height: 25px;
}
.project_arcv .ttl_project span {
    margin-bottom: 5px;
    font-size: 15px;
    line-height: 15px;
}
.project_arcv .w_clm p {
    font-size: 14px;
    line-height: 20px;
}
.project_arcv .view_btn {
    font-size: 13px;
    padding: 0 10px 5px 0;
    margin-top: 15px;
}
.project_arcv .w_clm img{ min-height: auto; }
.project_arcv .w_clm .right{ padding: 0; }
.project_arcv .w_clm{ margin-bottom: 40px;}
.project_arcv .ttl01{ margin-bottom: 15px; }
.project_arcv{ padding: 30px 10px; }
.project_arcv .w_clm .left,
.project_arcv .w_clm .right,
.project_arcv .w_clm:nth-child(2n) .left,
.project_arcv .w_clm:nth-child(2n) .right{ float: none; width: 100%;}
.project_arcv .w_clm .right{ margin-top: 15px; text-align: left; }
.project_arcv .w_clm:nth-last-child(2)::after,
.project_arcv .w_clm:last-child::after{ font-size: 25px; }
/*=============================
    network-page setting
===============================*/
.nw_conts{ padding: 30px 10px; }
.nw_conts .ttl01{ margin-bottom: 10px; }
.nw_conts .map_img{
    border: 2px solid #ddd;
    padding: 5px;
    max-width: 1500px;
    margin: 0 auto;
    display: block;
}
.nw_conts .maps .fadeArea {
    margin-top: 10px;
    padding: 5px;
    position: inherit;
    height: auto;
    width: 100%;
}
.nw_conts .maps .fade img{ max-width: 350px; margin: 0 auto;}
.nw_conts map.pn,
.nw_conts .maps img.pn{ display: block; }
.nw_conts map.sn,
.nw_conts .maps img.sn{ display: none; }
.nw_conts .maps .fadeArea .fade li.tel,
.nw_conts .maps .fadeArea .fade li.address{ padding-left: 65px; }
.nw_conts .maps .fadeArea .fade li.tel::after{ left: 35px; }

}　/*media query 絞め*/