@media screen and (min-width:720px) {
    .wrapper {
        max-width: 500px;
        margin: 30px auto;
        border-radius: 1rem;
        overflow: hidden;
        background: #fff;
        box-shadow: 2px 2px 3px #00000029;
    }

    body {
        background: #fffed5;
    }
}

h3 {
    text-align: center;
    font-size: 2rem;
    margin-bottom: 1rem;
    color: #503629;
    letter-spacing: .1rem;
    background: #ffd95e;
    padding: 1.2rem 0;
    border-radius: 1rem;
    position: relative;
    margin-bottom: 3.5rem;
}

h3:after {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 1.5rem solid transparent;
    border-left: 1.5rem solid transparent;
    border-top: 2.5rem solid #ffd95e;
    border-bottom: 0;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -24px;
}

.mainImg {
    background: url(../img/mainBG.png);
    background-size: cover;
    background-position: unset;
}

.mainImg img {
    margin: 0 auto;
    display: block;
}

p {
    line-height: 2.8rem;
    /* font-family: "Noto Sans JP"; */
    color: #4e3428;
    font-weight: bold;
}

.div01 {
    background: #fffcf0;
    padding: 8rem 1rem 2rem;
    position: relative;
    display: grid;
    gap: 1.5rem;
}

.div01 h3 {
    position: absolute;
    width: 95%;
    left: 50%;
    transform: translateX(-50%);
    top: -4rem;
}

.div01 img {
    width: 100px;
}

.div01>div {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    text-align: center;
}

.div01_1 {
    display: grid;
    gap: 1rem;
}

.div01_1 p {
    margin: 0;
}

.div01_1 p:first-child {
    border-bottom: 2px #f29cba dotted;
    padding-bottom: 1rem;
}

.div02 {
    text-align: center;
    padding: 3rem 1rem;
}

.div02 h3:after {
    display: none;
}

.div02 h3 {
    background: transparent;
    margin-bottom: 2rem;
    font-size: 1.6rem;
}

.div02 h3 span {
    font-size: 2.4rem;
    color: #e47c7c;
    margin-top: 1.5rem;
    display: inline-block;
}

.div02 h3 span span {
    margin: 0 0.8rem;
    border-bottom: 3px #e47c7c solid;
}

.div02 img {
    max-width: 400px;
    width: 80%;
    margin-top: 1rem;
}

.div02_2 div:after {
    content: "";
    border-bottom: 2px #f29cba dotted;
    display: block;
    width: 80%;
    margin: 1.5rem auto;
}

.div02_2 div.last:after {
    display: none;
}

.top_message {
    display: grid;
    gap: 1rem;
    justify-content: center;
    text-align: center;
    margin-bottom: 3rem;
}

.top_message div {
    background: #ffd960;
    padding: 1rem 2rem;
    border-radius: 1rem;
}

.column2 {
    text-align: center;
    margin-bottom: 4rem;
}

a.btn {
    background: #77d18c;
    padding: 1rem 2.5rem;
    display: inline-block;
    border-radius: 6rem;
    color: #fff;
    box-shadow: 0px 5px 0 #579a66;
    font-size: 1.8rem;
    margin-top: 1.5rem;
}

.app_img {
    display: grid;
    grid-template-columns: 1fr 1fr;
    width: 95%;
    margin: 0 auto;
    margin-bottom: 2rem;
}

@keyframes infinity-scroll-left {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-100%);
    }
}

@keyframes infinity-scroll-right {
    from {
        transform: translateX(-100%);
    }

    to {
        transform: translateX(0);
    }
}

.slideLoop {
    display: flex;
    overflow: hidden;
}

.slideLoop_inner {
    display: grid;
    list-style: none;
    padding: 0;
    grid-template-columns: repeat(7, 1fr);
}

.scroll_left {
    animation: infinity-scroll-left 5s infinite linear 0.5s both;
}

.scroll_right {
    animation: infinity-scroll-right 5s infinite linear 0.5s both;
}

.slideItem {
    width: calc(100vw/2);
}

.slideItem>img {
    width: 100%;
}

.div03 {
    width: 85%;
    margin: 0 auto;
    margin-bottom: 5rem;
}

ul.step {
    display: grid;
    gap: 1.5rem;
    margin-bottom: 3rem;
    justify-content: center;
}

ul.step li {
    display: flex;
    gap: 1rem;
    align-items: center;
}

ul.step li p:first-child {
    background: #4e3428;
    padding: 0 1.5rem;
    border-radius: 50px;
    color: #fff;
    font-size: 1.4rem;
}

h4 {
    font-size: 2rem;
    color: #e47c7c;
    border-bottom: 3px #e47c7c solid;
    padding-bottom: .5rem;
}

.div03_1 {
    display: grid;
    justify-items: center;
}

footer a {
    width: 150px;
}

footer {
    display: grid;
    gap: 1rem;
    justify-items: center;
    padding: 2rem 0;
    background: #fffcf0;
}