* {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0)
}
body {
}
.tw_contents_wrapper01 {
    width: 100%;
    -webkit-font-feature-settings: 'palt';
    font-feature-settings: 'palt';
}
.tw_contents_wrapper01 a {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    text-decoration: none;
    color: #000
}
.tw_contents_wrapper01 img {
    vertical-align: bottom;
    max-width: 100%
}
.pc_hide {
    display: none
}
@media only screen and (max-width: 768px) {
    .pc_hide {
        display: inline-block
    }
    .sp_hide {
        display: none
    }
}
.pc .hover {
    -webkit-transition: all 0.5s cubic-bezier(0.21, 0.51, 0.51, 1);
    transition: all 0.5s cubic-bezier(0.21, 0.51, 0.51, 1);
    cursor: pointer
}
.pc .hover:hover {
    opacity: 0.6
}
.hide {
    display: none !important
}
.wrapper {
    position: relative;
    overflow: hidden
}
.header {
    -webkit-box-shadow: 0 0 40px 0 rgba(0, 0, 0, 0.1);
    box-shadow: 0 0 40px 0 rgba(0, 0, 0, 0.1)
}
@media only screen and (max-width: 768px) {
    .header {
        border-bottom: 1px solid rgba(194, 194, 194, 0.48);
        -webkit-box-shadow: 0 0 5.33333vw 0 rgba(0, 0, 0, 0.1);
        box-shadow: 0 0 5.33333vw 0 rgba(0, 0, 0, 0.1)
    }
}
.main {
    position: relative;
}
.main .inner {
    margin: 0 auto;
    width: 1160px
}
@media only screen and (max-width: 768px) {
    .main .inner {
        width: 100%
    }
}
.main .sec_ttl {
    position: relative;
    width: 160px;
    margin: 0 auto;
    padding: 11px 0 10px;
    text-align: center;
    border: 1px solid #d52661;
    border-radius: 24px;
    background-color: #fff
}
@media only screen and (max-width: 768px) {
    .main .sec_ttl {
        padding: 1.6vw 0 1.33333vw
    }
}
.main .sec_ttl span {
    display:block;
    margin-right: -0.4em;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.4em;
    color: #d52661
}
@media only screen and (max-width: 768px) {
    .main .sec_ttl span {
        font-size: 2.66667vw
    }
}
.main .sec_ttl::before,
.main .sec_ttl::after {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    display: block;
    background-color: #d52661
}
.main .sec_ttl::before {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    -webkit-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%)
}
@media only screen and (max-width: 768px) {
    .main .sec_ttl::before {
        width: 1.33333vw;
        height: 1.33333vw
    }
}
.main .sec_ttl::after {
    width: 1px;
    height: 200px;
    -webkit-transform: translateX(-50%) translateY(-100%);
    transform: translateX(-50%) translateY(-100%)
}
@media only screen and (max-width: 768px) {
    .main .sec_ttl::after {
        height: 21.33333vw
    }
}
.main .sec_read_ttl {
    display: inline-block;
    margin: 0 auto;
    padding: 8px 50px;
    font-size: 26px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.1em;
    background: url(' /-/media/tfc/ts3web/file/toyota-wallet/assets/img/relation/t-connect/bg_ttl.svg') center center no-repeat;
    background-size: contain
}
@media only screen and (max-width: 768px) {
    .main .sec_read_ttl {
        padding: 1.06667vw 6.66667vw;
        font-size: 3.46667vw
    }
}
.main .sec_read_txt {
    padding-top: 30px;
    font-size: 38px;
    font-weight: 700;
    line-height: 1.73684;
    letter-spacing: 0.06em
}
@media only screen and (max-width: 768px) {
    .main .sec_read_txt {
        padding-top: 1.33333vw;
        font-size: 5.06667vw;
        line-height: 1.73684
    }
}
.main .sec_read_txt sup {
    font-size: 60%;
    vertical-align: super
}
.main .attention {
    font-size: 10px;
    line-height: 1;
    letter-spacing: 0.05em;
    text-align: left
}
@media only screen and (max-width: 768px) {
    .main .attention {
        font-size: 2.4vw;
        line-height: 1.66667
    }
}
.main .fadein {
    opacity: 0;
    -webkit-transition: all 1s cubic-bezier(0.21, 0.51, 0.51, 1);
    transition: all 1s cubic-bezier(0.21, 0.51, 0.51, 1);
    -webkit-transition-property: opacity, -webkit-transform;
    transition-property: opacity, -webkit-transform;
    transition-property: opacity, transform;
    transition-property: opacity, transform, -webkit-transform;
    -webkit-transform: translateY(10%) scale(1.07);
    transform: translateY(10%) scale(1.07)
}
.main .fadein.scaleNon {
    -webkit-transform: translateY(10%) scale(1);
    transform: translateY(10%) scale(1)
}
.main .fadein.scaleNon.-show {
    opacity: 1;
    -webkit-transform: translateY(0) scale(1);
    transform: translateY(0) scale(1)
}
.main .fadein.pcNon {
    opacity: 1;
    -webkit-transform: none;
    transform: none
}
@media only screen and (max-width: 768px) {
    .main .fadein.pcNon {
        opacity: 0;
        -webkit-transform: translateY(10%) scale(1.07);
        transform: translateY(10%) scale(1.07)
    }
}
@media only screen and (max-width: 768px) {
    .main .fadein.spNon {
        opacity: 1;
        -webkit-transform: none;
        transform: none
    }
}
.main .fadein.-show {
    opacity: 1;
    -webkit-transform: translateY(0) scale(1);
    transform: translateY(0) scale(1)
}
#visual {
    position: relative;
    padding-bottom: 260px;
    background-color: #d82662;
    overflow: hidden;
    z-index: 0
}
@media only screen and (max-width: 768px) {
    #visual {
        padding-bottom: 21.33333vw
    }
}
#visual::before {
    content: '';
    position: absolute;
    top: -527px;
    left: 50%;
    display: block;
    width: 1585px;
    height: 941px;
    background: url(' /-/media/tfc/ts3web/file/toyota-wallet/assets/img/relation/t-connect/bg_visual.svg') center center no-repeat;
    background-size: contain;
    -webkit-transform: translateX(-70%);
    transform: translateX(-70%)
}
@media only screen and (max-width: 768px) {
    #visual::before {
        top: -12vw;
        left: 0;
        width: 100vw;
        height: 116.8vw;
        background: url(' /-/media/tfc/ts3web/file/toyota-wallet/assets/img/relation/t-connect/bg_visual_sp.svg') center center no-repeat;
        background-size: contain;
        -webkit-transform: none;
        transform: none
    }
}
#visual::after {
    content: '';
    position: absolute;
    left: 50%;
    bottom: -330px;
    display: block;
    width: 1967px;
    height: 598px;
    background: url(' /-/media/tfc/ts3web/file/toyota-wallet/assets/img/relation/t-connect/bg_circle_01.png') center top no-repeat;
    background-size: contain;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    z-index: 1
}
@media only screen and (max-width: 768px) {
    #visual::after {
        bottom: -68vw;
        width: 100%;
        height: 88vw;
        background: url(' /-/media/tfc/ts3web/file/toyota-wallet/assets/img/relation/t-connect/bg_circle_sp.png') center top no-repeat;
        background-size: contain
    }
}
#visual .inner {
    position: relative;
    min-height: 600px;
    z-index: 2
}
@media only screen and (max-width: 768px) {
    #visual .inner {
        min-height: 126.66667vw
    }
}
@media only screen and (max-width: 768px) {
    #visual .inner::before {
        content: '';
        position: absolute;
        display: block;
        width: 100%;
        height: 40vw;
        background-color: #fff;
        z-index: -1
    }
}
#visual .visual_ttl {
    padding: 130px 0 0;
    font-size: 43px;
    font-weight: 700;
    letter-spacing: 0.06em;
    line-height: 1
}
@media only screen and (max-width: 768px) {
    #visual .visual_ttl {
        padding: 9.33333vw 0 0 8vw;
        font-size: 5.33333vw;
        line-height: 1.66667
    }
}
#visual .visual_ttl .logo {
    display: block;
    padding-top: 30px
}
@media only screen and (max-width: 768px) {
    #visual .visual_ttl .logo {
        padding-top: 0
    }
}
#visual .visual_img {
    position: absolute;
    top: 0;
    left: 50%;
    width: 804px;
    -webkit-transform: translateX(-42px);
    transform: translateX(-42px)
}
@media only screen and (max-width: 768px) {
    #visual .visual_img {
        top: -5.33333vw;
        left: auto;
        right: 0;
        width: 100%;
        -webkit-transform: none;
        transform: none
    }
}
#about {
    position: relative;
    margin-top: -70px;
    z-index: 1
}
@media only screen and (max-width: 768px) {
    #about {
        margin-top: 0
    }
}
#about .inner {
    position: relative;
    text-align: center;
    z-index: 2
}
@media only screen and (max-width: 768px) {
    #about .sec_ttl {
        width: 26.93333vw
    }
}
#about .sec_read_ttl {
    margin-top: 70px
}
@media only screen and (max-width: 768px) {
    #about .sec_read_ttl {
        margin-top: 6.66667vw
    }
}
#about .sec_read_txt {
    color: #d52661
}
#about .attention {
    display: inline-block;
    margin: 0 auto;
    padding-top: 10px
}
@media only screen and (max-width: 768px) {
    #about .attention {
        padding-top: 4vw
    }
}
#about .attention a {
    font-size: 1em;
    text-decoration: underline;
    color: #d52661
}
#about .about_download_btn {
    position: relative;
    display: inline-block;
    width: 600px;
    height: 94px;
    margin: 75px auto 0
}
@media only screen and (max-width: 768px) {
    #about .about_download_btn {
        width: 84vw;
        height: 18.13333vw;
        margin: 10.66667vw auto 0
    }
}
#about .about_download_btn::before {
    content: '';
    position: absolute;
    left: 0;
    bottom: -10px;
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 46px;
    background-color: #86002d
}
@media only screen and (max-width: 768px) {
    #about .about_download_btn::before {
        bottom: -1.86667vw;
        border-radius: 9.06667vw
    }
}
#about .about_download_btn a {
    position: relative;
    top: 0;
    display: inline-block;
    width: 100%;
    height: 100%;
    padding-left: 272px;
    font-size: 18px;
    font-weight: 700;
    line-height: 94px;
    text-align: left;
    border: 2px solid #86002d;
    border-radius: 46px;
    background-color: #d52661;
    color: #fff
}
@media only screen and (max-width: 768px) {
    #about .about_download_btn a {
        padding-left: 33.33333vw;
        font-size: 3.73333vw;
        line-height: 18.13333vw;
        border-radius: 9.06667vw
    }
}
#about .about_download_btn a::before,
#about .about_download_btn a::after {
    content: '';
    position: absolute;
    top: 50%;
    display: block;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}
#about .about_download_btn a::before {
    left: 118px;
    width: 125px;
    height: 44px;
    background: url(' /-/media/tfc/ts3web/file/toyota-wallet/assets/img/relation/t-connect/logo_wh.svg') center center no-repeat;
    background-size: contain
}
@media only screen and (max-width: 768px) {
    #about .about_download_btn a::before {
        left: 11.33333vw;
        width: 18.66667vw;
        height: 6.66667vw
    }
}
#about .about_download_btn a::after {
    right: 118px;
    width: 15px;
    height: 26px;
    background: url(' /-/media/tfc/ts3web/file/toyota-wallet/assets/img/relation/t-connect/ico_arrow_01.svg') center center no-repeat;
    background-size: contain
}
@media only screen and (max-width: 768px) {
    #about .about_download_btn a::after {
        right: 7.6vw;
        width: 2.93333vw;
        height: 4.93333vw
    }
}
.pc #about .about_download_btn a:hover {
    top: 10px
}
@media only screen and (max-width: 768px) {
    .pc #about .about_download_btn a:hover {
        top: 1.86667vw
    }
}
#about .about_link {
    position: relative;
    display: inline-block;
    width: 600px;
    height: 82px;
    margin: 35px auto 0;
    padding-bottom: 10px;
    color: #d82662
}
@media only screen and (max-width: 768px) {
    #about .about_link {
        width: 84vw;
        height: 14.66667vw;
        margin: 9.33333vw auto 0;
        padding-bottom: 1.33333vw
    }
}
#about .about_link::before {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    display: block;
    width: 100%;
    height: calc(100% - 10px);
    border-radius: 46px;
    background-color: #d52661
}
@media only screen and (max-width: 768px) {
    #about .about_link::before {
        height: 13.33333vw;
        border-radius: 6.66667vw
    }
}
#about .about_link a {
    position: relative;
    top: 0;
    display: inline-block;
    width: 100%;
    height: 100%;
    font-size: 18px;
    font-weight: 700;
    line-height: 72px;
    border: 2px solid #d82662;
    border-radius: 46px;
    background-color: #fff;
    color: #d52661
}
@media only screen and (max-width: 768px) {
    #about .about_link a {
        font-size: 3.73333vw;
        line-height: 13.33333vw;
        border-radius: 6.66667vw
    }
}
.pc #about .about_link a:hover {
    top: 10px
}
@media only screen and (max-width: 768px) {
    .pc #about .about_link a:hover {
        top: 1.33333vw
    }
}
#payment {
    position: relative;
    padding: 330px 0 300px;
    background-color: #ececec;
    overflow: hidden;
    z-index: 0
}
@media only screen and (max-width: 768px) {
    #payment {
        padding: 37.33333vw 0 33.33333vw
    }
}
#payment::before,
#payment::after {
    content: '';
    position: absolute;
    left: 50%;
    display: block;
    width: 1967px;
    height: 598px;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    z-index: 1
}
@media only screen and (max-width: 768px) {
    #payment::before,
    #payment::after {
        width: 100%;
        height: 88vw
    }
}
#payment::before {
    top: -325px;
    background: url(' /-/media/tfc/ts3web/file/toyota-wallet/assets/img/relation/t-connect/bg_circle_02.png') center top no-repeat;
    background-size: contain
}
@media only screen and (max-width: 768px) {
    #payment::before {
        top: -68vw;
        background: url(' /-/media/tfc/ts3web/file/toyota-wallet/assets/img/relation/t-connect/bg_circle_sp.png') center top no-repeat;
        background-size: contain
    }
}
#payment::after {
    bottom: -345px;
    background: url(' /-/media/tfc/ts3web/file/toyota-wallet/assets/img/relation/t-connect/bg_circle_01.png') center top no-repeat;
    background-size: contain
}
@media only screen and (max-width: 768px) {
    #payment::after {
        bottom: -69.6vw;
        background: url(' /-/media/tfc/ts3web/file/toyota-wallet/assets/img/relation/t-connect/bg_circle_sp.png') center top no-repeat;
        background-size: contain
    }
}
#payment .inner {
    text-align: center
}
@media only screen and (max-width: 768px) {
    #payment .sec_ttl {
        width: 34.93333vw
    }
}
#payment .sec_read_ttl {
    margin-top: 40px
}
@media only screen and (max-width: 768px) {
    #payment .sec_read_ttl {
        margin-top: 4.66667vw
    }
}
#payment .sec_read_txt {
    padding-top: 10px
}
@media only screen and (max-width: 768px) {
    #payment .sec_read_txt {
        padding-top: 1.33333vw
    }
}
@media only screen and (max-width: 768px) {
    #payment .sec_read_txt span {
        letter-spacing: 0.02em
    }
}
#payment .payment_desc {
    position: relative;
    padding: 80px 64px 50px;
    text-align: left;
    border-radius: 30px;
    background-color: #fff;
    -webkit-box-shadow: 20px 34.641px 70px 0 rgba(0, 0, 0, 0.2);
    box-shadow: 20px 34.641px 70px 0 rgba(0, 0, 0, 0.2)
}
@media only screen and (max-width: 768px) {
    #payment .payment_desc {
        padding: 19.33333vw 8vw 11.2vw;
        border-radius: 0;
        -webkit-box-shadow: 2.66667vw 4.53333vw 9.33333vw 0 rgba(0, 0, 0, 0.2);
        box-shadow: 2.66667vw 4.53333vw 9.33333vw 0 rgba(0, 0, 0, 0.2)
    }
}
#payment .payment_desc::before {
    content: '';
    position: absolute;
    display: block;
    border-radius: 30px;
    background-color: #d52661;
    z-index: -1
}
@media only screen and (max-width: 768px) {
    #payment .payment_desc::before {
        border-radius: 4vw
    }
}
#payment .payment_desc:first-of-type {
    margin: 100px 0 0 50px;
    width: 625px
}
@media only screen and (max-width: 768px) {
    #payment .payment_desc:first-of-type {
        margin: 38.66667vw 0 0;
        width: 90.66667vw;
        border-bottom-right-radius: 4vw
    }
}
#payment .payment_desc:first-of-type::before {
    top: -45px;
    right: -105px;
    width: 545px;
    height: 322px
}
@media only screen and (max-width: 768px) {
    #payment .payment_desc:first-of-type::before {
        top: -20vw;
        left: 34.66667vw;
        width: 100%;
        height: 74.13333vw
    }
}
@media only screen and (max-width: 768px) {
    #payment .payment_desc:first-of-type .payment_desc_num {
        left: 8vw
    }
}
#payment .payment_desc:first-of-type .payment_desc_img {
    top: 53px;
    right: -54px;
    width: 263px
}
@media only screen and (max-width: 768px) {
    #payment .payment_desc:first-of-type .payment_desc_img {
        top: -28vw;
        left: 40.8vw;
        width: 60.4vw
    }
}
#payment .payment_desc:first-of-type .payment_desc_img::before {
    top: 14px;
    right: -18px;
    border-radius: 6px
}
#payment .payment_desc:last-of-type {
    margin: 130px 136px 0 auto;
    width: 615px
}
@media only screen and (max-width: 768px) {
    #payment .payment_desc:last-of-type {
        margin: 28.66667vw 0 0 17.33333vw;
        width: 82.66667vw;
        border-bottom-left-radius: 4vw
    }
}
#payment .payment_desc:last-of-type::before {
    top: -70px;
    right: -94px;
    width: 515px;
    height: 392px
}
@media only screen and (max-width: 768px) {
    #payment .payment_desc:last-of-type::before {
        top: -8vw;
        right: 58.66667vw;
        width: 100%;
        height: 79.33333vw
    }
}
@media only screen and (max-width: 768px) {
    #payment .payment_desc:last-of-type .payment_desc_num {
        left: auto;
        right: 8vw
    }
}
@media only screen and (max-width: 768px) {
    #payment .payment_desc:last-of-type .payment_desc_ttl,
    #payment .payment_desc:last-of-type .payment_desc_txt {
        text-align: right
    }
}
@media only screen and (max-width: 768px) {
    #payment .payment_desc:last-of-type .payment_desc_link a {
        margin-left: auto
    }
}
#payment .payment_desc:last-of-type .payment_desc_img {
    top: -48px;
    right: -33px;
    width: 175px;
    border-radius: 30px;
    -webkit-box-shadow: 0 0 60px 0 rgba(0, 0, 0, 0.1);
    box-shadow: 0 0 60px 0 rgba(0, 0, 0, 0.1)
}
@media only screen and (max-width: 768px) {
    #payment .payment_desc:last-of-type .payment_desc_img {
        top: -14.4vw;
        left: -17.33333vw;
        width: 32vw;
        border-radius: 5.33333vw;
        -webkit-box-shadow: 0 0 8vw 0 rgba(0, 0, 0, 0.1);
        box-shadow: 0 0 8vw 0 rgba(0, 0, 0, 0.1)
    }
}
#payment .payment_desc:last-of-type .payment_desc_img::before {
    top: 13px;
    right: -13px;
    border-radius: 20px
}
#payment .payment_desc_num {
    position: absolute;
    top: -35px;
    left: 56px;
    font-size: 75px;
    letter-spacing: 0.1em;
    line-height: 1;
    color: #d52661
}
@media only screen and (max-width: 768px) {
    #payment .payment_desc_num {
        top: -7.46667vw;
        font-size: 17.33333vw
    }
}
#payment .payment_desc_ttl {
    font-size: 34px;
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1
}
@media only screen and (max-width: 768px) {
    #payment .payment_desc_ttl {
        font-size: 6.13333vw
    }
}
#payment .payment_desc_txt {
    padding-top: 30px;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 2
}
@media only screen and (max-width: 768px) {
    #payment .payment_desc_txt {
        padding-top: 8vw;
        font-size: 3.46667vw;
        line-height: 2.07692
    }
}
#payment .payment_desc_link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding-top: 30px
}
@media only screen and (max-width: 768px) {
    #payment .payment_desc_link {
        padding-top: 6.66667vw
    }
}
#payment .payment_desc_link a {
    padding-right: 18px;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1;
    background: url(' /-/media/tfc/ts3web/file/toyota-wallet/assets/img/relation/t-connect/ico_arrow_02.svg') right center no-repeat;
    background-size: 10px 14px;
    -webkit-transition: all 0.5s cubic-bezier(0.21, 0.51, 0.51, 1);
    transition: all 0.5s cubic-bezier(0.21, 0.51, 0.51, 1);
    color: #d52661
}
@media only screen and (max-width: 768px) {
    #payment .payment_desc_link a {
        padding-right: 5.06667vw;
        font-size: 3.2vw;
        line-height: 1.25;
        background-size: 2.4vw 4vw
    }
}
#payment .payment_desc_link a:not(:first-child) {
    margin-left: 34px
}
@media only screen and (max-width: 768px) {
    #payment .payment_desc_link a:not(:first-child) {
        margin-left: 6vw
    }
}
.pc #payment .payment_desc_link a:hover {
    opacity: .6
}
#payment .payment_desc_img {
    position: absolute;
    z-index: 1
}
#payment .payment_desc_img::before {
    content: '';
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.15);
    z-index: -1
}
#entryflow {
    position: relative;
    margin-top: -115px;
    padding-bottom: 75px;
    z-index: 1
}
@media only screen and (max-width: 768px) {
    #entryflow {
        margin-top: 0;
        padding-bottom: 0
    }
}
#entryflow .inner {
    text-align: center
}
#entryflow .sec_ttl {
    width: 189px
}
@media only screen and (max-width: 768px) {
    #entryflow .sec_ttl {
        width: 40.26667vw
    }
}
#entryflow .sec_ttl::after {
    height: 115px
}
@media only screen and (max-width: 768px) {
    #entryflow .sec_ttl::after {
        height: 18.66667vw
    }
}
#entryflow .entryflow_read {
    padding-top: 20px;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.11111;
    letter-spacing: 0.1em
}
@media only screen and (max-width: 768px) {
    #entryflow .entryflow_read {
        padding-top: 4.53333vw;
        font-size: 3.46667vw;
        line-height: 1.53846
    }
}
#entryflow .entryflow_read span {
    font-size: 12px
}
@media only screen and (max-width: 768px) {
    #entryflow .entryflow_read span {
        font-size: 2.93333vw
    }
}
#entryflow .entryflow_navi {
    padding: 30px 0 7px
}
@media only screen and (max-width: 768px) {
    #entryflow .entryflow_navi {
        padding: 4vw 0 0
    }
}
@media only screen and (min-width: 769px) {
    #entryflow .entryflow_navi ul {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }
}
#entryflow .entryflow_navi ul li {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    width: 370px;
    height: 90px
}
@media only screen and (max-width: 768px) {
    #entryflow .entryflow_navi ul li {
        width: 92vw;
        height: 22.13333vw
    }
}
#entryflow .entryflow_navi ul li::before {
    content: '';
    position: absolute;
    left: 50%;
    bottom: -7px;
    display: block;
    width: 97%;
    height: 100%;
    background-color: #000;
    border-radius: 5px;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%)
}
@media only screen and (max-width: 768px) {
    #entryflow .entryflow_navi ul li::before {
        bottom: -1.33333vw;
        border-radius: 0.66667vw
    }
}
@media only screen and (max-width: 768px) {
    #entryflow .entryflow_navi ul li:first-child {
        height: 13.33333vw
    }
}
#entryflow .entryflow_navi ul li:first-child a .wrap {
    padding: 32px 0
}
@media only screen and (max-width: 768px) {
    #entryflow .entryflow_navi ul li:first-child a .wrap {
        padding: 3.46667vw
    }
}
@media only screen and (max-width: 768px) {
    #entryflow .entryflow_navi ul li:not(:first-child) {
        margin-top: 6vw
    }
}
#entryflow .entryflow_navi ul li:not(:first-child) a .wrap {
    padding: 12px 0
}
@media only screen and (max-width: 768px) {
    #entryflow .entryflow_navi ul li:not(:first-child) a .wrap {
        padding: 2.4vw
    }
}
#entryflow .entryflow_navi ul li a {
    cursor: pointer;
    position: relative;
    display: inline-block;
    width: 100%;
    height: 100%;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.42857;
    letter-spacing: 0.05em;
    border: 2px solid #000;
    border-radius: 5px;
    background: url(' /-/media/tfc/ts3web/file/toyota-wallet/assets/img/relation/t-connect/ico_arrow_03.svg') right 25px center no-repeat;
    background-size: 15px 18px;
    background-color: #fff;
    color: #d52661
}
@media only screen and (max-width: 768px) {
    #entryflow .entryflow_navi ul li a {
        font-size: 3.46667vw;
        line-height: 1.53846;
        border-radius: 0.66667vw;
        background: url(' /-/media/tfc/ts3web/file/toyota-wallet/assets/img/relation/t-connect/ico_arrow_03.svg') right 6.66667vw center no-repeat;
        background-size: 3.46667vw 4vw;
        background-color: #fff
    }
}
.pc #entryflow .entryflow_navi ul li a:hover {
    top: 7px
}
#entryflow .entryflow_navi ul li a .wrap {
    display: inline-block
}
#entryflow .entryflow_navi ul li a .small {
    display: block;
    padding-bottom: 5px;
    font-size: 12px;
    color: #000
}
@media only screen and (max-width: 768px) {
    #entryflow .entryflow_navi ul li a .small {
        padding-bottom: 0.66667vw;
        font-size: 3.2vw
    }
}
#entryflow .entryflow_navi ul li a .underline {
    position: relative
}
#entryflow .entryflow_navi ul li a .underline::before {
    content: '';
    position: absolute;
    bottom: -3px;
    width: 100%;
    height: 3px;
    background-color: #d52661
}
#entryflow .entryflow_step {
    position: relative;
    padding-top: 70px
}
@media only screen and (max-width: 768px) {
    #entryflow .entryflow_step {
        padding-top: 18.13333vw
    }
}
#entryflow .entryflow_step:first-of-type {
    padding-top: 90px
}
@media only screen and (max-width: 768px) {
    #entryflow .entryflow_step:first-of-type {
        padding-top: 16.53333vw
    }
}
#entryflow .entryflow_step:not(:first-of-type) .entryflow_step_wrap::after {
    content: '';
    position: absolute;
    top: -69px;
    left: 50%;
    display: block;
    width: 6px;
    height: 46px;
    background: url(' /-/media/tfc/ts3web/file/toyota-wallet/assets/img/relation/t-connect/bg_entryfrow_step.svg') center center no-repeat;
    background-size: contain;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%)
}
@media only screen and (max-width: 768px) {
    #entryflow .entryflow_step:not(:first-of-type) .entryflow_step_wrap::after {
        top: -18.93333vw;
        width: 1.33333vw;
        height: 12vw
    }
}
#entryflow .entryflow_step:not(:first-of-type) .entryflow_step_descInner::before {
    content: '';
    position: absolute;
    left: 50%;
    bottom: -12px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 20px 20px 0 20px;
    border-color: #fff transparent transparent transparent;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%)
}
#entryflow .entryflow_step_wrap {
    position: relative;
    border-radius: 20px;
    background-color: #d52661
}
@media only screen and (max-width: 768px) {
    #entryflow .entryflow_step_wrap {
        border-radius: 0
    }
}
#entryflow .entryflow_step_wrap::before {
    content: '';
    position: absolute;
    top: -20px;
    left: 50%;
    display: block;
    width: 234px;
    height: 54px;
    background-color: #86002d;
    border-radius: 27px;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    z-index: 1
}
@media only screen and (max-width: 768px) {
    #entryflow .entryflow_step_wrap::before {
        top: -4.8vw;
        width: 61.33333vw;
        height: 18.66667vw;
        border-radius: 9.33333vw
    }
}
#entryflow .entryflow_step_num {
    position: absolute;
    top: -23px;
    left: 50%;
    display: inline-block;
    width: 234px;
    height: 54px;
    font-size: 24px;
    line-height: 54px;
    background-color: #d52661;
    border-radius: 27px;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    color: #fff;
    z-index: 3
}
@media only screen and (max-width: 768px) {
    #entryflow .entryflow_step_num {
        top: -7.46667vw;
        width: 61.33333vw;
        height: 18.66667vw;
        font-size: 6.66667vw;
        line-height: 18.66667vw;
        border-radius: 9.33333vw
    }
}
#entryflow .entryflow_step_num span {
    font-size: 40px
}
@media only screen and (max-width: 768px) {
    #entryflow .entryflow_step_num span {
        font-size: 13.33333vw
    }
}
#entryflow .entryflow_step_desc {
    position: relative;
    padding: 20px 26px;
    font-weight: 700;
    z-index: 2
}
@media only screen and (max-width: 768px) {
    #entryflow .entryflow_step_desc {
        padding: 8vw 4vw 6.66667vw
    }
}
#entryflow .entryflow_step_descInner {
    position: relative;
    padding: 40px 0 26px;
    background-color: #fff;
    border-radius: 10px
}
@media only screen and (max-width: 768px) {
    #entryflow .entryflow_step_descInner {
        padding: 10.66667vw 0 7.33333vw;
        border-radius: 1.33333vw
    }
}
#entryflow .entryflow_step_descTxt {
    font-size: 18px;
    letter-spacing: 0.05em
}
@media only screen and (max-width: 768px) {
    #entryflow .entryflow_step_descTxt {
        font-size: 4.26667vw;
        line-height: 1.4375
    }
}
#entryflow .entryflow_step_descTxt span {
    display: block;
    padding-top: 10px;
    font-size: 12px
}
@media only screen and (max-width: 768px) {
    #entryflow .entryflow_step_descTxt span {
        padding-top: 0;
        font-size: 2.66667vw
    }
}
#entryflow .entryflow_step_download {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding-top: 20px
}
@media only screen and (max-width: 768px) {
    #entryflow .entryflow_step_download {
        padding-top: 6.4vw
    }
}
#entryflow .entryflow_step_download li:first-child {
    width: 128px
}
@media only screen and (max-width: 768px) {
    #entryflow .entryflow_step_download li:first-child {
        width: 33.6vw
    }
}
#entryflow .entryflow_step_download li:last-child {
    width: 160px;
    margin-left: 10px
}
@media only screen and (max-width: 768px) {
    #entryflow .entryflow_step_download li:last-child {
        width: 41.33333vw;
        margin-left: 2.66667vw
    }
}
#entryflow .entryflow_step_download li a {
    display: inline-block;
    -webkit-transition: all 0.5s cubic-bezier(0.21, 0.51, 0.51, 1);
    transition: all 0.5s cubic-bezier(0.21, 0.51, 0.51, 1)
}
.pc #entryflow .entryflow_step_download li a:hover {
    opacity: .6
}
#entryflow .entryflow_step_download li span {
    display: block;
    padding-top: 10px;
    font-size: 12px
}
@media only screen and (max-width: 768px) {
    #entryflow .entryflow_step_download li span {
        padding-top: 2.66667vw;
        font-size: 2.66667vw
    }
}
#entryflow .step_slide {
    position: relative;
    overflow: hidden
}
@media only screen and (min-width: 769px) {
    #entryflow .step_slide {
        border-bottom-left-radius: 20px;
        border-bottom-right-radius: 20px
    }
}
#entryflow .step_slideWrap {
    width: 270px;
    margin-left: 35px
}
@media only screen and (max-width: 768px) {
    #entryflow .step_slideWrap {
        width: 65.33333vw;
        margin: 0 auto
    }
}
#entryflow .step_slide_inner {
    position: relative;
    padding: 40px 0 30px;
    border-radius: 15px;
    background-color: #fff;
    -webkit-box-shadow: 25px 44px 30px 0 rgba(0, 0, 0, 0.2);
    box-shadow: 25px 44px 30px 0 rgba(0, 0, 0, 0.2)
}
@media only screen and (max-width: 768px) {
    #entryflow .step_slide_inner {
        padding: 10.66667vw 0 5.33333vw;
        border-radius: 2vw;
        -webkit-box-shadow: 3.33333vw 5.73333vw 4vw 0 rgba(0, 0, 0, 0.2);
        box-shadow: 3.33333vw 5.73333vw 4vw 0 rgba(0, 0, 0, 0.2)
    }
}
#entryflow .step_slide_inner img {
    width: 190px;
    margin: 20px auto 0;
    border-radius: 10px;
    -webkit-box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.15);
    box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.15)
}
@media only screen and (max-width: 768px) {
    #entryflow .step_slide_inner img {
        width: 49.33333vw;
        margin: 5.33333vw auto 0;
        border-radius: 2.66667vw;
        -webkit-box-shadow: 0 0 2vw 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 0 2vw 0 rgba(0, 0, 0, 0.15)
    }
}
#entryflow .step_slide_num {
    position: absolute;
    top: 14px;
    left: 12px;
    font-size: 15px;
    font-weight: 700;
    color: #d52661
}
@media only screen and (max-width: 768px) {
    #entryflow .step_slide_num {
        top: 3.6vw;
        left: 3.06667vw;
        font-size: 4vw
    }
}
#entryflow .step_slide_txt {
    padding: 0 15px 0 30px;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.05em;
    text-align: left
}
@media only screen and (max-width: 768px) {
    #entryflow .step_slide_txt {
        padding: 0 4vw 0 5.33333vw;
        font-size: 3.73333vw;
        line-height: 1.57143
    }
}
#entryflow .swiper-container {
    padding: 30px 0 90px;
    overflow: visible
}
@media only screen and (max-width: 768px) {
    #entryflow .swiper-container {
        padding: 0 0 19.33333vw
    }
}
#entryflow .swiper-slide {
    padding: 0 10px
}
@media only screen and (max-width: 768px) {
    #entryflow .swiper-slide {
        padding: 0 2.66667vw
    }
}
#entryflow .swiper-pagination {
    left: 50%;
    bottom: 46px;
    width: 100%;
    font-size: 0;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%)
}
@media only screen and (max-width: 768px) {
    #entryflow .swiper-pagination {
        bottom: 8vw
    }
}
#entryflow .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    margin: 0 6px;
    border: 2px solid #fff;
    background-color: #d52661;
    opacity: 1
}
@media only screen and (max-width: 768px) {
    #entryflow .swiper-pagination-bullet {
        width: 2.66667vw;
        height: 2.66667vw;
        margin: 0 1.6vw
    }
}
#entryflow .swiper-pagination-bullet-active {
    background-color: rgba(255, 255, 255, 0.5)
}
#entryflow #step_slide2 .step_slide_inner {
    padding: 40px 0 15px
}
@media only screen and (max-width: 768px) {
    #entryflow #step_slide2 .step_slide_inner {
        padding: 10.66667vw 0 4vw
    }
}
#entryflow #step_slide2 .step_slide_inner img {
    width: 100%;
    padding: 0 15px;
    border-radius: 0;
    -webkit-box-shadow: none;
    box-shadow: none
}
@media only screen and (max-width: 768px) {
    #entryflow #step_slide2 .step_slide_inner img {
        padding: 0 4vw
    }
}
#entryflow #step_slide2 .swiper-slide:nth-child(n+4) img {
    margin: 0
}
#entryflow #step_slide2 .step_slide_txt {
    padding: 0 15px
}
@media only screen and (max-width: 768px) {
    #entryflow #step_slide2 .step_slide_txt {
        padding: 0 4vw
    }
}
#entryflow .attention {
    padding: 0 0 14px 20px;
    color: #fff
}
@media only screen and (max-width: 768px) {
    #entryflow .attention {
        padding: 0 2.66667vw 3.33333vw
    }
}
#entryflow .attention li {
    padding-left: 1em;
    line-height: 1.5;
    text-indent: -1em
}
#entryflow .attention li a {
    font-size: 1em;
    text-decoration: underline;
    color: #fff
}
@media only screen and (max-width: 768px) {
    .app {
        margin-top: 0
    }
}