* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

#header {
    max-width: 1200px;
    padding: 0 40px;
    margin: 0 auto;
    display: block;
    height: 100px;
/*  display: flex; */
/*  height: 100px; */
    align-items: center;
    justify-content: space-between;
}

.contents {
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
    vertical-align: top;
}



.wrapper {
    max-width: 960px;
    margin: 0 auto 80px auto;
    font-size: 0.96rem;
    padding: 0 4%;
}

.sec-title {
    font-size: 1.3rem;
    text-align: left;
    margin-bottom: 30px;
    margin-top: 40px;
}

.position {
    font-size: 1.3rem;
    text-align: left;
    margin-top: 20px;
    margin-bottom: 20px;
}

.area_logo .logo {
    display: block;
}

.area_logo .logo img {
    height: 60px;
    vertical-align: bottom;
}

.area_nav {
    margin-top: auto;
    text-align: center;
    margin-left: auto; 
}

.list_nav {
    display: inline-flex;
    flex-wrap: wrap;
    justify-content: center;
/*    display: flex; */
    align-items: center;
    font-size: 0.96rem;
}

.list_nav > li + li {
    margin-left: 20px;
}


#main {

    margin-bottom: 30px;
}

#main h1 {
    font-size: 1.8rem;
    align-items: center;
    text-align: center;
}

#main p {
    align-items: center;
    text-align: center;
    margin-top: 20px;
}


#main img {
    width: 100%;
    max-width: 1920px;
    height: 350px;
    object-fit: cover;

}


/* sol */
.sol-theme {
    font-size: 1.2rem;
    text-align: left;
    margin-bottom: 20px;
    margin-top: 20px;
}

.sol-summary {
    width: 100%;
}

.sol-img-2 {
    width: 40%;
}

.sol-img-2 img {
    width: 100%;
    margin-bottom: 20px;
    border-radius: 10px;
}

.sol-img-3 {
    width: 30%;
    
}

.sol-img-3 img {
    width: 100%;
    margin-bottom: 20px;
}

.sol-img-3 p {
    text-align: left;
}

.sol-table {
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
    margin-top: 10px;
}



/* SP */
@media screen and (max-width: 768px) {
    /* Common */
    .wrapper {
        max-width: 960px;
        margin: 0 auto 80px auto;
        font-size: 0.9rem;
        padding: 0 4%;
    }
    .contents {
        flex-direction: column;
    }


    /* Header */
    #header {
        flex-direction: column;
        height: auto;
        line-height: 40px;
        padding: 0 4%;
        margin-bottom: 30px;
    }

    #header img {
        width: 100%;
        height: auto;
        max-width: 400px;
        object-fit: cover;
        margin-top: 10px;
    }

    #header ul {
        font-size: 0.8rem;
        flex-direction: column;
    }

    .area_nav {
        margin-left: 0;
    }

    /* main */
    #main {
        
        font-size: 0.9rem;
    }
    #main img {
        width: 100%;
        height: 65vw;
        object-fit: cover;
    }

    /* sol */
    .sol-img-2 {
        width: 100%;
    }

    .sol-img-2 p {
        margin-bottom: 20px;
    }

    
}

