@charset "utf-8";
/*
Theme Name: RareJob
Theme URI:
Description: RareJob
Version: 1.0
Author: monokus.jp

*/

/* 各下層ページ 個別
---------------------------------------------*/

/* 記事 ========== */

    .table-wrap-stock-information th {
        width:      260px;
    }

    .sitemap nav {
        float:      left;
        width:      400px;
    }
        .sitemap nav+nav {
            margin-left:        140px;
        }
        /*  */
        .sitemap nav > ul > li {
            margin:     0 0 80px;
        }
        .sitemap nav > ul > li > .subtitle,
        .sitemap nav > ul > li > a {
            display:    block;
            padding:    0 0 24px;
            margin:     0 0 30px;
            border-bottom:  1px solid #D4E0C3;

            font-size:      24px;
            line-height:    1.5em;

            position:       relative;
        }
            .sitemap nav > ul > li > a {
                padding-left:       35px;
            }
            .sitemap nav > ul > li > a:before {
                position:   absolute;
                left:       0;
                top:        16px;
                margin:     -10px 0 0;
                width:      25px;
                height:     25px;
                background:     #8DC21F;
                border-radius:  50%;

                content:        'keyboard_arrow_right';
                font-size:      16px;
                line-height:    27px;
                font-weight:    normal;
                color:          #fff;
                font-family:    "Material Icons";
                text-align:     center;
            }
            .sitemap nav > ul > li.open-window > a:after {
                display:    inline-block;
                width:      25px;
                height:     25px;
                margin:     0 0 0 2px;

                content:        'filter_none';
                font-size:      14px;
                line-height:    27px;
                font-weight:    normal;
                color:          #222;
                font-family:    "Material Icons";
                text-align:     center;
            }
                .sitemap .sub > ul {
                }
                .sitemap .sub > ul > li {
                    margin:     0 0 20px;
                }
                .sitemap .sub > ul > li > a {
                    display:    block;
                    padding:    0 0 0 26px;

                    font-size:      16px;
                    line-height:    1.5em;

                    position:       relative;
                }
                .sitemap .sub > ul > li > a:before {
                    position:   absolute;
                    left:       0;
                    top:        12px;
                    margin:     -6px 0 0;
                    width:      16px;
                    height:     16px;
                    background:     #8DC21F;
                    border-radius:  50%;

                    content:        'keyboard_arrow_right';
                    font-size:      14px;
                    line-height:    16px;
                    font-weight:    normal;
                    color:          #fff;
                    font-family:    "Material Icons";
                    text-align:     center;
                }
                .sitemap .sub > ul > li > a.open-window:after {
                    display:    inline-block;
                    width:      14px;
                    height:     25px;
                    margin:     0;

                    content:        'filter_none';
                    font-size:      14px;
                    line-height:    27px;
                    font-weight:    normal;
                    color:          #222;
                    font-family:    "Material Icons";
                    text-align:     center;
                }
                .sitemap .sub > ul > li > .subtitle2 {
                    padding:    22px 0 0;

                    font-size:      18px;
                    line-height:    1.5em;
                }
                    .sitemap .sub > ul > li ul {
                        padding:    14px 0 0 20px;
                        margin:     -12px 0 0;
                        font-size:  16px;
                        line-height:    1.5em;
                    }
                    .sitemap .sub > ul > li ul > li  {
                        padding:    12px 0 0;
                    }
                    .sitemap .sub > ul > li ul > li > a {
                        display:    block;
                        padding:    0 0 0 20px;

                        line-height:    1.5em;

                        position:       relative;
                    }
                    .sitemap .sub > ul > li ul > li > a:before {
                        position:   absolute;
                        left:       0;
                        top:        12px;
                        margin:     -6px 0 0;

                        content:        'keyboard_arrow_right';
                        font-size:      14px;
                        line-height:    16px;
                        font-weight:    normal;
                        color:          #8DC21F;
                        font-family:    "Material Icons";
                        text-align:     left;
                    }
                    .sitemap .sub > ul > li ul > li > a.open-window:after {
                        display:    inline-block;
                        width:      16px;
                        height:     16px;
                        margin:     0 0 0 1px;

                        content:        'filter_none';
                        font-size:      14px;
                        line-height:    18px;
                        font-weight:    normal;
                        color:          #222;
                        font-family:    "Material Icons";
                        text-align:     center;
                    }
/* お問い合わせ ========== */
.contact-sections {
    display:    flex;
    margin:     0 -100px;
    position:   relative;
}
    .contact-sections:before {
        position:       absolute;
        left:       50%;
        top:        0;
        bottom:     0;

        display:    block;
        width:      1px;
        height:     auto;
        overflow:   hidden;
        content:    '';

        border-left:        1px solid #D4E0C3;
    }
    .contact-sections section {
        width:      50%;
        text-align:     center;
        position:       relative;
    }
    .contact-sections section h3 {
        margin:     0 0 45px !important;
        padding:    0 !important;
        border:     none !important;
        background:     none !important;

        font-size:      22px;
        line-height:    1.3em;
    }
    .contact-sections section .text {
        margin:     0 0 50px;
    }
        .contact-sections section .text p {
            margin:     0 !important;
        }
    .contact-sections section .btn02 {
        margin:     0 auto;
        width:      360px;
    }

        .contact-sections section .btn02 a:before {
            content:        'mail_outline';
        }
    .contact-form .text {
        margin:     0 0 50px;
    }

    .contact-form dl dt {
        clear:      left;
        float:      left;
        padding:    14px 0 0;
    }
            .contact-form dl dt .in {
                display:    inline-block;
            }
            .contact-form dl dt .note {
                float:      right;
                font-size:  14px;
                line-height:    1.3em;
            }
            .contact-form dl dt.required:after {
                display:    inline-block;
                content:    '※';
                color:      #F45800;
                margin:     0 0 0 .5em;
            }
            .contact-form dl dd {
                margin:     0 0 40px 220px;
            }
            .contact-form dl dd.privacy .note {
                margin:     0 0 15px;
            }
            .contact-form dl dd.privacy section {
                border:     1px solid #D4E0C3;
                background:     #fff;
                height:     206px;
                padding:    20px 25px;
                box-sizing:     border-box;
                overflow:       auto;
                font-size:  14px;
                margin:     0 0 25px;
                line-height: 1.6em;
            }
            .contact-form dl dd.privacy section .head,
            .contact-form dl dd.privacy section p,
            .contact-form dl dd.privacy section .p,
            .contact-form dl dd.privacy section li {
                margin:     0 0 1.5em;
            }
            .contact-form dl dd.privacy section .head {
                font-size:  16px;
            }
    .contact-form .btn02 {
        margin:     60px auto 0;
        width:      420px;
    }

    .mw_wp_form_preview .contact-form dt {
        padding:    15px 0 0;

        font-size:      17px;
        line-height:    27px;
    }
    .mw_wp_form_preview .contact-form dd {
        padding:    15px 0 0;

        font-size:      17px;
        line-height:    27px;
        min-height:     27px;
    }
    .mw_wp_form_preview .contact-form dd .select {
        border:     none !important;
        padding:    0 !important;
        margin:     0 !important;
        height:     auto !important;
    }
    .mw_wp_form_preview .contact-form dd .select .select-label {
        display:        none !important;
    }
    .mw_wp_form_preview .contact-form dd .select:before {
        display:        none !important;
    }
.contact-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}
    .contact-list section {
        display: flex;
        flex-direction: column;
        padding: 40px 16px;
        box-sizing: border-box;
        background: #FBFCF9;
        border: 1px solid #D4E0C3;
    }
    .contact-list section h3 {
        margin:     0 0 30px !important;
        font-size:      20px;
        text-align:     center;
        height: 100%;
    }
    .contact-list section h3 .sub {
        font-size:      18px;
        line-height:    1.8em;
    }
    .contact-list section .btn02 {
        width:      340px;
        margin:     0 auto;
    }
        .contact-list section .btn02+.btn02 {
            margin-top:     25px;
        }

/* ニュース/一覧系 ========== */
.post-tabs {
    margin:     -80px -5px 0;
}
    .post-tabs.post-tabs-ir {
        margin-left:        -70px;
        margin-right:       -70px;
    }
    .post-tabs ul {
        display:    table;
        width:      100%;

        table-layout:   fixed;
        border-collapse:    collapse;
    }
    .post-tabs ul li {
        display:    table-cell;
        white-space:    nowrap;
    }
        .post-tabs ul li a ,
        .post-tabs ul li span {
            display:    block;
            margin:     0 5px;
            padding:    30px 0;
            box-sizing:     border-box;

            font-size:  18px;
            text-align:     center;
            color:      #000;
            text-decoration:    none;

            background:     #fff;
            border-bottom:  1px solid #D4E0C3;

            position:       relative;
        }
        .post-tabs ul li a:hover ,
        .post-tabs ul li span {
            border-bottom-color:        #fff;
        }
        .post-tabs ul li a:before,
        .post-tabs ul li span:before {
            position:   absolute;
            bottom:     -1px;

            display:    block;
            width:      100%;
            height:     2px;
            overflow:   hidden;
            content:    '';

            background:     url(../images/post-tabs-line.svg) center bottom no-repeat;
            background-size:    100% 2px;

            transition: transform 500ms cubic-bezier(0.77, 0, 0.175, 1);
        }
            .post-tabs ul li a:before {
                left: 0;
                transform:scaleX(0);
                transition-delay: 0.1s;
                transform-origin: 0% 0%;
            }
            .post-tabs ul li a:hover:before {
                transform:scaleX(1);
            }

.post-tabs-sub {
    display:    table;
    margin:     20px auto 40px;
    box-sizing:     border-box;

}
    .post-tabs-sub .in {
        display:    inline-block;
        background:         #F4F8EE;
        padding:        10px 20px;
    }
    .post-tabs-sub ul {
        background:     #fff;
        border-radius:  6px;

        display:        table;
    }
        .post-tabs-sub ul li {
            display:    table-cell;
        }
        .post-tabs-sub ul li a ,
        .post-tabs-sub ul li span {
            display:    block;
            padding:    15px 20px 14px ;

            font-size:      15px;
            line-height:    1em;
            text-align:     center;
            color:      #000;
            text-decoration:    none;

            position:   relative;
        }
        .post-tabs-sub ul li a:before ,
        .post-tabs-sub ul li span:before {
            position:       absolute;
            left:   0;
            top:    0;
            bottom: 0;
            margin:     auto 0;

            display:    block;
            width:      1px;
            height:     25px;
            overflow:   hidden;
            content:    '';

            border-left: 1px solid #D4E0C3;
        }
            .post-tabs-sub ul li:first-child a:before ,
            .post-tabs-sub ul li:first-child span:before {
                display:        none !important;
            }
            .post-tabs-sub ul li a:after ,
            .post-tabs-sub ul li span:after {
                position:   absolute;
                left:       0;
                right:      0;
                bottom:     -11px;
                margin:     0 auto;

                display:    block;
                width:      0;
                height:     0;
                overflow:   hidden;
                content:    '';

                border-width:   7px 7px;
                border-style:   solid;
                border-color:   #8DC21F transparent transparent transparent;

                transition:     all 100ms linear;
            }
            .post-tabs-sub ul li a:after {
                opacity:        0;
                bottom:         -8px;
            }

.post-category-select {
    margin:     40px 0;
    text-align:     center;
}
    .post-category-select .select {
        display:    inline-block;
        width:      420px;
        border-radius:      38px;
    }
    .post-category-select .select .select-label {
        text-align:     center;
        justify-content: center;
    }
        .post-category-select .select+.select {
            margin-left:    60px;
        }
        .post-category-select .select select {
            padding:        0 !important;
            text-align:     center !important;
        }

    .post-list li a {
        padding:    24px 0 22px;
    }
        .post-list li a .date {
            width:      110px;
            padding:    0 !important;
        }
        .post-list li a .cat {
            width:      106px;
            padding:    6px 8px 4px;
            margin:     -1px 0 0;

            font-size:  13px;
            line-height:    1.2em;
        }
        .post-list li a .text {
            clear:  none !important;
            margin:     0 0 0 246px;
            padding:        0;
        }

    .post-list h2 {
        margin-bottom:      40px !important;
    }
    .post-list .btn02 {
        margin:     30px auto 0;
        width:      220px;
    }
    .post-list.post-list-no-cat li a .text {
        margin-left:    110px !important;
    }

.post-pagination {
    margin:         60px 0 0;
}
    .post-pagination ul {
    }
        .post-pagination ul li {
        }
        .post-pagination ul li span,
        .post-pagination ul li a {
            width:          36px;
            height:         36px;
            margin:         0 9px;

            border-radius:      18px;

            font-size:      16px;
            line-height:    1;
        }

.post-news-pdf {
    margin:     0 0 38px;
}
    .post-news-pdf a {
        width:      160px;
        padding:    7px 0 6px;
        border-radius:      28px;

        font-size:      14px;
        line-height:    1.8em;
    }
    .post-news-pdf a:before {
        display:    inline-block;
        width:      1.8em;
        height:     1.8em;
        overflow:   hidden;
        content:    '';

        margin:     0 0.5em 0 0;

        background: url(../images/icon-pdf.png) center center no-repeat;
        background-size:    24px 25px;
    }
.post-news-sns {
}
    .post-news-sns ul {
        margin:     0 -9px;
    }
    .post-news-sns ul li {
        margin:     0 9px;
    }
.post-news-cat {
}
    .post-news-cat .cat {
        width:      106px;
        padding:    6px 0 4px;

        font-size:      13px;
        line-height:    1.2em;
    }
    .post-news-cat .date {
        padding:    4px 0 4px 20px;

        font-size:      16px;
        line-height:    1.2em;
    }
.post-news-head {
    padding:    28px 0 38px;
    margin:     0 0 60px;
}
    .post-news-head h3 {
        padding-bottom:     25px !important;
        font-size:          30px;
        line-height:        1.3em;
    }
    .post-news-head .note {
        font-size:      22px;
        line-height:    1.3em;
    }

/*  */
.entry-shareholder-benefit-plan {
}
    .entry-shareholder-benefit-plan .table {
        min-width:      880px;
    }
    .entry-shareholder-benefit-plan .btn02 {
        max-width:      420px;
        margin:         60px auto 0;
    }
        .entry-shareholder-benefit-plan .btn02+.btn02 {
            max-width:      340px;
            margin-top:     40px;
        }
/* ----- */
.faq-list {
}
    .faq-list dl {
        padding:        0 0 0 45px;
    }
    .faq-list dl dt {
        padding:    0 0 12px;
        font-weight: bold;
    }
        .faq-list dl dt:before {
            left:       -45px;
            top:        1px;

            width:      21px;
            height:     28px;
        }
    .faq-list dl dd {
        padding:    12px 0 48px;
    }
/* -------- */
.ir-calendar {
    padding:    8px;
    margin:     0 0 60px;
}
    .ir-calendar .months {
    }
        .ir-calendar .months dl {
            padding:    4px;
        }
        .ir-calendar .months dt {
            height:     36px;
            margin:     0 0 3px;

            font-size:  16px;
            line-height:    36px;
        }
        .ir-calendar .months dd {
        }
        .ir-calendar .months dd > ul {
            margin:         0 -1.5px;
        }
        .ir-calendar .months dd > ul > li {
        }
        .ir-calendar .months dd > ul > li .m {
            height:     75px;

            border-width:       0 1.5px;
            border-style:       solid;
            border-color:       #fff;

            font-size:  18px;
            line-height:        1em;
        }
        .ir-calendar .months .list {
        }
            .ir-calendar .months .list:before {
                top:        -8px;
                width:      16px;
                height:     16px;

                border-radius:  8px;
            }
            .ir-calendar .months .list:after {
                width:      2px;
                height:     36px;
            }
            .ir-calendar .months .list ul {
                padding:    41px 0 0;
                margin:     0 -40px;
            }
            .ir-calendar .months .list ul li {
            }
            .ir-calendar .months .list.list-left ul {
                margin:     0 -40px 0 0;
            }
.ir-calender-list {
}
    .ir-calender-list h5 {
        margin:     0 0 20px !important;
    }
    .ir-calender-list .list {
        margin:     0 0 50px 50px;
    }
        .ir-calender-list .list li {
            padding:        18px 0 16px;
        }
            .ir-calender-list .list li .date {
            }
            .ir-calender-list .list li .text {
                margin:     0 0 0 108px;
            }
.ir-documents {
    display:    flex;
    flex-wrap:  wrap;

    margin:     30px -15px 0;
}
    .ir-documents section {
        width:      455px;
        padding:    25px 30px 30px;
        margin:     30px 15px 0;
        box-sizing:     border-box;

        background: #fff;
        border: 1px solid #D4E0C3;
    }
    .ir-documents section h3 {
        margin:     0 0 20px !important;
        padding:    0 0 15px !important;
        border:     none !important;
        background:     none !important;

        border-bottom: 1px solid #8DC21F !important;

        font-size:      20px;
        font-weight:    normal;
        line-height:    1.8em;

        text-align:     left;
    }
    .ir-documents section .in {
        margin:     0 0 24px;
    }
        .ir-documents section .in a {
            color:      #000;
            text-decoration:    none;
        }
            .ir-documents section .in a:hover {
                text-decoration:    underline;
            }
        .ir-documents section .date {
            margin:     0 0 13px;
        }
        .ir-documents section .text {
        }
        .ir-documents section .pdf-size {
        }
    .ir-documents section .btn02 {
        width:      220px;
        margin:     0 auto;
    }
        .ir-documents section .btn02 a {
            font-size:  14px;
        }
.ir-top-message-photo {
    position:   relative;
    margin:     0 0 60px;
}
    .ir-top-message-photo .photo {
        width:      540px;
    }
        .ir-top-message-photo .photo img {
            display:    block;
            width:      100%;
            height:     auto;
        }
    .ir-top-message-photo .inner {
        position:   absolute;
        right:      -8px;
        top:        0;
        bottom:     0;
        width:      470px;

        display:    flex;
        align-items:    center;
        justify-content: center;
    }
    .ir-top-message-photo .text {
        width:      470px;
        position:   relative;
    }
        .ir-top-message-photo .text:before {
            position:   absolute;
            left:       10px;
            top:        10px;
            bottom:     -10px;
            right:      -10px;
            z-index:    2;

            display:    block;
            width:      auto;
            height:     auto;
            content:    '';
            overflow:   hidden;

            background:     url(../images/page/ir-top-message-textbox-shadow.svg) right bottom no-repeat;
            background-size:    100% 100%;
        }
        .ir-top-message-photo .text .in {
            box-sizing:     border-box;
            padding:        45px 0 45px 45px;

            font-size:      32px;
            font-weight:    bold;
            line-height:    1.5em;

            background:     #fff url(../images/page/ir-top-message-textbox.svg) center center no-repeat;
            background-size:    100% 100%;

            position:   relative;
            z-index:    2;
        }
        .ir-top-message-photo .text p {
            margin:     0 !important;
        }
.latest-financial-info {
    margin:     100px 0 0;
}
    .latest-financial-info dl {
    }
        .latest-financial-info dl dt {
            float:          left;

            font-size:      20px;
            font-weight:    bold;
            line-height:    1.3em;
        }
        .latest-financial-info dl dd {
            margin:         0 0 0 300px;
            border:         1px solid #8DC21F;
        }
            .latest-financial-info li  {
                border-top:     1px dashed #D4E0C3;
            }
            .latest-financial-info li:first-child {
                border-top:     none;
            }
            .latest-financial-info li a {
                display:    block;
                padding:    14px 30px 12px;

                color:      #000;
                text-decoration:    none;
            }

            .latest-financial-info li a:hover {
                text-decoration:    underline;
            }

.stockQuote {
    margin-top: 100px;
}
.stockQuote-layout {
    float: right;
    width: 100%;
    max-width: 640px;
    padding: 22px 120px 8px;
    border: 1px solid #8DC21F;
    box-sizing: border-box;
}
.stockQuote-link {
    margin: 2px 0;
    display: block;
    text-align: right;
}
.stockQuote-link a {
    text-decoration: none;
    font-size: 12px;
}

.companyIntroVideo {
    margin-top: 100px;
}
.companyIntroVideo-layout {
    float: right;
    width: 100%;
    max-width: 640px;
}
.companyIntroVideo-link {
    margin: 6px 0 2px;
    text-align: right;
}
.companyIntroVideo-link a {
    text-decoration: none;
    font-size: 12px;
}
.companyIntroVideo-note {
    margin: 0;
    text-align: right;
    font-size: 12px;
    line-height: 1;
}

.sitemap-ir {
    margin:     100px 0 0;
}
    .sitemap-ir .sitemap {
    }
        .sitemap-ir .sitemap nav > ul > li > .subtitle,
        .sitemap-ir .sitemap nav > ul > li > a {
            padding-bottom:     18px;
            margin-bottom:      20px;

            font-size:      22px;
            line-height:    1.5em;
        }
        .sitemap-ir .sitemap .sub > ul > li > a {
            font-size:      16px;
            line-height:    1.5em;
        }
        .sitemap-ir .sitemap nav {
            width:      290px;
        }
            .sitemap-ir .sitemap nav+nav {
                margin-left:        30px;
            }
            .sitemap-ir .sitemap nav > ul > li {
                margin:     0 0 50px;
            }
.sitemap-ir-items {
    /* .sitemap-ir .sitemap と指定方法が異なるが、3段組のX座標位置が同じになるようにすること。 */
}
    .sitemap-ir-items ul {
        margin:     0 -15px;
        padding:        0 0 20px;
    }
    .sitemap-ir-items ul li {
        float:      left;
        width:      290px;

        margin:     0 15px 30px;
    }
    .sitemap-ir-items ul li a {
        display:    block;
        padding:    26.5px 0 26.5px 48px;

        font-size:      19px;
        line-height:    1;
        color:          #000;
        text-decoration:    none;

        border:     1px solid #8DC21F;
        border-radius:      5px;
        background:     #fff;

        position:   relative;
    }
        .sitemap-ir-items ul li a:hover {
            text-decoration:    underline;
        }
        .sitemap-ir-items ul li a:after {
            position:   absolute;
            left:       20px;
            top:        0;
            bottom:     0;
            margin:     auto 0;

            width:      22px;
            height:     22px;
            background:     #8DC21F;
            border-radius:  50%;

            content:        'keyboard_arrow_right';
            font-size:      16px;
            line-height:    23px;
            font-weight:    normal;
            color:          #fff;
            font-family:    "Material Icons";
            text-align:     center;
        }
.sitemap-ir-items-s {
}
    .sitemap-ir-items-s ul li a {
        padding-top:    15px !important;
        padding-bottom: 17.5px !important;
        font-size:      17px !important;
        line-height:    1 !important;
    }

/* ------------- */
.our-services-section {
}
    .our-services-section p {
        margin:     0 !important;
    }
    .our-services-section h2 {
        margin:     0 0 46px !important;
        padding:    0 0 0 50px !important;
        font-size:      30px;
        line-height:    1em;
    }
    .our-services-section h2:before {
        width:      35px;
    }
    .our-services-section h3 {
        margin:     0 0 15px !important;
        padding:    0 0 0 18px !important;
        font-size:      24px;
        clear:          none !important;
    }
    .our-services-section h3 + h3 {
        margin-top:		-8px !important;
    }
    .our-services-section h3 span {
        font-size: 18px;
    }
    .our-services-section h4 {
        margin:     0 0 30px !important;
        padding:    12px 0 12px 20px !important;

        font-size:      20px;
        line-height:    1em;
    }
    .our-services-section .text01 {
        margin:     0 0 60px;
        font-size:      22px;
        letter-spacing:     1px;
        text-align:     center;
    }
        .our-services-section .text01 strong {
            margin:     0 0 24px;
            font-size:      35px;
            line-height:    1.2em;
        }
        .our-services-section .text01 u {
            padding-bottom:     0;
        }
    .our-services-section .list01 {
        padding:        0 0 70px;
        margin:         0 0 56px;
    }
        .our-services-section .list01 > ul {
            display:        flex;
            gap: 24px;
        }
        .our-services-section .list01 > ul > li {
            flex: 1; 
        }
        .our-services-section .list01 > ul > li:before {
            width:      260px;
            height:     260px;
            padding:    0 !important;
            border-radius:      130px;
        }

        .our-services-section .list01 dl {
            display: flex;
            flex-direction: column;
            height: 100%;
        }
        .our-services-section .list01 dl dt {
            font-size:      24px;
            padding:        50px 0 117px;
        }
        .our-services-section .list01 dl dd {
            border-radius:  6px;
            padding:        8px;
            font-size:      16px;
            flex-grow: 1;
        }
    .our-services-section .services {
        padding:        0 0 5px;
        margin:         0 0 56px;
    }
    .our-services-section .service {
        padding:        0 0 0 350px;
        margin:         0 0 60px;
    }
        .our-services-section .service .image {
            float:      left;
            margin:     6px 0 0 -350px;
            width:      310px;
        }
        .our-services-section .service .text {
            padding:        8px 0 0;
        }
        .our-services-section .service .banner {
            margin:     27px 0 0;
            width:      190px;
        }
/* -------- */
.history-text {
    margin:     0 0 100px;
}
    .history-text h2 {
        margin-top:     0 !important;
    }
    .history-text .image {
        float:      left;
        width:      450px;
        margin:     0 40px 40px 0;
    }
.history-list {
}
    .history-list > dl {
        margin:     0 0 0 30px;
    }
    .history-list > dl > dt {
        font-size:      22px;
        font-weight:    bold;
        line-height:    1;
    }
    .history-list > dl > dd {
        padding:        30px 0 30px 92px;
    }
        .history-list > dl > dd:before {
            left:       60px;
            top:        20px;
            bottom:     20px;
        }
            .history-list > dl > dd dl {
            }
            .history-list > dl > dd dt {
                width:      80px;
                margin:     0 0 0 -30px;

                text-align: right;
                position:   relative;
            }
            .history-list > dl > dd dd {
                margin:     0 -20px 24px 120px;
            }
            .history-list > dl > dd dd:before {
                position:   absolute;
                left:       -40px;
                top:        0.8em;
                margin:     -1px 0 0;

                display:        block;
                width:      10px;
                height:     1px;
                content:    '';
                overflow:   hidden;

                border-top:     1px solid #000;
            }
/* ------------ */
.board-members {
}
    /* PCのpost-tagsとほぼ同じだが、スマホが異なるので別に定義する */
    .board-members .tabs {
    }
    .board-members .list {
        padding:        70px 0 0;
    }
    .board-members .list p {
        margin:     0 !important;
    }
    .board-members .list ul {
        width:      100%;
        margin:     0 0 -40px;

        display:        flex;
        justify-content:    space-between;
        flex-wrap:      wrap;
    }
        .board-members .list ul li {
            width:      425px;
            margin:     0 0 50px;
        }
            .board-members .list ul li .photo {
                width:      300px;
                margin:     0 auto 20px;
            }
            .board-members .list ul li .role {
                margin:     0 0 6px;

                font-size:      14px;
                line-height:    1.5em;
                text-align:     center;
            }
            .board-members .list ul li .name {
                margin:     0 0 20px;

                font-size:      20px;
                line-height:    1.5em;
                text-align:     center;
            }
            .board-members .list ul li .text {
                margin:     0 0 20px;
                font-size:      14px;
            }
.group-members-ttl {
    position: relative;
    margin: 70px 0 0;
    padding: 0 0 0 50px;
    font-size: 30px;
    line-height: 1em;
    font-weight: normal;
    border: none !important;
    background: none !important;
}
.group-members-ttl:before {
    position: absolute;
    left: 0;
    top: 50%;
    width: 35px;
    margin: -1px 0 0;
    display: block;
    width: 1.2em;
    height: 2px;
    content: '';
    overflow: hidden;
    background: #8DC21F;
}
.group-members-ttl:first-of-type {
    margin-top: 0; 
}
.board-members .list ul.group-members {
    justify-content: flex-start;
    margin: 0;
}
.board-members .list ul.group-members li {
    flex-basis: 32%;
    display: flex;
    justify-content: flex-start;
    margin: 50px 0 0;
}
.board-members .list ul.group-members li:not(:nth-child(3n)) {
    margin-right: 2%;
}
.board-members .list ul.group-members li .photo {
    width: 116px;
    margin: 0 15px 0 0;
    flex-shrink: 0;
}
.board-members .list ul.group-members li .photo img {
    width: 100%;
    height: auto;
}
.board-members .list ul.group-members li .name,
.board-members .list ul.group-members li .role
 {
    text-align: left;
}
.text-members {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    margin-top: 50px;
    border-top: solid 1px #D4E0C3;
}
.text-members dl {
    margin: 30px 80px 0 0;
}
.text-members dt {
    margin-bottom: 20px;
    font-size: 20px;
    line-height: 1.5em;
}
.text-members dd {
    font-size: 14px;
    line-height: 1.5em;
}
/* ------------ */
.top-message-photo {
    margin:     0 0 60px;
}
.top-message-text {
    font-size:      38px;
    line-height:    1.84em;

    margin:     0 0 52px;
}
    .top-message-text p {
        margin:     0 !important;
    }
    .top-message-text u {
        background-size:        100% 12px;
    }
.top-message-sign {
    margin:     60px 0 0;
    font-size:      18px;
}
    .top-message-sign p:last-child {
        margin-bottom:      0;
    }
/* ------------ */
.company-profile {
}
    .company-profile .photo {
        margin:     0 0 60px;
    }
    .company-profile .profile {
    }
        .company-profile .profile > dl {
            display:            flex;
            align-items:        stretch;
            justify-content:    space-between;
            flex-wrap:      wrap;
        }
        .company-profile .profile > dl > dt ,
        .company-profile .profile > dl > dd {
            padding:        25px 0 25px 10px;
            box-sizing:     border-box;
            position:       relative;
        }
            .company-profile .profile > dl> dt:before ,
            .company-profile .profile > dl > dd:before {
                position:   absolute;
                left:       0;
                right:      0;
                bottom:     0;

                display:    block;
                width:      auto;
                height:     1px;
                overflow:   hidden;
                content:    '';
            }
                .company-profile .profile > dl > dt:before {
                    border-bottom:  2px solid #8DC21F;
                }
                .company-profile .profile > dl > dd:before {
                    border-bottom:  1px solid #D4E0C3;
                }
            .company-profile .profile > dl > dt {
                width:      160px;
            }
            .company-profile .profile > dl > dd {
                width:          720px;
            }
                .company-profile .profile > dl > dd ul {
                    margin:     -16px 0 0;
                }
                .company-profile .profile > dl > dd ul li {
                    margin:     16px 0 0;
                }
    .company-profile .map {
        margin:     60px 0 0;
    }
        .company-profile .map iframe {
            width:      940px;
            height:     494px;
        }
/* --------------- */
.vision-way {
    font-size:      18px;
    line-height:    1.8em;
}
    .vision-way-text {
        font-size:      24px;
        line-height:    2em;
        text-align:     center;
    }
    .vision-way .photo {
        margin:     54px 0 70px;
    }
    .vision-way .subtitle {
        margin:     80px 0 40px;
    }
        .vision-way .subtitle p {
            margin:     0 !important;
        }
        .vision-way .subtitle .text {
            float:      left;
            margin:     0 25px 0 0;
            padding:        0 5px 2px;

            font-size:      30px;
            font-weight:    bold;
            line-height:    34px;

            background:         url(../images/page/underline01.svg) left bottom repeat-x;
            background-size:        1px 0.4em;
        }
        .vision-way .subtitle .subtext {
            font-size:      22px;
            line-height:    34px;
        }

/* --------------- */
.group-vision {
}
    .group-vision .head {
        margin:     0 0 100px;
    }
        .group-vision .head .text01 {
            margin:     0 0 70px;
        }
        .group-vision .head .text02 {
            margin:     0 0 60px;

            font-size:      30px;
            font-weight:    bold;
            line-height:    2.2em;

            letter-spacing:     2px;
        }
            .group-vision .head .text02 .stress {
                font-size:      40px;
            }
        .group-vision .head .note {
            font-size:      22px;
            font-weight:    bold;
            line-height:    1.9em;

            text-align:     center;
        }
        .group-vision .video .note {
            padding:    45px 0 0;
        }
        .group-vision .diagram .image {
            margin:     0 0 50px;
        }
        .group-vision .diagram h5 {
            font-size:      25px;
            line-height:    1.3em;
            margin:     0 0 25px;
        }
        .group-vision .diagram .item {
            font-size:      16px;
            line-height:    2em;
        }
            .group-vision .diagram .item+.item {
                border-top: 1px solid #D4E0C3;
                padding:    38px 0 0;
                margin:     35px 0 0;
            }
/* --------------- */
.company-name {
    margin:     40px 0 0;
}
    .company-name .head {
        min-height:     668px;
        margin:         0 -43px 80px 0;
        padding:        0 43px 0 0;

        letter-spacing:     1px;

        background:     url(../images/page/company-name-image01.svg) right center no-repeat;
    }
        .company-name .head-text {
            margin:         0 0 60px;

            font-size:      40px;
            font-weight:    bold;
            line-height:    1.5em;
        }
            .company-name .head-text .c0 {
                font-size:      52px;
            }
            .company-name .head-text .c1 {
                font-size:      56px;
            }
            .company-name .head-text .c2 {
                font-size:      56px;
            }
        .company-name .head .text {
            margin:         0 0 72px;

            font-size:      26px;
            font-weight:    bold;
            line-height:    2em;
        }
            .company-name .head .text .stress {
                font-size:      36px;
                color:      #5CA800;
            }
        .company-name .head .note {
            font-size:      18px;
        }
    .company-name .item {
        border-top: 1px solid #D4E0C3;
        font-size:      16px;
        line-height:    2em;

        padding:    50px 0 50px;
    }
        .company-name .item:last-child {
                padding-bottom:  0 !important;
        }
        .company-name .item h5 {
            margin:     0 0 30px;

            font-size:  18px;
            line-height:    1;
        }
        .company-name .item .in {
            padding:    30px 0;
            position:   relative;
        }
            .company-name .item .image img {
                position:   absolute;
                left:       0;
                top:        0;
                bottom:     0;
                margin:     auto 0;

                display:    block;
                width:      290px;
                height:     auto;
            }
            .company-name .item .text {
                padding:        5px 0 5px 60px;
                margin:         0 0 0 310px;
                border-left:    1px solid #D4E0C3;
            }

/* ------------------------ */

.vision-tech-head {
    margin:     0 0 80px;
}
    .vision-tech-head h3 {
        background:     none !important;
        border:         none !important;
        padding:        0 !important;
        margin:         0 0 50px !important;

        font-size:      32px;
        line-height:    1;

        text-align:     center;
    }
.vision-tech {
}
    .vision-tech section {
        margin:     0 0 60px;
    }
        .vision-tech section+section {
            margin:     80px 0 60px;
        }
        .vision-tech .image {
            margin:     0 0 40px;
        }
            .vision-tech .image img {
                display:    block;
                margin:     0 auto;
            }
.vision-tech-banners {
}
    .vision-tech-banners ul {
        display:        flex;
        align-items:    center;
        justify-content: space-between;

        margin:     0 -50px;
    }
        .vision-tech-banners li {
            width:      50%;
            padding:        0 50px;
            box-sizing:     border-box;
        }
        .vision-tech-banners a {
            display:    block;

            font-size:      13px;
            line-height:    1.3em;
            color:          #000;

            text-decoration:    none;
        }
            .vision-tech-banners a .image {
                display:    block;
                height:     95px;
                overflow:   hidden;

                position:   relative;
            }
                .vision-tech-banners .image img {
                    display:    block;
                    width:      100%;
                    height:     auto;
                }

            .vision-tech-banners a .text {
                padding:        0 18px 0 0;
                margin:         6px 0 0;
                text-align:     right;
                position:       relative;
            }
            .vision-tech-banners a .text:after {
                position:   absolute;
                right:      0;
                top:        -.02em;
                height:     1em;
                line-height:    1em;

                content:        'keyboard_arrow_right';
                font-size:      18px;
                font-weight:    normal;
                color:          #000;
                font-family:    "Material Icons";
                text-align:     right;
            }

/* ------------------------ */

.global-team-page {
}
    .global-team-page .map {
        margin:         0 -100px 68px;
    }
        .global-team-page .map .text {
            margin:         0 auto 30px;
            padding:        20px 0;
            border-radius: 10px;
            width:      750px;

            font-size:      20px;
            line-height:    1.5;

            background:     url(../images/page/global-team-head-text-bg.svg) center center no-repeat;
            background-size:    100% 100%;
        }
    .global-team-page section {
        padding:        40px;
        margin:         0 0 60px;
    }
        .global-team-section-head {
            padding:    0 0 40px;
        }
            .global-team-section-head h3 {
                font-size:      26px;
                line-height:    1.3em;
            }
            .global-team-section-head .note {
                font-size:      18px;
                line-height:    1.3em;
            }
            .global-team-section-head h3+.note {
                margin-top:     20px;
            }
        .global-team-page section > ul {
            margin:     -40px 0 0;
        }
        .global-team-page section > ul > li {
            margin:     40px 0 0;
        }
            .global-team-page section > ul > li .head {
                padding:    20px 0 19px;
            }
                .global-team-page section > ul > li .head h4 {
                    margin-bottom:          14px !important;

                    font-size:      18px;
                    line-height:    1em;
                }
                .global-team-page section > ul > li .head .area {
                    font-size:      17px;
                    line-height:    1em;
                }
                    .global-team-page section > ul > li .head .area:before {
                        margin:             0 4px 0 0;
                        vertical-align:     -4px;

                        font-size:      22px;
                    }
            .global-team-page section > ul > li .in {
                padding:        30px 0;
            }
            .global-team-page section > ul > li .head-text {
                max-width:      80%;
                margin:         0 auto 26px;
            }
            .global-team-page section > ul > li .btn {
                width:      146px;
                margin:     30px auto 0;
            }
                .global-team-page section > ul > li .btn a {
                    width:      146px;
                    height:     36px;

                    font-size:      13px;
                    line-height:    1;

                    background:     url(../images/page/global-team-btn-bg.svg) center center no-repeat;
                    background-size:    100% 100%;
                }
                    .global-team-page section > ul > li .btn a:before {
                        width:      15px;
                        height:     15px;
                        margin:     0 8px 0 0;

                        font-size:      15px;
                        line-height:    15px;
                    }
    /* layout --- */
        .global-team-page .section01 > ul > li .head h4 {
            font-size:      23px;
            line-height:    1em;
        }
        .global-team-page .section01 .in {
            display:        flex;
            text-align:     left;
        }
            .global-team-page .section01 .logo {
                width:      284px;
                box-sizing:     border-box;
                padding:        0 20px 0 0;
                text-align:     center;

                border-right:       1px solid #D4E0C3;

                display:        flex;
                flex-direction: column;
                align-items:        center;
                justify-content: center;
                flex-shrink: 0;
            }
            .global-team-page .section01 .text {
                padding:    0 30px 0 40px;

                display:            flex;
                flex-direction:     column;
                align-items:        center;
                justify-content:    center;
            }

    .global-team-page .section03 > ul {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }
    .global-team-page .section03 > ul > li:first-of-type {
        margin-top: 40px;
        width: 100%;
    }
    .global-team-page .section03 > ul > li:first-of-type .in {
        display: flex;
        text-align: left;
    }
     .global-team-page .section03 > ul > li:first-of-type .logo {
        width: 284px;
        box-sizing: border-box;
        padding: 0 20px 0 0;
        text-align: center;
        border-right: 1px solid #F9E9C5;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
    }
    .global-team-page .section03 > ul > li:first-of-type .text {
        padding: 0 30px 0 40px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }
    .global-team-page .section03 > ul > li:nth-child(n+2) {
        width: calc(50% - 20px);
        max-width: 410px;
    }
    .section04 .global-team-section-head {
        padding-bottom: 40px;
    }
    .global-team-page .section04 > ul {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }
    .global-team-page .section04 > ul > li {
        width: calc(50% - 20px);
        max-width: 410px;
    }
    .global-team-page .section-wrap {
        margin:     0 -30px;
        display:    flex;
    }
        .global-team-page .section-wrap section {
            margin:     0 30px;
            width:      440px;

            display:    flex;
            align-items: stretch;
            align-content: stretch;
            justify-content: stretch;
            flex-direction: column;
        }
        .global-team-page .section-wrap section .head-text {
            display:    inline-block;
            margin:     0 auto 30px;
            max-width:      80%;

            text-align:     left;
        }
        .global-team-page .section-wrap section > ul {
            display:        flex;
            width:      100%;
        }
        .global-team-page .section-wrap section > ul > li {
            display:        flex;
            width:      100%;

            flex-direction: column;
        }
        .global-team-page .section-wrap section > ul > li .in {
            display:        flex;
            width:      100%;

            flex-direction: column;
        }

/* Challenge
---------------------------------------------*/
body.challenge {
}
body.challenge #contents {
    margin-top:     0 !important;
    padding-top:    60px !important;
/*  padding-bottom: 60px !important; */
}
body.challenge .post-news-cat {
    clear:      none !important;
    padding-top:    0 !important;
}
body.challenge .entry {
    font-size:      16px;
    line-height:    2em;

    margin:     0 0 70px;
}
.challenge-page-header {
    margin:     0 0 50px;
    box-sizing: border-box;

    background:     #fff;

    flex-direction:     column;
}
    .challenge-page-header .inner {
        height:     220px;
        display:    flex;
        align-items:        center;
        justify-content:    center;
        flex-direction: column;

        text-align:     center;
    }
        .challenge-page-header h2 {
            margin:     0 0 23px !important;
            padding:    0 !important;
            border:     none !important;
            background:     none !important;

            font-size:      56px;
            line-height:    1.2em;

            margin:     0 0 23px;
        }
        .challenge-page-header .sub {
            font-size: 20px;
            line-height:    1.2em;
        }
    .challenge-page-header .photo {
    }
        .challenge-page-header .photo .image {
            position:   relative;
            height:     485px;
        }
            .challenge-page-header .photo .image img {
                position:   absolute;
                left:       50%;
                top:        0;
                margin:     0 0 0 -640px;

                display:    block;
                width:      1280px;
                height:     auto;
            }
        .challenge-page-header .photo .text {
            padding:        50px 0;
            margin:         0 auto;
            max-width:          1040px;

            font-size:      18px;
            line-height:    2em;
        }

h3.challenge-head-title {
    clear:      both !important;
    padding:    25px 0 60px !important;
    margin:     0 !important;
    background:     none !important;

    font-size:      30px;
    line-height:        50px;

}
.challenge-main-photo {
    margin:     0 0 40px;
}
    .challenge-main-photo img {
        display:    block;
        width:      100%;
        height:     auto;
    }
.challenge-author {
    border: 1px solid #D4E0C3;
    padding:        30px 40px;
}
    .challenge-author .photo {
        float:      left;
        width:      280px;
    }
        .challenge-author .photo img {
            display:    block;
            width:      100%;
            height:     auto;
        }
    .challenge-author .name {
        font-size:      18px;
        font-weight:    bold;
        line-height:        1.6em;

        margin:     0 0 20px 320px;
    }
    .challenge-author .text {
        font-size:          15px;
        line-height:        1.7em;

        margin:     0 0 0 320px;
    }
.challenge-articles {
    margin:     80px auto 20px;
    width:  1040px;
}
    .challenge-articles ul {
        display:    flex;
        align-items:    stretch;
        justify-content: space-between;

        flex-wrap:      wrap;
    }
    .challenge-articles li {
        margin:     0 0 60px;
        width:      490px;
        display:    flex;
    }
    .challenge-articles li a {
        display:    block;
        width:      100%;

        background:     #fff;
        box-shadow: 0px 1px 15px #ECECEC;
        padding:    10px;

        font-size:      19px;
        font-weight:    normal;
        line-height:    1.6em;
        color:      #000;

        text-decoration:    none;
    }
        .challenge-articles li .image {
            height:     235px;
            overflow:   hidden;
        }
            .challenge-articles li .image img {
                display:    block;
                width:      100%;
                height:     auto;
            }
        .challenge-articles li .text {
            padding:    20px 15px 0;
            font-size: 17px;

            display: -webkit-box;
            height: 76px;
            margin-bottom: 0.6em;
            box-sizing: border-box;
            overflow: hidden;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
        }

.challenge-footer {
    background:     #fff;
    padding:        1px 0;
}
    .challenge-footer .post-pagination {
        margin:     50px 0 80px;
    }

/* XJ-Storage関連
---------------------------------------------*/

.xj-script-table > ul {
    display:        flex;
    width:          100%;
    flex-wrap:      wrap;

    justify-content: center;
}
.xj-script-table > ul > li {
    width:          360px;
    margin:     0 10px 20px;
    box-sizing:     border-box;

    text-align:     center;
}
/* 優待ページ
---------------------------------------------*/
.contentBlock + .contentBlock {
    margin-top: 30px;
}
.contentBlock__ttlArea {
    background: #EBF4DE;
    padding: 16px;
    display: flex;
    align-items: center;
}
.contentBlock__ttlImg {
    margin-right: 16px;
}

.contentBlock__ttl {
    font-size: 18px;
    font-weight: bold;
    margin: 0;
}
.contentBlock__detail {
    margin-top: 20px;
}
.flowList__item + .flowList__item {
    margin-top: 10px;
}

.contentsItem {
    margin-top: 60px;
}
.contentBlock .btn02 {
    margin-top: 20px;
    max-width: 282px;
}