/*** common ***/

::selection {
    background: #FFD802;
    color: #111111;
}
::-moz-selection {
    background: #FFD802;
    color: #111111;
}


.lato{
    font-family: 'Lato', sans-serif;
}



.font_type14{
    font-size:14px;
}
.font_type14_2{
    font-size:14px;
    opacity: 0.55;
}
.font_type16{
    font-size:16px;
    letter-spacing: 0.56px;
    color:#757575;
    line-height: 32px;
}
.font_type16_2{
    font-size:16px;
    letter-spacing: 0;
    color:#757575;
    line-height: 28px;
}
.font_type18{
    font-size: 18px;
}
.font_type18_2{
    font-size: 18px;
    font-weight: 500;
    opacity: 0.55;
}
.font_type20{
    font-size: 20px;
    font-weight: 500;
}
.font_type28{
    font-size: 28px;
}
.font_type28_2{
    font-size: 28px;
    font-weight: 500;
}
.font_type30{
    font-size: 30px;
    font-weight: 500;
}
.font_type46{
    font-size:46px;
    font-weight: 700;
    letter-spacing: 2px;
}
.font_type58{
    font-size:58px;
    font-weight: 700;
    white-space: pre-line;
    letter-spacing: 3px;
}

.button{
    display: inline-block;
    width:182px;
    height:50px;
    line-height: 50px;
    background: #FFD802;
    text-align: center;
    border:0;
}


.checkbox{
    display: inline-block;
    width:24px;
    height:24px;
    margin:0;
    margin-right:10px;
    position: relative;
    opacity: 0;
}
.checkbox:checked{
    background: #111;
}
.checkbox:checked::after{
    content: '';
    position: absolute;
    width:24px;
    height:24px;
    left:4px;
    top:4px;
    background: url('../img/icon_check.svg') no-repeat;
}
.checkbox:checked + label::after{
    content: '';
    position: absolute;
    width:24px;
    height:24px;
    left:-34px;
    top:0px;
    background: url('../img/icon_check.svg') #111 no-repeat;
    background-position: 4px 4px;
}




#header{
    position: fixed;
    top:0;
    left:0;
    width:100%;
    display: flex;
    margin-top: 54px;
    z-index: 900;
}
#header > div{
    width:50%;
}
#header > div:nth-child(1){
    padding-left:42.4px;
}
#header > div:nth-child(1) a{
    transform-origin: left bottom;
    display: inline-block;
    transition: all 1s ease-in-out;
}
#header > div:nth-child(2){
    text-align: right;
    padding-right:49px;
}




#menu{
    position: fixed;
    z-index: 800;
    background: #f9f9f9;
    width:100%;
    height:100vh;
    top:0vh;
    opacity: 0;
    left:100vw;
    transition: all .6s ease-in-out;
}
#menu .main_link > div{
    margin-bottom: 10px;
}
#menu .sub_link{
    margin-top:5.55vh;
}
#menu .sub_link > div{
    margin-bottom: 10px;
}
#menu .box{
    margin-top:23.43vh;
    margin-left:10.31vw;
}
#menu .contact{
    margin-top:17.31vh;
    white-space: pre-line;
    line-height:30px;
}
#menu.on{
    left:0;
    opacity: 1;
}



#intro{
    width:100%;
    height:100vh;
    overflow: hidden;
}
#intro #video_container{
    position: relative;
    width:calc(100% + 10px);
    height:calc(100% + 10px);
    left: -4px;
}
#intro #video{
    position: absolute;
    right: 0;
    bottom: 0;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    z-index: -100;
}
#intro .box{
    position: absolute;
    top:0;
    left:0;
    margin-top:40vh;
    margin-left:10.2vw;
}
#intro .sub_title{
    margin-bottom: 23px;
}
#intro .title{
    margin-bottom: 56px;
    font-size:3.2vw;
}


#what_we_do{
    margin-top:203px;
    margin-left: 10.2vw;
    margin-right: 10.2vw;
}
#what_we_do .box{
    margin-top:107px;
    display: flex;
}
#what_we_do .box > div:nth-child(1){
    width:38.54vw;
}
#what_we_do .box > div:nth-child(2){
    margin-left:10.2vw;
    width:30.41vw;
}
#what_we_do .service{
    margin-bottom: 66px;
}
#what_we_do .service.last{
    margin-bottom:0;
}
#what_we_do .service .title{
    margin-bottom: 12px;
}
#what_we_do .main_chair_mac{
    height:100%;
    background: url('../img/main_chair_mac.jpg') no-repeat;
    background-size: cover;
    background-position: center center;
}



#what_change_it{
    margin-top:333px;
    margin-left: 10.2vw;
    margin-right: 10.2vw;
}
#what_change_it .desctiption{
    white-space: pre-line;
    line-height: 32px;
}
#what_change_it .section_title{
    margin-bottom: 16px;
}
#what_change_it .idis{
    margin-top: 66px;
    height:560px;
    position: relative;
    cursor:pointer;
}
#what_change_it .idis .bg{
    position: absolute;
    top:0;
    left:0;
    width:71.04vw;
    height:100%;
    background: url('../img/main_idis.jpg') no-repeat;
    background-size: cover;
}
#what_change_it .title{
    margin-bottom: 14px;
}
#what_change_it .idis .box{
    position: absolute;
    top:50%;
    margin-top:-27.5px;
    left:65vw;
    transition: all 1s ease-in-out;
}
#what_change_it .idis:hover .box{
    padding:15px;
    background: rgba(17,17,17,0.9);
    color:#FFD802;
}
#what_change_it .smartshop{
    margin-top: 86px;
    height:560px;
    margin-left:8.12vw;
    position: relative;
    cursor:pointer;
}
#what_change_it .smartshop .bg{
    position: absolute;
    top:0;
    right:0;
    width:71.04vw;
    height:100%;
    background: url('../img/main_smartshop.jpg') no-repeat;
    background-size: cover;
}
#what_change_it .smartshop .box{
    position: absolute;
    top:50%;
    margin-top:-27.5px;
    left:-8.12vw;
    transition: all 1s ease-in-out;
}
#what_change_it .smartshop:hover .box{
    padding:15px;
    background: rgba(17,17,17,0.9);
    color:#FFD802;
}





#we_were_together{
    margin-top:283px;
    margin-left: 10.2vw;
    margin-right: 10.2vw;
}
#we_were_together .section_title{
    margin-bottom: 16px;
}
#we_were_together .list{
    margin-top:124px;
    display: flex;
    align-items: center;
}
#we_were_together .list > div{
    text-align: center;
    width:25%;
}
#we_were_together .list > div img{
    max-width: 100%;
}




#footer{
    padding-top:283px;
    background: #fff;
    position: relative;
    z-index: 750;
}
#footer .info{
    margin-top:38px;
    margin-bottom:38px;
    margin-left: 10.2vw;
    margin-right: 10.2vw;
    display: flex;
    align-items: flex-end;
}
#footer .info > div{
    width: 50%;
}
#footer .info > div:nth-child(2){
    text-align:right;
}
#footer .info > div > div{
    margin-bottom: 11px;
}
#footer .info > div > div:last-child{
    margin-bottom:0;
}
#footer .info span{
    cursor: pointer;
}


#come_with_us{
    height:409px;
    text-align: center;
    padding-top: 112px;
    padding-bottom: 112px;
    background: url('../img/footer_mouse.jpg') no-repeat;
    background-size: cover;
    background-position: center center;
}
#come_with_us a{
    margin-top:56px;
    width:210px;
}
#come_with_us .section_title{
    margin-bottom: 16px;
}




#about{
    margin-top:307px;
    margin-left: 10.2vw;
    margin-right: 10.2vw;
    display: flex;
    align-items: center;
}
#about .sub_title{
    margin-bottom: 12px;
}
#about .title{
    margin-bottom: 40px;
}
#about > div:nth-child(1){
    width:38.54vw;
}
#about > div:nth-child(2){
    margin-left: 18.33vw;
    width:22.29vw;
    position: relative;
}
#about #about_mac{
    width:22.29vw;
    height:22.29vw;
    background: url('../img/about_mac.jpg') no-repeat;
    background-size: cover;
    background-position: center center;
}
#about #about_sign{
    position: absolute;
    top:59px;
    left:-8.12vw;
    width:22.29vw;
    height:22.29vw;
    background: url('../img/about_sign.jpg') no-repeat;
    background-size: cover;
    background-position: center center;
    z-index: 760;
}





#contact{
    margin-top:284px;
    margin-left: 10.2vw;
    margin-right: 10.2vw;
}
#contact .form{
    width:38.54vw;
}
#contact .start{
    font-size:16px;
    font-weight: 400;
    color:#FF4646;
    margin-left: 2px;
}
#contact #contact_mac{
    position: fixed;
    top:0;
    right:0;
    width:48.75vw;
    height:100vh;
    background: url('../img/contact_mac.jpg') no-repeat;
    background-size: cover;
    background-position: center center;
    z-index: 700;
}
#contact ul{
    margin-top:17px;
}
#contact li{
    width:33.33%;
    float:left;
    margin-top: 15px;
}
#contact .form_input{
    width:100%;
    display: flex;
    align-items:center;
    margin-top:15px;
}
#contact .form_input.first{
    margin-top:32px;
}
#contact .form_input > div{
    width:100%;
}
#contact .form_input > div:nth-child(1){
    margin-right: 7px;
}
#contact .form_input > div:nth-child(2){
    margin-left: 7px;
}
#contact .clear{
    clear: both;
}
#contact #file_input{
    display: inline-block;
    overflow: hidden;
    position: absolute;
    left:-100vw;
    width:0;
    height:0;
}
#contact #v_file{
    margin-top:32px;
    display: flex;
}
#contact #btn_file_upload{
    height:40px;
    line-height: 40px;
    background:#111111;
    color:#fff;
    width:121px;
    cursor:pointer;
    text-align: center;
}
#contact #input_file_text{
    height:40px;
    line-height: 40px;
    background: #EFEFEF;
    padding:0 15px;
    width:calc(100% - 121px);
    overflow: hidden;
}
#contact .title{
    margin-bottom: 10px;
}
#contact .section_title{
    margin-top:90px;
    margin-bottom:5px;
}
#contact .section_title.first{
    margin-top:116px;
}
#contact textarea{
    margin-top:32px;
}
#contact #meeting{
    margin-top:32px;
}
#contact .btn_submit{
    margin-top:90px;
    width:100%;
}
#contact label{
    position: relative;
}
#contact label::before{
    content: '';
    position: absolute;
    width:24px;
    height:24px;
    left:-34px;
    top:0px;
    background: #efefef;
}




#hire{
    margin-top:268px;
    margin-left: 10.2vw;
    margin-right: 10.2vw;
}
#hire .title{
    margin-bottom: 12px;
}
#hire .sub_title{
    margin-bottom:40px;
}
#hire .section_title{
    margin-top:90px;
    margin-bottom: 5px;
}
#hire .section_title.first{
    margin-top:123px;
}
#hire .box{
    width: 38.54vw;
}
#hire #hire_window{
    position: absolute;
    top:0;
    right:10.20vw;
    width:272px;
    height:1080px;
    background: url('../img/hire_window.jpg') no-repeat;
    background-position: center center;
    background-size: cover;
    z-index: 780;
}



#portfolio{
    margin-top:268px;
    margin-left: 10.2vw;
    margin-right: 10.2vw;
}
#portfolio .title{
    margin-bottom: 12px;
}
#portfolio .sub_title{
    margin-bottom: 116px;
}
#portfolio .desctiption{
    white-space: pre-line;
    line-height: 32px;
}
#portfolio .section_title{
    margin-bottom: 16px;
}
#portfolio .idis{
    margin-top: 90px;
    height:560px;
    position: relative;
    cursor:pointer;
}
#portfolio .idis.first{
    margin-top:66px;
}
#portfolio .idis .bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 71.04vw;
    height: 100%;
    background: url('../img/main_idis.jpg') no-repeat;
    background-size: cover;
}
#portfolio .title{
    margin-bottom: 14px;
}
#portfolio .idis .box{
    position: absolute;
    top:50%;
    margin-top:-27.5px;
    left:65vw;
    transition: all 1s ease-in-out;
}
#portfolio .idis:hover .box{
    padding:15px;
    background: rgba(17,17,17,0.9);
    color:#FFD802;
}
#portfolio .smartshop{
    margin-top: 90px;
    height:560px;
    margin-left:8.12vw;
    position: relative;
    cursor:pointer;
}
#portfolio .smartshop .bg {
    position: absolute;
    top: 0;
    right: 0;
    width: 71.04vw;
    height: 100%;
    background: url('../img/main_smartshop.jpg') no-repeat;
    background-size: cover;
}
#portfolio .smartshop .box{
    position: absolute;
    top:50%;
    margin-top:-27.5px;
    left:-8.12vw;
    transition: all 1s ease-in-out;
}
#portfolio .smartshop:hover .box{
    padding:15px;
    background: rgba(17,17,17,0.9);
    color:#FFD802;
}
#portfolio .bccmall .bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 71.04vw;
    height: 100%;
    background: url('../img/portfolio_bccmall.jpg') no-repeat;
    background-size: cover;
}
#portfolio .nutri25 .bg {
    position: absolute;
    top: 0;
    right: 0;
    width: 71.04vw;
    height: 100%;
    background: url('../img/portfolio_nutri25.jpg') no-repeat;
    background-size: cover;
}



#portfolio_view{
    margin-top:164px;
}
#portfolio_view .box{
    display: flex;
    margin-left: 10.2vw;
    margin-right: 10.2vw;
    margin-bottom:151px;
}
#portfolio_view .box > div:nth-child(1){
    width:24.37vw;
}
#portfolio_view .box > div:nth-child(2){
    width:16.25vw;
}
#portfolio_view .box > div:nth-child(3){
    width:38.54vw;
}
#portfolio_view .desctiption{
    white-space: pre-line;
    line-height: 32px;
}
#portfolio_view .gallery{
    height:512px;
    position: relative;
    overflow: hidden;
}
#portfolio_view .gallery::before{
    content: '';
    position: absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:url('../img/main_idis.jpg') no-repeat;
    background-size: cover;
    background-position: center center;
    filter:blur(12px);
}
#portfolio_view .gallery img{
    position:absolute;
    left:10.2vw;
    bottom:0;
}

#portfolio_view.smartshop .gallery::before{
    content: '';
    position: absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:url('../img/main_smartshop.jpg') no-repeat;
    background-size: cover;
    background-position: center center;
    filter:blur(12px);
}
#portfolio_view.smartshop .gallery img {
    position: absolute;
    left: 10.2vw;
    bottom: -140px;
}


#portfolio_view.bccmall .gallery::before{
    content: '';
    position: absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:url('../img/portfolio_bccmall.jpg') no-repeat;
    background-size: cover;
    background-position: center center;
    filter:blur(12px);
}
#portfolio_view.bccmall .gallery img {
    position: absolute;
    left: 10.2vw;
    bottom: -140px;
}

#portfolio_view.nutri25 .gallery::before{
    content: '';
    position: absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:url('../img/portfolio_nutri25.jpg') no-repeat;
    background-size: cover;
    background-position: center center;
    filter:blur(12px);
}
#portfolio_view.nutri25 .gallery img {
    position: absolute;
    left: 10.2vw;
    bottom: -140px;
}



#mask{
    position: fixed;
    top:0;
    left:-100vw;
    width: 100vw;
    height:100vh;
    z-index: 990;
    background: rgba(1,1,1,0.7);
    opacity: 0;
    transition: opacity 1s ease-in-out;
}
#mask.on{
    left:0;
    opacity: 1;
}



#privacy_detail{
    position: fixed;
    top:22vh;
    left:-100vw;
    color:#ffffff;
    white-space: pre-line;
    z-index: 991;
    width:30vw;
    margin-left:-15vw;
    line-height: 32px;
    opacity: 0;
    transition: opacity 1s ease-in-out;
}
#privacy_detail img{
    cursor: pointer;
}
#privacy_detail.on{
    left:50%;
    opacity: 1;
}



#loading{
    position: fixed;
    top:32vh;
    left:-100vw;
    transform-origin: center center;
    z-index: 991;
    width:160px;
    margin-left:-80px;
    text-align:center;
    opacity: 0;
    transition: opacity 1s ease-in-out;
}
#loading.on{
    left:50%;
    opacity: 1;
}
#loading > div{
    color:#fff;
    margin:0 auto;
    margin-top:15px;
}



#contact_success{
    position: fixed;
    top:32vh;
    left:-100vw;
    transform-origin: center center;
    z-index: 991;
    width:254px;
    margin-left:-127px;
    text-align:center;
    opacity: 0;
}
#contact_success.on{
    left:50%;
    opacity: 1;
}
#contact_success img{
    position: absolute;
    top:0;
    right:0;
}
#contact_success > div{
    color:#fff;
    margin:0 auto;
    margin-top:15px;
}



@media (max-width:1699px){

    #header > div:nth-child(1) a{
        transform: rotate(90deg) translate(-35px, 0px);
    }

}


@media (max-width:1500px){

    #we_were_together .list > div > img{
        transform: scale(.7);
    }

    #intro .title{
        font-size:58px;
    }



    #contact .form {
        width: auto;
    }
    #contact_mac{
        display: none;
    }
}

@media (max-width:1024px){

    #intro #video {
        transform: translate(100vw);
    }

}

@media (max-width:768px){

    #header > div:nth-child(1){
        padding-left: 22.4px;
    }
    #header > div:nth-child(2){
        padding-right: 22.4px;
    }

}


@media (max-width:600px){

    body,h1,h2,h3,h4,input,button,select,option{letter-spacing: 1px;}


    .font_type14{
        font-size:13px;
    }
    .font_type14_2 {
        font-size: 13px;
    }
    .font_type16 {
        font-size: 16px;
        letter-spacing: 0.56px;
        color: #757575;
    }
    .font_type16_2{
        font-size:16px;
        letter-spacing: 0;
        color:#757575;
        line-height: 32px;
    }
    .font_type28{
        font-size: 17px;
    }
    .font_type28_2 {
        font-size: 26px;
        font-weight: 500;
    }
    .font_type30 {
        font-size: 28px;
        font-weight: 500;
    }
    .font_type58{
        font-size:35px !important;
        letter-spacing: 1px;
    }


    .button {
        width: 176px;
        height: 48px;
        line-height: 48px;
        font-size:15px;
    }


    #header{
        margin-top:25px;
        position: absolute;
        align-items: center;
    }
    #header > div:nth-child(1){
        padding-left: 4.83vw;
    }
    #header > div:nth-child(1) a{
        transform: rotate(0deg) translate(0px, 0px);
    }
    #header > div:nth-child(1) a svg{
        max-width:123px;
    }
    #header > div:nth-child(2){
        padding-right: 4.83vw;
    }



    #intro .box{
        margin-left:4.83vw;
    }
    #intro #video {
        transform: translate(310vw);
    }




    #what_we_do {
        margin-top: 130px;
        margin-left: 4.83vw;
        margin-right: 4.83vw;
    }
    #what_we_do .box {
        margin-top: 73px;
        display: block;
    }
    #what_we_do .box > div:nth-child(1){
        width:auto;
    }
    #what_we_do .service .title {
        margin-bottom: 15px;
    }
    #what_we_do .service {
        margin-bottom: 70px;
    }
    #what_we_do .font_type16{
        line-height: 28px;
    }



    #what_change_it {
        margin-top: 260px;
        margin-left: 0;
        margin-right: 0;
    }
    #what_change_it .section_title {
        margin-left: 4.83vw;
        margin-right: 4.83vw;
    }
    #what_change_it > div:nth-child(2){
        margin-left: 4.83vw;
        margin-right: 4.83vw;
        letter-spacing: 0;
    }
    #what_change_it .idis{
        height:452px;
    }
    #what_change_it .idis .box{
        left:auto;
        right:4.83vw;
        top:59px;
    }
    #what_change_it .smartshop{
        height:452px;
        margin-left:4.83vw;
    }
    #what_change_it .smartshop .box{
        top:59px;
        left:0;
    }


    #we_were_together {
        margin-top: 265px;
        margin-left: 4.83vw;
        margin-right: 4.83vw;
    }
    #we_were_together .list{
        display: block;
        margin-top:0;
    }
    #we_were_together .list > div{
        width:calc(50% - 4px);
        display: inline-block;
        margin-top:137px;
        vertical-align:middle;
    }
    #we_were_together .list > div img{
        position: relative;
    }
    #we_were_together .seaumweb{
        top:2px;
    }




    #footer {
        padding-top: 236px;
        background: #fff;
        position: relative;
        z-index: 750;
    }
    #footer .info {
        margin-top: 29px;
        margin-bottom: 29px;
        margin-left: 4.83vw;
        margin-right: 4.83vw;
        display: block;
    }
    #footer .info > div {
        width: auto;
    }
    #footer .info > div:nth-child(2) {
        text-align: left;
        margin-top:11px;
    }



    #privacy_detail{
        top:10vh;
        width:89.8vw;
        margin-left:-44.9vw;
    }




    #portfolio {
        margin-top: 256px;
        margin-left: 0vw;
        margin-right: 0vw;
    }
    #portfolio > .title{
        margin-bottom: 12px;
        margin-left: 4.83vw;
        margin-right: 4.83vw;
    }
    #portfolio .sub_title{
        margin-left: 4.83vw;
        margin-right: 4.83vw;
        letter-spacing: 0px;
    }
    #portfolio .idis{
        height:452px;
    }
    #portfolio .idis .box{
        left:auto;
        top:59px;
        right:4.83vw;
    }
    #portfolio .smartshop{
        height:452px;
        margin-left:4.83vw;
    }
    #portfolio .smartshop .box{
        top:59px;
        left:0;
    }



    #portfolio_view{
        margin-top:249px;
    }
    #portfolio_view .box {
        display: block;
        margin-left: 4.83vw;
        margin-right: 4.83vw;
        margin-bottom: 102px;
    }
    #portfolio_view .box > div:nth-child(1){
        width:auto;
    }
    #portfolio_view .box > div:nth-child(2){
        width:auto;
        margin-top:33px;
    }
    #portfolio_view .box > div:nth-child(3){
        width:auto;
        margin-top:63px;
    }
    #portfolio_view .gallery img{
        left:4.83vw;
    }




    #about {
        margin-top: 256px;
        margin-left: 0vw;
        margin-right: 0vw;
        display: block;
    }
    #about .sub_title {
        margin-bottom: 15px;
    }
    #about .title {
        margin-bottom: 50px;
    }
    #about > div:nth-child(1){
        width:auto;
        margin-left: 4.83vw;
        margin-right: 4.83vw;
    }
    #about > div:nth-child(2){
        width:auto;
        margin-left: 26.81vw;
        margin-top:190px;
    }
    #about #about_mac {
        width: 73.18vw;
        height: 73.18vw;
    }
    #about #about_sign {
        width: 73.18vw;
        height: 73.18vw;
    }



    #hire {
        margin-top: 256px;
        margin-left: 4.83vw;
        margin-right: 4.83vw;
    }
    #hire .box {
        width: auto;
    }
    #hire .title {
        margin-bottom: 15px;
    }
    #hire .sub_title {
        margin-bottom: 17px;
    }
    #hire .section_title.first {
        margin-top: 179px;
    }
    #hire #hire_window{
        display: none;
    }


    #contact {
        margin-top: 256px;
        margin-left: 4.83vw;
        margin-right: 4.83vw;
    }
    #contact .font_type16_2{
        line-height: 28px;
    }
    #contact ul {
        margin-top: 30px;
    }
    #contact li {
        width: auto;
        float: none;
        margin-top: 15px;
    }
    #contact .form_input {
        width: 100%;
        display: block;
        align-items: center;
        margin-top: 15px;
    }
    #contact .form_input > div:nth-child(2) {
        margin-left: 0px;
        margin-top:15px;
    }
}
