@charset "utf-8";

/** ▼▼▼ main ▼▼▼ **/
#main {
    width: 100%;
    height: 550px;
    display: flex;
    align-items: center;
    background: no-repeat right center / cover;
}

#main h2 {
    width: 90%;
    max-width: 1000px;
    margin: 0 auto;
    font-size: 2.87em;
    line-height: 171%;
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
    text-align: left;
    color: #FFFFFF;
}
/** ▲▲▲ main ▲▲▲ **/

/** ▼▼▼ about ▼▼▼ **/
#about {
    width: 100%;
    padding: 55px 0 60px 0;
    background: #EAF6FD;
}

#about h3 {
    font-size: 3.12em;
    font-family: 'Barlow', sans-serif;
    font-weight: 700;
    color: #0071BC;
}

#about h3 span {
    position: relative;
    top: -8px;
    display: block;
    font-size: 0.32em;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 500;
    line-height: 100%;
    margin: 15px 0 0 0;
}

#about ul {
    width: 90%;
    max-width: 1000px;
    margin: 0 auto 40px auto;
    padding: 0;
    display: flex;
    justify-content: space-between;
    list-style: none;
}

#about ul li:nth-child(1) {
    width: 50%;
    max-width: 500px;
}

#about ul li:nth-child(2) {
    width: 45%;
    max-width: 450px;
}

#about ul.csr {
    width: 90%;
    max-width: 1000px;
    margin: 0 auto;
    padding: 0;
    list-style: none;
    display: flex;
    justify-content: space-between;
}

#about ul.csr li:nth-child(1) {
    width: 50%;
    max-width: 500px;
}

#about ul.csr li:nth-child(2) {
    width: 45%;
    max-width: 450px;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    flex-wrap: wrap;
}

@media (max-width: 900px) {
    #about ul.csr li:nth-child(2) {
        justify-content: center;
    }
}

#about div {
    width: 145px;
    height: 145px;
    margin: 10px 0 0 0;
    border-radius: 50%;
    background: #009900;
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    font-size: 1.25em;
    text-align: center;
    line-height: 130%;
    color: #FFFFFF;
    transition: .3s;
}

#about div:hover {
    transform: scale(1.1);
}
/** ▲▲▲ about ▲▲▲ **/

/** ▼▼▼ service ▼▼▼ **/
#service {
    width: 100%;
    padding: 40px 0 35px 0;
}

#service h3 {
    font-size: 3.12em;
    font-family: 'Barlow', sans-serif;
    font-weight: 700;
    text-align: center;
    color: #0071BC;
}

#service h3 span {
    display: block;
    font-size: 0.32em;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 500;
}

#service h4 {
    font-size: 2.18em;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    color: #0071BC;
}

#service h4 span {
    display: block;
    margin: 0;
    font-size: 0.45em;
    font-family: 'Barlow', sans-serif;
    font-weight: 500;
}

#service ul {
    width: 90%;
    max-width: 1000px;
    margin: 50px auto 0 auto;
    padding: 0;
    list-style: none;
    display: flex;
    justify-content: space-between;
}

#service ul:nth-child(2) {
    flex-direction: row;
}

#service ul:nth-child(3) {
    flex-direction: row-reverse;
}

#service ul:nth-child(4) {
    flex-direction: row;
}

#service ul:nth-child(5) {
    flex-direction: row-reverse;
}

#service ul li:nth-child(1) {
    width: 45%;
    max-width: 450px;
}

#service ul li:nth-child(2) {
    width: 50%;
    max-width: 500px;
}
/** ▲▲▲ service ▲▲▲ **/

@media (max-width: 640px) {
    /** ▼▼▼ main ▼▼▼ **/
    #main {
        height: 380px;
        margin: 70px 0 0 0;
        align-items: flex-start;
        /**background-position: right -180px top 50%;**/
        background-position: left -400px center;
        background-size: cover;
    }
    
    #main h2 {
        width: 95%;
        margin: 40px auto 0 auto;
        font-size: 1.31em;
        line-height: 171%;
        text-align: left;
        color: #FFFFFF;
    }
    /** ▲▲▲ main ▲▲▲ **/
    
    /** ▼▼▼ about ▼▼▼ **/
    #about {
        padding: 40px 0 47px 0;
    }
    
    #about h3 {
        font-size: 2em;
    }
    
    #about h3 span {
        top: 0;
        display: block;
        margin: 5px 0 0 0;
        font-size: 0.5em;
    }
    
    #about ul {
        width: 90%;
        flex-direction: column;
    }
    
    #about ul li:nth-child(1) {
        width: 100%;
    }
    
    #about ul li:nth-child(2) {
        width: 100%;
    }
    
    #about .w1000 {
        width: 90%;
    }

    #about ul.csr {
        flex-direction: column;
    }
    
    #about ul.csr li:nth-child(1) {
        width: 100%;
    }
    
    #about ul.csr li:nth-child(2) {
        width: 100%;
        display: flex;
        justify-content: space-between;
    }
    
    #about div {
        width: 110px;
        height: 110px;
        margin: 20px 0 0 0;
        font-size: 0.9em;
    }
    /** ▲▲▲ about ▲▲▲ **/
    
    /** ▼▼▼ service ▼▼▼ **/
    #service {
        width: 90%;
        margin: 0 auto;
        padding: 40px 0 20px 0;
    }
    
    #service h3 {
        font-size: 2em;
        text-align: left;
    }
    
    #service h3 span {
        font-size: 0.5em;
    }
    
    #service h4 {
        font-size: 1.37em;
        text-align: left;
        margin: 0 0 20px 0;
    }
    
    #service h4 span {
        top: 0;
        display: block;
        margin: 2px 0 0 0;
        font-size: 0.72em;
    }

    #service ul {
        width: 100%;
        margin: 30px auto 30px auto;
    }
    
    #service ul:nth-child(2) {
        flex-direction: column;
    }
    
    #service ul:nth-child(3) {
        flex-direction: column;
    }
    
    #service ul:nth-child(4) {
        flex-direction: column;
    }
    
    #service ul:nth-child(5) {
        flex-direction: column;
    }
    
    #service ul li:nth-child(1) {
        width: 100%;
    }
    
    #service ul li:nth-child(2) {
        width: 100%;
        margin: 20px 0 0 0;
    }
    /** ▲▲▲ service ▲▲▲ **/

    p {
        font-size: 0.9em;
    }
}