/*私たちについて*/

main.tec {
    background-image: url(../img/tec/bg.png);
    background-size: cover;
    /* background-color: #FF9595; */
    font-weight: 600;
    text-align: center;
    height: 600vw;
    max-height: 5600px;
    position: relative;
    overflow: hidden;
}

main.tec .intr {
    position: relative;
    z-index: 10;
}


main.tec h3 {
    position: relative;
    line-height: 2em;
    font-size: 1.2rem;
    z-index: 10;
}

main.tec .headline{
    width: 95%;
    max-width: 1000px;
    margin: 50px auto;
    display: flex;
    align-items: center;
}

main.tec .headline img{
    width: 230px;
    margin-right: 20px;
    display: block;
}


main.tec h2 {
    position: relative;
    line-height: 1.5em;
    font-size: 1.5em;
    z-index: 10;
    color: #fff;
    text-align: left;
}


main.tec .flow {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 2%;
    width: 90%;
    max-width: 960px;
    margin: 100px auto 200px;
}

main.tec .flow>div{
    position: relative;
    text-align: left;
    padding-bottom: 150px;
}

main.tec .flow span{
    display: inline-block;
    background-color: #000;
    color: #fff;
    position: absolute;
    top:-12px;
    left: -10px;
    padding:0;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    font-size: 1.5em;
    font-weight: 400;
    font-family: "alternate-gothic-compressed", sans-serif;
    vertical-align: middle;
}

main.tec .flow span>small{
    position: absolute;
    display: block;
    font-size: 1.1em;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-45%);

}



main.tec .flow img{
    width: 260px;
}

main.tec .flow article{
    width: 260px;
    height: 115px;
    background-color: #000;
    color: #fff;
    border-radius: 10px;
    padding-top: 60px;
    text-align: center;
    position: absolute;
    top:115px;
    left: 20px;
    z-index: -1;
}

main.tec .flow h4{
    font-size: 1.2em;
    margin:15px 0 10px;
    letter-spacing: 0.15em;
}

main.tec .flow p{
    font-size: 0.9em;
    margin:10px 0 15px;
    text-align: center;
    line-height: 1.5em;
    font-weight: 400;
}

main.tec .grid{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
    width: 840px;
    margin: 100px auto;
    gap :2%;
}

main.tec .grid a{
    display: block;
    background-color: #000;
    color: #fff;
    border-radius: 20px;
    font-size: 0.9rem;
    padding:7px 0;
}

main.tec .info{
    position: relative;
    width: 720px;
    margin: 100px auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
}

main.tec .info img{
    width: 300px;
    margin-bottom: 250px;
}

#about1,
#about2,
#about3,
#about4,
#about5 {
    position: absolute;
    top: -220px;
}


.info article {
    width: 600px;
    background-color: #000;
    color: #fff;
    border-radius: 10px;
    padding: 80px 30px 20px;
    text-align: center;
    position: absolute;
    top:250px;
    left: 60px;
    z-index: -1;
}

.info article h4{
    font-size: 1.8em;
    letter-spacing: 0.15em;
    margin: 20px;
}

.info article p{
    font-size: 0.9rem;
    font-weight: 400;
    letter-spacing: 0.15em;
    line-height: 1.8em;
    text-align: justify;
}


main.tec .intr .flex {
    display: flex;
    border-bottom: #dddddd 2px solid;
    width: 90%;
    max-width: 500px;
    margin:auto;
}

main.tec .intr .flex.first {
    border-top: #dddddd 2px solid;
    margin-top: 30px;
}

main.tec .intr .flex h3 {
    font-weight: 400;
    width: 100px;
    text-align: left;
}


/**/


@media screen and (max-width:1200px) {
    .kv>.title>img {
        margin-left: 5%;
    }

    .breadcrumb {
        margin-left: 5%;
    }

}

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


    main.tec {
        background-image: url(../img/tec/bg_tab.png);
        height: 750vw;
        max-height: 6400px;
    }

    main.tec .flow {
        grid-template-columns: 1fr 1fr ;

    }

    main.tec .flow img{
        width: 90%;
    }

    main.tec .flow article {
        width: 90%;
        height: 115px;
        background-color: #000;
        color: #fff;
        border-radius: 10px;
        padding-top: 8vw;
        text-align: center;
        position: absolute;
        top: 17.5vw;
        left: 10%;
        z-index: -1;
    }

    main.tec .grid {
        display: block;
        width: 85vw;
        text-align: center;
        margin: 20px auto;
    }

    main.tec .grid a {
        display: inline-block;
        width: 24vw;
        margin: 1vw;
    }

    main.tec .info {
        width: 80vw;
        margin: 70px auto;
    }

    main.tec .info img {
        width: 35vw;
        margin-bottom: 250px;
    }

    .info article {
        width: calc(80vw - 100px);
        top: 26vw;
        left: 40px;
        z-index: -1;
    }

    .info article p{
        line-height: 1.5em;
        letter-spacing: 0.1em;
    }
}

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

    main.tec {
        height: 800vw;
        max-height: 5800px;
    }

    main.tec h2 {
        font-size: 1.2em;
        font-weight: 600;
    }

    main.tec .headline img{
        width: 180px;
    }

    .info article {
        top: 23vw;
    }

    .info article h4{
        margin-bottom: 10px;
    }

    .info article p{
        margin: 0;
    }


}


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

    main.tec {
        background-image: url(../img/tec/bg_sp.png);
        height:  auto;
        max-height: 14300px;
        overflow: hidden;
        padding-bottom: 100px;
    }

    .tl {
        display: block;
        width: 60vw;
        margin: 50px auto 20px;
        position: relative;
        z-index: 10;
    }

    main.tec .headline{
        width: 95%;
        max-width: 1000px;
        margin: 50px auto;
        display: block;
        text-align: center;
    }

    main.tec .flow>div{
        padding-bottom: 150px;
    }
    
    main.tec .headline img{
        width: 160px;
        margin-right: 20px;
        display: inline-block;
    }
    
    main.tec h2 {

        text-align: center;
    }
    
    main.tec .flow {
        display: block;
        margin-bottom: 100px;

    }

    main.tec .flow img{
        width: 90%;
    }

    main.tec .flow article {
        top: 50vw;
    }

    main.tec .grid a {
        width: 55vw;
        margin: 6px;
    }


    main.tec .info{
        display: block;
        text-align: left;
        margin: 30px auto;
    }
    
    main.tec .info img{
        width: 70vw;
        margin-bottom: 5px;
    }
    
   
    
    .info article {
        position: relative;
        width: calc(75vw - 40px);
        left: 5vw;
        top:-19vw;
        z-index: -1;
        padding: 15vw 20px 20px;
    }
    
    .info article h4{
        font-size: 1.8em;
        letter-spacing: 0.15em;
    }
    
    .info article p{
        font-size: 0.9rem;
        font-weight: 400;
        letter-spacing: 0.15em;
        line-height: 1.8em;
        text-align: justify;
    }


}

@media screen and (max-width:480px) {
    body{
        font-size: 0.9em;
    }

    .info article {
        position: relative;
        width: calc(75vw - 30px);
        left: 5vw;
        top:-20vw;
        z-index: -1;
        padding: 15vw 15px 20px;
    }

} 