body {
    padding: 2rem;
    transition: .5s;
}
/*
LOADING
================================================ */

#loading {
    background-color: #000000;
    position: fixed;
    z-index: 9999;
    inset: 0;
    display: grid;
    place-items: center;
}
#loading-screen {
    background-color: #7c7c7c;
    position: fixed;
    inset: 0;
    z-index: 9998;
    translate: 0 100vh;
}
#loading p {
    color: #fff;
    font-size: 2rem;
}
/* ダークモード */
.dark-theme {
    background: #000;
    color: #ddd;
}
#btn {
    position: fixed;
    top: 35px;
    left: 0;

    background: #666;
    padding: .5rem;
    margin: 0 1.5rem;
    font-size: 1rem;
    color: #fff;
    border-radius: 8px;
    border: 0;
    cursor: pointer;
}
#top {
    position: fixed;
    top: 0;
    left: 0;
    background-color: #eeeeee;
    width: 100%;
    height: 10vh;
    opacity: .8;
}
#bar {
    color: #fff;
    background-color: #333;
    height: 30px;
    text-align: center;
    /* width: 100%; */
}
/*
SLIDE MENU
================================================ */
/* 開閉ボタン */
.btn-menu {
    position: fixed;
    right: 1rem;
    top: 1rem;
    z-index: 4;
    padding: .5rem 1rem;
    border: 1px solid #666;
    border-radius: 50%;
    height: 4rem;
    width: 6rem;
    font-weight: bold;
    transition: .4s;
    cursor: pointer;

}
/* .btn-menu svg {
    fill: #666;
    margin-top: .25rem;
    height: 2rem;
    width: 2rem;
} */

/* 閉じるボタン */
#menu-close {
    border: 1px solid #666;
    cursor: pointer;

}
/* #menu-close svg {
    fill: #666;
} */

/* スライドメニューパネル */
#menu-panel {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 4;
    padding: 8rem 2rem 2rem;
    width: max(32vw, 20rem);
    height: 100vh;
    background-color: #666;
    /* box-shadow: 0 0 2rem #666; */
    /* font-family: var(--oswald-font); */
    translate: 0 -150vh;
}
.menu-list {
    list-style: none;
}
.menu-list li {
    margin: 1.5rem 0;
    /* opacity: 0; */
}
.menu-list a {
    color: #ddd;
    text-decoration: none;
    font-size: 1.2rem;
}

article {
    width: 80vw;
    margin: 1rem auto;
    padding: 4rem 2rem 2rem 2rem;
    line-height: 1.8;
}
h2 {
    margin: 2rem 0;
}
/* モーダルウィンドウ */
#open,
#close {
    background: #ddd;
    border: 3px solid #666;
    border-radius: .5rem;
    padding: 1rem 2rem;

    cursor: pointer;
}
#mask {
    background: rgba(0, 0, 0, .6);
    position: fixed;
    inset: 0;
    z-index: 9998;
    opacity: 0;
    visibility: hidden;
}
#modal {
    background: #fff;
    color: #666;
    position: fixed;
    text-align: center;
    max-width: 20rem;
    padding: 2rem;
    border-radius: .5rem;
    /* position: absolute; */
    inset: 10rem 0 auto;
    margin: auto;
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
}