html, body {
    height: 100%;
}
  
body:after {/*擬似要素をつくる*/
    position: fixed;/*固定配置*/
    top: 0; left: 0;/*左上に固定*/
    width: 100%;
    height: 100%;/*画面全体を覆う*/
    content: "";
    background: #e7eef0;/*保険用*/
    background: linear-gradient(to bottom, #f1f5f6 0%, #dde7e9 100%);
    z-index: -1;
}

body {
    text-align: center;
    color: #243746;
    font-family: sans-serif;
    font-size: 12pt;
    box-direction: column;
    justify-content: center;
}

p{
    font-size: 18px;
}

img {
    width:200px;
    height:200px;
    border-radius:50%;
}

.wrapper {
    width: 500px;
    max-width: 100%;
    margin: 0 auto;
    margin-top: 8%;
}

.field {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 70px;
}

.contents {
    margin-top: 70px;
}

.card {
    margin:0 auto;
    
}
.card img{
    transition:0.3s all;
}
.card img:hover{
    transform:scale(1.1,1.1);
    transition:0.3s all;
}

.icon {
    width:100px;
    height:100px;
}

.link{
    text-decoration: none;
    font-size: 15px;
    color: #243746;
}

.email {
    margin-top: 40px;
    font-size: 15px;
}

.email a {
    color: #243746;
    text-underline-offset: 4px;
}

.email a:hover,
.email a:focus-visible {
    color: #3f83b3;
}

@media (max-width: 600px) {
    body {
        margin-left: 16px;
        margin-right: 16px;
    }

    .wrapper {
        margin-top: 40px;
    }

    .wrapper > img {
        width: 160px;
        height: 160px;
    }

    .contents {
        margin-top: 36px;
    }

    .field {
        flex-wrap: wrap;
        gap: 28px 22px;
    }

    .card {
        flex: 0 1 88px;
    }

    .icon {
        width: 76px;
        height: 76px;
    }

    .link {
        margin-top: 8px;
        font-size: 14px;
    }

    .email {
        margin-top: 28px;
        overflow-wrap: anywhere;
    }
}
