@charset "utf-8";
/*common
-----------------------------------------------------------------------------------------*/
section{
	padding: 70px 0 90px;
}

div.contents-wrapper{
	width: calc(100% - 60px);
	max-width: 1500px;
    min-width: 1000px;
	margin: 0 auto;
}

a.site-link{
    display: block;
    width: 50%;
    margin: 0 auto;
    padding: 10px;
    background-color: rgb(0, 38, 127);
    border: 1px solid rgb(255,255,255);
    border-radius: 50px;
    color: rgb(255,255,255);
}

@media screen and (min-width:769px) {
    .sp{
        display: none;
    }
}
    
    
@media screen and (max-width: 768px) {
    section{
        padding: 50px 0 70px;
    }
    
    div.contents-wrapper{
        width: calc(100% - 50px);
        min-width: auto;
    }
    
    a.site-link{
        width: 70%;
    }

    .pc{
        display: none;
    }
}


/* header
-----------------------------------------------------------------------------------------*/
header{
    padding: 90px 0;
}

h1.page-title{
    margin-bottom: 35px;
    font-size: 1.5rem;
    font-weight: 700;
}

div.company-name{
    width: 20%;
    margin: 0 auto 20px;
    padding: 10px 40px;
    border: 1px solid rgb(0, 38, 127);
    border-radius: 50px;
}

img.top-logo{
    width: 50%;
    margin-bottom: 40px;
}

div.top-greeting{
    width: fit-content;
    margin: 0 auto 85px;
}

div.top-greeting p{
    font-weight: 300;
    margin-bottom: 40px;
}

div.top-greeting p:last-child{
    margin-bottom: 0;
}

a.news-url{
    font-size: 1.15rem;
    margin: 0 5px;
    font-weight: 700;
    color: rgb(38, 38, 38);
}

a.site-link.top{
    position: relative;
    width: 45%;
    padding-right: 65px;
}

span.triangle{
    position: absolute;
    top: 50%;
    right: 30px;
    transform: translateY(-50%);
    display: block;
    width: 25px;
    height: 25px;
    line-height: 24px;
    border-radius: 50%;
    background-color: rgb(255,255,255);
}

span.triangle span{
    position: relative;
    left: 2.5px;
    display: inline-block;
    width: 0;
    height: 0;
    border-style: solid;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-left: 11px solid rgb(0, 38, 127);
}

@media screen and (max-width: 768px) {
    header{
        padding: 70px 0;
    }

    h1.page-title{
        margin-bottom: 25px;
    }

    div.company-name{
        width: 50%;
    }

    img.top-logo{
        width: 100%;
    }

    div.top-greeting{
        margin-bottom: 50px;
    }

    div.top-greeting p:last-child{
        text-align: left;
    }

    a.site-link.top{
        width: 100%;
        font-size: 0.8rem;
        padding-right: 40px;
    }
    
    span.triangle{
        right: 15px;
        width: 20px;
        height: 20px;
        line-height: 20px;
    }

    span.triangle span{
        top: 2px;

    }
}


/*office-section
-----------------------------------------------------------------------------------------*/
section.office-section{
    background-color: rgb(0, 10, 64);
}

h2.contents-title{
    font-size: 1.15rem;
    margin-bottom: 60px;
}

div.office-flex{
    margin-bottom: 30px;
}


div.office-box{
    margin-right: 30px;
    width: calc((100% - 30px * 2) / 3);
}

div.office-box:last-child{
margin-right: 0;
}

div.office-box p{
    margin: 30px auto;
}

@media screen and (max-width: 768px) {
    div.office-flex{
        margin-bottom: 50px;
    }

    div.office-box{
        width: 100%;
        margin-bottom: 50px;
        margin-right: 0;
    }
    div.office-box:last-child{
        margin-bottom: 0;
    }
}


/*recruit-section
-----------------------------------------------------------------------------------------*/

section.recruit-section{
    background-color: rgb(43, 52, 96);
}

div.detail-box{
    position: relative;
    height: 250px;
    font-weight: 700;
    font-size: 1.15rem;
    padding: 30px;
}

div.detail-box.recruit{
    background-image: url("../images/recruit1.jpg");
}


div.detail-box.recruit::before{
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    width: 100%;
    height: 250px;
    background-color: rgba(47, 47, 47,0.35);
}


div.detail-box.part{
    background-image: url("../images/recruit2.jpg");
}

div.detail-box p{
    position: relative;
    z-index: 2;
    margin: 0;
}

@media screen and (max-width: 768px) {
    div.detail-box{
        height: 200px;
    }

    div.detail-box.recruit{
        background-position: center top;
    }

    div.detail-box.recruit::before{
        height: 200px;
    }
}


/*company-section
-----------------------------------------------------------------------------------------*/

section.company-section{
    background-color: rgb(86, 99, 163);
}

div.office-flex.company{
    margin-bottom: 0;
}

div.detail-box.company{
    background-color: rgb(255,255,255);
}

div.detail-box img{
    width: 90%;
    margin: 0;
}

/*footer
-----------------------------------------------------------------------------------------*/

footer{
    padding: 70px 0 125px;
}

img.footer-logo{
    width: 30%;
    margin-bottom: 25px;
}

div.copy-right{
    margin-top: 60px;
    font-size: 0.9rem;
}

@media screen and (max-width: 768px) {
    footer{
        padding: 50px 0 100px;
    }

    img.footer-logo{
        width: 100%;
    }

    div.copy-right{
        margin-top: 40px;
    }
}