@charset "UTF-8";

body,html{
    background: #F5F4F0;
    font-family: source-han-sans-japanese, sans-serif;
}

div{
    isolation: isolate;
}

.en{
    font-family: roboto, sans-serif;
}

.bold{
    font-weight: bold !important;
}

html.wf-active,
html.loading-delay {
    visibility: visible;
}

::placeholder {
    color: #c7c6c1;
}

input[type="submit"],
input[type="button"] {
    border-radius: 0;
    -webkit-box-sizing: content-box;
    -webkit-appearance: button;
    appearance: button;
    border: none;
    box-sizing: border-box;
    cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
    display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
    outline-offset: -2px;
}

/* ==========================================================
!COMMONS
========================================================== */

/* commons part
------------------------------------ */

.flexs{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.b10{
    width: 10%;
}

.b20{
    width: 20%;
}

.b30{
    width: 30%;
}

.b40{
    width: 40%;
}

.b50{
    width: 50%;
}

.b60{
    width: 60%;
}

.b70{
    width: 70%;
}

.b80{
    width: 80%;
}

.b90{
    width: 90%;
}

.b100{
    width: 100%;
}

.col1{
    color: #fff !important;
}

.iB{
    display: inline-block;
}


/* ==========================================================
!CONTENST
========================================================== */

/* header part
------------------------------------ */

/* top logo */

#top-logo{
    width: 120px;
    position: fixed;
    left: 30px;
    top: 38px;
    z-index: 999999;
}

#top-logo img{
    position: relative;
    z-index:2;
}

#top-logo h1{
    opacity: 0;
    pointer-events: none;
    position: relative;
    z-index: 1;
}

/* PC only menu list */

.pc-list ul li{
    position: relative;
    padding:  0px 15px;
    text-align: center;
    font-size: 14px;
    font-weight: 400;
    color: #fff;
}

.line{
    width: 72%;
    height: 1px;
    position: absolute;
    left: 14px;
    bottom: -3px;
    content: "";
    z-index: 10;
    transition: .4s cubic-bezier(0.165, 0.84, 0.44, 1);
}


.line::before{
    width: 0%;
    height: 1px;
    position: absolute;
    left: 0;
    top: 0;
    background: #fff;
    content: "";
    z-index: 1;
    transition: .2s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.pc-list ul{
    display: flex;
    justify-content: center;
}

.pc-list{
    width: 100%;
    text-align: center;
    position: fixed;
    margin: auto;
    left: 0;
    right: 0;
    top: 50px;
    mix-blend-mode: difference;
    z-index: 9999;
}

.pc-list ul li p{
    display: block;
    overflow: hidden;
}

.pc-list ul li p span{
    display: block;
    transform: translate(0px,0px);
}

.pc-list ul li:hover span{
    animation: fade .8s ease-out forwards;
}

.pc-list ul li:hover .line:before{
    width: 100%;
    transition-delay: 580ms;
}




@keyframes fade {
    0% {
        transform: translate(0px,0px);
    }
    20% {
        transform: translate(0px,-20px);
        opacity: 1;
    }
    21% {
        transform: translate(0px,-20px);
        opacity: 0;
    }
    22% {
        transform: translate(0px,20px);
        opacity: 0;
    }
    23% {
        transform: translate(0px,20px);
        opacity: 1;
    }
    80% {
        transform: translate(0px,0px);
    }
    100% {
        transform: translate(0px,0px);
    }
}

/* menu btn */


.menu{
    width: 80px;
    height: 80px;
    position: fixed;
    right: 30px;
    top: 30px;
    border-radius: 100px;
    text-align: center;
    font-size: 11px;
    letter-spacing: -0.01em;
    color: #fff;
    mix-blend-mode: difference;
    transition: .4s cubic-bezier(0.165, 0.84, 0.44, 1);
    z-index: 999999;
    cursor: pointer;
}

.menu::before {
    width: 0px;
    height: 0px;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    background: #fff;
    content: "";
    z-index: 1;
    transition: .4s cubic-bezier(0.165, 0.84, 0.44, 1);
    border-radius: 100px;
}

.menu::after {
    width: 80px;
    height: 80px;
    position: absolute;
    left: 0px;
    top: 0;
    bottom: 0;
    margin: auto;
    content: "";
    z-index: 1;
    transition: .4s cubic-bezier(0.165, 0.84, 0.44, 1);
    border-radius: 100px;
    border: 1px solid #2e2e2e;
    opacity: 0;
}

.draw{
    width: 80px;
    height: 80px;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    z-index: 1;
    transition: .4s cubic-bezier(0.165, 0.84, 0.44, 1);
    border-radius: 100px;
    border: 1px solid #fff;
}


.m-up{
    width: 80px;
    height: 8px;
    position: absolute;
    left: 0px;
    right: 0px;
    top: 0;
    bottom: 0;
    margin: auto;
    overflow: hidden;
    display: flex;
    justify-content: center;
    mix-blend-mode: difference;
    z-index: 10;
}

.m-up span{
    position: relative;
    overflow: hidden;
    display: inline-block;
}

.m-up span b{
    position: relative;
    top: -5px;
    display: inline-block;
    transition: .4s cubic-bezier(0.165, 0.84, 0.44, 1);
    font-weight: 500;
}


/* hover */

.menu:hover b.m-up01{
    transform: translate(0px, -10px);
}
.menu:hover b.m-up02{
    transition-delay: 50ms;
    transform: translate(0px, -10px);
}
.menu:hover b.m-up03{
    transition-delay: 100ms;
    transform: translate(0px, -10px);
}
.menu:hover b.m-up04{
    transition-delay: 150ms;
    transform: translate(0px, -10px);
}

.menu:hover::after{
    transform: scale(1.3);
    opacity: 0.5;
}


.m-down{
    width: 80px;
    height: 12px;
    position: absolute;
    left: 0px;
    right: 0px;
    top: 0;
    bottom: 0;
    margin: auto;
    overflow: hidden;
    display: flex;
    justify-content: center;
    z-index: 10;
    mix-blend-mode: difference;
}

.m-down span{
    position: relative;
    overflow: hidden;
    display: inline-block;
}

.m-down span b{
    position: relative;
    top: 15px;
    display: inline-block;
    transition: .4s cubic-bezier(0.165, 0.84, 0.44, 1);
}

/* hover */

.menu:hover b.m-down01{
    transform: translate(0px, -18px);
}
.menu:hover b.m-down02{
    transition-delay: 50ms;
    transform: translate(0px, -18px);
}
.menu:hover b.m-down03{
    transition-delay: 100ms;
    transform: translate(0px, -18px);
}
.menu:hover b.m-down04{
    transition-delay: 150ms;
    transform: translate(0px, -18px);
}


.menu:hover:before{
    width: 80px;
    height: 80px;
}


.close{
    width: 80px;
    height: 80px;
    position: fixed;
    right: 30px;
    top: 30px;
    border-radius: 100px;
    text-align: center;
    font-size: 11px;
    letter-spacing: -0.01em;
    mix-blend-mode: difference;
    transition: .4s cubic-bezier(0.165, 0.84, 0.44, 1);
    z-index: 1000001;
    display: none;
    cursor: pointer;
}

.close-in{
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
}

.close-in::before{
    width: 100%;
    height: 1px;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    content: "";
    background: #fff;
    transform: rotate(20deg);
    transition: .6s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.close-in::after{
    width: 100%;
    height: 1px;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    content: "";
    background: #fff;
    transform: rotate(-20deg);
    transition: .6s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.close-line .close-in::before{
    width: 0%;
    transform: rotate(220deg);
}

.close-line .close-in::after{
    width: 0%;
    transform: rotate(-220deg);
}


.close-i-p1{
    text-align: center;
    color: #fff;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    font-size: 14px;
    transition: .6s cubic-bezier(0.165, 0.84, 0.44, 1);
    overflow: hidden;
}

.close-i-p1 span{
    display: inline-block;
    position: relative;
    transform: translate(0,0px);
    transition: all .6s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.close-line .close-i-p1 span{
    transform: translate(0,80px);
}

.menu-board{
    width: 100%;
    height: 100vh;
    background: #f5f4f0;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 1000000;
    transition: .7s cubic-bezier(0.165, 0.84, 0.44, 1);
    opacity: 0;
    pointer-events: none;
    transform: scale(1.1);
}

.mb-active{
    opacity: 1;
    pointer-events: all;
    transform: scale(1);
}

.mb-flexs{
    width: 100%;
    position: relative;
}

.mbf-in1{
    width: 30%;
    height: 100vh;
    background: url(../img/mbf-in1-base.jpg) no-repeat;
    background-size: cover;
    background-position: center center;
    position: relative;
}

/* about us */
.mbf-photo1{
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 10;
    background: url(../img/mbf-photo1.jpg) no-repeat;
    background-size: cover;
    background-position: -7vw center;
    opacity: 0;
    transition: .7s cubic-bezier(0.165, 0.84, 0.44, 1);
}

/* Service */
.mbf-photo2{
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 10;
    background: url(../img/mbf-photo2.jpg) no-repeat;
    background-size: cover;
    background-position: center center;
    opacity: 0;
    transition: .7s cubic-bezier(0.165, 0.84, 0.44, 1);
}

/* Recruit */
.mbf-photo3{
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 10;
    background: url(../img/mbf-photo3.jpg) no-repeat;
    background-size: cover;
    background-position: center center;
    opacity: 0;
    transition: .7s cubic-bezier(0.165, 0.84, 0.44, 1);
}

/* Company */
.mbf-photo4{
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 10;
    background: url(../img/mbf-photo4.jpg) no-repeat;
    background-size: cover;
    background-position: center center;
    opacity: 0;
    transition: .7s cubic-bezier(0.165, 0.84, 0.44, 1);
}

/* News */
.mbf-photo5{
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 10;
    background: url(../img/mbf-photo5.jpg) no-repeat;
    background-size: cover;
    background-position: center center;
    opacity: 0;
    transition: .7s cubic-bezier(0.165, 0.84, 0.44, 1);
}

/* Contact */
.mbf-photo6{
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 10;
    background: url(../img/mbf-photo6.jpg) no-repeat;
    background-size: cover;
    background-position: center center;
    opacity: 0;
    transition: .7s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.mbf-i-opa{
    opacity: 1 !important;
}

.mbf-in2{
    width: 70%;
    position: relative;
    padding-top: 13vh;
}


.mbf-in-flex{
    width: 80%;
    margin: auto;
    padding-bottom: 7vw;
}

.mbf-in-fitem{
    width: 48%;
}

.mbf-in-fitem ul li{
    display: inline-block;
    margin-bottom: 25px;
    position: relative;
    margin-right: 5vw;
}


.mbf-in-fitem ul li::before{
    width: 0%;
    height: 1px;
    background: #000;
    position: absolute;
    left: 0;
    top: 70px;
    content: "";
    transition: all .3s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.mbf-in-fitem ul li b{
    display: inline-block;
    transform: translate(0px,-20px);
    transition: all .3s cubic-bezier(0.165, 0.84, 0.44, 1);
    opacity: 0;
    font-size: 51px;
}

.mbf-list-on ul li b{
    transform: translate(0px,0px) !important;
    opacity: 1 !important;
}

.mbf-in-p1{
    overflow: hidden;
    position: relative;
    font-size: 13px;
    display: block;
    padding-top: 10px;
    font-weight: 600 !important;
}

.mbf-in-p1 span{
    display: inline-block;
    position: relative;
    transform: translate(0px,20px);
    transition: all .3s cubic-bezier(0.165, 0.84, 0.44, 1);
    opacity: 0;
    font-weight: 500;
}

.mbf-list-on .mbf-in-p1 span{
    transform: translate(0px,0px) !important;
    opacity: 1 !important;
}

.policy-link{
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0px;
    text-decoration: underline;
}

.policy-link small{
    margin-right: 20px;
}

.mbf-left{
    padding-bottom: 4vw;
}


.mbf-in-line{
    width: 80%;
    height: 1px;
    background: #000;
    position: relative;
    margin: auto;
}

.mbf-in-line .policy-link{
    display: none;
}



.mbf-in-copy{
    font-size: 11px;
    letter-spacing: 0px;
    top: 20px;
    position: relative;
}



.td1{
    transition-delay: 50ms !important;
}

.td2{
    transition-delay: 100ms !important;
}

.td3{
    transition-delay: 150ms !important;
}

.td4{
    transition-delay: 200ms !important;
}

.td5{
    transition-delay: 250ms !important;
}

.td6{
    transition-delay: 300ms !important;
}

.td7{
    transition-delay: 350ms !important;
}

.td8{
    transition-delay: 400ms !important;
}

.td9{
    transition-delay: 450ms !important;
}

.td10{
    transition-delay: 500ms !important;
}

.td11{
    transition-delay: 500ms !important;
}

.td12{
    transition-delay: 500ms !important;
}

.td13{
    transition-delay: 500ms !important;
}

.td14{
    transition-delay: 500ms !important;
}

.td15{
    transition-delay: 500ms !important;
}

.td16{
    transition-delay: 500ms !important;
}

.td17{
    transition-delay: 500ms !important;
}

.td18{
    transition-delay: 500ms !important;
}

.td19{
    transition-delay: 500ms !important;
}

.td20{
    transition-delay: 500ms !important;
}


.trs{
    transition: 1.5s cubic-bezier(0.165, 0.84, 0.44, 1);
    opacity: 0;
    transform: translate(0px, 10px);
}



.mbf-in-fitem ul li:hover::before{
    width: 100%;
}

/* loading part
------------------------------------ */

.loading{
    width: 100%;
    height: 100vh;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 999999999999999999999;
    background: #f5f4f0;
}


.load-logo{
    width: 120px;
    height: 39px;
    position: absolute;
    left: 0;
    right: 0;
    top: 35vh;
    margin: auto;
}

.load-img{
    width: 45vw;
    height: 600px;
    position: absolute;
    left: 0;
    right: 0;
    top: -15vw;
    margin: auto;
    background: url(../img/fv-img.jpg) no-repeat;
    background-size: 100%;
    background-position: center center;
}

/* PROGRESS BAR */

.progress {
    height: 2px;
    position: absolute;
    width: 100%;
    left: 0;
    top: 40vw;
    right: 0;
    margin: auto;
}

.progress::before{
    width: 100%;
    height: 2px;
    background: #fff;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
    content: "";
}

.progress_bar {
    border-top: 2px solid #02B6EF;
    position: absolute;
    top: 0;
    width: 0%;
    left: 0;
    z-index: 999;
    transform: all 0.5s;
}
.progress_text {
    font-size: 13px;
    margin-top: 10px;
    position: absolute;
    text-align: center;
    top: 50%;
    left:0;
    width: 100%;
}
.progress_complete .progress_bar {
    border-top-color: rgb(255, 255, 255);
}

.progress_title{
    font-size: 13px;
    margin-top: 10px;
    position: absolute;
    text-align: center;
    top: -50px;
    left:0;
    width: 100%;
    font-weight: 500;
}

.second-l {
}


.second-l .load-img{
    display: none !important;
}

.second-l .load-logo{
    display: none !important;
}

.second-l .progress{
    display: none !important;
}


/* FV part
------------------------------------ */


main.fv{
    width: 100%;
    height: 90vh;
    position: relative;
    left: 0;
    top: 0;
    z-index: 1;
    background: #f6f6f6;
}

@-moz-document url-prefix() {
    main.fv{
        background: #f4f4f4;
    }
}


/*
main.fv::before{
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
    background: #c7c6c1;
    content: "";
    mix-blend-mode: color-burn;
}
*/

.over-vis{
    width: 100%;
    height: 100%;
    position: relative;
    overflow: hidden;
}

.fv__txt{
    width: 50%;
    position: relative;
    left: 30%;
    top: 30%;
    transition: 1.7s cubic-bezier(0.165, 0.84, 0.44, 1);
    z-index: 10;
}

.fv__txt h2{
    font-size: 7vw;
    font-weight: bold;
    display: flex;
    overflow: hidden;
    line-height: 1;
    padding-bottom: 40px;
    color: #141414;
}

.fv__txt h2 span{
    display: inline-flex;
    padding: 0 7px;
    overflow: hidden;
}

.fv__txt h2 span b{
    transform: translate(0px,90px);
    transition: 1.5s cubic-bezier(0.165, 0.84, 0.44, 1);
    opacity: 0;
}

.fvtxt-sub{
    font-weight: bold;
    padding-left: 15px;
    line-height: 2;
    letter-spacing: 0.1em;
    opacity: 0;
    transition: 1.8s cubic-bezier(0.165, 0.84, 0.44, 1);
    transform: translate(-30px,0px);
}

.fv-img{
    width: 45vw;
    height: 600px;
    position: absolute;
    left: 6%;
    top: 8vw;
    margin: auto;
    background: url(../img/fv-img.jpg) no-repeat;
    background-size: 100%;
    background-position: center center;
    -webkit-animation:fuwafuwa 3s infinite linear alternate;
    animation:fuwafuwa 3s infinite linear alternate;
    transition: 1.8s cubic-bezier(0.165, 0.84, 0.44, 1);
    opacity: 0;
    transform: translate(50px,0px);
    overflow: hidden;
    /*mix-blend-mode: multiply;*/
}

.fv-img video{
    width: 100%;
    height: 100%;
    position: absolute;
    left: -5%;
    top: 0;
    bottom: 0;
    margin: auto;
    transform: scale(1.4);
}

#title1{
    mix-blend-mode: saturation;
    z-index: 100;
}


/* fv news area */


.inx-news{
    width: 420px;
    height: 150px;
    position: absolute;
    right: 0;
    bottom: -10vh;
    overflow: hidden;
    border-radius: 20px 0 0 20px;
    z-index: 10;
    background: #141414;
    transform: translate(420px,0);
    transition: .8s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.inx-news::before{
    width: 0px;
    height: 0px;
    position: absolute;
    left: 60px;
    top: 0;
    bottom: 0;
    margin: auto;
    z-index: 1;
    background: rgb(40,94,235);
    background: linear-gradient(90deg, rgba(40,94,235,1) 0%, rgba(36,208,255,1) 100%);
    content: "";
    border-radius: 1000px;
    transition: all .5s cubic-bezier(0.165, 0.84, 0.44, 1);
}


.inx-news:hover::before{
    width: 180px;
    height: 180px;
    transform: scale(3.5);
}

.inx-news:hover p{
    color: #fff;
}

.inx-news:hover p b{
    color: #fff;
}


.inx-news-in{
    width: 420px;
    height: 150px;
    position: relative;
    border-radius: 20px 0 0 20px;
    z-index: 10;
}

.inx-n-img{
    width: 110px;
    height: 58px;
    position: absolute;
    left: 25px;
    top: 0;
    bottom: 0;
    margin: auto;
    background: url(../img/dummy_thumbnail.svg) no-repeat;
    background-size: cover;
    background-position: center center;
}


.inx-news p{
    width: 100%;
    padding-left: 160px;
    padding-right: 50px;
    padding-top: 42px;
    font-size: 13px;
    transition: all .5s cubic-bezier(0.165, 0.84, 0.44, 1);
    color: #fff;
}

.inx-news p b{
    color: #999999;
    display: block;
    padding-bottom: 5px;
    transition: all .5s cubic-bezier(0.165, 0.84, 0.44, 1);
}


/* INDEX CONTENTS part
------------------------------------ */

/* inx c1 */

.inx-c1{
    width: 100%;
    overflow: hidden;
}

.inx-c1-img{
    width: 100%;
    height: 620px;
    background: url(../img/inx-c1-img.jpg) no-repeat;
    background-size: cover;
    background-position: center center;
}


.inx-c1-img-in{
    width: 75%;
    margin: auto;
    padding-top: 10vh
}

.inx-c1-img-in h2{
    font-size: 36px;
    color: #fff;
    font-weight: bold;
    letter-spacing: 0.1em;
    line-height: 160%;
    overflow: hidden;
}

.item .is-visible{
    overflow: hidden;
}

.item__inner{
    display: inline-block;
    transform: translate(0,80px);
    transition: all 1.7s cubic-bezier(0.165, 0.84, 0.44, 1);
}



.inx-c1-p1{
    width: 60%;
    color: #fff;
    font-size: 14px;
    line-height: 220%;
    overflow: hidden;
    padding-top: 35px;
    padding-bottom: 50px;
}

.inx-c1-p1 span{
    position: relative;
    display: inline-block;
    transform: translate(0px,50px);
    transition: all 1.5s cubic-bezier(0.165, 0.84, 0.44, 1);
    opacity: 0;
}

.sp_inx-c1-p1{
    display: none;
}


/* 画像下 */

.inx-c1-big{
    text-align: center;
    font-weight: bold;
    font-size: 22vw;
    transform: scale(1.1);
    line-height: 0.7;
    color: #141414;
    overflow: hidden;
}

.inx-c1-big span{
    overflow: hidden;
    position: relative;
    display: block;
}

.inx-c1-big span b{
    display: inline-block;
    transform: translate(0,100px);
    transition: all 1.2s cubic-bezier(0.165, 0.84, 0.44, 1);
    opacity: 0;
    padding-bottom: 30px;
}

.inxc2-item1 h2{
    font-size: 40px;
    font-weight: bold;
    line-height: 1;
    padding-bottom: 15px;
}

.inxc2-item1 h2 span{
    display: inline-block;
    transform: translate(0px,20px);
    transition: all 1.2s cubic-bezier(0.165, 0.84, 0.44, 1);
    opacity: 0;
}

.inxc2-item1 .sub{
    font-size: 14px;
    padding-bottom: 70px;
}

.inxc2-item1 .sub span{
    display: inline-block;
    transform: translate(0px,20px);
    transition: all 1.2s cubic-bezier(0.165, 0.84, 0.44, 1);
    opacity: 0;
}


/* inx c2 */

.inx-c2-in{
    width: 75%;
    margin: auto;
    padding-top: 110px;
    padding-bottom: 350px;
}

.inxc2-item1{
    width: 30%;
    position: relative;
}

.inxc2-item2{
    width: 70%;
    position: relative;
}

.btn-wrap{
    display: inline-block;
    transform: translate(0px,20px);
    transition: all 1.2s cubic-bezier(0.165, 0.84, 0.44, 1);
    opacity: 0;
}


/* 右側 */

.inxc2-item2 h3{
    font-size: 26px;
    font-weight: bold;
    letter-spacing: 0.1em;
    margin-bottom: 40px;
}

.inxc2-item2 h3 span{
    display: inline-block;
    transform: translate(0px,20px);
    transition: all 1.2s cubic-bezier(0.165, 0.84, 0.44, 1);
    opacity: 0;
    transition-delay: 420ms;
}

.inxc2-i-p1{
    width: 80%;
    font-size: 14px;
    letter-spacing: 0.1em;
    line-height: 230%;
    padding-bottom: 40px;
}

.inxc2-i-p1 span{
    display: inline-block;
    transform: translate(0px,20px);
    transition: all 1.2s cubic-bezier(0.165, 0.84, 0.44, 1);
    opacity: 0;
    transition-delay: 620ms;
}


/* 採用一括かんりくん用　バナー */

.inxc2-in-ban{
    width: 100%;
    background: #279CFF;
    border-radius: 10px;
    padding: 35px;
    transform: translate(0px,20px);
    transition: all 2s cubic-bezier(0.165, 0.84, 0.44, 1);
    opacity: 0;
    transition-delay: 750ms;
    box-shadow: 4px 4px 8px -6px rgba(0,0,0,0.6);
    overflow: hidden;
    position: relative;
}

.inxc2-in-ban::before{
    width: 100%;
    height: 100%;
    border-radius: 10px;
    position: absolute;
    left: 0;
    top: 0;
    background: #25d0ff;
    z-index: 1;
    content: "";
    opacity: 0;
    transition: all 2s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.inxc2-in-ban:hover::before{
    opacity: 1;
}


.inxc2-in-ban img{
    position: relative;
    z-index: 10;
}

.inxc2-inb-p1{
    text-align: center;
    font-weight: 600;
    padding-bottom: 25px;
    letter-spacing: 0.1em;
    color: #fff;
}


.inxc2-inb-img{
    width: 330px;
    margin: auto;
    padding-bottom: 35px;
}

.inxc4-pnone{
    pointer-events: none;
}


/* リクルート */


.inx-c3{
    width: 100%;
    background: #fff;
    padding-bottom: 70px;
    position: relative;
}

.inxc3-box{
    width: 65%;
    height: 550px;
    position: absolute;
    right: 0;
    top: -200px;
    overflow: hidden;
}


.inx-c3-in{
    padding-bottom: 50px;
    padding-top: 0px;
    position: relative;
    margin-top: -100px;
}

.inxc3-box ul{
    overflow-x: scroll;
    overflow-y: hidden;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch
}

.inxc3-box ul li{
    width: 400px;
    height: 445px;
    position: relative;
    display: inline-block;
    margin-left: -6px;
    overflow: hidden;
}

.inxc3-b-in{
    width: 400px;
    height: 445px;
    position: relative;
    transform: translate(0px,20px);
    transition: all 1.5s cubic-bezier(0.165, 0.84, 0.44, 1);
    opacity: 0;
}

.inxc3-box-li{
    width: 100%;
    height: 90%;
    position: relative;
}

.inxc3-box-p1{
    font-size: 12px;
    position: absolute;
    left: 7px;
    bottom: 22px;
    line-height: 0;
    opacity: 0.3;
}

.inxc3-box-p1 span{
    position: relative;
}

.inxc3-box-p1 span::before{
    position: absolute;
    width: 100px;
    height: 1px;
    left: 5px;
    top: 9px;
    background: #000;
    content: "";
}

::-webkit-scrollbar {
    width: 0px;
    height: 0px;
    background: none;
}

::-webkit-scrollbar-thumb {
    background: none;
}



.inxc3-center-btn{
    width: 200px;
    height: 50px;
    position: absolute;
    left: 46.5%;
    top: 140px;
    margin: auto;
    background: red;
    z-index: 99;
    /* or */
    display: none;
}


/* しれっと追加項目 */



.inxc3-flexs .inxc3-box{
    width: 75%;
    position: relative;
    top: 0;
    right: 0;
    overflow: hidden;
}


.inxc3-flexs{
    width: 87%;
    margin-left: auto;
    position: relative;
    top: -200px;
}

.inxc3-item1{
    width: 20%;
    position: relative;
}



/* NEWS */


.inx-c4{
    width: 100%;
    padding-top: 110px;
    padding-bottom: 150px;
    position: relative;
}

.inx-c4-in{
    padding-bottom: 0px;
}

.inx-news-btn{
    margin-top: 100px;
}


.inxc4-box{
    width: 65%;
    height: 500px;
    position: absolute;
    right: 0;
    top: 200px;
    overflow: hidden;
    z-index: 100;
}

.inxc4-box ul{
    overflow-x: scroll;
    overflow-y: hidden;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch
}

.inxc4-box ul li{
    width: 335px;
    position: relative;
    display: inline-block;
    margin-right: 10px;
    transform: translate(0px,20px);
    transition: all 1.5s cubic-bezier(0.165, 0.84, 0.44, 1);
    opacity: 0;
    vertical-align: top;
}

.inxc4-b-in{
    position: relative;
    transform: translate(0px,20px);
    transition: all 1.5s cubic-bezier(0.165, 0.84, 0.44, 1);
    opacity: 0;
}

.inxc4-b-img{
    width: 100%;
    height: 175px;
    background: red;
    position: relative;
}

.inxc4-b-p1{
    padding-top: 20px;
    padding-bottom: 15px;
    font-weight: 500;
    font-size: 13px;
}

.inxc4-b-p2{
    font-size: 14px;
    font-weight: 500;
    line-height: 2;
    white-space: break-spaces;
    letter-spacing: 0.15em;
}

.inxc4-b-p2 a{
}

.inxc4-b-p2 a:hover{
    text-decoration: underline;
}

.inxc4-box .inxc4-b-p2{
    padding-bottom: 30px;
}

.inxc4-b-p1 small{
    background: #000;
    border-radius: 100px;
    margin-left: 15px;
    color: #fff;
    padding: 2px 15px;
    position: relative;
    top: -1px;
}


/* COMMON CONTACT AREA */

.common-contact{
    position: relative;
    padding-bottom: 170px;
    z-index: 10;
    padding-top: 100px;
}

.common-contact .inxc2-item1{
    display: none;
}

.common-contact h3{
    text-align: center;
    font-weight: bold;
    font-size: 15vw;
    line-height: 1;
    display: block;
    overflow: hidden;
}

.common-contact h3 span{
    display: inline-block;
    transform: translate(0px,20px);
    transition: all 1.2s cubic-bezier(0.165, 0.84, 0.44, 1);
    opacity: 0;
}

.cc-txt1{
    display: block;
    text-align: center;
    letter-spacing: 0.1em;
    line-height: 2;
    font-weight: 500;
    padding-bottom: 25px;
    overflow: hidden;
}

.cc-txt1 span{
    display: inline-block;
    transform: translate(0px,20px);
    transition: all 1.2s cubic-bezier(0.165, 0.84, 0.44, 1);
    opacity: 0;
}

.fvscroll-txt{
    width: 10px;
    height: 10px;
    position: absolute;
    left: -10vw;
    bottom: 93px;
    font-size: 12px;
    white-space: nowrap;
    word-break: keep-all;
}

.fvscroll-txt span{
    position: relative;
    display: block;
    transform: rotate(90deg);
    left: -1px;
}

.fv-scroll{
    width: 1px;
    height: 19vh;
    position: absolute;
    left: -10vw;
    bottom: -140px;
    background: #fff;
    z-index: 10;
    overflow: hidden;
    mix-blend-mode: difference;
}

.fv-scroll::before{
    width: 1px;
    height:  100%;
    background: #383838;
    left: 0;
    top: 0;
    position: absolute;
    content: "";
    opacity: 1;
    transform: translate(0px,0%);
    animation: scroll 2.5s infinite cubic-bezier(0.165, 0.84, 0.44, 1) 1s both;
}

main.fv .fvscroll-txt {
    left: 3vw;
    bottom: 173px;
}

main.fv .fv-scroll {
    left: 3vw;
    bottom: -50px;
}

@keyframes scroll {
    0% {
        height: 0%;
        opacity: 0;
        transform: translate(0px,0px);
    }
    1% {
        height: 0%;
        opacity: 1;
        transform: translate(0px,0px);
    }
    30% {
        height: 100%;
        opacity: 1;
        transform: translate(0px,0px);
    }
    31% {
        height: 100%;
        opacity: 1;
        transform: translate(0px,0%);
    }

    60% {
        height: 100%;
        opacity: 1;
        transform: translate(0px,100%);
    }
    61% {
        height: 100%;
        opacity: 0;
        transform: translate(0px,100%);
    }
    100% {
        height: 0%;
        opacity: 0;
        transform: translate(0px,0px);
    }
}



/* footer */

footer{
    width: 100%;
    position: relative;
    background: #141414;
}

.pageTop{
    width: 80px;
    height: 80px;
    position: absolute;
    right: 10%;
    top: -40px;
    background: #fff;
    border-radius: 100px;
}

.pageTop::before{
    width: 10px;
    height: 5px;
    position: absolute;
    left: 0;
    right: 0;
    top: 21px;
    content: "";
    background: url(../img/pageTop-arr.svg) no-repeat;
    background-size: cover;
    background-position: center center;
    margin: auto;
    transition: all .7s cubic-bezier(0.165, 0.84, 0.44, 1);
}


.pageTop p{
    text-align: center;
    font-size: 13px;
    font-weight: 500;
    margin-top: 40%;
    overflow: hidden;
    display: block;
}

.pageTop p span{
    display: inline-block;
}

.pageTop:hover::before{
    top: 10px;
}

.pageTop:hover p span{
    animation: fade .8s ease-out forwards;
}


.f-left{
    width: 90%;
    padding-bottom: 80px;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    position: relative;
}


.fl-in{
    width: 80%;
    position: relative;
    padding-top: 90px;
    z-index: 10;
}


.fl-in-logo{
    width: 150px;
    position: relative;
}

.fl-in ul{
    padding-top: 40px;
    padding-bottom: 60px;
}

.fl-in ul li{
    font-size: 14px;
    font-weight: 600;
    line-height: 2.2;
    color: #fff;
}

.fl-in ul li a{
    color: #fff;
    text-decoration: none;
}

.fl-copy{
    font-size: 10px;
    color: #fff;
}


.fl-list{
    width: 480px;
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    padding-top: 120px;
    z-index: 20;
}

.fl-list ul{
    display: flex;
    justify-content: flex-end;
    padding-bottom: 110px;
}


.fl-list ul li{
    margin-left: 25px;
    font-size: 14px;
    overflow: hidden;
    color: #fff;
    position: relative;
}


.fl-list ul li span{
    display: block;
    transform: translate(0px,0px);
    text-align: center;
}


.fl-list ul li:hover span{
    animation: fade .8s ease-out forwards;
}


.fl-line{
    width: 100%;
    height: 1px;
    position: absolute;
}

.fl-line::before{
    width: 60px;
    height: 1px;
    background: #fff;
    content: "";
    position: absolute;
    left: 5%;
    top: 0;
}


.fl-policy{
    font-size: 11px;
    padding-left: 25px;
    padding-top: 50px;
    color: #F5F4F0;
    position: relative;
}

.fl-policy a{
    margin-right: 25px;
    color: #fff;
}


































/* ==========================================================
!Privacy Policy and Security page
========================================================== */

.ps-c1{
    position: relative;
    width: 100%;
}

.psc1-flex{
    width: 74.2%;
    max-width: 1400px;
    margin: auto;
    padding-top: 20vh;
    padding-bottom: 180px;
    flex-wrap: nowrap;
}

.psc1-f1{
    width: 30%;
}

.psc1-f2{
    width: 70%;
}

.ps-c1 .inxc2-item1{
    width: 100%;
}


.ps-c1 .inxc2-item1 h2{
    font-size: 60px;
}

/* 本文 */

.psc1-f2 h2{
    font-weight: bold;
    font-size: 18px;
    padding-bottom: 50px;
    line-height: 2;
}

.psc1-f2 h3{
    font-size: 14px;
    font-weight: bold;
    line-height: 2;
}

.psc1-f2 h4{
    font-size: 14px;
    padding-bottom: 50px;
    line-height: 2;
}

.psc1-f2 p{
    font-size: 14px;
    letter-spacing: 0.1em;
    line-height: 2
}

.psc1-f2 p a{
    text-decoration: underline;
    color: #141414;
}

.psc1-f2 table{
    font-size: 14px;
}

.psc1-f2 table td,
.psc1-f2 table th{
    border: 1px solid #000;
    padding: 4px;
}

.psc1-f2 .table-wrapper{
    overflow-x: auto;
}

.psc1-f2 .table-wrapper table{
    width: 100%;
    min-width: 600px;
}

.psc1-f2 .table-wrapper::-webkit-scrollbar {
    width: 6px;
    height: 6px;
    background: #ddd;
}

.psc1-f2 .table-wrapper::-webkit-scrollbar-thumb {
    background: #aaa;
}


/* ==========================================================
!NEWS INNER PAGE
========================================================== */



.nin-c1{
    width: 75%;
    max-width: 1400px;
    margin: auto;
    padding-bottom: 0px;
    margin-bottom: 80px;
}

.back-btn{
    text-align: center;
    border-top: 1px solid #000;
    padding-top: 40px;
}

.back-btn p{
    font-weight: bold;
    position: relative;
}

.back-btn p span{
    width: 150px;
    height: 150px;
    position: relative;
    padding: 5px 15px;
    display: block;
    transition: all .5s cubic-bezier(0.165, 0.84, 0.44, 1);
    margin: auto;
    padding-top: 65px
}

.back-btn p span b{
    position: relative;
    z-index: 10;
    transition: all .5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.back-btn p span::before{
    width: 0px;
    height: 0px;
    background: #000;
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    z-index: 0;
    border-radius: 3px;
    transition: all .5s cubic-bezier(0.165, 0.84, 0.44, 1);
    border-radius: 1000px;
}

.back-btn p span:hover b{
    color: #fff;
}

.back-btn p span:hover::before{
    width: 100%;
    height: 100%;
}

.ninc1-flex{
    padding-bottom: 80px;
}

.ninc1-f1{
    width: 30%;
}

.ninc1-f2{
    width: 65%;
}



.ninc1-f1-img{
    width: 100%;
    height: 159px;
    background: url(../img/ninc1-f1-img.jpg) no-repeat;
    background-size: cover;
    background-position: center center;
    position: relative;
}


.ninc1-f2-data{
    font-size: 13px;
    font-weight: bold;
    padding-bottom: 15px;
    line-height: 1;
}

.ninc1-f2-cate{
    line-height: 1;
    margin-bottom: 30px;
}

.ninc1-f2-cate p span{
    background: #000;
    padding: 5px 30px;
    color: #fff;
    font-size: 13px;
    border-radius: 5px;
}

.ninc1-f2 h1{
    font-size: 30px;
    letter-spacing: 0.15em;
    line-height: 1.8;
    padding-bottom: 40px;
    font-weight: bold;
}

.ninc1-contents h2{
    font-size: 20px;
    font-weight: bold;
    border-bottom: 2px solid #000;
    padding-bottom: 10px;
    margin-bottom: 20px;
    line-height: 1.8;
}

.ninc1-contents h3{
    background: #fff;
    padding: 15px 20px;
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 20px;
    position: relative;
    line-height: 1.8;
}

.ninc1-contents h4{
    padding: 15px 20px;
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 20px;
    position: relative;
    line-height: 1.8;
}

.ninc1-contents h4::before{
    width: 4px;
    height: 70%;
    border-radius: 2px;
    background: #000;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    content: "";
}

.ninc1-contents h5{
    padding: 15px 0px;
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 20px;
    position: relative;
    line-height: 1.8;
}


.ninc1-contents p{
    line-height: 2.4;
    letter-spacing: 0.1em;
    margin-bottom: 30px;
    font-size: 15px;
}

.ninc1-contents a{
    color: #279cff;
    text-decoration: underline;
}


/* ==========================================================
!Recruit page
========================================================== */

.rec-c1{
    width: 100%;
    background: url(../img/rec-c1.jpg) no-repeat;
    background-size: cover;
    background-position: center center;
    transform: translate(0px,-20px);
    opacity: 0;
    transition: all 1.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.recc1-main{
    width: 100%;
    max-width: 1400px;
    margin: auto;
}

.recc1-main h1{
    font-size: 70px;
    font-weight: bold;
}

.recc1-main h1{
    padding-top: 35vw;
    padding-bottom: 100px;
    padding-left: 40%;
    color: #fff;
}

.recc1-main h1 span{
    display: inline-block;
}

.recc1-main h1 span b{
    display: inline-block;
    transition: 1.5s cubic-bezier(0.165, 0.84, 0.44, 1);
    opacity: 0;
    transform: translate(-10px, 0px);
}

.rec-stiky{
    width: 100%;
    margin: auto;
    position: relative;
}

.recs-main{
    width: 100%;
    position: relative;
    margin-top: -393px;
    background: #fff;
}


.recs-m-c1{
    width: 100%;
    padding-bottom: 150px;
    background: #fff;
}

.recs-m-c2{
    width: 100%;
    position: relative;
    background: #F5F4F0;
    padding-bottom: 150px;
}

.recs-m-c2::before{
    width: 100%;
    height: 220px;
    background: #fff;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
    content: "";
}

.recs-m-c3{
    width: 100%;
    position: relative;
    background: #F5F4F0;
    padding-bottom: 250px;
}

.recs-m-c4{
    width: 100%;
    position: relative;
    background: #F5F4F0;
    padding-bottom: 250px;
}

.recs-m-c5{
    width: 100%;
    position: relative;
    background: #F5F4F0;
    padding-bottom: 250px;
}


.recs-mc-in{
    width: 90%;
    position: relative;
    margin: auto;
    padding-left: 20%;
}



.recs-mc1-i-p1{
    width: 90%;
    padding-top: 75px;
}


.recs-mc1-i-p1 h4{
    font-size: 25px;
    font-weight: bold;
    letter-spacing: 0.1em;
    line-height: 2.4;
    opacity: 0;
}

#rec-1{
    padding-top: 150px;
}

#rec-2{
    padding-top: 150px;
    padding-bottom: 300px;
}

#rec-3{
    padding-top: 150px;
}

#rec-5{
    padding-top: 150px;
}


/* ギャラリー */


.recs-m-c2 .inxc3-box{
    top: 0px;
    z-index: 10;
}



#rec-2 .inxc3-box{
    width: 75%;
}


/* ストーリーズ */

.recs-mc2-en{
    font-size: 20vw;
    font-weight: bold;
    position: absolute;
    left: 0;
    top: -17vw;
    color: #EBEAE6;
    pointer-events: none;
}

.recs-mc2-i-p1{
    width: 90%;
    padding-top: 90px;
}

.recs-mc2-i-p1 h4{
    font-size: 26px;
    font-weight: bold;
}

.want-icon {
    width: 112px;
    position: relative;
    margin-top: 15px;
    margin-bottom: 30px;
}

.recs-mc2-i-tx1{
    font-size: 14px;
    line-height: 2.2;
    letter-spacing: 0.1em;
    padding-bottom: 70px;
}

.recs-mc2-i-tx1 span{
    display: block;
}

.story-slide{
    width: 110%;
    margin-top: 80px;
    overflow: hidden;
    position: relative;
    z-index: 10;
}



.story-slide ul{
    overflow-x: scroll;
    overflow-y: hidden;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
    padding-right: 50px;
}

.story-slide ul li{
    width: 335px;
    min-height: 410px;
    position: relative;
    display: inline-block;
    margin-right: 10px;
    transform: translate(0px,20px);
    transition: all 1.5s cubic-bezier(0.165, 0.84, 0.44, 1);
    opacity: 0;
    vertical-align: top;
    background: #fff;
}

#recruit .story-slide ul li{
    background: none;
}

.story-slide .inxc4-b-img{
    margin-bottom: 20px;
    border-radius: 10px;
    transition: all .8s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.story-slide ul li:hover .inxc4-b-img{
    box-shadow: 4px 4px 8px 0px rgba(0,0,0,0.2);
}

.sT-btn{
    width: 200px;
    margin-top: 20px;
    margin-left: auto;
    right: -5px;
    display: block !important;
    position: relative;
}

.story-slide .btn_bcolor::before{
    border: none;
}

.story-slide .btn__inner::after{
    opacity: 0;
}

.story-slide .btn__barr::before{
    background: url(../img/arr-black.svg) no-repeat;
    background-position: center center;
}


.sT-btn:hover .btn__inner p{
    color: #000 !important;
}

/* 会社紹介資料 */

#rec-4{
    width: 100%;
    position: relative;
    padding-bottom: 50px;
}

#rec-4 .com-st-win{
    margin-top: 0px;
}


/* 募集職種 */

.recs-mc3-en{
    font-size: 30vw;
    font-weight: bold;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    margin: auto;
    color: #EBEAE6;
    text-align: center;
    white-space: pre;
    word-break: keep-all;
}


.recs-mc3-i-p1{
    padding-top: 90px;
}

.recs-mc3-i-p1 h4{
    font-size: 26px;
    font-weight: bold;
    padding-bottom: 30px;
}

.recs-mc3-i-tx1{
    width: 90%;
    font-size: 14px;
    line-height: 2.2;
    letter-spacing: 0.1em;
    padding-bottom: 70px;
}

.recs-mc3-i-tx1 span{
    display: block;
}

.want-btns{
    width: 80%;
    max-width: 776px;
    border-radius: 20px;
    overflow: hidden;
    position: relative;
}


.wantb-f{
    width: 48%;
    margin-bottom: 30px;
    background: #F5F4F0;
    border-radius: 20px;
    padding: 40px;
    position: relative;
    overflow: hidden;
    border-radius: 20px;
    z-index: 10;
    border: 5px solid #000;
}

.wantb-f:not(:last-child){
    background: #000;
}

.wantb-f:not(:last-child) .wb-in-b-p1{
    color: #fff;
}

.wantb-f:not(:last-child) .wb-in-btn{
    color: #fff;
}

.wantb-f::before{
    width: 0px;
    height: 0px;
    position: absolute;
    left: 90px;
    top: 0;
    bottom: 0;
    margin: auto;
    z-index: 1;
    background: rgb(40,94,235);
    background: linear-gradient(90deg, rgba(40,94,235,1) 0%, rgba(36,208,255,1) 100%);
    content: "";
    border-radius: 1000px;
    transition: all .5s cubic-bezier(0.165, 0.84, 0.44, 1);
}


.wantb-f:hover::before{
    width: 150px;
    height: 150px;
    transform: scale(3);
}

.wantb-f:hover .wb-in-btn::after{
    right: -10px;
}

.wantb-f:hover .wb-in-b-p1{
    color: #fff;
}

.wantb-f:hover .wb-in-btn{
    color: #fff;
}

.wb-in-b-p1 small{
    font-size: 13px;
    position: relative;
    top: -5px;
    padding-left: 3px;
}


.wb-in-btn{
    height: 20px;
    position: absolute;
    right: 30px;
    top: 0;
    bottom: 0;
    margin: auto;
    font-size: 13px;
    padding-right: 30px;
    line-height: 1.6;
    z-index: 10
}

.wb-in-btn::after{
    width: 13px;
    height: 13px;
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    content: "〉";
    line-height: 1;
    text-align: center;
    transition: all .5s cubic-bezier(0.165, 0.84, 0.44, 1);
}


.wb-in-b-p1{
    font-weight: bold;
    font-size: 26px;
    position: relative;
    z-index: 10;
    transition: all .5s cubic-bezier(0.165, 0.84, 0.44, 1);
}





/* stiky line */



.recs-stiky{
    width: 16%;
    min-width: 265px;
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    left: 0;
    z-index: 10;
    padding-left: 5%;
    padding-top: 150px;
}

.recs-stiky ul li{
    width: 90%;
    position: relative;
    margin-bottom: 18px;
    padding-bottom: 3px;
    display: block;
    transform: translate(0,10px);
    display: inline-block;
    opacity: 0;
    transition: all .5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.recs-stiky ul li p{
    font-size: 14px;
    letter-spacing: 0.1em;
    font-weight: bold;
    color: #999;
    transition: all .5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.stiky-active p{
    color: #141414 !important;
}

.recs-stiky ul li p::before{
    width: 20px;
    height: 20px;
    position: absolute;
    right: 0;
    top: -9px;
    margin: auto;
    background: url(../img/recs-s-arr.svg) no-repeat;
    background-size: 100%;
    background-position: center center;
    content: "";
    transition: all .5s cubic-bezier(0.165, 0.84, 0.44, 1);
    transform: translate(0,10px);
    opacity: 0.2 !important;
}

.recs-stiky ul li.is-active::before{
    transform: translate(0,0);
    opacity: 1;
}

.stiky__link-on p{
    color: #000 !important;
}

.recs-stiky ul li.stiky__link-on p::before{
    opacity: 1 !important;
}


/* ==========================================================
!About us page
========================================================== */


.abos-main{
    width: 100%;
    position: relative;
    margin-top: -333px;
    background: #F5F4F0;
}


#abo-1{
    padding-top: 150px;
}

#abo-2{
    padding-top: 150px;
}

#abo-3{
    padding-top: 150px;
}

#abo-4{
    padding-top: 150px;
}

.abo-c1{
    width: 100%;
    background: url(../img/abo-c1.jpg) no-repeat;
    background-size: cover;
    background-position: center center;
    transform: translate(0px,-20px);
    opacity: 0;
    transition: all 1.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.aboc1-main{
    width: 100%;
    max-width: 1400px;
    height: 65vh;
    margin: auto;
}


.abos-m-c1{
    width: 100%;
    padding-bottom: 100px;
    background: #F5F4F0;
}


.abos-m-c2{
    width: 100%;
    position: relative;
    background: #F5F4F0;
    padding-top: 150px;
    padding-bottom: 150px;
}

.abos-mc1-i-p1{
    padding-top: 75px;
}

.mask-landscape{
    margin-bottom: 80px;
}

.mask-landscape{
    background: url("../img/mask-landscape.jpg") center center;
    background-size: cover;
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
    display: table;
}

.mask-landscape h1{
    font-weight: bold;
    font-size: 80px;
    letter-spacing: 0.1em;
    line-height: 1.5;
}

.mask-landscape h1 span b{
    display: inline-block;
    opacity: 0;
    transform: translate(-10px,0);
    transition: all 1.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.abos-mc1-i-p1 h2{
    width: 80%;
    font-size: 18px;
    line-height: 2.4;
    font-weight: 500;
    letter-spacing: 0.1em;
}



.abos-mc-in{
    width: 114%;
    background: #fff;
    border-radius: 20px 0px 0px 20px;
    margin-left: -7%;
    padding: 8% 8%;
}


.abos-mc2-i-p1 h4{
    font-size: 50px;
    font-weight: bold;
    padding-top: 110px;
    letter-spacing: 0.1em;
    line-height: 1.4;
    padding-bottom: 80px;
}

.abos-mc2-i-p1 h4 span{
    display: inline-block;
}

.abos-mc2-i-tx1{
    width: 90%;
    font-size: 14px;
    line-height: 2.2;
    letter-spacing: 0.1em;
    padding-bottom: 80px;
}

.abos-mc2-i-tx1 span{
    display: inline-block;
}


.abos-mc2-i-img{
    width: 90%;
    margin-bottom: 40px;
}


/* ==========================================================
!Company page
========================================================== */

#com-1{
    padding-top: 150px;
    padding-bottom: 250px;
}


.com-c1{
    width: 100%;
    background: url(../img/com-c1.jpg) no-repeat;
    background-size: cover;
    background-position: center center;
    transform: translate(0px,-20px);
    opacity: 0;
    transition: all 1.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}


.com-mc1-i-txt{
    width: 80%;
    padding-top: 75px;
}


.com-p1{
    font-size: 14px;
    line-height: 2;
    letter-spacing: 0.15em;
    display: inline-block;
}


.com-p2{
    font-size: 14px;
    line-height: 2;
    letter-spacing: 0.15em;
    padding-top: 40px;
    display: none;
}


.com-m1-img1{
    padding-bottom: 35px;
}


/* アコーディオン ボタン */

.com-open-btn{
    width: 100%;
    margin: 60px auto 100px auto;
    position: relative;
    cursor: pointer;
}

.com-close-btn{
    display: none;
}

.com-close-btn::before{
    width: 17px;
    height: 17px;
    position: absolute;
    left: 0;
    right: 0;
    top: -20px;
    margin: auto;
    content: "";
    background: url(../img/com-close-btn.svg) no-repeat;
    background-size: 100%;
    background-position: center center;
    z-index: 9999;
}

.com-open-btn p.com-ob-inp{
    text-align: center;
    position: relative;
    font-size: 18px;
    font-weight: bold;
}

.com-open-btn p.com-ob-inp span{
    background: #f5f4f0;
    padding: 0px;
    position: relative;
    z-index: 10;
}

.com-open-btn p.com-ob-inp::before{
    width:100%;
    height: 1px;border-bottom: 1px dashed #000;
    margin: auto;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    z-index: 1;
    content: "";
}

.com-open-btn p.com-ob-inp::after{
    width: 50%;
    height: 100%;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    margin: auto;
    background: #f5f4f0;
    content: "";
    z-index: 2;
}

.more-btn{
    width: 200px;
    position: absolute;
    left: 0;
    right: 0;
    bottom: -60px;
    background: #000;
    border-radius: 100px;
    z-index: 1000;
    margin: auto;
}


.more-btn p{
    padding: 10px 30px 12px 30px;
    color: #fff;
}

.more-btn::before{
    width: 17px;
    height: 17px;
    position: absolute;
    right: 20px;
    top: 0;
    bottom: 0;
    margin: auto;
    background: url(../img/more-btn-arr.svg) no-repeat;
    background-size: 100%;
    background-position: center center;
    content: "";
}



/* メンバー紹介 */


.com-m-c1{
    width: 100%;
    padding-bottom: 400px;
    background: #fff;
}

/* ストーリー */

.com-en-1{
    font-size: 20vw;
    font-weight: bold;
    position: absolute;
    left: 0;
    right: 0;
    top: -100px;;
    margin: auto;
    color: #EBEAE6;
    text-align: center;
}



.com-st-win{
    width: 80%;
    margin-top: 100px;
}


.com-stW-in{
    width: 100%;
    height: 500px;
    background: #EBEAE6;
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    margin-bottom: 30px;
}


.com-m-c4{
    width: 100%;
    position: relative;
    background: #F5F4F0;
    padding-bottom: 50px;
}

.com-mc4-in{
    width: 90%;
    position: relative;
    margin: auto;
    padding-left: 20%;
}

.com-mc4-htop{
    padding-top: 140px;
}

.com-mc4-in h4{
    font-size: 50px;
    font-weight: bold;
    padding-bottom: 5px;
}

.com-mc4-in h4 span{
    display: inline-block;
}

.com-mc4-in h5{
    font-size: 70px;
    font-weight: bold;
    padding-bottom: 70px;
}

.com-mc4-in h5 span{
    display: inline-block;
}

.com-mc4-in h6{
    width: 80%;
    font-size: 14px;
    line-height: 2.2;
    letter-spacing: 0.1em;
    padding-bottom: 80px;
    display: inline-block;
}


/* サービス導線 */

.our-contents{
    width: 100%;
    height: 600px;
    background: url(../img/our-contents.jpg) no-repeat;
    background-size: cover;
    background-position: center center;
    margin: 100px auto 200px auto;
    position: relative;
}


.ouc-in{
    width: 90%;
    max-width: 1400px;
    margin: auto;
    position: relative;
    padding: 5% 15%;
    padding-top: 130px;
}

.ouc-in h4{
    font-size: 26px;
    color: #fff;
    font-weight: bold;
    letter-spacing: 0.1em;
    line-height: 1.8;
    padding-bottom: 30px;
}

.ouc-in h4 span{
    display: inline-block;
}

.ouc-in h5{
    font-size: 14px;
    letter-spacing: 0.1em;
    line-height: 2;
    color: #fff;
    padding-bottom: 60px;
}

.ouc-in h5 span{
    display: inline-block;
}


.ouc-en{
    width: 100%;
    text-align: center;
    font-size: 14vw;
    font-weight: bold;
    position: absolute;
    left: 0;
    right: 0;
    bottom: -5vw;
    line-height: 1;
    color: #141414;
    pointer-events: none;
}

.ouc-en p{
    display: inline-block;
}


/* メンバー紹介 */


#com-2{
    background: #fff;
    padding-top: 150px;
    padding-bottom: 150px;
    position: relative;
}


.com-mc2-flex{
    width: 90%;
    position: relative;
    margin-top: 80px;
}


.com-mc2-fi{
    width: 30%;
    position: relative;
    margin-bottom: 35px;
}


.com-mc2-img{
    width: 100%;
    height: 19vw;
    position: relative;
    overflow: hidden;
    margin-bottom: 20px;
    border-radius: 10px;
    z-index: 10;
}

@media screen and (min-width:768px) {
.com-mc2-img:hover::after{
    opacity: 1;
}
}/* 768px以上の場合 */

.mc2img-1::before{
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    content: "";
    z-index: 8;
    transition: all .5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.mc2img-1::after{
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background: url(../img/mc2img-1-on.jpg) no-repeat;
    background-size: cover;
    background-position: center center;
    content: "";
    z-index: 10;
    opacity: 0;
    transition: all .5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.m2i1::before{
    background: url(../img/mc2img-1-off.jpg) no-repeat;
    background-size: cover;
    background-position: center center;
}

.m2i1::after{
    background: url(../img/mc2img-1-on.jpg) no-repeat;
    background-size: cover;
    background-position: center center;
}

.m2i2::before{
    background: url(../img/mc2img-2-off.jpg) no-repeat;
    background-size: cover;
    background-position: center center;
}

.m2i2::after{
    background: url(../img/mc2img-2-on.jpg) no-repeat;
    background-size: cover;
    background-position: center center;
}

.m2i3::before{
    background: url(../img/mc2img-3-off.jpg) no-repeat;
    background-size: cover;
    background-position: center center;
}

.m2i3::after{
    background: url(../img/mc2img-3-on.jpg) no-repeat;
    background-size: cover;
    background-position: center center;
}

.m2i4::before{
    background: url(../img/mc2img-4-off.jpg) no-repeat;
    background-size: cover;
    background-position: center center;
}

.m2i4::after{
    background: url(../img/mc2img-4-on.jpg) no-repeat;
    background-size: cover;
    background-position: center center;
}

.m2i5::before{
    background: url(../img/mc2img-5-off.png) no-repeat;
    background-size: cover;
    background-position: center center;
}

.m2i5::after{
    background: url(../img/mc2img-5-on.png) no-repeat;
    background-size: cover;
    background-position: center center;
}

.m2i6::before{
    background: url(../img/mc2img-6-off.jpg) no-repeat;
    background-size: cover;
    background-position: center center;
}

.m2i6::after{
    background: url(../img/mc2img-6-on.jpg) no-repeat;
    background-size: cover;
    background-position: center center;
}

.m2i7::before{
    background: url(../img/mc2img-7-off.png) no-repeat;
    background-size: cover;
    background-position: center center;
}

.m2i7::after{
    background: url(../img/mc2img-7-on.png) no-repeat;
    background-size: cover;
    background-position: center center;
}

.m2i8::before{
    background: url(../img/mc2img-8-off.png) no-repeat;
    background-size: cover;
    background-position: center center;
}

.m2i8::after{
    background: url(../img/mc2img-8-on.png) no-repeat;
    background-size: cover;
    background-position: center center;
}

.m2i9::before{
    background: url(../img/mc2img-9-off.png) no-repeat;
    background-size: cover;
    background-position: center center;
}

.m2i9::after{
    background: url(../img/mc2img-9-on.png) no-repeat;
    background-size: cover;
    background-position: center center;
}

.mirr-on::after{
    opacity: 1 !important;
}


/* Profile */

.com-mc2-p1{
    padding-bottom: 5px;
    font-size: 20px;
}

.com-mc2-p1 small{
    font-size: 12px;
    padding-left: 5%;
    vertical-align: middle;
    position: relative;
    top: -3px;
}

.com-mc2-p2{
    font-size: 12px;
    padding-bottom: 20px;
}

.com-mc2-fi2{
    width: 20%;
}

.com-mc2-fi3{
    width: 80%;
    text-align: left;
}

.com-mc-flex2{
    font-size: 12px;
    letter-spacing: 0.1em;
    padding-bottom: 5px;
}



/* 会社概要 */

#com-3{
    padding-top: 150px;
    padding-bottom: 150px;
}

.com-mc2-en{
    font-size: 20vw;
    font-weight: bold;
    position: absolute;
    left: 0;
    right: 0;
    top: -11vw;
    margin: auto;
    color: #EBEAE6;
    text-align: left;
    mix-blend-mode: multiply;
    opacity: 0.5;
}

.com-m3-wrap{
    padding-top: 110px;
    justify-content: flex-start;
}

.com-m3-li1{
    width: 25%;
    position: relative;
    border-bottom: 3px solid #000;
    padding: 20px 0px;
    font-size: 14px;
    font-weight: bold;
    letter-spacing: 3px;
}

.com-m3-li2{
    width: 75%;
    position: relative;
    border-bottom: 1px solid #000;
    padding: 20px 0px;
    padding-left: 3%;
    font-size: 14px;
}

.com-m3-list{
    width: 90%;
    position:  relative;
    margin-bottom: 15px;
}

.google-map{
    width: 150px;
    position: absolute;
    right: 0;
    bottom: 17px;
    margin: auto;
}

.google-map a{
    display: block;
    text-align: center;
    background: #000;
    color: #fff;
    padding: 10px;
    border-radius: 100px;
    overflow: hidden;
    font-weight: bold;
}


.com-ms-li-in{
    width: 300px;
    justify-content: flex-start;
    margin-bottom: 10px;
}

.com-ms-liin-i{
    width: 45%;
    text-align: left;
}

.com-ms-liin-i i{
    width: 3px;
    display: inline-block;
}

.opa p{
    opacity: 0;
}

.opa::before{
    font-size: 14px;
    content: "役員";
    position: absolute;
    left: 0;
    bottom: 25px;
}



/* クライアント 一覧 */

#com-4{
    padding-top: 150px;
    padding-bottom: 150px;
    
}

.client-list{
    width: 90%;
    justify-content: space-between;
}

.cl-item{
    width: 30%;
    text-align: left;
    position: relative;
}

.cl-item li{
    font-size: 14px;
    padding-bottom: 35px;
    font-weight: 500;
    line-height: 1.8;
}

.last-li{
    position: absolute;
    left: 0;
    bottom: 0;
}



/* クライアント 一覧 */

#com-5{
    padding-top: 150px;
    padding-bottom: 0px;
    background: #fff;
}


/* History */

#com-5{
    margin-bottom: 0px;
}

.com-m5-wrap{
    width: 90%;
    position: relative;
    margin-top: 110px;
}

.com-m5-wrap ul {
    padding-left: 20%;
    position: relative;
}

.com-m5-wrap ul li.comc5-in-list{
    position: relative;
    border-left: 1px solid #000;
    padding-bottom: 30px;
}

.his-year{
    line-height: 1;
}

.com-m5-wrap ul li.comc5-in-list b{
    display: block;
    font-size: 14px;
}

.his-year{
    font-size: 45px;
    font-weight: bold;
    position: absolute;
    left: -135px;
    top: -15px;
}

.his-title{
    font-size: 14px;
    padding-left: 40px;
}


.his-title::before{
    width: 10px;
    height: 10px;
    position: absolute;
    left: -5.5px;
    top: 6px;
    content: "";
    background: #000;
    border-radius: 100px;
}

.his-img{
    width: 92%;
    margin: 30px auto;
    border-radius: 10px;
    overflow: hidden;
}

.com-m5-wrap ul li.comc5-in-list:first-child::before{
    width: 1px;
    height: 50px;
    position: absolute;
    left: -1px;
    top: -30px;
    background: #000;
    content: "";
}

.com-m5-wrap ul li ol{
    padding-top: 50px;
    padding-bottom: 50px;
}

.com-m5-wrap ul li ol li{
    position: relative;
    margin-bottom: 50px;
    font-size: 14px;
}

.his-month{
    width: 130px;
    position: absolute;
    left: -160px;
    font-weight: bold;
    text-align: right;
    font-size: 20px;
}

.his-month span{
    position: relative;
    top: -2px;
}

/* ==========================================================
!News List page
========================================================== */


.nl-c1{
    width: 80%;
    max-width: 1400px;
    margin: auto;
    padding-bottom: 100px;
    margin-bottom: 80px;
}

.nlc1-list{
    width: 80%;
    margin: auto;
    margin-bottom: 85px;
}

.nlc1-list ul li{
    width: 25%;
    text-align: center;
    border-bottom: 1px solid #000;
    padding-bottom: 10px;
    position: relative;
}

.nlc1-list ul li p{
    font-size: 14px;
    font-weight: bold;
    line-height: 1;
    padding-bottom: 2px;
}

.nlc1-list ul li b{
    font-size: 10px;
    font-weight: normal;
    line-height: 1;
}

.nlc1-list ul li::after{
    width: 100%;
    height: 0px;
    background: #141414;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    content: "";
    transition: all .5s cubic-bezier(0.165, 0.84, 0.44, 1);
}


.nlc1-list ul li:hover::after{
    height: 3px;
}


.nlc1-l-ac::after{
    height: 3px !important;
}


.nlc1-f-i{
    width: 30%;
    margin-bottom: 85px;
    margin-right: 3.3333333%;
}


.nlc1-f-i-img{
    width: 100%;
    height: 164px;
    position: relative;
    background: url(../img/dummy_thumbnail.jpg) no-repeat;
    background-size: cover;
    background-position: center center;
    margin-bottom: 25px;
}

.nlc1-f-i-img::before{
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background: rgba(0,0,0,0.8);
    mix-blend-mode: multiply;
    content: "";
    z-index: 1;
    opacity: 0;
    transition: all .5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.nlc1-f-i-img::after{
    width: 100%;
    height: 15px;
    content: "VIEW DETAIL";
    text-align: center;
    margin: auto;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 10;
    color: #fff;
    font-size: 12px;
    letter-spacing: 0.1em;
    font-family: roboto, sans-serif;
    opacity: 0;
    transition: all .5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.nlc1-f-i-img:hover::before{
    opacity: 1;
}

.nlc1-f-i-img:hover::after{
    letter-spacing: 3px;
    opacity: 1;
}

.nlc1-f-i-data{
    font-size: 12px;
    font-weight: 500;
    padding-bottom: 15px;
}

.nlc1-f-i-data small{
    background: #000;
    border-radius: 100px;
    margin-left: 15px;
    color: #fff;
    padding: 2px 15px;
    position: relative;
    top: -1px;
}


.nlc1-f-i-titie{
    font-size: 14px;
    letter-spacing: 0.1em;
    line-height: 2;
    margin-bottom: 30px;
    position: relative;
}

.nlc1-f-i-titie:hover{
    text-decoration: underline;
}

.nl-btn{
    width: 200px;
    margin-left: auto;
    display: block !important;
}

.is-none{
    transform: scale(0.9) translate(20px,0px) !important;
    opacity: 1 !important;
}



.nlc1-flexs{
    justify-content: flex-start;
    padding-left: 3.3333%;
    margin-bottom: 40px;
}


.page-navi{
    text-align: center;
}


.page-numbers{
    width: 40px;
    height: 40px;
    border: 1px solid #000;
    display: inline-block;
    text-align: center;
    line-height: 2.3;
    margin:0px 10px;
    border-radius: 5px;
}

.page-numbers i{
    font-style: normal;
}

.page-numbers:first-child i{
    padding-left: 5px;
}

.page-numbers:last-child i{
    padding-right: 5px;
}

.prev,.next{
    width: 110px;
    font-size: 13px;
}

.prev,.next,.dots{
    border: none;
}

.current{
    background: #000;
    color: #fff;
}


.page-numbers:hover{
    background: #000;
    color: #fff;
}

.prev:hover{
    background: none !important;
    color: #000 !important;
}

.next:hover{
    background: none !important;
    color: #000 !important;
}

.dots:hover{
    background: none !important;
    color: #000 !important;
}



.sp-nL-input select {
    display: none;
}




















/* ==========================================================
!404 not page
========================================================== */

#error404{
    background: #f6f6f6;
}

@-moz-document url-prefix() {
    #error404{
        background:#f4f4f4;
    }
}

.not404 h2{
    text-align: center;
    font-size: 40px;
    font-weight: bold;
    padding-bottom: 80px;
    position: relative;
    z-index: 10;
}

.not404{
    padding-top: 20vh;
    padding-bottom: 180px;
}

.n4-img {
    width: 50%;
    height: 400px;
    position: relative;
    margin: auto;
    left: 2%;
    z-index: 1;
}

.n4-img img{
    width: 100%;
}

.n4-img video{
    width: 100%;
    transform: scale(1.2);
}

.thx{
    padding-top: 20vh;
    padding-bottom: 100px;
    position: relative;
    z-index: 10;
}

.thx h2{
    text-align: center;
    font-size: 40px;
    font-weight: bold;
    padding-bottom: 10px;
    position: relative;
    z-index: 10;
}

.thx h3{
    text-align: center;
    margin-bottom: 40px;
    font-size: 25px;
    font-weight: bold;
    padding-bottom: 30px;
    position: relative;
    z-index: 10;
}

.thx p.thx-txt{
    font-size: 14px;
    letter-spacing: 0.1em;
    text-align: center;
    line-height: 2;
    padding-top: 130px;
    position: relative;
    z-index: 10;
}

.oth-btn{
    width: 188px;
    margin: 50px auto;
    display: block !important;
    transition-delay: 350ms;
}



/* ==========================================================
!CONTACT PAGE
========================================================== */


.con-c1 .inxc2-item1 .sub{
    padding-bottom: 50px;
}


.conc1-line{
    width: 100px;
    height: 1px;
    background: #000;
}

.conc1-p1 p{
    padding-top: 30px;
    line-height: 2;
    font-size: 14px;
    letter-spacing: 0.1em;
}


.conc1-f2{
    width: 90%;
    position: relative;
    margin-left: auto;
}


.conc1-i-p1{
    font-size: 14px;
    font-weight: bold;
    padding-bottom: 10px
}

.req{
    color: #279cff;
    padding-left: 3px;
}

.in-input {
    position: relative;
    margin-bottom: 45px;
}

.in-select::after{
    width: 35px;
    height: 30px;
    position: absolute;
    right: 1px;
    top: 0;
    bottom: 0;
    margin: auto;
    background: #fff url(../img/in-select.svg) no-repeat;
    background-position: center 12px;
    content: "";
    /*mix-blend-mode: multiply;*/
}

.mw_wp_form_confirm .in-select::after{
    background: #dcdcdc;
}


.in-input input{
    width: 100%;
    border-radius: 5px;
    padding: 15px 20px;
    box-sizing: border-box;
    font-size: 16px;
    letter-spacing: 0.1em;
    background: #fff;
    color: #000;
}

.in-input select{
    
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    border-radius: 0;
    border: 0;
    margin: 0;
    padding: 0;
    background: none transparent;
    vertical-align: middle;
    font-size: inherit;
    color: inherit;
    box-sizing: content-box;
    display: block;
    
    width: 100%;
    border-radius: 5px;
    padding: 15px 20px;
    box-sizing: border-box;
    font-size: 16px;
    letter-spacing: 0.1em;
    background: #fff;
    color: #000;
}

.in-input textarea{
    width: 100%;
    border-radius: 5px;
    padding: 15px 20px;
    box-sizing: border-box;
    font-size: 16px;
    letter-spacing: 0.1em;
    background: #fff;
    color: #000;
}


.conc1-policy{
    font-size: 14px;
    text-align: center;
}

.conc1-policy .policy-container{
    height: 200px;
    margin-bottom: 45px;
    padding: 10px;
    overflow-y: scroll;
    border-radius: 5px;
    background-color: #fff;
    text-align: left;
}

.input-btns{
    text-align: center;
    margin-top: 40px;
}

.input-btns button{
    background: #000;
    font-size: 16px;
    text-align: center;
    border-radius: 100px;
    padding: 20px 60px;
    color: #fff;
    margin: 0px 10px;
    transition: all .5s cubic-bezier(0.165, 0.84, 0.44, 1);
}


.input-btns button:hover{
    background: #279cff;
}

.submit-btns br{
    display: none;
}

.input-tel{
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    margin-top: 100px;
    text-align: center;
    padding: 30px;
}

.input-tel-p1{
    font-size: 14px;
}

.input-tel h5{
    font-size: 60px;
    font-weight: bold;
    line-height: 1;
    padding-top: 10px;
    padding-bottom: 20px;
}



.mw_wp_form{
    width: 100%;
    position: relative;
}


.mw_wp_form form{
    width: 100%;
    position: relative;
}


.mw_wp_form .error{
    font-size: 12px !important;
    padding-top: 10px;
    padding-left: 5px;
}

input.sbmit-fix{
    background: #000;
    font-size: 16px;
    text-align: center;
    border-radius: 100px;
    padding: 20px 60px;
    color: #fff;
    margin: 0px 10px;
    transition: all .5s cubic-bezier(0.165, 0.84, 0.44, 1);
}


input.sbmit-fix:hover{
    background: #279cff;
}

.mw_wp_form_confirm .in-input{
    padding: 15px 20px;
    background: #dcdcdc;
    border-radius: 5px;
    color: #aaa;
}

#thanks{
    background: #f6f6f6;
}

#thanks-2{
    background: #f6f6f6;
}

@-moz-document url-prefix() {
    #thanks{
        background:#f4f4f4;
    }
    #thanks-2{
        background:#f4f4f4;
    }
}


/* ==========================================================
!Service page
========================================================== */

.serc1-main{
    width: 100%;
    max-width: 1400px;
    height: 65vh;
    margin: auto;
}

.ser-c1{
    width: 100%;
    background: url(../img/ser-c1.jpg) no-repeat;
    background-size: cover;
    background-position: center center;
    transform: translate(0px,-20px);
    opacity: 0;
    transition: all 1.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

#ser-1{
    padding-top: 150px;
}

#ser-2{
    padding-top: 150px;
    padding-bottom: 0px;
}

#ser-3{
    padding-top: 150px;
    margin-top: 0px;
    padding-bottom: 50px;
}

#ser-3 .ser-btn3{
    top: 190px;
}

#ser-4{
    padding-top: 150px;
    padding-bottom: 0px;
    overflow: hidden;
    background: #F5F4F0;
}

.ser-m-c1{
    width: 100%;
    padding-bottom: 100px;
    background: #F5F4F0;
}

.ser-m1-in{
    width: 80%;
    padding-top: 75px;
}

.ser-m1-in h2{
    font-size:69px;
    font-weight: bold;
    margin-bottom: 60px;
}


.ser-m1-img1{
    width: 100%;
    position: relative;
    margin: auto;
    margin-bottom: 40px;
}

.ser-m1-line{
    border-bottom: 1px dashed #000;
    margin-bottom: 60px;
}

.ser-m1-p1{
    position: relative;
    line-height: 2.2;
    letter-spacing: 0.15em;
    font-size: 14px;
    padding-bottom: 55px;
}

.ser-m1-p1 span{
    display: inline-block;
}

.ser-m1-img2{
    width: 100%;
    position: relative;
    margin: auto;
    margin-bottom: 50px;
}

.ser-m1-img2 img{
    display: inline-block;
}

.ser-m1-popup{
    width: 100%;
    background: #fff;
    border-radius: 20px;
    position: relative;
    padding-bottom: 30px;
}

.ser-m1-popup::before{
    width: 40px;
    height: 40px;
    position: absolute;
    left: 0;
    right: 0;
    top: -15px;
    margin: auto;
    transform: rotate(45deg);
    content: "";
    background: #fff;
}

.ser-m1-pin{
    position: relative;
    z-index: 10;
}

.ser-m1-pin h3{
    text-align: center;
    font-size: 26px;
    font-weight: bold;
    padding: 50px 20px 30px 20px;
    letter-spacing: 0.1em;
}

.ser-m1-pin h3 span{
    display: inline-block;
}

.ser-m1-pin p{
    width: 85%;
    margin: auto;
    line-height: 2.2;
    letter-spacing: 0.1em;
}

.ser-m1-h2 span{
    display: inline-block;
}

/* Product area */

.ser-m-c2{
    width: 100%;
    padding-bottom: 100px;
    background: #FFFFFF;
    position: relative;
}

.ser-en-1{
    font-size: 20vw;
    font-weight: bold;
    position: absolute;
    left: 0;
    right: 0;
    top: -150px;;
    margin: auto;
    color: #EBEAE6;
    text-align: left;
    opacity: 0.5;
}

.ser-m2-in{
    width: 80%;
    margin-top: 75px;
    position: relative;
}

.ser-m2-img1{
    width: 330px;
    position: relative;
    margin-bottom: 30px;
}

.ser-btn1{
    position: absolute;
    left: 400px;
    top: 0;
    display: block;
}

.ser-btn2{
    position: absolute;
    left: 600px;
    top: 0;
}

.ser-btn2 .btn__inner{
    background: #000;
}

.ser-btn2 .btn__inner p{
    color: #fff;
}

.ser-btn3{
    position: absolute;
    left: 320px;
    top: 30px;
    display: block;
}

.btn__arr_bdl::after{
    background: url(../img/arr-dl-white.svg) no-repeat !important;
    background-position: center center;
}


.btn__arr_bdl::before{
    background: url(../img/arr-dl-white.svg) no-repeat !important;
    background-position: center center;
}

.ser-m2-img2{
    width: 100%;
    position: relative;
    margin-bottom: 40px;
}

.ser-m2-list{
    position: relative;
    padding-bottom: 75px;
}


.ser-m2-list li{
    font-size: 20px;
    font-weight: 500;
    padding-left: 45px;
    position: relative;
    margin-bottom: 20px;
}

.ser-m2-list li::before{
    width: 30px;
    height: 30px;
    position: absolute;
    left: 0;
    top: 0;
    content: "";
    border: 1px solid #000;
    border-radius: 100px;
}

.ser-m2-list li b{
    width: 30px;
    height: 30px;
    position: absolute;
    left: 0;
    top: 0;
    content: "";
    background: url(../img/ser-m2-l-arr.svg) no-repeat;
    background-position: center center;
    background-size: 18px 18px;
    opacity: 0;
    transform: translate(0px,20px);
    transition: all .3s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.ser-m2-list li.is-active::after{
    opacity: 1;
    transform: translate(0px,0px);
}

.ser-m2-p1{
    position: relative;
    line-height: 2.2;
    letter-spacing: 0.15em;
    font-size: 14px;
    padding-bottom: 85px;
}

.ser-m2-p1 span{
    display: inline-block;
}


.ser-m2-img3{
    width: 100%;
    position: relative;
    margin-bottom: 90px;
}


.dot-line{
    border-bottom: 1px dashed #000;
}


/* User's Voice */

.uV-title{
    font-size: 26px;
    font-weight: bold;
    padding-bottom: 40px;
}


.uV-item{
    background: #F5F4F0;
    position: relative;
}


.uV-img{
    width: 80%;
    height: 150px;
    background: #fff;
    margin: 30px auto;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.uV-img img{
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
}

.uV-name{
    width: 80%;
    margin: auto;
    padding-bottom: 8px;
    position: relative;
}

.uV-name small{
    font-weight: bold;
    padding-left: 2px;
}


.uV-cap{
    width: 80%;
    white-space: break-spaces;
    font-size: 14px;
    word-break: break-all;
    margin: auto;
    padding-bottom: 90px;
    line-height: 2;
}

.uV-btn{
    position: absolute;
    left: 0;
    bottom: 0;
}

.uV-btn p b{
    font-weight: normal;
    padding: 15px 20px;
    position: absolute;
    left: 0;
    bottom: 0;
    font-size: 13px;
    z-index: 100000;
    color: #000;
    transition: all .5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.uV-btn p b::before{
    width: 0%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background: #000;
    content: "";
    z-index: 1;
    mix-blend-mode: color;
    transition: all .5s cubic-bezier(0.165, 0.84, 0.44, 1);
}


.uV-btn p b::after{
    content: "?";
    position: relative;
    top: -1px;
    padding-left: 10px;
    transition: all .5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.uV-item:hover .uV-btn p b{
    color: #fff;
}

.uV-item:hover .uV-btn p b::before{
    width: 100%;
}


.uV-item:hover .uV-btn p b::after{
    padding-left: 20px;
}


.uV-in{
    width: 100%;
    margin-top: 75px;
    position: relative;
    padding-bottom: 110px;
}


/* client slider */

.client-slider{
    padding-bottom: 200px;
    overflow: hidden;
    background: #F5F4F0;
}

.client-slider .wrap{
    mix-blend-mode: multiply;
}

.wrap {
    display: flex;
    align-items: center;
    height: 128px;
    overflow: hidden;
}

.slideshow1 {
    display: flex;
    animation: loop-slide 70s infinite linear 1s both;
}

.slideshow2 {
    display: flex;
    animation: loop-slide 70s infinite linear 1s both;
    animation-direction:reverse;
}

@keyframes loop-slide {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(-100%);
    }
}


.content {
    width: 1889px;
    height: 128px;
}





/* ==========================================================
!Commons item
========================================================== */

/* second title */

.common-title{
    width: 75%;
    max-width: 1400px;
    margin: auto;
    padding-top: 20vh;
    position: relative;
}

.ct-f1 .inxc2-item1{
    width: 100%;
}

.ct-f1 .inxc2-item1 h2{
    font-size: 60px
}



/* second page inner comoons txt */


.sec-in-txt{
    width: 100%;
    display: block;
    position: relative;
}

.sec-in-txt h3{
    height: 40px;
    font-size: 16px;
    transition: all .5s cubic-bezier(0.165, 0.84, 0.44, 1);
    opacity: 0;
    transform: translate(20px,0);
    display: block;
}

.sec-in-txt h3::before{
    width: 0px;
    height: 1px;
    position: absolute;
    left: 0;
    bottom: 0;
    background: #000;
    content: "";
    transition: all .5s cubic-bezier(0.165, 0.84, 0.44, 1);
    display: block;
}

.sec-in-txt h3.is-active::before{
    width: 200px;
}


/* btn css */

.btn-wrap{
    display: inline-block;
}

/* COMMON CNTACT BTN */

.cc-btn{
    width: 177px;
    margin: auto;
    display: block;
    transition-delay: 350ms;
}

.btn__inner{
    border-radius: 100px;
    display: inline-block;
    padding: 10px 60px 10px 25px;
    color: #fff;
    position: relative;
    overflow: hidden;
}

.btn__inner::before{
    width: 100%;
    height: 100%;
    border: 1px solid #fff;
    content: #fff;
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    border-radius: 100px;
    opacity: 0.5;
    transition: all .5s cubic-bezier(0.165, 0.84, 0.44, 1);
    z-index: 10;
}

.btn__inner::after{
    width: 0%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background: #000;
    border-radius: 100px;
    content: "";
    z-index: 1;
    transition: all .5s cubic-bezier(0.165, 0.84, 0.44, 1);
}


.btn__inner p{
    position: relative;
    z-index: 10;
    font-size: 14px;
    font-weight: bold;
    letter-spacing: 0px;
}

.btn__arr{
    width: 17px;
    height: 17px;
    position: absolute;
    right: 15px;
    top: 0;
    bottom: 0;
    margin: auto;
    overflow: hidden;
    z-index: 10;
}

.btn__arr::before{
    width: 17px;
    height: 17px;
    position: absolute;
    left: -17px;
    top: 0;
    background: url(../img/arr-white.svg) no-repeat;
    background-position: center center;
    content: "";
    transition: all .5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.btn__arr::after{
    width: 17px;
    height: 17px;
    position: absolute;
    left: 0;
    top: 0;
    background: url(../img/arr-white.svg) no-repeat;
    background-position: center center;
    content: "";
    transition: all .5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.btn__barr::before{
    width: 17px;
    height: 17px;
    position: absolute;
    left: -17px;
    top: 0;
    background: url(../img/arr-white.svg) no-repeat;
    background-position: center center;
    content: "";
    transition: all .5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.btn__barr::after{
    width: 17px;
    height: 17px;
    position: absolute;
    left: 0;
    top: 0;
    background: url(../img/arr-black.svg) no-repeat;
    background-position: center center;
    content: "";
    transition: all .5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.btn__barr_dl::before{
    background: url(../img/arr-dl-white.svg) no-repeat;
    background-position: center center;
}

.btn__barr_dl::after{
    background: url(../img/arr-dl-black.svg) no-repeat;
    background-position: center center;
}

.btn__inner p{
    overflow: hidden;
    position: relative;
    display: block;
}

.btn__inner p span{
    transform: translate(0px,0px);
    position: relative;
    display: block;
    transition: all .5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.btn_bcolor::before{
    border: 1px solid #000;
}

.btn_fcolor{
    color: #000;
}


.dl-btn{
    width: 155px;
    margin: auto;
    display: block;
}


.nl-btn .btn_bcolor::before{
    border: none;
}

.nl-btn .btn__inner::after{
    opacity: 0;
}

.nl-btn .btn__barr::before{
    background: url(../img/arr-black.svg) no-repeat;
    background-position: center center;
}

.nl-btn .btn__inner p{
    color: #000;
}

.nl-btn:hover .btn__inner p{
    color: #000 !important;
}

/* hover */

.btn-wrap:hover .btn__inner::before{
    opacity: 1;
}

.btn-wrap:hover .btn__inner::after{
    width: 100%;
}

.btn-wrap:hover .btn__arr::before{
    left: 0px;
}

.btn-wrap:hover .btn__arr::after{
    left: 17px;
}

.btn-wrap:hover .btn__inner p span{
    animation: fade .8s ease-out forwards;
}

.btn-wrap:hover .btn_fcolor{
    color: #fff;
}


#stalker{
    position: fixed;
    top: 0px;
    left: 0px;
    z-index: 9999999999999999999999999999999999999999999999999999;
    pointer-events: none;/*ストーカーがマウスカーソルとリンクとの間に挟まってクリックできなくするのを回避*/
    transition: all .5s cubic-bezier(0.165, 0.84, 0.44, 1);
    transform: scale(1);
    pointer-events: none;
}
#stalker .stalker__pointer{
    width: 30px;
    height: 30px;
    transition: all 0.4s ease;/*ホバーの時の変化の指定*/
    border-radius: 100%;
    background: none;
    border: 1px solid #c6c6c6;
    position: absolute;
    top: -15px;
    left: -15px;
}
#stalker.mouse-active .stalker__pointer{
    top: -30px;
    left: -30px;
    width: 60px;
    height: 60px;
    border: 1px solid #fff;
}

#stalker.mouse-active{
    mix-blend-mode: difference;
}

#drag{
    position: fixed;
    top: 0px;
    left: 0px;
    z-index: 9999999999999999999999999999999999999999999999999999;
    pointer-events: none;/*ストーカーがマウスカーソルとリンクとの間に挟まってクリックできなくするのを回避*/
    transition: all .3s cubic-bezier(0.165, 0.84, 0.44, 1);
    transform: scale(1);
    opacity: 1;
    mix-blend-mode: multiply;
    opacity: 0;
    pointer-events: none;
}
#drag .drag__pointer{
    width: 70px;
    height: 70px;
    border-radius: 100%;
    position: absolute;
    top: -35px;
    left: -35px;
    background: #fff;
    transition: all .3s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.drag__pointer::before{
    color: #fff;
    content: "drag";
    text-align: center;
    font-family: roboto, sans-serif;
    font-size: 12px;
    margin-top: 0;
    display: block;
    line-height: 5.5;
    mix-blend-mode: difference;
}

#drag.mouse-active .drag__pointer{
    top: -40px;
    left: -40px;
    width: 80px;
    height: 80px;
    mix-blend-mode: difference;
}

#drag.mouse-active{
    mix-blend-mode: difference;
    opacity: 1 !important;
}

#drag.mouse-active .drag__pointer::before{
    line-height: 6.3;
}


/* animate */

.is-active .item__inner{
    transform: translate(0px,0px) !important;
}

.is-active{
    transform: translate(0px,0px) !important;
    opacity: 1 !important;
}


.delay1{
    transition-delay: 200ms;
}

.delay2{
    transition-delay: 400ms;
}


.pc_btn{
    display: block;
}

.sp_btn{
    display: none;
}

.sp-our-txt{
    display: none;
}

/* ==========================================================
!SP media queries css
========================================================== */

@media screen and (max-width:768px) {
    
    #drag{
        display: none;
        opacity: 0 !important;
    }
    
    #stalker{
        display: none;
        opacity: 0 !important;
    }
    
    /* commons part
    ------------------------------------ */

    .flexs{
    }

    .b10{
        width: 100%;
    }

    .b20{
        width: 100%;
    }

    .b30{
        width: 100%;
    }

    .b40{
        width: 100%;
    }

    .b50{
        width: 100%;
    }

    .b60{
        width: 100%;
    }

    .b70{
        width: 100%;
    }

    .b80{
        width: 100%;
    }

    .b90{
        width: 100%;
    }

    .b100{
        width: 100%;
    }
    
    
    
    /* ==========================================================
    !HEADER ITEM
    ========================================================== */
    
    
    .pc-list{
        display: none;
    }
    
    #top-logo {
        width: 100px;
        left: 21px;
        top: 26px;
        z-index: 999;
    }
    
    .menu {
        width: 60px;
        height: 60px;
        right: 15px;
        top: 15px;
    }
    
    .draw {
        width: 100%;
        height: 100%;
    }
    
    .m-up {
        width: 100%;
    }
    
    
    .m-down {
        width: 100%;
    }
    
    .menu::after{
        width: 100%;
        height: 100%;
    }
    
    .menu:hover:before {
        width: 100%;
        height: 100%;
    }
    
    
    /* inner menu */
    
    .mbf-in1{
        width: 30%;
        background: url(../img/mbf-in1-base.jpg) no-repeat;
        background-size: cover;
        background-position: -135vw center;
    }
    
    .mbf-in2{
        width: 70%;
        padding-top: 11vh;
    }
    
    .mbf-in-fitem{
        width: 100%;
    }
    
    .close{
        width: 60px;
        right: 15px;
        top: 0px;
    }
    
    .mbf-in-fitem ul li{
        width: 100%;
        margin-bottom: 8px;
    }
    
    .mbf-in-fitem ul li b{
        font-size: 28px;
    }
    
    
    .mbf-in-p1{
        padding-top: 2px;
        font-size: 12px;
    }
    
    .sp-menu-none{
        display: none;
    }
    
    .mbf-left{
        padding-bottom: 0px
    }
    
    .policy-link{
        padding-top: 20px;
        padding-bottom: 10px;
    }
    
    .mbf-in-fitem ul li::before{
        opacity: 0;
        display: none;
    }
    
    
    /* ==========================================================
    !INDEX ITEM
    ========================================================== */
    
    /* index fv area
    ------------------------------------ */
    
    
    main.fv{
        z-index: 10;
        /*background: #ededeb;*/
    }
    
    @-moz-document url-prefix() {
        main.fv{
            background: #f4f4f4;
        }
    }
    
    .over-vis{
        width: 100%;
        height: 100%;
        position: relative;
        overflow: hidden;
    }
    
    .fv-img {
        width: 120vw;
        height: 600px;
        left: 9%;
        top: 2vw;
    }
    
    .fv__txt h2 span{
        padding: 0;
    }
    
    .fv__txt {
        width: 85%;
        left: 0% !important;
        right: 0;
        top: 20%;
        margin: auto;
    }
    
    .fv__txt h2 {
        font-size: 13vw;
        letter-spacing: 0.05em;
        padding-bottom: 16px;
    }
    
    .fvtxt-sub{
        font-size: 16px;
        padding-left: 0;
        padding-top: 30vw;
    }
    
    .inx-news {
        width: 90%;
        right: 0;
        bottom: 0;
    }
    
    .inx-n-img {
        left: 25px;
    }
    
    .inx-news-in {
        width: 100%;
    }
    
    .inx-news p {
        width: 100%;
        padding-left: 160px;
        padding-right: 30px;
        padding-top: 34px;
    }
    
    .inx-sp-news{
        width: 100%;
        height: 149px;
        position: absolute;
        bottom: -80px;
        overflow: hidden;
        z-index: 9;
    }
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    .inx-c1-img {
        height: 480px;
    }

    .inx-c1-img-in h2 {
        font-size: 27px;
    }
    
    .inx-c1-img-in {
        width: 85%;
        padding-top: 38vh;
    }
    
    .inx-c1-img-in .inx-c1-p1{
        display: none;
    }
    
    .inx-c1-p1{
        width: 90%;
        color: #000;
        margin: auto;
    }
    
    .inx-c1-img-in .btn-wrap{
        display: none;
    }
    
    .sp-about-btn{
        display: block;
        margin-left: 10%;
    }
    
    .abos-m-c1{
        padding-bottom: 40px;
    }
    
    
    /* TOP SERVICE */
    
    .inx-c2{
        overflow: hidden;
    }
    
    .inx-c2-in{
        width: 90%;
    }
    
    .inxc2-item1{
        width: 100%;
    }
    
    .inxc2-item2{
        width: 100%;
        padding-left: 5%;
        margin-top: 20px;
    }
    
    .inxc2-i-p1{
        width: 105%;
        font-size: 15px;
    }
    
    .sp_inx2-serimg{
        width: 110%;
        /*padding-bottom: 5%;*/
        position: relative;
    }
    
    .inxc2-in-ban{
        display: none;
    }
    
    .sp_inx-c1-p1{
        display: block;
        padding-top: 15px;
        font-size: 15px;
        position: relative;
        left: 5%;
    }
    
    
    
    
    /* inx company */
    
    
    
    .inxc3-box {
        width: 100%;
        height: auto;
    }
    
    .inxc3-flexs .inxc3-box{
        width: 100% !important;
    }
    
    .inxc3-box ul li {
        width: 340px;
        height: 340px;
    }
    
    .inxc3-b-in {
        width: 340px;
        height: 340px;
    }
    
    .inxc3-box .btn-wrap{
        margin-top: 25px;
    }
    
    .inxc3-item1{
        position: relative;
        left: -5%;
    }
    
    
    /* inx recruit */
    
    
    .inx-c3-in{
        padding-top: 0px;
        margin-top: -100px;
        padding-bottom: 10px;
    }
    
    
    .sp-inxc3-img{
        width: 100%;
        position: relative;
        background: url(../img/sp-inxc3-img.jpg) no-repeat;
        background-size: cover;
        background-position: center center;
        transform: scale(1.175);
        margin-left: -2.8%;
        
        padding: 7%;
        padding-top: 150px;
        margin-bottom: 60px;
    }
    
    .sp-inxc3-img h3{
        font-size: 22px;
        margin-bottom: 0px;
        color: #fff;
        line-height: 1.8;
    }
    
    .inxc3-box-p1{
        bottom: 15px;
    }
    
    /* inx NEWS */
    
    
    .inx-c4{
        padding-top: 0;
        padding-bottom: 20px;
    }
    
    .inxc4-box{
        width: 90%;
        height: auto;
        position: relative;
        margin-left: auto;
        top: 0;
    }
    
    
    .inx-c4 .inx-news-btn{
        width: 80%;
        padding-top: 50px;
        margin-top: 0px;
        margin: auto;
    }
    
    .inxc4-b-p2{
        font-size: 15px;
    }
    
    
    
    
    
    
    
    
    
    /* commons contact area */
    
    .common-contact {
        padding-bottom: 110px;
    }
    
    .common-contact .inxc2-item1{
        width: 90%;
        margin: auto;
        display: block;
    }
    
    .common-contact .inxc2-item1 .sub{
        padding-bottom: 50px;
    }
    
    .common-contact h3{
        width: 100%;
        padding-top: 76vw;
        position: absolute;
        text-align: center;
        font-size: 20vw;
    }
    
    .cc-txt1{
        width: 80%;
        margin: auto;
        text-align: left;
        font-size: 14.5px;
        padding-bottom: 40px;
    }
    
    
    .cc-btn{
        width: 80%;
        margin: auto;
    }
    
    
    .cc-txt1 span{
        font-size: 15px;
    }
    
    
    
    
    /* commons btn */
    
    .pc_btn{
        display: none;
    }
    
    .sp_btn{
        display: block;
    }
    
    
    /* footer */
    
    .pageTop{
        top: 30px;
        right: 15px;
    }
    
    .fl-in{
        margin: auto;
    }
    
    .fl-list{
        width: 80%;
        position: relative;
    }
    
    .fl-list ul{
        display: block;
        padding-bottom: 50px;
    }
    
    .fl-list ul li {
        margin-bottom: 10px;
        padding-left: 0px;
        margin-left: 0;
    }
    
    .fl-list ul li span{
        font-size: 30px;
        text-align: left;
        font-weight: bold;
    }
    
    .fl-policy{
        padding-left: 0;
    }
    
    .fl-policy a{
        color: #fff;
        margin-right: 15px;
    }
    
    .fl-line{
        position: relative;
        left: 0;
    }
    
    .fl-line::before{
        left: 0;
    }
    
    /* menu inner */
    
    .mbf-in-line .policy-link{
        display: block;
    }
    
    
    
    
    
    
    /* about page */
    
    #abo-1{
        padding-top: 80px;
    }
    
    .aboc1-main{
        height: 300px;
    }
    
    .abo-c1{
        background: url(../img/abo-c1.jpg) no-repeat;
        background-size: cover;
        background-position: left center;
    }
    
    .abos-main{
        margin-top: 0px;
        overflow: hidden;
    }
    
    .recs-stiky ul li::before{
        opacity: 1 !important;
    }
    
    .recs-stiky ul li p{
        color: #000;
        font-size: 16px;
    }
    
    .recs-mc-in{
        width: 80%;
        padding-left: 0px;
        padding-bottom: 0px;
    }
    
    .mask-landscape h1{
        font-size: 40px;
    }
    
    .abos-mc1-i-p1{
        padding-top: 40px;
    }
    
    .abos-mc1-i-p1 h2{
        width: 105%;
        font-size: 15px;
        font-weight: 600;
        text-align: justify;
        line-height: 2.2;
    }
    
    .mask-landscape{
        margin-bottom: 50px;
    }
    
    #service .recs-mc-in{
        width: 85%;
    }
    
    #ser-3 .ser-btn3{
        top: 0px;
    }
    
    /* mission */
    
    
    #abo-2{
        padding-top: 60px;
        overflow: hidden;
    }
    
    
    .abos-mc2-i-p1 h4{
        font-size: 24px;
        line-height: 1.7;
        padding-top: 40px;
        padding-bottom: 40px;
        letter-spacing: 0px;
    }
    
    .abos-mc-in{
        padding-top: 60px;
        padding-bottom: 20px;
        width: 115%;
        margin-left: -2%;
    }
    
    .abos-mc2-i-tx1{
        width: 100%;
        text-align: justify;
        font-size: 15px;
        padding-bottom: 40px;
    }
    
    .abos-mc2-i-img{
        width: 108%;
    }
    
    .abos-m-c2{
        padding-bottom: 0px;
    }
    
    /* VALUE */
    
    .com-mc4-in{
        width: 85%;
        padding-left: 0px;
    }
    
    .com-mc4-in h4{
        font-size: 35px;
        padding-top: 0px;
    }
    
    .com-mc4-htop{
        padding-top: 60px !important;
    }

    
    .com-mc4-in h5{
        font-size: 49px;
        padding-bottom: 40px;
    }
    
    .com-mc4-in h6{
        width: 100%;
        padding-bottom: 0px;
    }
    
    #abo-4{
        padding-top: 80px;
        padding-bottom: 0px;
    }
    
    /*  our service btn */
    
    .our-contents{
        height: 180px;
        margin-bottom: 350px;
        margin-top: 0px;
    }
    
    
    .ouc-in{
        padding: 0;
        padding-top: 240px;
        padding-bottom: 80px;
    }
    
    .ouc-in h4{
        display: none;
    }
    
    .ouc-in h5{
        color: #000;
        padding-bottom: 35px;
    }
    
    .our-contents .btn-wrap{
        mix-blend-mode: difference;
    }
    
    .sp-our-txt{
        width: 85%;
        margin: auto;
        font-size: 26px;
        color: #000;
        font-weight: bold;
        letter-spacing: 0.1em;
        line-height: 1.8;
        padding-bottom: 30px;
        padding-top: 140px;
        display: block;
    }
    
    .sp-our-txt span{
        display: inline-block;
    }
    
    
    /* service page */
    
    #ser-1{
        padding-top: 80px;
    }
    
    #ser-2{
        padding-top: 80px;
        padding-bottom: 60px;
    }
    
    .serc1-main{
        height: 300px;
    }
    
    .ser-m1-in{
        width: 100%;
    }
    
    .ser-m2-in{
        width: 100%;
    }
    
    .ser-m1-in h2{
        font-size: 30px;
        margin-bottom: 30px;
        letter-spacing: 0px;
    }
    
    .ser-m1-img1{
        width: 114%;
    }
    
    .ser-m1-pin h3{
        font-size: 22px;
    }
    
    .ser-m1-pin p{
        font-size: 14px;
    }
    
    .ser-en-1{
        top: -35px;
        font-size: 25vw;
    }
    
    .ser-m2-img1{
        width: 100%;
    }
    
    .ser-m2-list li{
        font-size: 15px;
    }
    
    .ser-m2-p1{
        text-align: justify;
        padding-bottom: 30px;
    }
    
    .ser-btn1{
        width: 100%;
        position: relative;
        left: 0;
    }
    
    .ser-btn1 .btn__inner{
        width: 100%;
    }
    
    .ser-btn1 .btn__inner p{
        text-align: center;
        position: relative;
        left: 20px;
    }
    
    .ser-btn2{
        width: 100%;
        position: relative;
        left: 0;
        margin-top: 10px;
        margin-bottom: 80px;
    }
    
    .ser-btn2 .btn__inner{
        width: 100%;
    }

    .ser-btn2 .btn__inner p{
        text-align: center;
        position: relative;
        left: 20px;
    }
    
    
    #ser-3{
        padding-top: 80px;
        margin-top: 0px;
        padding-bottom: 0px;
    }
    
    .ser-m2-img1{
        text-align: center;
    }
    
    
    .ser-btn3{
        width: 100%;
        position: relative;
        left: 0;
    }

    .ser-btn3 .btn__inner{
        width: 100%;
    }

    .ser-btn3 .btn__inner p{
        text-align: center;
        position: relative;
        left: 20px;
    }
    
    #ser-4{
        padding-top: 80px;
    }

    .uV-item{
        background: #fff;
    }
    
    .client-slider{
        padding-bottom: 0px;
    }
    
    .uV-in{
        padding-bottom: 50px;
        margin-top: 60px;
    }
    
    .uV-title{
        padding-bottom: 25px;
    }
    
    .wrap{
        height: 90px;
    }
    
    .story-slide{
        margin-top: 20px;
    }
    
    .story-slide ul{
        padding-right: 0px;
        padding-bottom: 30px;
    }
    
    .story-slide ul li{
        /*background: none !important;*/
    }
    
    
    .ser-m2-list{
        padding-bottom: 30px;
    }
    
    .ser-m2-img3{
        margin-bottom: 30px;
    }
    
    
    
    /* RECRUIT page */
    
    #rec-1{
        padding-top: 80px;
        padding-bottom: 90px;
    }
    
    .recs-main{
        margin-top: 0px;
    }
    
    .recc1-main h1{
        width: 80%;
        margin: auto;
        padding-left: 0px;
        font-size: 29px;
        padding-top: 45vw;
        padding-bottom: 30px;
    }
    
    .rec-sp-fff{
        background: #fff;
    }
    
    .recs-mc1-i-p1{
        width: 100%;
        padding-top: 60px;
    }
    
    .recs-mc1-i-p1 h4{
        width: 105%;
        font-size: 18px;
        text-align: justify;
        line-height: 2;
    }
    
    #rec-2 .inxc3-box{
        width: 90%;
    }
    
    .recs-mc2-en {
        font-size: 26vw;
        top: -28vw;
    }
    
    #rec-3 {
        padding-top: 80px;
        padding-bottom: 10px;
    }
    
    #rec-4{
        padding-top: 80px;
    }
    
    .recs-mc2-i-p1 {
        padding-top: 60px;
    }
    
    .recs-mc2-i-p1{
        width: 100%;
        padding-bottom: 50px;
    }
    
    .com-st-win{
        width: 100%;
    }
    
    .com-stW-in{
        height: 250px;
    }
    
    
    .recs-mc3-i-p1 {
        padding-top: 60px;
    }
    
    .recs-mc3-i-tx1 {
        width: 100%;
        font-size: 15px;
    }
    
    .want-btns{
        width: 100%;
    }
    
    .wantb-f{
        width: 100%;
        margin-bottom: 15px;
        padding: 40px 20px;
    }
    
    .wb-in-b-p1{
        font-size: 20px;
    }
    
    .wb-in-btn{
        right: 10px;
    }
    
    .wb-in-b-p1 small {
        font-size: 11px;
        top: -3px;
    }
    
    #rec-5{
        padding-bottom: 0px;
    }
    
    
    
    /* company page */
    
    #com-1{
        padding-top: 80px;
        padding-bottom: 80px;
    }
    
    .com-mc1-i-txt{
        width: 100%;
    }
    
    .com-open-btn p.com-ob-inp{
        font-size: 12px;
    }
    
    .com-open-btn p.com-ob-inp span{
        text-align: center;
        position: relative;
        z-index: 3;
        padding: 0;
    }
    
    .com-open-btn p.com-ob-inp::before{
        z-index: 1;
    }
    
    .com-open-btn p.com-ob-inp::after{
        width: 70%;
        height: 100%;
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        margin: auto;
        background: #f5f4f0;
        content: "";
        z-index: 2;
    }
    
    .com-p1,.com-p2{
        font-size: 15px;
    }
    
    .com-close-btn::before {
        width: 47px;
        height: 47px;
        top: -43px;
    }
    
    .com-mc2-img{
        height: 300px;
    }
    
    /* member */
    
    .com-mc2-flex{
        width: 100%;
    }
    
    .com-mc2-fi{
        width: 100%;
    }
    
    #com-2{
        padding-top: 80px;
        padding-bottom: 80px;
    }
    
    #com-3{
        padding-top: 80px;
        padding-bottom: 40px;
    }
    
    #com-4{
        padding-top: 80px;
    }
    
    #com-5{
        padding-top: 80px;
    }
    
    /* 会社概要 */
    
    .com-m3-list{
        width: 105%;
    }
    
    .google-map{
        position: relative;
        right: auto;
        bottom: 0;
        left: 0;
        margin: 0;
        margin-top: 20px;
    }
    
    .com-m3-li2{
        line-height: 2;
    }
    
    .com-ms-liin-i:first-child{
        width: 35%;
        font-size: 10px;
    }
    
    #com-5 .recs-mc-in{
        width: 85%;
    }
    
    .com-ms-li-in{
        margin-bottom: 0px;
    }
    
    .com-m5-wrap{
        width: 85%;
        margin-left: auto;
    }
    
    .his-year{
        font-size: 37px;
        left: -100px;
        letter-spacing: 0px;
        top: -10px;
    }
    
    .his-month{
        left: -145px;
        letter-spacing: 0px;
    }
    
    .his-title{
        padding-left: 15px;
    }
    
    .his-img{
        width: 90%;
        margin: 0;
        margin-top: 15px;
        margin-left: auto;
    }
    
    /* クライアント実績 */
    
    .client-list{
        width: 100%;
    }
    
    .com-m3-wrap{
        padding-top: 60px;
    }
    
    .cl-item{
        width: 100%;
    }
    
    .cl-item li{
        padding-bottom: 9px;
    }
    
    .last-li{
        bottom: -50px;
    }
    
    
    /* news list */
    
    
    .nlc1-list{
        display: none;
    }
    
    .nlc1-f-i{
        width: 100%;
        margin-right: 0px;
        margin-bottom: 35px;
    }
    
    .page-numbers {
        width: 30px;
        height: 30px;
        line-height: 1.7;
        margin: 0px 3px;
        border-radius: 3px;
    }
    
    .page-numbers i{
        display: none;
    }
    
    .prev, .next, .dots{
        font-size: 25px;
        line-height: 0.8;
    }
    
    .nlc1-flexs{
        width: 85%;
        margin: auto;
        margin-bottom: 40px;
        padding-left: 0px;
    }
    
    .nl-c1{
        padding-bottom: 0px;
    }
    
    .nL-archives{
        width: 100%;
        overflow: hidden;
    }
    
    .page-navi{
        width: 85%;
        margin: auto;
    }
    
    .sp-nL-input{
        width: 90%;
        margin-left: auto;
        display: block;
        box-shadow: 6px 6px 10px -4px rgb(0 0 0 / 70%);
    }
    
    .sp-nL-input select {
        -moz-appearance: none;
        -webkit-appearance: none;
        appearance: none;
        border-radius: 0;
        border: 0;
        margin: 0;
        padding: 0;
        background: none transparent;
        vertical-align: middle;
        font-size: inherit;
        color: inherit;
        box-sizing: content-box;
        display: block;
        
        
        background: #000;
        width: 113%;
        border-radius: 10px 0 0 10px;
        padding: 30px 20px;
        margin-bottom: 50px;
        color: #fff;
    }
    
    .sp-nL-input select option small{
        font-size: 10px;
        padding-left: 10px;
    }
    
    input:focus, select:focus, textarea:focus {
        border: none;
    }
    
    input:active, select:active, textarea:active {
        border: none;
    }
    
    
    .nin-c1{
        width: 85%;
        margin: auto;
        padding-bottom: 0px;
    }
    
    
    .ninc1-f1{
        width: 100%;
    }
    
    .ninc1-f2{
        width: 100%;
    }
    
    
    .ninc1-f2-data{
        padding: 30px 0px 10px 0px;
    }
    
    .ninc1-f2-cate p span{
        font-size: 10px;
    }
    
    .ninc1-f2 h1{
        font-size: 20px;
        line-height: 1.5;
    }
    
    .ninc1-contents p{
        font-size: 15px;
    }
    
    .ninc1-contents h2{
        font-size: 18px;
    }
    
    .ninc1-contents h3{
        font-size: 18px;
    }
    
    .ninc1-contents h4{
        font-size: 18px;
    }
    
    .ninc1-contents h5{
        font-size: 16px;
    }
    
    .ninc1-contents h4::before{
        height: 85%;
    }
    
    
    
    .ninc1-f1-img{
        height: 160px;
    }
    
    
    /* プライバシー・ポリシー */
    
    
    .psc1-flex{
        width: 85%;
        margin: auto;
        flex-wrap: wrap;
        padding-bottom: 0px;
    }
    
    .psc1-f1{
        width: 100%;
    }
    
    .psc1-f2{
        width: 100%;
    }
    
    
    .input-tel{
        padding: 30px 0px;
        margin-bottom: 80px;
        padding-bottom: 30px;
    }
    
    .input-tel h5{
        font-size: 35px;
    }
    
    .in-input{
        margin-bottom: 23px;
    }
    
    .psc1-f2 h2{
        padding-top: 40px;
    }

    .conc1-policy .policy-container{
        margin-bottom: 23px;
    }
    
    /* contact form */
    
    .conc1-f2{
        width: 100%;
    }
    
    .mw_wp_form{
        margin-top: 50px;
    }
    
    /* commons item */
    
    .inxc2-item1 .sub{
        padding-bottom: 20px;
    }
    
    .recs-stiky{
        position: relative;
        left: 10%;
        padding-top: 60px;
        padding-left: 0px;
    }
    
    .common-title{
        width: 80%;
        padding-bottom: 80px;
    }
    
    .sec-in-txt h3{
        font-size: 24px;
        font-weight: bold;
    }
    
    
    .recs-stiky ul li{
        width: 210px;
        padding-bottom: 0px;
        display: table;
    }
    
    .recs-stiky ul li p::before{
        opacity: 1 !important;
    }
    
    #about .recs-stiky ul li{
        width: 130px;
    }
    
    
    /* キャンセル処理 */
    
    .fl-list ul li:hover span{
        animation: none;
    }
    
    .mbf-photo1,
    .mbf-photo2,
    .mbf-photo3,
    .mbf-photo4,
    .mbf-photo5,
    .mbf-photo6{
        display: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
    }
    
    
    .inxc2-item2 h3 span{
        transform: translate(0px,0px);
        transition: all 1.2s cubic-bezier(0.165, 0.84, 0.44, 1);
        opacity: 1;
    }
    
    .inxc2-i-p1 span{
        transform: translate(0px,0px);
        transition: all 1.2s cubic-bezier(0.165, 0.84, 0.44, 1);
        opacity: 1;
    }
    
    .inx-c3-in .inxc2-item2{
        display: inline-block;
        transform: translate(0px,20px);
        transition: all 1.2s cubic-bezier(0.165, 0.84, 0.44, 1);
        opacity: 0;
    }
    
    /* loading */
    
    .load-img{
        width: 85vw;
        top: -75vw;
    }
    
    .progress{
        top: auto;
        bottom: 30vw;
    }
    
    /* fv add */
    
    .fvscroll-txt {
        left: 1vw;
        bottom: 56px;
        font-size: 10px;
    }
    
    .fv-scroll {
        height: 9vh;
        left: 1vw;
        bottom: -36px;
    }
    
    main.fv .fvscroll-txt {
        left: 5vw;
        bottom: 76px;
    }
    
    main.fv .fv-scroll {
        height: 16.5vh;
        left: 5vw;
        bottom: -70px;
    }


    .td1{
        transition-delay: 50ms !important;
    }

    .td2{
        transition-delay: 50ms !important;
    }

    .td3{
        transition-delay: 50ms !important;
    }

    .td4{
        transition-delay: 50ms !important;
    }

    .td5{
        transition-delay: 50ms !important;
    }

    .td6{
        transition-delay: 50ms !important;
    }

    .td7{
        transition-delay: 50ms !important;
    }

    .td8{
        transition-delay: 50ms !important;
    }

    .td9{
        transition-delay: 50ms !important;
    }

    .td10{
        transition-delay: 50ms !important;
    }

    .td11{
        transition-delay: 50ms !important;
    }

    .td12{
        transition-delay: 50ms !important;
    }

    .td13{
        transition-delay: 50ms !important;
    }

    .td14{
        transition-delay: 50ms !important;
    }

    .td15{
        transition-delay: 50ms !important;
    }

    .td16{
        transition-delay: 50ms !important;
    }

    .td17{
        transition-delay: 50ms !important;
    }

    .td18{
        transition-delay: 50ms !important;
    }

    .td19{
        transition-delay: 50ms !important;
    }

    .td20{
        transition-delay: 50ms !important;
    }

    
    
}/* end */

































































