/* 
For: Elephant Recruit Site
Original Author: King Chi Hsin
URL:
*/

/* Default */

*{
  box-sizing: border-box;  
}

html{
    font-family: 'Noto Sans JP', 'sans-serif';
    font-size: 62.5%;
}

:root{
    --background-dark: rgb(0,85,157);
    --background-light: rgb(0,175,236); 
    --font-on-blue: white;
    --font-on-white: black;
    
    /* scale for web */
    --font-size-15: 1.464rem;
    --font-size-17: 1.611rem;
    --font-size-18: 1.772rem;

}

body{
    margin: 0;
    min-height: 100vh;
    overflow-x: hidden;
}

h1{
    font-weight: 900;
}

h2{
    font-weight: 700;
}

h3, p, li, td{
    font-weight: 500;
}

ul{
    list-style-type: none;
}

a{
    text-decoration: none;
    margin: 0;
    padding: 0;
    display: inline-block;
    width: 100%;
}

img{
    width: 100%;
}

button{
    padding: 0;
    border: none;
    outline: none;
    font: inherit;
    color: inherit;
    background: none;
}

p.links-style{
    margin:auto;
}


/* Layout */

.container-row{
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
}

.container-column{
    display: flex;
    flex-flow: column nowrap;
}

.center{
    margin-left: auto;
    margin-right: auto;
}

.full-width{
    margin: 0 -10%;
}

/* Navigation */

header{
    position:fixed;
    top:0;
    left:0;
    height: auto;
    width: 100vw;
    z-index: 500;
    overflow: hidden;
}  

    .recruit-logo{
        width: 135px;
        margin-left: 25px;
        z-index: 500000;
    }

    #logo-white{
        display: none;
    }

    #header-nav{
        background-image: url(../../img/nav-bck.svg);
        background-repeat: no-repeat;
        background-size: cover;
        width: 565px;
        height: 80px;
        padding: 0 20px;
        justify-content: space-between;
        margin-left: auto;
    }

        .nav-box{
            padding-right: 20px;
            border-right: 1px solid white;
            overflow: hidden;
            justify-content: space-around;
        }

            #header-nav ul li a {
                display: block;
                color: var(--font-on-blue);
                text-align: center;
                padding: 16px;
              }

    .nav-buttons{
        font-size: var(--font-size-15);
    }

    li.bold{
        font-size: 1.8vw;
    }

    li.line-bottom{
        border-bottom: solid 1px white;
        padding-bottom: 10px;
    }

    li.space-top{
        padding-top: 10px;
    }

    #insta-logo{
        width: 30px;
    }

    #insta-logo:hover{
        transform: scale(115%);
        transition: 0.15s ease-in-out;
    }

    .toggle-btn{
        position: relative;
        display: block;
        z-index: 10000;
        width: 45px;
        margin: -3px 20px 0 20px;
    }

    .menu-bar{
        display: inline-block;
        width: 100%;
        height: 2px;
        background-color: white;
        vertical-align: middle;
        transition: 0.5s ease-in-out;
    }

    .is-open span:nth-child(1){
        transform: translateY(15px) rotate(-45deg);
    }

    .is-open span:nth-child(2){
        transform: translateX(50vw);
    }

    .is-open span:nth-child(3){
        transform: translateY(-15px) rotate(45deg);
    }


    .toggle-menu{
        /*visibility: hidden;*/
        width: 565px;
        height: 100vh;
        background-color: var(--background-dark);
        position: fixed;
        top: 0;
        right: -100vw;
        transition: 0.5s ease-in-out;
    }

    .toggle-menu ul{
        margin-top: 25%;
        margin-left: 8%;
        align-items: flex-start;
    }

    .toggle-menu ul li:hover{
        text-decoration: underline white 2px;

    }

    .toggle-menu ul li{
        text-align: left;
    }

    .is-active{
        /*visibility: visible;*/
        right: 0vw;
    }
/* Main Contents */


main{
    width: 100vw;
    display: block;
    position: relative;
    margin-top: 150px;
    overflow: hidden;
}

section{
   width: 85vw; 
   margin: 5vh;
   height: auto;
   position: relative;
}

.career-ttl{
    height: fit-content;
    width: fit-content;
    position: relative;
    margin-left: 30px;
}

.career-ttl img{
    height: 50px;
    width: 100%;
}

/* job-listing list*/

#career-arrow-top{
    width: 15%;
    position: relative;
    float:right;
    margin-left:0; 
    margin-bottom: 20px;
}

.job-listing-list{
    width: 100%;
    padding: 25px;
    margin-bottom: 5%;
}

.job-flex-box-1{
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: space-between;
}

/*.job-flex-box-2{
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
}*/

.job-listing-thumb{
    width: 31%;
}

.no-recruit{
    width: 100%;
    font-size: var(--font-size-18);
    font-weight: 600;
}

.hover-effect:hover{
    transform: scale(103%);
    transition: 0.25s ease-in-out;
}


/* job description */

#job-description-box{
    width: 80%;
    background-color: rgb(251,251,251);
    padding: 25px;
    margin-top: 5%;
}

table.job-description{
    width: 95%;
    border-collapse: collapse;
}

tr{
    width: 100%;
    height: auto;
}

tr.line-bottom{
    border-bottom: solid 1px rgb(0,85,157,0.3) ;
}

tr.line-bottom-bold{
    border-bottom: solid 1.5px rgb(0,85,157) ;
}

th, td{
    font-size: var(--font-size-15);
    font-weight: 400;
    text-align: left;
    padding-left: 20px;
}

th{
    color: rgb(0,85,157);
    width: 22%;
}

td{
    width: auto;
    float: left;
    margin: 30px 0;
    padding-right: 20px;
}

tr.recruit-end td{
    margin: 15px 0;
}

.bold{
    font-weight: 500;
}

.colour-chg{
    color: rgb(0,85,157);
}

div.back-to-list-btn{
    width:150px;
    height: 40px;
    margin-left:10%;
    margin-top:20px;
}

a.btn-to-list{
    background-image: url("../img/back-button.svg");
    background-size: 100%;
    background-repeat: no-repeat;
    height:40px;
}

.colour-effect:hover {
    background-image: url("../img/back-button-blue.svg");
}



#arrow-bottom{
    width:225px;
    position: relative;
    left: 100%;
    transform: translateX(-70%);
}

footer{
    bottom: 0;
    position: relative;
    width: 100%;
    height: auto;
    background-color: var(--background-dark);
}

#sns{
    height: 100%;
    width: 80%;
    padding-top: 8%;
    padding-bottom: 5%;
    justify-content: space-around;
}

#sns-check{
    width: 15vw;
    margin-top: -5%;
    align-self: flex-start;
}

#sns-elephant{
    width: 18vw;
    margin-bottom: -5%;
    align-self: center; 
}

.ft-textbox{
    width: 50%;
    margin: 0 50px;
    align-self: center;
}

.ft-textbox h1,
.ft-textbox h3{
    color: var(--font-on-blue);
}

.ft-textbox h1{
    text-align: center;
    font-size: 2.3vw;
    margin-bottom: 5%;
}

.ft-textbox h3{
    text-align: justify;
    font-size: 1.5vw;
    line-height: 3.5vw;
}

.sns-btn{
    width: 50%;
    position: relative;
    display: block;
    transition: 0.3s ease-in-out;
}

#insta-btn{
    margin-left: auto;
    margin-right: 0;
    right: -25%;
    top: -10%;
}

#hp-btn{
    left: -25%;
}

#hp-btn:hover{
    transform: translate(45%);
}

#insta-btn:hover{
    transform: translate(-45%)
}

.sns-btn-box{
    height: 200px;
}

#return-top{
    width: 100%;
    height: 50px;
    position: absolute;
    bottom: 0;
    background-color: var(--background-light);
}

#return-top img{
    height: 100%;
}


/* Responsive */
    
/* for tablet */
@media (max-width: 1023px){
    :root{ 
        --font-size-15: 1.215rem;
        --font-size-17: 1.269rem;
        --font-size-18: 1.383rem;
        }
   
        .full-width{
            margin: 0 -8%;
        }
        
        section{
            width: 85vw;
        }
        
    /* Navigation */
        .recruit-logo{
            width: 135px;
            margin-top: 5px;
        }

        #header-nav{
            width: 480px;
            justify-content: space-around;
            height: 80px;
            padding: 0px;
            margin-left: auto;
        }
        
        #header-nav ul li a {
            text-align: left;
        }

        
        .nav-box{
            padding-right: 15px;

        }

        .toggle-btn{
            width: 40px;
            margin: -3px 10px 0 0;
        }

        .toggle-menu{
            width: 480px;
            height: 100vh;
        }

        .toggle-menu ul{
            margin-left: 25px;
        }

        li.bold{
            font-size: 2vw;
        }

    /* Main Contents */

        main{
            margin-top: 15%;
        }

    /* Job Listing */

        .career-ttl{
            margin-bottom: 5%;
        }
        
        .career-ttl img{
            height: 3vh;
        }        

        .career-ttl{
            margin-bottom: 5%;
        }
        
        .career-ttl img{
            height: 3vh;
        }        
        
        .job-flex-box-1,
        .job-flex-box-2{
            width:90%;
            padding: 10px 0 10px 0;
        }
        

    /* Job Description */

        span.line-br{
            display:inline;
        }

    
        #job-description-box{
            width: 90%;
            padding: 15px;
        }

        table.job-description{
            width: 93%;
        }

        #arrow-bottom{
            width: 22%;
        }

        div.back-to-list-btn{
            width:18%;
            margin-left:6%;
        }

    /* Footer */

        #sns{
            width: 80%;
            padding-top: 8%;
            padding-bottom: 5%;
            justify-content: space-around;
        }
        
        #sns-check{
            width: 22%;
            margin-top: -5%;
            align-self: flex-start;
            margin-right: 35px;
        }
        
        #sns-elephant{
            width: 22%;
            margin-bottom: -10%;
            align-self: center; 
            margin-left: 35px;
        }
        
        .ft-textbox{
            width: 43%;
            align-self: center;
            margin: auto;
        }
        
        .ft-textbox h1,
        .ft-textbox h3{
            color: var(--font-on-blue);
        }
        
        .ft-textbox h1{
            text-align: center;
            font-size: 2vw;
            margin-bottom: 5%;
        }
        
        .ft-textbox h3{
            text-align: justify;
            font-size: 1.5vw;
            line-height: 3.5vw;
        }
        
        .sns-btn{
            width: 50%;
            position: relative;
            display: block;
            transition: 0.3s ease-in-out;
        }
        
        #insta-btn{
            margin-left: auto;
            margin-right: 0;
            right: -25%;
            top: -10%;
        }
        
        #hp-btn{
            left: -22%;
        }
        
        #hp-btn:hover{
            transform: translate(25%);
        }
        
        #insta-btn:hover{
            transform: translate(-25%)
        }
    
        .sns-btn{
            width: 450px;
            margin-bottom: 50px;   
        }
    
        #hp-btn{
            left: -22%;
        }
        
        .sns-btn-box{
            height: 20vh;
        }
}

/* for mobile */
@media (max-width: 767px){

:root{ 
     --font-size-15: 1.138rem;
     --font-size-17: 1.296rem;
     --font-size-18: 1.383rem;
     }

/* Layout */

.full-width{
    margin: 0 -8%;
}

section{
    width: 90vw;
}

/* Navigation */
    .recruit-logo{
        width: 14vh;
        margin-top: 0;
        margin-left: 15px;
        padding-top: 5px;
    }

    .nav-box{
        display: none;
    }

    #header-nav{
        width: 100px;
        justify-content: space-around;
        height: 7vh;
        padding: 0px;
        margin-left: auto;
    }

    .toggle-btn{
        width: 45px;
        margin: -3px 20px 0 40px;
    }

    .toggle-menu{
        width: 65vw;
        height: 100vh;
    }

    .toggle-menu ul{
        margin-left: 0;
        padding-left: 10px;
    }

    li.bold{
        font-size: 3.5vw;
    }

    #insta-logo{
        width: 20px;
    }

/* Main Contents */

    main{
        margin-top: 20%;
    }

    #career-arrow-top{
        width: 20%;
        margin-top: 6%;
    }
    

    /* Job Listing */
 
   .career-ttl{
        margin-left:3%;
    }

    .career-ttl img{
        height: 5vh;
    }      

    .job-flex-box-1,
    .job-flex-box-2{
        display: flex;
        flex-flow: column nowrap;
        align-items: center;
        width: 70vw;
        padding: 0;
    }

    .job-listing-thumb{
        width: 100%;
        margin-bottom: 25px;
    }

    /* Job Description */

    table.job-description{
        width: 95%;
    }
    
    th{
        float: left;
        width: 100%;
        margin-top: 20px;
    }

    td{
        margin: 5px 0 20px 0;
    }

    span.line-br{
        display: none;
    }

    div.back-to-list-btn{
        width: 25vw;
    }

    #arrow-bottom{
        width: 30%;
    }
    /* Footer */

    footer{
        bottom: 0;
        position: relative;
        width: 100%;
        height: auto;
        background-color: var(--background-dark);
    }
    
    #sns{
        height: 100%;
        width: 95%;
        padding-top: 8%;
        padding-bottom: 5%;
        justify-content: space-around;
    }
    
    #sns-check{
        width: 20vw;
        margin-top: -5%;
        align-self: flex-start;
        margin-right: 15px;
    }
    
    #sns-elephant{
        width: 20vw;
        margin-bottom: -10%;
        margin-left: 15px;
        align-self: center; 
    }
    
    .ft-textbox{
        width: 100%;
        align-self: center;
        margin: auto;
    }
    
    .ft-textbox h1,
    .ft-textbox h3{
        color: var(--font-on-blue);
    }
    
    .ft-textbox h1{
        text-align: center;
        font-size: 4vw;
        margin-bottom: 5%;
    }
    
    .ft-textbox h3{
        text-align: justify;
        font-size: 3.2vw;
        line-height: 5vw;
    }
    
    .sns-btn{
        width: 50%;
        position: relative;
        display: block;
        transition: 0.3s ease-in-out;
    }
    
    #insta-btn{
        margin-left: auto;
        margin-right: 0;
        right: -25%;
        top: -10%;
    }
    
    #hp-btn{
        left: -25%;
    }
    
    #hp-btn:hover{
        transform: translate(25%);
    }
    
    #insta-btn:hover{
        transform: translate(-25%)
    }

    .sns-btn{
        width: 350px;
        margin-bottom: 50px;   
    }

    #hp-btn{
        left: -25%;
    }
    
    .sns-btn-box{
        height: 150px;
    }

} 
