@charset "utf-8";

* {
    margin: 0;
    padding: 0;
    list-style: none;
    font-weight: normal;
    font-style: normal;
}

img {
    vertical-align: top;
    max-width: 100%;
}

a {
    text-decoration: none;
}

a img {
    border: none;
}

a:hover img {
    opacity: 0.8;
}

.material-icons {
    font-family: 'Material Icons';
    font-weight: normal;
    font-style: normal;
    font-size: 24px;
    display: inline-flex;
    vertical-align: -5px;
    line-height: 1;
    text-transform: none;
    letter-spacing: normal;
    word-wrap: normal;
    white-space: nowrap;
    direction: ltr;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    -moz-osx-font-smoothing: grayscale;
    font-feature-settings: 'liga';
}

.material-icons.md-dark {
    color: rgba(0, 0, 0, 0.66);
}

body {
    font-family: -apple-system, BlinkMacSystemFont, 'Noto Sans JP', 'Roboto', "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, Meiryo, sans-serif;
    font-size: 16px;
    color: #1a1a1a;
}

@media screen and (min-width:980px) {
    body {
        padding: 120px 0 0;
    }

    .br-pc {
        display: none;
    }

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

    header .inner {
        height: 120px;
        padding: 0 60px;
        position: relative;
        display: -webkit-flex;
        display: flex;
        -webkit-align-items: center;
        align-items: center;
    }

    header .logo {
        line-height: 1.0;
    }

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

    header .menu {
        display: none;
    }

    header #gnav {
        height: 60px;
        position: absolute;
        top: 0;
        bottom: 0;
        left: -webkit-calc(30% - 60px);
        left: calc(30% - 60px);
        margin: auto;
    }

    header #gnav ul {
        display: -webkit-flex;
        display: flex;
    }

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

    header #gnav ul li a {
        font-size: 15px;
        line-height: 60px;
        display: inline-block;
        font-weight: bold;
        color: #000;
        letter-spacing: 0.1em;
        position: relative;
    }

    header #gnav ul li a:hover:after {
        content: "";
        width: 100%;
        height: 3px;
        display: block;
        background: #f08300;
        position: absolute;
        bottom: -10px;
    }

    header .sns {
        height: 15px;
        position: absolute;
        top: 0;
        right: 60px;
        bottom: 0;
        margin: auto;
    }

    header .sns ul {
        display: -webkit-flex;
        display: flex;
    }

    header .sns ul li:not(:last-of-type) {
        margin-right: 10px;
    }

    header .sns ul li a {
        width: 15px;
        height: 15px;
        display: block;
    }

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

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

    .bottomOrder ul li {
        display: inline-block;
        width: 35%;
    }

    .bottomOrder ul li a {
        width: auto;
        line-height: 100px;
        display: block;
        border: #fff solid 3px;
        font-size: 24px;
        letter-spacing: 0.1em;
        font-weight: bold;
        color: #fff;
        transition: all 0.5s ease;
    }

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

    .bottomOrder ul li a:hover {
        color: #f08300;
        background: #fff;
    }

    .bottomOrder ul li a:hover:after {
        background: url(../images/arw.png) no-repeat center;
        background-size: 24px auto;
        -webkit-background-size: 24px auto;
        -moz-background-size: 24px auto;
    }

    footer {
        padding: 60px;
        display: -webkit-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
        position: relative;
        border-top: #ddd solid 1px;
    }

    #page_top {
        width: 50px;
        height: 50px;
        position: fixed;
        right: 0;
        bottom: 0;
        background: #333;
        opacity: 0.6;
    }

    #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: -5px;
        bottom: 0;
        right: 0;
        left: 0;
        margin: auto;
        text-align: center;
    }

    footer address {
        width: 50%;
    }

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

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

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

    footer address dl dd {
        margin: 20px 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 {
        width: 25%;
        margin-left: 25%;
    }

    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 30px;
        position: relative;
    }

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

    footer nav ul:not(.sns) li a:hover {
        color: #f08300;
    }

    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: 20px 0 0;
    }

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

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

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

    article {
        line-height: 1.8;
    }

    /* ------------------------------------------------------------
    トップページ部分
------------------------------------------------------------ */
    .topImage {
        margin: 0 0 60px;
        padding: 0 0 130px;
        position: relative;
    }

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

    .topImage figure {
        width: 80%;
        height: 75vh;
        margin-left: -webkit-calc(20% - 60px);
        margin-left: calc(20% - 60px);
        overflow: hidden;
        position: relative;
    }

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

    .topImage .catchphrase {
        position: absolute;
        bottom: 190px;
        left: 120px;
        z-index: 1;
    }

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

    .topImage .catchphrase small {
        font-size: 30px;
        font-weight: bold;
        line-height: 1.7;
        letter-spacing: 0.1em;
        text-shadow: 1px 1px 0 #fff;
    }

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

    .ttlTop h2 {
        font-family: 'Roboto', Arial, Helvetica, sans-serif;
        font-size: 60px;
        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 0 0;
        width: 270px;
        height: 60px;
    }

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

    .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: 60px;
        display: inline-block;
        margin: 0 0 0 15px;
        vertical-align: top;
    }

    .btnMore a:hover {
        background: #f08300;
        color: #fff;
    }

    .btnMore a:hover:after {
        background: url(../images/arw_white.png) no-repeat center;
        background-size: 17px auto;
        -webkit-background-size: 17px auto;
        -moz-background-size: 17px auto;
    }

    .btnMore02 {
        width: 270px;
        height: 60px;
        position: absolute;
        bottom: 60px;
    }

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

    .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: 60px;
        display: inline-block;
        margin: 0 0 0 15px;
        vertical-align: top;
    }

    .btnMore02 a:hover {
        background: #fff;
        color: #f08300;
    }

    .btnMore02 a:hover:after {
        background: url(../images/arw.png) no-repeat center;
        background-size: 17px auto;
        -webkit-background-size: 17px auto;
        -moz-background-size: 17px auto;
    }

    .messageTop {
        margin: 120px 0;
        display: -webkit-flex;
        display: flex;
        -webkit-align-items: center;
        align-items: center;
        position: relative;
        z-index: 0;
    }

    .messageTop::before {
        background: #f5f3f1;
        content: "";
        width: 100%;
        height: 45vh;
        position: absolute;
        top: -120px;
        left: 0;
        z-index: -1;
    }

    .messageTop__txtarea {
        width: 50%;
        padding: 0 120px;
        box-sizing: border-box;
        font-weight: bold;
        line-height: 2.25;
    }

    .messageTop__txtarea__txt {
        font-weight: bold;
    }

    .messageTop__image {
        width: 50%;
    }

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

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

    .serviceTop__txt {
        width: 50%;
    }

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

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

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

    .serviceTop__list__item figure {
        width: 60%;
    }

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

    .serviceTop__list__item:nth-of-type(2n+1) figure {
        -webkit-order: 3;
        order: 3;
    }

    .serviceTop__list__item__txtarea {
        width: 40%;
        box-sizing: border-box;
    }

    .serviceTop__list__item:nth-of-type(2n+1) .serviceTop__list__item__txtarea {
        padding: 60px 60px 60px 0;
    }

    .serviceTop__list__item:nth-of-type(2n) .serviceTop__list__item__txtarea {
        padding: 60px 0 60px 60px;
    }

    .serviceTop__list__item__txtarea__heading {
        margin: 0 0 30px;
        font-size: 36px;
        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: 72px;
        font-weight: bold;
        margin: 0 16px 0 0;
        color: #f08300;
    }

    .serviceTop__list__item__txtarea .btnMore02 {
        margin: 30px 0 0 0;
        width: 270px;
        height: 60px;
        position: unset;
    }

    .serviceTop__list__item__txtarea .btnMore02 a {
        background: #f08300;
        color: #fff;
        width: auto;
        line-height: 60px;
        border: #f08300 solid 1px;
        display: block;
        text-align: center;
        font-size: 16px;
        font-weight: bold;
        transition: all 0.5s ease;
        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: 60px;
        display: inline-block;
        margin: 0 0 0 15px;
        vertical-align: top;
    }

    .serviceTop__list__item__txtarea .btnMore02 a:hover {
        background: #fff;
        color: #f08300;
    }

    .serviceTop__list__item__txtarea .btnMore02 a:hover:after {
        background: url(../images/arw.png) no-repeat center;
        background-size: 17px auto;
        -webkit-background-size: 17px auto;
        -moz-background-size: 17px auto;
    }

    .contents {
        margin: 120px 0;
    }

    .contents ul {
        margin: 0;
        display: -webkit-flex;
        display: flex;
    }

    .contents__list__item {
        width: 50%;
        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:hover::after {
        -moz-transform: scale(1.2);
        -webkit-transform: scale(1.2);
        transform: scale(1.2);
    }

    .contents__list__item a {
        background: rgba(0, 0, 0, 0.33);
        height: 100%;
        padding: 120px;
        display: block;
        color: #fff;
        text-align: center;
        box-sizing: border-box;
        text-shadow: 0 0 5px #000;
    }

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

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

    .newsTop__list {
        margin: 0 120px 60px;
        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;
        transition: all 0.5s ease;
        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;
    }

    .newsTop__list__item a:hover {
        color: #f08300;
    }

    .newsTop__list__item a:hover::after {
        background: url(../images/arw.png) no-repeat center;
        background-size: 17px auto;
        -webkit-background-size: 17px auto;
        -moz-background-size: 17px auto;
    }

    .newsTop__list__item__date {
        width: 100px;
        display: inline-block;
    }

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

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

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

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

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

    .ttlSub h1 {
        font-size: 18px;
        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 {
        max-width: 1024px;
        margin: 0 auto 45px;
        font-weight: bold;
        text-align: center;
        letter-spacing: 0.1em;
    }

    .news .ttlEntries h2 {
        font-size: 32px;
        margin: 60px 0 15px;
        line-height: 1.8;
    }

    .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 {
        max-width: 1024px;
        margin: 0 auto;
        padding: 60px 0;
        border-top: #ddd solid 1px;
        border-bottom: #ddd solid 1px;
        line-height: 2.0;
    }

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

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

    .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 2em;
    }

    .news .entries ul ul {
        padding-left: 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 2em;
    }

    .news .entries ol ol {
        padding-left: 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 {
        margin: 60px auto 0;
        padding: 60px 0;
        position: relative;
    }

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

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

    .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;
        transition: all 0.5s ease;
        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;
    }

    .news__list__item a:hover {
        color: #f08300;
    }

    .news__list__item a:hover::after {
        background: url(../images/arw.png) no-repeat center;
        background-size: 17px auto;
        -webkit-background-size: 17px auto;
        -moz-background-size: 17px auto;
    }

    .news__list__item__date {
        width: 100px;
        display: inline-block;
    }

    .pager {
        margin: 0 240px 180px;
    }

    .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 li a:hover,
    .pager ul .active {
        background: #f08300;
        color: #fff;
    }

    .news .btnBack {
        width: 270px;
        height: 60px;
        margin: 60px auto 150px;
    }

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

    .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: 58px;
        display: inline-block;
        margin: 0 0 0 15px;
        vertical-align: top;
    }

    .news .btnBack a:hover {
        color: #fff;
        background: #f08300;
    }

    .news .btnBack a:hover:after {
        background: url(../images/arw_white.png) no-repeat center;
        background-size: 17px auto;
        -webkit-background-size: 17px auto;
        -moz-background-size: 17px auto;
    }

    /* ------------------------------------------------------------
    サービスページ部分
------------------------------------------------------------ */
    .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 {
        max-width: 1024px;
        margin: 80px auto 60px;
        line-height: 2.25;
        font-weight: bold;
    }

    .service nav ul {
        margin: 0 0 60px;
        display: -webkit-flex;
        display: flex;
        -webkit-justify-content: center;
        justify-content: center;
    }

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

    .service nav ul li a {
        color: #f08300;
        line-height: 58px;
        padding: 0 60px;
        border: #f08300 solid 1px;
        display: block;
        text-align: center;
        font-size: 14px;
        font-weight: bold;
        transition: all 0.5s ease;
    }

    .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: 58px;
        display: inline-block;
        margin: 0 0 0 15px;
        vertical-align: top;
    }

    .service nav ul li a:hover {
        color: #fff;
        background: #f08300;
    }

    .service nav ul li a:hover:after {
        background: url(../images/arw_white.png) no-repeat center;
        background-size: 17px auto;
        -webkit-background-size: 17px auto;
        -moz-background-size: 17px auto;
    }

    .service .type:nth-of-type(1) {
        padding: 0 0 120px;
    }
    .service .type:nth-of-type(2) {
        padding: 120px 0;
    }
    .service .type:nth-of-type(3) {
        padding: 120px 0;
    }

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

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

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

    .service .type hgroup h2 {
        font-family: 'Roboto', Arial, Helvetica, sans-serif;
        font-size: 48px;
        font-weight: bold;
        margin: 0 0 15px;
    }

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

    .service .type ul li {
        display: -webkit-flex;
        display: flex;
        -webkit-align-items: center;
        align-items: center;
    }

    .service .type ul li:nth-of-type(3n+1) figure {
        width: 50%;
    }

    .service .type ul li:nth-of-type(3n+2) figure {
        width: 30%;
    }

    .service .type ul li:nth-of-type(3n) figure {
        width: 40%;
        margin: 0 0 0 10%;
    }

    .service .type ul li .txtarea {
        width: 50%;
        padding: 60px;
        margin: 0 10% 0 0;
        box-sizing: border-box;
        line-height: 2.0;
    }

    .service .type:nth-of-type(2n) .txtarea {
        -webkit-order: -1;
        order: -1;
        margin: 0 0 0 10%;
        line-height: 2.0;
    }

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

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

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

    .company .ttlSub+p {
        max-width: 1024px;
        margin: 80px auto 60px;
        line-height: 2.25;
        font-weight: bold;
    }

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

    .company hgroup h2:not(.ttlSub) {
        font-family: 'Roboto', Arial, Helvetica, sans-serif;
        font-size: 48px;
        font-weight: bold;
        margin: 60px 0 15px;
    }

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

    .company .table {
        max-width: 1024px;
        margin: 0 auto 60px;
        display: -webkit-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
        border-bottom: #ddd solid 1px;
        line-height: 2.0;
    }

    .company .table>dt {
        width: 30%;
        padding: 30px 0;
        border-top: #ddd solid 1px;
        text-indent: 30px;
    }

    .company .table>dd {
        width: 70%;
        padding: 30px 0;
        border-top: #ddd solid 1px;
    }
    .company .table>dd a {
        color: #1a1a1a;
    }
    .company .table>dd a:hover {
        color: #F08300;
    }
    .company .table>dd a[href^="http"] {
        background: url(../images/linkico.png) no-repeat right center;
        padding-right: 25px;
        text-decoration: underline;
    }
    .company .table>dd dt:not(:first-of-type) {
        margin: 30px 0 0;
    }

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

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

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

    .company .access hgroup h2 {
        font-family: 'Roboto', Arial, Helvetica, sans-serif;
        font-size: 48px;
        font-weight: bold;
        margin: 60px 0 15px;
    }

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

    .company .access .map {
        text-align: right;
    }

    .company .access .map #map {
        background: #eee;
        max-width: 1024px;
        height: 540px;
        margin: 0 auto;
    }

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

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

    .company .access .map dl dd {
        margin: 20px 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 {
        max-width: 1024px;
        margin: 80px auto 60px;
        line-height: 2.25;
        font-weight: bold;
    }

    .recruit nav ul {
        margin: 0 0 120px;
        display: -webkit-flex;
        display: flex;
        -webkit-justify-content: center;
        justify-content: center;
    }

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

    .recruit nav ul li a {
        color: #f08300;
        line-height: 58px;
        padding: 0 60px;
        border: #f08300 solid 1px;
        display: block;
        text-align: center;
        font-size: 14px;
        font-weight: bold;
        transition: all 0.5s ease;
    }

    .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: 58px;
        display: inline-block;
        margin: 0 0 0 15px;
        vertical-align: top;
    }

    .recruit nav ul li a:hover {
        color: #fff;
        background: #f08300;
    }

    .recruit nav ul li a:hover:after {
        background: url(../images/arw_white.png) no-repeat center;
        background-size: 17px auto;
        -webkit-background-size: 17px auto;
        -moz-background-size: 17px auto;
    }

    .recruit .job {
        position: relative;
    }

    .recruit .job h2 {
        padding: 0 60px 10px 0;
        font-size: 36px;
        line-height: 1.0;
        font-weight: bold;
        border-bottom: #f08300 solid 1px;
        position: absolute;
        top: 60px;
        right: 60%;
    }

    .recruit .job figure {
        width: 60%;
        overflow: hidden;
        margin: 0 0 60px 40%;
    }

    .recruit .description {
        margin: 0 auto;
        padding: 50px 0;
        line-height: 2.0;
        position: relative;
    }

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

    .recruit .description h3 {
        background: #f08300;
        color: #fff;
        padding: 0 60px;
        display: inline-block;
        font-size: 18px;
        line-height: 50px;
        position: absolute;
        top: -25px;
        left: 10vw;
    }

    .recruit .description .list {
        max-width: 1024px;
        margin: 0 auto;
    }

    .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 {
        max-width: 1024px;
        margin: 30px auto 0;
        font-size: 14px;
    }

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

    .recruit .guideline h3 {
        background: #f08300;
        color: #fff;
        padding: 0 60px;
        display: inline-block;
        font-size: 18px;
        line-height: 50px;
        position: absolute;
        top: -25px;
        left: 10vw;
    }

    .recruit .table {
        max-width: 1024px;
        margin: 0 auto;
        display: -webkit-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
        border-bottom: #ddd solid 1px;
        line-height: 2.0;
    }

    .recruit .table>dt {
        width: 30%;
        padding: 30px 0;
        border-top: #ddd solid 1px;
        text-indent: 30px;
    }

    .recruit .table>dd {
        width: 70%;
        padding: 30px 0;
        border-top: #ddd solid 1px;
    }

    .recruit .btnForm {
        width: 270px;
        height: 60px;
        margin: 60px auto 150px;
    }

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

    .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: 58px;
        display: inline-block;
        margin: 0 0 0 15px;
        vertical-align: top;
    }

    .recruit .btnForm a:hover {
        color: #fff;
        background: #f08300;
    }

    .recruit .btnForm a:hover:after {
        background: url(../images/arw_white.png) no-repeat center;
        background-size: 17px auto;
        -webkit-background-size: 17px auto;
        -moz-background-size: 17px auto;
    }

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

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

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

    .recruit__report__label {
		display: block;
        font-family: 'Roboto', Arial, Helvetica, sans-serif;
        font-size: 48px;
        font-weight: bold;
        margin: 0 0 15px;
    }
	
	.recruit__report__heading {
        color: #f08300;
        font-size: 14px;
        font-weight: bold;
        display: inline-block;
        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: 60px;
	}
	
	.recruit__report__list__image {
		width: 30vw;
		height: 30vw;
		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% - 30vw);
		width: calc(100% - 30vw);
		padding: 60px;
		box-sizing: border-box;
	}
	
	.recruit__report__list li:nth-of-type(2n) .recruit__report__list__col {
		-webkit-order: -1;
		order: -1;
	}

	.recruit__report__list__label {
		display: inline-block;
		margin: 0 10px 0 0;
		font-family: 'Roboto', Arial, Helvetica, sans-serif;
		font-size: 40px;
		font-weight: bold;
		color: #f08300;
	}
	
	.recruit__report__list__name {
		display: inline-block;
		margin: 0 0 30px;
		font-size: 24px;
	}
	
	.recruit__report__list__col p {
		background: #fff;
		padding: 30px;
		border-radius: 10px;
		position: relative;
	}
	.recruit__report__list__col p::after {
		content: "";
		background: #fff;
		width: 31px;
		height: 31px;
		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: -30px;
	}
	
	.recruit__report__list li:nth-of-type(2n) .recruit__report__list__col p::after {
		right: -30px;
		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 {
        max-width: 1024px;
        margin: 80px auto 60px;
        line-height: 2.25;
        font-weight: bold;
    }

    .contact .btnBack {
        width: 270px;
        height: 60px;
        margin: 60px auto 150px;
    }

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

    .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: 58px;
        display: inline-block;
        margin: 0 0 0 15px;
        vertical-align: top;
    }

    .contact .btnBack a:hover {
        color: #fff;
        background: #f08300;
    }

    .contact .btnBack a:hover:after {
        background: url(../images/arw_white.png) no-repeat center;
        background-size: 17px auto;
        -webkit-background-size: 17px auto;
        -moz-background-size: 17px auto;
    }

    .contact .telArea {
        max-width: 1028px;
        padding: 30px;
        margin: 0 auto 80px;
        border: #f5f3f1 solid 5px;
        box-sizing: border-box;
        position: relative;
    }

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

    .contact .telArea:after {
        background: #f08300;
        content: "";
        width: 3px;
        height: auto;
        display: block;
        position: absolute;
        top: 30px;
        right: 0;
        bottom: 30px;
        left: 0;
        margin: auto;
    }

    .contact .telArea dd.telno {
        font-family: 'Roboto', Arial, Helvetica, sans-serif;
        font-size: 60px;
        height: 60px;
        line-height: 60px;
        position: absolute;
        top: 0;
        bottom: 0;
        left: -webkit-calc(50% + 30px);
        left: calc(50% + 30px);
        margin: auto;
    }

    .contact .telArea dd.telno span {
        font-weight: bold;
    }

    form dl {
        max-width: 1028px;
        display: -webkit-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
        margin: 0 auto;
        border-bottom: #ddd solid 1px;
    }

    form dl dt {
        width: 30%;
        padding: 30px 0;
        font-weight: bold;
        box-sizing: border-box;
        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 {
        width: 70%;
        padding: 30px 0;
        box-sizing: border-box;
        border-top: #ddd solid 1px;
    }

    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: 40px;
        border: #ddd solid 1px;
        font-size: 14px;
        padding: 0 0 0 10px;
        box-sizing: border-box;
    }

    form dl dd select,
    form dl dd input[type="date"] {
        height: 40px;
        border: #ddd solid 1px;
        font-size: 14px;
        padding: 0 0 0 10px;
        box-sizing: border-box;
    }

    form dl dd input[type="date"] {
        margin: 0 10px 0 0;
    }

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

    form ul.btnSubmit {
        margin: 60px 0 0;
        padding: 0 0 150px;
        text-align: center;
    }

    form ul.btnSubmit li {
        display: inline-block;
        width: 270px;
        height: 60px;
        margin: 0 10px;
    }

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

    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;
    }

    form ul.btnSubmit li input[type="submit"]:hover {
        opacity: 0.7;
    }

    /* ------------------------------------------------------------
    よくある質問部分
------------------------------------------------------------ */
    .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 {
        max-width: 1024px;
        margin: 80px auto 60px;
        line-height: 2.25;
        font-weight: bold;
    }

    .faq__list {
        max-width: 1024px;
        margin: 0 auto 150px;
    }

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

    .faq__list__heading {
        display: -webkit-flex;
        display: flex;
        -webkit-align-items: center;
        align-items: center;
        margin: 0 0 15px;
    }

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

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

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

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

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

    .loopSlider {
        height: 400px;
        margin: 60px 0 120px;
        overflow: hidden;
        position: relative;
    }
    .loopSlider .loopslider__wrap {
        height: 400px;
        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 {
        height: 400px;
        width: 600px;
    }
    .loopSlider .loopslider__wrap .loopslider__wrap__slides li img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    } 
}