
div#sidebar div.logo {
    opacity: 0;
}

div#sidebar ul.menu {
    opacity: 0;
}

div#cover {
    position: fixed;
    width: 77.78vw;
    height: 100vh;
    background:#2D2C2C;
    top: 0;
    left: 22.22vw;
    z-index: 2;
}

div#cover .logo {
    width: 6.99vw;
    height: 2.96vw;
    margin-top: 20vw;
    margin-left: 20vw;
    opacity: 0;
    width: 13.98vw;
    height: 5.92vw;
}

main#main h1 {
    margin-left: 4.31vw;
    letter-spacing: 0.08em;
    color: #BD1E2F;
    font-size: 2.78vw;
    line-height: 1.22;
    font-family: 'Montserrat', sans-serif;
}

main#main h1 .big {
    font-size: 4.44vw;
    font-style: italic;
}

main#main h2 {
    margin-left: 4.31vw;
    color: #222222;
    font-size: 2.5vw;
    font-weight: 500;
    letter-spacing: 0.08em;
    position: relative;
    line-height: 0.44;
    margin-top: 1.94vw;
}

main#main h2::before {
    font-family: 'Montserrat', sans-serif;
    position: absolute;
    font-size: 1.11vw;
    color: #BD1E2F;
    position: absolute;
    top: -1.94vw;
    left: 0;
}

section#fv-news {
    padding-top: 1.39vw;
}

section#fv-news div.row {
    width: 68.75vw;
    height: 25vw;
    margin: 0 auto 0;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

section#fv-news div.row div.item {
    background: white;
    width: 22.22vw;
    box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.1);
}

section#fv-news div.row div.item a {
    text-decoration: none;
}

section#fv-news div.row div.item.hidden {
    display: block;
    opacity: 0;
}

section#fv-news div.row div.item div.image {
    width: 100%;
    height: 15.28vw; 
    overflow: hidden;
}

section#fv-news div.row div.item div.image img {
    transition: all 500ms;
}


section#fv-news div.row div.item div.image img:hover {
    transform:scale(1.2,1.2);  
    cursor: pointer;
}

section#fv-news div.row div.item div.date {
    margin-top: 0.69vw;
    margin-left: 0.69vw;
    font-size: 0.69vw;
    color: #222222;
}

section#fv-news div.row div.item div.text {
    margin-top: 1.39vw;
    margin-left: 0.69vw;
    font-size: 0.97vw;
    color: #222222;
}

section#fv-news .link {
    width: 68.75vw;
    margin: 2.78vw auto 0;
    text-align: right;
    font-size: 0.97vw;
    letter-spacing: 0.08em;
    color:#222222;
}

section#news h2::before {
    content: 'news';
}

section#news .row {
    display: flex;
    flex-direction:row;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 62.22vw;
    margin-top: 1.39vw;
    margin-left: 4.31vw;
}

section#news .row a {
    color: #222222;
    text-decoration: none;
}

section#news .row .item {
    display: flex;
    flex-direction: row;
    margin-top: 1.39vw;
    box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.1);
    border-radius: 4px;
}

section#news .row .item .image {
    width: 15.27vw;
    height: 7.64vw;
}

section#news .row .text {
    width: 15.13vw;
}

section#news .row .text .title {
    font-size: 0.97vw;
    line-height: 1.6;
    letter-spacing: 0.08em;
    margin-top: 1.39vw;
    margin-left: 1.11vw;
    margin-right: 1.6vw;
/*  height: 4.86vw; */
}

section#news .row .text .date {
    font-size: 0.69vw;
    line-height: 1;
    margin-left: 1.11vw;
}

section#concept {
    position: relative;
    padding-top: 6.32vw;
}

section#concept h2::before {
    content: 'concept';
}

section#concept .concept-slider {
    position: absolute;
    top: 25vw;
    left: 0;
    width: 100%;
    font-size: 6.67vw;
    z-index: -1;
    letter-spacing: 0.08em;

    color: #F8F8F8;
    -webkit-text-stroke: 1px #000000;
    text-stroke: 1px #000000;
}

section#concept .image {
    background-image: url('../image/concept-bg.png');
    background-size: contain;
    width: 46.47vw;
    height: 33.58vw;
    margin-top: 2.29vw;
    margin-left: 15.69vw;
    text-align: center;
    font-size: 0.97vw;
    letter-spacing: 1.6;
    padding-top: 4.58vw;
}

section#concept .image .text {
    width: 34vw;
    margin: 0 auto;
    color: white;
}

section#concept .slider {
    width: 100%;
    margin-top: 3.09vw;
    height: 13.89vw;
}

section#concept .slider .slider-image {
    width: 22.22vw;
    height: 13.89vw;
    margin-left: 3vw;
}

section#service {
    padding-top: 10.28vw;
}

section#service h2::before {
    content: 'SERVICE';
}

section#service div.row {
    width: 100%;
    height: 27.78vw;
    margin-top: 5.56vw;
    display: flex;
    flex-direction: row;
}

section#service div.row div.item {
    width: 25.97vw;
    height: 100%;
    cursor: pointer;
}

section#service div.row div.item:first-child {
    background: white;
    color: #222222;
    border: 1px solid #222222;
    background-image: none;
}

section#service div.row div.item:first-child:hover {
    background-image: url('../image/service-bg01.png');
    background-size: cover;
}

section#service div.row div.item:nth-child(2) {
    background: #676767;
    color: white;
    background-image:none;
}

section#service div.row div.item:nth-child(2):hover {
    background-image: url('../image/service-bg02.png');
    background-size: cover;
}

section#service div.row div.item:nth-child(3) {
    background: #222222;
    color: white;
    background-image: none;
}

section#service div.row div.item:nth-child(3):hover {
    background-image: url('../image/service-bg03.png');
    background-size: cover;
}

section#service div.row div.item div.title {
    padding: 0.1vw 0.1vw;
    text-align: center;
    font-weight: 700;
    font-size: 1.39vw;
    margin: 7.57vw auto 0;
    line-height: 1.6;
    letter-spacing: 0.08em;
}

section#service div.row div.item:first-child div.title {
    margin: 6.53vw auto 0;
    width: 18.33vw;
}

section#service div.row div.item:nth-child(2) div.title,
section#service div.row div.item:nth-child(3) div.title {
    width: 11.81vw;
}

section#service div.row div.item div.text {
    width: 19.1vw;
    text-align: left;
    font-size: 0.97vw;
    margin: 3.7vw auto 0;
    line-height: 1.6;
}

section#service div.row div.item:first-child div.text {
    margin-top: 2.57vw; 
}

section#talent {
    padding-top: 10.28vw;
}

section#talent h2::before {
    content: 'TALENT';
}

section#talent .row {
    height: 19.16vw;
    width: 72.5vw;
    margin: 4.17vw auto 0;
    display: flex;
    flex-direction: row;
    justify-content: space-between;

    width: 30vw;
    margin-left: 2.64vw;
}

section#talent .row .talent {
    width: 14.72vw;
    height: 100%;
}

section#talent div.row div.talent.hidden {
    display: block;
    opacity: 0;
}

section#talent .row .talent01 {
    background-image: url('../image/talent01-1.png');
    background-size: contain;
}

section#talent .row .talent01:hover {
    background-image: url('../image/talent01-2.png');
}

section#talent .row .talent02 {
    background-image: url('../image/talent02-1.png');
    background-size: contain;
}

section#talent .row .talent02:hover {
    background-image: url('../image/talent02-2.png');
}

section#talent .row .talent04 {
    background-image: url('../image/talent04-1.png');
    background-size: contain;
}

section#talent .row .talent04:hover {
    background-image: url('../image/talent04-2.png');
}

section#talent .row .talent05 {
    background-image: url('../image/talent05-2.png');
    background-size: contain;
}

section#talent .row .talent06 {
    background-image: url('../image/talent06-1.png');
    background-size: contain;
}

section#talent .row .talent06:hover {
    background-image: url('../image/talent06-2.png');
}

section#company {
    padding-top: 10.27vw;
    padding-bottom: 2.54vw;
}

section#company h2 {
    text-align: center;
    width: 14vw;
    margin-left: 33.54vw;
}

section#company h2::before {
    top: -1.94vw;
    left: 3vw;
    content: 'COMPANY';
}

section#company .table {
    width: 57.01vw;
    margin-top: 4.17vw;
    margin-left: 10.28vw;
}

section#company .table .row {
    display: flex;
    flex-direction: row;
}

section#company .table .row .key {
    padding-top: 1.39vw;
    padding-bottom: 1.39vw;
    padding-left: 1.67vw;
    border-bottom: 2px solid #BD1E2F;
    width: 8.33vw;
    font-size: 1.11vw;
}

section#company .table .row .value {
    padding-top: 1.39vw;
    padding-bottom: 1.39vw;
    padding-left: 7.08vw;
    width: 48.65vw;
    border-bottom: 1px solid #716E6E;
    font-size: 0.97vw;
}

section#company .profile {
    width: 57.22vw;
    margin-top: 4.17vw;
    margin-left: 10.28vw;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

section#company .profile .image{
    width: 18.06vw;
    height: 18.78vw;
    margin-top: 2.36vw;
}

section#company .profile .text {
    width: 38vw;
    font-size: 0.97vw;
    line-height: 1.6;
}

section#company .profile .text span.name {
    font-size: 1.67vw;
}

section#company .profile .text .content {
    margin-top: 1.38vw;
}

section#contact {
    background: #D6D6D6;
    padding-top: 5.97vw;
    padding-bottom: 4.31vw;
}

section#contact h2 {
    width: 20vw;
    text-align:center;
    margin: 0 auto 0;
}

section#contact h2::before {
    top: -1.94vw;
    left: 6vw;
    content: 'CONTACT';
}

section#contact form {
    width: 37.29vw;
    margin: 0 auto 0;
    padding-top: 1.57vw;
    text-align: center;
}

section#contact form .row {
    display: flex;
    flex-direction: row;
    margin-top: 2.6vw;
}

section#contact form .row .name {
    width: 15.07vw;
    font-size: 1.11vw;
    text-align: left;
    letter-spacing: 0.2em;
}

section#contact form .row .input {
    width: 22.22vw;
}

section#contact form input[type=text] {
    background: white;
    border: 1px solid #D6D6D6;
    width: 100%;
    height: 2.08vw;
    border-radius: 4px;
    font-size: 1.11vw;
    padding: 0.39vw 0.83vw;
}

section#contact form select {
    color: black;
    background: white;
    border: 1px solid #D6D6D6;
    width: 100%;
    height: 2.08vw;
    border-radius: 4px;
    font-size: 1.1vw;
    padding-left: 0.83vw;
}

section#contact form input[type=checkbox] {
   width: 1.2vw;
   height: 1.2vw;
}

section#contact form textarea {
    background: white;
    width: 100%;
    height: 9.03vw;
    resize: none;
    padding: 0.39vw 0.83vw;
    border-radius: 4px;
    font-size: 1.11vw;
    line-height: 1.2;
}

section#contact form .text {
    margin-top: 2.78vw;
    font-size: 0.97vw;
    text-align: center;
    line-height: 2;
}

section#contact form .text a {
    color: black;
}

section#contact form .btn {
    width: 22.22vw;
    height: 4.17vw;
    border: 1px solid #939393;
    background: white;
    margin: 2.08vw auto 0;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.11vw;
    letter-spacing: 0.08em;
    cursor: pointer;
}

.text2 a {
    color: #fff;
}

@media screen and (max-width: 780px) {

    div#cover {
        display: none;
    }

    main#main h1 {
        margin-left: 7.2vw;
        font-size: 6.4vw;
    }

    main#main h1 .big {
        font-size: 10.67vw;
    }

    main#main h2 {
        margin-left: 5.33vw;
        font-size: 6.4vw;
    }

    main#main h2::before {
        font-size: 3.2vw;
        top: -5.87vw;
    }

    section#fv-news {
        padding-top: 5.33vw;
    }

    section#fv-news div.row {
        width: 100vw;
        height: unset;
        flex-direction: column;
        justify-content: unset;
    }

    section#fv-news div.row div.item {
        width: 100%;
        height: 100vw;
        margin: 0 2vw 10vw 2vw;
    }

    section#fv-news div.row div.item.hidden {
        display: none;
        opacity: 0;
    }

    section#fv-news div.row div.item div.image {
        width: 100%;
        height: 58.67vw;
    }

    section#fv-news div.row div.item div.date {
        margin-top: 2.67vw;
        margin-left: 2.67vw;
        font-size: 2.67vw;
        color: #222222;
    }

    section#fv-news div.row div.item div.text {
        margin-top: 5.33vw;
        margin-left: 2.67vw;
        font-size: 3.73vw;
    }

    section#fv-news .link {
        display: block;
        width: 90vw;
        margin: 2.78vw auto 0;
        text-align: right;
        font-size: 4vw;
        letter-spacing: 0.08em;
        color:#222222;
    }

    section#fv-news .slick-dots,
    section#talent .slick-dots {
        display: flex;
        font-size: 0;
        justify-content: center;
        margin-top: -5vw;
        position: relative;
        z-index: 2;
    }

    section#talent .slick-dots {
        margin-top: 5vw;
    }

    section#fv-news .slick-dots li,
    section#talent .slick-dots li{
        width: 2.67vw;
        height: 2.6vw;
        margin-left: 1.87vw;
        margin-right: 1.87vw;
    }

    .slick-dots li button,
    .slick-dots li button {
        width:100%;
        height:100%;
        background: #D9D9D9;
        border-radius:50%;
        color:white;
       
    }
    .slick-dots li.slick-active button,
    .slick-dots li.slick-active button{
        background:#BD1E2F
    }

    section#news {
        margin-top: 27.2vw;
    }

    section#news .row {
        display: flex;
        flex-direction:column;
        flex-wrap: wrap;
        justify-content: space-between;
        width: 96vw;
        margin: 5.33vw auto 0;
    }

    section#news .row .item {
        display: flex;
        flex-direction: row;
        margin-top: 5.33vw;
        box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.1);
        border-radius: 4px;
    }

    section#news .row .item .image {
        width: 48vw;
        height: auto;
    }

    section#news .row .text {
        width: 48vw;
    }

    section#news .row .text .title {
        font-size: 3.73vw;
        line-height: 1.6;
        letter-spacing: 0.08em;
        margin-top: 3.73vw;
        margin-left: 3.73vw;
        margin-right: 2.67vw;
    /* height: 16vw; */
    }

    section#news .row .text .date {
        font-size: 2.67vw;
        line-height: 1;
        margin-left: 3.73vw;
    }

    section#concept {
        position: relative;
        padding-top: 27.2vw;
    }

    section#concept .concept-slider {
        display: none;
        position: absolute;
        top: 25vw;
        left: 0;
        width: 100%;
        font-size: 6.67vw;
        z-index: -1;
        letter-spacing: 0.08em;

        color: #F8F8F8;
        -webkit-text-stroke: 1px #000000;
        text-stroke: 1px #000000;
    }
 
    section#concept .image {
        background-image: url('../image/concept-bg-sp.png');
        background-size: cover;
        width: 100vw;
        height: 144.53vw;
        margin-top: 9.07vw;
        margin-left: 0;
        font-size: 3.73vw;
        letter-spacing: 1.6;
        padding-top: unset;
    }

    section#concept .image .text {
        width: 74.67vw;
        margin: 0 auto;
        padding-top: 18.93vw;
        color: white;
        line-height: 1.45;
        letter-spacing: 0.08em;
        font-size: 3.73vw;
        font-weight: 400;
    }

    section#concept .slider {
        width: 100%;
        margin-top: 16.26vw;
        height: 33.33vw;
    }

    section#concept .slider .slider-image {
        width: 53.33vw;
        height: 33.33vw;
        margin-left: 3vw;
    }

    section#service {
        padding-top: 35.73vw;
    }

    section#service div.row {
        height: unset;
        flex-direction: column;
        width: 89.33vw;
        margin: 0 auto 0;
    }

    section#service div.row div.item {
        width: 100%;
        margin-top: 10.4vw;
        height: 87.25vw;
    }

    section#service div.row div.item:first-child {
        border: none;
        background-image: url('../image/service-bg01.png');
        background-size: cover;
    }

    section#service div.row div.item:nth-child(2) {
        background-image: url('../image/service-bg02.png');
        background-size: cover;
    }

    section#service div.row div.item:nth-child(3) {
        background-image: url('../image/service-bg03.png');
        background-size: cover;
    }

    section#service div.row div.item div.title {
        width: 70.4vw;
        margin: 17.33vw auto 0;
        font-size: 6.4vw;
        padding-top: 2vw;
        padding-bottom: 2vw;
    }

    section#service div.row div.item:first-child div.title {
        margin-top: 17.45vw;
        width: 70.4vw;
        background: black;
        color: white;
        letter-spacing: 0.08em;
        font-size: 5.33vw;
    }

    section#service div.row div.item:nth-child(2) div.title,
    section#service div.row div.item:nth-child(3) div.title {
        width: 70.4vw;
        background: white;
        color: black;;
        letter-spacing: 0.08em;
        font-size: 5.33vw;
    }

    section#service div.row div.item:nth-child(2) div.title {
        margin-top: 24.48vw;
    }

    section#service div.row div.item:nth-child(3) div.title {
        margin-top: 27.08vw;
    }
    
    section#service div.row div.item div.text {
        width: 70.4vw;
        text-align: left;
        font-size: 3.73vw;
        margin: 5.21vw auto 0;
        line-height: 1.6;
    }

    section#service div.row div.item:first-child div.text {
        margin-top: 5.21vw; 
    }

    section#talent {
        padding-top: 50.03vw;
    }

    section#talent .row {
        margin-top: 5.33vw;
        flex-direction: column;
        height: unset;
        width: unset;
    }

    section#talent .row .talent {
        width: 56.53vw;
        height: 73.6vw;
    }

    section#talent div.row div.talent.hidden {
        display: none;
        opacity: 0;
    }

    section#company {
        padding-top: 27.2vw;
        padding-bottom: 21.33vw;
    }

    section#company h2{
        width: 82.67vw;
        margin: 0 auto 0;
    }

    section#company h2::before {
        top: -5.87vw;
        left: 30vw;
    }

    section#company .table {
        width: 89.33vw;
        margin: 7.47vw auto 0;
    }

    section#company .table .row {
        margin-top: 4vw;
    }

    section#company .table .row .key {
        width: 22.67vw;
        font-size: 3.73vw;
        border-bottom: 1px solid black;
        padding-bottom: 4vw;
    }

    section#company .table .row .value {
        width: 64vw;
        font-size: 4.27vw;
        border-bottom: 1px solid black;
        padding-bottom: 4vw;
    }

    section#company .profile {
        width: 89.33vw;
        margin: 8.53vw auto 0;
        flex-direction: column;
        justify-content: unset;
    }

    section#company .profile .image{
        width: 89.33vw;
        height: 58.67vw;
        margin-top: unset;
    }

    section#company .profile .text {
        width: 89.33vw;
        font-size: 3.73vw;
        line-height: 1.6;
        margin-top: 5.33vw;
    }

    section#company .profile .text span.name {
        font-size: 5.33vw;
    }

    section#company .profile .text .content {
        margin-top: 5.33vw;
    }

    section#contact {
        padding-top: 30vw;
        padding-bottom: 13.07vw;
    }

    section#contact h2 {
        width: 82.67vw;
        margin: 0 auto 0;
    }

    section#contact h2::before {
        top: -5.87vw;
        left: 31vw;
    }

    section#contact form {
        width: 85.33vw;
        padding-top: 5.33vw;
    }

    section#contact form .row {
        flex-direction: column;
        margin-top: 5.33vw;
    }

    section#contact form .row .name {
        width: 85.33vw;
        font-size: 3.73vw;
    }

    section#contact form .row .input {
        width: 85.33vw;
        margin-top: 2.13vw;
    }

    section#contact form input[type=text] {
        width: 100%;
        height: 10.67vw;
        border-radius: 4px;
        font-size: 4.27vw;
        padding: 3.2vw 3.73vw;
    }

    section#contact form select {
        color: black;
        background: white;
        border: 1px solid #D6D6D6;
        width: 100%;
        height: 10.67vw;
        border-radius: 4px;
        font-size: 4.27vw;
        padding-left: 3.73vw;
    }

    section#contact form input[type=checkbox] {
        width: 4.8vw;
        height: 4.8vw;
    }

    section#contact form textarea {
        background: white;
        width: 100%;
        height: 32vw;
        resize: none;
        padding: 3.2vw 3.73vw;
        border-radius: 4px;
        font-size: 4.27vw;
        line-height: 1.2;
    }

    section#contact form .text {
        margin-top: 5.33vw;
        font-size: 3.73vw;
        text-align: left;
        line-height: 2;
    }

    section#contact form .btn {
        width: 85.33vw;
        height: 16vw;
        margin: 10.67vw auto 0;
        font-size: 4.27vw;
    }

   
}