@media screen and (max-width: 979px) {
    body {
        font-size: 16px;
        line-height: 1.8;
        padding: 60px 0 0;
    }

    input[type="button"],
    input[type="submit"] {
        -webkit-appearance: none;
        border-radius: 0;
    }

    .br-sp {
        display: none;
    }

    /* ------------------------------------------------------------
    ヘッダー部分
------------------------------------------------------------ */
    header {
        background: #fff;
        width: 100%;
        height: 60px;
        position: fixed;
        top: 0;
        z-index: 11;
    }

    header .inner {
        height: 40px;
        padding: 10px 0;
        display: -webkit-flex;
        display: flex;
        -webkit-align-items: center;
        align-items: center;
    }

    header .logo {
        line-height: 1.0;
        margin: 0 20px;
    }

    header .logo a {
        display: inline-block;
    }

    header .logo a img {
        width: 92px !important;
        max-height: 40px;
    }

    header .menu {
        width: 60px;
        height: 60px;
        position: absolute;
        top: 0px;
        right: 0px;
    }

    header #gnav {
        background: rgba(0, 0, 0, 0.4);
        position: fixed;
        width: 100%;
        top: 60px;
        bottom: 0;
        left: 0;
        z-index: 11;
        display: none;
        overflow: hidden;
        opacity: 0;
    }

    header #gnav ul {
        background: #f08300;
        width: 240px;
        height: 100%;
        padding: 60px 40px;
        box-sizing: border-box;
        position: absolute;
        top: 0;
        right: -240px;
    }

    header #gnav ul li:not(:last-of-type) {
        margin-bottom: 20px;
    }

    header #gnav ul li a {
        font-size: 18px;
        line-height: 40px;
        font-weight: bold;
        color: #fff;
        letter-spacing: 0.1em;
        display: block;
        position: relative;
    }

    header #gnav ul li a:after {
        background: url(../images/arw_white2.png) no-repeat center;
        background-size: 7px auto;
        -webkit-background-size: 7px auto;
        -moz-background-size: 7px auto;
        content: "";
        width: 7px;
        height: 40px;
        display: inline-block;
        position: absolute;
        right: 0;
    }

    header .sns {
        display: none;
    }

    /* ------------------------------------------------------------
    フッター部分
------------------------------------------------------------ */
    .bottomOrder {
        background: url(../images/img_bottom_order.jpg) center;
        background-size: cover;
        -webkit-background-size: cover;
        -moz-background-size: cover;
        padding: 60px 20px;
        text-align: center;
    }

    .bottomOrder h2 {
        color: #fff;
        font-size: 22px;
        font-weight: bold;
        margin: 0 0 30px;
    }

    .bottomOrder ul li a {
        width: auto;
        line-height: 53px;
        display: block;
        border: #fff solid 3px;
        font-size: 16px;
        font-weight: bold;
        letter-spacing: 0.1em;
        color: #fff;
    }

    .bottomOrder ul li a:after {
        background: url(../images/arw_white.png) no-repeat center;
        background-size: 17px auto;
        -webkit-background-size: 17px auto;
        -moz-background-size: 17px auto;
        content: "";
        width: 17px;
        height: 55px;
        display: inline-block;
        margin: 0 0 0 15px;
        vertical-align: top;
    }

    footer {
        padding: 60px 30px 80px;
        position: relative;
        border-top: #ddd solid 1px;
    }

    #page_top {
        width: 50px;
        height: 50px;
        position: fixed;
        right: 10px;
        bottom: 10px;
        background: #333;
        opacity: 0.6;
        border-radius: 50%;
        z-index: 11;
    }

    #page_top a {
        position: relative;
        display: block;
        width: 50px;
        height: 50px;
        text-decoration: none;
    }

    #page_top a::before {
        font-family: 'Font Awesome 5 Free';
        font-weight: 900;
        content: '\f106';
        font-size: 25px;
        color: #fff;
        position: absolute;
        width: 25px;
        height: 25px;
        top: 0;
        bottom: 20px;
        right: 0;
        left: 0;
        margin: auto;
        text-align: center;
    }

    footer address {
        text-align: left;
    }

    footer address figure {
        margin: 0 0 15px;
    }

    footer address figure img {
        width
        /***/
        : auto;
    }

    footer address dl dt {
        margin: 10px 0 0;
        font-size: 18px;
        font-weight: bold;
    }

    footer address dl dd {
        margin: 10px 0 0;
    }

    footer address dl dd a {
        color: #333;
        text-decoration: none;
    }

    footer address dl dd a:hover {
        text-decoration: underline;
        color: #f08300;
    }

    footer nav {
        margin: 60px 0 0;
    }

    footer nav ul {
        display: -webkit-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    footer nav ul:not(.sns) li {
        width: 50%;
        margin: 0 0 15px;
        text-align: left;
        position: relative;
    }

    footer nav ul:not(.sns) li a {
        color: #333;
        margin-left: 10px;
        font-weight: bold;
    }

    footer nav ul:not(.sns) li a:before {
        background: #333;
        content: "";
        width: 5px;
        height: 1px;
        display: inline-block;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        margin: auto;
    }

    footer nav .sns {
        -webkit-justify-content: flex-end;
        justify-content: flex-end;
        -webkit-align-items: flex-end;
        align-items: flex-end;
        margin: 45px 0 0;
    }

    footer nav .sns li:not(:last-of-type) {
        margin-right: 20px;
    }

    footer nav .sns li a {
        width: 20px;
        height: 20px;
        display: block;
    }

    footer .copyright {
        position: absolute;
        line-height: 20px;
        right: 150px;
        bottom: 80px;
    }

    /* ------------------------------------------------------------
    トップページ部分
------------------------------------------------------------ */
    .topImage {
        min-height: -webkit-calc(90vh - 60px);
        min-height: calc(90vh - 60px);
        padding: 0 0 30px;
        position: relative;
        display: -webkit-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-flex-direction: column;
        flex-direction: column;
        box-sizing: border-box;
    }

    .topImage:before {
        background: #f5f3f1;
        content: "";
        width: 100%;
        position: absolute;
        top: 30Vh;
        bottom: 0;
        left: 0;
        z-index: -1;
    }

    .topImage:after {
        background: #f5f3f1;
        content: "";
        width: 100%;
        height: 10Vh;
        position: absolute;
        right: 0;
        bottom: -10vh;
        left: 0;
        margin: auto;
        z-index: -1;
    }

    .topImage figure {
        width: 90vw;
        height: 60vh;
        margin: 0 0 0 10vw;
        -webkit-order: -1;
        order: -1;
    }

    .topImage figure img {
        max-width: none;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .topImage .catchphrase {
        position: absolute;
        z-index: 1;
        margin: 0 20px;
        bottom: 6vh;
    }

    .topImage .catchphrase h2 {
        color: #f08300;
        font-family: 'Roboto', Arial, Helvetica, sans-serif;
        font-size: 15vw;
        font-weight: bold;
        line-height: 1.0;
        letter-spacing: 0.1em;
        margin: 0 0 15px;
    }

    .topImage .catchphrase small {
        font-size: 6vw;
        font-weight: bold;
        line-height: 1.7;
        letter-spacing: 0.1em;
    }

    .ttlTop {
        line-height: 1.0;
        letter-spacing: 0.1em;
        margin: 0 0 30px;
    }

    .ttlTop h2 {
        font-size: 48px;
        font-weight: bold;
        margin: 0 0 15px;
    }

    .ttlTop small {
        color: #f08300;
        font-size: 18px;
        font-weight: bold;
        display: inline-block;
        border-bottom: #f08300 solid 3px;
        padding: 0 0 10px;
    }

    .btnMore {
        margin: 30px auto 30px;
        width: 225px;
        height: 55px;
    }

    .btnMore a {
        color: #f08300;
        width: auto;
        line-height: 53px;
        border: #f08300 solid 1px;
        display: block;
        text-align: center;
        font-size: 16px;
        font-weight: bold;
    }

    .btnMore a:after {
        background: url(../images/arw.png) no-repeat center;
        background-size: 17px auto;
        -webkit-background-size: 17px auto;
        -moz-background-size: 17px auto;
        content: "";
        width: 17px;
        height: 55px;
        display: inline-block;
        margin: 0 0 0 15px;
        vertical-align: top;
    }

    .btnMore02 {
        margin: 30px auto 60px;
        width: 225px;
        height: 55px;
    }

    .btnMore02 a {
        background: #f08300;
        color: #fff;
        width: auto;
        line-height: 53px;
        border: #f08300 solid 1px;
        display: block;
        text-align: center;
        font-size: 16px;
        font-weight: bold;
    }

    .btnMore02 a:after {
        background: url(../images/arw_white.png) no-repeat center;
        background-size: 17px auto;
        -webkit-background-size: 17px auto;
        -moz-background-size: 17px auto;
        content: "";
        width: 17px;
        height: 55px;
        display: inline-block;
        margin: 0 0 0 15px;
        vertical-align: top;
    }

    .messageTop {
        display: -webkit-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-flex-direction: column-reverse;
        flex-direction: column-reverse;
    }

    .messageTop__txtarea {
        padding: 30px 20px 0;
    }

    .messageTop__txtarea__txt {
        font-weight: bold;
    }

    .serviceTop {
        margin: 60px 0;
        padding: 0 20px 60px;
        position: relative;
    }

    .serviceTop::before {
        background: #f5f3f1;
        content: "";
        position: absolute;
        top: 24px;
        left: 10px;
        right: 0;
        bottom: 0;
        z-index: -1;
    }

    .serviceTop__list {
        margin: 30px 0 0;
        counter-reset: number 0;
    }

    .serviceTop__list__item {
        width: 90%;
    }

    .serviceTop__list__item:nth-of-type(n+2) {
        margin-top: 60px;
    }

    .serviceTop__list__item:nth-of-type(2n) {
        margin-left: auto;
    }

    .serviceTop__list__item__txtarea__heading {
        margin: 30px 0 15px;
        font-size: 24px;
        line-height: 1.0;
        font-weight: bold;
    }

    .serviceTop__list__item__txtarea__heading::before {
        counter-increment: number 1;
        content: '0'counter(number);
        font-family: 'Roboto', Arial, Helvetica, sans-serif;
        font-size: 48px;
        font-weight: bold;
        margin: 0 16px 0 0;
        color: #f08300;
    }

    .serviceTop__list__item__txtarea .btnMore02 {
        margin: 15px 0 0 0;
        width: 225px;
        height: 55px;
    }

    .serviceTop__list__item__txtarea .btnMore02 a {
        background: #f08300;
        color: #fff;
        width: auto;
        line-height: 53px;
        border: #f08300 solid 1px;
        display: block;
        text-align: center;
        font-size: 16px;
        font-weight: bold;
        border-radius: 30px;
    }

    .serviceTop__list__item__txtarea .btnMore02 a:after {
        background: url(../images/arw_white.png) no-repeat center;
        background-size: 17px auto;
        -webkit-background-size: 17px auto;
        -moz-background-size: 17px auto;
        content: "";
        width: 17px;
        height: 55px;
        display: inline-block;
        margin: 0 0 0 15px;
        vertical-align: top;
    }

    .contents {}

    .contents ul {
        margin: 0;
    }

    .contents__list__item {
        overflow: hidden;
        position: relative;
    }

    .contents__list__item::after {
        position: absolute;
        content: "";
        display: block;
        width: 100%;
        height: 100%;
        top: 0;
        transition: all 0.5s ease-out;
        z-index: -1;
    }

    .contents__list__item:nth-of-type(1)::after {
        background: url(../images/top/img_company.jpg);
        background-size: cover;
        -webkit-background-size: cover;
        -moz-background-size: cover;
    }

    .contents__list__item:nth-of-type(2)::after {
        background: url(../images/top/img_recruit.jpg);
        background-size: cover;
        -webkit-background-size: cover;
        -moz-background-size: cover;
    }

    .contents__list__item a {
        background: rgba(0, 0, 0, 0.33);
        padding: 30px 20px;
        display: block;
        color: #fff;
        text-align: center;
        text-shadow: 0 0 5px #000;
    }

    .contents__list__item a::after {
        font-family: 'Font Awesome 5 Free';
        font-weight: 900;
        content: '\f138';
        font-size: 25px;
        color: #fff;
        margin: 15px auto 0;
        display: inline-block;
    }

    .newsTop {
        margin: 60px 0;
        padding: 0 20px 60px;
        position: relative;
    }

    .newsTop::before {
        background: #f5f3f1;
        content: "";
        position: absolute;
        top: 24px;
        left: 0;
        right: 10px;
        bottom: 0;
        z-index: -1;
    }

    .newsTop__list {
        margin: 0 0 30px;
        border-bottom: #ddd solid 1px;
    }

    .newsTop__list__item {
        border-top: #ddd solid 1px;
    }

    .newsTop__list__item a {
        background: #fff;
        padding: 30px 62px 30px 30px;
        display: block;
        color: #1a1a1a;
        font-weight: bold;
        position: relative;
    }

    .newsTop__list__item a:after {
        background: url(../images/arw_gray.png) no-repeat center;
        background-size: 17px auto;
        -webkit-background-size: 17px auto;
        -moz-background-size: 17px auto;
        content: "";
        width: 17px;
        height: 20px;
        display: inline-block;
        position: absolute;
        right: 30px;
        top: 0;
        bottom: 0;
        margin: auto;
    }

    .newsTop__list__item__date {
        display: block;
    }

    .newsTop .btnMore {
        margin: 0 0 0 auto;
    }

    /* ------------------------------------------------------------
    共通クラス部分
------------------------------------------------------------ */
    .ttlSub {
        height: 210px;
        line-height: 1.0;
        letter-spacing: 0.1em;
        margin: 0 0 30px;
        position: relative;
    }

    .ttlSub:before {
        content: "";
        width: 100%;
        position: absolute;
        top: 45px;
        bottom: 0;
        left: 0;
        z-index: -1;
    }

    .ttlSub .inner {
        background: #fff;
        margin: 0 30px;
        padding: 30px;
        display: inline-block;
    }

    .ttlSub strong {
        font-size: 30px;
        font-weight: bold;
        margin: 0 0 15px;
        display: block;
    }

    .ttlSub h1 {
        font-size: 16px;
        font-weight: bold;
        display: inline-block;
        padding: 0 0 10px;
    }

    /* ------------------------------------------------------------
    新着情報ページ部分
------------------------------------------------------------ */
    .news .ttlSub:before {
        background: url(../images/news/ttl_news.jpg) center;
        -webkit-background-size: cover;
        -moz-background-size: cover;
        background-size: cover;
    }

    .news .ttlSub h1 {
        color: #f08300;
        border-bottom: #f08300 solid 3px;
    }

    .news .ttlEntries {
        margin: 0 20px 30px;
        font-weight: bold;
        text-align: center;
        letter-spacing: 0.1em;
        line-height: 1.2;
    }

    .news .ttlEntries h2 {
        font-size: 24px;
        margin: 0 0 15px;
        line-height: 1.6;
    }

    .news .ttlEntries .time {
        color: #f08300;
        font-size: 16px;
        font-weight: bold;
        display: inline-block;
        border-bottom: #f08300 solid 3px;
        padding: 0 0 10px;
    }

    .news .entries {
        margin: 0 20px;
        padding: 60px 0;
        border-top: #ddd solid 1px;
        border-bottom: #ddd solid 1px;
    }

    .news .entries strong {
        font-weight: bold;
    }

    .news .entries img {
        vertical-align: top;
        max-width: 100%;
        height: auto;
        width
        /***/
        : auto;
        margin: 15px 0;
    }

    .news .entries .video {
        position: relative;
        padding-bottom: 56.25%;
        height: 0;
    }

    .news .entries .video iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100% !important;
        height: 100% !important;
    }

    .news .entries a {
        color: #f08300;
    }

    .news .entries a:hover {
        color: #f5f3f1;
    }

    .news .entries a[href^="http"] {
        background: url(../images/linkico.png) no-repeat left center;
        padding-left: 20px;
        margin-left: 5px;
    }

    .news .entries a[href^="https://jcp-kw.jp/"] {
        background: none;
        padding-left: 0px;
        margin-left: 0px;
    }

    .news .entries h3 {
        background: linear-gradient(transparent 65%, #f5f3f1 50%);
        font-weight: bold;
        padding: 0 10px 0 0;
        display: inline-block;
        margin-bottom: 1rem;
    }

    .news .entries ul {
        list-style: none;
        margin: 20px auto;
        background: #f5f5f5;
        padding: 1em 0.5em 1em 1em;
    }

    .news .entries ul li {
        padding-left: 1.5em;
        text-indent: -1.5em;
    }

    .news .entries ul li:before {
        content: "・";
        color: #f08300;
        padding-right: .5em;
    }

    .news .entries ol {
        counter-reset: item;
        list-style-type: none;
        background: #f5f5f5;
        margin: 20px auto;
        padding: 1em 0.5em 1em 1em;
    }

    .news .entries ol li {
        text-indent: -1.5em;
        padding-left: 1.5em;
    }

    .news .entries ol li:before {
        counter-increment: item;
        content: counter(item)'.';
        padding-right: .5em;
        color: #f08300;
    }

    .news__list {
        padding: 30px 20px;
        position: relative;
    }

    .news__list::before {
        background: #f5f3f1;
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        right: 10px;
        bottom: -70px;
        z-index: -1;
    }

    .news__list__item {
        border-top: #ddd solid 1px;
    }

    .news__list__item:last-of-type {
        border-bottom: #ddd solid 1px;
    }

    .news__list__item a {
        background: #fff;
        padding: 30px 62px 30px 30px;
        display: block;
        color: #1a1a1a;
        font-weight: bold;
        position: relative;
    }

    .news__list__item a:after {
        background: url(../images/arw_gray.png) no-repeat center;
        background-size: 17px auto;
        -webkit-background-size: 17px auto;
        -moz-background-size: 17px auto;
        content: "";
        width: 17px;
        height: 20px;
        display: inline-block;
        position: absolute;
        right: 30px;
        top: 0;
        bottom: 0;
        margin: auto;
    }

    .news__list__item__date {
        display: block;
    }

    .pager {
        margin: 0 20px 90px;
    }

    .pager ul {
        display: -webkit-flex;
        display: flex;
        -webkit-justify-content: flex-end;
        justify-content: flex-end;
        text-align: center;
    }

    .pager ul li {
        margin: 0 1px;
    }

    .pager ul li span,
    .pager ul li a {
        display: block;
        padding: 5px 15px;
    }

    .pager ul li a {
        background: #eee;
        color: #1a1a1a;
    }

    .pager ul .active {
        background: #f08300;
        color: #fff;
    }

    .news .btnBack {
        margin: 30px auto 60px;
        width: 225px;
        height: 55px;
    }

    .news .btnBack a {
        background: #fff;
        color: #f08300;
        width: auto;
        line-height: 53px;
        border: #f08300 solid 1px;
        display: block;
        text-align: center;
        font-size: 16px;
        font-weight: bold;
    }

    .news .btnBack a:after {
        background: url(../images/arw.png) no-repeat center;
        background-size: 17px auto;
        -webkit-background-size: 17px auto;
        -moz-background-size: 17px auto;
        content: "";
        width: 17px;
        height: 55px;
        display: inline-block;
        margin: 0 0 0 15px;
        vertical-align: top;
    }

    /* ------------------------------------------------------------
    サービスページ部分
------------------------------------------------------------ */
    .service .ttlSub:before {
        background: url(../images/service/ttl_service.jpg) center;
        -webkit-background-size: cover;
        -moz-background-size: cover;
        background-size: cover;
    }

    .service .ttlSub h1 {
        color: #f08300;
        border-bottom: #f08300 solid 3px;
    }

    .service .ttlSub+p {
        margin: 0 20px 30px;
        font-weight: bold;
    }

    .service nav ul {
        font-size: 14px;
        margin: 0 20px 10px;
        display: -webkit-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .service nav ul li {
        width: 100%;
    }

    .service nav ul li:nth-of-type(n+1) {
        margin-top: 10px;
    }

    .service nav ul li a {
        color: #f08300;
        line-height: 46px;
        padding: 0 15px;
        border: #f08300 solid 1px;
        display: block;
        text-align: center;
        font-weight: bold;
    }

    .service nav ul li a:after {
        background: url(../images/arw.png) no-repeat center;
        background-size: 17px auto;
        -webkit-background-size: 17px auto;
        -moz-background-size: 17px auto;
        content: "";
        width: 17px;
        height: 46px;
        display: inline-block;
        margin: 0 0 0 15px;
        vertical-align: top;
    }

    .service .type {
        padding: 60px 20px 20px;
        counter-reset: number 0;
    }

    .service .type:nth-of-type(2n) {
        margin: 30px 0;
        padding: 0 20px 30px;
        position: relative;
    }

    .service .type:nth-of-type(2n)::before {
        background: #f5f3f1;
        content: "";
        position: absolute;
        top: 16px;
        left: 10px;
        right: 0;
        bottom: 0;
        z-index: -1;
    }

    .service .type hgroup {
        text-align: center;
        margin: 0 0 30px;
        line-height: 1.0;
        letter-spacing: 0.1em;
    }

    .service .type hgroup h2 {
        font-size: 30px;
        font-weight: bold;
        margin: 0 0 15px;
        line-height: 1.2;
    }

    .service .type hgroup small {
        color: #f08300;
        font-size: 16px;
        font-weight: bold;
        display: inline-block;
        border-bottom: #f08300 solid 3px;
        padding: 0 0 10px;
    }

    .service .type:nth-of-type(1) figure {
        margin: 0 0 0 -20px;
    }

    .service .type:nth-of-type(2) figure {
        width: 100%;
    }

    .service .type:nth-of-type(3) figure {
        margin: 0 0 0 -20px;
    }

    .service .type ul li .txtarea {
        padding: 20px 0 80px;
    }

    .service .type ul li .txtarea .list__txtarea__heading {
        margin: 0 0 20px;
        font-size: 20px;
        font-weight: bold;
        color: #f08300;
    }

    /* ------------------------------------------------------------
    会社概要ページ部分
------------------------------------------------------------ */
    .company .ttlSub:before {
        background: url(../images/about/ttl_about.jpg);
        background-repeat: no-repeat;
        background-position: 50% 80%;
        -webkit-background-size: cover;
        -moz-background-size: cover;
        background-size: cover;
    }

    .company .ttlSub h1 {
        color: #f08300;
        border-bottom: #f08300 solid 3px;
    }

    .company .ttlSub+p {
        margin: 0 20px 60px;
        font-weight: bold;
    }

    .company hgroup:not(.ttlSub) {
        text-align: center;
        margin: 30px 0 25px;
        line-height: 1.0;
        letter-spacing: 0.1em;
    }

    .company hgroup h2:not(.ttlSub) {
        font-size: 30px;
        font-weight: bold;
        margin: 0 0 15px;
    }

    .company hgroup small:not(.ttlSub) {
        color: #f08300;
        font-size: 16px;
        font-weight: bold;
        display: inline-block;
        border-bottom: #f08300 solid 3px;
        padding: 0 0 10px;
    }

    .company .table {
        margin: 0 20px 80px;
        border-bottom: #ddd solid 1px;
    }

    .company .table>dt {
        padding: 30px 0 15px;
        border-top: #ddd solid 1px;
        font-weight: bold;
    }

    .company .table>dd {
        padding: 0 0 30px;
    }

    .company .table>dd dt:not(:first-of-type) {
        margin: 30px 0 0;
    }

    .company .table>dd a {
        color: #1a1a1a;
    }

    .company .table>dd a[href^="http"] {
        background: url(../images/linkico.png) no-repeat right center;
        padding-right: 25px;
        text-decoration: underline;
    }

    .company .access {
        margin: 60px 0;
        padding: 0 20px 60px;
        position: relative;
    }

    .company .access::before {
        background: #f5f3f1;
        content: "";
        position: absolute;
        top: 16px;
        left: 10px;
        right: 0;
        bottom: 0;
        z-index: -1;
    }

    .company .access hgroup {
        text-align: center;
        margin: 30px 0 25px;
        line-height: 1.0;
        letter-spacing: 0.1em;
    }

    .company .access hgroup h2 {
        font-size: 30px;
        font-weight: bold;
        margin: 0 0 15px;
    }

    .company .access hgroup small {
        color: #f08300;
        font-size: 16px;
        font-weight: bold;
        display: inline-block;
        border-bottom: #f08300 solid 3px;
        padding: 0 0 10px;
    }

    .company .access .map {
        margin: 0 10px 0;
    }

    .company .access .map #map {
        background: #eee;
        height: 300px;
        margin: 0 auto;
    }

    .company .access .map dl {
        background: #f08300;
        margin: -40px -20px 0 40px;
        padding: 20px;
        display: inline-block;
        color: #fff;
        position: relative;
        z-index: 1;
    }

    .company .access .map dl dt {
        font-size: 18px;
        font-weight: bold;
    }

    .company .access .map dl dd {
        margin: 10px 0 0;
    }

    /* ------------------------------------------------------------
    採用情報部分
------------------------------------------------------------ */
    .recruit .ttlSub:before {
        background: url(../images/recruit/ttl_recruit.jpg) center;
        -webkit-background-size: cover;
        -moz-background-size: cover;
        background-size: cover;
    }

    .recruit .ttlSub h1 {
        color: #f08300;
        border-bottom: #f08300 solid 3px;
    }

    .recruit .ttlSub+p {
        margin: 0 20px 30px;
        font-weight: bold;
    }

    .recruit nav ul {
        font-size: 14px;
        margin: 0 20px 60px;
        display: -webkit-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .recruit nav ul li:not(:last-of-type) {
        margin-right: 15px;
    }

    .recruit nav ul li a {
        color: #f08300;
        line-height: 46px;
        padding: 0 15px;
        border: #f08300 solid 1px;
        display: block;
        text-align: center;
        font-weight: bold;
    }

    .recruit nav ul li a:after {
        background: url(../images/arw.png) no-repeat center;
        background-size: 17px auto;
        -webkit-background-size: 17px auto;
        -moz-background-size: 17px auto;
        content: "";
        width: 17px;
        height: 46px;
        display: inline-block;
        margin: 0 0 0 15px;
        vertical-align: top;
    }

    .recruit .job h2 {
        margin: 0 20px;
        padding: 0 0 30px 15px;
        font-size: 24px;
        line-height: 1.0;
        font-weight: bold;
        border-left: #f08300 solid 1px;
    }

    .recruit .description {
        padding: 30px 30px 30px 20px;
        position: relative;
    }

    .recruit .description::before {
        background: #f5f3f1;
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        right: 10px;
        bottom: 0;
        z-index: -1;
    }

    .recruit .description h3 {
        background: #f08300;
        color: #fff;
        padding: 0 30px;
        display: inline-block;
        font-size: 16px;
        line-height: 30px;
        position: absolute;
        top: -15px;
        left: 20px;
    }

    .recruit .description .list li {
        padding: 0 0 0 27px;
        position: relative;
    }

    .recruit .description .list li:before {
        content: "・";
        position: absolute;
        top: 0;
        left: 0;
    }

    .recruit .description .list li:not(:last-of-type) {
        margin: 0 0 10px;
    }

    .recruit .description p {
        margin: 15px auto 0;
    }

    .recruit .guideline {
        padding: 30px 0 0;
        position: relative;
    }

    .recruit .guideline h3 {
        background: #f08300;
        color: #fff;
        padding: 0 30px;
        display: inline-block;
        font-size: 16px;
        line-height: 30px;
        position: absolute;
        top: -15px;
        left: 20px;
    }

    .recruit .table {
        margin: 0 20px;
        border-bottom: #ddd solid 1px;
    }

    .recruit .table>dt {
        padding: 30px 0 15px;
        border-top: #ddd solid 1px;
        font-weight: bold;
    }

    .recruit .table>dd {
        padding: 0 0 30px;
    }

    .recruit .btnForm {
        margin: 30px auto 60px;
        width: 225px;
        height: 55px;
    }

    .recruit .btnForm a {
        background: #fff;
        color: #f08300;
        width: auto;
        line-height: 53px;
        border: #f08300 solid 1px;
        display: block;
        text-align: center;
        font-size: 16px;
        font-weight: bold;
    }

    .recruit .btnForm a:after {
        background: url(../images/arw.png) no-repeat center;
        background-size: 17px auto;
        -webkit-background-size: 17px auto;
        -moz-background-size: 17px auto;
        content: "";
        width: 17px;
        height: 55px;
        display: inline-block;
        margin: 0 0 0 15px;
        vertical-align: top;
    }

    .recruit__report {
        margin: 0 0 30px;
        padding: 30px 20px 60px;
        position: relative;
    }

    .recruit__report::before {
        background: #f5f3f1;
        content: "";
        position: absolute;
        top: 45px;
        left: 10px;
        right: 0;
        bottom: 0;
        z-index: -1;
    }

    .recruit__report hgroup {
        text-align: center;
        margin: 0 0 30px;
        line-height: 1.0;
        letter-spacing: 0.1em;
    }

    .recruit__report__label {
        display: block;
        font-family: 'Roboto', Arial, Helvetica, sans-serif;
        font-size: 30px;
        font-weight: bold;
        margin: 0 0 15px;
    }

    .recruit__report__heading {
        display: inline-block;
        color: #f08300;
        font-size: 16px;
        font-weight: bold;
        border-bottom: #f08300 solid 3px;
        padding: 0 0 10px;
    }

    .recruit__report__list li {
        display: -webkit-flex;
        display: flex;
        -webkit-align-items: center;
        align-items: center;
        margin: 0 auto;
    }

    .recruit__report__list li+li {
        margin-top: 30px;
    }

    .recruit__report__list__image {
        width: 20vw;
        height: 20vw;
        border-radius: 50%;
        overflow: hidden;
    }

    .recruit__report__list__image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .recruit__report__list__col {
        width: -webkit-calc(100% - 20vw);
        width: calc(100% - 20vw);
        padding: 0 0 0 25px;
        box-sizing: border-box;
    }

    .recruit__report__list li:nth-of-type(2n) .recruit__report__list__col {
        -webkit-order: -1;
        order: -1;
        padding: 0 25px 0 0;
    }

    .recruit__report__list__label {
        display: inline-block;
        margin: 0 5px 0 0;
        font-family: 'Roboto', Arial, Helvetica, sans-serif;
        font-size: 30px;
        font-weight: bold;
        color: #f08300;
    }

    .recruit__report__list__name {
        display: inline-block;
        margin: 0 0 10px;
        font-size: 20px;
    }

    .recruit__report__list__col p {
        background: #fff;
        padding: 15px;
        border-radius: 10px;
        position: relative;
    }

    .recruit__report__list__col p::after {
        content: "";
        background: #fff;
        width: 16px;
        height: 16px;
        margin: auto;
        position: absolute;
        top: 0;
        bottom: 0;
    }

    .recruit__report__list li:nth-of-type(2n+1) .recruit__report__list__col p::after {
        clip-path: polygon(0 0, 100% 0, 100% 100%);
        left: -15px;
    }

    .recruit__report__list li:nth-of-type(2n) .recruit__report__list__col p::after {
        right: -15px;
        clip-path: polygon(0 0, 100% 0, 0 100%);
    }

    /* ------------------------------------------------------------
    お問い合わせ部分
------------------------------------------------------------ */
    .contact .ttlSub:before {
        background: url(../images/contact/ttl_contact.jpg) center;
        -webkit-background-size: cover;
        -moz-background-size: cover;
        background-size: cover;
    }

    .contact .ttlSub h1 {
        color: #f08300;
        border-bottom: #f08300 solid 3px;
    }

    .contact .ttlSub+p {
        margin: 0 20px 30px;
        font-weight: bold;
    }

    .contact .btnBack {
        margin: 30px auto 60px;
        width: 225px;
        height: 55px;
    }

    .contact .btnBack a {
        background: #fff;
        color: #f08300;
        width: auto;
        line-height: 53px;
        border: #f08300 solid 1px;
        display: block;
        text-align: center;
        font-size: 16px;
        font-weight: bold;
    }

    .contact .btnBack a:after {
        background: url(../images/arw.png) no-repeat center;
        background-size: 17px auto;
        -webkit-background-size: 17px auto;
        -moz-background-size: 17px auto;
        content: "";
        width: 17px;
        height: 55px;
        display: inline-block;
        margin: 0 0 0 15px;
        vertical-align: top;
    }

    .contact .telArea {
        padding: 30px;
        margin: 0 20px 30px;
        border: #f5f3f1 solid 5px;
    }

    .contact .telArea dt {
        font-size: 18px;
        font-weight: bold;
        margin: 0 0 15px;
    }

    .contact .telArea dd.telno {
        font-size: 36px;
        margin: 30px 0 0;
    }

    .contact .telArea dd.telno a {
        color: #1a1a1a;
        font-weight: bold;
    }

    form dl {
        margin: 0 20px;
        border-bottom: #ddd solid 1px;
    }

    form dl dt {
        padding: 30px 0 15px;
        font-weight: bold;
        border-top: #ddd solid 1px;
    }

    form dl dt.must:after {
        background: #f08300;
        content: "必須";
        margin: 0 0 0 10px;
        display: inline-block;
        padding: 0 15px;
        color: #fff;
        font-size: 12px;
    }

    form dl dd {
        padding: 0 0 30px;
    }

    form dl dd .caution {
        color: #f00;
        font-weight: bold;
        margin: 0 0 10px;
    }

    form dl dd ul li {
        display: inline-block;
        margin: 0 10px 0 0;
    }

    form dl dd input[type="text"] {
        width: 100%;
        height: 50px;
        line-height: 1.5;
        border: #ddd solid 1px;
        font-size: 16px;
        padding: 0 0 0 10px;
        box-sizing: border-box;
    }

    form dl dd textarea {
        width: 100%;
        height: 250px;
        border: #ddd solid 1px;
        font-size: 16px;
        padding: 10px;
        box-sizing: border-box;
    }

    form ul.btnSubmit {
        margin: 30px 0 0;
        padding: 0 20px 60px;
        display: flex;
        flex-flow: column-reverse;
        justify-content: space-between;
    }

    form ul.btnSubmit li:not(:first-of-type) {
        margin-bottom: 20px;
    }

    form ul.btnSubmit li input[type="submit"] {
        width: 100%;
        text-align: center;
        cursor: pointer;
        font-size: 16px;
        font-weight: bold;
        line-height: 53px;
        display: inline-block;
        border: #f08300 solid 1px;
        letter-spacing: 0.1em;
    }

    form ul.btnSubmit li .submit {
        background: #f08300;
        color: #fff;
    }

    form ul.btnSubmit li .send {
        background: #f08300;
        color: #fff;
    }

    form ul.btnSubmit li .back {
        background: #fff;
        color: #f08300;
    }

    /* ------------------------------------------------------------
    よくある質問部分
------------------------------------------------------------ */
    .faq .ttlSub:before {
        background: url(../images/faq/ttl_faq.jpg) bottom;
        -webkit-background-size: cover;
        -moz-background-size: cover;
        background-size: cover;
    }

    .faq .ttlSub h1 {
        color: #f08300;
        border-bottom: #f08300 solid 3px;
    }

    .faq .ttlSub+p {
        margin: 0 20px 30px;
        font-weight: bold;
    }

    .faq__list {
        margin: 0 20px 80px;
    }

    .faq__list li+li {
        margin-top: 20px;
        padding-top: 20px;
        border-top: #ddd solid 1px;
    }

    .faq__list__heading {
        display: -webkit-flex;
        display: flex;
        margin: 0 0 10px;
    }

    .faq__list__heading::before {
        background: #f08300;
        content: "Q";
        width: 40px;
        height: 40px;
        margin: 0 10px 0 0;
        display: inline-block;
        border-radius: 50%;
        font-family: 'Roboto', sans-serif;
        color: #fff;
        font-size: 30px;
        font-weight: bold;
        line-height: 40px;
        text-align: center;
    }

    .faq__list__heading span {
        width: -webkit-calc(100% - 40px - 10px);
        width: calc(100% - 40px - 10px);
        font-size: 20px;
        font-weight: bold;
    }

    .faq__list__ans {
        display: -webkit-flex;
        display: flex;
    }

    .faq__list__ans::before {
        background: #f00;
        content: "A";
        width: 40px;
        height: 40px;
        margin: 0 10px 0 0;
        display: inline-block;
        border-radius: 50%;
        font-family: 'Roboto', sans-serif;
        color: #fff;
        font-size: 30px;
        font-weight: bold;
        line-height: 40px;
        text-align: center;
    }

    .faq__list__ans span {
        width: -webkit-calc(100% - 40px - 10px);
        width: calc(100% - 40px - 10px);
    }

    .loopSlider {
        height: 55vw;
        margin: 40px 0 80px;
        overflow: hidden;
        position: relative;
    }

    .loopSlider .loopslider__wrap {
        height: 55vw;
        position: absolute;
        top: 0;
        left: 0;
        display: -webkit-flex;
        display: flex;
    }

    .loopSlider .loopslider__wrap .loopslider__wrap__slides {
        display: -webkit-flex;
        display: flex;
    }

    .loopSlider .loopslider__wrap .loopslider__wrap__slides li {
        width: 83vw;
        height: 55vw;
    }

    .loopSlider .loopslider__wrap .loopslider__wrap__slides li img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
}