
.mb25{ margin-bottom: 25px;}
.mb30{ margin-bottom: 30px;}
.f-large{ font-size: 16px;}
.pc_no{display: none;}
.sp_no{}

/*login title*/
.login_title_container{
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
}

.login_title_wrapper{
    max-width: 1008px;
    margin: 0 auto;
    padding: 48px 24px;
    padding-bottom: 50px;
    text-align: center;
}

.login_title_txt > h1{
    font-size: 40px;
}
/*login title*/

/*login*/
#login{
    width: 960px;
    margin: 0 auto;
    padding-top: 25px;
    line-height: 1.6;
    font-size: 14px;
}
#login h2{
    margin-bottom: 30px;
}

#login h2 img:last-child{
    display:none;
}

#login .appstore {
    position: relative;
}

#login .appstore .app_dl{
    cursor:default;
}

#login .appstore .appstore_cover{
    position: absolute;
    top: 1px;
    left: 462px;
    width: 487px;
    height: 217px;
    display:block;
}

#login .appstore .appstore_cover:hover{
    background-color:#fff;
    filter: alpha(opacity=60);
    opacity:0.6;
}


#login .appstore .google_cover{
    position: absolute;
    top: 226px;
    left: 462px;
    width: 487px;
    height: 217px;
}

#login .appstore .google_cover:hover{
    background-color:#fff;
    filter: alpha(opacity=60);
    opacity:0.6;
}

#login .appstore img:first-child{
    margin-bottom:40px;
}


#login .appstore img:first-child{
    display:block;
}

#login .appstore img:last-child{
    display:none;
}

#login dl.login-subt dt{
    font-size: 20px;
    font-weight: bold;
}
#login dl.login-subt dd{
    font-size: 16px;
    margin-bottom: 60px;
    line-height: 2.4;
    text-align: center;
}
#login dl.login-subt dd p.f-small{
    font-size: 12px;
}
#login ul.appli{
    clear: both;
    overflow: hidden;
    /* background: url(../../images/login/arrow-pink.png) no-repeat center bottom; */
    background-size:130px 32px;
    /* padding-bottom: 100px; */
    /* margin-bottom: 60px; */
}
#login ul.appli > li{
    width: 460px;
    height: 170px;
    float: left;
    border: 1px solid #e2e2e2;
    border-radius: 20px;
    margin-bottom: 12px;
}

#login ul.appli > li:last-child{
    width: 960px;
    float: left;
    margin-top: 20px;
    border:none
}

#login ul.appli > li:nth-child(even){
    float: right;
}
#login ul.appli > li dl dt{
    color: #fff;
    font-size: 20px;
    font-weight: bold;
    background: #A02610;
    text-align: center;
    padding: 10px;
    border-radius:10px;
    position: relative;
    margin-bottom: 30px;
}
#login ul.appli > li dl dt:after{
    position: absolute;
    right: 0;
    bottom: -11px;
    content: "";
    background: url(../../images/login/arrow-red.png) no-repeat center bottom;
    background-size:21px 11px;
    width: 100%;
    height: 11px;
    display: inline-block;
}
#login ul.appli > li dl dt span{
    color: #A02610;
    font-size: 18px;
    background: #FFF251;
    padding: 0 10px;
    margin-right: 10px;
    border-radius: 5px;
}
#login ul.appli > li dl dd.t-center{
    text-align: center;
}
#login ul.appli > li dl dd img.btn{
    width: 290px;
    height: auto;
}
#login ul.appli > li dl dd img.qr{
    width: 94px;
    height: auto;
}
#login ul.appli li div{
    clear: both;
    overflow: hidden;
    /* background: url(../../images/login/arrow-pink.png) no-repeat center bottom; */
    background-size:65px 16px;
    /* padding-bottom: 30px; */
    margin-bottom: 10px;
}
#login ul.appli li div img{
    float: left;
    width: 460px;
    /* height: 300px; */
    height: auto;
    margin-top: 18px;
    /* margin-right: 10px; */
    /* text-align: center; */
    /* margin: auto; */
}

#login ul.appli li:last-child div img{
    float: left;
    width: 960px;
    height: auto;
    /* margin-right: 10px; */
}

#login ul.appli li div p{
    padding-top: 10px;
}
#login ul.appli li p{
    font-size: 13px;
    /* font-weight: bold; */
    padding-left: 25px;
}
#login ul.appli > li ul li{
    text-align: center;
}
#login ul.appli > li ul li img{
    margin: 0 8px;
}
#login ul.appli > li ul li{
    padding-top: 20px;
    border-top: 2px dotted #ccc;
}
#login ul.appli > li ul li.first{
    padding-top: 0;
    border-top: none;
    margin-bottom: 15px;
}
#login ul.appli > li ul li p{
    font-size: 22px;
    font-weight: normal;
    margin-bottom: 10px;
}
#login ul.appli > li p img{
    width: 420px;
    height: auto;
}
#login a:hover{
    opacity: 0.6;
}
#login h3{
    font-size: 36px;
    text-align: center;
    /* margin-bottom: 45px; */
    font-weight: 700;
    color: #f05457;
}

#login .banner_campaign{
    margin-bottom:3em;
}

#login .banner_campaign img{
    width:100%;

}

#login .banner_campaign img:last-child{
    display:none;
}

#login .app1{
    margin-bottom:3em;
}

#login .app1 img{
    width:100%;

}

#login .app1 img:last-child{
    display:none;
}

#login .app2{
    margin-bottom:3em;
}

#login .app2 img{
    width:100%;

}

#login .app2 img:last-child{
    display:none;
}

#login ul.flow{
    clear: both;
    overflow: hidden;
    margin-bottom: 5px;
}
#login ul.flow li{
    float: left;
    width: 270px;
    padding-right: 50px;
    background: url(../../images/login/arrow-right.png) no-repeat right 220px;
    margin-right: 25px;
    box-sizing: content-box;
    margin-bottom: 45px;
}
#login ul.flow li:nth-child(3n){
    padding-right: 0;
    background: none;
    margin-right: 0;
}
#login ul.flow li dl dt{
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 20px;
}
#login ul.flow li dl dt img{
    width: 60px;
    height: auto;
    margin-right: 15px;
    vertical-align: middle;
}
#login ul.flow li dl dd img{
    margin-bottom: 10px;
    /* margin-left: auto; */
    /* margin-right: auto; */
    /* text-align: center; */
}
#login ul.flow li dl dd p{
    font-size: 16px;
    /* text-align: center; */
}
#login ul.flow li dl dd span{
    font-size: 14px;
}

#login .separator{
    width:90%;
    height: 1px;
    background-color: #f05457;
    border: none;
    color: #f05457;
    margin-bottom: 3em;
}

#login ul.flow_inquiry{
    clear: both;
    overflow: hidden;
    width: 560px;
    /* margin-bottom: 5px; */
    margin: auto auto;
}

#login ul.flow_inquiry li:first-child{
    float: left;
    width: 270px;
    padding-right: 20px;
    background: url(../../images/login/arrow-right.png) no-repeat right 150px;
    /* margin-right: 25px; */
    box-sizing: content-box;
    margin-bottom: 45px;
}

#login ul.flow_inquiry li{
    float: left;
    width: 270px;
    /* padding-right: 50px; */
    #background: url(
    ../../images/login/arrow-right.png) no-repeat right 220px;
    /* margin-right: 25px; */
    box-sizing: content-box;
    margin-bottom: 45px;
    /* border: 1px solid; */
    text-align: center;
}


/*login*/

/*=====PC SEARCH BOTTOM=====*/
.input_search_container{
    border: none;
}

.scnd_loc_title{
    padding-top: 90px;
    letter-spacing: 0px;
}

.scnd_loc_title > span{
    font-size: 18px;
}

.bg_for_second_loc > .select_search_container > .sml_str_txt,
.scnd_npt_container > .sml_str_txt {
    background-position: 10%;
}

.bg_for_second_loc > .select_search_container > .sml_str_txt > span,
.scnd_npt_container > .sml_str_txt > span{
    padding-left: 18%
}

.scnd_input > input[type="text"]{
    margin-top: 5px;
    -webkit-border-radius:0px;
}
_:-ms-lang(x),
.scnd_btn_container{
    padding-top: 9%!important;
}

.scnd_btn_container > a{
    width: 82%;
}
.scnd_btn_container{
    position: absolute;
    bottom:0;
    left:0;
    width: 100%;
}
.scnd_npt_container{
    position: relative;
    height: 200px;
}
.second_str_loc{
    padding-bottom: 23px;
}
/*PC SEARCH BOTTOM*/

/*PC BOTTOM TEXT*/
.pc_menu_top_txt > p{
    font-size: 12px;
    line-height: 18px;
}
/*PC BOTTOM TEXT*/

/*PC OVERIDES FOR BOTTOM MENU*/
.pc_icon_container{
    padding-bottom: 20px;
}

.misc_wrapper{
    padding-bottom: 25px;
}
/*PC OVERIDES FOR BOTTOM MENU*/

/*display nones*/
.sp_recommended,
.sp_store_locator{
    display: none;
}
/*display nones*/


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

    .pc_no{display: block;}
    .sp_no{display: none;}
    .login_title_wrapper{
        max-width: 1008px;
        margin: 0 auto;
        padding: 34px 24px;
        text-align: center;
    }

    .login_title_txt > h1{
        font-size: 28px;
    }
    #login{
        width: 100%;
        margin: 0 auto;
        padding: 20px 20px 0;
        box-sizing: border-box;
        line-height: 1.6;
        font-size: 14px;

    }

    /*login*/
    #login h2{
        margin-bottom: 20px;
    }
    #login h2 img{
        width: 100%;
        height: auto;
    }

    #login h2 img:first-child{
        display: none;
    }

    #login h2 img:last-child{
        display: block;
    }

    #login .appstore img{
        width: 100%;
        height: auto;
    }

    #login .appstore img:first-child{
        display:none;
    }

    #login .appstore img:last-child{
        display:block;
    }

    #login dl.login-subt dt{
        font-size: 16px;
        font-weight: bold;
    }
    #login dl.login-subt dd{
        font-size: 14px;
        margin-bottom: 30px;
        line-height: 2;
    }
    #login dl.login-subt dd p.f-small{
        font-size: 12px;
    }
    #login ul.appli{
        clear: both;
        overflow: inherit;
        background: url(../../images/login/arrow-pink.png) no-repeat center bottom;
        background-size:59px 15px;
        padding-bottom: 45px;
        margin-bottom: 25px;
    }
    #login ul.appli > li{
        width: 100%;
        float: none;
        height: 100%;
        padding-bottom: 3%;
    }
    #login ul.appli > li:nth-child(even){
        float: none;
    }

    #login ul.appli > li:last-child{
        width: 100%;
        float: left;
        margin-top:20px;
    }

    #login ul.appli > li dl dt{
        color: #fff;
        font-size: 20px;
        font-weight: bold;
        background: #A02610;
        text-align: center;
        padding: 10px;
        border-radius:0;
        position: relative;
        margin: 0 -20px 30px;
    }
    #login ul.appli > li dl dd img.btn{
        max-width: 390px;
        width: 66.1%;
        height: auto;
    }
    #login ul.appli > li dl dd img.qr{
        max-width: 127px;
        width: 21.5%;
        height: auto;
    }
    #login ul.appli li div{
        clear: both;
        overflow: hidden;
        /* background: url(../../images/login/arrow-pink.png) no-repeat center bottom; */
        background-size:65px 16px;
        /* padding-bottom: 30px; */
        margin-bottom: 10px;
        text-align: center;
    }
    #login ul.appli li div img{
        float: none;
        width: 100%;
        max-width: 100%;
        height: auto;
        margin-right: 10px;
    }
    #login ul.appli li div p{
        padding-top: 10px;
    }
    #login ul.appli li p{
        font-size: 90%;
        /* font-weight: bold; */
        width: 90%;
    }
    #login ul.appli > li ul{
        margin-bottom: 40px;
    }
    #login ul.appli > li ul li img{
        margin: 0 5px;
    }
    #login ul.appli > li ul li{
        padding-top: 10px;
        border-top: 2px dotted #ccc;
        margin-bottom: 10px;
    }
    #login ul.appli > li ul li.first{
        padding-top: 0;
        border-top: none;
        margin-bottom: 10px;
    }
    #login ul.appli > li p img{
        width: 100%;
        height: auto;
    }
    #login h3{
        font-size: 30px;
        text-align: center;
        margin-bottom: 30px;
    }
    #login a:hover{
        opacity: 1;
    }

    #login .banner_campaign img:first-child{
        display:none;
    }

    #login .banner_campaign img:last-child{
        display:block;
    }

    #login ul.flow{
        clear: both;
        overflow: hidden;
        margin-bottom: 5px;
    }
    #login ul.flow li{
        float: none;
        width: 100%;
        padding-right: 0;
        background: none;
        margin-right: 0;
        box-sizing: content-box;
        padding-bottom: 20px;
        border-bottom: 1px dotted #ccc;
        margin-bottom: 20px;
    }
    #login ul.flow li:last-child{
        padding-bottom: 0;
        border-bottom: none;
        margin-bottom: 50px;
    }
    #login ul.flow li p.figure{
        text-align: center;
    }
    #login ul.flow li p.figure img{
        width: 60%;
        height: auto;
    }
    #login ul.flow li dl dt{
        font-size: 20px;
        font-weight: bold;
        margin-bottom: 20px;
    }
    #login ul.flow li dl dt img{
        width: 60px;
        height: auto;
        margin-right: 15px;
        vertical-align: middle;
    }
    #login ul.flow li dl dd span{
        font-size: 12px;
    }


    #login ul.flow_inquiry {
        clear: both;
        overflow: hidden;
        width: 100%;
        /* margin-bottom: 5px; */
        margin: auto auto;
    }

    #login ul.flow_inquiry li {
        float: none;
        width: 100%;
        padding-right: 0;
        background: none;
        margin-right: 0;
        box-sizing: content-box;
        padding-bottom: 20px;
        border-bottom: 1px dotted #ccc;
        margin-bottom: 20px;
    }

    #login ul.flow_inquiry li:first-child {
        float: none;
        width: 100%;
        padding-right: 0;
        background: none;
        margin-right: 0;
        box-sizing: content-box;
        padding-bottom: 20px;
        border-bottom: 1px dotted #ccc;
        margin-bottom: 20px;
    }

    #login ul.flow_inquiry li img{
        width: 60%;
    }

    /*login*/

    .nav_list > ul > li:nth-child(2) > a, .nav_list > ul > li:nth-child(2):hover > a {
        color: black !important;
    }
    /*active page*/
    /*	.nav_list > ul > li:nth-child(2){
            background: #fff;
        }*/
    /*active page*/

    /*remove hover for sp*/
    .sub_menu_table > li:hover > a >.sub_menu_name > span{
        color: #000;
        border: none;
    }
    /*remove hover for sp*/

    /*submenus*/
    .sub_menu_list_wrapper{
        padding: 0px;
    }

    ul.sub_menu_table{
        font-size: 0px;
    }

    ul.sub_menu_table > li{
        padding: 23px 20px;
        display: inline-block;
        vertical-align: middle;
        width: 50%;
        border-right: 1px solid #ccc;
        border-bottom: 1px solid #ccc;
    }

    ul.sub_menu_table > li:first-child{
        border-left: none;
        margin-left: 2px;
    }

    ul.sub_menu_table > li:nth-child(even){
        border-right: none;
        margin-right: -2px;
        width: 49.1%;
    }
    ul.sub_menu_table > li:nth-child(3),
    ul.sub_menu_table > li:nth-child(5){
        margin-left: 2px;
    }
    ul.sub_menu_table > li:nth-child(5){
        border-bottom: none;
    }

    .sub_menu_name{
        text-align: center;

    }

    .sub_menu_name > span{
        font-size: 23px;
    }

    .sub_img{
        text-align: center;
        padding-bottom: 29px;
    }
    /*submenus*/

    /*menu title*/
    .menu_title_wrapper{
        padding: 75px 20px;
        padding-bottom: 70px;
        text-align: center;
        border-bottom: 1px solid #ccc;
    }

    .menu_title_txt{
        padding-bottom: 25px;
    }

    .menu_title_txt > h1{
        font-size: 56px;
    }

    .menu_note > span{
        font-size: 24px;
    }
    /*menu title*/

    /*course description*/
    .course_desc_container{
        width: 100%;
    }

    .course_desc_img,
    .checklist_content_wrapper{
        display: block;
        width: 100%;
    }

    .checklist_content_wrapper{
        padding: 0;
    }

    .course_desc_wrapper{
        padding: 70px 20px;
        padding-bottom: 62px;

    }

    .course_desc_img > ul{
        font-size: 0px;
    }

    .course_desc_img > ul > li{
        display: inline-block;
        vertical-align: middle;
        width: 50%;
    }

    .course_desc_img > ul > li:first-child{
        padding-right: 5px;
        padding-bottom: 0;
    }

    .course_desc_img > ul > li:last-child{
        padding-left: 5px;
        padding-top: 0;
    }

    .course_desc_img > ul > li > img{
        width: 100%;
    }

    .course_desc_img{
        padding-top: 67px;
        padding-bottom: 40px;
    }

    .course_desc_text > p{
        font-size: 24px;
        line-height: 44px;
    }

    .course_desc_text{
        padding-bottom: 84px;
    }
    /*course description*/

    /*course checklist*/
    .course_checklist_wrapper{
        padding: 0 20px;
        padding-bottom: 65px;
    }

    .course_checklist_border{
        border-top: 1px solid #000;
        position: relative;
    }

    .checklist_box{
        padding-top: 63px;
        padding-bottom: 30px;
    }

    .checklist_box > ul{
        font-size: 0;
    }

    .checklist_box > ul > li{
        display: inline-block;
        vertical-align: middle;
        width: 50%;
        padding: 25px 0;
    }

    .checklist_box > ul > li:nth-child(1),
    .checklist_box > ul > li:nth-child(2){
        padding-top: 0;
    }

    .checklist_box > ul > li:nth-child(odd){
        width: 55%;
    }

    .checklist_box > ul > li:nth-child(even){
        width: 45%;
    }

    .checklist_box > ul > li.last_check_item{
        width: 100%;
    }

    .checklist_box > ul > li > span{
        font-size: 16px;
    }

    .top_left_title > h3,
    .bottom_left_title > span{
        font-size: 36px;
        background: #fff;
        padding-right: 25px;
    }

    span.checklist_icon,
    span.checklist_txt,
    span.checklist_icon_unchecked{
        display: inline-block;
        vertical-align: middle;
    }

    span.checklist_icon{
        background: url("../../images/ge/checklist_icon.png") no-repeat;
        background-size: 100%;
        width: 35px;
        height: 35px;
    }

    span.checklist_icon_unchecked{
        background: url("../../images/ge/checklist_icon_unchecked.png") no-repeat;
        background-size: 100%;
        width: 35px;
        height: 35px;
    }

    span.checklist_txt{
        margin-left: 10px;
    }

    .top_left_title {
        position: absolute;
        top: -15px;
    }
    /*course checklist*/

    /*course price*/
    .course_price_table{
        padding-top: 63px;
        padding-bottom: 46px;
    }

    .course_price_table > ul,
    .course_price_table > ul > li > ul{
        font-size: 0;
    }

    .course_price_table > ul > li,
    .course_price_table > ul > li > ul > li{
        display: inline-block;
        vertical-align: middle;
    }

    .course_price_table > ul > li.course_price_item:nth-child(odd){
        width: 48.33%;
    }

    .course_price_table > ul > li.course_price_item:nth-child(even){
        width: 51.6%;
    }

    .course_price_table > ul > li:nth-child(1),
    .course_price_table > ul > li:nth-child(2){
        padding-top: 0;
    }

    .course_price_table > ul > li.course_price_item > ul > li.points{
        width: 26.66%;
        font-size: 24px;
        padding: 28px 0;
        text-align: center;
        background: #e4e4e4;
        border-top: 1px solid #ccc;
        border-left: 1px solid #ccc;
        border-right: 1px solid #ccc;
    }

    .course_price_table > ul > li.course_price_item > ul > li.price{
        width: 73%;
        padding: 27px 0;
        padding-left: 7px;
        font-size: 26px;
        border-top: 1px solid #ccc;
    }

    .course_price_table > ul > li.course_price_item:nth-child(even) > ul > li.price{
        border-right: 1px solid #ccc
    }

    .course_price_table > ul > li.course_price_item:last-child > ul > li.points,
    .course_price_table > ul > li.course_price_item:last-child > ul > li.price,
    .course_price_table > ul > li.course_price_item:nth-last-child(2) > ul > li.points,
    .course_price_table > ul > li.course_price_item:nth-last-child(2) > ul > li.price{
        border-bottom: 1px solid #ccc;
    }

    span.sml_price{
        font-size: 13px;
    }

    .course_price_table > ul > li.course_price_item > ul > li.pnts_recommended{
        background: #94311d;
        color: #fff;
    }

    .course_price_table > ul > li.course_price_item > ul > li.price_recommended{
        padding: 8px 0;
        padding-left: 7px;
    }

    .icon_recommended > span{
        font-size: 12px;
        background: #94311d;
        color: #fff;
        padding: 3px 7px;
    }

    .recommended_price{
        color: #94311d;
        font-size: 26px;
    }

    .icon_recommended{
        padding-bottom: 10px;
    }
    /*course price*/

    /*course notes*/
    .course_notes > p {
        font-size: 24px;
        line-height: 44px;
        letter-spacing: -1px;
    }

    span.note{
        font-size: 20px;
    }
    /*course notes*/

    /*favorite store paddings*/
    .taisho_lnk_container, .tenjinbashi_lnk_container, .kawachinagano_lnk_container{
        padding-bottom: 25px;
    }
    /*favorite store paddings*/

    /*sp overrides*/
    .str_loc_wrapper{
        background: #fff;
        padding-top: 66px;
    }

    .sp_menu_bot_txt > p{
        font-size: 20px;
        line-height: 24px;
    }

    .menu_wrapper, .menu_list{
        padding-bottom: 30px;
    }
    /*sp overrides*/

    /*display nones*/
    span.icon_recommended{
        display: none;
    }
    /*display nones*/

    /*display blocks*/
    .sp_recommended,
    .sp_store_locator{
        display: block;
    }
    /*display blocks*/
}


@media screen and (min-width: 481px) and (max-width: 639px) {
    ul.sub_menu_table > li{
        padding: 17.25px 15px;
    }

    .sub_menu_name > span{
        font-size: 17.25px;
    }

    .sub_img{
        padding-bottom: 21.75px;
    }
    /*submenus*/

    /*menu title*/
    .menu_title_wrapper{
        padding: 56.25px 15px;
        padding-bottom: 52.5px;
    }

    .menu_title_txt{
        padding-bottom: 18.75px;
    }

    .menu_title_txt > h1{
        font-size: 50px !important;
    }

    .menu_note > span{
        font-size: 18px;
    }
    /*menu title*/

    /*course description*/
    .course_desc_wrapper{
        padding: 52.5px 15px;
        padding-bottom: 46.5px;
    }

    .course_desc_img > ul > li:first-child{
        padding-right: 3.75px;
    }

    .course_desc_img > ul > li:last-child{
        padding-left: 3.75px;
    }

    .course_desc_img{
        padding-top: 50.25px;
        padding-bottom: 30px;
    }

    .course_desc_text > p{
        font-size: 18px;
        line-height: 33px;
    }

    .course_desc_text{
        padding-bottom: 63px;
    }
    /*course description*/

    /*course checklist*/
    .course_checklist_wrapper{
        padding: 0 15px;
        padding-bottom: 48.75px;
    }

    .checklist_box{
        padding-top: 47.25px;
        padding-bottom: 22.5px;
    }

    .checklist_box > ul > li{
        padding: 18.75px 0;
    }

    .checklist_box > ul > li > span{
        font-size: 13px;
    }

    .top_left_title > h3,
    .bottom_left_title > span{
        font-size: 27px;
        background: #fff;
        padding-right: 18.75px;
    }

    span.checklist_icon,
    span.checklist_icon_unchecked{
        width: 26.25px;
        height: 26.25px;
    }

    span.checklist_txt{
        margin-left: 7.5px;
    }
    /*course checklist*/

    /*course price*/
    .course_price_table{
        padding-top: 47.25px;
        padding-bottom: 34.5px;
    }

    .course_price_table > ul > li.course_price_item > ul > li.points{
        font-size: 18px;
        padding: 21px 0;
    }

    .course_price_table > ul > li.course_price_item > ul > li.price{
        padding: 20.25px 0;
        padding-left: 5.25px;
        font-size: 19.5px;
    }

    span.sml_price{
        font-size: 9.75px;
    }

    .course_price_table > ul > li.course_price_item > ul > li.price_recommended{
        padding: 6px 0;
        padding-left: 5.25px;
    }

    .icon_recommended > span{
        font-size: 9px;
        padding: 2.25px 5.25px;
    }

    .recommended_price{
        font-size: 19.5px;
    }

    .icon_recommended{
        padding-bottom: 7.5px;
    }
    /*course price*/

    /*course notes*/
    .course_notes > p {
        font-size: 18px;
        line-height: 33px;
    }

    span.note{
        font-size: 15px;
    }
    /*course notes*/

    /*favorite store paddings*/
    .taisho_lnk_container, .tenjinbashi_lnk_container, .kawachinagano_lnk_container, .fav_lnk_container{
        padding-bottom: 18.75px;
    }
    /*favorite store paddings*/

    /*sp overrides*/
    .str_loc_wrapper{
        padding-top: 49.5px;
    }

    .sp_menu_bot_txt > p{
        font-size: 15px;
        line-height: 18px;
    }

    .menu_wrapper, .menu_list{
        padding-bottom: 22.5px;
    }
}



@media screen and (min-width: 320px) and (max-width: 480px) {
    ul.sub_menu_table > li{
        padding: 11.5px 10px;
    }

    .sub_menu_name > span{
        font-size: 11.5px;
    }

    .sub_img{
        padding-bottom: 14.5px;
    }
    /*submenus*/

    /*menu title*/
    .menu_title_wrapper{
        padding: 37.5px 10px;
        padding-bottom: 35px;
    }

    .menu_title_txt{
        padding-bottom: 12.5px;
    }

    .menu_title_txt > h1{
        font-size: 19.46px;
    }

    .menu_note > span{
        font-size: 12px;
    }
    /*menu title*/

    /*course description*/
    .course_desc_wrapper{
        padding: 35px 10px;
        padding-bottom: 31px;
    }

    .course_desc_img > ul > li:first-child{
        padding-right: 2.5px;
    }

    .course_desc_img > ul > li:last-child{
        padding-left: 2.5px;
    }

    .course_desc_img{
        padding-top: 33.5px;
        padding-bottom: 20px;
    }

    .course_desc_text > p{
        font-size: 12px;
        line-height: 22px;
    }

    .course_desc_text{
        padding-bottom: 42px;
    }
    /*course description*/

    /*course checklist*/
    .course_checklist_wrapper{
        padding: 0 10px;
        padding-bottom: 32.5px;
    }

    .checklist_box{
        padding-top: 31.5px;
        padding-bottom: 30px;
    }

    .checklist_box > ul > li{

        padding: 12.5px 0;
    }

    .checklist_box > ul > li > span{
        font-size: 9px;
    }

    .top_left_title > h3,
    .bottom_left_title > span{
        font-size: 18px;
        padding-right: 12.5px;
    }

    span.checklist_icon,
    span.checklist_icon_unchecked{
        width: 17.5px;
        height: 17.5px;
    }

    span.checklist_txt{
        margin-left: 5px;
    }
    /*course checklist*/

    /*course price*/
    .course_price_table{
        padding-top: 31.5px;
        padding-bottom: 20px;
    }

    .course_price_table > ul > li.course_price_item > ul > li.points{
        font-size: 12px;
        padding: 14px 0;
    }

    .course_price_table > ul > li.course_price_item > ul > li.price{
        padding: 13.5px 0;
        padding-left: 3.5px;
        font-size: 13px;
    }

    span.sml_price{
        font-size: 6.5px;
    }

    .course_price_table > ul > li.course_price_item > ul > li.price_recommended{
        padding: 4px 0;
        padding-left: 3.5px;
    }

    .icon_recommended > span{
        font-size: 6px;
        background: #94311d;
        padding: 1.5px 3.5px;
    }

    .recommended_price{
        font-size: 13px;
    }

    .icon_recommended{
        padding-bottom: 5px;
    }
    /*course price*/

    /*course notes*/
    .course_notes > p {
        font-size: 12px;
        line-height: 22px;
        word-spacing: 6px;
    }

    span.note{
        font-size: 10px;
    }
    /*course notes*/

    /*favorite store paddings*/
    .taisho_lnk_container, .tenjinbashi_lnk_container, .kawachinagano_lnk_container{
        padding-bottom: 12.5px;
    }
    /*favorite store paddings*/

    /*sp overrides*/
    .str_loc_wrapper{
        padding-top: 33px;
    }

    .sp_menu_bot_txt > p{
        font-size: 10px;
        line-height: 12px;
    }

    .menu_wrapper, .menu_list{
        padding-bottom: 15px;
    }
    /*sp overrides*/
}


.app_anime{
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
}

.outer{
    background-color:#f6f5f1;
    height:700px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom:10px;
}

.inner{
    width:250px;
    height:510px;
    position:relative;
}

.sp_wrap{
    width:250px;
    height:510px;
    overflow:hidden;
    position:relative;
}

.sp_message_box{
    width:400px;
}

.sp_message_box .sp_message_box_inner{
    margin-left:50px;
}

.sp_message_box .sp_message_box_inner h2{
    font-size:1.2em;
    font-weight:600;
}

/* common */
.sp_wrap .sp_frame{
    width:250px;
    z-index:997;
    position:absolute;
}

.sp_wrap .sp_frame img{
    width:100%;
}

.scanner{
    position:absolute;
    z-index:998;
    opacity:0;
    left:0;
    top:0;
    width:150px;
}

.sp_wrap .dummy{
    width:250px;
    height:510px;
    position:absolute;
    opacity:1;
    z-index:-1;
}

.pointer{
    width:50px;
    position:absolute;
    z-index:998;
    opacity:0;
}

/* SECOND */


.sp_wrap .bk02{
    left:20px;
    top:63px;
    width:1000px;
    position:absolute;
}

.outer_02 .dummy{
    background-color:gray;
}

.outer_02 .pointer{
    width:50px;
    position:absolute;
    z-index:998;
    opacity:0;
}

/* THIRD */


.outer_03 .dummy{
    background-color:#e4e4e2;
}

.sp_wrap .bk03{
    left:18px;
    top:63px;
    width:1000px;
    position:absolute;
}

/* FOUR SP SCREEN */


.sp_wrap .bk04{
    left:18px;
    top:63px;
    width:1000px;
    position:absolute;
}

.sp_wrap .dummy{
    background-color:yellow;
}

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

    .outer_02{
        height:auto;
    }

    .outer_02 .inner{
        margin-bottom:2em;
    }

    .outer_03{
        height:auto;
    }

    .outer_03 .inner{
        margin-bottom:2em;
    }

    .outer_04{
        height:auto;
    }

    .outer_04 .inner{
        margin-bottom:2em;
    }

    .sp_message_box{
        width:100%;
        margin-left: 0px;
        text-align:center;
    }

    .sp_message_box .sp_message_box_inner {
        margin-left: 0px;
        text-align:left;
        display:inline-block;
    }

    .sp_message_box .sp_message_box_inner h2{
        font-size:1.2em;
        text-align:center;
        margin-top:1.2em;
    }

    .sp_message_box .sp_message_box_inner p{
        font-size:0.9em;
        margin-bottom:1em;
    }

}

.anchor_parent{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
}

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

    .anchor_parent li{
        width: 100%;
    }


    .anchor_parent li img{
        width: 100%;
    }
}


















/* login2018 */
#login2018{
    min-width: 960px;
}
#login2018 a:hover{ opacity: .6;}
#login2018 .pconly{}
#login2018 .sponly{ display: none;}
#login2018 #mv{
    /* background: url(../../images/login2018/bg.png) no-repeat center top #fff; */
    margin-bottom: 30px;
}
#login2018 #mv h2{
    max-width: 960px;
    margin: 0 auto;
    position: relative;
    margin-bottom: 40px;
}
#login2018 #mv h2 div{
	position: absolute;
	top: 324px;
    left: 595px;
    width: 364px;
}

#login2018 .about-login h2 div{
	position: absolute;
	top: 324px;
    left: 405px !important;
    width: 364px;
}

#login2018 #mv h2 div .a_ggplay{
    padding: 10px;
}
#login2018 #mv h2 span{
    display: block;
    position: absolute;
    left: 350px;
    top: 298px;
    width: 165px;
}
#login2018 #mv h2 span.read{
    font-size: 13px;
    font-weight: bold;
    line-height: 1.4;
    position: absolute;
    left: 350px;
    top: 275px;
    width: auto;
}
#login2018 #mv h2 span img{
    width: 100%;
    height: auto;
    margin-bottom: 14px;
}
#login2018 #mv p{
    clear: both;
    max-width: 960px;
    margin: 0 auto;
    position: relative;
}
#login2018 #mv img{
    vertical-align: middle;
}
#login2018 #mv p a {
    display: inline-block;
    width: 49%;
    vertical-align: middle;
}

#login2018 #mv p .button_footer {
    display: block;
    width: 100%;
    vertical-align: middle;
}

#login2018 #point1,
#login2018 #point2,
#login2018 #point3{
    clear: both;
    padding: 50px 0;
    background: #fbc422;
    position: relative;
    overflow: hidden;
}
#login2018 #point2{ background: #fff9dd;}
#login2018 #point2:before,
#login2018 #point3:before{
    position: absolute;
    left: 50%;
    top: 0;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 25px 25px 0 25px;
    border-color: #fbc422 transparent transparent transparent;
    margin-left: -25px;
}
#login2018 #point3:before{ border-color: #fff9dd transparent transparent transparent;}
#login2018 #point1 div.wrap,
#login2018 #point2 div.wrap,
#login2018 #point3 div.wrap{
    max-width: 650px;
    margin: 0 auto;
    overflow: hidden;
}
#login2018 #point1 div.wrap h3,
#login2018 #point2 div.wrap h3,
#login2018 #point3 div.wrap h3{
    float: left;
}
#login2018 #point1 div.wrap div.inner,
#login2018 #point2 div.wrap div.inner,
#login2018 #point3 div.wrap div.inner{
    box-sizing: border-box;
    float: right;
    width: 330px;
    padding: 0 20px 0 40px;
}
#login2018 #point1 div.wrap p,
#login2018 #point2 div.wrap p,
#login2018 #point3 div.wrap p{
    float: left;
    width: 310px;
    font-size: 18px;
    line-height: 1.6;
}
#login2018 #point-other{
    clear: both;
    text-align: center;
    padding: 30px 0;
    background: #fbc422;
}
#login2018 #point-other ol li{
    display: inline-block;
    vertical-align: middle;
}
#login2018 #flowtitle{
    clear: both;
    color: #000;
    font-size: 38px;
    font-weight: bold;
    line-height: 100px;
    text-align: center;
    background: #fff;
}
#login2018 #flow,
#login2018 #flow2{
    clear: both;
    text-align: center;
    padding: 80px 0 50px;
    background: #eaeaea;
    overflow: hidden;
    position: relative;
}
#login2018 #flow2{ background: #f6f6f6;}
#login2018 #flow:before{
    position: absolute;
    left: 50%;
    top: 0;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 25px 25px 0 25px;
    border-color: #fff transparent transparent transparent;
    margin-left: -25px;
}
#login2018 #flow h3,
#login2018 #flow2 h3{
    display: flex;
    justify-content: center;
    margin-bottom: 50px;
    color: #004774;
    font-size: 42px;
    font-weight: bold;
}
#login2018 #flow h3 p,
#login2018 #flow2 h3 p{
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    font-weight: bold;
}
#login2018 #flow2 h3{
    color: #FA4E16;
}
#login2018 #flow h3 span,
#login2018 #flow2 h3 span{
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin-bottom: 10px;
}
#login2018 #flow h3 img,
#login2018 #flow2 h3 img{
    width: 60px;
    margin-right: 20px;
    vertical-align: middle;
}
#login2018 #flow h3 small,
#login2018 #flow2 h3 small{
    display: flex;
    align-items: center;
    justify-content: flex-start;
    font-size:  18px;
}
#login2018 #flow h3 small::before,
#login2018 #flow2 h3 small::before{
    content: "";
    display: flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 2px;
    margin-right: 5px;
}
#login2018 #flow ol,
#login2018 #flow2 ol{
    max-width: 960px;
    margin: 0 auto;
}
#login2018 #flow ol li,
#login2018 #flow2 ol li{
    float: left;
    width: 31.25%;
    text-align: left;
    border-radius: 10px;
    background: #fff;
    margin-bottom: 30px;
    margin-right: 3.125%;
    position: relative;
}
#login2018 #flow ol li:nth-child(3n),
#login2018 #flow2 ol li:nth-child(3n){ margin-right: 0;}
#login2018 #flow ol li:nth-child(1):after,
#login2018 #flow ol li:nth-child(2):after,
#login2018 #flow ol li:nth-child(4):after,
    /* #login2018 #flow ol li:nth-child(5):after, */
#login2018 #flow2 ol li:nth-child(1):after,
#login2018 #flow2 ol li:nth-child(2):after,
#login2018 #flow2 ol li:nth-child(4):after,
#login2018 #flow2 ol li:nth-child(5):after,
#login2018 #flow2 ol li:nth-child(7):after,
    /* #login2018 #flow2 ol li:nth-child(8):after, */
#login2018 #flow div div.failed_mail ul li:not(:last-child):after{
    display: inline-block;
    content: "";
    position: absolute;
    right: -23px;
    top: 50%;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 18px 0 18px 15px;
    border-color: transparent transparent transparent #000;
    margin-top: -18px;
    z-index: 10;
}
#login2018 #flow ol li.mail_failed,
#login2018 #flow2 ol li.mail_failed {
    float: left;
    width: 65.625%;
    margin-right: 0;
}
#login2018 #flow ol li.mail_failed div{
    clear: both;
    display: block;
    max-width: 960px;
    margin: 0 auto;
    padding: 10px 20px 10px;
    background: #fff;
    border: 1px solid #007e40;
    border-radius: 10px;
}
#login2018 #flow ol li.mail_failed div p{
    box-sizing: border-box;
    display: inline-block;
    width: 100%;
    font-size: 14px;
    text-align: left;
    line-height: 1.6;
    padding-right: 70px;
    vertical-align: middle;
}
#login2018 #flow ol li.member_barcode,
#login2018 #flow2 ol li.member_barcode{
    border: 1px solid #004774;
}
#login2018 #flow ol li p,
#login2018 #flow2 ol li p{
    font-size: 18px;
    font-weight: bold;
    line-height: 50px;
    padding: 0 20px;
    background: #004774;
    color: #fff;
    border-radius: 10px 10px 0 0;
}
#login2018 #flow ol li.member_barcode p,
#login2018 #flow2 ol li.member_barcode p{
    text-align: center;
    background: #fff;
    color: #111;
}
#login2018 #flow ol li.mail_failed p,
#login2018 #flow2 ol li.mail_failed p{
    font-size: auto;
    font-weight: normal;
    line-height: normal;
    padding: 0 10px;
    background: none;
    border-radius: none;
}

#login2018 #flow ol li figure,
#login2018 #flow2 ol li figure{
    padding: 20px;
}
#login2018 #flow ol li figure img,
#login2018 #flow2 ol li figure img{
    width: 100%;
    height: auto;
    margin-bottom: 10px;
}
#login2018 #flow ol li figure figcaption,
#login2018 #flow2 ol li figure figcaption{
    font-size: 14px;
    line-height: 1.6;
}
#login2018 #flow ol li figure figcaption strong,
#login2018 #flow2 ol li figure figcaption strong{
    color: #ff0100;
}
#login2018 #flow ol li:nth-child(5) figure figcaption,
#login2018 #flow2 ol li:nth-child(4) figure figcaption{
    text-align: center;
}
#login2018 #flow ol li:nth-child(5) figure figcaption strong,
#login2018 #flow2 ol li:nth-child(4) figure figcaption strong{
    color: #000;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
}
#login2018 #flow ol li figure figcaption small,
#login2018 #flow2 ol li figure figcaption small{
    display: block;
    padding-top: 5px;
    font-size: 12px;
}
#login2018 #flow div{
    clear: both;
    display: block;
    max-width: 960px;
    margin: 0 auto;
    padding: 30px 60px;
    background: #fff;
    border: 1px solid #007e40;
    border-radius: 10px;
    overflow: hidden;
}

#login2018 #flow div div.failed_mail{
    margin: 0 0 50px;
    padding: 0 0 ;
    border: none;
    border-radius: 0;
}
#login2018 #flow div div.failed_mail:last-child{
    margin: 0 0 0;
}

#login2018 #flow div div.failed_mail p:first-child{
    display: block;
    margin: 0 0 10px;
    padding: 4px;
    text-align: center;
    font-size: 15px;
    font-weight: bold;
    background: #004774;
    color: #fff;
}

#login2018 #flow div div.failed_mail ul li{
    float: left;
    width: 32%;
    margin: 0 2% 0 0;
    position: relative;
}
#login2018 #flow div div.failed_mail ul li:last-child{
    margin: 0 0 0 0;
}
#login2018 #flow div div.failed_mail ul li img{
    width: 100%;
    padding: 10px;
}
#login2018 #flow div div.failed_mail ul li p{
    padding: 0;
}


#login2018 #flow div p{
    box-sizing: border-box;
    /* display: inline-block; */
    margin: 0 0px 10px 10px;
    font-size: 14px;
    text-align: left;
    line-height: 1.6;
    vertical-align: middle;
}
#login2018 #flow div p em,
#login2018 #flow ol li.mail_failed div em{
    display: block;
    color: #ff0100;
    text-align: center;
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 5px;
    line-height: 1.2;
}
#login2018 #flow div p em small,
#login2018 #flow ol li.mail_failed div em small{
    font-size: 60%;
    line-height: 1.2;
}
#login2018 #flow div p strong,
#login2018 #flow ol li.mail_failed div p strong{
    color: #ff0100;
}
#login2018 #flow div img,
#login2018 #flow ol li.mail_failed div img{
    display: inline-block;
    width: 380px;
    height: auto;
    vertical-align: middle;
}
#login2018 #app{
    clear: both;
    max-width: 960px;
    text-align: center;
    padding: 30px 0;
    margin: 0 auto;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
}
#login2018 #app img{
    width: 100%;
    max-width: 420px;
    height: auto;
    vertical-align: middle;
}
#login2018 #app .btn{
    float: left;
    width: 225px;
}
#login2018 #app .btn img{
    margin-bottom: 15px;
}
#login2018 #app .qr{
    float: right;
    width: 163px;
}

#login2018 #app .app_movie_container{
    width:520px;
}

#login2018 #app .app_movie_wrapper{
    text-align:center;
}

#login2018 #app .app_movie_wrapper img{
    max-width: 450px;
}


@media screen and (max-width: 767px){
    .section.ttl-pages.mb-15 {
        margin-bottom: 0;
    }
    #login2018{
        min-width: inherit;
    }
    #login2018 .pconly{ display: none;}
    #login2018 .sponly{ display: inherit;}
    #login2018 a:hover{ opacity: 1;}
    #login2018 #mv{
        background: none;
        margin-bottom: 5%;
    }
    #login2018 #mv div {
		text-align: center;
		margin-bottom: 20px;
	}

	#login2018 #mv div span.read{
		font-size: 3vw;
		font-weight: bold;
		line-height: 1.4;
		padding: 15px;
	}

	#login2018 #mv div .img_appstore{
		width: 30%;
	}

	#login2018 #mv div .img_ggplay{
		width: 35%
	}
    #login2018 #mv h2 span{
        display: block;
        position: absolute;
        left: 5%;
        top: auto;
        bottom: 25%;
        width: 50%;
    }
    #login2018 #mv h2 span.read{
        font-size: 3vw;
        font-weight: bold;
        line-height: 1.4;
        position: absolute;
        top: auto;
        left: 11%;
        bottom: 60%;
    }
    #login2018 #mv img{
        width: 100%;
        height: auto;
    }
    #login2018 #mv h2 span img{
        width: 100%;
        height: auto;
        margin-bottom: 8%;
    }
    #login2018 #mv p{
        max-width:100%;
        padding: 0 6%;
    }
    #login2018 #point1,
    #login2018 #point2,
    #login2018 #point3{
        clear: both;
        padding: 5% 0;
        background: #fbc422;
        position: relative;
        overflow: hidden;
    }
    #login2018 #point2{ background: #fff9dd;}
    #login2018 #point2:before,
    #login2018 #point3:before{
        position: absolute;
        left: 50%;
        top: 0;
        content: "";
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 15px 15px 0 15px;
        border-color: #fbc422 transparent transparent transparent;
        margin-left: -15px;
    }
    #login2018 #point3:before{ border-color: #fff9dd transparent transparent transparent;}
    #login2018 #point1 div.wrap h3,
    #login2018 #point2 div.wrap h3,
    #login2018 #point3 div.wrap h3{
        float: none;
        text-align: center;
    }
    #login2018 #point1 div.wrap h3 img,
    #login2018 #point2 div.wrap h3 img,
    #login2018 #point3 div.wrap h3 img{
        width: 60%;
        max-width: 260px;
        height: auto;
    }
    #login2018 #point1 div.wrap h3 img.sponly,
    #login2018 #point2 div.wrap h3 img.sponly,
    #login2018 #point3 div.wrap h3 img.sponly{
        display: inline!important;
        margin-bottom: 3%;
    }
    #login2018 #point1 div.wrap div.inner,
    #login2018 #point2 div.wrap div.inner,
    #login2018 #point3 div.wrap div.inner{
        box-sizing: border-box;
        float: none;
        width: 250px;
        padding: 0;
        margin: 0 auto;
    }
    #login2018 #point1 div.wrap p,
    #login2018 #point2 div.wrap p,
    #login2018 #point3 div.wrap p{
        float: none;
        width: auto;
        font-size: 14px;
        line-height: 1.6;
        padding: 5%;
    }
    #login2018 #point-other{
        clear: both;
        text-align: center;
        padding: 3%;
        background: #fbc422;
    }
    #login2018 #point-other img{
        width: 100%;
        height: auto;
    }
    #login2018 #point-other ol li{
        display: inline-block;
        width: 33.33333333333333%;
        vertical-align: middle;
        margin: 0;
    }
    #login2018 #flowtitle{
        font-size: 18px;
        line-height: 1.3;
        padding: 5%;
    }
    #login2018 #flow,
    #login2018 #flow2{
        clear: both;
        text-align: center;
        padding: 8% 8%;
        background: #eaeaea;
        overflow: hidden;
        position: relative;
    }
    #login2018 #flow2{ background: #f6f6f6;}
    #login2018 #flow:before{
        position: absolute;
        left: 50%;
        top: 0;
        content: "";
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 15px 15px 0 15px;
        border-color: #fff transparent transparent transparent;
        margin-left: -15px;
    }
    #login2018 #flow h3,
    #login2018 #flow2 h3{
        font-size: 22px;
        font-weight: bold;
        margin-bottom: 5%;
    }
    #login2018 #flow h3 span,
    #login2018 #flow2 h3 span{
        margin-bottom: 10px;
    }
    #login2018 #flow h3 img,
    #login2018 #flow2 h3 img{
        width: 40px;
        height: auto;
        margin-right: 10px;
        vertical-align: middle;
    }
    #login2018 #flow h3 small,
    #login2018 #flow2 h3 small{
        font-size:  12px;
    }
    #login2018 #flow h3 small::before,
    #login2018 #flow2 h3 small::before{
        width: 40px;
        margin-right: 10px;
    }
    #login2018 #flow ol li,
    #login2018 #flow2 ol li{
        float: none;
        width: auto;
        text-align: left;
        border-radius: 10px;
        background: #fff;
        margin-bottom: 30px;
        margin-right: 3%;
        margin-left: 3%;
        position: relative;
    }
    #login2018 #flow ol li:nth-child(3n),
    #login2018 #flow2 ol li:nth-child(3n){ margin-right: 3%;}
    #login2018 #flow ol li:nth-child(1):after,
    #login2018 #flow ol li:nth-child(2):after,
    #login2018 #flow ol li:nth-child(4):after,
    #login2018 #flow ol li:nth-child(3):after,
    #login2018 #flow ol li:nth-child(5):after,
    #login2018 #flow2 ol li:nth-child(1):after,
    #login2018 #flow2 ol li:nth-child(2):after,
    #login2018 #flow2 ol li:nth-child(3):after,
    #login2018 #flow2 ol li:nth-child(4):after,
    #login2018 #flow2 ol li:nth-child(5):after,
    #login2018 #flow2 ol li:nth-child(6):after,
    #login2018 #flow2 ol li:nth-child(7):after,
        /* #login2018 #flow2 ol li:nth-child(8):after, */
    #login2018 #flow div div.failed_mail ul li:not(:last-child):after{
        display: inline-block;
        content: "";
        position: absolute;
        right: 50%;;
        top: calc(100% + 8px);
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 15px 18px 0 18px;
        border-color: #000 transparent transparent transparent;
        margin-top: 0;
        margin-right: -18px;
    }
    #login2018 #flow ol li p,
    #login2018 #flow2 ol li p{
        font-size: 16px;
        font-weight: bold;
        line-height: 1.3;
        padding: 10px 20px;
        background: #004774;
        color: #fff;
        border-radius: 10px 10px 0 0;
    }
    #login2018 #flow div{
        clear: both;
        display: block;
        max-width: 960px;
        margin: 0 3%;
        padding: 5%;
        background: #fff;
        border: 1px solid #007e40;
        border-radius: 10px;
    }

    #login2018 #flow div div.failed_mail{
        margin: 0 0 50px;
        padding: 0 0 ;
        border: none;
        border-radius: 0;
    }
    #login2018 #flow div div.failed_mail:last-child{
        margin: 0 0 0;
    }

    #login2018 #flow div div.failed_mail p:first-child{
        font-size: 15px;
        font-weight: bold;
    }

    #login2018 #flow div div.failed_mail ul li{
        float: none;
        width: 100%;
        margin: 0 0 25px 0;
        padding: 0 0 5px;
        position: relative;
    }
    #login2018 #flow div div.failed_mail ul li:last-child{
        margin: 0 0 0 0;
    }
    #login2018 #flow div div.failed_mail ul li img{
        width: 100%;
    }
    #login2018 #flow div div.failed_mail ul li p{
        margin: 0 0 0px;
        padding: 0;
    }

    #login2018 #flow ol li.member_barcode p,
    #login2018 #flow2 ol li.member_barcode p{
        margin: 5% 0 0;
    }

    #login2018 #flow div p{
        box-sizing: border-box;
        display: block;
        width: auto;
        font-size: 14px;
        text-align: left;
        line-height: 1.6;
        padding-right: 0;
        vertical-align: middle;
        margin-bottom: 3%;
    }
    #login2018 #flow div p em{
        display: block;
        color: #ff0100;
        font-size: 16px;
        font-weight: bold;
        margin-bottom: 5px;
    }
    #login2018 #flow div p strong{
        color: #ff0100;
    }
    #login2018 #flow div img{
        display: block;
        width: 100%;
        height: auto;
        vertical-align: middle;
    }
    #login2018 #app{
        clear: both;
        max-width: inherit;
        text-align: center;
        padding: 30px 0;
        margin: 0 5%;
        overflow: hidden;
        border-bottom: 1px solid #ccc;
    }
    #login2018 #app .btn{
        float: none;
        width: 60%;
        margin: 0 auto;
    }
    #login2018 #app .btn img{
        margin-bottom: 15px;
    }
    #login2018 #app .qr{
        display: none;
    }
    #login2018 #mv p a {
        width: 100%;
    }
}
