@media screen and (min-width: 768px) {
    .slide-show {
        position: relative;
/*        width: 100vw;*/
        height: 800px;
        margin: 250px auto 0;
    }

    .slide-show img {
        position: absolute;
        object-fit: cover;
        width: 100%;
        height: 100%;
        opacity: 0;
        transition: 2s; /* フェードの時間(秒) */
        display: block;
    }
    
    .slide-show .show {
        opacity: 1;
    }
    
    .virtical-line {
        border-left: solid 1px #DA251D;
        height: 240px;
        position: absolute;
        left: 50%;
        top: 10%;
        z-index: 999;
    }
    
/*
    .flash {
        animation: flash 2s linear infinite;
        border-left: solid 1px #DA251D;
        position: absolute;
        left: 50%;
        z-index: 999;
        opacity: 0;
    }
    
    @keyframes flash {
        0%, 40%, 100% {
            opacity: 0;
        }

        90% {
            opacity: 1;
        }
    }
    
    .flash.long {
        height: 20px;
        top: 330px;
        animation-delay: 1s;
    }
    
    .flash.middle {
        height: 10px;
        top: 366px;
        animation-delay: 1.3s;
    }
    
    .flash.short {
        height: 3px;
        top: 405px;
        animation-delay: 1.5s;
    }
*/
    
    .scroll {
        position: absolute;
        left: 50%;
        bottom: 100px;
        z-index: 999;
    }

    .scroll span {
        position: absolute;
        top: 0;
        left: 50%;
        width: 14px;
        height: 14px;
        margin-left: -12px;
        border-left: 1px solid #fff;
        border-bottom: 1px solid #fff;
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
        -webkit-animation: sdb 2s infinite;
        animation: sdb 2s infinite;
        opacity: 0;
        box-sizing: border-box;
    }
    .scroll span:nth-of-type(1) {
        -webkit-animation-delay: 0s;
        animation-delay: 0s;
    }
    .scroll span:nth-of-type(2) {
        top: 16px;
        -webkit-animation-delay: .15s;
        animation-delay: .15s;
    }
    .scroll span:nth-of-type(3) {
        top: 32px;
        -webkit-animation-delay: .3s;
        animation-delay: .3s;
    }
    @-webkit-keyframes sdb {
        0% {
            opacity: 0;
        }
        50% {
            opacity: 1;
        }
        100% {
            opacity: 0;
        }
    }
    @keyframes sdb {
        0% {
            opacity: 0;
        }
        50% {
            opacity: 1;
        }
        100% {
            opacity: 0;
        }
    }
    
    .top-image .title {
        position: absolute;
        z-index: 999;
        top: 10%;
        right: 19%;
    }
    
    .solution {
        max-width: 1125px;
        background: #F3F1EE;
        margin: auto;
    }
    
    .solution .side-by-side {
        display: flex;
        padding-top: 120px;
    }
    
    .solution .tegaki {
        width: 40%;
        flex-basis: 50%;
        padding-left: 15%;
    }
    
    .solution .tegaki img {
        width: 85%;
    }
    
    .solution .link {
        flex-basis: 50%;
    }
    
    .solution .catch-copy {
        font-size: 26px;
        letter-spacing: 0.1em;
        padding-left: 13px;
        margin-bottom: 13px;
    }
    
    .solution .c-button {
        padding: 15px 50px;
    }
    
    .solution .text {
        font-size: 23px;
        padding: 120px 10px 90px;
        letter-spacing: 0.11em;
        line-height: 1.8;
        font-family: "TazuganeGothicStdN-Thin";
    }
    
    .products {
        max-width: 1125px;
        margin: 0 auto;
        display: grid;
        background: #f3f1ee;
/*        background: #1d2051;*/
        grid-template:
            "mihon  title   " 
            "seihin torisetu" 
            / 50% 50%;
        grid-column-gap: 1px;
    }
    
    .products .mihon {
        grid-area: mihon;
    }
    
    .products .seihin {
        grid-area: seihin;
        z-index: 999;
    }
    
    .products .toriatukai {
        grid-area: torisetu;
    }
    
    .products .title-image {
        background: #1d2051;
        display: flex;
        align-items: center;
    }
    
    .products .title-image img {
        height: 290px;
        display: block;
        margin-left: 70%;
    }
    
    .products .mihon .c-button {
        background-image: url("../../img/index/top-slide-3.jpg");
    }
    
    .products .seihin .c-button {
        background-image: url("../../img/index/package.jpg");
    }
    
    .products .insatu .c-button {
        background-image: url("../../img/index/top-slide-2.jpg");
    }
    
    .products .toriatukai .c-button {
        background-image: url("../../img/index/manual.jpg");
    }
    
    .profile {
        background: #D8DDD8;
        max-width: 1125px;
        margin: auto;
        padding: 250px 0 100px;
    }
    
    .profile .image {
        height: 710px;
        border-top: solid 2px white;
        border-bottom: solid 2px white;
        position: relative;
    }
    
    .profile .image img {
        position: absolute;
    }
    
    .profile .title {
        right: 5%;
        top: -24%;
        z-index: 1;
    }
    
    .profile .company {
        right: 5%;
        top: 1%;
        width: 1200px;
    }
    
    .profile .text {
        padding: 30px 10px 0;
        line-height: 1.7;
        letter-spacing: 0.05em;
    }
    
    .profile .text .spacer {
        width: 100px;
        display: inline-block;
    }
    
    .profile .c-button {
        margin-top: 10px;
        padding: 15px 80px;
    }
    
    .recruit {
        margin: 100px auto 0;
        max-width: 1125px;
        position: relative;
        display: block;
    }
    
    .recruit .main-image {
        width: 100%;
    }
    
    .recruit .title {
        position: absolute;
        top: 3%;
        left: 1.5%;
        color: white;
        font-size: 15px;
        letter-spacing: 0.06em;
    }
    
    .recruit .catch-copy {
        position: absolute;
        color: white;
        top: 26%;
        left: 37%;
        font-size: 2.1vw;
    }
    
    .recruit .accent {
        position: absolute;
        top: 64%;
        left: 84%;
        width: 11vw;
        max-width: 127px;
    }
    
    .recruit .c-button {
        position: absolute;
        top: 74%;
        padding: 1.5vw 5vw;
        letter-spacing: 0.05em;
        font-size: 1.5vw;
    }
    
    .recruit .interview {
        left: 40%;
    }
    
    .recruit .enjoy {
        left: 67%;
    }
}

@media screen and (min-width: 1125px) {
    .recruit .catch-copy {
        font-size: 24px;
    }
    
    .recruit .c-button {
        font-size: 16px;
        padding: 17px 57px;
    }
}


@media screen and (max-width: 767px) {
    .index {
        margin-top: 31vw;
    }
    
    .top-image {
        position: relative;
    }
    
    .top-image .virtical-line {
        border-left: solid 1px #DA251D;
        position: absolute;
        top: -15vw;
        left: 50%;
        z-index: 1;
        height: 40vw;
    }
    
    .top-image .title {
        width: 20vw;
        position: absolute;
        z-index: 1;
        top: -15vw;
        left: 65%;
    }
    
    .slide-show {
        position: relative;
        width: 100vw;
        height: 110vw;
        margin: 15vw auto 0;
    }

    .slide-show img {
        position: absolute;
        object-fit: cover;
        width: 100%;
        height: 100%;
        opacity: 0;
        transition: 2s; /* フェードの時間(秒) */
        display: block;
        top: 5.5vw;
    }
    
    .slide-show .show {
        opacity: 1;
    }
    
    .solution {
        background: #F3F1EE;
        padding: 25vw 2vw 10vw;
    }
    
    .solution .tegaki {
        width: 54vw;
        height: 22vw;
        margin: 0 auto 5vw;
    }
    
    .solution .tegaki img {
        width: 100%;
    }
    
    .solution .catch-copy {
        font-size: 4.8vw;
        letter-spacing: 0.15em;
        width: 60vw;
        margin: 0 auto 3vw;
        padding-left: 3vw;
        text-align: center;
    }
    
    .solution .text {
        font-size: 3.4vw;
        letter-spacing: 0.08em;
    }
    
    .solution .c-button {
        padding: 3.5vw 0 3vw;
        width: 60vw;
        font-size: 3.5vw;
        margin: 0 auto 20vw;
        display: block;
    }
    
    .products {
        position: relative;
        background: #f3f1ee;
    }
    
    .products .mihon .c-button {
        background-image: url("../../img/index/top-slide-3.jpg");
    }
    
    .products .seihin .c-button {
        background-image: url("../../img/index/package.jpg");
    }
    
    .products .insatu .c-button {
        background-image: url("../../img/index/top-slide-2.jpg");
    }
    
    .products .toriatukai .c-button {
        background-image: url("../../img/index/manual.jpg");
    }
    
    .products .title-image {
        position: absolute;
        right: 0;
        top: 0;
        background: #1D2051;
        width: 20vw;
        height: 100%;
    }
    
    .products .title-image img {
        width: 55%;
        display: block;
        margin: 5vw auto;
    }
    
    .profile {
        background: #D8DDD8;
        width: 100vw;
        margin: auto;
        padding: 30vw 0 20vw;
    }
    
    .profile .image {
        height: 66vw;
        border-top: solid 2px white;
        border-bottom: solid 2px white;
        position: relative;
    }
    
    .profile .image img {
        position: absolute;
    }
    
    .profile .title {
        right: 8%;
        top: -28%;
        z-index: 1;
        width: 8vw;
    }
    
    .profile .company {
        right: 8%;
        top: 2%;
        width: 110vw;
    }
    
    .profile .text {
        font-size: 3.8vw;
        padding: 10px;
        line-height: 1.7;
        letter-spacing: 0.05em;
    }
    
    .profile .c-button {
        margin-top: 8vw;
        padding: 15px 80px;
    }
    
    .recruit {
        position: relative;
        display: block;
    }
    
    .recruit .main-image-wrapper {
        height: 60vw;
        margin: 10vw 2vw 0;
    }
    
    .recruit .main-image {
        width: calc(100vw - 2vw * 2);
        height: 100%;
        object-fit: cover;
    }
    
    .recruit .title {
        position: absolute;
        top: 57%;
        left: 5%;
        color: white;
        font-size: 3.2vw;
		letter-spacing: 0.08em;
    }
    
    .recruit .catch-copy {
        position: absolute;
        color: white;
        top: 48%;
        left: 5%;
        font-size: 3.6vw;
		letter-spacing: 0.08em;
    }
    
    .recruit .accent {
        position: absolute;
        top: 70%;
        left: 67%;
        width: 25vw;
    }
}