/* ==========================================================================
   No Deposit Bonus  ( PC only / 1920 design )
   --------------------------------------------------------------------------
   orange         #E35728
   orange light   #FF8E5C
   dark teal      #002329
   teal           #147875
   teal deep      #034854
   ========================================================================== */

   @font-face {
    font-family: 'Noto Sans JP';
    src:  url(/wp-content/themes/vantage/fonts/NotoSansJP-Black.woff2) format('woff2');
    font-display: swap;
    font-style: normal;
    font-weight: 900;
}


.breadcrumb-section { display: none; }
section, footer { position: relative; z-index: 10; }

section .inner { max-width: 1280px; margin: 0 auto; padding: 0 24px; }


/* --------------------------------------------------
   banner
   -------------------------------------------------- */
.ndb-banner { position: relative; height: 599px; overflow: hidden; background-color: #FFFFFF; background-repeat: no-repeat; background-position: center top; background-size: cover; }
.ndb-banner .inner { position: relative; z-index: 3; height: 100%; }
.ndb-banner__img { position: absolute; left: 50%; margin-left: -7px; top: 0px; z-index: 1; width: 814px; height: 599px; }

.ndb-banner__con { padding-top: 50px; }

.ndb-banner__head { display: flex; align-items: flex-start; gap: 16px; }
.ndb-banner__head .tag { flex-shrink: 0; margin: 0; padding: 9px 17px; background-color: #E35728; color: #FFFFFF; font-size: 32px; font-weight: bold; line-height: 1.2; }
.ndb-banner__head .note { width: 310px; margin: 2px 0 0; font-size: 14px; line-height: 19px; color: #324E53; }

.ndb-banner__title { margin: 17px 0 0; font-size: 62px; line-height: 74px; font-weight: bold; color: #002329; }
.ndb-banner__title .big { display: block; font-size: 90px; line-height: 95px; letter-spacing: -2px; color: #E35728; font-weight: 900; }

.ndb-banner__sub { margin: 10px 0 0; font-size: 20px; line-height: 1.4; color: #2F4B51; font-weight: 600; }

.ndb-banner__label { display: flex; align-items: center; gap: 14px; margin-top: 10px; }
.ndb-banner__label .label {     margin: 0;
    padding: 8px 14px 6px 11px;
    background-color: #034854;
    color: #FFFFFF;
    font-size: 20px;
    font-weight: bold;
    line-height: 1.3; }
.ndb-banner__label .tnc { margin: 0; font-size: 20px; line-height: 1.3; color: #2F4B51; font-weight: 600; }
/* 利用規約リンク：テーマの a { color / text-decoration } を打ち消して本文色を継承 */
.ndb-banner__label .tnc .line,
.ndb-banner__label .tnc .line:hover { color: inherit; text-decoration: underline; text-underline-offset: 3px; }

.ndb-banner__btn { margin-top: 36px; }

/* .orange-button-jp（テーマ共通ボタン）の既定値を本ページ用に上書き。
   hover の拡大サークル（:before / #d43d14）はテーマ共通のものをそのまま継承する。 */
.ndb-btn.orange-button-jp { display: inline-flex; flex-direction: row; align-items: center; justify-content: center; gap: 19px; width: 336px; max-width: 100%; height: 64px; margin: 0; padding: 0; border-radius: 32px; background: linear-gradient(90deg, #FE7C55 0%, #F21E04 100%); color: #FFFFFF; font-size: 18px; line-height: 1; text-align: center; position: relative; z-index: 1; overflow: hidden; box-shadow: 0 4px 14px rgba(226, 70, 20, .25); }
.ndb-btn.orange-button-jp:hover { color: #FFFFFF; }
/* 矢印はテーマの btm-arrow-right.svg をそのまま使い、位置とサイズだけ調整 */
.ndb-btn.orange-button-jp:after { content: ""; position: static; flex-shrink: 0; right: auto; top: auto; margin: 0; width: 11px; height: 19px; background-size: contain; background-position: center; background-repeat: no-repeat; }


/* --------------------------------------------------
   stats
   -------------------------------------------------- */
.ndb-stats { position: relative; background-color: #FFFFFF; padding: 68px 0 70px; }
.ndb-stats__list { display: flex; margin: 0; padding: 0; list-style: none; }
.ndb-stats__list li { flex: 0 0 25%; text-align: center; }
.ndb-stats__list .label { margin: 0; font-size: 16px; line-height: 1.5; color: #E35728; }
.ndb-stats__list .amount { margin: 0; font-size: 32px; line-height: 1.2; font-weight: bold; color: #000000; }


/* --------------------------------------------------
   common section title
   -------------------------------------------------- */
.ndb-title-box { text-align: center; }
.ndb-title-box__p { margin: 0; font-size: 20px; line-height: 25px; font-weight: bold; color: #E35728; }
.ndb-title-box__h2 { margin: 0; font-size: 48px; line-height: 58px; font-weight: 900; color: #002329; }
.ndb-title-box__text { margin: 15px 0 0; font-size: 16px; line-height: 24px; color: #323333; }

.ndb-title-box.light .ndb-title-box__p { color: #FF8E5C; }
.ndb-title-box.light .ndb-title-box__h2 { color: #FFFFFF; }
.ndb-title-box.light .ndb-title-box__text { color: #CCD0D1; }


/* --------------------------------------------------
   merit
   -------------------------------------------------- */
.ndb-merit { position: relative; height: 770px; padding-top: 95px; background-color: #F7F8F8; background-repeat: no-repeat; background-position: center top; background-size: cover; }
/* .ndb-stats 下端のドロップシャドウ。
   .ndb-stats 側の ::after（top:100%）だと親 section の overflow:hidden で切られ、
   さらに後続 .ndb-merit の背景に隠れるため、こちら側の内側に描く。 */
.ndb-merit:before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 38px; pointer-events: none; background: linear-gradient(to bottom, rgba(0, 0, 0, .15) 0%, rgba(0, 0, 0, .06) 45%, rgba(0, 0, 0, 0) 100%); }
.ndb-merit .ndb-title-box__text { margin-top: 13px; }

.ndb-merit__list { display: flex; justify-content: center; align-items: stretch; gap: 20px; margin: 56px 0 0; padding: 0; list-style: none; }
.ndb-merit__list li { width: 261px; padding: 41px 30px 31px; border-radius: 10px; background-color: #F5F5F5; text-align: center; box-shadow: 0 6px 18px rgba(0, 0, 0, .06); transition: transform .3s ease, box-shadow .3s ease, background-color .3s ease; }
.ndb-merit__list li:hover { transform: translateY(-6px); background-color: #FFFFFF; box-shadow: 0 14px 28px rgba(0, 0, 0, .12); }
.ndb-merit__list li .img-box img { transition: transform .3s ease; }
.ndb-merit__list li:hover .img-box img { transform: scale(1.08); }
.ndb-merit__list .img-box { height: 81px; display: flex; align-items: center; justify-content: center; }
.ndb-merit__list .img-box img { display: block; }
.ndb-merit__list .title { margin: 12px 0 0; font-size: 18px; line-height: 22px; font-weight: bold; color: #E35728; }
.ndb-merit__list .text { margin: 11px 0 0; font-size: 14px; line-height: 19px; color: #3E3E3E; }


/* --------------------------------------------------
   bonus level
   -------------------------------------------------- */
/* 背景は素材ではなく CSS グラデーションで表現 */
.ndb-level { height: 570px; display: flex; align-items: center; background-color: #000000;
    background-image:
        radial-gradient(ellipse 1000px 620px at 100% 0%, rgba(140, 54, 24, .95) 0%, rgba(62, 24, 11, .55) 45%, rgba(0, 0, 0, 0) 78%),
        radial-gradient(ellipse 760px 620px at 0% 100%, rgba(12, 62, 70, .95) 0%, rgba(6, 32, 36, .55) 48%, rgba(0, 0, 0, 0) 80%);
    background-repeat: no-repeat;
}
.ndb-level .inner { width: 100%; }
.ndb-level__box { max-width: 1024px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; }

.ndb-level__left { flex: 1; }
.ndb-level__p { margin: 0; font-size: 20px; line-height: 25px; font-weight: bold; color: #FF8E5C; }
.ndb-level__h2 { margin: 0; font-size: 48px; line-height: 60px; font-weight: bold; color: #FFFFFF; }
.ndb-level__text { margin: 14px 0 0; font-size: 16px; line-height: 24px; color: #BFBFBF; }

.ndb-level__right { flex: 0 0 358px; }
.ndb-level__card { width: 358px; height: 175px; padding-top: 31px; border-radius: 10px; text-align: center; }
.ndb-level__card + .ndb-level__card { margin-top: 20px; }
.ndb-level__card.max { background-color: #E35728; }
.ndb-level__card.normal { background-color: #002329; }

/* 幅は内容に合わせて可変（「最大ボーナス」と「通常」で幅が異なる） */
.ndb-level__card .pill { display: inline-flex; align-items: center; justify-content: center; gap: 3px; width: auto; height: 24px; margin: 0; padding: 0 8px; border-radius: 12px; font-size: 16px; line-height: 1; color: #FFFFFF; }
.ndb-level__card.max .pill { background-color: rgba(255, 255, 255, .16); }
.ndb-level__card.normal .pill { background-color: rgba(255, 255, 255, .15); }
.ndb-level__card .pill i { flex-shrink: 0; font-style: normal; font-size: 16px; line-height: 1; opacity: .7; }

.ndb-level__card .title {     margin: 20px 0 0;
    font-size: 28px;
    line-height: 1.2;
    font-weight: bold;
    color: #FFFFFF;}
.ndb-level__card .amount {     margin: 4px 0 0;
    font-size: 28px;
    line-height: 1.2;
    font-weight: bold;
    color: #FFFFFF; }


/* --------------------------------------------------
   steps
   -------------------------------------------------- */
.ndb-steps { height: 512px; padding-top: 96px; background-color: #001B1F; background-repeat: no-repeat; background-position: center top; background-size: cover; }

.ndb-steps__list { max-width: 1024px; margin: 52px auto 0; padding: 0; list-style: none; display: flex; align-items: flex-start; }
.ndb-steps__list li { position: relative; padding-left: 13px; }
.ndb-steps__list li:nth-child(1),
.ndb-steps__list li:nth-child(2) { flex: 0 0 421px; }
.ndb-steps__list li:nth-child(3) { flex: 1; }

.ndb-steps__list li:not(:last-child):after { content: ""; position: absolute; left: 121px; top: 24px; width: 255px; height: 0; border-top: 2px dotted #E35728; }

.ndb-steps__list .num { display: flex; align-items: center; justify-content: center; width: 50px; height: 50px; border-radius: 50%; font-size: 20px; font-weight: bold; line-height: 1; color: #FFFFFF; }
.ndb-steps__list li:nth-child(1) .num { background-color: #FF8E5C; }
.ndb-steps__list li:nth-child(2) .num { background-color: #E35728; }
.ndb-steps__list li:nth-child(3) .num { background-color: #147875; }

.ndb-steps__list .title { margin: 7px 0 0; font-size: 20px; line-height: 25px; font-weight: bold; }
.ndb-steps__list li:nth-child(1) .title { color: #FF8E5C; }
.ndb-steps__list li:nth-child(2) .title { color: #E35728; }
.ndb-steps__list li:nth-child(3) .title { color: #147875; }

.ndb-steps__list .text { margin: 15px 0 0; font-size: 16px; line-height: 24px; color: #E5E1DF; }
.ndb-steps__list li:nth-child(1) .text { max-width: 400px; }


/* --------------------------------------------------
   account type table + notice
   -------------------------------------------------- */
.ndb-account { background-color: #F5F5F5; padding: 94px 0 98px; }

.ndb-account__table { max-width: 1024px; margin: 0 auto; border-radius: 10px; overflow: hidden; box-shadow: 0 6px 20px rgba(0, 0, 0, .08); }
.ndb-account__table table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.ndb-account__table th { height: 60px; font-size: 18px; line-height: 1.4; font-weight: bold; color: #FFFFFF; text-align: center; }
.ndb-account__table th:nth-child(1) { background-color: #E35728; }
.ndb-account__table th:nth-child(2) { background-color: #002329; }
.ndb-account__table td { height: 59px; font-size: 18px; line-height: 1.4; color: #000000; text-align: center; background-color: #FFFFFF; }
.ndb-account__table tbody tr:nth-child(odd) td { background-color: #F5F5F5; }

.ndb-account__notice { max-width: 1024px; height: 143px; margin: 30px auto 0; padding-left: 37px; display: flex; align-items: center; gap: 36px; border-radius: 10px; background-color: #E35728; background-repeat: no-repeat; background-position: center; background-size: cover; box-shadow: 0 6px 20px rgba(0, 0, 0, .12); }
.ndb-account__notice .icon { position: static; flex: 0 0 80px; width: 80px; }
.ndb-account__notice .icon img { display: block; width: 100%; height: auto; }
.ndb-account__notice .text-box { flex: 1; }
.ndb-account__notice .title,
.ndb-account__notice .text { margin: 0; font-size: 16px; line-height: 24px; color: #FFFFFF; }


/* --------------------------------------------------
   cta
   -------------------------------------------------- */
.ndb-cta { background-color: #FFFFFF; padding: 88px 0 130px; }
.ndb-cta .inner { max-width: 1451px; }
.ndb-cta__box { position: relative; height: 212px; padding: 16px 42px 0; border-radius: 12px; background: linear-gradient(90deg, #006676 0%, #011F24 100%); box-shadow: 0 10px 28px rgba(0, 0, 0, .15); }
.ndb-cta__box .text-box { position: relative; z-index: 3; }
.ndb-cta__box .title { margin: 0; font-size: 48px; line-height: 48px; font-weight: bold; color: #FFFFFF; }
.ndb-cta__box .text { margin: 3px 0 0; font-size: 16px; line-height: 24px; color: #C8DADE; }

.ndb-cta__btn { position: relative; z-index: 1; overflow: hidden; display: inline-flex; align-items: center; width: 248px; height: 56px; margin: 21px 0 0 6px; padding: 0 56px 0 26px; border-radius: 28px; background-color: #E35728; transition: .3s all; }
/* hover はサイト共通ボタン（.orange-button-jp）と同じ拡大サークル */
.ndb-cta__btn:before { content: ""; position: absolute; z-index: -1; top: 50%; left: 50%; width: 24px; height: 24px; border-radius: 50%; background-color: #d43d14; transform-origin: center; transform: translate3d(-50%, -50%, 0) scale(0, 0); transition: transform .45s ease-in-out; }
.ndb-cta__btn:hover:before { transform: translate3d(-50%, -50%, 0) scale(15, 15); }
.ndb-cta__btn span { font-size: 16px; line-height: 1.2; color: #FFFFFF; }
.ndb-cta__btn .icon { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); width: 44px; height: 44px; border-radius: 50%; background-color: #FFFFFF; }
.ndb-cta__btn .icon:before { content: ""; position: absolute; left: 50%; top: 50%; width: 17px; height: 17px; transform: translate(-50%, -50%) rotate(0deg); transition: transform .35s ease-in-out; background: url(/wp-content/themes/vantage/images/button-right-arrow-icon.webp?v=1) no-repeat center; background-size: contain; }
/* hover：斜め上向きの矢印を右向きに回転 */
.ndb-cta__btn:hover .icon:before { transform: translate(-50%, -50%) rotate(45deg); }

.ndb-cta__box .img { position: absolute; right: -6px; bottom: -4px; z-index: 1; width: 512px; height: 300px; }


/* --------------------------------------------------
   pc / mb switch + merit accordion arrow
   -------------------------------------------------- */
.ndb-banner__con > .note.mb { display: none; }
.ndb-merit__list .acc-arrow { display: none; }


/* ==========================================================================
   TABLET  ( <= 1240px / design 768 )
   ========================================================================== */
@media (max-width: 1240px) {

    section .inner { padding: 0 32px; }

    /* ---- banner ---- */
    .ndb-banner { height: auto; }
    .ndb-banner .inner { height: auto; }
    .ndb-banner__con { padding: 84px 0 0; text-align: center; }

    .ndb-banner__head { justify-content: center; gap: 10px; }
    .ndb-banner__head .tag { padding: 9px 14px; font-size: 28px; }
    .ndb-banner__head .note { width: auto; max-width: 300px; margin-top: 3px; font-size: 13px; line-height: 20px; text-align: left; }

    .ndb-banner__title { margin-top: 16px; font-size: 48px; line-height: 56px; }
    .ndb-banner__title .big { display: inline; font-size: 72px; line-height: 1.08; }
    .ndb-banner__title br { display: none; }

    .ndb-banner__sub { margin-top: 8px; }

    .ndb-banner__label { justify-content: center; gap: 12px; margin-top: 10px; }
    .ndb-banner__label .label { padding: 6px 12px; font-size: 17px; }
    .ndb-banner__label .tnc { font-size: 17px; }

    .ndb-banner__btn { margin-top: 33px; }
    .ndb-btn.orange-button-jp { width: 312px; height: 68px; border-radius: 34px; }

    .ndb-banner__img { position: static; left: auto; top: auto; margin: 17px 0 0; width: 100%; height: auto; display: block; }

    /* ---- stats ---- */
    .ndb-stats { padding: 33px 0 40px; }
    .ndb-merit:before { display: none; }  /* 影は PC のみ（PAD/MB デザインには無い） */
    .ndb-stats .inner { padding: 0 20px; }
    .ndb-stats__list { display: block; }
    .ndb-stats__list li { display: flex; align-items: baseline; gap: 7px; padding: 12px 0; text-align: left; border-bottom: 1px dotted #C9C9C9; }
    .ndb-stats__list .label { font-size: 14px; }
    .ndb-stats__list .amount { font-size: 25px; }

    /* ---- merit ---- */
    .ndb-merit { height: auto; padding: 58px 0 68px; }
    .ndb-title-box__p { font-size: 18px; }
    .ndb-title-box__h2 { font-size: 32px; line-height: 39px; }
    .ndb-title-box__text br { display: none; }
    .ndb-merit .ndb-title-box__text { max-width: 620px; margin-left: auto; margin-right: auto; }

    .ndb-merit__list { gap: 16px; margin-top: 38px; }
    .ndb-merit__list li { width: auto; flex: 1 1 0; min-width: 0; padding: 41px 32px 31px; }
    .ndb-merit__list .text { line-height: 20px; }

    /* ---- bonus level ---- */
    .ndb-level { height: auto; display: block; padding: 57px 0 60px; }
    .ndb-level__box { display: block; max-width: none; text-align: center; }
    .ndb-level__left { margin-bottom: 38px; }
    .ndb-level__h2 { font-size: 32px; line-height: 39px; }
    .ndb-level__h2 br { display: none; }
    .ndb-level__text { margin-top: 12px; }
    .ndb-level__text br { display: none; }

    .ndb-level__right { flex: none; display: flex; gap: 16px; }
    .ndb-level__card { width: auto; flex: 1 1 0; min-width: 0; height: auto; padding: 30px 12px 34px; }
    .ndb-level__card + .ndb-level__card { margin-top: 0; }
    .ndb-level__card .pill { font-size: 14px; }
    .ndb-level__card .pill i { font-size: 11px; }
    .ndb-level__card .title { margin-top: 14px; font-size: 19px; }
    .ndb-level__card .amount { font-size: 18px; }

    /* ---- steps ---- */
    .ndb-steps { height: auto; padding: 58px 0 74px; }
    .ndb-steps__list { max-width: none; margin-top: 44px; }
    .ndb-steps__list li { padding-left: 4px; }
    .ndb-steps__list li:nth-child(1),
    .ndb-steps__list li:nth-child(2) { flex: 0 0 38.4%; }
    .ndb-steps__list li:not(:last-child):after { left: 115px; right: 52px; width: auto; top: 21px; }
    .ndb-steps__list .num { width: 44px; height: 44px; font-size: 18px; }
    .ndb-steps__list .title { font-size: 17px; line-height: 24px; }
    .ndb-steps__list li:nth-child(1) .text { max-width: none; }

    /* ---- account type ---- */
    .ndb-account { padding: 56px 0 78px; }
    .ndb-account__table,
    .ndb-account__notice { max-width: none; }
    .ndb-account__notice { height: auto; min-height: 143px; padding: 22px 20px 22px 37px; }
    .ndb-account__notice .icon { flex: 0 0 72px; width: 72px; }

    /* ---- cta ---- */
    .ndb-cta { padding: 73px 0 57px; }
    .ndb-cta .inner { max-width: none; padding: 0 88px; }
    .ndb-cta__box { height: auto; padding: 24px 20px 0; text-align: center; }
    .ndb-cta__box .title { font-size: 32px; line-height: 42px; }
    .ndb-cta__box .text { margin-top: 6px; }
    .ndb-cta__btn { width: 244px; max-width: 100%; height: 56px; margin: 20px auto 0; padding: 0 54px 0 22px; }
    .ndb-cta__box .img { position: static; right: auto; bottom: auto; display: block; width: 100%; max-width: 360px; height: auto; margin: 6px auto 0; }
}


/* ==========================================================================
   MERIT / CTA  switch to stacked layout  ( <= 650px )
   ========================================================================== */
@media (max-width: 650px) {

    /* ---- merit : accordion ---- */
    .ndb-merit { padding-bottom: 30px; }
    .ndb-merit__list { display: block; margin-top: 30px; }
    .ndb-merit__list li { width: auto; display: flex; flex-wrap: wrap; align-items: center; gap: 22px; padding: 22px 4px; border-radius: 0; background-color: transparent; box-shadow: none; text-align: left; cursor: pointer; }
    /* アコーディオン時はカードの lift hover を無効化 */
    .ndb-merit__list li:hover { transform: none; background-color: transparent; box-shadow: none; }
    .ndb-merit__list li:hover .img-box img { transform: none; }
    .ndb-merit__list .img-box { flex: 0 0 42px; height: auto; }
    .ndb-merit__list .img-box img { width: 100%; height: auto; }
    .ndb-merit__list .title { flex: 1; margin: 0; font-size: 18px; line-height: 26px; }
    .ndb-merit__list .title br { display: none; }
    .ndb-merit__list .text { display: none; flex: 0 0 100%; margin: 12px 0 0; }
    .ndb-merit__list li.active .text { display: block; }

    .ndb-merit__list .acc-arrow { display: block; flex: 0 0 14px; width: 14px; height: 14px; position: relative; }
    .ndb-merit__list .acc-arrow:after { content: ""; position: absolute; left: 0; top: 0; width: 12px; height: 12px; border-right: 2px solid #5A6A6D; border-bottom: 2px solid #5A6A6D; transform: rotate(45deg); transition: transform .25s; }
    .ndb-merit__list li.active .acc-arrow:after { transform: rotate(-135deg); }

    /* ---- cta : full width box, stacked ---- */
    .ndb-cta { padding: 60px 0 40px; }
    .ndb-cta .inner { padding: 0 20px; }
    .ndb-cta__box { padding: 24px 16px 0; }
    .ndb-cta__box .title { font-size: 26px; line-height: 34px; }
    .ndb-cta__box .text { margin-top: 5px; font-size: 15px; line-height: 22px; }
    .ndb-cta__btn { width: 232px; height: 52px; margin-top: 18px; padding: 0 50px 0 20px; border-radius: 26px; }
    .ndb-cta__btn span { font-size: 15px; }
    .ndb-cta__btn .icon { right: 5px; width: 40px; height: 40px; }
    .ndb-cta__box .img { max-width: 340px; }
}


/* ==========================================================================
   MOBILE  ( <= 510px / design 393 )
   ========================================================================== */
@media (max-width: 510px) {

    section .inner { padding: 0 20px; }

    /* ---- banner ---- */
    .ndb-banner__con { padding-top: 32px; }

    .ndb-banner__head { display: block; }
    .ndb-banner__head .tag { display: inline-block; padding: 9px 13px; font-size: 18px; }
    .ndb-banner__head .note.pc { display: none; }
    .ndb-banner__con > .note.mb { display: block; width: auto; max-width: none; margin: 26px 0 0; font-size: 12px; line-height: 16px; color: #324E53; text-align: center; }

    .ndb-banner__title { margin-top: 14px; font-size: 32px; line-height: 38px; }
    .ndb-banner__title .big { display: block; font-size: 50px; line-height: 1.04; letter-spacing: -1px; }
    .ndb-banner__title br { display: inline; }

    .ndb-banner__sub { margin-top: 6px; font-size: 14px; }

    .ndb-banner__label { flex-wrap: wrap; justify-content: center; gap: 6px; margin-top: 8px; }
    .ndb-banner__label .label { padding: 5px 8px; font-size: 13px; }
    .ndb-banner__label .tnc { font-size: 13px; }

    .ndb-banner__btn { margin-top: 30px; }
    .ndb-btn.orange-button-jp { width: 262px; height: 48px; border-radius: 24px; font-size: 16px; gap: 16px; }
    .ndb-btn.orange-button-jp:after { width: 9px; height: 16px; }

    .ndb-banner__img { margin-top: 22px; }

    /* ---- stats ---- */
    .ndb-stats { padding: 22px 0 46px; }
    .ndb-stats__list li { padding: 8px 0; }
    .ndb-stats__list .amount { font-size: 16px; }

    /* ---- merit ---- */
    .ndb-merit { padding: 40px 0 26px; }
    .ndb-title-box__p { font-size: 14px; line-height: 20px; }
    .ndb-title-box__h2 { font-size: 20px; line-height: 27px; }
    .ndb-title-box__text { margin-top: 12px; font-size: 14px; line-height: 20px; }
    .ndb-merit__list { margin-top: 30px; }

    /* ---- bonus level ---- */
    .ndb-level { padding: 40px 0 44px; }
    .ndb-level__left { margin-bottom: 30px; }
    .ndb-level__p { font-size: 14px; line-height: 20px; }
    .ndb-level__h2 { font-size: 20px; line-height: 28px; }
    .ndb-level__h2 br { display: inline; }
    .ndb-level__text { margin-top: 12px; font-size: 14px; line-height: 20px; }

    .ndb-level__right { display: block; }
    .ndb-level__card { width: auto; padding: 16px 12px 20px; }
    .ndb-level__card + .ndb-level__card { margin-top: 8px; }
    .ndb-level__card .pill { height: 20px; padding: 0 7px; font-size: 12px; }
    .ndb-level__card .pill i { font-size: 10px; }
    .ndb-level__card .title { margin-top: 12px; font-size: 16px; }
    .ndb-level__card .amount { margin-top: 3px; font-size: 15px; }

    /* ---- steps : vertical ---- */
    .ndb-steps { padding: 40px 0 46px; }
    .ndb-steps__list { display: block; margin-top: 28px; }
    .ndb-steps__list li,
    .ndb-steps__list li:nth-child(1),
    .ndb-steps__list li:nth-child(2),
    .ndb-steps__list li:nth-child(3) { flex: none; padding: 0 0 18px 33px; }
    .ndb-steps__list li:last-child { padding-bottom: 0; }

    .ndb-steps__list li:not(:last-child):after { left: 16px; right: auto; top: 40px; bottom: 4px; width: 0; height: auto; border-top: none; border-left: 2px dotted #E35728; }

    .ndb-steps__list .num { position: absolute; left: 0; top: 0; width: 34px; height: 34px; font-size: 14px; }
    .ndb-steps__list .title { margin: 4px 0 0; font-size: 16px; line-height: 24px; }
    .ndb-steps__list .text { margin-top: 6px; font-size: 14px; line-height: 20px; }

    /* ---- account type ---- */
    .ndb-account { padding: 42px 0 50px; }
    .ndb-account__table th { height: auto; padding: 14px 8px; font-size: 16px; line-height: 22px; }
    .ndb-account__table td { height: auto; padding: 14px 6px; font-size: 14px; line-height: 20px; }

    .ndb-account__notice { height: auto; margin-top: 24px; padding: 22px 14px; gap: 16px; align-items: flex-start; }
    .ndb-account__notice .icon { flex: 0 0 53px; width: 53px; }
    .ndb-account__notice .title,
    .ndb-account__notice .text { font-size: 14px; line-height: 20px; }

    /* ---- cta ---- */
    .ndb-cta { padding: 56px 0 34px; }
    .ndb-cta .inner { padding: 0 20px; }
    .ndb-cta__box { padding: 22px 14px 0; }
    .ndb-cta__box .title { font-size: 20px; line-height: 28px; }
    .ndb-cta__box .text { margin-top: 4px; font-size: 14px; line-height: 20px; }
    .ndb-cta__btn { width: 216px; height: 48px; margin-top: 18px; padding: 0 46px 0 18px; border-radius: 24px; }
    .ndb-cta__btn span { font-size: 14px; }
    .ndb-cta__btn .icon { right: 5px; width: 38px; height: 38px; }
    .ndb-cta__btn .icon:before { width: 14px; height: 14px; }
    .ndb-cta__box .img { max-width: 340px; margin-top: 4px; }
}

/* ! vantagetrading|2026-09-28 16:35:00 ! */