@charset "euc-jp";

html, body{
    height: 100%;
}
body {
    font-family: 'Outfit', 'Noto Sans JP', sans-serif, 'メイリオ', 'Meiryo' !important;
    font-weight: 400;
    color: #222;
    background: #F5F5F7;
}
.wrapper {
    display: block;
    width: 100%;
    overflow: hidden;
}

header {
    display: flex;
    box-sizing: border-box;
    padding: 24px 0 0 24px;
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    z-index: 1;
}

header .logo-area{
    width: 16%;
    max-width: 220px;
}

header .logo-area img{
    width: 100%;
}

div.fv {
    position: relative;
}

@keyframes from-right {
    0%{transform:translateX(100%); opacity: 0;}
    100%{transform:translateX(0); opacity: 1;}
}

@keyframes from-left {
    0%{transform:translateX(-100%);opacity: 0;}
    100%{transform:translateX(0); opacity: 1;}
}

.fv-wrap {
    margin: 0 auto;
    padding: 2% 0 6% 0;
    width: 100%;
    max-width: 1440px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

.fv-txt {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding: 0 0 2% 0;
    z-index: 1;
}

.fv-txt h1 {
    width: 100%;
    font-weight: 500;
    font-size: 6.5rem;
    line-height: 1.2;
    /*
    color: transparent;
    background: linear-gradient(142deg, #ff81ff 25%, #000000 50%, #38b3ff 75%, #46cc58 100%);
    background: linear-gradient(142deg, #3cdf96 25%, #000000 50%, #38b3ff 75%, #46cc58 100%);
    -webkit-background-clip: text;
    */
    color: #fff;
    text-align: center;
    padding: 0 0 2rem 0;
    letter-spacing: 0.25rem;
    text-shadow: 0px 0px 10px rgba(255, 255, 255, 0.5), 0px 0px 50px rgba(21, 105, 157, 1);
}

.fv-txt h1 span {
    font-weight: 400;
    font-size: 30%;
    display: block;
    padding: 1rem;
    color: #fff;
    text-shadow:none;
}

.fv-txt p.fv-copy {
    font-size: 1.2rem;
}

.fv-txt p {
    color: #fff;
    text-align: center;
    font-size: 1.5rem;
    line-height: 1.8;
    width: 100%;
    max-width: 1024px;
    margin: 0 auto 32px;
    
}

.fv-txt p span {
    text-align: center;
    font-size: 0.6rem;
    width: 100%;
    max-width: 1024px;
    margin: 12px auto 0;
    display: block;
}

.fv-txt p.deco {
    width: fit-content;
    background: #ffffff;
    line-height: 1;
    padding: 20px 32px;
    border-radius: 16px;
    color: #0077c4;
    font-weight: 700;
    position: relative;
}

.fv-txt p.deco:after {
    content: "";
    width: 0px;
    height: 0px;
    border-style: solid;
    border-width: 25px 25px 0 25px;
    border-color: #FFFFFF transparent transparent transparent;
    transform: rotate(0deg);
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
}

.fv-img {
    width: 60%;
    position: relative;
    min-height: 550px;
    padding: 0;
}

.fv-img figure, .fv-img div {
    position: absolute;
}

figure.fv-pc-img {
    width: 95%;
    z-index: 1;
    top: 55%;
    left: 50%;
    transform: translate(-50%, -50%);
    animation: fv-pc-img 0.7s linear;
}

@keyframes fv-pc-img {
    0%{top: 60%; opacity: 0;}
    100%{top: 50%; opacity: 1;}
}


.fv-badge {
    position: absolute;
    width: 13rem;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    right: 28%;
    top: 38%;
    animation: fv-badge 1s ease-in-out;
}

@keyframes fv-badge {
    0%{top: 45%; opacity: 0;}
    50%{opacity: 0;}
    100%{top: 38%; opacity: 1;}
}

.fv-deco {
    position: absolute;
    top: 0;
    left: 0;
    transform: translateY(0);
    z-index: -1;
    width: 100%;
    height: 100vh;
    overflow: hidden;
    background: linear-gradient(180deg, #014c92 0%, #88e7ff 65%, #F5F5F7 100%);
    border-radius: 0;
    animation: fv-deco 0.7s ease-out;
    /*filter: blur(5px);*/
}

@keyframes fv-deco {
    0%{
        border-radius: 450px 450px 0 0;
        opacity: 0;
        filter: blur(50px);
    }
    100%{
        border-radius: 0;
        opacity: 1;
        ilter: blur(5px);
    }
}

/*
@keyframes fv-deco-bg {
    0%{background: linear-gradient(180deg, #8acbf4, #edf1f9, #ffffff);}
    50%{background: linear-gradient(275deg, #8acbf4, #edf1f9, #ffffff);}
    100%{background: linear-gradient(345deg, #8acbf4, #edf1f9, #ffffff);}
}
*/

.fv-deco-wrap {
    position: relative;
    display: none;
}

.fv-deco-wrap div{
    position: absolute;
}

.fv-img-parts01 {
    width: 40rem;
    height: 40rem;
    border-radius: 50%;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 0;
    background: linear-gradient(345deg, #8acbf4, #ffffff, #ffb8b8);
    background-size: 600% 600%;
    animation: fv-img-parts01 30s ease infinite;
    filter: blur(2rem);
}

@keyframes fv-img-parts01 {
    0%{background-position:0% 50%; rotate: 0;}
    50%{background-position:100% 50%;}
    100%{background-position:0% 50%; rotate: -360deg;}
}

.fv-img-parts02 {
    width: 25rem;
    height: 25rem;
    border-radius: 50%;
    top: -12%;
    left: 58%;
    z-index: -1;
    background: linear-gradient(45deg, #b7acf4, #94fde7, #f4f423);
    background-size: 600% 600%;
    animation: fv-img-parts02 20s ease infinite;
    filter: blur(3rem);
}

@keyframes fv-img-parts02 {
    0%{background-position:0% 50%; rotate: 0;}
    50%{background-position:100% 50%;}
    100%{background-position:0% 50%; rotate: 360deg;}
}

.fv-img-parts03 {
    width: 22rem;
    height: 22rem;
    border-radius: 50%;
    bottom: -16%;
    right: 0%;
    z-index: -2;
    opacity: 0.6;
    background: linear-gradient(90deg, #ff7272, #23f465, #ff56b0);
    background-size: 600% 600%;
    animation: fv-img-parts03 15s ease infinite;
    filter: blur(3rem);
}

@keyframes fv-img-parts03 {
    0%{background-position:0% 50%;}
    50%{background-position:100% 50%;}
    100%{background-position:0% 50%;}
}

/*contents*/
section {
    width: 100%;
    margin: 0 auto;
    padding: 10% 0;
}

section.contents {
    position: relative;
}

.flex-box {
    display: flex;
    align-items: center;
}

.block {
    margin: 0 auto;
    width: 96%;
    padding: 0;
}

.contents-img-area {
    width: 45%;
    position: relative;
    min-height: 500px;
    display: flex;
    align-items: center;
}

.contents-img-area figure {
    position: absolute;
    z-index: 1;
}

.contents-txt-area {
    width: 55%;
    box-sizing: border-box;
    padding: 0 0 0 3%;
    z-index: 1;
    opacity: 1;
    transition: all 0.2s ease-out;
    translate: 0 5%;
}

.on-img .contents-txt-area {
    opacity: 1;
    transition: all 0.2s ease-out;
    translate: 0 0;
}

.contents-txt-area h2 {
    font-size: 3.5rem;
    padding: 0 0 3rem 0;
    line-height: 1.5;
    color: #000;
}

.contents-txt-area p {
    font-size: 1.2rem;
    line-height: 2.2;
    width: 100%;
    max-width: 760px;
}

/*payment-service-logo*/

.payment-service-logo{
    background: #fff;
    width: 90%;
    max-width: 1440px;
    margin: 0 auto 5%;
    opacity: 0;
    border-radius: 32px;
    padding: 3%;
    transition: all 0.5s ease-out;
    transform: translateY(10%);
}

.payment-service-logo.on-list{
    transform: translateY(0);
    opacity: 1;
    transition: all 0.5s ease-out;
}

.payment-service-logo h2{
    font-size: 2rem;
    text-align: center;
    padding: 0 0 40px 0;
}

.payment-service-logo h2 + p{
    font-size: 1.3rem;
    text-align: center;
    line-height: 1.8;
}

.payment-service-list {
    margin: 40px 0 0 0;
    display: flex;
    justify-content: space-between;
}

.payment-service-list dl{
    width: 18%;
    padding: 16px;
    box-sizing: border-box;
    border-radius: 8px;
}

.payment-service-list dl dt{
    color: #2389ca;
    text-align: center;
    font-size: 1.2rem;
    padding: 0 0 16px 0;
    font-weight: 400;
}

.payment-service-list dl dd img{
    width: 100%;
}

/*release notes*/
section#release-note {
    background: #fff;
    width: 90%;
    max-width: 1440px;
    margin: 0 auto 10%;
    opacity: 0;
    border-radius: 32px;
    padding: 3%;
    transition: all 0.5s ease-out;
    transform: translateY(10%);
}

section#release-note.on-list {
    transform: translateY(0);
    opacity: 1;
    transition: all 0.5s ease-out;
}

section#release-note h2 {
    font-size: 2rem;
    text-align: center;
    padding: 0 0 48px 0;
}

section#release-note p {
    width: 80%;
    margin: 0 auto 16px;
    padding: 0 8px 16px;
    border-bottom: 1px dashed #c8c8c8;
}

section#release-note p span{
    font-weight: 500;
    margin: 0 16px 0 0;
}

section#release-note p a{
    color: #2389ca;
    font-size: 1rem;
}

section#release-note p a:hover {
    text-decoration: underline;
}

section#release-note p a[target="_blank"]:after {
    content: "";
    display: inline-block;
    width: 18px;
    height: 18px;
    background: url(../images/new-tab.svg) no-repeat center center;
    background-size: 100%;
    margin: 0 0 0 5px;
    transform: translateY(3px);
}

/*one touch*/
figure.one-tab-img{
    scale: 1.3;
    translate: -5%;
    opacity: 0;
    transition: all 0.2s ease-out;
}

section.one-tab.on-img  .contents-img-area figure.one-tab-img{
    opacity: 1;
    translate: 0;
    transition: all 0.2s ease-out;
}

.one-tab-img-deco {
    width: 30rem;
    height: 30rem;
    border-radius: 50%;
    top: 0;
    left: 20%;
    z-index: 0;
    background: linear-gradient(270deg, #78ffa7, #96def3, #ffccc2);
    background-size: 100% 500%;
    animation: fv-img-parts01 30s ease infinite;
    filter: blur(4rem);
    position: absolute;
    opacity: 0;
    transition: all 1.5s ease-out;
}

section.one-tab.on-img .one-tab-img-deco{
    opacity: 1;
    transition: all 1.5s ease-out;
}


/*guest*/
figure.smart-checkout-img {
    scale: 1.5;
    translate: 25% 0;
    opacity: 0;
    transition: all 0.2s ease-out;
}

section.smart-checkout.on-img  figure.smart-checkout-img {
    opacity: 1;
    transition: all 0.2s ease-out;
    translate: 20% 0;
}

.smart-checkout-img-deco {
    width: 60rem;
    height: 40rem;
    border-radius: 50%;
    top: -20%;
    left: 0;
    z-index: 0;
    background: linear-gradient(270deg, #a6c1ff, #87f0ff, #2389ca);
    background-size: 100% 500%;
    animation: fv-img-parts01 30s ease infinite;
    filter: blur(4rem);
    position: absolute;
    opacity: 0;
    transition: all 1.5sease-out;
    filter: blur(50px);
}

section.smart-checkout.on-img .smart-checkout-img-deco{
    opacity: 1;
    transition: all 1.5s ease-out;
}

.contents-img-deco {
    overflow: hidden;
    position: absolute;
    z-index: -1;
}

section#smart-checkout .contents-img-deco {
    width: 100%;
    height: 100%;
    top: -50%;
    right: -20%;
    border-radius: 240px 0 0 0;
}

/*design*/
section.contents.design {
    padding: 10% 0;
}

figure.design-img {
    box-sizing: border-box;
    padding: 0 10% 0 0;
    scale: 1.5;
    translate: -20%;
    opacity: 0;
    transition: all 0.2s ease-out;
}

section.design.on-img  figure.design-img {
    opacity: 1;
    transition: all 0.2s ease-out;
    translate: -15%;
}

.design-img-deco {
    width: 50rem;
    height: 50rem;
    border-radius: 50%;
    top: -30%;
    left: -10%;
    z-index: 0;
    background: linear-gradient(270deg, #8dffee, #7dd5e7, #00f7ff);
    background-size: 100% 500%;
    animation: fv-img-parts01 30s ease infinite;
    filter: blur(5rem);
    position: absolute;
    opacity: 0;
    transition: all 1.5s ease-out;
    filter: blur(50px);
}

section.design.on-img .design-img-deco{
    opacity: 1;
    transition: all 1.5s ease-out;
}

section#design .contents-img-deco {
    width: 100%;
    height: 150%;
    top: -50%;
    left: -12%;
    border-radius: 0 240px 240px 0;
}

/*new-function*/
section#new-function{
    margin: 0 0 10% 0;
}

figure.function-img {
    opacity: 0;
    translate: 5%;
}

section.new-function.on-img  figure.function-img {
    opacity: 1;
    transition: all 0.2s ease-out;
    translate: 0;
    transition: all 0.2s ease-out;
}

.function-img-deco {
    width: 60rem;
    height: 60rem;
    border-radius: 50%;
    top: -50%;
    right: -10%;
    z-index: 0;
    background: linear-gradient(270deg, #deffe8, #75daf9, #d3bdff);
    background-size: 100% 500%;
    animation: fv-img-parts01 30s ease infinite;
    filter: blur(4rem);
    position: absolute;
    opacity: 0;
    transition: all 1.5s ease-out;
}

section#new-function .contents-img-deco {
    width: 110%;
    height: 150%;
    top: -50%;
    right: -8%;
    border-radius: 160px 0 0 240px;
}

section.new-function.on-img .function-img-deco {
    opacity: 1;
    transition: all 1.5s ease-out;
}

section.new-function .btn {
    display: flex;
    justify-content: flex-start;
    margin: 24px 0 0 0;
}

section.new-function .btn a {
    padding: 16px 32px;
    font-size: 1.2rem;
}

/*comfort*/
section#comfort{
    position: relative;
    overflow: hidden;
    border-radius: 240px 240px 0 0;
    padding-bottom: 5%;
    z-index: 1;
}

.comfort-parts01 {
    position: absolute;
    width: 40rem;
    height: 40rem;
    border-radius: 50%;
    top: 10%;
    left: -10%;
    z-index: 0;
    background: linear-gradient(270deg, #deffe8, #75daf9, #d3bdff);
    background-size: 600% 600%;
    animation: comfort-parts 30s ease infinite;
    filter: blur(4rem);
    opacity: 0;
    transition: all 1.5sease-out;
}

section#comfort.on-table .comfort-parts01  {
    opacity: 0.6;
    transition: all 1.5s ease-out;
}

.comfort-parts02 {
    position: absolute;
    width: 55rem;
    height: 55rem;
    border-radius: 50%;
    right: 0;
    bottom: -10%;
    z-index: 0;
    background: linear-gradient(270deg, #79ff96, #009cff, #71e9ff);
    background-size: 600% 600%;
    animation: comfort-parts 30sease infinite;
    filter: blur(4rem);
    opacity: 0;
    transition: all 1.5sease-out;
}

section#comfort.on-table .comfort-parts02  {
    opacity: 0.5;
    transition: all 1.5s ease-out;
}

.comfort-parts03 {
    padding: 0;
    position: absolute;
    width: 60rem;
    height: 60rem;
    border-radius: 50%;
    top: 0;
    left: 0;
    /* translate: -50% -10%; */
    z-index: -1;
    background: linear-gradient(270deg, #ffffff, #ad7dc1, #99f7ee);
    background-size: 600% 600%;
    animation: comfort-parts 30sease infinite;
    filter: blur(10rem);
    opacity: 0;
    transition: all 1.5sease-out;
}

section#comfort.on-table .comfort-parts03  {
    opacity: 1;
    transition: all 1.5s ease-out;
}


@keyframes comfort-parts {
    0%{background-position:0% 50%; rotate: 0;}
    50%{background-position:100% 50%;}
    100%{background-position:0% 50%; rotate: -360deg;}
}

section#comfort .contents-txt-area {
    width: 100%;
    opacity: 0;
    translate: 0 5%;
}

section#comfort.on-table  .contents-txt-area {
    opacity: 1;
    transition: all 0.2s ease-out;
    translate: 0 0;
}


section#comfort .contents-txt-area h2 {
    text-align: center;
}

section#comfort .contents-txt-area p {
    text-align: center;
    margin: 0 auto;
    max-width: 800px;
}

section#comfort .contents-txt-area p.comfort-notice {
    margin: 0;
    font-size: 0.7rem;
    text-align: left;
    width: 100%;
}

.fixed-cta {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    background: #ffffff60;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    margin: 0;
    padding: 16px 0 32px;
    box-sizing: border-box;
    z-index: 15;
}

.fixed-cta .btn {
    margin: 0;
    width: 100%;
    max-width: 100%;
}

.fixed-cta .btn div {
    width: 30%;
}

.fixed-cta .btn a {
    font-size: 1.2rem;
    padding: 20px 0;
}

.pc-view{
    display: block;
}
.sp-view{
    display: none;
}


/*PC*/
@media (max-width:1440px){
    .fv-txt h1 {
        font-size: 5rem;
    }
    .fv-badge {
        width: 11rem;
        right: 25%;
    }
    .contents-txt-area h2 {
        font-size: 4rem;
    }
    section#new-function .contents-img-deco {
        right: -25%;
    }
}

@media (max-width:1280px){
    header .logo-area {
        width: 15%;
    }
    .fv-txt h1 {
        font-size: 4rem;
    }
    .contents-txt-area h2 {
        font-size: 2.4rem;
    }
    .fv-txt {
        padding: 0;
    }
    .fv-txt p, .fv-txt p.fv-copy {
        font-size: 1rem;
    }
    .contents-txt-area p {
        font-size: 1rem;
    }
    .design-img-deco {
        width: 36rem;
        height: 36rem;
    }
}

@media (max-width:1024px){
    .fv-txt p {
        padding: 0 5%;
    }
    .fv-img {
        width: 70%;
    }
    div.fv{
        min-height: 1090px;
    }
    .fv-badge {
        width: 9rem;
        right: 22%;
        top: 35%;
    }
    @keyframes fv-badge {
        0%{top: 40%; opacity: 0;}
        50%{opacity: 0;}
        100%{top: 35%; opacity: 1;}
    }    
    .contents-txt-area h2 {
        font-size: 2.5rem;
        padding: 0 0 2rem 0;
    }
    section.contents.design {
        padding: 6% 0;
    }
    
    @keyframes fv-deco {
        0%{
            border-radius: 0;
            opacity: 0;
        }
        100%{
            border-radius: 160px 0 0 0;
            opacity: 1;
        }
    }
    section#smart-checkout .contents-img-deco {
        top: -30%;
        border-radius: 160px 0 0 0;
    }
    section#design .contents-img-deco {
        top: -30%;
        border-radius: 0 160px 160px 0;
    } 
    section#new-function .contents-img-deco {
        top: -30%;
        border-radius: 160px 0 0 160px;
    }
    section#comfort {
        border-radius: 160px 160px 0 0;
    }    
}

/*TAB*/
@media (max-width:768px){
    .pc-view{
        display: none;
    }
    .sp-view{
        display: block;
    }
    header .logo-area {
        width: 50%;
        max-width: 180px;
    }
    .fv-wrap {
        padding: 5% 0 8% 0;
    }
    .fv-txt h1 {
        font-size: 3.2rem;
        padding: 0 0 2rem 0;
    }
    .fv-txt p {
        padding: 0 10%;
    }
    .fv-img {
        min-height: 400px;
    }
    div.fv{
        min-height: 880px;
    }
    .fv-badge {
        width: 7rem;
        right: 22%;
        top: 40%;
    }
    @keyframes fv-badge {
        0%{top: 45%; opacity: 0;}
        50%{opacity: 0;}
        100%{top: 40%; opacity: 1;}
    }
    .contents-txt-area h2 {
        font-size: 2rem;
    }
    .contents-txt-area p {
        max-width: 350px;
    }
    .contents-txt-area p, .payment-service-logo h2 + p {
        font-size: 0.9rem;
    }
    .fv-img-parts01 {
        width: 20rem;
        height: 20rem;
        top: 0;
        left: -4%;
    }
    .fv-img-parts02 {
        width: 13rem;
        height: 13rem;
        top: 0%;
        left: 52%;
    }
    .fv-img-parts03 {
        width: 10rem;
        height: 10rem;
        bottom: 0;
        right: 5%;
    }
    .one-tab-img-deco {
        width: 20rem;
        height: 20rem;
        left: 0;
    }
    .smart-checkout-img-deco {
        width: 25rem;
        height: 25rem;
        top: 0;
        left: 0;
    }
    .design-img-deco {
        width: 25rem;
        height: 25rem;
        top: 0;
        left: 20%;
    }
    .function-img-deco {
        width: 25rem;
        height: 25rem;
        top: 0;
        left: 0;
    }
    .comfort-parts01 {
        width: 20rem;
        height: 20rem;
        filter: blur(3rem);
    }
    .comfort-parts02 {
        width: 25rem;
        height: 25rem;
        filter: blur(3rem);
    }

    .fv-wrap {
        padding: 8% 0 5% 0;
    }
    .fv-deco {
        height: 50vh;
    }
    @keyframes fv-deco {
        0%{
            border-radius: 80px 80px 0 0;
            opacity: 0;
        }
        100%{
            border-radius: 0;
            opacity: 1;
        }
    }
    .payment-service-list {
        flex-wrap: wrap;
        gap: 16px;
        justify-content: center;
    
    }
    .payment-service-list dl{
        width: 48%;
        display: flex;
        flex-wrap: wrap;
        padding: 16px;
    }
    .payment-service-list dl dt{
        width: 100%;
    }
    .payment-service-list dl dd{
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }
    .payment-service-list dl dd img{
        width: calc(100% / 3);
    }

    section#smart-checkout .contents-img-deco {
        top: 0;
        border-radius: 80px 0 0 0;
    }
    section#design .contents-img-deco {
        top: 0;
        border-radius: 0 80px 80px 0;
    }
    section#new-function .contents-img-deco {
        top: 0;
        border-radius: 80px 0 0 80px;
    }

}

@media (max-width:580px){
    header {
        justify-content: space-evenly;
        padding: 24px;
    }
    header .logo-area {
        max-width: 140px;
    }
    .fv-wrap {
        padding: 10% 0 8% 0;
    }
    .fv-txt h1 {
        font-size: 2.8rem;
        padding: 0 0 2rem 0;
    }
    .fv-txt h1 span {
        padding-bottom: 0.8rem;
    }
    .fv-txt p {
        font-size: 1rem;
    }
    .fv-txt p.fv-copy{
        font-size: 0.8rem;
    }
    .fv-txt p.deco:after {
        top: 99%;
        border-width: 20px 20px 0 20px;
    }
    .fv-img {
        width: 90%;
        min-height: 340px;
    }
    div.fv{
        min-height: 825px;
    }
    .fv-badge {
        right: 15%;
    }
    .flex-box {
        flex-wrap: wrap;
    }
    .contents-img-area {
        width: 100%;
        box-sizing: border-box;
        padding: 5%;
        min-height: auto;
        order: 2;
    }
    .contents-img-area figure {
        position: unset;
    }
    .contents-txt-area {
        width: 100%;
        box-sizing: border-box;
        padding: 5%;
        order: 1;
    }
    .contents-txt-area h2 {
        font-size: 2.2rem;
        text-align: center;
    }
    .contents-txt-area p {
        max-width: 100%;
    }
    section#one-tab {
        padding-bottom: 8%;
    }
    .contents-img-area figure.one-tab-img {
        scale: 1.2;
    }
    figure.smart-checkout-img {
        scale: 1.3;
        translate: 25% 0;
    }
    section.smart-checkout.on-img figure.smart-checkout-img {
        translate: 20% 0;
    }
    section.contents.design .contents-txt-area {
        padding-bottom: 18%;
    }
    section.contents.design {
        padding: 8% 0 20%;
    }
    .contents-img-area figure.design-img {
        box-sizing: border-box;
        padding: 0;
    }
    section.design.on-img figure.design-img {
        translate: -15%;
    }

    .fv-deco {
        height: 80vh;
    }
    
    @keyframes fv-deco {
        0%{
            border-radius: 56px 56px 0 0;
            opacity: 0;
        }
        100%{
            border-radius: 0;
            opacity: 1;
        }
    }

    section#comfort {
        border-radius: 80px 80px 0 0;
    }

    section#smart-checkout .contents-img-deco {
        width: 110%;
        top: -5%;
        right: -20%;
        border-radius: 80px 0 0 80px;
    }

    section#new-function .contents-img-deco{
        right: -12%;
    }

    section#release-note p {
        font-size: 12px;
    }

    section#release-note p span{
        display: block;
        margin: 0 0 5px 0;
    }

    section#release-note p a[target="_blank"]:after {
        width: 12px;
        height: 12px;
        transform: translateY(1px);
    }

    section#release-note p a {
        line-height: 1.6;
    }
}

/*SMP*/
@media (max-width:480px){
    .fv-txt h1 {
        letter-spacing: 0.1rem;
        font-size: 3rem;
        padding: 0 0 1rem 0;
    }
    .fv-txt p {
        font-size: 1rem;
        padding: 0 5%;
    }
    .fv-txt p.fv-copy {
        padding: 0 16% 16px;
    }
    .fv-img {
        min-height: 280px;
    }
    .contents-txt-area h2 {
        font-size: 1.8rem;
    }
    .contents-txt-area p {
        font-size: 0.8rem;
    }
    .fv-img-parts01 {
        width: 12rem;
        height: 12rem;
        top: 0;
        left: 0;
    }
    .fv-img-parts02 {
        width: 8rem;
        height: 8rem;
        top: 8%;
        left: 60%;
    }
    .fv-img-parts03 {
        width: 6rem;
        height: 6rem;
        bottom: 14%;
        right: 10%;
    }
    div.fv {
        min-height: 790px;
    }
    .fv-badge {
        width: 6rem;
        right: 15%;
        top: 37%;
    }
    @keyframes fv-badge {
        0%{top: 42%; opacity: 0;}
        50%{opacity: 0;}
        100%{top: 37%; opacity: 1;}
    }
    .payment-service-logo,
    section#release-note {
        padding: 8% 3%;
    }
    .payment-service-list dl {
        width: 100%;
        padding: 16px 0;
    }
    .payment-service-list dl dt {
        font-size: 1rem;
    }
    .payment-service-list dl dd img {
        width: calc(100% / 3);
    }
    .payment-service-logo h2 {
        padding: 0 0 24px 0;
    }

    .smart-checkout-img-deco {
        width: 14rem;
        height: 14rem;
        top: 5%;
        left: 10%;
    }
    .design-img-deco {
        width: 18rem;
        height: 18rem;
        top: 0;
        left: 30%;
    }
    .function-img-deco {
        width: 20rem;
        height: 20rem;
        top: 0;
        left: 0;
    }
    dd.release-detail span {
        margin: 0 0 0 24px;
    }
    dd.release-detail span:before{
        font-size: 8px;
        top: 0;
        left: -22px;
    }
    section#release-note p {
        width: 90%;
    }
    section#release-note p a{
        font-size: 0.8rem;
    }
}

@media (max-width:430px){
    .fv-wrap {
        padding: 14% 0 8% 0;
    }
    .fv-txt {
        width: 100%;
    }
    .fv-txt p {
        padding: 0 8%;
            margin: 0 auto 0;
    }
    .fv-txt h1 {
        font-size: 2.2rem;
        padding: 0 0 1rem 0;
    }
    .fv-txt h1 span {
        font-size: 40%;
    }
    figure.fv-pc-img{
        top: 50%;
    }
    div.fv {
        min-height: auto;
    }
    .fv-badge {
        width: 5rem;
        right: 15%;
        top: 32%;
    }
    @keyframes fv-badge {
        0%{top: 37%; opacity: 0;}
        50%{opacity: 0;}
        100%{top: 32%; opacity: 1;}
    }

    .payment-service-logo h2,
    section#release-note h2 {
        font-size: 1.4rem;
    }
    .contents-txt-area h2 {
        font-size: 1.6rem;
    }
    .contents-txt-area p, .payment-service-logo h2 + p {
        font-size: 0.8rem;
    }
    .payment-service-list {
        gap: 10px;
    }
}

@media (max-width:375px){
    div.fv {
        min-height: auto;
    }
    .fv-badge {
        width: 5rem;
        right: 12%;
        top: 30%;
    }
    @keyframes fv-badge {
        0%{top: 35%; opacity: 0;}
        50%{opacity: 0;}
        100%{top: 30%; opacity: 1;}
    }
}

/* ボタン */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
.btn {
    width: 80%;
    max-width: 960px;
    margin: 50px auto;
    text-align: center;
    z-index: 10;
    position: relative;
    display: flex;
    justify-content: center;
    gap: 64px;
}
.btn div{
    width: 50%;
}
.btn p {
    margin: 10px auto 24px;
    font-weight: 600;
    font-size: 1.2rem;
}
.btn a {
    padding: 30px;
    background: #2389ca;
    border-radius: 100px;
    font-size: 1.4rem;
    font-weight: 400;
    color: #ffffff;
    text-align: center;
    transition: all 0.2s ease-out;
    display: block;
    line-height: 1;
}
.btn a svg {
    width: 1.2rem;
    height: 1.2rem;
    margin: 0 0 0 8px;
}
.btn a svg g{
    fill:#fff
}
.btn a:hover {
    background: #fff;
    color: #2389ca;
    box-shadow: 0px 20px 20px 5px rgba(0,0,0,0.1);
    transition: all 0.2s ease-out;
}
.btn a:hover svg g{
    fill:#2389ca;
}

.btn a[target="_blank"], .fixed-cta .btn a[target="_blank"]{
    background: #222222;
}

.btn a[target="_blank"]:hover, .fixed-cta .btn a[target="_blank"]:hover{
    background: #727272;
    color: #fff;
}

.btn a[target="_blank"]:hover svg g, .fixed-cta .btn a[target="_blank"]:hover svg g{
    fill:#fff;
}

@media (max-width:1024px){
    .btn p {
        font-size: 1rem;
    }
    .btn a {
        font-size: 1.2rem;
    }
}

@media (max-width:768px){
    .btn {
        width: 90%;
        gap: 32px;
        padding: 20px 0;
    }
    .btn a {
        font-size: 0.9rem;
    }
    .btn a svg {
        width: 0.9rem;
        height: 0.9rem;
    }
    .fixed-cta .btn div {
        width: 45%;
    }
    .fixed-cta .btn a {
        font-size: 1rem;
        padding: 14px 0;
    }
    .fixed-cta .btn a svg {
        width: 1rem;
        height: 1rem;
    }
    .fixed-cta .btn p {
        margin: 0 auto 16px;
        font-weight: 600;
        font-size: 1.2rem;
    }
}

@media (max-width:580px){
    .btn {
        width: 90%;
        gap: 32px;
        padding: 0 0 5% 0;
        flex-wrap: wrap;
        margin: 0 auto;
    }

    .fixed-cta .btn{
        padding: 0;
    }

    .btn div, .fixed-cta .btn div {
        width: 80%;
        margin: 0 auto;
    }

    section.new-function .btn {
        justify-content: center;
        width: 100%;
    }

    .btn a {
        font-size: 1rem;
        padding: 24px;
    }
    .btn a svg {
        width: 1rem;
        height: 1rem;
    }
}

@media (max-width:430px){
    .btn {
        gap: 16px;
    }
    section.new-function .btn a {
        padding: 16px 32px;
        font-size: 0.9rem;
    }
    section.new-function .btn a svg {
        width: 0.9rem;
        height: 0.9rem;
    }
    .btn div, .fixed-cta .btn div {
        width: 100%;
        margin: 0 auto;
    }
    .fixed-cta{
        padding: 16px 32px;
    }
    .fixed-cta .btn p {
        margin: 0 auto 8px;
        font-size: 0.7rem;
    }
    .fixed-cta .btn a {
        font-size: 0.75rem;
        padding: 12px 0;
    }
    .fixed-cta .btn a svg {
        width: 0.75rem;
        height: 0.75rem;
    }
    .comfort-parts01 {
        width: 30rem;
        height: 30rem;
        filter: blur(3rem);
        top: 0;
    }
    .comfort-parts03 {
        width: 40rem;
        height: 40rem;
        top: -5%;
        left: 10%;
    }
}