* {
    margin: 0;
    padding: 0;
}
body {
    position: relative;
    scroll-behavior: smooth;
    animation: disableScroll .1s linear 2.5s both;
    background-color: #d8d0d4;
    color: #041030;
}
a {
    text-decoration: none;
    color: #041030;
}
li {
    list-style: none;
}
img {
    width: 100%;
    -webkit-touch-callout: none;
    -webkit-user-select:none;
    -moz-touch-callout:none;
    -moz-user-select:none;
	-webkit-user-drag: none;
    -khtml-user-drag: none;
    user-select:none;
}
#loading {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 100;
    background-color: #d8d0d4;
}
/* PC用スタイル */
@media screen and (min-width: 769px) {
    h1 {
        position: relative;
        color: #92889f;
        text-align: center;
        font-size: 14.5vw;
        margin-bottom: 70px;
        padding-bottom: 20px;
        animation: h1_background 1s ease-in-out forwards;
        animation-delay: 1.8s;
    }
    h1::after {
        content: '';
        position: absolute;
        left: 0;
        bottom: 0;
        border-bottom: solid 3px #92889f;
        animation: border_anim 1s ease-in-out forwards;
        animation-delay: 1.5s;
    }
    @keyframes border_anim {
        0% {
            width: 0%;
        }
        100% {
            width: 100%;
        }
    }
    @keyframes h1_background {
        0% {
            color: #92889f;
            background-color: #d8d0d4;
        }
        100% {
            color: #d8d0d4;
            background-color: #92889f;
        }
    }
    .gallery ul {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }
    .img-list {
        margin-bottom: 5px;
        opacity: 1;
        padding: 7px;
        transition: 0.5s;
    }
    .img-list.is-hidden {
        visibility: hidden;
        opacity: 0;
        height: 0;
        margin: 0;
        padding: 0;
    }
    .img-list img {
        width: 15vw;
        height: 15vw;
        object-fit: cover;
        object-position: center top;
    }
    .none {
        width: 15vw;
        height: 15vw;
    }
    .more-btn {
        margin-top: 60px;
        margin-bottom: 50px;
        text-align: center;
        z-index: 50;
    }
    .more-btn button {
        display: inline-block;
        background-color: #92889f;
        color: #d8d0d4;
        font-size: 20px;
        letter-spacing: 0.3em;
        width: 200px;
        height: 32px;
        border: none;
        outline: none;
        cursor: pointer;
        transition: 0.3s;
    }
    .more-btn button:hover {
        background-color: #d8d0d4;
        border: 1px solid #92889f;
        color: #92889f;
        transition: 0.3s;
    }
    .more-btn.is-btn-hidden {
        display: none;
    }
    footer {
        text-align: center;
        color: #796d88;
        font-size: 10px;
        padding: 15px;
    }
    #footer-list {
        display: inline-flex;
        text-align: justify;
        border-left: 1px solid #796d88;
        border-right: 1px solid #796d88;
        font-size: 14px;
        margin-bottom: 20px;
    }
    #footer-list li a {
        display: inline-block;
        color: #796d88;
        margin: 5px;
        padding: 5px 15px 5px 15px;
    }
    footer span {
        vertical-align: sub;
        font-size: 16px;
    }
}
/* スマホ用スタイル */
@media screen and (max-width: 768px) {
    h1 {
        position: relative;
        color: #92889f;
        text-align: center;
        font-size: 20vw;
        margin-bottom: 70px;
        padding-bottom: 20px;
        animation: h1_background 1s ease-in-out forwards;
        animation-delay: 1.8s;
    }
    h1::after {
        content: '';
        position: absolute;
        left: 0;
        bottom: 0;
        border-bottom: solid 3px #92889f;
        animation: border_anim 1s ease-in-out forwards;
        animation-delay: 1.5s;
    }
    @keyframes border_anim {
        0% {
            width: 0%;
        }
        100% {
            width: 100%;
        }
    }
    @keyframes h1_background {
        0% {
            color: #92889f;
            background-color: #d8d0d4;
        }
        100% {
            color: #d8d0d4;
            background-color: #92889f;
        }    
    }
    .gallery ul {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }
    .img-list {
        margin-bottom: 5px;
        opacity: 1;
        padding: 7px;
    }
    .img-list.is-hidden {
        visibility: hidden;
        opacity: 0;
        height: 0;
        margin: 0;
        padding: 0;
    }
    .img-list img {
        width: 45vw;
        height: 45vw;
        object-fit: cover;
        object-position: center top;
    }
    .more-btn {
        margin-top: 60px;
        margin-bottom: 60px;
        padding: 14px;
        text-align: center;
        z-index: 50;
    }
    .more-btn button {
        display: inline-block;
        background-color: #92889f;
        color: #d8d0d4;
        font-size: 28px;
        font-weight: bold;
        letter-spacing: 0.3em;
        width: 100%;
        height: 80px;
        border: none;
        outline: none;
        cursor: pointer;
        transition: 0.3s;
    }
    .more-btn button:active {
        background-color: #d8d0d4;
        border: 1px solid #92889f;
        color: #92889f;
        transition: 0.3s;
    }
    .more-btn.is-btn-hidden {
        display: none;
    }
    footer {
        text-align: center;
        color: #796d88;
        font-size: 10px;
        padding: 15px;
    }
    #footer-list {
        text-align: center;
        width: 100%;
        border-top: 2px solid #796d88;
        border-bottom: 2px solid #796d88;
        font-size: 18px;
    }
    #footer-list li a {
        display: inline-block;
        width: 100%;
        color: #796d88;
        margin: 5px 0;
        padding: 15px 0;
        border-bottom: 1px solid #796d88;
    }
    #footer-list .last-line a {
        border-bottom: none;
    }
    footer p {
        margin-top: 15px;
    }
    footer span {
        vertical-align: sub;
        font-size: 16px;
    }
}