
@media screen and  (min-width:641px) and (max-width:1024px) {

.main_flex {
   width: 100%;
   box-shadow: none;
   overflow: visible;
   margin-top: 0;
}

main {
   width: 100%;
   border-radius: 0;
   padding: 40px 0 0;
}

.fixed {
   position: unset;
}

.join_campaign .balloon {
   font-size: 1.4rem;
   max-width: 300px;
}

.member_join_btn {
   width: 80%;
}


.g_header1 {
   position: absolute;
   width: 100px;
   top: 46px;
   left: 25px;
   transform: none;
   -webkit-transform: none;
   -ms-transform: none;
}

.contents_right {
   position: fixed;
   top:auto;
   bottom:20px;
   right:15px;
   width:188px;
   height:188px;
   padding: 0;
   z-index: 10;
}
.contents_right a {
   width:188px;
   height:188px;
   margin: 0;
}

.g_header .g_navi-head-sub, .g_header .g_navi-head {
    display: flex;
    align-items: center;
}

.g_header .g_navi-head_menu{
   /*display: none;*/
   margin: 0 20px 0 0;
   width: calc(100vw - 375px);
}
.g_header .g_navi-head_logo img {
    /*margin-top: 12px;*/
}
.g_navi-head_btns{
   float: right;
   margin-right: 20px;
}
.g_header .g_navi-head .btn {
   margin: 0;
}

.lp_main-visual {
   border-radius: 0;
   height: 860px;
}



.mask__text {
   font-size: 4rem;
}

.lp_main-visual .text .sub_read{
   font-size: 3rem;
}
.hero__group__title {
   bottom: 40px;
   right: 4px;
}
.triangle:after {
   top: 99.9%;
   border-right: 50vw solid transparent;
   border-left: 50vw solid transparent;
}

.about {
   padding: 100px 50px;
}
.nayami_list .nayami_card {
   height: 38vw;
}
.approach_list {
   margin-bottom: 50px;
}
#approach::before,
.rate::after,
.feature::before,
.feature::after {
   height: 20vw;
}

#problem {
   height: 650px;
   padding: 100px 150px 0;
}

.problem_img {
   width: 370px;
}

#problem p {
   bottom: 20px;
}

.contents-list {
   padding: 100px 50px 50px;
}


.step_list {
   width: 60%;
}

.g_footer {
   border-radius: 0;
}


.pc-tab{
   display: inline-block;
}

.tab{
  display: inline-block!important;
}
.sp, .pc {
  display: none;
}

.top_cv .flex{
   padding: 0 40px;
   width: 100%;
   flex-wrap: wrap;
   justify-content: space-between;
}

.top_cv .flex img {
    width: 60%;
}

.top_cv .flex .top_cv-right {
    margin-top: 20px;
}

.top_cv-right .coupon_area {
    padding: 10px 15px;
}


}