::-webkit-scrollbar {
    display: none;
}

:root{
    --sprite-img_size: 174060px;
    --sprite-img_width: 500px;
    --step: 29;
}

body {
    -ms-overflow-style: none;
    scrollbar-width: none;
    font-family: ten-mincho, serif;
    font-weight: 400;
    font-style: normal;
    background: #E6E4D9;
    color: #4B4B4B;
}

a {
    text-underline-position: bottom;
    color: #2B2B2B;
    transition: all .2s;
    word-break: break-word;
}

a:hover {
    color: #9f9f9f;
    text-decoration: none;
    transition: all .2s;
}

p {
    font-feature-settings: "palt";
}

.doc {
    display: flex;
    /* flex-direction: column-reverse; */
    gap: 1em;
    text-align: center;
}

.doc:first-child {
    padding-right: 1em;
}

.fullPageScroll {
    width: 100%;
    height: 100lvh;
    /* scroll-snap-type: y mandatory; */
    /* overflow-y: auto; */
    -webkit-overflow-scrolling: touch;
}

.title {
    font-size: 1.7em;
    margin-top: -1em;
}
/* 
.sprite-anim {
    width: 100%;
    height: 100%;
} */

/* #mask{
    width: 480px;
    height: 270px;
} */

/* #mask path{
    fill: #4B4B4B;
} */

/* .acc #mask,
.policy #mask{
    width: 200px;
    height: 113px;
} */

.sprite-anim_space{
    width: 76px;
    height: 214px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.sprite-anim_image {
    mask-image: url("./img/noise5.png");
    mask-repeat: no-repeat;
    mask-position: 0 0;
    mask-size: calc(var(--sprite-img_width) * var(--step) + var(--sprite-img_width));
    -webkit-mask-image: url("./img/noise5.png");
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: 0 0;
    -webkit-mask-size:calc(var(--sprite-img_width) * var(--step) + var(--sprite-img_width));
    animation: sprite-animation 2.5s steps(var(--step)) forwards;
}

.sprite-anim_space2{
    width: 214px;
    height: 76px;
    display: flex;
    justify-content: center;
    /* f */
}

.sprite-anim_image2 {
    --sprite-img_width: 1300px;
    mask-image: url("./img/noise6.png");
    mask-repeat: no-repeat;
    mask-position: 0 0;
    mask-size:calc(var(--sprite-img_width) * var(--step) + var(--sprite-img_width));
    -webkit-mask-image: url("./img/noise6.png");
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: 0 0;
    -webkit-mask-size:calc(var(--sprite-img_width) * var(--step) + var(--sprite-img_width));
    animation: sprite-animation 2.5s steps(var(--step)) forwards;
}

@keyframes sprite-animation {
    0% {
        mask-position: 0 0;
        -webkit-mask-position: 0 0;
    }

    100% {
        mask-position: calc(var(--sprite-img_width) * var(--step) * -1) 0;
        -webkit-mask-position: calc(var(--sprite-img_width) * var(--step) * -1) 0;

        /* mask-position: 100% 0;
        -webkit-mask-position: 100% 0; */

        /* mask-position: calc(var(--sprite-img_size) + var(--sprite-img_width)) 0;
        -webkit-mask-position: calc(var(--sprite-img_size) + var(--sprite-img_width)) 0; */
    }
}

.policy,
.credit {
    .title {
        margin-top: 0;
    }
}

.section {
    width: 100%;
    height: 100lvh;
    /* height: 100lvh; */
    padding: 10%;
    /* scroll-snap-align: start; */
    display: grid;
    grid-template-columns: auto;
    place-content: center;
    place-items: center;
    grid-auto-flow: column;
    writing-mode: vertical-rl;
    letter-spacing: .2em;
    line-height: 2;
}

.credit_page .credit,
.credit_page .policy {
    display: block;
    writing-mode: initial;
    padding: 20%;
}

/* .credit div:last-child {
    margin-left: 0;
} */

.credit div p {
    line-height: 2;
}

.cre-list {
    margin-top: 2em;
}

/* .credit div a,
.policy div a,
.policy a {
    text-underline-position: left;
    color: #2B2B2B;
} */

.credit .txt-box {
    display: initial;
}

.credit {
    padding: 20em;
}

.policy {
    line-height: 2em;
}

.policy .title {
    margin-bottom: 2em;
}

.policy-list {
    margin-top: 2em;
}

.policy-list p:first-child {
    font-size: 1.5em;
    margin-bottom: 0.5em;
}

.policy-list ul {
    padding-left: 1.5em;
}

.list-title {
    margin: 1em 0 0.5em;
    font-weight: 700;
    font-style: italic;
}

.indent {
    list-style-type: none;
}

.indent:last-child {
    margin-bottom: 1em;
}

.section1 {
    gap: 4em;
    padding-top: 0;
}

.txt-box {
    display: flex;
    flex-direction: column;
}

.section18,
.section19,
.section20 {
    writing-mode: horizontal-tb;
}

.section20 .txt-box {
    display: grid;
    grid-template-columns: auto;
    grid-template-rows: 1fr;
    width: fit-content;
}

.section20 button {
    appearance: none;
    margin-top: 2em;
    background: #E6E4D9;
    color: #4B4B4B;
    border: #4B4B4B 1px solid;
    border-radius: 99px;
    padding: 5%;
    font-family: ten-mincho, serif;
    font-weight: 400;
    font-style: normal;
}

.desc {
    font-size: 0.7em;
    margin-top: 2em;
}

.back {
    position: fixed;
    top: -100%;
    left: 0;
    background: #E6E4D9;
    width: 100%;
    height: 100%;
    height: 100dvh;
    z-index: 99999;
}

.back .mssg,
.back .acc{
    width: 100%;
    height: 100vh;
    height: 100dvh;
    padding: 10%;
    display: grid;
    grid-template-columns: auto;
    place-content: center;
    place-items: center;
    letter-spacing: .2em;
}

.mssg{
    writing-mode: vertical-rl;
    grid-auto-flow: column;
}

.acc{
    writing-mode: horizontal-tb;
    /* overflow: scroll; */
    
}

.acc p{
    text-indent: 1em;
    margin-top: 1.5em;
    text-align: center;
}

.acc small{
    margin-top: 5em;
}

.acc:first-child{
    margin-top: 0;
}

.gensaku p:nth-child(2){
    margin: 0;
}

.gensaku{
    font-weight: 700;
    margin-bottom: 4em;
}

#accelerationMessage{
    background: #E6E4D9;
    opacity: 0;
    z-index: 999999;
    overflow: scroll;
}

.mar{
    margin-top: 8.5em;
    text-align: center;
}

.title-box{
    display: flex;
    align-items: center;
    flex-direction: column;
}

.credit .txt-box{
    text-align: center;
}

.credit .txt-box .policy-list ul{
    list-style-type: none;
    padding: 0;
}

.title-box .title{
    margin: 0;
}

.title-box .mar{
    margin: 0;
}

.credit .policy-list {
    margin-top: 7em;
}

.credit .policy-list p:first-child {
    font-size: 1.5em;
    margin-bottom: 0.5em;
}

.license .list-title{
    margin-top: 3em;
}

.credit .policy-list p{
    text-align: center;
}

.credit .policy-list p span{
    font-size: 1.3em;
}

#lottie{
    width: 100px;
    height: 100px;
    margin-bottom: 1em;
}

@media (max-width: 500px) {
    /* #mask{
        width: 380px;
        height: 214px;
    } */

    .section1{
        gap: 2em;
        transform: translateY(-10px);
        -webkit-transform: translateY(-10px);
    }

    .credit_page .credit,
    .credit_page .policy {
        padding: 15%;
    }
}