@charset "UTF-8";

#submainbox {
    background: url("../img/cms/h2_bg.png")no-repeat center top;
    padding: 15px 0;
    margin-top: 100px;
}

#submainbox h2 {
    text-align: right;
    font-size: 6.0rem;
    line-height: 1.6;
    letter-spacing: 0.1em;
    color: #fff;
    font-weight: 600;
    position: relative;
    margin: 120px auto 80px;
    max-width: 1320px;
    padding: 0 20px;
    box-sizing: border-box;
}

#submainbox h2 strong {
    font-weight: 700;
    position: relative;
    z-index: 2;
}

#submainbox h2 span {
    position: absolute;
    z-index: 1;
    color: #fff;
    top: -40px;
    right: 40px;
    font-size: 12.0rem;
    display: block;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: 0;
    opacity: 0.1;
    font-family: var(--ff-en);
    text-transform: uppercase;
}

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

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

    #submainbox {
        background: url("../img/cms/h2_bgsp.png")no-repeat right top;
        padding: 10px 0;
        margin-top: 90px;
    }

    #submainbox h2 {
        font-size: 2.8rem;
        letter-spacing: 0.05em;
        margin: 100px auto 50px;
        padding: 0 4%;
    }

    #submainbox h2 span {
        top: -40px;
        right: 0;
        font-size: 7.0rem;
    }
}

/* bread_crumb
--------------------------------------------------*/
.bread_crumb_list {
    padding: 0 0;
    width: 100%;
    margin: auto;
}

ul.bread_crumb {
    text-align: left;
    margin: 0 auto;
    padding: 0 1%;
    max-width: calc(1320px + 20px);
}

.bread_crumb li {
    display: inline;
    color: #fff;
    font-size: 0.8em;
    font-weight: 500;
}

.bread_crumb .material-icons {
    vertical-align: -0.2em !important;
}

.bread_crumb li:after {
    content: '>';
    padding-left: 10px;
    margin-right: 10px;
}

.bread_crumb li:last-child:after {
    content: '';
}

.bread_crumb li a {
    color: #fff;
    text-decoration: underline;
}

.bread_crumb li a:hover {
    text-decoration: none;
}

.bread_crumb li.current {}

@media screen and (max-width:1040px) {
    ul.bread_crumb {
        padding: 0 3%;
    }
}

@media screen and (max-width:767px) {
    ul.bread_crumb {
        padding: 0 4%;
    }
}

/* subcon
---------------------------------------------------------------------------*/
#subcon {
    text-align: left;
    font-weight: 600;
}

#subcon .cntInner {
    max-width: 1320px;
    padding: 130px 20px;
    box-sizing: border-box;
}

#subcon figure {
    padding: 0;
    margin: 0;
}

#subcon .bg01 {
    background: url("../img/cms/bg02.jpg")repeat center;
}

#subcon .mt20 {
    margin-top: 20px;
}

#subcon .mt60 {
    margin-top: 60px;
}

#subcon .mt80 {
    margin-top: 80px;
}

#subcon p {
    font-size: 1.6rem;
    font-weight: 600;
    letter-spacing: .075em;
    line-height: 1.875;
}

#subcon img {
    width: auto;
    max-width: 100%;
}

#subcon .ttl-01 {
    text-align: left;
    position: relative;
    font-size: 2.7rem;
    line-height: 1.6;
    margin-top: 60px;
    margin-bottom: 25px;
    padding-bottom: 15px;
    border-bottom: 2px solid #f3f3f3;
    letter-spacing: 0.05em;
    font-weight: 600;
}

#subcon .ttl-01::after {
    position: absolute;
    content: "";
    width: 15%;
    height: 4px;
    bottom: -3px;
    left: 0;
    background: #c90000;
    border-radius: 10px;
}

#subcon .ttl-01 span {
    font-family: var(--ff-en);
    font-size: 2.0rem;
    font-weight: 700;
    color: #ddd;
    letter-spacing: 0;
    padding-left: 10px;
}

#subcon .ttl-02 {
    position: relative;
    font-size: 2.2rem;
    line-height: 1.6;
    margin-bottom: 10px;
    color: #c90000;
    padding-left: 50px;
}

#subcon .ttl-02::after {
    position: absolute;
    content: "";
    width: 45px;
    height: 2px;
    top: 17px;
    left: 0;
    background: #c90000;
    border-radius: 10px;
}

#subcon .ullist01 {
    margin: 2.5em 0;
}

#subcon .ullist01 li {
    font-size: 1.6rem;
    line-height: 1.875;
    padding-left: 0.9em;
    text-indent: -0.9em;
    margin-bottom: 14px;
    letter-spacing: 0.075em;
    font-weight: 600;

}

#subcon .ullist02 {
    margin: 2.5em 0;
}

#subcon .ullist02 li {
    font-size: 1.6rem;
    line-height: 1.875;
    padding-left: 1.5em;
    text-indent: -1.5em;
    margin-bottom: 14px;
    letter-spacing: 0.075em;
    font-weight: 600;
}

#subcon .ullist01 .ullist02 {
    margin: 1em 0;
}

#subcon .ullist01 .ullist02 .ullist01 {
    margin: 1em 0;
}

#subcon .flex {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
}

#subcon .js-between {
    justify-content: space-between;
}

#subcon .js-around {
    justify-content: space-around;
}

#subcon .js-start {
    justify-content: flex-start;
}

#subcon .row {
    flex-direction: column-reverse;
    flex-direction: row-reverse;
}

#subcon ._Title .en {
    text-transform: uppercase;
}

/* TBL
---------------------------------------------------------------------------*/
#subcon .defTable01,
#subcon .defTable02 {
    width: 100%;
    margin: 0 auto 0;
    border: none;
    border-collapse: collapse;
}

#subcon .defTable01 th {
    width: 280px;
    padding: 25px;
    margin: 0;
    text-align: left;
    vertical-align: middle;
    font-weight: 600;
    border-top: 1px solid #dbdbdb;
    font-size: 1.7rem;
    line-height: 1.875;
    letter-spacing: 0.075em;
    background: #f3f3f3;
}

#subcon .defTable01 td {
    padding: 25px;
    margin: 0;
    text-align: left;
    vertical-align: middle;
    background: #fff;
    border-top: 1px solid #dbdbdb;
    font-size: 1.7rem;
    line-height: 1.875;
    letter-spacing: 0.075em;
}

#subcon .defTable01 td .ullist01 {
    margin: 0;
}

#subcon .defTable01 td .ullist01 li {
    font-weight: 500;
    font-size: 1.8rem;
}

#subcon .defTable01 tr:last-child th,
#subcon .defTable01 tr:last-child td {
    border-bottom: 1px solid #ddd;
}

#subcon .defTable02 th {
    width: 320px;
    padding: 15px 25px;
    margin: 0;
    text-align: left;
    vertical-align: middle;
    font-weight: 600;
    border: 1px solid #dbdbdb;
    font-size: 1.7rem;
    line-height: 1.6;
    letter-spacing: 0.05em;
    background: #f3f3f3;
}

#subcon .defTable02 td {
    padding: 15px 25px;
    margin: 0;
    text-align: left;
    vertical-align: middle;
    background: #fff;
    border: 1px solid #dbdbdb;
    font-size: 1.6rem;
    line-height: 1.6;
    letter-spacing: 0.05em;
}


/* about
---------------------------------------------------------------------------*/

#subcon .about__txt {
    background: url("../img/about/img.jpg")no-repeat top right;
    background-size: 40%;
}

#subcon .about__txt p {
    margin-top: 40px;
    display: block;
    width: 60%;
}

#subcon .about__txt2 {
    /*align-content: center;
    align-items: center;*/
    margin-top: 120px;
}

#subcon .about__txt2 .txt {
    width: 52%;
}

#subcon .about__txt2 h4 {
    margin-top: 0;
    font-size: 3.2rem;
    margin-bottom: 40px;
    color: #c90000;
}

#subcon .about__txt2 h4 span {
    display: block;
    font-size: 2.0rem;
    letter-spacing: 0;
    font-family: var(--ff-en);
    margin-bottom: 10px;
}

#subcon .about__txt2 .txt p {
    margin-top: 20px;
}

#subcon .about__txt2 figure {
    width: 40%;
}


/* service
---------------------------------------------------------------------------*/
/*#subcon #tab_list {
    display: flex;
    flex-wrap: wrap;
    }
#subcon #tab_list li{
    border: 3px solid #fff;
    background: #333;
    color: #fff;
	padding: 1em .6em;
	width: 33.333%;
	text-align: center;
	transition: 1s;
    cursor: pointer;
    box-sizing: border-box;
    border-radius: 4px;
    }*/
#subcon .tab,
#subcon .service_tb_subbtn ul {
    display: flex;
    flex-wrap: wrap;
}

#subcon .service_tb_subbtn {
    margin-top: 40px;
}

#subcon .tab_cont {
    display: none;
    transition: 1s;
}

#subcon .tab_cont.active {
    display: block;
}

#subcon .tab li,
#subcon .service_tb_subbtn ul li {
    border: 3px solid #fff;
    background: #333;
    color: #fff;
    padding: 1em .6em;
    width: 33.333%;
    text-align: center;
    transition: 1s;
    cursor: pointer;
    box-sizing: border-box;
    border-radius: 6px;
}

#subcon .service_tb_subbtn ul li {
    width: 31%;
    margin: auto;
    box-sizing: border-box;
    background: none;
    text-align: left;
    border: none;
    padding: 10px;
}

#subcon .service_tb_subbtn ul li:last-child {
    margin: 0 auto;
    padding: 10px;
}

#subcon .service_tb_subbtn ul li h4 {
    color: #c90000;
    font-size: 2.2rem;
    margin: 20px 0;
}

#subcon .service_tb_subbtn ul li p {
    line-height: 1.6;
    letter-spacing: 0;
}

#subcon .service_tb_subbtn ul li a {
    display: block;
    width: 100%;
    padding: 0;
    color: #131313;
}

#subcon .service_tb_subbtn ul li:hover {}

#subcon .tab li:nth-child(2) {
    border-left: none;
    border-right: none;
}

#subcon .tab li.active {
    background: #c90000;
}


#subcon .service__ttl {
    text-align: center;
    font-size: 4.0rem;
    padding: 50px 0;
    margin-bottom: 80px;
    position: relative;
}

#subcon .service__ttl::after {
    position: absolute;
    content: "";
    width: 100px;
    height: 5px;
    border-radius: 100px;
    background: #c90000;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}

#subcon .service__tips {
    padding: 50px 60px 40px;
    box-sizing: border-box;
    border: 4px solid #c90000;
    position: relative;
}

#subcon .service__tips h4 {
    text-align: center;
    font-size: 2.2rem;
    margin-bottom: 40px;
    position: absolute;
    top: -14px;
    left: 0;
    right: 0;
    margin: auto;
}

#subcon .service__tips h4 span {
    background: #c90000;
    padding: 8px 40px;
    color: #fff;
}

#subcon .service__tips li {
    width: 46%;
    margin: 0 2%;
    font-size: 1.9rem;
    border-bottom: 1px dashed #ddd;
    padding: 10px 0 10px 28px;
    box-sizing: border-box;
    position: relative;
}

#subcon .service__tips li::before {
    position: absolute;
    content: "";
    width: 8px;
    height: 8px;
    border: 3px solid #c90000;
    top: 16px;
    left: 8px;
    border-radius: 3px;
}

#subcon .service__list01 li {
    background: #c90000;
    width: 24%;
    margin: 0.5%;
    color: #fff;
    padding: 20px;
    box-sizing: border-box;
}

#subcon .service__list01 li h5 {
    border-bottom: 1px solid #ddd;
    font-size: 1.7rem;
    letter-spacing: 0;
    padding-bottom: 15px;
    margin-bottom: 15px;
}

#subcon .service__list01 li p,
#subcon .service__list02 ul li p {
    font-size: 1.5rem;
    line-height: 1.6;
    letter-spacing: 0;
}

#subcon .service__list02 {
    margin-top: 20px;
}

#subcon .service__list02 ul {
    width: 60%;
}

#subcon .service__list02 ul li {
    width: 48%;
    margin: 0 1% 2%;
    background: #eee;
    padding: 20px;
    box-sizing: border-box;
}

#subcon .service__list02 ul li h5 {
    border-bottom: 1px solid #ddd;
    font-size: 2.0rem;
    letter-spacing: 0;
    padding-bottom: 15px;
    margin-bottom: 15px;
    line-height: 1.2;
    padding-left: 1.5em;
    text-indent: -1.5em;
}

#subcon .service__list02 ul li h5 span {
    color: #c90000;
    font-family: var(--ff-en);
    font-size: 2.4rem;
    margin-right: 5px;
}

#subcon .service__list02 figure {
    width: 38%;
    text-align: left;
}

#subcon .service__list02 figure img {
    margin-bottom: 10px;
}

#subcon .custom__list {
    overflow: hidden
}

#subcon .custom__list li {
    float: left;
    padding: 5px 15px 5px 13px;
    position: relative;
}

#subcon .custom__list li::before {
    position: absolute;
    content: "";
    width: 10px;
    height: 10px;
    background: #666;
    top: 11px;
    left: 0;
    border-radius: 100px;
}

#subcon .download__btn {
    margin-top: 10px;
}

#subcon .download__btn li {
    width: 49%;
}

#subcon .download__btn li a {
    display: block;
    width: 100%;
    padding: 18px 10px;
    box-sizing: border-box;
    color: #fff;
    background: #c90000;
    text-align: center;
    font-size: 1.8rem;
    border: 2px solid #c90000;
    transition: 0.7s;
}

#subcon .download__btn li a span {
    background: #fff;
    color: #c90000;
    font-size: 1.5rem;
    padding: 2px 10px;
    margin-right: 5px;
}

#subcon .download__btn li a:hover {
    background: #fff;
    border: 2px solid #c90000;
    color: #c90000;
}

#subcon .download__btn li a:hover span {
    color: #fff;
    background: #c90000;
}

#subcon .service__motor {
    margin-bottom: 20px;
    margin-top: 40px;
}

#subcon .service__motor .txt {
    width: 55%;
}

#subcon .service__motor figure {
    width: 40%;
}


/* equipment
---------------------------------------------------------------------------*/

#subcon .equipment__slider {
    margin: 0 0 80px;
}

#subcon .equipment__slider img {
    max-width: 560px;
}

/* recruit
---------------------------------------------------------------------------*/

#subcon .recruit__message {
    background: url("../img/recruit/bg01.jpg")no-repeat center fixed;
    background-size: cover;
    color: #fff;
}

#subcon .recruit__message .cntTitle {
    width: 40%;
}

#subcon .recruit__message .txt {
    width: 55%;
}

#subcon .recruit__message p {
    display: block;
    margin-top: 30px;
    line-height: 1.8;
}

#subcon .recruit__message p strong {
    font-size: 2.7rem;
    line-height: 1.5;
}

#subcon .recruit__person {}

#subcon .recruit__person .txt {
    width: 52%;
}

#subcon .recruit__person .txt ul {
    /* width: calc(100% - 100px); */
    width: 100%;
    margin: 60px 0 0 auto;
}

#subcon .recruit__person .txt ul li {
    position: relative;
    margin-bottom: 60px;
}

#subcon .recruit__person .txt ul li::after {
    position: absolute;
    content: "01";
    top: -50px;
    right: 0;
    font-size: 20.0rem;
    z-index: -1;
    font-family: var(--ff-en);
    color: #f0f0f0;
    line-height: 1;
}

#subcon .recruit__person .txt ul li:nth-child(2)::after {
    content: "02";
}

#subcon .recruit__person .txt ul li:nth-child(3)::after {
    content: "03";
}

#subcon .recruit__person .txt ul h4 {
    font-size: 2.7rem;
    margin-bottom: 10px;
}

#subcon .recruit__person .txt ul h4 strong {
    color: #c90000;
}

#subcon .recruit__person figure {
    width: 40%;
    text-align: right;
    margin-top: 150px;
}

#subcon .recruit__company {
    background: url("../img/index-assets/about_bg.jpg")no-repeat center, #c90000;
    color: #fff;
    position: relative;
}

#subcon .recruit__company::before,
#subcon .recruit__company::after {
    position: absolute;
    content: "";
    top: -110px;
    right: 0;
    width: 300px;
    height: 120px;
    background: url("../img/recruit/con_bg01.png")no-repeat bottom right;
}

#subcon .recruit__company::after {
    top: auto;
    bottom: -110px;
    right: auto;
    left: 0;
    background: url("../img/recruit/con_bg02.png")no-repeat bottom right;
}

#subcon .recruit__company ul {
    margin-top: 60px;
}

#subcon .recruit__company li {
    width: 30%;
    margin: 1.6%;
}

#subcon .recruit__company li figure {
    text-align: center;
}

#subcon .recruit__company li h4 {
    font-size: 2.7rem;
    text-align: center;
    margin: 25px 0 20px;
    letter-spacing: 0.075em;
}

#subcon .recruit__score {
    background: url("../img/cms/bg02.jpg")repeat center;
}

#subcon .recruit__score ul {
    margin-top: 60px;
}

#subcon .recruit__score .flex li {
    width: 31%;
    margin: 1%;
    padding: 20px;
    box-sizing: border-box;
    background: #fff;
    text-align: center;
}

#subcon .recruit__score .flex li h4 {
    font-size: 3.2rem;
    margin: 10px 0 20px;
}

#subcon .recruit__score__others {
    padding: 40px;
    margin: 1%;
    background: #fff;
    box-sizing: border-box;
}

#subcon .recruit__score__others.flex {
    align-content: center;
    align-items: center;
}

#subcon .recruit__score__others.flex h4 {
    font-size: 3.2rem;
    width: 20%;
}

#subcon .recruit__score__others ul {
    width: 60%;
    margin: 0;
}

#subcon .recruit__score__others.flex ul.flex li {
    width: 25%;
    margin: 0;
    text-align: left;
    padding: 0 0 0 22px;
    background: none;
    font-size: 2.0rem;
    line-height: 1.8;
    position: relative;
}

#subcon .recruit__score__others.flex ul.flex li::before {
    position: absolute;
    content: "■";
    top: 0;
    left: 0;
    color: #e63d3d;
}

#subcon .recruit__score__others.flex figure {
    width: 18%;
}



#subcon .recruit__staff {}

#subcon .recruit__staff .flex {
    margin: 80px 0;
}

#subcon .recruit__staff .flex:last-child {
    margin-bottom: 0;
}

#subcon .recruit__staff .flex figure {
    width: 45%;
    text-align: right;
}

#subcon .recruit__staff .flex.row figure {
    text-align: left;
}

#subcon .recruit__staff .flex figure img {
    margin-bottom: 10px;
}

#subcon .recruit__staff .flex .txt {
    width: 48%;
}

#subcon .recruit__staff .flex .txt .part {
    font-size: 1.5rem;
    margin-bottom: 10px;
}

#subcon .recruit__staff .flex .txt .part span {
    background: #111;
    color: #fff;
    padding: 2px 10px;
}

#subcon .recruit__staff .flex .txt h4 {
    font-size: 7.0rem;
}

#subcon .recruit__staff .flex .txt h4 span {
    font-size: 3.2rem;
    padding-left: 10px;
}

#subcon .recruit__staff .flex .txt h5 {
    font-size: 2.8rem;
    color: #c90000;
    margin: 30px 0 20px;
}

#subcon .recruit__staff .flex .txt p {
    display: block;
    padding-bottom: 20px;
    letter-spacing: 0.05rem;
}

#subcon .recruit__requirements {
    background: url(../img/cms/bg02.jpg) repeat center;
}

#subcon .entry_btn p {
    font-size: 2.4rem;
    text-align: center;
}

#subcon .entry_btn {
    text-align: center;
    margin-top: 5rem;
}

#subcon .entry_btn a {
    background: #c90000;
    border: 1px solid #c90000;
    font-weight: 600;
    color: #fff;
    padding: 22px 0;
    font-size: 1.7rem;
    letter-spacing: 1px;
    cursor: pointer;
    transition: 0.7s;
    width: 100%;
    max-width: 450px;
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Noto Sans JP", YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif;
}

#subcon .entry_btn a:hover {
    background: #fff;
    color: #c90000;
}

/* entry
---------------------------------------------------------------------------*/
#subcon .contact_txt h3 {
    font-size: 3.2rem;
    border-bottom: 1px solid #dbdbdb;
    color: #c90000;
    padding-bottom: 20px;
    margin-bottom: 20px;
}

/* company
---------------------------------------------------------------------------*/
#subcon .company__txt {
    margin-top: 60px;
}

#subcon .company__txt figure {
    width: 40%;
}

#subcon .company__txt .txt {
    width: 52%;
}

#subcon .company__txt .ttl-01 {
    margin-top: 0;
}

#subcon .gmap {
    margin-top: 60px;
}

#subcon .gmap iframe {
    width: 100%;
    height: 600px;
    vertical-align: bottom;
}

/* topics
---------------------------------------------------------------------------*/
#subcon #_topics .cntInner {
    height: auto;
    background: none;
}

#subcon #_topics .cntList,
#subcon #_topics .cateList {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: flex-start;
}

#subcon #_topics .cateList {
    margin-bottom: 60px;
}

#subcon #_topics .cntList .item {
    width: 22%;
    margin: 1%;
    box-sizing: border-box;
}

#subcon #_topics .cateList li {
    width: 23%;
    margin: 1%;
}

#subcon #_topics .cateList li a {
    display: block;
    width: 100%;
    background: #222;
    color: #fff;
    border: 2px solid #222;
    text-align: center;
    padding: 6px 0;
    box-sizing: border-box;
}

#subcon #_topics article {
    padding: 60px;
    background: #fff;
    position: relative;
}

#subcon #_topics article .category {
    position: absolute;
    top: 0;
    left: 0;
    background: var(--c-main);
    font-size: 1.4rem;
    letter-spacing: .075em;
    text-align: center;
    line-height: 2.14;
    height: 2.14em;
    color: #fff;
    font-weight: 600;
    padding: 0 8px;
    min-width: 100px;
    display: inline-block;
}

#subcon #_topics article .ttl-01 {
    margin-top: 0;
}

#subcon #_topics article .data {
    display: block;
    text-align: right;
    margin: 10px 0;
    font-family: var(--ff-en);
}

#subcon #_topics article figure {
    margin: auto;
    padding: 10px 0;
    box-sizing: border-box;
}

/* pagenavi
--------------------------------------------------*/
#subcon #_topics .wp-pagenavi {
    margin: 60px auto 0;
    font-size: 13px;
    text-align: center;
}

#subcon #_topics .wp-pagenavi a {
    color: #4a4a4a;
}

#subcon #_topics .pages {
    margin-right: 20px;
}

#subcon #_topics .wp-pagenavi .current,
#subcon #_topics .wp-pagenavi a.page {
    margin: 0 6px 6px 0;
    display: inline-block;
    border: solid 1px var(--c-main);
    width: 40px;
    height: 40px;
    border-radius: 50%;
    line-height: 40px;
    text-align: center;
}

#subcon #_topics .wp-pagenavi .current {
    border: none;
    background: var(--c-main);
    color: #fff;
}

#subcon #_topics .wp-pagenavi a.page:hover {
    background: var(--c-main);
    color: #fff;
}

#subcon #_topics .wp-pagenavi .first,
#subcon #_topics .wp-pagenavi .extend {
    margin-right: 10px;
}

#subcon #_topics .wp-pagenavi span.pages,
#subcon #_topics .wp-pagenavi .previouspostslink,
#subcon #_topics .wp-pagenavi .nextpostslink {
    display: none;
}

#subcon #_topics .pagenation {}

#subcon #_topics .pagenation .pagenation_content {
    margin: 60px auto 0;
    width: 100%;
    text-align: center;
    position: relative;
}

#subcon #_topics .pagenation .pagenation_content span {
    width: 15%;
    min-width: 60px;
    color: #333;
    transition: all 0.35s ease;
    background: #dadada;
    padding: 10px 10px;
}

#subcon #_topics .pagenation .pagenation_content a {
    width: 15%;
    text-align: center;
    min-width: 60px;
    background: #222;
    color: #fff;
    transition: all 0.35s ease;
    padding: 10px 10px;
}

#subcon #_topics .pagenation .pagenation_content a:hover {
    background: var(--c-main);
}

#subcon #_topics .pagenation .pagenation_content .prev:after {
    left: 0px;
}

#subcon #_topics .pagenation .pagenation_content .all {
    left: 0;
    right: 0;
    width: 20%;
    margin: auto;
}

#subcon #_topics .pagenation .pagenation_content .next {
    right: 0px;
}


/* contact
---------------------------------------------------------------------------*/

#subcon .contact_txt {
    background: #f3f3f3;
    padding: 60px;
    text-align: center;
    margin: 0 0 60px;
    box-sizing: border-box;
}

#subcon .contact_txt .tel {
    display: block;
    border-top: 1px solid #dbdbdb;
    padding-top: 20px;
    margin-top: 20px;
    font-size: 5.5rem;
    line-height: 1.1;
    font-family: var(--ff-en);
}

#subcon .contact_txt .tel_txt {
    border-bottom: 1px solid #dbdbdb;
    padding-bottom: 20px;
    margin-bottom: 20px;
    font-size: 1.8rem;
    color: #666;
}

#subcon .defTable01 label {
    line-height: 1.1;
}

#subcon .defTable01 input[type=radio],
#subcon .defTable01 input[type=checkbox] {
    -webkit-appearance: auto;
    -moz-appearance: auto;
    appearance: auto;
    padding: 0;
    margin: 2px 4px;
}

#subcon .defTable01 input[type=text],
#subcon .defTable01 input[type=email],
#subcon .defTable01 input[type=tel] {
    border: 1px solid #eee;
    padding: 14px;
    background: #eee;
    width: 100%;
    box-sizing: border-box;
    line-height: 1.6;
    border-radius: 2px;
}

#subcon .defTable01 input.form-m[type=text] {
    width: 50%;
}

#subcon .defTable01 input.form-s[type=text] {
    width: 15%;
}

#subcon .form-box {
    margin: 10px 0;
}

#subcon .defTable01 select {
    border: 1px solid #eee;
    background: #eee;
    padding: 14px;
    width: 50%;
    box-sizing: border-box;
    line-height: 1.6;
    border-radius: 2px;
}

#subcon .defTable01 select optgroup {
    background: #ddd;
}

#subcon .defTable01 textarea {
    border: 1px solid #eee;
    padding: 14px;
    background: #eee;
    width: 100%;
    box-sizing: border-box;
    border-radius: 2px;
}

#subcon .defTable01 input[type=text]::-moz-placeholder,
#subcon .defTable01 input[type=email]::-moz-placeholder,
#subcon .defTable01 input[type=tel]::-moz-placeholder,
#subcon .defTable01 input[type=text]::placeholder,
#subcon .defTable01 input[type=email]::placeholder,
#subcon .defTable01 input[type=tel]::placeholder {
    color: #666;
    font-size: 1.6rem;
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Noto Sans JP", YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif;
}

#subcon .defTable01 textarea::-moz-placeholder,
#subcon .defTable01 textarea::placeholder {
    color: #666;
    font-size: 1.6rem;
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Noto Sans JP", YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif;
}

#subcon .defTable01 .privacy_box {
    max-height: 350px;
    overflow-y: scroll;
    border: 1px solid #ddd;
    background: #eee;
    padding: 30px;
    box-sizing: border-box;
    margin: 10px 0;
}

#subcon .defTable01 .privacy_box h3 {
    font-size: 2.0rem;
}

#subcon .defTable01 .privacy_box h4 {
    font-size: 1.7rem;
    margin: 20px 0 0;
    border-bottom: 1px solid #ddd;
}

#subcon .defTable01 .privacy_box p {
    font-size: 1.5rem;
    letter-spacing: 0;
    line-height: 1.6;
    display: block;
    padding: 10px 0;
}

#subcon .defTable01 .privacy_box li {
    font-size: 1.5rem;
}

#subcon .defTable01 td a {
    text-decoration: underline;
}

#subcon .defTable01 td a:hover {
    text-decoration: none;
}

#subcon .form_btn {
    text-align: center;
    margin-top: 5rem;
}

#subcon .form_btn input {
    background: #c90000;
    border: 1px solid #c90000;
    font-weight: 600;
    color: #fff;
    padding: 22px 0;
    font-size: 1.7rem;
    letter-spacing: 1px;
    cursor: pointer;
    transition: 0.7s;
    width: 100%;
    max-width: 450px;
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Noto Sans JP", YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif;
}

#subcon .form_btn input:hover {
    background: #fff;
    color: #c90000;
}

#subcon .defTable01 em.colR {
    font-style: normal;
    color: #c90000;
    font-size: 1.6rem;
    margin-left: 2px;
    font-weight: 600;
}

input.wpcf7-form-control.wpcf7-back.contact-form__back-btn.wpcf7c-elm-step2.wpcf7c-btn-back {
    background: #fff;
    color: #c90000;
    border: #c90000 1px solid;
    margin-right: 10px;
}







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

    /* subcon
---------------------------------------------------------------------------*/
    #subcon .cntInner {
        padding: 70px 4%;
    }

    #subcon .mt20 {
        margin-top: 10px;
    }

    #subcon .mt60 {
        margin-top: 30px;
    }

    #subcon .mt80 {
        margin-top: 40px;
    }

    #subcon p {
        font-size: 1.4rem;
        letter-spacing: .05em;
        line-height: 1.6;
    }


    #subcon .ttl-01 {
        font-size: 1.8rem;
        line-height: 1.6;
        margin-top: 40px;
        margin-bottom: 15px;
        padding-bottom: 15px;
    }

    #subcon .ttl-02 {
        font-size: 1.7rem;
        line-height: 1.6;
        margin-bottom: 10px;
        padding-left: 40px;
    }

    #subcon .ttl-02::after {
        width: 35px;
        top: 14px;
    }

    #subcon .ullist01 {
        margin: 1.5em 0;
    }

    #subcon .ullist01 li {
        font-size: 1.4rem;
        line-height: 1.6;
        letter-spacing: 0.05em;
    }

    #subcon .ullist02 {
        margin: 2.5em 0;
    }

    #subcon .ullist02 li {
        font-size: 1.4rem;
        line-height: 1.6;
        letter-spacing: 0.05em;
    }

    #subcon .flex {
        display: -webkit-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    #subcon .js-between {
        justify-content: space-between;
    }

    #subcon .js-around {
        justify-content: space-around;
    }

    #subcon .js-start {
        justify-content: flex-start;
    }

    #subcon .row {
        flex-direction: column-reverse;
        flex-direction: row-reverse;
    }

    #subcon ._Title .en {
        text-transform: uppercase;
    }

    /* TBL
---------------------------------------------------------------------------*/
    .scroll {
        overflow: auto;
        white-space: nowrap;
    }

    .scroll::-webkit-scrollbar {
        height: 5px;
    }

    .scroll::-webkit-scrollbar-track {
        background: #F1F1F1;
    }

    .scroll::-webkit-scrollbar-thumb {
        background: #BCBCBC;
    }

    #subcon .defTable01,
    #subcon .defTable02 {}

    #subcon .defTable01 th {
        display: block;
        width: 100%;
        padding: 15px;
        border-top: none;
        font-size: 1.5rem;
        line-height: 1.6;
        letter-spacing: 0.05em;
        background: #f3f3f3;
    }

    #subcon .defTable01 td {
        display: block;
        width: 100%;
        padding: 15px;
        border-top: none;
        font-size: 1.5rem;
        line-height: 1.6;
        letter-spacing: 0.05em;
    }

    #subcon .defTable01 td .ullist01 li {
        font-weight: 500;
        font-size: 1.5rem;
    }

    #subcon .defTable01 tr:last-child th,
    #subcon .defTable01 tr:last-child td {
        border-bottom: none;
    }

    #subcon .defTable02 th {
        width: 320px;
        padding: 15px 25px;
        font-size: 1.5rem;
        line-height: 1.6;
        letter-spacing: 0.05em;
    }

    #subcon .defTable02 td {
        padding: 15px 25px;
        font-size: 1.5rem;
        line-height: 1.6;
        letter-spacing: 0.05em;
    }


    /* about
---------------------------------------------------------------------------*/

    #subcon .about__txt {
        background: url("../img/about/img.jpg")no-repeat top right;
        background-size: 30%;
    }

    #subcon .about__txt p {
        margin-top: 20px;
        width: 100%;
    }

    #subcon .about__txt2 {
        margin-top: 60px;
    }

    #subcon .about__txt2 .txt {
        width: 100%;
    }

    #subcon .about__txt2 h4 {
        font-size: 2.0rem;
        margin-bottom: 20px;
    }

    #subcon .about__txt2 h4 span {
        font-size: 1.5rem;
        margin-bottom: 5px;
    }

    #subcon .about__txt2 .txt p {
        margin-top: 10px;
    }

    #subcon .about__txt2 figure {
        width: 100%;
        margin-top: 20px
    }


    /* service
---------------------------------------------------------------------------*/

    /*#subcon #tab_list {}
#subcon #tab_list li{
    border: 3px solid #fff;
	padding: 1em .6em;
	width: 100%;
    font-size: 1.6rem;
    }*/
    #subcon .service_tb_subbtn {
        margin-top: 20px;
    }

    #subcon .tab li,
    #subcon .service_tb_subbtn ul li {
        width: 100%;
        font-size: 1.6rem;
    }

    #subcon .service_tb_subbtn ul li h4 {
        font-size: 1.7rem;
        margin: 10px 0;
    }

    #subcon .service__ttl {
        font-size: 2.3rem;
        padding: 40px 0;
        margin-bottom: 40px;
    }

    #subcon .service__ttl::after {
        width: 80px;
        height: 3px;
    }

    #subcon .service__tips {
        padding: 20px 10px 20px;
    }

    #subcon .service__tips h4 {
        font-size: 1.7rem;
        margin-bottom: 30px;
        position: static;
    }

    #subcon .service__tips h4 span {
        padding: 8px 20px;
    }

    #subcon .service__tips li {
        width: 96%;
        margin: 0 2%;
        font-size: 1.6rem;
    }

    #subcon .service__list01 li {
        width: 49%;
        margin: 0.5%;
        padding: 15px;
    }

    #subcon .service__list01 li h5 {
        font-size: 1.6rem;
        padding-bottom: 10px;
        margin-bottom: 10px;
    }

    #subcon .service__list01 li p,
    #subcon .service__list02 ul li p {
        font-size: 1.4rem;
        line-height: 1.5;
    }

    #subcon .service__list02 {
        margin-top: 10px;
    }

    #subcon .service__list02 ul {
        width: 100%;
    }

    #subcon .service__list02 ul li {
        width: 49%;
        margin: 0.5%;
        padding: 15px;
    }

    #subcon .service__list02 ul li h5 {
        font-size: 1.7rem;
        padding-bottom: 10px;
        margin-bottom: 10px;
    }

    #subcon .service__list02 ul li h5 span {
        font-size: 2.0rem;
        margin-right: 5px;
    }

    #subcon .service__list02 figure {
        width: 98%;
        margin: 10px 0.5% 0;
    }

    #subcon .custom__list {}

    #subcon .custom__list li {
        font-size: 1.4rem;
        padding: 3px 15px 3px 10px;
    }

    #subcon .custom__list li::before {
        width: 8px;
        height: 8px;
        top: 9px;
    }

    #subcon .download__btn {
        margin-top: 10px;
    }

    #subcon .download__btn li {
        width: 100%;
        margin-bottom: 10px;
    }

    #subcon .download__btn li a {
        padding: 15px 10px;
        font-size: 1.6rem;
    }

    #subcon .download__btn li a span {
        font-size: 1.3rem;
        padding: 2px 8px;
    }


    #subcon .service__motor {
        margin-bottom: 20px;
        margin-top: 20px;
    }

    #subcon .service__motor .txt {
        width: 100%;
        margin-bottom: 10px;
    }

    #subcon .service__motor figure {
        width: 100%;
    }


    /* equipment
---------------------------------------------------------------------------*/

    #subcon .equipment__slider {
        margin: 0 0 40px;
    }

    #subcon .equipment__slider img {
        max-width: 220px;
    }


    /* recruit
---------------------------------------------------------------------------*/
    #subcon .recruit__message {
        background: url("../img/recruit/bg01.jpg")no-repeat center;
        background-size: cover;
    }

    #subcon .recruit__message .cntTitle {
        width: 100%;
    }

    #subcon .recruit__message .txt {
        width: 100%;
    }

    #subcon .recruit__message p {
        margin-top: 30px;
        line-height: 1.6;
    }

    #subcon .recruit__message p br {
        display: none;
    }

    #subcon .recruit__message p strong {
        font-size: 1.8rem;
        line-height: 1.6;
    }

    #subcon .recruit__person {}

    #subcon .recruit__person .txt {
        width: 100%;
    }

    #subcon .recruit__person .txt ul {
        /* width: 100%; */
        margin: 20px 0 0 auto;
    }

    #subcon .recruit__person .txt ul li {
        margin-bottom: 40px;
    }

    #subcon .recruit__person .txt ul li::after {
        top: -50px;
        font-size: 15.0rem;
    }

    #subcon .recruit__person .txt ul h4 {
        font-size: 2.0rem;
        margin-bottom: 10px;
    }

    #subcon .recruit__person figure {
        width: 100%;
        margin: auto;
    }

    #subcon .recruit__company {
        background: url("../img/index-assets/about_bg.jpg")no-repeat center, #c90000;
        color: #fff;
        position: static;
    }

    #subcon .recruit__company::before,
    #subcon .recruit__company::after {
        position: static;
        display: none
    }

    #subcon .recruit__company::after {
        position: static;
        display: none
    }

    #subcon .recruit__company ul {
        margin-top: 30px;
    }

    #subcon .recruit__company li {
        width: 100%;
        margin: 2% 0;
    }

    #subcon .recruit__company li figure {
        max-width: 100px;
        margin: auto;
    }

    #subcon .recruit__company li h4 {
        font-size: 2.0rem;
        margin: 15px 0 10px;
        letter-spacing: 0.05em;
    }

    #subcon .recruit__score {}

    #subcon .recruit__score ul {
        margin-top: 30px;
    }

    #subcon .recruit__score .flex li {
        width: 48%;
        margin: 1%;
        padding: 20px;
    }

    #subcon .recruit__score .flex li h4 {
        font-size: 1.7rem;
        margin: 0 0 10px;
    }

    #subcon .recruit__score__others {
        padding: 20px;
        margin: 1%;
    }

    #subcon .recruit__score__others.flex {
        align-content: center;
        align-items: center;
    }

    #subcon .recruit__score__others.flex h4 {
        font-size: 1.7rem;
        width: 100%;
        text-align: center;
    }

    #subcon .recruit__score__others ul {
        width: 100%;
        margin-top: 10px;
    }

    #subcon .recruit__score__others.flex ul.flex li {
        width: 50%;
        margin: 0;
        padding: 0 0 0 18px;
        background: none;
        font-size: 1.5rem;
        line-height: 1.6;
    }

    #subcon .recruit__score__others.flex figure {
        width: 100%;
        text-align: center;
        max-width: 180px;
        margin: 20px auto 0
    }



    #subcon .recruit__staff {}

    #subcon .recruit__staff .flex {
        margin: 40px 0;
    }

    #subcon .recruit__staff .flex figure {
        width: 100%;
        margin: 0 auto 10px;
        display: flex;
    }

    #subcon .recruit__staff .flex figure img {
        width: 50%;
    }

    #subcon .recruit__staff .flex .txt {
        width: 100%;
    }

    #subcon .recruit__staff .flex .txt .part {
        font-size: 1.3rem;
        margin-bottom: 5px;
        text-align: center;
    }

    #subcon .recruit__staff .flex .txt .part span {
        padding: 1px 10px;
    }

    #subcon .recruit__staff .flex .txt h4 {
        font-size: 3.0rem;
        text-align: center;
    }

    #subcon .recruit__staff .flex .txt h4 span {
        font-size: 1.8rem;
    }

    #subcon .recruit__staff .flex .txt h5 {
        font-size: 1.8rem;
        margin: 20px 0 10px;
    }

    #subcon .recruit__staff .flex .txt p {
        padding-bottom: 10px;
        letter-spacing: 0.05rem;
    }

    /* company
---------------------------------------------------------------------------*/
    #subcon .company__txt {
        margin-top: 20px;
    }

    #subcon .company__txt figure {
        width: 100%;
        margin-top: 20px;
    }

    #subcon .company__txt .txt {
        width: 100%;
    }

    #subcon .company__txt .ttl-01 {
        margin-top: 0;
    }

    #subcon .gmap {
        margin-top: 30px;
    }

    #subcon .gmap iframe {
        height: 250px;
    }


    /* topics
---------------------------------------------------------------------------*/
    #subcon #_topics .cateList {
        margin-bottom: 30px;
    }

    #subcon #_topics .cntList {
        gap: 0 0;
        padding: 0;
    }

    #subcon #_topics .cntList .item {
        width: 48%;
        margin: 1%;
    }

    #subcon #_topics .cateList li {
        width: 48%;
        margin: 1%;
    }

    #subcon #_topics .cateList li a {
        font-size: 1.3rem;
    }

    #subcon #_topics article {
        padding: 60px 30px 30px;
    }



    /* pagenavi
--------------------------------------------------*/
    #subcon #_topics .wp-pagenavi {
        margin: 30px auto 0;
        font-size: 12px;
    }

    #subcon #_topics .wp-pagenavi .current,
    #subcon #_topics .wp-pagenavi a.page {
        width: 30px;
        height: 30px;
        line-height: 30px;
    }

    #subcon #_topics .pagenation .pagenation_content {
        margin: 30px auto 0;
    }

    #subcon #_topics .pagenation .pagenation_content span {
        width: 15%;
        min-width: 60px;
    }

    #subcon #_topics .pagenation .pagenation_content a {
        width: 15%;
        padding: 10px 10px;
        font-size: 13px;
    }

    #subcon #_topics .pagenation .pagenation_content .all {
        width: 25%;
    }




    /* contact
---------------------------------------------------------------------------*/
    #subcon .contact_txt {
        padding: 30px;
        margin: 0 0 30px;
        text-align: left;
    }

    #subcon .contact_txt .tel {
        font-size: 3.0rem;
    }

    #subcon .contact_txt .tel_txt {
        font-size: 1.5rem;
    }

    #subcon .defTable01 input[type=text]::-moz-placeholder,
    #subcon .defTable01 input[type=email]::-moz-placeholder,
    #subcon .defTable01 input[type=tel]::-moz-placeholder,
    #subcon .defTable01 input[type=text]::placeholder,
    #subcon .defTable01 input[type=email]::placeholder,
    #subcon .defTable01 input[type=tel]::placeholder {
        font-size: 1.5rem;
    }

    #subcon .defTable01 textarea::-moz-placeholder,
    #subcon .defTable01 textarea::placeholder {
        font-size: 1.5rem;
    }

    #subcon .defTable01 .privacy_box {
        max-height: 250px;
        padding: 20px;
        margin: 10px 0;
    }

    #subcon .defTable01 .privacy_box h3 {
        font-size: 1.8rem;
    }

    #subcon .defTable01 .privacy_box h4 {
        font-size: 1.6rem;
    }

    #subcon .defTable01 .privacy_box p {
        font-size: 1.4rem;
        padding: 10px 0;
    }

    #subcon .defTable01 .privacy_box li {
        font-size: 1.4rem;
    }

    #subcon .form_btn {
        margin-top: 4rem;
    }

    #subcon .form_btn input {
        padding: 20px 0;
        font-size: 1.5rem;
        width: 100%;
        max-width: 100%;
    }

    #subcon .defTable01 em.colR {
        padding: 1px 5px;
        font-size: 1.3rem;
    }

}
