* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: sans-serif;
}

ul {
    list-style: none;
}

.container {

    width:75%;
    margin:0 auto;
    /* グリッドレイアウトを指定 */
    display: grid;
    /* グリッドの列の幅を指定 */
    grid-template-columns: 1fr 2fr;
    /* グリッドの行の高さを指定 */
    /*grid-template-rows: 80px auto 120px;
    /* グリッドの列・行両方の間の余白を指定 */
    gap: 40px;
}

header {
    background-color: #0d6363;
    text-align: center;
    padding: 20px;
    /* グリッドの配置の命令 */
    grid-column: 1 / 3;
}

aside {
    background-color: #98bb0f;
    padding: 20px;
    /* グリッドの配置の命令 */
    grid-column: 1 / 2;
}

main {
    background-color: #7772d4;
    padding: 20px;
    /* グリッドの配置の命令 */
    grid-column: 2 / 3;
}

footer {
    background-color: #cf93c4;
    /* グリッドの配置の命令 */
    grid-column: 1 / 3;
}

/* 細かい装飾のためのCSS */

/*h1 {
    font-size: 28px;
}*/

aside dl {
    margin-bottom: 20px;
}

aside dl dt {
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 20px;
}

main h2 {
    text-align: center;
    font-size: 24px;
    margin-bottom: 20px;
}

main section {
    width: 80%;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    align-items: center;
}

main section div {
    width: 200px;
    height: 100px;
    line-height: 50px;
    /*background-color: #3EE2FF;*/
    text-align: center;
    margin-right: 40px;
    margin-bottom: 20px;
}

footer h2 {
    text-align: center;
    font-size: 28px;
    padding: 40px;
}


.sousin{
    height:50px;
    width:100px;
    text-align: center;
    margin-top: 30px;
    background-color: #289962;
    border-color: #289962;
    color: #fff;
    transition: background-color 1s;
    border-radius: 6px;

    
}


.sousin:hover{
    cursor:pointer;
    color: #f3ecec;
    background-color: #c23e3e;
    
    
}

.sousinbo{
    text-align: center;
}


.sentaku{
    margin-top: 10px;
    margin-bottom: 10px;
}

.unkozu{
    width:100px;
    height:100px;
}






.kanrinin{
    float: left;
    padding-left: 10px;    
    padding-top: 10px;/*    ←　機能していない*/
}

footer p{
    margin-left: 20px;
    
}

aside h2{
    text-align: center;
    color: #c21b1b;
}




 


@media screen and (max-width:768px) {

    .container {
        width:100%;
        padding-right: 30%;
        /* グリッドの列の幅を指定 */
        grid-template-columns: 1fr;
        /* グリッドの行の高さを指定 */
        grid-template-rows: 100px auto auto 150px;
        /* グリッドの列・行両方の間の余白を指定 rowgap columngap */
        gap: 20px 0;
        /*overflow:hidden;*/
    }

    header {
        /* グリッドの配置の命令 */
        grid-column: 1 / 2;
        padding-bottom: 20px;
    }
    
    aside {
        background-color: #E1EDED;
        /*padding: 20px; */
        /* グリッドの配置の命令 */
        grid-column: 1 / 2;
    }
    
    main {
        background-color: #b0aecc;
        /*padding: 20px;  */
        /* グリッドの配置の命令 */
        grid-column: 1 / 2;
    }
    
    footer {
        background-color: #E1EDED;
        /* グリッドの配置の命令 */
        grid-column: 1 / 2;
    }

    main section {
        flex-direction: column;
        margin-bottom: 40px;
    }

    main section div {
        margin-right: 0;
    }

    .sousinbo{
        text-align: center;
        
    }

    input[type="submit"]{
        font-size:20px;
    }

}
