html {
   font-family: 'Times New Roman', 'BIZ UDPMincho', serif;
}

.reports {
    color: #f00;
}

#page_title {
    font-family: 'UD Digikyo Latin', 'UD Digi Kyokasho NK', 'UD Digi Kyokasho NK-B', sans-serif;
    font-size: 46px;
    font-weight: bold;
    margin: 24px auto;
    max-width: 360px;
    text-align: center;
}

#page_title a {
    color: #000;
    text-decoration: none;
}

#page_title:hover {
    text-decoration: underline double 1px;
    transform: scale(1.05);
    opacity: 0.5;
}

.article {
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
}

nav a {
    text-decoration: none;
    font-family: 'UD Digikyo Latin', 'UD Digi Kyokasho NK', 'UD Digi Kyokasho NK-R', serif;
}

a:hover {
    text-decoration: underline;
}

section#sns {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
}

section#sns>article {
    border-top: #000 dashed 1px;
    font-family: 'Times New Roman', 'BIZ UDPMincho', serif;
    border-bottom: #000 dashed 1px;
    margin: 1rem;
    padding-inline: .5rem;
    width: 90%;
    max-width: 25rem;
    box-shadow: #889 2px 2px 2px 2px;
    background: linear-gradient(-12deg, #d0ffd860, #e3d8ff);
}

section#sns>article#test {
    display: none;
}

@media screen and (max-width:640px) {
    body {
        margin: 0;
    }

    nav {
        position: fixed;
        top: 0;
        background-color: #F0F0FF;
        width: 100%;
        height: 150px;
        display: flex;
        flex-direction: row;
        justify-content: flex-start;
        overflow-x: auto;
        overflow-y: hidden;
        z-index: 2;
    }

    #nav_link {
        display: none;
    }

    .nav_list {
        display: none;
    }

    .nav_list hr {
        display: none;
    }

    #abehiroshi {
        display: none;
    }

    nav>section {
        margin: 5px;
        padding-left: 10px;
        text-align: center;
        border-left: #51d5 dashed;
    }

    nav>section>a {
        color: #b0f;
        text-decoration: none;
    }

    .nav_img {
        height: 100px;
        width: 130px;
    }



    #webmail_pc {
        display: none;
    }

    .main {
        width: 100%;
        position: absolute;
        top: 150px;
        padding: 5px 0 150px;
        min-height: 715px;
        background-attachment: fixed;
        z-index: 1;
    }

    .main2 {
        width: 100%;
        position: absolute;
        top: 150px;
        padding: 5px 0 150px;
        min-height: 715px;
        background-attachment: fixed;
        z-index: 1;
    }

    #back {
        background-image: url(./name2_s.svg);
        width: 100%;
        position: fixed;
        top: 150px;
        min-height: 715px;
        z-index: 0;
    }


    .page1 {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        gap: 20px;
    }

    .page2 {
        display: grid;
        grid-template-columns: 5rem 15rem;
        justify-content: space-between;
        margin: 0 auto;
        min-width: 20rem;
        max-width: 23rem;
        width: 80%;
        row-gap: 2rem;
    }

    .profile {
        width: 80%;
        text-align: center;
        margin: 0 auto;
        padding: 16px;
    }

    .profile_img {
        width: 75%;
        height: auto;
        box-shadow: 8px 8px #0006;
    }

    .info {
        width: 100%;
    }

    .info_head {
        font-weight: bold;
        text-align: center;
    }


    .latest {
        text-align: center;
    }

    .article {
        min-height: 120px;
        margin: 24px 20px;
        box-shadow: 2px 2px 10px 2px #0006;
    }

    .caution {
        margin: 0 20px;
        font-weight: bold;
    }
}

@media not screen and (max-width:640px) {
    html {
        height: 100vh;
    }

    body {
        margin: 0;
        height: 100vh;
    }

    nav {
        padding-bottom: 100px;
        background-color: #F0F0FF;
        border-right: gray solid;
        width: 200px;
        height: 100vh;
        overflow-y: auto;
        position: fixed;
        top: 0;
        left: 0;
        z-index: 2;
    }

    .nav_list {
        padding: 0px 10px;
        text-align: center;
        list-style: none;
        font-size: 24px;
    }

    nav>section {
        text-align: center;
        border-top: #51d3 dashed;
        margin: 10px auto;
        padding-top: 10px;
        width: 180px;
    }

    nav>section>a {
        color: #b0f;
        text-decoration: none;
        font-size: 24px;
    }

    #JERFU img:hover {
        animation: imgbounce 0.6s ease-in-out 0s forwards;
    }

    .nav_img {
        width: 180px;
        height: 120px;
    }

    .nav_img:hover {
        animation: imgbounce 0.6s ease-in-out 0s forwards;
    }

    @keyframes imgbounce {
        33% {
            transform: matrix(1.1, 0, 0, 0.8, 0, 15);
        }

        66% {
            transform: matrix(0.8, 0, 0, 1.1, 0, -15);
        }
    }

    #webmail_sp {
        display: none;
    }

    #back {
        position: fixed;
        width: calc(100vw - 200px);
        min-width: 1050px;
        height: 100vh;
        min-height: 715px;
        left: 200px;
        background-image: url(./name2.svg);
        z-index: 0;
    }

    .main {
        width: calc(100vw - 200px);
        min-width: 1050px;
        height: 100vh;
        min-height: 715px;
        position: absolute;
        left: 200px;
        z-index: 1;
    }

    .main2 {
        width: calc(100vw - 200px);
        min-width: 560px;
        height: 100vh;
        min-height: 750px;
        position: absolute;
        left: 200px;
        z-index: 1;

    }


    .page1 {
        display: grid;
        width: 950px;
        gap: 40px;
        grid-template-columns: 360px 550px;
        margin: 0 auto;
        justify-content: center;
    }

    .page2 {
        display: grid;
        margin: 0 auto;
        grid-template-columns: 6rem 15rem;
        row-gap: 2rem;
        width: 60%;
        max-width: 25rem;
        min-width: 21rem;
        justify-content: space-between;
    }

    .profile {
        width: 360px;
    }

    .profile_img {
        width: 360px;
        height: 480px;
    }

    .info {
        width: 550px;
    }

    .info_head {
        font-weight: bold;
        border-bottom: solid 1px #000;


    }

    .latest {
        text-align: center;
    }

    .article {
        height: 144px;
        border-bottom: solid 1px #000;
    }

    .caution {
        margin: 12px 0;
        font-weight: bold;
    }
}