.top-bg{
    display: inline;
    margin: 1 calc(50% - 50vw);
}
@media (min-width:738px) {

}
@media (min-width:992px) {
    .top-bg{
        margin: 1 calc(50% - 50vw);
    }
}
.top-bg{
	width: 980px;
}
.top-sp{
	width: 100vw;
}


.top-sp{
    display: none;
}
.ride01{
    width: 100%;
}
.ride01-img,.ride02-img{
    width: 100%;
}
.ride02-img{
    display: none;
}
.head-hayase{
    position: relative;
    font-weight: 600;
    z-index: 4;
}
.flow-box-p{
    line-height: 1.6em;
}
.flow-box-contents{
    padding: 1rem 4.4rem 1rem 5.6rem;
    display: flex;
    justify-content: space-between;
    gap: 3.6em;
}
@media (max-width:737px) {
    .top-bg{
        display: none;
    }
    .ride01-img{
        display: none;
    }
    .top-sp{
        margin: 0 calc(47.6% - 50vw);
        display: inline;
    }
    .ride02-img{
        display: inline;
    }
    .head-hayase{
        display: none;
    }
    .h3-none{
        padding: 0 !important;
    }
    .flow-box-contents{
        padding: 1rem 2rem 1rem 2rem;
    }
}

.red-hayase{
    color: red;
    display: inline;
}
.style01-hayase{
    color: red;
}
.style01-hayase h3{
    border-left: none !important;
}

.ride01{
    margin-top: 2rem;
    background-color: #fff;
    margin-bottom: 2rem;
}
.campaigne-head{
    background-color: black;
    color: #fff;
    text-align: center;
    font-weight: 500;
    font-size: 2rem;
    padding: 1rem 0;
}
.flow-box{
    margin-top: 1rem;
    background-color: #fff;
    position: relative;
}
.flow-box-num {
    position: absolute;
    top: 50%;
    left: -4rem;
    transform: translateY(-50%);
    background-color: black;
    color: #fff;
    display: inline-flex;
    width: 7.2rem;
    height: 7.2rem;
    border-radius: 50%;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
}

.flow-box-head{
    font-weight: 600;
    font-size: 1.4em;
}
.flow-box-num-num{
    font-size: 1.4em;
}

.under-arrow{
    width:12rem;
    margin: 0.4rem auto 0.8rem;
    border-right: 12rem solid transparent;
    border-top: 2.4rem solid #000;
    border-left: 12rem solid transparent; 
}

.under-img{
    text-align: center;
}
.campaigne-sec,.entry-sec{
    padding-bottom: 3rem;
}
.kyousyujyo-big-area{
    background-color: #111;
    position: relative;
    padding: 1.4em;
}
.child-box{
    background-color: #111;
    width: 200vw;
    z-index: 0;
    top: 0;
    height: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}
.area-a{
    position: relative;
    z-index: 1;
    color: #fff;
}

.gray-back{
    margin-bottom: 3rem;
    position: relative;
    z-index: 1;
    max-width: 100vw;
}
.gray-back::after{
    content: "";
    height: 100.5%;
    background-color: #eee;
    position: absolute;
    top: -2rem;
    left: -1.8rem;
    width: 150vw;
    z-index: -1;
}
#mainBG2{
    white-space: wrap;
    margin-top: 1.4rem;
}
@media (min-width:737px) {
    .gray-back::after{
        height: 104%;
        top: -5rem;
    }
}
@media (max-width:738px) {
    .under-arrow{
        width:6rem;
        margin: 0.8rem auto 0.8rem;
        border-right: 6rem solid transparent;
        border-top: 1.8rem solid #000;
        border-left: 6rem solid transparent; 
    }
}
.flow-contents-left{
    max-width: 100%;
}
.under-img{
    width: 100%;
}
.under-img img{
    width: 80%;
}
.area-img-area{
    position: relative;
    z-index: 1;
    margin-bottom: 2rem;
}
.area-img{
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
    display: block;
}
.area-img-area::before{
    content: "";
    background-color: #272727;
    width: 100vw;
    position: absolute;
    top: 0;
    height: 100%;
    margin: 0 calc(50% - 50vw);
    z-index: 0;
}

.area-ul{
    display: flex;
    justify-content: space-around;
    padding: 1em 0;
}
.area-a{
    font-size: 1.2rem;
}
.area a{
    color: #fff;
}