body {
    background: url(../images/boarding/fv-background.png) no-repeat center top 0.6%;
    background-size: 100.03% auto;
}
header {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
}
header h1 {
    display: none;
}

header ul li.top-link {
    display: block;
}
@media print, screen and (max-width: 768px) {
    body {
        background: none;
    }
    header {
        position: relative;
    }
    header h1 {
        display: block;
    }
}

/* ==============================
  FV
============================== */
#fv {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    padding: 14.7% 0 0;
}
#fv .fv-image {
    width: 35.3%;
    order: 2;
}
#fv .fv-text {
    order: 1;
    width: 40.1%;
    margin-right: 2.7%;
    padding-top: 4.6%;
}

#fv .fv-text h3 {
    margin: 7.9% auto 0;
    width: 98.6%;
}
@media print, screen and (max-width: 768px) {
    #fv {
        background: url(../sp-images/boarding/fv-background.png) no-repeat center;
        background-size: 100% auto;
        padding: 3.9vw 6.5vw 5.8vw 7.8vw;
        align-items: flex-end;
        justify-content: space-between;
    }
    #fv .fv-image {
        width: 24.7vw;
    }
    #fv .fv-text {
        width: 56.3vw;
        padding-top: 0;
    }
    #fv .fv-text h1 {
        width: 100%;
    }
    #fv .fv-text h3 {
        width: 55.2vw;
    }
}

/* ==============================
  バナー
============================== */
.contents {
    position: relative;
    background: url(../images/boarding/contents-background-01.png) no-repeat;
    background-position: left 11.7% top 3.5%;
    background-size: 121.8% auto;
    padding: 7.8% 0 0;
}
.contents .bnrs-wrapper {
    background: url(../images/boarding/contents-background-02.png) no-repeat;
    background-position: right bottom 4.2%;
    background-size: 94.6% auto;
}
.contents .bnrs-wrapper .bnr-box {
    width: 76.17%;
    max-width: 975px;
    margin: 0 auto;
}
.contents .bnrs-wrapper .bnr-box + .bnr-box{
    margin-top: 6.5%;
}
.contents .bnrs-wrapper .bnr-box a {
    display: block;
    background-color: #FFF;
    box-sizing: border-box;
}
.contents .bnrs-wrapper .bunner-01 a {
    padding: 2.9% 4.2%;
}
.contents .bnrs-wrapper .bunner-02 a {
    padding: 4.2%;
}
.contents .bnrs-wrapper .bunner-03 {
    padding-bottom: 8.3%;
}

.contents .bnrs-wrapper .hikkoshi-tit {
    width: 25%;
    margin: 5.7% auto -10px 25.1%
}
@media print, screen and (max-width: 768px) {
    .contents {
        background: url(../sp-images/boarding/contents-background.png) no-repeat;
        background-position: left top 2.8vw;
        background-size: 110.2vw auto;
        padding: 8.2vw 0 0;
    }
    .contents .bnrs-wrapper {
        background: none;
    }
    .contents .bnrs-wrapper .bnr-box {
        width: 86.7vw;
    }
    .contents .bnrs-wrapper .bnr-box + .bnr-box{
        margin-top: 5.4vw;
    }
    .contents .bnrs-wrapper .bunner-03 {
        padding-bottom: 8.4vw;
    }

    .contents .bnrs-wrapper .hikkoshi-tit {
        width: 48.6vw;
        margin: 8.5vw auto -10px 16.5vw;
    }
}

/* ==============================
  アプリ
============================== */
.app-wrapper {
    position: relative;
    margin-bottom: 16.4%;
}
.app-wrapper .inner {
    background: url(../images/boarding/app-background.png?20250120) no-repeat;
    background-position: left top;
    background-size: cover;
    width: 89%;
    margin: 0 0 0 auto;
    padding: 3% 0 4%;
    box-sizing: border-box;
}
.app-wrapper .app-box {
    width: 74.75%;
    max-width: 850px;
    margin: 0 auto;
    margin: 0 auto 0 8.5%;
}
.app-wrapper .app-box .app-text-box {
    position: relative;
}
.app-wrapper .app-box .app-text {
    width: 51.7%;
}
.app-wrapper .app-box .app-text-box a {
    position: absolute;
    right: 18.6%;
    bottom: -44%;
    display: block;
    width: 40.6%;
    max-width: 346px;
}
.app-wrapper .app-box .app-bunner {
    position: relative;
}
.app-wrapper .app-box .app-bunner p {
    font-size: min(1.6vw, 2.2rem);
    font-weight: bold;
    padding-left: 7%;
    margin-top: 1em;
}
@media print, screen and (max-width: 768px) {
    .app-wrapper {
        margin-bottom: 26vw;
    }
    .app-wrapper .inner {
        background: url(../sp-images/boarding/app-background.png?20251020) no-repeat;
        background-size: cover;
        width: 100%;
        margin: 0;
        padding: 6.1vw 0;
    }
    .app-wrapper .app-box {
        width: 68.2vw;
        margin: 0 auto;
        display: flex;
        flex-direction: column;

    }
    .app-wrapper .app-box .app-text-box {
        order: 2;
        position: relative;
    }
    .app-wrapper .app-box .app-text {
        display: none;
    }
    .app-wrapper .app-box .app-text-box a {
        position: relative;
        bottom: 0;
        width: 71.2vw;
        max-width: 71.2vw;
        margin: 3vw auto 0;
        right: 0;
    }
    .app-wrapper .app-box .app-bunner {
        order: 1;
        margin-top: 0;
    }
    .app-wrapper .app-box .app-bunner p {
        font-size: 3.9vw;
        padding-left: 0;
        text-align: center;
    }

}
