/* リセットCSS */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

div#outer {
    max-width: unset;
}

html {
    scroll-behavior: smooth;
}

/* 基本設定 */
body {
    font-family: 'Noto Sans JP', sans-serif;
    line-height: 1.8;
    overflow-x: hidden;
    background-color: #F5F1EE;
    width: 100vw;
}

img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.contents {
    width: 100%;
    overflow-x: hidden;
    position: relative;
}

.pc {
    display: block;
}

.sp {
    display: none;
}

/* セクション共通 */
section {
    width: 100%;
    overflow-x: hidden;
}

@media (max-width: 780px) {

    .pc {
        display: none;
    }

    .sp {
        display: block;
    }
}

.fade-in {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

.fade-in.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.fade-in-row .fade-in {
    transition: opacity 0.6s ease, transform 0.6s ease;
}