@charset "utf-8";
/* CSS Document */
/*Theme Name: original
  Author:office Rohan Corporation
  Description: Version: 1.0
   License:R.I*/






/* flex
--------------------------------------------------------*/
.flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-align-items: flex-start;
    align-items: flex-start;
}

.flex.start {
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
}

.flex.end {
    -webkit-justify-content: flex-end;
    justify-content: flex-end;
}

.flex.center {
    -webkit-justify-content: center;
    justify-content: center;
}

.flex.around {
    -webkit-justify-content: space-around;
    justify-content: space-around;
}

.flex.between {
    -webkit-justify-content: space-between;
    justify-content: space-between;
}

.flex.stretchf {
    -webkit-align-items: stretch;
    align-items: stretch;
}

.flex.ai_center {
    -webkit-align-items: center;
    align-items: center;
}

.flex.ai_start {
    -webkit-align-items: flex-start;
    align-items: flex-start;
}

.flex.ai_end {
    -webkit-align-items: flex-end;
    align-items: flex-end;
}

.flex.nowrap {
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
}

.flex.column {
    -ms-flex-direction: column;
    -webkit-flex-direction: column;
    flex-direction: column;
}

.flex.row {
    -ms-flex-direction: row;
    -webkit-flex-direction: row;
    flex-direction: row;
}

.flex.c_reverse {
    -ms-flex-direction: column-reverse;
    -webkit-flex-direction: column-reverse;
    flex-direction: column-reverse;
}

.flex.r_reverse {
    -ms-flex-direction: row-reverse;
    -webkit-flex-direction: row-reverse;
    flex-direction: row-reverse;
}

.noshrink {
    flex: 0 0 auto;
}

.grow {
    flex: 1 1 auto;
}

/* base
---------------------------------------------------------------*/

.clearfix:after {
    content: "";
    display: block;
    clear: both;
}

iframe {
    max-width: 100%;
}

img {
    max-width: 100%;
    height: auto;
}

ul,
ol {
    padding: 0;
    margin: 0;
}

li {
    list-style: none;
}

a {
    color: inherit;
    text-decoration: none;
}

a:hover {
    opacity: .5;
    transition: .3s;
}

a[href^="tel:"]:hover {
    opacity: 1;
}

.slick-slide {
    outline: none;
}

.tb_only {
    display: none;
}

.sp_only {
    display: none;
}

.tb_pc {
    display: inherit;
}

.sp_tb {
    display: none;
}

.txt_center {
    text-align: center;
}

.txt_right {
    text-align: right;
}

.txt_left {
    text-align: left;
}

.inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 40px;
}

body {
    line-height: 1.75;
    letter-spacing: 0.05em;
    font-size: 16px;
    font-weight: 400;
    text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    color: #333;
    font-family: BIZ UDPGothic, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, Helvetica, Arial, sans-serif;
}

.en {
    font-family: 'Lilita One', cursive;
}

@media(max-width: 1023px) {
    .tb_only {
        display: inherit;
    }

    .sp_only {
        display: none;
    }

    .tb_pc {
        display: inherit;
    }

    .sp_tb {
        display: inherit;
    }

    .pc_only {
        display: none;
    }
}

@media(max-width: 767px) {
    .inner {
        max-width: 100%;
        padding: 0 3.2vw;
    }

    h1 {
        font-size: 18px;
    }

    h2 {
        font-size: 18px;
    }

    body {
        min-width: 100%;
        max-width: 100%;
        font-size: 12px;
        line-height: 1.5625;
    }

    .pc_only {
        display: none;
    }

    .tb_only {
        display: none;
    }

    .sp_only {
        display: inherit;
    }

    .tb_pc {
        display: none;
    }

    .sp_tb {
        display: inherit;
    }

    body {
        min-width: 100%;
        max-width: 100%;
        overflow-y: scroll;
    }

}

/* debug 
----------------------------------------------------------------------------------------------*/

#wpadminbar {
    z-index: 10000000 !important;
    background: rgba(0, 0, 0, 0.25) !important;
}


/* conponent
----------------------------------------------------------*/
.mb1 {
    margin-bottom: 1rem;
}

.mb2 {
    margin-bottom: 2rem;
}

.mb3 {
    margin-bottom: 3rem;
}

.mb4 {
    margin-bottom: 4rem;
}

.mb5 {
    margin-bottom: 5rem;
}

.mt1 {
    margin-top: 1rem;
}

.mt2 {
    margin-top: 2rem;
}

.mt3 {
    margin-top: 3rem;
}

.mt4 {
    margin-top: 4rem;
}

.mt5 {
    margin-top: 5rem;
}

.fw3 {
    font-weight: 300;
}

.fw4 {
    font-weight: 400;
}

.fw5 {
    font-weight: 500;
}

.fw5 {
    font-weight: 600;
}

.fw7 {
    font-weight: 700;
}

.txt_link {
    text-decoration: underline;
    color: #12A7A3;
}

[data-color="orange"] {
    color: #F29704;
}

[data-color="green"] {
    color: #03B226;
}

[data-color="red"] {
    color: #E2263A;
}

[data-color="blue"] {
    color: #2DB7E5;
}

@media(max-width: 1023px) {}

@media(max-width: 767px) {}

/*video 
----------------------------------------------------------*/
body {
    position: relative;
}

.wrap_video {
    position: fixed;
    width: 100%;
    height: 100vh;
    top: 0;
    left: 0;
    z-index: -1;
}

.wrap_video .item {
    height: 100%;
    width: 100%;
}

.wrap_video .item video {
    height: 100%;
    width: 100%;
    object-fit: cover;
    object-position: center;
}

@media(max-width: 1023px) {}

@media(max-width: 767px) {}

/* header
----------------------------------------------------------*/
.header {
    position: fixed;
    top: 50px;
    left: 30px;
    z-index: 20;
    width: calc(100% - 30px);
}

.logo_haed {
    font-size: 0;
    background: #fff;
    width: 220px;
    height: 50px;
    border-radius: 2rem;
    margin-right: 2rem;
    padding: 5px 5px;
    position: relative;
    overflow: hidden;

    & a {
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
    }
}

.pc_nav .wrap {
    background: #fff;
    border-radius: 2rem;
    margin: 0;
    gap: 0 1rem;
    font-size: 1.25rem;
    padding: 0 2rem;

    & li a {
        display: inline-block;
        height: 50px;
        line-height: 50px;
        color: #000;

        &:hover {
            opacity: 1;
        }

        &[data-color="green"]:hover {
            color: #03B226;
        }

        &[data-color="red"]:hover {
            color: #E2263A;
        }

        &[data-color="blue"]:hover {
            color: #2DB7E5;
        }

        &[data-color="orange"]:hover {
            color: #F29704;
        }

        &[data-color="green"][data-active="true"] {
            color: #03B226;
        }

        &[data-color="red"][data-active="true"] {
            color: #E2263A;
        }

        &[data-color="orange"][data-active="true"] {
            color: #F29704;
        }

        &[data-color="blue"][data-active="true"] {
            color: #2DB7E5;
        }
    }
}

.openbtn {
    display: none;
}

@media(max-width: 1023px) {
    .header {
        top: 24px;
        left: 30px;
    }

}

@media(max-width: 767px) {
    .header {
        top: 4vw;
        left: 4vw;
    }

    #g-nav.panelactive {
        position: fixed;
        z-index: 999;
        top: 0;
        width: 100%;
        height: 100vh;
    }

    .circle-bg {
        position: fixed;
        z-index: 3;
        width: 100px;
        height: 100px;
        border-radius: 50%;
        background: #2DB7E5;
        transform: scale(0);
        right: -50px;
        top: -50px;
        transition: all .6s;
    }

    .circle-bg.circleactive {
        transform: scale(50);
    }


    #g-nav-list {
        display: none;
        position: fixed;
        z-index: 999;
        width: 100%;
        height: 100vh;
        overflow: auto;
        -webkit-overflow-scrolling: touch;
        left: 0;
    }

    #g-nav.panelactive #g-nav-list {
        display: block;
    }

    #g-nav ul {
        opacity: 0;
        position: absolute;
        z-index: 999;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }

    #g-nav.panelactive ul {
        opacity: 1;
    }

    #g-nav.panelactive ul li {
        animation-name: gnaviAnime;
        animation-duration: 1s;
        animation-delay: .2s;
        animation-fill-mode: forwards;
        opacity: 0;
    }

    @keyframes gnaviAnime {
        0% {
            opacity: 0;
        }

        100% {
            opacity: 1;
        }
    }

    #g-nav li {
        text-align: center;
        width: 100%;
        list-style: none;
    }

    #g-nav li a {
        text-decoration: none;
        padding: 10px;
        display: block;
        text-transform: uppercase;
        letter-spacing: 0.1em;
        font-weight: bold;
        height: auto;
        line-height: inherit;
    }


    .openbtn {
        position: fixed;
        background: #03B226;
        cursor: pointer;
        width: 50px;
        height: 50px;
        border-radius: 5px;
        z-index: 10000;
        display: block;
        top: 4vw;
        right: 4vw;
    }

    .openbtn span {
        display: inline-block;
        transition: all .4s;
        /*アニメーションの設定*/
        position: absolute;
        left: 14px;
        height: 3px;
        border-radius: 2px;
        background: #fff;
    }


    .openbtn span:nth-of-type(1) {
        top: 15px;
        width: 45%;
    }

    .openbtn span:nth-of-type(2) {
        top: 23px;
        width: 35%;
    }

    .openbtn span:nth-of-type(3) {
        top: 31px;
        width: 20%;
    }

    /*activeクラスが付与されると線が回転して×になる*/

    .openbtn.active span:nth-of-type(1) {
        top: 18px;
        left: 18px;
        transform: translateY(6px) rotate(-135deg);
        width: 30%;
    }

    .openbtn.active span:nth-of-type(2) {
        opacity: 0;
    }

    .openbtn.active span:nth-of-type(3) {
        top: 30px;
        left: 18px;
        transform: translateY(-6px) rotate(135deg);
        width: 30%;
    }

    .pc_nav .wrap {
        font-size: 2rem;
        padding: 2rem;

        & li a {
            display: inline-block;

            &[data-color="green"] {
                color: #03B226;
            }

            &[data-color="red"] {
                color: #E2263A;
            }

            &[data-color="blue"] {
                color: #2DB7E5;
            }

            &[data-color="orange"] {
                color: #F29704;
            }
        }
    }

}

/* footer
----------------------------------------------------------*/
.footer {
    background-color: #333;
    width: 100%;
    padding-top: 30px;

    & .wrap_footer {
        padding-bottom: 25px;

        & .logo_foot {
            width: 120px;
            position: relative;

            & a {
                position: absolute;
                top: 0;
                left: 0;
                width: 100%;
                height: 100%;
            }
        }

        & .wrap_footer_nav {

            & .list {
                font-size: 1.5rem;
                font-weight: bold;

                & li {
                    padding-left: 3rem;

                    & a {
                        display: inline-block;
                        position: relative;
                    }

                    & a[data-active="true"]::before {
                        width: 32px;
                        content: '';
                        position: absolute;
                        bottom: 0;
                        left: 0;
                        right: 0;
                        margin: auto;
                        height: 3px;
                    }

                    & a[data-color="blue"]::before {
                        background: #2DB7E5;
                    }

                    & a[data-color="orange"]::before {
                        background: #F29704;
                    }

                    & a[data-color="green"]::before {
                        background: #03B226;
                    }

                    & a[data-color="red"]::before {
                        background: #E2263A;
                    }
                }
            }
        }

        & .foot_nav {
            padding: 50px 100px;

            & .btns {
                gap: 20px;

                & li:first-of-type {
                    width: 200px;
                    height: 200px;
                    background: #000;
                    color: #fff;
                    border-radius: 18px;
                }

                & li {
                    position: relative;

                    & i {
                        position: absolute;
                        bottom: 12px;
                        left: 10px;
                        font-size: 2rem;
                        color: #fff;
                        transform: rotate(-90deg);
                        width: 32px;
                        height: 32px;
                        transition: all 0.5s;
                    }

                    &:hover i {
                        left: 143px;
                    }

                    & a {
                        display: block;
                        width: 200px;
                        height: 200px;
                        color: #fff;
                        border-radius: 18px;
                        font-size: 1.5rem;
                        padding: 1rem 0 0 1.5rem;

                        &[data-color="green"] {
                            background-color: #03B226;
                        }

                        &[data-color="red"] {
                            background-color: #E2263A;
                        }

                        &[data-color="blue"] {
                            background-color: #2DB7E5;
                        }

                        &[data-color="orange"] {
                            background-color: #F29704;
                        }
                    }
                }
            }
        }
    }

    & .wrap_bottom {
        background: #000;
        color: #fff;
        padding: 1rem 2rem;
        font-size: 0.75rem;
        gap: 15px;

        & .foot_txt_link a {
            text-decoration: underline;
        }
    }
}

@media(max-width: 1023px) {
    .footer {
        & .foot_nav {
            padding: 10vw 6vw;

            & .btns {
                gap: 5vw;

                & li:first-of-type {
                    width: 22vw;
                    height: 22vw;
                }

                & li {
                    position: relative;

                    & i {
                        left: auto;
                        right: 3.5vw;
                        bottom: 1.5vw;
                    }

                    &:hover i {
                        left: auto;
                        right: 3.5vw;
                        bottom: 1.5vw;
                    }

                    & a {
                        width: 22vw;
                        height: 22vw;
                        padding: 0.75rem 0 0 1.5rem;
                    }
                }
            }
        }

    }

}

@media(max-width: 1023px) {}

@media(max-width: 767px) {
    .footer {
        & .wrap_footer {
            & .wrap_footer_nav {
                & .list {
                    padding-top: 10vw;

                    & li {
                        width: 50%;
                        padding: 0vw 5vw 5vw;

                        & a[data-active="true"]::before {
                            bottom: -2px;
                        }
                    }
                }
            }
        }
    }
}


/* page headline and else
----------------------------------------------------------*/
.page_headline {
    width: 100%;
    height: 400px;
    padding-left: 100px;
    padding-top: 68px;

    & .wrap {
        & .ttl {
            & span {
                display: block;

                &.en {
                    font-size: 4rem;
                    line-height: 1;
                    margin-bottom: 1.25rem;
                    text-shadow: 5px 5px 0 #FFF, -5px -5px 0 #FFF,
                        -5px 5px 0 #FFF, 5px -5px 0 #FFF,
                        0px 5px 0 #FFF, 0-5px 0 #FFF,
                        -5px 0 0 #FFF, 5px 0 0 #FFF;
                }

                &.jn {
                    font-size: 1rem;
                }
            }
        }
    }
}


.page_main {
    background-color: #f8f8f8;
}

@media(max-width: 1023px) {
    .page_headline {
        width: 100%;
        height: 300px;
        padding-left: 6vw;
        padding-top: 74px;

        & .wrap {
            & .ttl {
                & span {
                    &.en {
                        font-size: 3.25rem;
                        line-height: 1;
                        margin-bottom: 0.85rem;
                        text-shadow: 5px 5px 0 #FFF, -5px -5px 0 #FFF,
                            -5px 5px 0 #FFF, 5px -5px 0 #FFF,
                            0px 5px 0 #FFF, 0-5px 0 #FFF,
                            -5px 0 0 #FFF, 5px 0 0 #FFF;
                    }

                    &.jn {
                        font-size: 0.85rem;
                    }
                }
            }
        }
    }


}

@media(max-width: 767px) {
    .page_headline {
        height: 210px;
        padding-left: 5vw;
        padding-top: 52px;

        & .wrap {
            & .ttl {
                & span {
                    &.en {
                        font-size: 3.25rem;
                        line-height: 1;
                        margin-bottom: 0.85rem;
                        text-shadow: 2px 2px 0 #FFF, -2px -2px 0 #FFF, -2px 2px 0 #FFF, 2px -2px 0 #FFF, 0px 2px 0 #FFF, 0-2px 0 #FFF, -2px 0 0 #FFF, 2px 0 0 #FFF;
                    }
                }
            }
        }
    }
}

/* privacy
----------------------------------------------------------*/
.privacy_section {
    border-radius: 50px;
    padding: 2rem 3rem;
    background-color: #fff;
    max-width: 1220px;
    margin: 0 auto 4rem;

    & .ttl {
        line-height: 1;
        margin-bottom: 1.5rem;
        font-size: 1.5rem;
        letter-spacing: 0.1em;
    }

    & .txt {
        line-height: 2;
    }

    & .txt+.list01 {
        margin-top: 1rem;
        margin: 0 0 0 2.5rem;
    }

    & .list01 {
        line-height: 2;
        margin: 0 0 0 1.5rem;

        & li {
            list-style-type: decimal;

            & ul {
                margin-left: 1.5rem;
                margin-top: 0rem;
                margin-bottom: 1rem;

                & li {
                    list-style-type: disc;

                    & ul {
                        margin-top: 0;

                        & li {
                            list-style-type: circle;
                        }
                    }
                }
            }
        }
    }

    & .list02 {
        margin-top: 1rem;

        & dt {
            text-align: center;
            width: 10rem;
        }

        & dd {
            width: calc(100% - 10rem);
        }
    }

    & .list02:nth-of-type(2) {
        margin-top: 2rem;
    }
}

.privacy_main {
    padding-top: 7.5rem;
    padding-bottom: 5rem;
}

.pryvacy_description {
    border-radius: 50px;
    padding: 2rem 3rem;
    background-color: #fff;
    max-width: 1220px;
    margin: 0 auto 4rem;
}

@media(max-width: 1023px) {
    .privacy_main {
        padding-top: 10vw;
        padding-bottom: 10vw;
        padding-left: 6vw;
        padding-right: 6vw;
    }

    .pryvacy_description {
        padding: 1.5rem 2rem;
        background-color: #fff;
        max-width: 100%;
        font-size: 0.85rem;
        line-height: 1.4;
    }

    .privacy_section {
        padding: 1.5rem 2rem;
        max-width: 100%;

        & .ttl {
            line-height: 1.25;
            margin-bottom: 0.9rem;
            font-size: 0.9rem;
            letter-spacing: 0.1em;
        }

        & .txt {
            line-height: 1.4;
            font-size: 0.85rem;
        }

        & .txt+.list01 {
            margin-top: 1rem;
            margin: 0 0 0 2.5rem;
        }

        & .list01 {
            line-height: 1.4;
            margin: 0 0 0 1.5rem;
            font-size: 0.85rem;

            & li {
                list-style-type: decimal;

                & ul {
                    margin-left: 1.5rem;
                    margin-top: 0rem;
                    margin-bottom: 1rem;

                    & li {
                        list-style-type: disc;

                        & ul {
                            margin-top: 0;

                            & li {
                                list-style-type: circle;
                            }
                        }
                    }
                }
            }
        }

        & .list02 {
            margin-top: 1rem;
            line-height: 1.4;

            & dt {
                text-align: center;
                width: 4rem;
            }

            & dd {
                width: calc(100% - 4rem);
            }
        }

        & .list02:nth-of-type(2) {
            margin-top: 2rem;

            & dt {
                text-align: center;
                width: 9rem;
            }

            & dd {
                width: calc(100% - 9rem);
            }
        }
    }
}

@media(max-width: 1023px) {}

@media(max-width: 767px) {}



/* recruit company
----------------------------------------------------------*/
.recruit_main {
    padding-top: 7.5rem;
    padding-bottom: 12rem;

}

.recruit_headline {
    width: 100%;
    max-width: 1100px;
    padding: 0 60px;
    margin: 0 auto;

    & .headline {
        & .img {
            border-radius: 30px;
            overflow: hidden;
            aspect-ratio: 1.414;

            & img {
                object-fit: cover;
                width: 100%;
                height: 100%;
                object-position: top;
            }
        }

        & .recruit_ttl01 {
            font-size: 3rem;
            line-height: 70px;
            font-weight: 900;
            padding: 60px 0 130px;
            letter-spacing: .08em;
            text-align: center;

            &[data-txtshadow="true"] {
                text-shadow: 5px 5px 0 #FFF, -5px -5px 0 #FFF, -5px 5px 0 #FFF, 5px -5px 0 #FFF, 0px 5px 0 #FFF, 0-5px 0 #FFF, -5px 0 0 #FFF, 5px 0 0 #FFF;
            }

            & span {
                display: block;
            }
        }
    }
}

.recruit_section01_body {
    position: relative;

    & .wrap_img_mask {
        position: absolute;
        top: 0;
        width: 100%;
        height: 100%;
        pointer-events: none;
        display: block;

        & .inner_img_mask {
            position: sticky;
            top: 0;
            width: 45.8vw;
            height: 100vh;
            border-radius: 0 50px 50px 0;
            overflow: hidden;

            & .img {
                position: absolute;
                top: 0;
                left: 0;
                width: 100%;
                height: 100%;
                overflow: hidden;

                & img {
                    position: absolute;
                    top: 0;
                    left: 0;
                    width: 100%;
                    height: 100%;
                    -o-object-fit: cover;
                    object-fit: cover;
                    -o-object-position: left top;
                    object-position: left top;
                }
            }
        }
    }

    & .wrap_content {
        position: relative;
        z-index: 2;
        max-width: 1100px;
        margin: 0 auto;
        padding: 256px 60px 256px;

        & .inner_content {
            background-color: rgba(255, 255, 255, 1);
            border-radius: 50px;
            padding: 100px 60px 130px 60px;
            margin: 0;

            & .txt {
                margin-top: 2rem;
                font-size: 1.5rem;
                font-weight: bold;
            }

            & .ttl_en {
                font-size: 2.5rem;
                line-height: 1;
                margin-bottom: 0.75rem;
            }

            & .list_company_profile {
                padding-top: 3rem;

                & dt {
                    width: 20%;
                    padding: 2rem 0 2rem 1rem;
                    -webkit-align-items: center;
                    align-items: center;
                    display: flex;
                    font-weight: 700;
                }

                &[data-brdcolor="green"] dt {
                    border-bottom: 1px solid #03B226;
                }

                &[data-brdcolor="orange"] dt {
                    border-bottom: 1px solid #F29704;
                }

                & dd {
                    width: 78%;
                    padding: 2rem 0 2rem 1rem;
                    border-bottom: 1px solid #1840a4;
                }
            }
        }
    }

    & .wrap_content+.wrap_content {
        /*margin-top: -128px;*/
        padding-top: 0;
    }
}

@media(max-width: 1023px) {
    .recruit_section01_body {
        & .wrap_img_mask {
            & .inner_img_mask {
                position: sticky;
                top: 0;
                width: 95vw;
                height: 95vh;
                border-radius: 0 50px 50px 0;
                overflow: hidden;
            }
        }
    }

    .recruit_headline {

        & .headline {
            & .recruit_ttl01 {
                font-size: 42px;
                line-height: 70px;
                font-weight: 900;
                padding: 60px 0 130px;
                letter-spacing: .08em;
                text-align: center;
            }
        }
    }
}

@media(max-width: 767px) {
    .recruit_headline {
        padding: 0 5vw;

        & .headline {
            & .recruit_ttl01 {
                font-size: 20px;
                line-height: 44px;
                padding: 60px 0 130px;
                letter-spacing: .08em;
                text-align: center;

                &[data-txtshadow="true"] {
                    text-shadow: 2px 2px 0 #FFF, -2px -2px 0 #FFF, -2px 2px 0 #FFF, 2px -2px 0 #FFF, 0px 2px 0 #FFF, 0-2px 0 #FFF, -2px 0 0 #FFF, 2px 0 0 #FFF;
                }
            }
        }
    }

    .recruit_main {
        padding-top: 15vw;
        padding-bottom: 15vw;
    }

    .recruit_section01_body {
        & .wrap_img_mask {
            & .inner_img_mask {
                border-radius: 0 40px 40px 0;
                overflow: hidden;
            }
        }
    }

    .recruit_section01_body {
        & .wrap_content {
            position: relative;
            z-index: 2;
            max-width: 1100px;
            margin: 0 auto;
            padding: 15vw 10vw 50vw 5vw;

            &:last-of-type {
                padding: 15vw 10vw 15vw 5vw;
            }

            & .inner_content {
                background-color: rgba(255, 255, 255, 1);
                border-radius: 40px;
                padding: 10vw 5vw;
                margin: 0;

                & .txt {
                    margin-top: 2rem;
                    font-size: 18px;
                    font-weight: bold;
                }

                & .list_company_profile {
                    padding-top: 0rem;
                }

                & .list_company_profile {
                    & dt {
                        width: 30%;
                        padding: 2rem 0 2rem 0rem;
                        -webkit-align-items: center;
                        align-items: center;
                        display: flex;
                        font-weight: 700;
                        -webkit-justify-content: center;
                        justify-content: center;
                    }
                    & dd {
                        width: 68%;
                    }
                }
            }
        }

    }
}


/* service
----------------------------------------------------------*/
.service_main {
    background: none;
}

.service_headline {
    position: absolute;
    top: 0;
    left: 0;
    height: 100vh;
    width: 100%;
    max-width: 100vw;

    & .ttl {
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        margin: auto;
        height: 210px;
        padding: 0;
    }

}

.service_sec01_body {
    padding-top: calc(100vh - 425px);
    padding-bottom: 150px;

    & .wrap_service_sec01_body {
        position: relative;
        padding-bottom: 480px;

        & .service_sec01_header {
            top: 0;
            left: 0;
            width: calc(100% - 150px);
            height: 640px;
            position: absolute;
            height: 100%;

            & .img {
                aspect-ratio: 1290/520;
                border-radius: 0 60px 60px 0;
                overflow: hidden;
                position: sticky;
                top: 125px;
            }
        }

        & .body_inner {
            position: relative;
            z-index: 10;
            width: 100%;
            padding: 420px 0 0;
            overflow: hidden;

            & .wrap {
                max-width: 80vw;
                margin: 0 0 0 auto;
                padding: 105px 0 100px 80px;
                border-radius: 50px 0 0 50px;
                position: relative;
                background-color: #fff;

                & .body_content {
                    padding-left: 2rem;
                    margin-bottom: 8rem;

                    &:last-of-type {
                        margin-bottom: 0;
                    }

                    &[data-border="red"] {
                        border-left: 3px solid #E2263A;
                    }

                    &[data-border="orange"] {
                        border-left: 3px solid #F29704;
                    }

                    &[data-border="green"] {
                        border-left: 3px solid #03B226;
                    }

                    & .ttl_en {
                        font-size: 2.5rem;
                        line-height: 1;
                        margin-bottom: 0.75rem;
                    }

                    & .txt {

                        font-weight: 700;
                        font-size: 22px;
                        line-height: 46px;
                        padding: 0 0 0 40px;
                        margin: 45px 0 0;
                        letter-spacing: .01em;
                    }


                }
            }
        }
    }
}

.service_sec01_body .jirei .ttl_jirei{
    margin-bottom:20px;
    font-size:1.5rem;
}
.service_sec01_body .jirei .sub_ttl_jirei{
    margin-bottom:20px;
}
.jirei_slide .slick-prev,
.jirei_slide .slick-prev:hover,
.jirei_slide .slick-prev:focus{
	left:10px;
	display:block;
	position: absolute;
	top: 50%;
	background:url(./images/service/slide-arrow-l.png) no-repeat center center;
	background-size: 80%;
	width:60px;
	height:60px;
	z-index:9999;
    font-size:0;
}
.jirei_slide .slick-next,
.jirei_slide .slick-next:hover,
.jirei_slide .slick-next:focus{
	right:10px;
	display:block;
	position: absolute;
	top: 50%;
	background:url(./images/service/slide-arrow-r.png) no-repeat center center;
	background-size: 80%;
	width:60px;
	height:60px;
	z-index:9999;
    font-size:0;
}
.jirei_slide .slick-prev::before,
.jirei_slide .slick-next::before{
    font-size: 0;
}
.jirei_slide .slick-slide:not(.slick-center){
    transform: scale(0.92);
    opacity: 0.5;
}

@media(max-width: 1023px) {
    .service_sec01_body {
        padding-top: calc(100vh - 300px);
        padding-bottom: 0px;
    }

    .service_sec01_body {
        & .wrap_service_sec01_body {
            padding-bottom: 60px;

            & .body_inner {
                padding: 520px 0 0;

                & .wrap {
                    max-width: 90vw;
                    margin: 0 0 0 auto;
                    padding: 105px 0 100px 80px;
                    border-radius: 50px 0 0 50px;
                    position: relative;
                    background-color: #fff;

                    & .body_content {
                        & .txt {
                            font-weight: 700;
                            font-size: 22px;
                            line-height: 46px;
                            padding: 0 62px 0 0px;
                            margin: 45px 0 0;
                            letter-spacing: .01em;
                        }
                    }
                }
            }
        }
    }
}

@media(max-width: 767px) {
    .service_headline {
        top: -45px;

        & .headline {
            & .recruit_ttl01 {
                padding: 0px 0 0px;
                height: 132px;
            }
        }
    }

    .service_sec01_body {
        padding-top: calc(100vh - 66vh);
        padding-bottom: 0px;

        & .wrap_service_sec01_body {
            padding-bottom: 60px;

            & .service_sec01_header {
                top: 140px;
                left: 0;
                width: calc(100% - 5vw);
                height: 100%;

                & .img {
                    aspect-ratio: 326/210;
                    border-radius: 0 40px 0 40px 0;

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

            & .body_inner {
                & .wrap {
                    padding: 15vw 0 15vw 10vw;
                    border-radius: 40px 0 0 40px;

                    & .body_content {
                        margin-bottom: 6rem;

                        & .ttl_en {
                            font-size: 32px;
                            line-height: 1;
                            margin-bottom: 0.75rem;
                        }

                        & .txt {
                            font-size: 14px;
                            line-height: 28px;
                            padding: 0 20px 6px 0px;
                            margin: 45px 0 0;
                            letter-spacing: .01em;
                        }
                    }
                }
            }
        }
    }
    .jirei_slide .slick-prev,
    .jirei_slide .slick-prev:hover,
    .jirei_slide .slick-prev:focus{
        width:40px;
        height:40px;
    }
    .jirei_slide .slick-next,
    .jirei_slide .slick-next:hover,
    .jirei_slide .slick-next:focus{
        width:40px;
        height:40px;
    }
	.service_sec01_body .jirei .ttl_jirei{
	    font-size:1.1rem;
	}
}



/* front text animation
----------------------------------------------------------*/
.main_visual_front h1 {
    font-size: 100px;
    margin: 0;
    padding: 30px;
    text-transform: uppercase;
    display: none;
}

.main_visual_front h1 span {
    display: inline-block;
    transition: transform 0.6s cubic-bezier(0.65, 0.02, 0.23, 1);
    transform: translate(20%, 100%);
    position: relative;
    z-index: 1;
    letter-spacing: 0.05em;
    color: #333;
    text-shadow: 5px 5px 0 #FFF, -5px -5px 0 #FFF, -5px 5px 0 #FFF, 5px -5px 0 #FFF, 0px 5px 0 #FFF, 0-5px 0 #FFF, -5px 0 0 #FFF, 5px 0 0 #FFF;
}

.main_visual_front h1 span:nth-of-type(11) {
    top: -10px;
}

.main_visual_front h1 span:before {
    content: '';
    position: absolute;
    z-index: 1;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform: translateY(-40%);
    transition: transform 0.6s cubic-bezier(0.65, 0.02, 0.23, 1);
}

.main_visual_front h1 span.row {
    overflow: hidden;
    line-height: 0.9;
    display: block;
    transform: none;
    padding-left: 10px;
}

.main_visual_front h1 span.row:before {
    display: none;
}

.main_visual_front h1 .animate {
    transform: translate(0, 0);
}

.main_visual_front h1 .animate:before {
    transform: translateY(100%);
}

@media(max-width: 1023px) {
    .main_visual_front h1 {
        font-size: 70px;
        margin: 0;
        padding: 30px;
        text-transform: uppercase;
        display: none;
    }
}

@media(max-width: 767px) {
    .main_visual_front h1 {
        font-size: 32px;
        margin: 0;
        padding: 0px;
    }

    .main_visual_front h1 span {
        letter-spacing: 0.15em;
        text-shadow: 2px 2px 0 #FFF, -2px -2px 0 #FFF, -2px 2px 0 #FFF, 2px -2px 0 #FFF, 0px 2px 0 #FFF, 0-2px 0 #FFF, -2px 0 0 #FFF, 2px 0 0 #FFF;
    }

    .main_visual_front h1 span:nth-of-type(11) {
        top: -3px;
    }

}


/* front 
----------------------------------------------------------*/
.main_visual_front {
    width: 100%;
    height: 100vh;
    position: relative;

    & .wrap {
        position: absolute;
        bottom: 90px;
        left: 80px;
    }
}

.front_service {
    position: relative;
    z-index: 2;
    display: flex;
    justify-content: flex-start;
    align-items: flex-end;
    flex-direction: column;
    width: 100%;

    & .wrap {
        width: 80vw;
        background-color: #fff;
        padding: 0 0 150px;
        border-radius: 60px 0 0 60px;

        & .item {
            display: block;

            & .item_inner {
                margin: 150px 0 0 150px;

                & .image {
                    aspect-ratio: 2065/940;
                    overflow: hidden;
                    border-radius: 50px 0 0 50px;

                    & .image_inner {
                        transform: scale(1.3);
                    }
                }

                & .content {
                    padding: 0 150px 0 0;
                    position: relative;
                    margin: 55px 0 0 50px;

                    &::before {
                        content: "";
                        display: block;
                        position: absolute;
                        left: 0;
                        top: 5px;
                        height: calc(100% - 142px);
                        background-color: #333;
                        width: 3px;
                        border-radius: 10px;
                    }

                    & .sub {
                        font-size: 18px;
                        font-weight: 900;
                        padding: 0 0 0 40px;
                        letter-spacing: .01em;
                    }

                    & .copy {
                        font-size: 35px;
                        line-height: 60px;
                        font-weight: 900;
                        padding: 16px 0 0 40px;
                    }

                    & .btn {
                        margin: 50px 0 0;
                        max-width: 320px;
                        width: 100%;

                        & a {
                            position: relative;
                            display: flex;
                            align-items: center;
                            justify-content: space-between;
                            height: 80px;
                            line-height: 80px;
                            padding: 0 0px 0 0px;
                            border-radius: 40px;
                            overflow: hidden;
                            z-index: 1;

                            &:before {
                                content: "";
                                display: block;
                                position: absolute;
                                top: 0;
                                left: 0;
                                width: 100%;
                                height: 100%;
                                border-radius: 40px;
                                z-index: 1;
                                pointer-events: none;
                                background-color: #fff;
                            }

                            &[data-color="red"]:before {
                                border: 3px solid #E2263A;
                            }

                            &[data-color="orange"]:before {
                                border: 3px solid #F29704;
                            }

                            &[data-color="green"]:before {
                                border: 3px solid #03B226;
                            }

                            &[data-color="blue"]:before {
                                border: 3px solid #2DB7E5;
                            }

                            & .circle {
                                position: absolute;
                                top: 0;
                                left: -150px;
                                width: 100px;
                                height: 100px;
                                z-index: 10;
                                border-radius: 100%;
                                transform: scale(0);
                                pointer-events: none;
                                z-index: 1;
                                translate: none;
                                rotate: none;
                                scale: none;
                                transform: scale(0, 0);
                            }

                            &[data-color="red"] .circle {
                                background: #E2263A;
                            }

                            &[data-color="orange"] .circle {
                                background: #F29704;
                            }

                            &[data-color="green"] .circle {
                                background: #03B226;
                            }

                            &[data-color="blue"] .circle {
                                background: #2DB7E5;
                            }

                            &:hover {
                                color: #fff;
                                opacity: 1;
                            }

                            &:hover .circle {
                                transform: scale(10, 10);
                                transition: all 0.5s;
                            }

                            & .txt {
                                font-size: 24px;
                                position: relative;
                                z-index: 2;
                                transition: color .2s cubic-bezier(.1, .91, .3, .98);
                                letter-spacing: .01em;
                                width: 100%;
                                text-align: center;
                            }
                        }

                    }
                }
            }
        }
    }
}


.main_front {
    padding-bottom: 150px;
}




@media(max-width: 1023px) {
    .main_visual_front {
        width: 100vw;
        height: 100vw;
    }

    .main_visual_front {
        & .wrap {
            position: absolute;
            bottom: 0;
            left: 5vw;
            top: 0;
            margin: auto;
            height: 330px;
        }
    }

    .front_service {
        & .wrap {
            width: 95vw;
        }
    }

    .front_service {
        & .wrap {
            & .item {
                & .item_inner {
                    margin: 12.5vw 0 0 7.5vw;

                    & .content {
                        padding: 0 5vw 0 0;

                        & .copy {
                            font-size: 28px;
                            line-height: 1.65;
                            padding-bottom: 12px;
                        }
                    }
                }
            }
        }
    }
}

@media(max-width: 767px) {
    .main_visual_front {
        width: 100vw;
        height: 100vh;
    }

    .main_visual_front {
        & .wrap {
            position: absolute;
            bottom: 0;
            left: 5vw;
            top: 0;
            margin: auto;
            height: 120px;
        }
    }

    .front_service {
        & .wrap {
            & .item {
                & .item_inner {
                    margin: 15vw 0 0 7.5vw;

                    & .image {
                        aspect-ratio: 326/210;
                        border-radius: 40px 0 0 40px;

                        & .image_inner {
                            transform: scale(1);
                            width: 100%;
                            height: 100%;
                        }

                        & picture {
                            width: 100%;
                            height: 100%;

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

                    & .content {
                        padding: 0 5vw 0 0;
                        margin: 50px 0 0 2.5vw;

                        & .copy {
                            font-size: 18px;
                            line-height: 1.65;
                            padding: 10px 0 0 5vw;
                        }

                        & .sub {
                            font-size: 14px;
                            padding: 14px 0 0 5vw;
                        }

                        &::before {
                            height: calc(100% - 90px);
                        }

                        & .btn {
                            margin: 36px 0 0;

                            & a {
                                height: 60px;
                                line-height: 60px;

                            }
                        }
                    }
                }
            }
        }
    }
}

/*その他と主な共通部分は省略*/

a.btn-flat {
  overflow: hidden;
  padding: 1.5rem 6rem;
  color: #fff;
  border-radius: 0;
  background: #f29704;
}

a.btn-flat span {
  position: relative;
}


a.btn-flat:hover:before {
  -webkit-transform: translateX(-9%) translateY(-25%) rotate(135deg);
  transform: translateX(-9%) translateY(-25%) rotate(135deg);
}

@media(max-width: 767px) {
    a.btn-flat {
        padding: 1rem 1.5rem;
      }
}