.textarea{
width:30em;
margin:0 auto;
margin-bottom: 3em;
}

.box1__img {
    width: min(600px, 55%);
}

.jphead {
    margin-bottom: 0.5em;
    letter-spacing:0.2em;
}

h1{
    font-size: 2rem;
    overflow:hidden;
    border:solid red 1px;
    visibility:hidden;
    white-space:nowrap;
    line-height:1;
    margin-bottom:0.5em;
    animation:test 3s ease-in-out 0s infinite;
}

h1:before{
    content:"NORINORI　NORIMAKINEKO";
    position:absolute;
    top:0;
    left:0;
    visibility:visible;
    display: block;
    animation:norinori 4s ease-in-out 0s infinite;
}

h1:after{
    content:"GROOVING　NORIMAKINEKO";
    position:absolute;
    left:0;
    visibility:visible;
    display: block;
    animation:norinori 4s ease-in-out 0s infinite;
    top:2em;
}

.box1{
    margin-bottom:6em;
}

.box2-img{
    margin: 0 auto;
    width: min(600px, 55%);
    border:solid 0.25em #000;
    margin-bottom:6em;
}

.box2__title{
    font-size:1.75rem;
    font-weight:600;
    text-align:center;
    margin-bottom:0.5em;
}

@keyframes norinori{
    0%{transform:translateY(0)}
    43%{transform:translateY(0)}
    50%{transform:translateY(-2em)}
    93%{transform:translateY(-2em)}
    100%{transform:translateY(0)}
}

@media screen and (max-width:768px){

    .main {
        padding-top: 0em;
    }

    .jphead {
        letter-spacing: 0em;
        font-size: 2.3rem;
        white-space: nowrap;
        margin-bottom:0.35em;
    }

    .box {
        margin-bottom: 1em;
    }

    .textarea {
        width: 100%;
        margin-bottom: 2em;
    }

    h1 {
        font-size: 1.45rem;
    }

    .box1__img {
        width: min(600px, 100%);
    }
    .box2__img1,
    .box2__img2 {
        width: min(600px, 100%);
    }

    .box2__title{
        font-size: 1.2rem;
    }

    .footer__content {
        padding-top: 0em;
    }
}