@charset 'UTF-8';
/* ==============================================================

Reset CSS

==============================================================*/
*,
*::before,
*::after
{
    box-sizing: border-box;
}

html,
body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
ol,
li,
dl,
dt,
dd,
figure,
blockquote
{
    margin: 0;
    padding: 0;
}

body
{
    line-height: 1.6;

    -webkit-text-size-adjust: 100%;
    text-rendering: optimizeLegibility;
}

ul,
ol
{
    list-style: none;
}

img
{
    max-width: 100%;
    height: auto;

    vertical-align: bottom;
}

a
{
    text-decoration: none;

    color: inherit;
}

button
{
    font: inherit;

    padding: 0;

    cursor: pointer;

    color: inherit;
    border: none;
    background: none;
}

input,
textarea,
select
{
    font: inherit;

    color: inherit;
}

table
{
    border-spacing: 0;
    border-collapse: collapse;
}

[hidden]
{
    display: none;
}

/* ===============================
   Fluid helper (390px基準 / 320で縮む / 640で少し拡大 / media無し)
   - 390px時：必ず$baseと一致
================================ */
.for_pc
{
    display: block;
}
@media screen and (max-width: 640px)
{
    .for_pc
    {
        display: none;
    }
}

.for_sp
{
    display: none;
}
@media screen and (max-width: 640px)
{
    .for_sp
    {
        display: block;
    }
}

/*==============================================================

   共通 CSS

============================================================== */
body
{
    font-family: 'Yu Mincho', '游明朝体', 'YuMincho', 'Hiragino Mincho ProN', 'Hiragino Mincho Pro', 'MS Mincho', serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 1;

    color: #4c4948;
}
@media screen and (max-width: 640px)
{
    body
    {
        font-size: 3.7333333333vw;
        font-weight: 500;
    }
}

.l-container
{
    width: 100%;
    max-width: 640px;

    margin-inline: auto;
    padding-inline: 16px;
}
@media screen and (max-width: 640px)
{
    .l-container
    {
        max-width: 100%;

        padding-inline: 4.2666666667vw;
    }
}

a
{
    transition: opacity .72s ease;
}
a:hover
{
    opacity: .6;
}

/* ==============================================================

mixin

============================================================== */
.highlight
{
    line-height: 1.2;

    position: relative;

    display: inline-block;

    padding: 0 8px 8px;

    text-align: center;
    letter-spacing: .05rem;

    background: linear-gradient(transparent 62%, #f4f1e7 0);
}
@media screen and (max-width: 640px)
{
    .highlight
    {
        padding: 0 2.1333333333vw 1.0666666667vw;
    }
}

.slash
{
    line-height: 1.2;

    position: relative;

    display: inline-block;

    padding: 0 40px 8px;

    text-align: center;
}
@media screen and (max-width: 640px)
{
    .slash
    {
        padding: 0 7.4666666667vw 1.0666666667vw;
    }
}
.slash::before,
.slash::after
{
    position: absolute;
    top: 50%;

    width: 34px;
    height: 2px;

    content: '';
    transform: translateY(-50%) rotate(-55deg);

    background: #6284c6;
}
@media screen and (max-width: 640px)
{
    .slash::before,
    .slash::after
    {
        top: 50%;

        width: 8vw;
        height: .5333333333vw;
    }
}
.slash::before
{
    right: 0;
}
.slash::after
{
    left: 0;

    transform: translateY(-50%) rotate(55deg);
}

.scroll__sp
{
    max-width: 640px;
    padding-top: 58px;

    margin-inline: auto;
}
@media screen and (max-width: 640px)
{
    .scroll__sp
    {
        max-width: 100%;
        padding-top: 12.8vw;
    }
}
.scroll__sp img
{
    display: block;

    width: 100%;
    height: auto;
}

.lp-about-secret
{
    overflow: hidden;

    background: #fff;
}
.lp-about-secret__title,
.lp-about-secret__compare
{
    margin: 0;
}

.lp-btn
{
    font-size: 18px;
    line-height: 1.4;

    display: inline-flex;
    flex-direction: column;

    width: auto;
    max-width: 100%;
    padding: 8px 24px;

    text-align: center;
    text-decoration: none;

    border-radius: 8px;

    align-items: center;
    justify-content: center;
}
@media screen and (max-width: 640px)
{
    .lp-btn
    {
        font-size: 3.7333333333vw;

        width: auto;
        max-width: 100%;
        padding: 2.1333333333vw 6.4vw;

        border-radius: 2.1333333333vw;
    }
}

.lp-btn--primary
{
    font-family: 'Noto Sans JP', 'Noto Sans', sans-serif;

    letter-spacing: .05rem;

    color: #fff;
    background: #6284c6;
    box-shadow: 0 4px 0 #1b3a5b;
}
.lp-btn--primary:active
{
    transform: translateY(2px);

    box-shadow: 0 2px 0 #1b3a5b;
}

.lp-btn--secondary
{
    color: #6284c6;
    background: #e7f2fb;
    box-shadow: 0 4px 0 #6284c6;
}
.lp-btn--secondary span
{
    font-size: 80%;
}
@media screen and (max-width: 640px)
{
    .lp-btn--secondary span
    {
        font-size: 80%;
    }
}
.lp-btn--secondary:active
{
    transform: translateY(2px);

    box-shadow: 0 2px 0 #6284c6;
}

/* ==============================================================

header

============================================================== */
.lp-header
{
    position: fixed;
    z-index: 10;
    top: 0;
    left: 50%;

    width: 100%;
    max-width: 640px;

    transform: translateX(-50%);
}
@media screen and (max-width: 640px)
{
    .lp-header
    {
        max-width: 100%;
    }
}
.lp-header__inner
{
    position: relative;
    z-index: 10;

    display: flex;

    height: 58px;

    background: #fff;

    align-items: center;
    justify-content: space-between;
    padding-inline: 12px;
}
@media screen and (max-width: 640px)
{
    .lp-header__inner
    {
        height: 12.8vw;

        padding-inline: 4.2666666667vw;
    }
}
.lp-header__menuIcon
{
    position: relative;

    display: block;

    width: 32px;
    height: 24px;
}
@media screen and (max-width: 640px)
{
    .lp-header__menuIcon
    {
        width: 5.8666666667vw;
        height: 3.7333333333vw;
    }
}
.lp-header__menuIcon::before,
.lp-header__menuIcon::after,
.lp-header__menuIcon span
{
    position: absolute;
    left: 0;

    width: 100%;
    height: 2px;

    content: '';
    transition: transform .2s ease, opacity .2s ease;

    background: #6284c6;
}
.lp-header__menuIcon::before
{
    top: 0;
}
.lp-header__menuIcon::after
{
    bottom: 0;
}
.lp-header__menuIcon span
{
    top: 11px;
}
@media screen and (max-width: 640px)
{
    .lp-header__menuIcon span
    {
        top: 1.6vw;
    }
}
.lp-header__title
{
    position: absolute;
    left: 50%;

    max-width: 45%;
    margin: 0;

    transform: translateX(-50%);
}
@media screen and (max-width: 640px)
{
    .lp-header__title
    {
        max-width: 50%;
    }
}
.lp-header__actions
{
    display: flex;

    gap: 10px;
}
@media screen and (max-width: 640px)
{
    .lp-header__actions
    {
        gap: 1.0666666667vw;
    }
}
.lp-header__action
{
    display: grid;

    width: 38px;
    height: 38px;

    text-decoration: none;

    place-items: center;
}
@media screen and (max-width: 640px)
{
    .lp-header__action
    {
        width: 7.4666666667vw;
        height: 7.4666666667vw;
    }
}
.lp-header__icon
{
    display: block;

    width: 38px;
    height: 38px;

    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}
@media screen and (max-width: 640px)
{
    .lp-header__icon
    {
        width: 7.4666666667vw;
        height: 7.4666666667vw;
    }
}
.lp-header__icon--user
{
    background-image: url('../images/top/icon-user.svg');
}
.lp-header__icon--login
{
    background-image: url('../images/top/icon-login.svg');
}

/* =========================
   Hamburger
   ========================= */
.lp-header__menuBtn[aria-expanded=true] .lp-header__menuIcon::before
{
    transform: translateY(11px) rotate(45deg);
}
@media screen and (max-width: 640px)
{
    .lp-header__menuBtn[aria-expanded=true] .lp-header__menuIcon::before
    {
        transform: translateY(1.6vw) rotate(45deg);
    }
}
.lp-header__menuBtn[aria-expanded=true] .lp-header__menuIcon span
{
    opacity: 0;
}
.lp-header__menuBtn[aria-expanded=true] .lp-header__menuIcon::after
{
    transform: translateY(-11px) rotate(-45deg);
}
@media screen and (max-width: 640px)
{
    .lp-header__menuBtn[aria-expanded=true] .lp-header__menuIcon::after
    {
        transform: translateY(-1.6vw) rotate(-45deg);
    }
}

.lp-drawer
{
    position: fixed;
    z-index: 1;
    top: 0;
    left: 0;

    width: 100%;
    height: auto;
    padding: 16px;

    transition: transform .2s ease;
    transform: translateY(-100%);

    background: #fff;
}
@media screen and (max-width: 640px)
{
    .lp-drawer
    {
        width: 100%;
        padding: 4.2666666667vw;
    }
}
.lp-drawer.is-open
{
    top: 58px;

    transform: translateY(0);
}
@media screen and (max-width: 640px)
{
    .lp-drawer.is-open
    {
        top: 12.8vw;
    }
}
.lp-drawer__list
{
    margin: 0;
    padding: 0;

    list-style: none;

    text-align: center;
}
.lp-drawer__item + .lp-drawer__item
{
    margin-top: 10px;
}
@media screen and (max-width: 640px)
{
    .lp-drawer__item + .lp-drawer__item
    {
        margin-top: 2.6666666667vw;
    }
}
.lp-drawer__link
{
    display: block;

    padding: 12px;

    text-decoration: none;

    color: #333;
    border-radius: 8px;
}
@media screen and (max-width: 640px)
{
    .lp-drawer__link
    {
        padding: 3.2vw;

        border-radius: 2.1333333333vw;
    }
}

.lp-mv
{
    margin: 0;
    padding: 0;
}
.lp-mv__img
{
    display: block;

    width: 100%;
    height: auto;
}

/* 外側のコンテナ（ベース） */
.lp-mv
{
    position: relative;

    overflow: hidden;

    width: 100%;
    max-width: 1000px;
    /* サイトのコンテンツ幅に合わせて調整してください */
    margin: 0 auto;
}

/* スライダー本体 */
.lp-mv .swiper
{
    z-index: 1;

    width: 100%;
}

.lp-mv .lp-mv__img
{
    display: block;

    width: 100%;
    height: 440px;

    -o-object-fit: cover;

       object-fit: cover;
}
@media screen and (max-width: 640px)
{
    .lp-mv .lp-mv__img
    {
        height: 64vw;
    }
}

/* 固定オーバーレイ層 */
.lp-mv__overlay
{
    position: absolute;
    z-index: 10;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    text-decoration: none;
}

/* 左下の白いテキスト帯 */
.lp-mv .lp-mv__text-bar
{
    position: absolute;
    bottom: 12%;
    left: 0;
    /* 不透明度高めの白 */

    padding: 12px 20px 12px 20px;
    /* 下からの位置調整 */

    background-color: rgba(255, 255, 255, .95);
    box-shadow: 0 2px 10px rgba(0, 0, 0, .05);
}
@media screen and (max-width: 640px)
{
    .lp-mv .lp-mv__text-bar
    {
        bottom: 6%;
    }
}

/* キャプションテキスト（明朝体） */
.lp-mv .lp-mv__title
{
    font-family: 'Noto Serif JP', 'Shippori Mincho', 'MS Mincho', serif;
    font-size: 28px;
    font-weight: bold;

    margin: 0;

    white-space: nowrap;

    color: #528ac8;
}

/* 右下の「試してみる」丸ボタン */
.lp-mv .lp-mv__btn
{
    position: absolute;
    right: 4%;
    bottom: 4%;

    display: flex;

    width: 110px;
    height: 110px;

    transition: transform .3s ease, background-color .3s ease;
    /* ボタンのブルー */

    border-radius: 50%;
    background-color: #6284c6;
    box-shadow: 0 4px 12px rgba(0, 0, 0, .15);

    align-items: center;
    justify-content: center;
}

/* ボタン内のテキスト（ゴシック体） */
.lp-mv .lp-mv__btn-text
{
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 18px;
    font-weight: bold;
    line-height: 1.3;

    text-align: center;

    color: #fff;
}

/* ── スマホ用の簡易レスポンシブ調整 ── */
@media (max-width: 768px)
{
    .lp-mv .lp-mv__text-bar
    {
        bottom: 6%;

        padding: 8px 10px 8px 10px;
    }

    .lp-mv .lp-mv__title
    {
        font-size: 18px;
    }

    .lp-mv .lp-mv__btn
    {
        right: 3%;
        bottom: 3%;

        width: 80px;
        height: 80px;
    }

    .lp-mv .lp-mv__btn-text
    {
        font-size: 13px;
    }
}
.lp-about
{
    padding: 0 16px 32px;

    text-align: center;
}
@media screen and (max-width: 640px)
{
    .lp-about
    {
        padding: 0vw 16px 8.5333333333vw;
    }
}
.lp-about__lead
{
    line-height: 1.8;
    font-size: 18px;
    text-align: center;
}
.lp-about__lead span
{
    font-size: 120%;
}
.lp-about__movie
{
    margin-top: 24px;
}
@media screen and (max-width: 640px)
{
    .lp-about__movie
    {
        margin-top: 6.4vw;

        /* padding-inline: 4.2666666667vw; */
    }
}
.lp-about__title
{
    width: 80%;
    margin: 40px auto 24px;
}
.lp-about__patent
{
    font-size: 13px;
    line-height: 1.4;

    margin: 24px 0 12px;

    color: #666;
}
.lp-about__patent + .lp-about__title
{
    margin-top: 16px;
}
@media screen and (max-width: 640px)
{
    .lp-about__title
    {
        margin: 6.4vw auto 4.2666666667vw;
    }
    .lp-about__patent
    {
        font-size: 3.2vw;

        margin: 5.3333333333vw 0 2.6666666667vw;
    }
    .lp-about__patent + .lp-about__title
    {
        margin-top: 4.2666666667vw;
    }
}
.lp-about__text
{
    font-family: 'Yu Mincho', '游明朝体', 'YuMincho', 'Hiragino Mincho ProN', 'Hiragino Mincho Pro', 'MS Mincho', serif;
    font-size: 36px;
    font-weight: 500;

    margin-bottom: 8px;

    letter-spacing: .05rem;

    color: #6284c6;
}
@media screen and (max-width: 640px)
{
    .lp-about__text
    {
        font-size: 5.8666666667vw;
        font-weight: 600;

        margin-bottom: 2.1333333333vw;
    }
}
.lp-about__list
{
    width: 80%;
    margin: 0 auto;
    padding: 0;

    list-style: none;

    text-align: left;
}
@media screen and (max-width: 640px)
{
    .lp-about__list
    {
        line-height: 1.5;

        width: 70%;
    }
}
.lp-about__list li:not(:last-child)
{
    margin-bottom: 24px;
}
@media screen and (max-width: 640px)
{
    .lp-about__list li:not(:last-child)
    {
        margin-bottom: 4.2666666667vw;
    }
}
.lp-about__cta
{
    display: flex;

    margin: 40px 0 56px;

    gap: 32px;
    justify-content: center;
}
@media screen and (max-width: 640px)
{
    .lp-about__cta
    {
        margin: 6.4vw 0 8.5333333333vw;

        gap: 3.2vw;
    }
}
.lp-about__cta .lp-btn
{
    width: 300px;
    padding: 8px 4px;
}
@media screen and (max-width: 640px)
{
    .lp-about__cta .lp-btn
    {
        padding: 2.1333333333vw 1.0666666667vw;
    }
}
.lp-about__note
{
    margin-bottom: 40px;
}
@media screen and (max-width: 640px)
{
    .lp-about__note
    {
        line-height: 1.5;

        margin-bottom: 6.4vw;
    }
}

.lp-service__course
{
    padding: 0 16px;
}
@media screen and (max-width: 640px)
{
    .lp-service__course
    {
        padding: 0vw 0;
    }
}
.lp-service__course-container
{
    display: flex;

    box-sizing: border-box;
    width: 100%;
    margin: 0 auto;

    gap: 24px;
}
@media screen and (max-width: 640px)
{
    .lp-service__course-container
    {
        flex-direction: column;

        padding: 0 4.2666666667vw;

        gap: 4.2666666667vw;
    }
}
.lp-service__course-card
{
    display: flex;
    overflow: hidden;
    flex-direction: column;

    box-sizing: border-box;

    transition: opacity .2s ease;
    text-decoration: none;

    border: 1px solid #e2e8f0;
    border-radius: 6px;
    background-color: #fff;

    flex: 1;
}
.lp-service__course-card:hover
{
    opacity: .8;
}
.lp-service__course-card--left .lp-service__course-text
{
    margin: 16px;

    color: #fff;
    border-radius: 6px;
    background-color: #528ac8;
}
.lp-service__course-card--right .lp-service__course-text
{
    margin: 16px;

    color: #fff;
    border-radius: 6px;
    background-color: #528ac8;
}
.lp-service__course__course-img
{
    width: 100%;
}
.lp-service__course__course-img img
{
    display: block;

    width: 100%;
    height: auto;
}
.lp-service__course__course-text
{
    font-size: 14px;
    font-weight: bold;

    display: flex;

    box-sizing: border-box;
    width: calc(100% - 32px);
    margin: 16px auto;
    padding: 10px 12px;

    white-space: nowrap;

    border-radius: 6px;

    align-items: center;
    justify-content: center;
    gap: 12px;
}
.lp-service__course__course-arrow
{
    font-size: 11px;

    display: inline-block;

    transform: scaleX(.8);
    letter-spacing: -1px;
}
.lp-service__course-img
{
    overflow: hidden;

    width: 100%;

    aspect-ratio: 4/3;
}
.lp-service__course-img img
{
    display: block;

    width: 100%;
    height: 100%;

    -o-object-fit: cover;

       object-fit: cover;
}
.lp-service__course-text
{
    font-family: 'Noto Sans JP', 'Noto Sans', sans-serif;
    font-size: 18px;
    font-weight: bold;

    display: flex;

    padding: 16px 8px;

    text-align: center;
    letter-spacing: .05em;

    justify-content: center;
    align-items: center;
    gap: 8px;
}
@media screen and (max-width: 640px)
{
    .lp-service__course-text
    {
        font-size: 5.3333333333vw;

        padding: 4.2666666667vw;

        gap: 1.6vw;
    }
}
.lp-service__course-arrow
{
    font-size: 14px;
}
@media screen and (max-width: 640px)
{
    .lp-service__course-arrow
    {
        font-size: 2.9333333333vw;
    }
}

.lp-compare
{
    position: relative;

    padding: 24px 0;

    background: #dff0fb;
}
@media screen and (max-width: 640px)
{
    .lp-compare
    {
        padding: 4.2666666667vw 0vw;
    }
}
.lp-compare::after
{
    position: absolute;
    top: -20px;
    left: 50%;

    width: 0;
    height: 0;

    content: '';
    transform: translateX(-50%);

    border-top: 48px solid #6284c6;
    border-right: 26px solid transparent;
    border-left: 26px solid transparent;
}
@media screen and (max-width: 640px)
{
    .lp-compare::after
    {
        top: -2.1333333333vw;

        border-top: 8vw solid #6284c6;
        border-right: 5.3333333333vw solid transparent;
        border-left: 5.3333333333vw solid transparent;
    }
}
.lp-compare__inner
{
    max-width: 640px;

    margin-inline: auto;
}
@media screen and (max-width: 640px)
{
    .lp-compare__inner
    {
        max-width: 100%;
    }
}

.lp-compare__head
{
    position: relative;

    padding-top: 72px;

    text-align: center;
}
@media screen and (max-width: 640px)
{
    .lp-compare__head
    {
        padding-top: 10.6666666667vw;
    }
}

.lp-compare__topArrow
{
    width: 0;
    height: 0;
    margin: 0 auto 12px;

    border-top: 26px solid #6284c6;
    border-right: 18px solid transparent;
    border-left: 18px solid transparent;
}
@media screen and (max-width: 640px)
{
    .lp-compare__topArrow
    {
        margin-bottom: 3.2vw;

        border-top: 6.9333333333vw solid #6284c6;
        border-right: 4.8vw solid transparent;
        border-left: 4.8vw solid transparent;
    }
}

.lp-compare__balloon
{
    position: absolute;
    top: 0;
    left: 10%;

    width: 22%;
}
@media screen and (max-width: 640px)
{
    .lp-compare__balloon
    {
        top: 0;
        left: 0;

        width: 25%;
    }
}

.lp-compare__title
{
    font-size: 26px;
    font-weight: 500;

    margin: 0;

    letter-spacing: .08em;

    color: #6284c6;
}
@media screen and (max-width: 640px)
{
    .lp-compare__title
    {
        font-size: 5.3333333333vw;
        font-weight: 600;
    }
}

.lp-compare__note
{
    font-size: 16px;

    margin: 8px 0 16px;
}
@media screen and (max-width: 640px)
{
    .lp-compare__note
    {
        font-size: 4.2666666667vw;

        margin: 2.1333333333vw 0 3.2vw;
    }
}

.lp-compare__cards
{
    display: grid;

    grid-template-columns: 1fr 1fr;
    gap: 8px;
}
@media screen and (max-width: 640px)
{
    .lp-compare__cards
    {
        margin-top: 0vw;

        gap: 1.0666666667vw;
    }
}

.lp-compare-card
{
    min-width: 0;
}

.lp-compare-card__wrap
{
    box-sizing: border-box;
}

.lp-compare-card__headText img
{
    display: block;

    max-width: 100%;
    height: auto;
}

.lp-compare-card__wrap
{
    border: 4px solid;
    border-radius: 8px;
    background: #fff;
}
@media screen and (max-width: 640px)
{
    .lp-compare-card__wrap
    {
        border: .5333333333vw solid;
        border-radius: 2.1333333333vw;
    }
}
.lp-compare-card__head
{
    font-weight: 400;

    display: flex;

    height: 100px;
    padding: 0 16px;

    text-align: center;

    color: #fff;

    justify-content: center;
    align-items: center;
}
@media screen and (max-width: 640px)
{
    .lp-compare-card__head
    {
        height: 21.3333333333vw;
        padding: 0vw 2.1333333333vw;
    }
}
.lp-compare-card__headText
{
    font-size: 22px;
    line-height: 1.2;

    margin: 0;

    letter-spacing: .06em;
}
@media screen and (max-width: 640px)
{
    .lp-compare-card__headText
    {
        font-size: 3.7333333333vw;
    }
}
.lp-compare-card__body
{
    padding: 4px 2px 8px;

    border-radius: 8px;
    background: #fff;
}
@media screen and (max-width: 640px)
{
    .lp-compare-card__body
    {
        padding: 1.0666666667vw 0vw 2.1333333333vw;

        border-radius: 2.1333333333vw;
    }
}
.lp-compare-card__cols
{
    display: grid;

    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
}
.lp-compare-card__col
{
    padding: 10px 6px 8px;

    text-align: center;

    border-right: 1px dotted #646464;
}
@media screen and (max-width: 640px)
{
    .lp-compare-card__col
    {
        padding: 1.0666666667vw 0vw 1.0666666667vw;

        border-right-width: .2666666667vw;
    }
}
.lp-compare-card__col:last-child
{
    border-right: 0;
}
.lp-compare-card__icon
{
    width: 30px;
    height: 30px;
    margin: 0 auto 8px;

    border-radius: 6px;
    background-repeat: no-repeat;
    background-size: contain;
}
@media screen and (max-width: 640px)
{
    .lp-compare-card__icon
    {
        width: 5.8666666667vw;
        height: 5.8666666667vw;
        margin-bottom: 1.0666666667vw;

        border-radius: 1.6vw;
    }
}
.lp-compare-card__label
{
    font-size: 18px;
    font-weight: 400;

    margin: 0;
}
@media screen and (max-width: 640px)
{
    .lp-compare-card__label
    {
        font-size: 2.6666666667vw;
    }
}
.lp-compare-card__price
{
    font-size: 18px;
    font-weight: 500;

    margin: 6px 0 0;
}
@media screen and (max-width: 640px)
{
    .lp-compare-card__price
    {
        font-size: 2.6666666667vw;
        font-weight: 600;

        margin-top: 1.6vw;
    }
}
.lp-compare-card__price span
{
    font-size: 70%;
}
.lp-compare-card__sub
{
    font-size: 11px;
    font-weight: 500;

    margin: 4px 0 0;
}
@media screen and (max-width: 640px)
{
    .lp-compare-card__sub
    {
        font-size: 1.8666666667vw;
        font-weight: 600;

        margin-top: 1.0666666667vw;
    }
}
.lp-compare-card__sub span
{
    font-size: 70%;
}
.lp-compare-card--blue .lp-compare-card__wrap
{
    border-color: #6284c6;
}
.lp-compare-card--orange .lp-compare-card__wrap
{
    border-color: #d95a10;
}
.lp-compare-card--blue .lp-compare-card__head
{
    background: #6284c6;
}
.lp-compare-card--orange .lp-compare-card__head
{
    background: #d95a10;
}
.lp-compare-card__icon--gift
{
    background-image: url('../images/top/icon-blue-gift.svg');
}
.lp-compare-card__icon--sweet
{
    background-image: url('../images/top/icon-blue-sweet.svg');
}
.lp-compare-card__icon--lucky
{
    background-image: url('../images/top/icon-blue-lucky.svg');
}
.lp-compare-card--orange .lp-compare-card__icon--gift
{
    background-image: url('../images/top/icon-red-gift.svg');
}
.lp-compare-card--orange .lp-compare-card__icon--sweet
{
    background-image: url('../images/top/icon-red-sweet.svg');
}
.lp-compare-card--orange .lp-compare-card__icon--lucky
{
    background-image: url('../images/top/icon-red-lucky.svg');
}

.lp-compare-total
{
    position: relative;

    padding-top: 24px;

    text-align: center;
}
@media screen and (max-width: 640px)
{
    .lp-compare-total
    {
        padding-top: 4.2666666667vw;
    }
}
.lp-compare-total::after
{
    position: absolute;
    top: 20px;
    left: 50%;

    width: 0;
    height: 0;

    content: '';
    transform: translateX(-50%);

    border-top: 22px solid #6284c6;
    border-right: 22px solid transparent;
    border-left: 22px solid transparent;
}
@media screen and (max-width: 640px)
{
    .lp-compare-total::after
    {
        top: 2.1333333333vw;

        border-top: 4.8vw solid #6284c6;
        border-right: 4.2666666667vw solid transparent;
        border-left: 4.2666666667vw solid transparent;
    }
}
.lp-compare-total__value
{
    font-size: 32px;
    font-weight: 500;

    margin: 32px 0 0 0;
}
@media screen and (max-width: 640px)
{
    .lp-compare-total__value
    {
        font-size: 5.3333333333vw;
        font-weight: 600;

        margin: 5.3333333333vw 0 0 0;
    }
}
.lp-compare-total__value span
{
    font-size: 60%;
}
.lp-compare-total__sub
{
    font-size: 14px;
    font-weight: 400;

    margin: 8px 0 0;
}
@media screen and (max-width: 640px)
{
    .lp-compare-total__sub
    {
        font-size: 2.6666666667vw;

        margin-top: 1.0666666667vw;
    }
}
.lp-compare-total__sub span
{
    font-size: 60%;
}

.lp-compare-card--orange .lp-compare-total::after
{
    border-top-color: #d75610;
}

.lp-compare__midArrow
{
    width: 0;
    height: 0;
    margin: 8px auto 16px;

    border-top: 18px solid #ff0010;
    border-right: 18px solid transparent;
    border-left: 18px solid transparent;
}
@media screen and (max-width: 640px)
{
    .lp-compare__midArrow
    {
        margin: 2.1333333333vw auto 2.1333333333vw;

        border-top: 4.8vw solid #ff0010;
        border-right: 4.2666666667vw solid transparent;
        border-left: 4.2666666667vw solid transparent;
    }
}

.lp-compare__lead
{
    font-size: 24px;

    margin: 0;
    margin-bottom: 12px;

    text-align: center;
}
@media screen and (max-width: 640px)
{
    .lp-compare__lead
    {
        font-size: 5.3333333333vw;
        line-height: 1.5;

        margin-bottom: 2.1333333333vw;
    }
}

.lp-compare__save
{
    max-width: 400px;
    margin: 0 auto;
}
@media screen and (max-width: 640px)
{
    .lp-compare__save
    {
        max-width: 80%;
    }
}

.lp-compare__foot
{
    font-size: 18px;
    line-height: 1.5;

    margin: 40px 0 0;

    text-align: center;
}
@media screen and (max-width: 640px)
{
    .lp-compare__foot
    {
        font-size: 3.7333333333vw;

        margin-top: 6.4vw;
    }
}

.lp-point
{
    padding: 40px 0 56px;

    background: #fff;
}
@media screen and (max-width: 640px)
{
    .lp-point
    {
        padding: 6.4vw 0vw 8.5333333333vw;
    }
}
.lp-point img
{
    display: block;

    width: 100%;
    height: auto;
}
.lp-point__head
{
    display: flex;
    flex-direction: column;

    align-items: center;
}
.lp-point__leadTitle
{
    font-family: 'Yu Mincho', '游明朝体', 'YuMincho', 'Hiragino Mincho ProN', 'Hiragino Mincho Pro', 'MS Mincho', serif;
    font-size: 32px;
    font-weight: 500;

    margin: 0 0 8px 0;

    text-align: center;
    letter-spacing: .05rem;

    color: #6284c6;
}
@media screen and (max-width: 640px)
{
    .lp-point__leadTitle
    {
        font-size: 5.8666666667vw;
        font-weight: 600;

        margin: 0 0 1.0666666667vw 0;
    }
}
.lp-point__leadText
{
    font-size: 18px;
    line-height: 1.5;

    margin: 20px 0 0;
}
@media screen and (max-width: 640px)
{
    .lp-point__leadText
    {
        font-size: 3.7333333333vw;

        margin-top: 4.8vw;
    }
}
.lp-point__photo
{
    margin: 32px -16px 0;
}
@media screen and (max-width: 640px)
{
    .lp-point__photo
    {
        margin: 5.3333333333vw -4.2666666667vw 0;
    }
}
.lp-point__body
{
    padding-top: 24px;
}
@media screen and (max-width: 640px)
{
    .lp-point__body
    {
        padding: 5.3333333333vw 0 2.1333333333vw;
    }
}
.lp-point__title
{
    font-size: 24px;
    font-weight: 500;

    margin: 0;

    text-align: center;
    letter-spacing: .08em;

    color: #6284c6;
}
@media screen and (max-width: 640px)
{
    .lp-point__title
    {
        font-size: 4.8vw;
        font-weight: 600;
    }
}
.lp-point__text
{
    font-size: 20px;
    line-height: 1.5;

    max-width: 90%;
    margin: 0 auto;
    margin-top: 16px;
}
@media screen and (max-width: 640px)
{
    .lp-point__text
    {
        font-size: 4.2666666667vw;

        max-width: 100%;
        margin-top: 4.2666666667vw;
    }
}
.lp-point__cta
{
    display: flex;

    margin-top: 24px;

    justify-content: center;
}
@media screen and (max-width: 640px)
{
    .lp-point__cta
    {
        margin-top: 4.2666666667vw;
    }
}
.lp-point__closing
{
    font-family: 'Yu Mincho', '游明朝体', 'YuMincho', 'Hiragino Mincho ProN', 'Hiragino Mincho Pro', 'MS Mincho', serif;
    font-size: 36px;
    font-weight: 500;
    line-height: 1.5;

    margin-top: 16px;

    text-align: center;
    letter-spacing: .05rem;

    color: #6284c6;
}
@media screen and (max-width: 640px)
{
    .lp-point__closing
    {
        font-size: 5.8666666667vw;
        font-weight: 600;

        margin-top: 4.2666666667vw;
    }
}

/* ==========================================
   3. ご利用いただいたお客様の様子（横スクロールなし）
========================================== */
.lp-user
{
    padding: 0 16px 56px;

    background: #fff;
}
@media screen and (max-width: 640px)
{
    .lp-user
    {
        padding: 0vw 16px 14.9333333333vw;
    }
}

.lp-user__title
{
    font-size: 32px;
    line-height: 1.3;

    display: table;

    margin: 0 0 24px;
    margin-right: auto;
    margin-left: auto;
    padding-bottom: 8px;

    text-align: center;
    letter-spacing: .05em;

    color: #6284c6;
    border-bottom: 2px solid #6284c6;
}
@media screen and (max-width: 640px)
{
    .lp-user__title
    {
        font-size: 5.8666666667vw;

        margin-bottom: 6.4vw;
        padding-bottom: 1.0666666667vw;

        border-bottom-width: .5333333333vw;
    }
}

.lp-user__titleSub
{
    font-size: 20px;
    font-weight: normal;
    line-height: 1.6;

    display: block;

    margin-bottom: 32px;

    text-align: center;

    border: none;
}
@media screen and (max-width: 640px)
{
    .lp-user__titleSub
    {
        font-size: 4.2666666667vw;

        margin-bottom: 6.4vw;
    }
}

.lp-user__list
{
    display: grid;

    grid-template-columns: repeat(3, 1fr);
    justify-content: center;
    -moz-column-gap: 24px;
         column-gap: 24px;
    row-gap: 40px;
}
@media screen and (max-width: 640px)
{
    .lp-user__list
    {
        /* padding: 0 5.3333333333vw; */

        grid-template-columns: repeat(2, 1fr);
        -moz-column-gap: 4.2666666667vw;
             column-gap: 4.2666666667vw;
        row-gap: 6.4vw;
    }
}

.lp-user-card
{
    display: flex;
    flex-direction: column;

    width: 100%;

    align-items: center;
}
.lp-user-card__media
{
    overflow: hidden;

    width: 100%;

    cursor: pointer;
}
.lp-user-card__media img
{
    display: block;

    width: 100%;
    height: auto;

    -o-object-fit: cover;

       object-fit: cover;
    aspect-ratio: 1/1;
}
.lp-user-card__text
{
    font-size: 14px;
    line-height: 1.4;

    margin: 16px 0 12px;

    text-align: center;

    color: #333;
}
@media screen and (max-width: 640px)
{
    .lp-user-card__text
    {
        font-size: 3.2vw;

        margin: 3.2vw 0 2.1333333333vw;
    }
}
.lp-user-card__btn
{
    width: 100%;
    /* max-width: 160px; */
}

.lp-user-modal__body
{
    padding: 8px 14px 36px;

    color: #333;
    background: #fff;
}
@media screen and (max-width: 640px)
{
    .lp-user-modal__body
    {
        padding: 2.1333333333vw 3.7333333333vw 9.6vw;
    }
}

.lp-user-modal__main img
{
    display: block;

    width: 100%;

    aspect-ratio: 1.2/1;
    -o-object-fit: cover;
       object-fit: cover;
}
.lp-user-modal--ka .lp-user-modal__main img
{
    aspect-ratio: 1.45/1;
    object-position: center center;
}

.lp-user-modal__count
{
    font-size: 14px;
    line-height: 1;

    display: flex;

    margin: 22px 0 18px;

    text-align: center;

    color: #333;

    align-items: center;
    justify-content: center;
    gap: 8px;
}
@media screen and (max-width: 640px)
{
    .lp-user-modal__count
    {
        font-size: 3.7333333333vw;

        margin: 5.8666666667vw 0 4.8vw;
    }
}

.lp-user-modal__pager
{
    font-size: 14px;
    line-height: 1;

    padding: 4px;

    cursor: pointer;

    color: #333;
}
@media screen and (max-width: 640px)
{
    .lp-user-modal__pager
    {
        font-size: 3.7333333333vw;

        padding: 1.0666666667vw;
    }
}

.lp-user-modal__thumbs
{
    display: grid;

    grid-template-columns: repeat(4, 1fr);
    gap: 8px 6px;
}
@media screen and (max-width: 640px)
{
    .lp-user-modal__thumbs
    {
        gap: 2.1333333333vw 1.6vw;
    }
}

.lp-user-modal__thumb
{
    overflow: hidden;

    cursor: pointer;
    transition: border-color .2s ease, opacity .2s ease;

    border: 2px solid transparent;
}
.lp-user-modal__thumb img
{
    display: block;

    width: 100%;

    aspect-ratio: 1.32/1;
    -o-object-fit: cover;
       object-fit: cover;
}
.lp-user-modal--ka .lp-user-modal__thumb img
{
    object-position: center center;
}
.lp-user-modal__thumb:hover
{
    opacity: .75;
}
.lp-user-modal__thumb.is-active
{
    border-color: #6284c6;
}

.lp-user-modal__content
{
    margin-top: 48px;
}
@media screen and (max-width: 640px)
{
    .lp-user-modal__content
    {
        margin-top: 12.8vw;
    }
}

.lp-user-modal__couple
{
    font-size: 14px;
    font-weight: 700;
    line-height: 1.5;

    margin: 0 0 10px;
}
@media screen and (max-width: 640px)
{
    .lp-user-modal__couple
    {
        font-size: 3.7333333333vw;

        margin-bottom: 2.6666666667vw;
    }
}

.lp-user-modal__title
{
    font-family: 'Yu Mincho', '游明朝体', 'YuMincho', 'Hiragino Mincho ProN', 'Hiragino Mincho Pro', 'MS Mincho', serif;
    font-size: 20px;
    font-weight: 900;
    line-height: 1.5;

    margin: 0 0 14px;

    letter-spacing: .05rem;

    color: #b3ac8e;
}
@media screen and (max-width: 640px)
{
    .lp-user-modal__title
    {
        font-size: 4.8vw;

        margin-bottom: 5.3333333333vw;
    }
}

.lp-user-modal__text
{
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 14px;
    line-height: 1.6;

    margin: 0;
}
@media screen and (max-width: 640px)
{
    .lp-user-modal__text
    {
        font-size: 3.7333333333vw;
    }
}

.lp-user-modal__movie
{
    margin-top: 36px;

    text-align: center;
}
@media screen and (max-width: 640px)
{
    .lp-user-modal__movie
    {
        margin-top: 9.6vw;
    }
}

.lp-user-modal__movieBtn
{
    display: inline-block;

    width: 200px;
}
@media screen and (max-width: 640px)
{
    .lp-user-modal__movieBtn
    {
        width: 42.6666666667vw;
    }
}
.lp-user-modal__movieBtn img
{
    display: block;

    width: 100%;
    height: auto;
}
.lp-user-modal__movie--stack
{
    display: flex;
    flex-direction: column;

    align-items: center;
    gap: 18px;
}
@media screen and (max-width: 640px)
{
    .lp-user-modal__movie--stack
    {
        gap: 4.8vw;
    }
}

/* ==========================================
   引出物コース一覧（リボン付き・カラー連動修正版）
========================================== */
.lp-lineup
{
    padding: 80px 0 40px;

    background: url('../images/top/bg.jpg');
}
@media screen and (max-width: 640px)
{
    .lp-lineup
    {
        padding: 10.6666666667vw 0vw 10.6666666667vw;
    }
}

.lp-lineup__title
{
    font-size: 20px;
    font-weight: 500;
    line-height: 1.4;

    margin: 0;

    text-align: center;
    letter-spacing: .08em;

    color: #b3ac8e;
}
@media screen and (max-width: 640px)
{
    .lp-lineup__title
    {
        font-size: 5.3333333333vw;
        font-weight: 600;
    }
}

.lp-lineup__titleMain
{
    font-size: 32px;

    display: inline-block;

    margin-top: 2px;
    padding: 0 16px 4px;
}
@media screen and (max-width: 640px)
{
    .lp-lineup__titleMain
    {
        font-size: 7.4666666667vw;

        margin-top: 0vw;
        padding: 0 4.2666666667vw 1.0666666667vw;

        border-bottom-width: .5333333333vw;
    }
}

.lp-lineup__slider
{
    position: relative;

    margin-top: 24px;
}
@media screen and (max-width: 640px)
{
    .lp-lineup__slider
    {
        margin-top: 4.2666666667vw;
    }
}

.lp-lineup__list
{
    display: flex;
    overflow-x: auto;

     margin-left: -16px;
  margin-right: -16px;
    padding: 0 40px 24px;

    white-space: nowrap;

    -moz-column-gap: 24px;

         column-gap: 24px;
    row-gap: 0;
    -webkit-overflow-scrolling: touch;
    -ms-scroll-snap-type: x mandatory;
        scroll-snap-type: x mandatory;
    -ms-overflow-style: none;
    scrollbar-width: none;
}
.lp-lineup__list::-webkit-scrollbar
{
    display: none;
}
@media screen and (max-width: 640px)
{
    .lp-lineup__list
    {
        margin-right: -5.3333333333vw;
        margin-left: -5.3333333333vw;
        padding: 0 5.3333333333vw 4.2666666667vw;

        -moz-column-gap: 3.2vw;

             column-gap: 3.2vw;
    }
}

.lp-lineup__nav
{
    position: absolute;
    z-index: 2;
    top: 50%;
    right: -8px;
    left: -8px;

    display: flex;

    transform: translateY(calc(-50% - 12px));
    pointer-events: none;

    align-items: center;
    justify-content: space-between;
}
@media screen and (max-width: 640px)
{
    .lp-lineup__nav
    {
        right: -2.1333333333vw;
        left: -2.1333333333vw;

        transform: translateY(calc(-50% - 2.1333333333vw));
    }
}

.lp-lineup__arrow
{
    font-family: 'Noto Sans JP', 'Noto Sans', sans-serif;
    font-size: 22px;
    font-weight: 700;
    line-height: 1;

    display: grid;

    width: 44px;
    height: 44px;

    transition: opacity .2s ease, transform .2s ease, box-shadow .2s ease;
    pointer-events: auto;

    color: #b3ac8e;
    border: 1px solid #b3ac8e;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 2px 0 rgba(76, 73, 72, .16);

    place-items: center;
}
@media screen and (max-width: 640px)
{
    .lp-lineup__arrow
    {
        font-size: 5.3333333333vw;

        width: 10.6666666667vw;
        height: 10.6666666667vw;

        box-shadow: 0 .5333333333vw 0 rgba(76, 73, 72, .16);
    }
}
.lp-lineup__arrow:hover
{
    opacity: .7;
}
.lp-lineup__arrow:active
{
    transform: translateY(2px);

    box-shadow: 0 1px 0 rgba(76, 73, 72, .16);
}
@media screen and (max-width: 640px)
{
    .lp-lineup__arrow:active
    {
        transform: translateY(.5333333333vw);

        box-shadow: 0 .2666666667vw 0 rgba(76, 73, 72, .16);
    }
}

.lp-lineup-card
{
    display: flex;
    overflow: hidden;
    flex-direction: column;

    width: 290px;

    border-radius: 24px;

    justify-content: space-between;
    flex-shrink: 0;
    scroll-snap-align: center;
}
@media screen and (max-width: 640px)
{
    .lp-lineup-card
    {
        width: 82%;

        border-radius: 4.2666666667vw;
    }
}
.lp-lineup-card__body
{
    font-family: 'Noto Sans JP', 'Noto Sans', sans-serif;

    position: relative;

    padding: 32px 16px 24px;
}
@media screen and (max-width: 640px)
{
    .lp-lineup-card__body
    {
        padding: 8.5333333333vw 4.2666666667vw 6.4vw;
    }
}
.lp-lineup-card__media
{
    display: grid;

    box-sizing: border-box;
    padding: 0 8px 24px;

    border: 2px solid #e2e8f0;

    grid-template-columns: repeat(3, 1fr);
    gap: 2px;
}
@media screen and (max-width: 640px)
{
    .lp-lineup-card__media
    {
        padding: 0 4.2666666667vw 4.2666666667vw;
    }
}
.lp-lineup-card__media-item
{
    background-color: #fff;
}
.lp-lineup-card__media-item img
{
    display: block;

    width: 100%;
    height: auto;
}
.lp-lineup-card__name
{
    font-size: 24px;
    font-weight: 600;

    margin: 32px 0 0 0;
}
@media screen and (max-width: 640px)
{
    .lp-lineup-card__name
    {
        font-size: 6.4vw;

        margin: 6.4vw 0 0 0;
    }
}
.lp-lineup-card__detail
{
    font-size: 13px;
    line-height: 1.6;

    display: block;

    margin-top: 16px;

    color: #444;
}
@media screen and (max-width: 640px)
{
    .lp-lineup-card__detail
    {
        font-size: 3.4666666667vw;

        margin-top: 4.2666666667vw;
    }
}
.lp-lineup-card__set
{
    font-size: 15px;
    font-weight: 500;
    line-height: 1.55;

    margin: 0;
}
@media screen and (max-width: 640px)
{
    .lp-lineup-card__set
    {
        font-size: 3.7333333333vw;
    }
}
.lp-lineup-card__setTitle
{
    font-weight: 700;

    display: block;
}
.lp-lineup-card__col
{
    line-height: 1.2;

    display: flex;
    flex-direction: column;

    gap: 2px;
}
.lp-lineup-card__line
{
    white-space: nowrap;
}
.lp-lineup-card__or
{
    font-size: 10px;

    margin-right: 4px;

    color: #666;
}
@media screen and (max-width: 640px)
{
    .lp-lineup-card__or
    {
        font-size: 2.6666666667vw;
    }
}
.lp-lineup-card__altItem
{
    font-weight: 500;
}
.lp-lineup-card__price
{
    font-size: 16px;
    font-weight: bold;

    margin: 16px 0;

    text-align: right;

    color: #333;
}
@media screen and (max-width: 640px)
{
    .lp-lineup-card__price
    {
        font-size: 4.2666666667vw;

        margin: 4.2666666667vw 0;
    }
}
.lp-lineup-card__priceNum
{
    font-size: 36px;
    font-weight: bold;

    margin: 0 2px;
}
@media screen and (max-width: 640px)
{
    .lp-lineup-card__priceNum
    {
        font-size: 8.5333333333vw;
    }
}
.lp-lineup-card__btn
{
    font-size: 16px;
    font-weight: bold;

    display: block;

    width: auto;
    max-width: 200px;
    margin: 0 auto;
    padding: 12px 0;

    transition: all .2s;
    text-align: center;
    text-decoration: none;

    color: #fff;
    border-radius: 8px;
    background: #6284c6;
    box-shadow: 0 1px 0 #1b3a5b;
}
@media screen and (max-width: 640px)
{
    .lp-lineup-card__btn
    {
        font-size: 3.4666666667vw;
        font-weight: 600;
        max-width: 100%;

        padding: 2.6666666667vw 0;

        border-radius: 1.6vw;
        box-shadow: 0 .8vw 0 #1b3a5b;
    }
}
.lp-lineup-card__btn:active
{
    transform: translateY(3px);

    box-shadow: 0 1px 0 #1b3a5b;
}
@media screen and (max-width: 640px)
{
    .lp-lineup-card__btn:active
    {
        transform: translateY(.5333333333vw);

        box-shadow: 0 .2666666667vw 0 #1b3a5b;
    }
}
.lp-lineup-card__badge
{
    font-size: 14px;
    font-weight: bold;
    line-height: 1;

    position: absolute;
    z-index: 1;
    top: 24px;
    left: 16px;

    padding: 6px 16px 6px 12px;

    color: #fff;
}
.lp-lineup-card__badge::before
{
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    content: '';

    background-color: transparent;
}
.lp-lineup-card__badge::after
{
    position: absolute;
    top: 0;
    right: -12px;

    content: '';

    border-width: 13px 0 13px 12px;
    border-style: solid;
    border-color: transparent transparent transparent transparent;
}
@media screen and (max-width: 640px)
{
    .lp-lineup-card__badge
    {
        font-size: 2.9333333333vw;

        top: 6.4vw;

        display: inline-flex;

        padding: 1.0666666667vw 3.2vw 1.0666666667vw 2.1333333333vw;

        align-items: center;
    }
    .lp-lineup-card__badge::after
    {
        right: -2.1333333333vw;

        border-width: 2.4vw 0 2.4vw 2.1333333333vw;
    }
}
.lp-lineup-card--aqua
{
    background: #d7e3f1;
}
.lp-lineup-card--aqua .lp-lineup-card__badge::before
{
    background-color: #4a7cbd;
}
.lp-lineup-card--aqua .lp-lineup-card__badge::after
{
    border-left-color: #4a7cbd;
}
.lp-lineup-card--luna
{
    background: #d1e2da;
}
.lp-lineup-card--luna .lp-lineup-card__badge::before
{
    background-color: #62937a;
}
.lp-lineup-card--luna .lp-lineup-card__badge::after
{
    border-left-color: #62937a;
}
.lp-lineup-card--serna
{
    background: #f7ede2;
}
.lp-lineup-card--serna .lp-lineup-card__badge::before
{
    background-color: #e2b36e;
}
.lp-lineup-card--serna .lp-lineup-card__badge::after
{
    border-left-color: #e2b36e;
}
.lp-lineup-card--beruka
{
    background: rgba(199, 181, 204, .54);
}
.lp-lineup-card--beruka .lp-lineup-card__badge::before
{
    background-color: #a9a1a9;
}
.lp-lineup-card--beruka .lp-lineup-card__badge::after
{
    border-left-color: #ad99ae;
}
.lp-lineup-card--mirasu
{
    background: rgba(248, 201, 201, .54);
}
.lp-lineup-card--mirasu .lp-lineup-card__badge::before
{
    background-color: #dfa4ad;
}
.lp-lineup-card--mirasu .lp-lineup-card__badge::after
{
    border-left-color: #dfa4ad;
}
.lp-lineup-card--topaz
{
    background: #f5ece2;
}
.lp-lineup-card--topaz .lp-lineup-card__badge::before
{
    background-color: #c88d3a;
}
.lp-lineup-card--topaz .lp-lineup-card__badge::after
{
    border-left-color: #c88d3a;
}
.lp-lineup-card--citrine
{
    background: #faf6e5;
}
.lp-lineup-card--citrine .lp-lineup-card__badge::before
{
    background-color: #c8b46f;
}
.lp-lineup-card--citrine .lp-lineup-card__badge::after
{
    border-left-color: #c8b46f;
}
.lp-lineup-card--amethyst
{
    background: #f2eff5;
}
.lp-lineup-card--amethyst .lp-lineup-card__badge::before
{
    background-color: #a7a0b2;
}
.lp-lineup-card--amethyst .lp-lineup-card__badge::after
{
    border-left-color: #a7a0b2;
}
.lp-lineup-card--garnet
{
    background: #f6ebe9;
}
.lp-lineup-card--garnet .lp-lineup-card__badge::before
{
    background-color: #c18078;
}
.lp-lineup-card--garnet .lp-lineup-card__badge::after
{
    border-left-color: #c18078;
}
.lp-lineup-card--emerald
{
    background: #eff6f1;
}
.lp-lineup-card--emerald .lp-lineup-card__badge::before
{
    background-color: #aad0b5;
}
.lp-lineup-card--emerald .lp-lineup-card__badge::after
{
    border-left-color: #aad0b5;
}
.lp-lineup-card--coral
{
    background: #fbf0ef;
}
.lp-lineup-card--coral .lp-lineup-card__badge::before
{
    background-color: #f1bcba;
}
.lp-lineup-card--coral .lp-lineup-card__badge::after
{
    border-left-color: #f1bcba;
}
.lp-lineup-card--sapphire
{
    background: #e9f2fa;
}
.lp-lineup-card--sapphire .lp-lineup-card__badge::before
{
    background-color: #619bd3;
}
.lp-lineup-card--sapphire .lp-lineup-card__badge::after
{
    border-left-color: #619bd3;
}
.lp-lineup-card--deneb
{
    background: #e5e0cb;
}
.lp-lineup-card--deneb .lp-lineup-card__badge::before
{
    background-color: #9c9985;
}
.lp-lineup-card--deneb .lp-lineup-card__badge::after
{
    border-left-color: #9c9985;
}

.lp-steps
{
    margin-bottom: 20px;
    padding: 40px 0;

    text-align: center;

    background-color: #f4f1e7;
}
@media screen and (max-width: 640px)
{
    .lp-steps
    {
        padding: 6.4vw 0vw;
    }
}
.lp-steps__title
{
    font-size: 32px;
    font-weight: 500;

    position: relative;

    display: inline-block;

    margin: 0;
    padding: 0 16px 12px;

    color: #6284c6;
}
@media screen and (max-width: 640px)
{
    .lp-steps__title
    {
        font-size: 5.3333333333vw;
        font-weight: 600;

        padding: 0 2.1333333333vw 2.6666666667vw;
    }
}
.lp-steps__title::after
{
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;

    height: 2px;

    content: '';

    background: #6284c6;
}
@media screen and (max-width: 640px)
{
    .lp-steps__title::after
    {
        height: .5333333333vw;
    }
}
.lp-steps__list
{
    display: grid;

    margin: 40px 0 0;
    padding: 0;

    list-style: none;

    text-align: left;

    row-gap: 24px;
}
@media screen and (max-width: 640px)
{
    .lp-steps__list
    {
        margin-top: 5.8666666667vw;

        row-gap: 6.4vw;
    }
}
.lp-steps__item
{
    position: relative;
}
.lp-steps__cta
{
    margin-top: 24px;
}
@media screen and (max-width: 640px)
{
    .lp-steps__cta
    {
        margin-top: 4.2666666667vw;
    }
}

.lp-steps__boxtitle
{
    background: #6284c6;
    width:70%;
    margin: 0 auto;
    text-align: center;
    color:white;
    font-weight: bold;
    padding: 0.5em 0;
}
.lp-steps__linkbox
{
    background: white;
    width:70%;
    border: 1px solid #6284c6;
    margin: 0 auto;
}
.lp-steps__boxlist
{
    margin: 0 auto;
    text-align: center;
    font-weight: bold;
    margin:1em 0;
}
.lp-steps__listlink
{
    font-weight: normal;
    display: block;
}

.lp-steps-card
{
    position: relative;

    padding: 16px 16px 16px 68px;

    background: #fff;
    box-shadow: 0 4px 5px rgba(0, 0, 0, .2);
}
@media screen and (max-width: 640px)
{
    .lp-steps-card
    {
        padding: 3.2vw 3.2vw 3.2vw 12.2666666667vw;
    }
}
.lp-steps-card::after
{
    position: absolute;
    bottom: -12px;
    left: 50%;

    width: 0;
    height: 0;

    content: '';
    transform: translateX(-50%);

    border-top: 12px solid #fff;
    border-right: 14px solid transparent;
    border-left: 14px solid transparent;

    filter: drop-shadow(0 4px 4px rgba(0, 0, 0, .2));
}
@media screen and (max-width: 640px)
{
    .lp-steps-card::after
    {
        bottom: -2.4vw;

        border-top-width: 2.6666666667vw;
        border-right-width: 3.2vw;
        border-left-width: 3.2vw;
    }
}
.lp-steps__item:last-child .lp-steps-card::after
{
    display: none;
}
.lp-steps-card__badge
{
    position: absolute;
    top: -10px;
    left: -14px;

    width: 70px;
    height: 70px;
}
@media screen and (max-width: 640px)
{
    .lp-steps-card__badge
    {
        top: -2.1333333333vw;
        left: -3.2vw;

        width: 12.8vw;
        height: 12.8vw;
    }
}
.lp-steps-card__heading
{
    font-family: 'Noto Sans JP', 'Noto Sans', sans-serif;
    font-size: 20px;
    font-weight: bold;
    line-height: 1.5;

    margin: 0;

    color: #b6aa93;
}
@media screen and (max-width: 640px)
{
    .lp-steps-card__heading
    {
        font-size: 4.2666666667vw;
        font-weight: 600;
    }
}
.lp-steps-card__text
{
    font-size: 18px;
    font-weight: 400;
    line-height: 1.7;

    margin-top: 10px;
}
@media screen and (max-width: 640px)
{
    .lp-steps-card__text
    {
        font-size: 3.7333333333vw;
        font-weight: 500;

        margin-top: 2.1333333333vw;
    }
}
.lp-steps-card__note
{
    font-family: 'Noto Sans JP', 'Noto Sans', sans-serif;
    font-weight: bold;

    display: block;

    margin: 16px 0;

    color: #e00000;
}
@media screen and (max-width: 640px)
{
    .lp-steps-card__note
    {
        font-weight: 500;
    }
}
.lp-steps-card .lp-steps-card__subNote
{
    font-size: 14px;
}
.lp-steps-card--guest .lp-steps-card__heading
{
    color: #6284c6;
}
.lp-steps-card__btnArea
{
    padding-top: 8px;

    text-align: right;
}
.lp-steps-card__subBtn
{
    font-family: 'Noto Sans JP', 'Noto Sans', sans-serif;
    font-size: 16px;
    font-weight: bold;

    display: inline-flex;

    padding: 8px 16px;

    transition: transform .1s, box-shadow .1s;
    text-decoration: none;

    color: #fff;
    border-radius: 6px;

    justify-content: center;
    align-items: center;
}
.lp-steps-card__subBtn:active
{
    transform: translateY(2px);

    box-shadow: 0 1px 0 rgba(0, 0, 0, .2);
}
.lp-steps-card__subBtn--blue
{
    background-color: #6284c6;
}
.lp-steps-card__subBtn--green
{
    background-color: #9ba385;
}
@media screen and (max-width: 640px)
{
    .lp-steps-card__subBtn
    {
        font-size: 2.9333333333vw;

        padding: 1.0666666667vw 3.2vw;

        border-radius: 1.0666666667vw;
        box-shadow: 0 .5333333333vw 0 rgba(0, 0, 0, .2);
    }
    .lp-steps-card__subBtn:active
    {
        transform: translateY(.2666666667vw);

        box-shadow: 0 .2666666667vw 0 rgba(0, 0, 0, .2);
    }
}

.lp-voice
{
    padding: 40px 0 56px;

    text-align: center;
}
@media screen and (max-width: 640px)
{
    .lp-voice
    {
        padding: 6.4vw 0vw 8.5333333333vw;
    }
}
.lp-voice__title
{
    font-size: 24px;
    font-weight: 500;

    position: relative;

    display: inline-block;

    margin: 0;
    padding: 0 16px 12px;

    color: #6284c6;
}
@media screen and (max-width: 640px)
{
    .lp-voice__title
    {
        font-size: 5.3333333333vw;
        font-weight: 600;

        padding: 0 2.1333333333vw 2.6666666667vw;
    }
}
.lp-voice__title::after
{
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;

    height: 2px;

    content: '';

    background: #6284c6;
}
@media screen and (max-width: 640px)
{
    .lp-voice__title::after
    {
        height: .5333333333vw;
    }
}
.lp-voice__mainImg
{
    margin: 24px -16px 0;
}
@media screen and (max-width: 640px)
{
    .lp-voice__mainImg
    {
        margin: 4.2666666667vw -4.2666666667vw 0;
    }
}
.lp-voice__lead
{
    font-size: 20px;
    font-weight: 400;
    line-height: 1.7;

    margin-top: 14px;

    text-align: left;
}
@media screen and (max-width: 640px)
{
    .lp-voice__lead
    {
        font-size: 3.7333333333vw;

        margin-top: 2.1333333333vw;
    }
}
.lp-voice__cta
{
    margin-top: 16px;
}
@media screen and (max-width: 640px)
{
    .lp-voice__cta
    {
        margin-top: 2.1333333333vw;
    }
}

.lp-ending__brand
{
    display: flex;

    margin: 16px 16px 56px;

    align-items: center;
    justify-content: center;
    gap: 12px;
}
@media screen and (max-width: 640px)
{
    .lp-ending__brand
    {
        margin: 2.1333333333vw 4.2666666667vw 8.5333333333vw;

        gap: 3.2vw;
    }
}
.lp-ending__brand::before,
.lp-ending__brand::after
{
    height: 1px;

    content: '';

    background: #6284c6;

    flex: 1;
}
.lp-ending__brand img
{
    display: block;

    width: 60%;
    max-width: 280px;
    height: auto;
}
@media screen and (max-width: 640px)
{
    .lp-ending__brand img
    {
        max-width: 100%;
    }
}

.lp-floatCta
{
    position: fixed;
    z-index: 10;
    right: 0;
    bottom: 0;
    left: 0;

    display: grid;

    padding: clamp(6px, calc(8 * 100vw / 390), 10px) clamp(10px, calc(12 * 100vw / 390), 16px) clamp(10px, calc(12 * 100vw / 390), 16px);

    background: rgba(255, 255, 255, .8);

    grid-template-columns: 1fr 1fr;
    gap: clamp(12px, calc(16 * 100vw / 390), 24px);
}
@media screen and (min-width: 641px)
{
    .lp-floatCta
    {
        display: none;
    }
}
.lp-floatCta__btn
{
    font-family: 'Noto Sans JP', sans-serif;
    font-size: clamp(12px, calc(14 * 100vw / 390), 16px);
    font-weight: 400;
    line-height: 1.5;

    position: relative;

    display: flex;

    min-width: 0;
    padding: clamp(6px, calc(8 * 100vw / 390), 10px) clamp(16px, calc(16 * 100vw / 390), 24px) clamp(6px, calc(8 * 100vw / 390), 10px) clamp(10px, calc(12 * 100vw / 390), 16px);

    text-align: center;
    white-space: nowrap;
    text-decoration: none;

    border-radius: clamp(10px, calc(12 * 100vw / 390), 14px);

    align-items: center;
    gap: clamp(4px, calc(6 * 100vw / 390), 10px);
    justify-content: space-between;
}
.lp-floatCta__btn--ghost
{
    color: #528ac8;
    border: 1.5px solid #528ac8;
    background: #fff;
}
.lp-floatCta__btn--primary
{
    color: #fff;
    background: #9f926c;
}
.lp-floatCta__arrow
{
    width: clamp(8px, calc(10 * 100vw / 390), 12px);
    height: clamp(8px, calc(10 * 100vw / 390), 12px);

    transform: rotate(45deg);

    border-top: 1px solid currentColor;
    border-right: 1px solid currentColor;

    flex: 0 0 auto;
}

.lp-footer
{
    color: #333;
    background: #fff;
}
@media screen and (max-width: 640px)
{
    .lp-footer
    {
        padding-bottom: 80px;
    }
}
.lp-footer__nav
{
    display: flex;
    flex-direction: column;

    max-width: 640px;
    margin: 0 auto;
}
@media screen and (max-width: 640px)
{
    .lp-footer__nav
    {
        max-width: 100%;
    }
}
.lp-footer__navItem
{
    font-size: 20px;
    font-weight: 500;

    position: relative;

    display: block;

    padding: 24px 20px;

    text-decoration: none;
    letter-spacing: .05em;

    color: #fff;
    border-bottom: 2px solid #fff;
    background: #6088c6;
}
.lp-footer__navItem:last-child
{
    border-bottom: none;
}
.lp-footer__navItem::after
{
    font-size: 20px;
    font-weight: bold;

    position: absolute;
    top: 50%;
    right: 24px;

    content: '＞';
    transform: translateY(-50%);
}
@media screen and (max-width: 640px)
{
    .lp-footer__navItem
    {
        font-size: 4.2666666667vw;

        padding: 4.2666666667vw 5.3333333333vw;

        border-bottom-width: .5333333333vw;
    }
    .lp-footer__navItem::after
    {
        font-size: 4.2666666667vw;

        right: 5.3333333333vw;
    }
}
.lp-footer__company
{
    padding: 32px 0 24px 0;

    background: #fff;
}
@media screen and (max-width: 640px)
{
    .lp-footer__company
    {
        padding: 8.5333333333vw 5.3333333333vw 4.2666666667vw 5.3333333333vw;
    }
}
.lp-footer__companyLabel
{
    font-family: 'Noto Sans JP', 'Noto Sans', sans-serif;
    font-size: 18px;

    margin: 0 0 16px;

    text-align: center;
}
@media screen and (max-width: 640px)
{
    .lp-footer__companyLabel
    {
        font-size: 3.7333333333vw;

        margin-bottom: 3.2vw;
    }
}
.lp-footer__companyMain
{
    display: flex;
    flex-direction: row;

    align-items: center;
    justify-content: center;
    gap: 32px;
}
@media screen and (max-width: 640px)
{
    .lp-footer__companyMain
    {
        flex-direction: column;

        gap: 4.2666666667vw;
    }
}
.lp-footer__companyLogo
{
    width: 100%;
    max-width: 280px;
    height: auto;
}
@media screen and (max-width: 640px)
{
    .lp-footer__companyLogo
    {
        max-width: 58.6666666667vw;
    }
}
.lp-footer__sns
{
    display: flex;

    margin-top: 8px;

    justify-content: center;
    gap: 12px;
}
@media screen and (max-width: 640px)
{
    .lp-footer__sns
    {
        margin-top: 1.0666666667vw;

        gap: 2.1333333333vw;
    }
}
.lp-footer__snsLink
{
    display: block;

    width: 44px;
    height: 44px;

    transition: opacity .2s;
}
.lp-footer__snsLink:hover
{
    opacity: .8;
}
.lp-footer__snsLink img
{
    width: 100%;
    height: auto;
}
@media screen and (max-width: 640px)
{
    .lp-footer__snsLink
    {
        width: 10.6666666667vw;
        height: 10.6666666667vw;
    }
}
.lp-footer__contact
{
    max-width: 540px;
    margin: 80px auto 0;
}
@media screen and (max-width: 640px)
{
    .lp-footer__contact
    {
        margin-top: 7.4666666667vw;
    }
}
.lp-footer__contactNote
{
    font-size: 14px;
    line-height: 2;

    margin: 0 0 24px 0;
}
@media screen and (max-width: 640px)
{
    .lp-footer__contactNote
    {
        font-size: 3.7333333333vw;

        margin-bottom: 4.2666666667vw;
    }
    .lp-footer__contactNote br
    {
        display: none;
    }
}
.lp-footer__contactInfo
{
    display: inline-block;

    text-align: left;
}
@media screen and (max-width: 640px)
{
    .lp-footer__contactInfo
    {
        display: block;
    }
}
.lp-footer__contactRow
{
    font-size: 16px;

    display: flex;

    margin-bottom: 12px;

    align-items: center;
}
@media screen and (max-width: 640px)
{
    .lp-footer__contactRow
    {
        font-size: 4.2666666667vw;

        margin-bottom: 4.2666666667vw;

        flex-wrap: wrap;
    }
}
.lp-footer__contactRow--mail
{
    margin-top: 16px;
}
@media screen and (max-width: 640px)
{
    .lp-footer__contactRow--mail
    {
        margin-top: 3.2vw;
    }
}
.lp-footer__contactTarget
{
    font-family: 'Noto Sans JP', 'Noto Sans', sans-serif;
    font-weight: bold;

    display: inline-flex;

    width: 160px;

    color: #1a4275;

    align-items: center;
}
.lp-footer__contactTarget::before
{
    display: inline-block;

    width: 18px;
    height: 18px;
    margin-right: 6px;

    content: '';

    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}
.lp-footer__contactTarget--tel::before
{
    background-image: url('../images/top/icon_tel.svg');
}
.lp-footer__contactTarget--mail::before
{
    background-image: url('../images/top/icon_mail.svg');
}
@media screen and (max-width: 640px)
{
    .lp-footer__contactTarget
    {
        width: 37.3333333333vw;
    }
    .lp-footer__contactTarget::before
    {
        width: 3.7333333333vw;
        height: 3.7333333333vw;
        margin-right: 1.0666666667vw;
    }
}
.lp-footer__contactNum
{
    font-family: 'Noto Sans JP', 'Noto Sans', sans-serif;
    font-size: 26px;
    font-weight: 600;

    margin-right: 12px;

    text-decoration: none;
    letter-spacing: .1rem;

    color: #1a4275;
}
@media screen and (max-width: 640px)
{
    .lp-footer__contactNum
    {
        font-size: 4.8vw;

        margin-right: 1.6vw;
    }
}
.lp-footer__contactTime
{
    font-size: 14px;
}
@media screen and (max-width: 640px)
{
    .lp-footer__contactTime
    {
        font-size: 3.2vw;

        width: 100%;
        margin-top: 2.1333333333vw;
        margin-left: 37.3333333333vw;
    }
}
.lp-footer__contactMail
{
    font-family: 'Noto Sans JP', 'Noto Sans', sans-serif;
    font-size: 22px;
    font-weight: bold;

    text-decoration: none;

    color: #1a4275;
}
@media screen and (max-width: 640px)
{
    .lp-footer__contactMail
    {
        font-size: 4.2666666667vw;
    }
}
.lp-footer__copy
{
    font-size: 16px;

    margin: 16px 0 0 0;
    padding: 24px 8px;

    text-align: center;
}
@media screen and (max-width: 640px)
{
    .lp-footer__copy
    {
        font-size: 2.9333333333vw;

        margin-top: 6.4vw;
        padding: 4.2666666667vw 2.1333333333vw;
    }
}

/* ==========================================
   システム料0円の秘密 セクション全体
========================================== */
.lp-secret
{
    padding: 56px 0;

    background: #fff;
}
@media screen and (max-width: 640px)
{
    .lp-secret
    {
        padding: 8.5333333333vw 0;
    }
}
.lp-secret__inner
{
    box-sizing: border-box;
    margin: 0 auto;
}
.lp-secret__title
{
    line-height: 1.4;

    display: flex;
    flex-direction: column;

    margin: 0 0 40px;

    text-align: center;

    align-items: center;
    gap: 8px;
}
@media screen and (max-width: 640px)
{
    .lp-secret__title
    {
        margin-bottom: 6.4vw;

        gap: 1.0666666667vw;
    }
}
.lp-secret__titleSub
{
    font-family: 'Yu Mincho', '游明朝体', 'YuMincho', 'Hiragino Mincho ProN', 'Hiragino Mincho Pro', 'MS Mincho', serif;
    font-size: 24px;
    font-weight: 600;

    letter-spacing: .05rem;
    letter-spacing: .05em;

    color: #b1ad8f;
}
@media screen and (max-width: 640px)
{
    .lp-secret__titleSub
    {
        font-size: 4.8vw;
    }
}
.lp-secret__titleGold
{
    font-size: 130%;

    display: inline-block;

    margin-left: 2px;
}
.lp-secret__titleMain
{
    font-family: 'Yu Mincho', '游明朝体', 'YuMincho', 'Hiragino Mincho ProN', 'Hiragino Mincho Pro', 'MS Mincho', serif;
    font-size: 28px;
    font-weight: bold;

    letter-spacing: .05rem;
    letter-spacing: .02em;

    color: #6284c6;
}
@media screen and (max-width: 640px)
{
    .lp-secret__titleMain
    {
        font-size: 6.4vw;
    }
}
.lp-secret__titleCross
{
    font-family: 'Noto Sans JP', 'Noto Sans', sans-serif;
    font-size: 120%;
    font-weight: normal;

    margin: 0 4px;

    color: #b1ad8f;
}
@media screen and (max-width: 640px)
{
    .lp-secret__titleCross
    {
        margin: 0 1.0666666667vw;
    }
}
.lp-secret__subHeading
{
    font-family: 'Yu Mincho', '游明朝体', 'YuMincho', 'Hiragino Mincho ProN', 'Hiragino Mincho Pro', 'MS Mincho', serif;
    font-size: 26px;
    font-weight: 500;

    position: relative;

    display: flex;

    margin: 48px 0 32px;

    text-align: center;
    letter-spacing: .05rem;

    color: #6284c6;

    justify-content: center;
    align-items: center;
    gap: 8px;
}
.lp-secret__subHeading::after
{
    position: absolute;
    z-index: 1;
    bottom: -7px;
    left: 50%;

    width: 100%;
    max-width: 500px;
    height: 16px;

    content: '';
    transform: translateX(-50%);

    opacity: .7;
    background: linear-gradient(to right, #bde0ea, #f9ebd2);
}
@media screen and (max-width: 640px)
{
    .lp-secret__subHeading
    {
        font-size: 4.2666666667vw;

        margin: 8.5333333333vw 0 6.4vw;
    }
    .lp-secret__subHeading::after
    {
        bottom: -1.3333333333vw;

        width: 74.6666666667vw;
        height: 2.6666666667vw;
    }
}
.lp-secret__subHeadingMain
{
    font-size: 40px;
    font-weight: bold;

    position: relative;
    z-index: 2;

    letter-spacing: .03em;
}
@media screen and (max-width: 640px)
{
    .lp-secret__subHeadingMain
    {
        font-size: 6.4vw;
    }
}

/* ==========================================
   上段：一般的なカタログギフトの比較ボックス
========================================== */
.lp-compare-box
{
    position: relative;

    overflow: visible;

    border: 1px solid #6284c6;
    background: #fff;
}
.lp-compare-box__header
{
    font-size: 16px;
    font-weight: bold;

    margin: 0;
    padding: 10px 16px;

    text-align: center;
    letter-spacing: .05em;

    color: #fff;
    background: #6284c6;
}
@media screen and (max-width: 640px)
{
    .lp-compare-box__header
    {
        font-size: 4.2666666667vw;

        padding: 2.1333333333vw 3.2vw;
    }
}
.lp-compare-box__body
{
    position: relative;

    padding: 32px 24px 16px;
}
.lp-compare-box__body::after
{
    position: absolute;
    z-index: 3;
    bottom: -12px;
    left: 50%;

    content: '';
    transform: translateX(-50%);

    border-width: 12px 12px 0 12px;
    border-style: solid;
    border-color: #fff transparent transparent transparent;
}
.lp-compare-box__body::before
{
    position: absolute;
    z-index: 2;
    bottom: -13px;
    left: 50%;

    content: '';
    transform: translateX(-50%);

    border-width: 13px 13px 0 13px;
    border-style: solid;
    border-color: #6284c6 transparent transparent transparent;
}
@media screen and (max-width: 640px)
{
    .lp-compare-box__body
    {
        padding: 4.2666666667vw 3.2vw 3.2vw;
    }
    .lp-compare-box__body::after
    {
        bottom: -2.1333333333vw;

        border-width: 2.1333333333vw 2.1333333333vw 0 2.1333333333vw;
    }
    .lp-compare-box__body::before
    {
        bottom: -2.4vw;

        border-width: 2.4vw 2.4vw 0 2.4vw;
    }
}
.lp-compare-box__note
{
    font-family: 'Noto Sans JP', 'Noto Sans', sans-serif;
    font-size: 16px;
    font-weight: bold;

    margin: 24px 0 0;

    text-align: center;

    color: #e56b8f;
}
@media screen and (max-width: 640px)
{
    .lp-compare-box__note
    {
        font-size: 3.2vw;
        line-height: 1.4;

        margin-top: 4.2666666667vw;
    }
}

.lp-compare-flow
{
    display: flex;

    margin: 0;
    padding: 0;

    list-style: none;

    justify-content: center;
    gap: 32px;
}
@media screen and (max-width: 640px)
{
    .lp-compare-flow
    {
        gap: 3.2vw;
        justify-content: space-between;
    }
}
.lp-compare-flow__item
{
    position: relative;

    max-width: 160px;

    text-align: center;

    flex: 1;
}
@media screen and (max-width: 640px)
{
    .lp-compare-flow__item
    {
        max-width: calc(100% / 3);
    }
}
.lp-compare-flow__img
{
    position: relative;

    width: 100%;
    margin-bottom: 8px;
}
@media screen and (max-width: 640px)
{
    .lp-compare-flow__img
    {
        margin-bottom: 1.6vw;
    }
}
.lp-compare-flow__img img
{
    display: block;

    width: 100%;
    height: auto;

    border-radius: 50%;
}
.lp-compare-flow:not(:last-child) .lp-compare-flow__img::after
{
    position: absolute;
    top: 50%;
    right: -22px;

    content: '';
    transform: translateY(-50%);

    border-width: 9px 0 9px 12px;
    border-style: solid;
    border-color: transparent transparent transparent #9c946e;
}
@media screen and (max-width: 640px)
{
    .lp-compare-flow:not(:last-child) .lp-compare-flow__img::after
    {
        right: -1.8666666667vw;

        border-width: 2.4vw 0 2.4vw 3.2vw;
    }
}
.lp-compare-flow__text
{
    font-size: 18px;
    font-weight: 500;

    margin: 0;
}
@media screen and (max-width: 640px)
{
    .lp-compare-flow__text
    {
        font-size: 3.2vw;
    }
}
.lp-compare-flow__badge
{
    font-family: 'Noto Sans JP', 'Noto Sans', sans-serif;
    font-size: 14px;
    font-weight: bold;
    line-height: 1.2;

    position: absolute;
    z-index: 5;
    top: -16px;
    right: -55px;

    color: #e56b8f;
    border-radius: 4px;
}
.lp-compare-flow__badge strong
{
    font-family: 'Yu Mincho', '游明朝体', 'YuMincho', 'Hiragino Mincho ProN', 'Hiragino Mincho Pro', 'MS Mincho', serif;
    font-size: 28px;
}
@media screen and (max-width: 640px)
{
    .lp-compare-flow__badge
    {
        font-size: 2.1333333333vw;

        top: -2.1333333333vw;
        right: -7.4666666667vw;

        padding: .5333333333vw .8vw;

        border-width: .2666666667vw;
    }
    .lp-compare-flow__badge strong
    {
        font-size: 4.2666666667vw;
    }
}

/* ==========================================
   下段：BEFORE SELECTの3連フローエリア
========================================== */
.lp-flow-container
{
    width: 100%;
}

.lp-flow
{
    display: flex;

    margin: 0;
    padding: 0;

    list-style: none;

    align-items: flex-start;
    justify-content: center;
    gap: 32px;
}
@media screen and (max-width: 640px)
{
    .lp-flow
    {
        gap: 2.6666666667vw;
    }
}
.lp-flow__item
{
    position: relative;

    max-width: 160px;

    text-align: center;

    flex: 1;
}
@media screen and (max-width: 640px)
{
    .lp-flow__item
    {
        width: calc(100% / 3);
    }
}
.lp-flow__img
{
    position: relative;

    width: 100%;
    margin-bottom: 12px;
}
@media screen and (max-width: 640px)
{
    .lp-flow__img
    {
        margin-bottom: 2.1333333333vw;
    }
}
.lp-flow__img img
{
    display: block;

    width: 100%;
    height: auto;

    border-radius: 50%;
}
.lp-flow:not(:last-child) .lp-flow__img::after
{
    position: absolute;
    z-index: 2;
    top: 50%;
    right: -26px;

    content: '';
    transform: translateY(-50%);

    border-width: 7px 0 7px 10px;
    border-style: solid;
    border-color: transparent transparent transparent #6284c6;
}
@media screen and (max-width: 640px)
{
    .lp-flow:not(:last-child) .lp-flow__img::after
    {
        right: -2.4vw;

        border-width: 1.3333333333vw 0 1.3333333333vw 1.8666666667vw;
    }
}
.lp-flow__text
{
    font-family: 'Yu Mincho', '游明朝体', 'YuMincho', 'Hiragino Mincho ProN', 'Hiragino Mincho Pro', 'MS Mincho', serif;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.4;

    margin: 0;

    letter-spacing: .05rem;

    color: #6284c6;
}
@media screen and (max-width: 640px)
{
    .lp-flow__text
    {
        font-size: 2.6666666667vw;
    }
}
.lp-flow__marker
{
    font-weight: bold;

    display: inline-block;

    padding: 0 2px;

    background: linear-gradient(transparent 60%, #fff6cc 60%);
}
.lp-flow__badge
{
    font-family: 'Noto Sans JP', 'Noto Sans', sans-serif;
    font-size: 14px;
    font-weight: bold;
    line-height: 1.2;

    position: absolute;
    z-index: 5;
    top: -12px;
    right: -52px;

    padding: 4px 6px;

    text-align: center;
    white-space: nowrap;

    color: #e56b8f;
    border-radius: 4px;
}
.lp-flow__badge strong
{
    font-family: 'Yu Mincho', '游明朝体', 'YuMincho', 'Hiragino Mincho ProN', 'Hiragino Mincho Pro', 'MS Mincho', serif;
    font-size: 28px;
}
@media screen and (max-width: 640px)
{
    .lp-flow__badge
    {
        font-size: 2.1333333333vw;

        top: -2.1333333333vw;
        right: -7.4666666667vw;

        padding: .5333333333vw .8vw;

        border-width: .2666666667vw;
    }
    .lp-flow__badge strong
    {
        font-size: 4.8vw;
    }
}

.lp-flow-note
{
    font-family: 'Noto Sans JP', 'Noto Sans', sans-serif;
    font-size: 12px;
    font-weight: bold;

    max-width: 530px;
    margin: 12px 0 0 auto;

    text-align: right;

    color: #333;
}
@media screen and (max-width: 640px)
{
    .lp-flow-note
    {
        font-size: 2.4vw;

        max-width: 100%;
        margin-top: 3.2vw;
        padding-right: 1.0666666667vw;

        text-align: right;
    }
}

.lp-about-secret
{
    padding: 0 0 48px;
}
@media screen and (max-width: 640px)
{
    .lp-about-secret
    {
        padding-bottom: 2.1333333333vw;
    }
}
.lp-about-secret .lp-secret__inner
{
    max-width: 100%;
}
.lp-about-secret .lp-secret__title
{
    margin-bottom: 24px;
}
@media screen and (max-width: 640px)
{
    .lp-about-secret .lp-secret__title
    {
        margin-bottom: 6.4vw;
    }
}
.lp-about-secret .lp-compare-flow__img img,
.lp-about-secret .lp-flow__img img
{
    aspect-ratio: 1/1;
    -o-object-fit: cover;
       object-fit: cover;
}
.lp-about-secret .lp-compare-flow__item:not(:last-child) .lp-compare-flow__img::after,
.lp-about-secret .lp-flow__item:not(:last-child) .lp-flow__img::after
{
    position: absolute;
    z-index: 2;
    top: 50%;

    content: '';
    transform: translateY(-50%);

    border-style: solid;
}
.lp-about-secret .lp-compare-flow__item:not(:last-child) .lp-compare-flow__img::after
{
    right: -22px;

    border-width: 9px 0 9px 12px;
    border-color: transparent transparent transparent #a39d7e;
}
@media screen and (max-width: 640px)
{
    .lp-about-secret .lp-compare-flow__item:not(:last-child) .lp-compare-flow__img::after
    {
        right: -2.9333333333vw;

        border-width: 1.3333333333vw 0 1.3333333333vw 1.8666666667vw;
    }
}
.lp-about-secret .lp-flow__item:not(:last-child) .lp-flow__img::after
{
    right: -22px;

    border-width: 9px 0 9px 12px;
    border-color: transparent transparent transparent #6284c6;
}
@media screen and (max-width: 640px)
{
    .lp-about-secret .lp-flow__item:not(:last-child) .lp-flow__img::after
    {
        right: -2.4vw;

        border-width: 1.3333333333vw 0 1.3333333333vw 1.8666666667vw;
    }
}
.lp-about-secret .lp-compare-flow__item:last-child .lp-compare-flow__img::after,
.lp-about-secret .lp-flow__item:last-child .lp-flow__img::after
{
    content: none;
}

.lp-saving-compare
{
    position: relative;

    padding: 48px 28px 58px;

    background: #dff0fb;
}
@media screen and (max-width: 640px)
{
    .lp-saving-compare
    {
        padding: 4.2666666667vw 6.4vw 12.8vw;
    }
}
.lp-saving-compare::before
{
    position: absolute;
    top: 0;
    left: 50%;

    width: 0;
    height: 0;

    content: '';
    transform: translateX(-50%);

    border-top: 72px solid #fff;
    border-right: 320px solid transparent;
    border-left: 320px solid transparent;
}
@media screen and (max-width: 640px)
{
    .lp-saving-compare::before
    {
        border-top-width: 11.7333333333vw;
        border-right-width: 50vw;
        border-left-width: 50vw;
    }
}
.lp-saving-compare img
{
    margin-top: 40px;
}
.lp-saving-compare__inner
{
    position: relative;
    z-index: 1;

    max-width: 560px;
    margin: 0 auto;
}
.lp-saving-compare__head
{
    display: flex;

    margin-bottom: 12px;

    align-items: center;
    justify-content: center;
    gap: 20px;
}
@media screen and (max-width: 640px)
{
    .lp-saving-compare__head
    {
        margin-bottom: 2.6666666667vw;

        gap: 3.2vw;
    }
}
.lp-saving-compare__balloon
{
    width: 142px;

    flex: 0 0 auto;
}
@media screen and (max-width: 640px)
{
    .lp-saving-compare__balloon
    {
        width: 32vw;
    }
}
.lp-saving-compare__title
{
    font-size: 34px;
    font-weight: 700;

    margin: 0;

    letter-spacing: .05em;

    color: #6284c6;
}
@media screen and (max-width: 640px)
{
    .lp-saving-compare__title
    {
        font-size: 7.4666666667vw;
    }
}
.lp-saving-compare__note
{
    font-size: 18px;
    font-weight: 700;

    margin-top: 6px;
}
@media screen and (max-width: 640px)
{
    .lp-saving-compare__note
    {
        font-size: 3.7333333333vw;

        margin-top: 1.0666666667vw;
    }
}

.lp-saving-table
{
    display: grid;

    color: #333;
    border: 2px solid #6284c6;
    background: #6284c6;

    grid-template-columns: 132px 1fr 1fr;
}
@media screen and (max-width: 640px)
{
    .lp-saving-table
    {
        border-width: .5333333333vw;

        grid-template-columns: 25.0666666667vw 1fr 1fr;
    }
}
.lp-saving-table__cell
{
    display: flex;
    flex-direction: column;

    min-width: 0;
    min-height: 96px;

    text-align: center;

    border-right: 2px solid #6284c6;
    border-bottom: 2px solid #6284c6;
    background: #fff;

    align-items: center;
    justify-content: center;
}
.lp-saving-table__cell:nth-child(3n)
{
    border-right: 0;
}
@media screen and (max-width: 640px)
{
    .lp-saving-table__cell
    {
        min-height: 20.8vw;

        border-right-width: .5333333333vw;
        border-bottom-width: .5333333333vw;
    }
}
.lp-saving-table__blank
{
    border-top: 0;
    background: #dff0fb;
}
.lp-saving-table__head
{
    font-size: 18px;
    font-weight: 700;
    line-height: 1.35;

    min-height: 82px;

    color: #fff;
}
@media screen and (max-width: 640px)
{
    .lp-saving-table__head
    {
        font-size: 3.4666666667vw;

        min-height: 18.6666666667vw;
    }
}
.lp-saving-table__head span
{
    font-size: 22px;

    letter-spacing: .04em;
}
@media screen and (max-width: 640px)
{
    .lp-saving-table__head span
    {
        font-size: 4.2666666667vw;
    }
}
.lp-saving-table__head small
{
    font-size: 14px;

    display: block;

    margin-top: 4px;
}
@media screen and (max-width: 640px)
{
    .lp-saving-table__head small
    {
        font-size: 2.9333333333vw;

        margin-top: .5333333333vw;
    }
}
.lp-saving-table__head--blue
{
    background: #6284c6;
}
.lp-saving-table__head--gray
{
    background: #a8a8a8;
}
.lp-saving-table__label
{
    font-size: 20px;
    font-weight: 700;

    color: #6284c6;

    gap: 8px;
}
@media screen and (max-width: 640px)
{
    .lp-saving-table__label
    {
        font-size: 4.2666666667vw;

        gap: 1.3333333333vw;
    }
}
.lp-saving-table__label img
{
    width: 42px;
    height: 42px;

    -o-object-fit: contain;

       object-fit: contain;
}
@media screen and (max-width: 640px)
{
    .lp-saving-table__label img
    {
        width: 8.5333333333vw;
        height: 8.5333333333vw;
    }
}
.lp-saving-table__price
{
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 32px;
    font-weight: 700;
    line-height: 1.2;
}
@media screen and (max-width: 640px)
{
    .lp-saving-table__price
    {
        font-size: 6.4vw;
    }
}
.lp-saving-table__price span
{
    font-size: 64%;
}
.lp-saving-table__price small
{
    font-size: 18px;
    font-weight: 500;

    display: block;

    margin-top: 10px;
}
@media screen and (max-width: 640px)
{
    .lp-saving-table__price small
    {
        font-size: 3.7333333333vw;

        margin-top: 1.6vw;
    }
}
.lp-saving-table__price--zero
{
    font-size: 40px;

    color: #e60012;
    background: #fff8cc;
}
@media screen and (max-width: 640px)
{
    .lp-saving-table__price--zero
    {
        font-size: 8.5333333333vw;
    }
}
.lp-saving-table__price--system
{
    background: #fff8cc;
}
.lp-saving-table__system,
.lp-saving-table__price--zero,
.lp-saving-table__price--system
{
    border-top: 6px solid #e60012;
    border-bottom: 6px solid #e60012;
}
@media screen and (max-width: 640px)
{
    .lp-saving-table__system,
    .lp-saving-table__price--zero,
    .lp-saving-table__price--system
    {
        border-top-width: 1.3333333333vw;
        border-bottom-width: 1.3333333333vw;
    }
}
.lp-saving-table__system
{
    border-left: 6px solid #e60012;
}
@media screen and (max-width: 640px)
{
    .lp-saving-table__system
    {
        border-left-width: 1.3333333333vw;
    }
}
.lp-saving-table__cell.lp-saving-table__price--system
{
    border-right: 6px solid #e60012;
}
@media screen and (max-width: 640px)
{
    .lp-saving-table__cell.lp-saving-table__price--system
    {
        border-right-width: 1.3333333333vw;
    }
}
.lp-saving-table__truck
{
    position: relative;

    display: block;

    width: 44px;
    height: 30px;

    color: #b8ad83;
    border-radius: 2px;
    background: currentColor;
}
@media screen and (max-width: 640px)
{
    .lp-saving-table__truck
    {
        width: 9.0666666667vw;
        height: 6.1333333333vw;
    }
}
.lp-saving-table__truck::before
{
    position: absolute;
    right: -14px;
    bottom: 0;

    width: 16px;
    height: 18px;

    content: '';

    border: 5px solid currentColor;
    border-left: 0;
    border-radius: 0 3px 3px 0;
}
@media screen and (max-width: 640px)
{
    .lp-saving-table__truck::before
    {
        right: -2.6666666667vw;

        width: 3.2vw;
        height: 3.7333333333vw;

        border-width: 1.0666666667vw;
    }
}
.lp-saving-table__truck::after
{
    position: absolute;
    bottom: -8px;
    left: 8px;

    width: 34px;
    height: 10px;

    content: '';

    border-radius: 999px;
    background: radial-gradient(circle at 5px 5px, currentColor 0 5px, transparent 5px), radial-gradient(circle at 29px 5px, currentColor 0 5px, transparent 5px);
}
@media screen and (max-width: 640px)
{
    .lp-saving-table__truck::after
    {
        bottom: -1.6vw;
        left: 1.6vw;

        width: 6.9333333333vw;
        height: 2.1333333333vw;

        background: radial-gradient(circle at 1.0666666667vw 1.0666666667vw, currentColor 0 1.0666666667vw, transparent 1.0666666667vw), radial-gradient(circle at 5.8666666667vw 1.0666666667vw, currentColor 0 1.0666666667vw, transparent 1.0666666667vw);
    }
}
.lp-saving-table__yen
{
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 44px;

    min-height: 132px;

    color: #6284c6;
    background: #f1fbff;
}
@media screen and (max-width: 640px)
{
    .lp-saving-table__yen
    {
        font-size: 9.0666666667vw;

        min-height: 29.8666666667vw;
    }
}
.lp-saving-table__total
{
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 36px;
    font-weight: 700;
    line-height: 1.25;

    position: relative;

    min-height: 132px;

    background: #fff8cc;
}
@media screen and (max-width: 640px)
{
    .lp-saving-table__total
    {
        font-size: 6.9333333333vw;

        min-height: 29.8666666667vw;
    }
}
.lp-saving-table__total span
{
    font-size: 64%;
}
.lp-saving-table__total small
{
    font-size: 18px;
    font-weight: 500;

    display: block;

    color: inherit;
}
@media screen and (max-width: 640px)
{
    .lp-saving-table__total small
    {
        font-size: 3.7333333333vw;
    }
}
.lp-saving-table__total--blue
{
    color: #e60012;
    border-top: 7px solid #6284c6;
}
@media screen and (max-width: 640px)
{
    .lp-saving-table__total--blue
    {
        border-top-width: 1.3333333333vw;
    }
}
.lp-saving-table__save
{
    font-size: 30px !important;
    line-height: 1;

    position: absolute;
    top: -32px;
    left: 50%;

    min-width: 220px;
    padding: 7px 18px;

    transform: translateX(-50%);

    color: #fff;
    border-radius: 999px;
    background: #e60012;
    box-shadow: 0 5px 8px rgba(0, 0, 0, .22);
}
@media screen and (max-width: 640px)
{
    .lp-saving-table__save
    {
        font-size: 6.4vw !important;

        top: -7.2vw;

        min-width: 45.8666666667vw;
        padding: 1.6vw 3.2vw;
    }
}
.lp-saving-table__save::before
{
    position: absolute;
    top: -30px;
    left: 50%;

    width: 0;
    height: 0;

    content: '';
    transform: translateX(-50%);

    border-top: 28px solid #e60012;
    border-right: 24px solid transparent;
    border-left: 24px solid transparent;
}
@media screen and (max-width: 640px)
{
    .lp-saving-table__save::before
    {
        top: -6.6666666667vw;

        border-top-width: 6.4vw;
        border-right-width: 5.3333333333vw;
        border-left-width: 5.3333333333vw;
    }
}
.lp-saving-table__save small
{
    font-size: 14px;
    font-weight: 700;

    display: inline;

    margin-left: 2px;
}
@media screen and (max-width: 640px)
{
    .lp-saving-table__save small
    {
        font-size: 2.9333333333vw;
    }
}

/* ==========================================
   Guest reason modal
========================================== */
.iziModal
{
    max-width: calc(100% - 24px);
}

.lp-guest-modal
{
    display: none;
}

.lp-guest-modal__body
{
    padding: 40px 32px 28px;

    color: #333;
    background: #fff;
}
@media screen and (max-width: 640px)
{
    .lp-guest-modal__body
    {
        padding: 8.5333333333vw 4.2666666667vw 6.4vw;
    }
}

.lp-guest-modal__mainTitle
{
    font-family: 'Yu Mincho', '游明朝体', 'YuMincho', 'Hiragino Mincho ProN', 'Hiragino Mincho Pro', 'MS Mincho', serif;
    font-size: 27px;
    font-weight: 600;
    line-height: 1.4;

    margin: 0 0 26px;

    text-align: center;
    letter-spacing: .05rem;

    color: #b3ac8e;
}
@media screen and (max-width: 640px)
{
    .lp-guest-modal__mainTitle
    {
        font-size: 5.8666666667vw;

        margin-bottom: 5.8666666667vw;
    }
}

.lp-guest-reason
{
    margin-top: 40px;
}
.lp-guest-reason:first-of-type
{
    margin-top: 0;
}
@media screen and (max-width: 640px)
{
    .lp-guest-reason
    {
        margin-top: 10.6666666667vw;
    }
}

.lp-guest-reason__num
{
    font-family: 'Yu Mincho', '游明朝体', 'YuMincho', 'Hiragino Mincho ProN', 'Hiragino Mincho Pro', 'MS Mincho', serif;
    font-size: 42px;
    font-weight: 600;
    line-height: 1;

    margin: 0;

    text-align: center;
    letter-spacing: .05rem;

    color: #6284c6;
}
@media screen and (max-width: 640px)
{
    .lp-guest-reason__num
    {
        font-size: 10.1333333333vw;
    }
}

.lp-guest-reason__title
{
    font-family: 'Yu Mincho', '游明朝体', 'YuMincho', 'Hiragino Mincho ProN', 'Hiragino Mincho Pro', 'MS Mincho', serif;
    font-size: 24px;
    font-weight: 500;
    line-height: 1.45;

    margin: 8px 0 14px;

    text-align: center;
    letter-spacing: .05rem;

    color: #6284c6;
}
@media screen and (max-width: 640px)
{
    .lp-guest-reason__title
    {
        font-size: 5.3333333333vw;

        margin: 1.8666666667vw 0 3.2vw;
    }
}

.lp-guest-reason__text
{
    font-size: 14px;
    line-height: 1.75;

    max-width: 510px;
    margin: 0 auto;

    color: #333;
}
@media screen and (max-width: 640px)
{
    .lp-guest-reason__text
    {
        font-size: 3.7vw;
        line-height: 1.75;
    }
    .lp-guest-reason__text br
    {
        display: none;
    }
}

.lp-guest-reason__text--center
{
    text-align: center;
}

.lp-modal-phone
{
    position: relative;

    min-height: 420px;
    margin: 40px auto 0;
}
@media screen and (max-width: 640px)
{
    .lp-modal-phone
    {
        min-height: 85.3333333333vw;
        margin-top: 6.4vw;
    }
}

.lp-modal-phone__screen
{
    font-size: 14px;
    font-weight: 700;

    position: absolute;
    z-index: 2;
    top: 0;
    left: 50%;

    display: grid;
    overflow: hidden;

    width: 220px;
    height: 390px;

    transform: translateX(-50%);
    letter-spacing: .08em;

    color: #fff;
    border-radius: 14px;
    background: #333;

    place-items: center;
}
@media screen and (max-width: 640px)
{
    .lp-modal-phone__screen
    {
        font-size: 3.2vw;

        width: 47.4666666667vw;
        height: 84.2666666667vw;
        min-height: auto;

        border-radius: 3.2vw;
    }
}

.lp-modal-phone__flash
{
    position: absolute;

    overflow: hidden;

    transform: scale(1.03);
    -webkit-animation: phone-screen-fade 6s infinite ease-in-out;
            animation: phone-screen-fade 6s infinite ease-in-out;
    text-align: center;

    opacity: 0;
    border-radius: 14px;

    inset: 0;
}
@media screen and (max-width: 640px)
{
    .lp-modal-phone__flash
    {
        border-radius: 3.2vw;
    }
}
.lp-modal-phone__flash img
{
    display: block;

    width: 100%;
    height: 100%;

    -o-object-fit: cover;

       object-fit: cover;
}

.lp-modal-phone__flash--02
{
    -webkit-animation-delay: 1.5s;
            animation-delay: 1.5s;
}

.lp-modal-phone__flash--03
{
    -webkit-animation-delay: 3s;
            animation-delay: 3s;
}

.lp-modal-phone__flash--04
{
    -webkit-animation-delay: 4.5s;
            animation-delay: 4.5s;
}

.lp-modal-phone__label
{
    font-size: 16px;
    font-weight: 700;
    line-height: 1.2;

    position: absolute;
    right: 12px;
    bottom: 16px;
    left: 12px;

    display: block;

    padding: 10px 8px;

    color: #6284c6;
    border-radius: 999px;
    background: rgba(255, 255, 255, .9);
    box-shadow: 0 4px 12px rgba(0, 0, 0, .18);
}
@media screen and (max-width: 640px)
{
    .lp-modal-phone__label
    {
        font-size: 3.4666666667vw;

        right: 2.6666666667vw;
        bottom: 3.7333333333vw;
        left: 2.6666666667vw;

        padding: 2.1333333333vw 1.6vw;

        box-shadow: 0 1.0666666667vw 3.2vw rgba(0, 0, 0, .18);
    }
}

@-webkit-keyframes phone-screen-fade
{
    0%
    {
        transform: scale(1.03);

        opacity: 0;
    }
    8%,
    24%
    {
        transform: scale(1);

        opacity: 1;
    }
    32%,
    100%
    {
        transform: scale(.99);

        opacity: 0;
    }
}

@keyframes phone-screen-fade
{
    0%
    {
        transform: scale(1.03);

        opacity: 0;
    }
    8%,
    24%
    {
        transform: scale(1);

        opacity: 1;
    }
    32%,
    100%
    {
        transform: scale(.99);

        opacity: 0;
    }
}
.lp-modal-phone__guest
{
    position: absolute;
    z-index: 1;

    width: 120px;
    height: 120px;

    border-radius: 50%;

    -o-object-fit: cover;

       object-fit: cover;
}
@media screen and (max-width: 640px)
{
    .lp-modal-phone__guest
    {
        width: 17.8666666667vw;
        height: 17.8666666667vw;
    }
}

.lp-modal-phone__guest--01
{
    top: 20px;
    left: 0;
}
@media screen and (max-width: 640px)
{
    .lp-modal-phone__guest--01
    {
        top: 4.2666666667vw;
        left: 0vw;
    }
}

.lp-modal-phone__guest--02
{
    top: 4px;
    right: 0;
}
@media screen and (max-width: 640px)
{
    .lp-modal-phone__guest--02
    {
        top: 1.0666666667vw;
        right: 0vw;
    }
}

.lp-modal-phone__guest--03
{
    top: 230px;
    left: 16px;
}
@media screen and (max-width: 640px)
{
    .lp-modal-phone__guest--03
    {
        top: 54.4vw;
        left: .5333333333vw;
    }
}

.lp-modal-phone__guest--04
{
    top: 242px;
    right: 16px;
}
@media screen and (max-width: 640px)
{
    .lp-modal-phone__guest--04
    {
        top: 58.1333333333vw;
        right: .5333333333vw;
    }
}

.lp-modal-photo-grid
{
    display: grid;

    max-width: 520px;
    margin: 24px auto 0;

    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
}
@media screen and (max-width: 640px)
{
    .lp-modal-photo-grid
    {
        margin-top: 6.4vw;

        gap: 2.1333333333vw;
    }
}

.lp-modal-photo-card
{
    position: relative;

    overflow: hidden;
}
.lp-modal-photo-card img
{
    width: 100%;
    height: 100%;

    -o-object-fit: cover;

       object-fit: cover;
}
.lp-modal-photo-card figcaption
{
    font-family: 'Yu Mincho', '游明朝体', 'YuMincho', 'Hiragino Mincho ProN', 'Hiragino Mincho Pro', 'MS Mincho', serif;
    font-size: 19px;
    font-weight: 600;
    line-height: 1.2;

    position: absolute;
    bottom: 0;
    left: 0;

    min-width: 56%;
    padding: 8px 12px;

    letter-spacing: .05rem;

    color: #fff;
    color: #fff;
    background: linear-gradient(90deg, rgba(46, 46, 46, .55), rgba(46, 46, 46, 0));
}
@media screen and (max-width: 640px)
{
    .lp-modal-photo-card figcaption
    {
        font-size: 4vw;

        padding: 1.8666666667vw 2.4vw;
    }
}

.lp-guest-reason__movie
{
    margin-top: 24px;

    text-align: center;
}
@media screen and (max-width: 640px)
{
    .lp-guest-reason__movie
    {
        margin-top: 5.3333333333vw;
    }
}

.lp-guest-reason__movieBtn,
.lp-guest-modal__closeBtn
{
    font-family: 'Noto Sans JP', 'Noto Sans', sans-serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;

    display: inline-flex;

    min-width: 174px;
    min-height: 36px;
    padding: 8px 22px;

    color: #fff;
    border-radius: 999px;
    background: #6284c6;
    box-shadow: 0 3px 6px rgba(0, 0, 0, .18);

    align-items: center;
    justify-content: center;
}
@media screen and (max-width: 640px)
{
    .lp-guest-reason__movieBtn,
    .lp-guest-modal__closeBtn
    {
        font-size: 3.2vw;

        min-width: 41.0666666667vw;
        min-height: 8.5333333333vw;
        padding: 1.8666666667vw 4.8vw;
    }
}

.lp-modal-photo-pair
{
    display: grid;

    max-width: 520px;
    margin: 30px auto 0;

    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}
.lp-modal-photo-pair img
{
    width: 100%;

    aspect-ratio: 1.35/1;
    -o-object-fit: cover;
       object-fit: cover;
}
@media screen and (max-width: 640px)
{
    .lp-modal-photo-pair
    {
        margin-top: 6.4vw;

        gap: 2.1333333333vw;
    }
}

.lp-modal-bag-grid
{
    margin: 24px auto 0;
}
@media screen and (max-width: 640px)
{
    .lp-modal-bag-grid
    {
        margin-top: 6.4vw;
    }
}

.lp-modal-bag-grid__item
{
    width: 100%;
    height: 100%;
    min-height: 148px;

    -o-object-fit: cover;

       object-fit: cover;
}
@media screen and (max-width: 640px)
{
    .lp-modal-bag-grid__item
    {
        min-height: 32vw;
    }
}

.lp-modal-bag-grid__item--large
{
    grid-row: span 2;
}

.lp-guest-modal__close
{
    margin-top: 22px;

    text-align: center;
}
@media screen and (max-width: 640px)
{
    .lp-guest-modal__close
    {
        margin-top: 4.8vw;
    }
}

.lp-guest-modal__closeBtn
{
    font-size: 16px;

    min-width: 86px;
    min-height: 28px;
    padding: 5px 16px;

    cursor: pointer;

    background: #2a5f9b;
}
@media screen and (max-width: 640px)
{
    .lp-guest-modal__closeBtn
    {
        font-size: 2.9333333333vw;

        min-width: 20.2666666667vw;
        min-height: 6.6666666667vw;
        padding: 1.3333333333vw 3.7333333333vw;
    }
}

.accordion-item
{
    margin: 1rem 0;

    border-radius: .5rem;
    background-color: #fff;
    box-shadow: 0 2px 5px 0 rgba(0, 0, 0, .25);
}

.secction_faq .section__title
{
    padding: 24px 20px 10px;

    text-align: center;
}

.secction_faq .t2
{
    font-size: 24px;
    font-weight: 700;
    line-height: 1.4;

    margin: 0 0 10px;

    color: #2a5f9b;
}

.secction_faq .line_t2 img
{
    display: block;

    max-width: 180px;
    margin: 0 auto;
}

.menu_faq
{
    display: block;

    margin-top: 18px;

    gap: 10px;
    justify-content: center;
}

.faq-item a
{
    font-size: 14px;
    font-weight: 700;
    line-height: 1.4;

    display: flex;

    min-width: 96px;
    min-height: 44px;
    padding: 8px 14px;

    text-align: center;
    text-decoration: none;

    color: #2a5f9b;
    /* border: 1px solid #2a5f9b;
    border-radius: 999px; */

    align-items: center;
    justify-content: center;
}

@media screen and (max-width: 640px)
{
    .secction_faq .section__title
    {
        padding: 6.4vw 4vw 2.6666666667vw;
    }

    .secction_faq .t2
    {
        font-size: 5.3333333333vw;
    }

    .menu_faq
    {
        gap: 2.1333333333vw;
        padding: 0 !important;
    }

    .faq-item a
    {
        font-size: 3.2vw;

        min-width: 26.6666666667vw;
        min-height: 10.6666666667vw;
        padding: 1.8666666667vw 2.6666666667vw;
    }
}

.accordion-item-header
{
    position: relative;

    display: flex;

    min-height: 3.5rem;
    padding: .5rem 3rem .5rem 1rem;

    cursor: pointer;

    align-items: center;
}

.accordion-item-header::after
{
    font-size: 2rem;

    position: absolute;
    right: 1rem;

    content: '+';
}

.accordion-item-header.active::after
{
    content: '−';
}

.accordion-item-body
{
    overflow: hidden;

    max-height: 0;

    transition: max-height .2s ease-out;
}

.accordion-item-body-content
{
    padding: 1rem;
}

.faq_content
{
    padding: 20px;
    padding-top: 0;
    padding-bottom: 40px;
}

.faq_q,
.faq_a
{
    display: flex;

    align-items: flex-start;
}

.faq_q img,
.faq_a img
{
    width: 32px;
    margin-top: 8px;
    margin-right: 10px;
}

.faq_q
{
    padding-top: 10px;
    padding-bottom: 10px;
}

.faq_q p,
.faq_a p
{
    font-size: 1.143rem;
    line-height: 2.286rem;
}

.faq_title
{
    display: flex;

    padding-top: 20px;
    padding-bottom: 10px;

    text-align: center;

    color: #3e3a39;

    align-items: center;
    justify-content: center;
}

.faq_title span
{
    font-size: 1.214rem;
    font-weight: 600;

    padding: 0 60px;
}

.btn-footer {
    border-radius: 10px;
    color: #ffffff;
    border: 0;
    padding-top: 12px;
    padding-bottom: 12px;
    width: 100%;
    position: relative;
    max-width: 280px;
    margin: 0px 10px;
    background-color: #00578e;
    color: #ffffff;
    padding-left: 15px;
    padding-right: 15px;
    text-decoration: none;
    margin: 0px 20px;
    border: 1px solid #00578e;
}
.btn-footer.gold{
        background-color: #9F926C !important;
        border: 1px solid #9F926C !important;
}
.lp-user-card__btn {
    display: flex; /* これによりwidthが効くようになる */
    width: 100%;   /* 親要素の幅いっぱいにする */
    box-sizing: border-box; /* 重要：paddingを幅に含めて計算させる */
    
    /* 既存の設定 */
    font-family: 'Noto Sans JP', 'Noto Sans', sans-serif;
    font-size: 16px;
    font-weight: bold;
    padding: 16px 8px;
    text-align: center;
    letter-spacing: .05em;
    justify-content: center;
    align-items: center;
    color: #f2eff5;
    gap: 8px;
    border-radius: 10px;
    background-color: #528ac8;
    text-decoration: none; /* aタグの下線を消す場合 */
}

.btn__footer{
    z-index: 9 !important;
}

.fixed_left .p2 a {
    color: inherit;
    text-decoration: none;
    cursor: pointer;
}
