@charset "utf-8";

.ninbai-page {
    --jr-ink: #1c1c1c;
    --jr-deep: #123c5a;
    --jr-blue: #0f5c8c;
    --jr-teal: #126e61;
    --jr-gold: #b88724;
    --jr-cream: #fff7e8;
    --jr-mist: #f4f7fa;
    background-color: #fff;
}

.ninbai-page #gHeader {
    position: absolute;
    z-index: 40;
}

.ninbai-page #gHeader .naviBox {
    width: auto;
    max-width: none;
    padding-right: 28px;
    align-items: center;
    justify-content: flex-end;
}

.ninbai-page #gNavi {
    width: auto;
}

.ninbai-page #gNavi li {
    background-image: url("https://japanrealtor.jp/img/common/line01.png");
}

.ninbai-page #gNavi li a {
    padding: 0 13px 0 8px;
    color: #fff;
    font-size: 1.16rem;
    letter-spacing: 0.06em;
    white-space: nowrap;
}

.ninbai-page #gNavi ul.flex {
    align-items: center;
    flex-wrap: nowrap;
}

.ninbai-page .naviBox .hLink {
    display: none;
}

.ninbai-page .hLink a {
    white-space: nowrap;
}

@media all and (max-width: 1320px) {
    .ninbai-page #gNavi li {
        padding-left: 0;
        padding-right: 0;
    }

    .ninbai-page #gNavi li a {
        padding: 0 9px 0 6px;
        font-size: 1.08rem;
        letter-spacing: 0.02em;
    }
}

.ninbai-page main p,
.ninbai-page main li,
.ninbai-page main dd {
    font-size: 1.56rem;
}

.ninbai-hero {
    position: relative;
    min-height: 760px;
    overflow: hidden;
    background: linear-gradient(90deg, rgba(10, 23, 35, 0.88), rgba(18, 60, 90, 0.5), rgba(0, 0, 0, 0.3)), url("https://japanrealtor.jp/img/index/main_bg01.jpg") no-repeat center center / cover;
}

.ninbai-hero::after {
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 1;
    width: 48%;
    height: 100%;
    background: rgba(255, 255, 255, 0.08);
    content: "";
    pointer-events: none;
    transform: skewX(-10deg) translateX(28%);
    transform-origin: bottom right;
}

.ninbai-hero_block {
    position: absolute;
    top: 0;
    left: -14%;
    width: 52%;
    height: 100%;
    background-color: rgba(15, 92, 140, 0.78);
    transform: skewX(-10deg);
    transform-origin: top left;
    z-index: 1;
}

.ninbai-hero_person {
    position: absolute;
    top: 112px;
    right: max(44px, calc((100vw - 1180px) / 2 + 34px));
    z-index: 1;
    width: min(28vw, 350px);
    aspect-ratio: 1122 / 1402;
    clip-path: polygon(8% 0, 100% 0, 92% 100%, 0 100%);
    opacity: 0.9;
    pointer-events: none;
    box-shadow: 0 26px 70px rgba(5, 22, 36, 0.28);
}

.ninbai-hero_person::before {
    position: absolute;
    inset: 0;
    z-index: 2;
    background: linear-gradient(90deg, rgba(18, 60, 90, 0.54), rgba(18, 60, 90, 0.08) 58%), linear-gradient(180deg, rgba(7, 29, 45, 0) 68%, rgba(7, 29, 45, 0.76) 100%);
    content: "";
}

.ninbai-hero_person::after {
    position: absolute;
    inset: 0;
    z-index: 3;
    border: 1px solid rgba(255, 255, 255, 0.24);
    content: "";
}

.ninbai-hero_person img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    filter: saturate(0.92) contrast(0.98);
}

.ninbai-hero_inner {
    position: relative;
    z-index: 2;
    padding-top: 170px;
    color: #fff;
}

.ninbai-hero_kicker {
    margin-bottom: 18px;
    color: #f2d8a3;
    font-size: 1.3rem;
    letter-spacing: 0.22em;
}

.ninbai-hero_title {
    margin-bottom: 24px;
    max-width: 850px;
    font-size: 5.4rem;
    font-weight: 700;
    line-height: 1.16;
    letter-spacing: 0.02em;
}

.ninbai-hero_lead {
    max-width: 760px;
    margin-bottom: 34px;
    font-size: 1.7rem;
    line-height: 2.2;
    letter-spacing: 0.08em;
}

.ninbai-hero_actions,
.ninbai-cta_actions {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}

.ninbai-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 230px;
    min-height: 62px;
    padding: 0 26px;
    box-sizing: border-box;
    color: #fff !important;
    font-size: 1.5rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-decoration: none;
    border: 1px solid rgba(255, 255, 255, 0.26);
    border-radius: 4px;
    box-shadow: 0 16px 32px rgba(5, 22, 36, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.18);
    overflow: hidden;
    transition: box-shadow 0.24s ease, filter 0.24s ease, transform 0.24s ease;
}

.ninbai-btn::after {
    position: absolute;
    inset: 1px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 3px;
    content: "";
}

.ninbai-btn:hover {
    filter: brightness(1.04);
    box-shadow: 0 20px 38px rgba(5, 22, 36, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.2);
    transform: translateY(-2px);
}

.ninbai-btn:focus-visible,
.ninbai-sim_btn:focus-visible,
.ninbai-sim_nav button:focus-visible,
.ninbai-fixed-cta a:focus-visible {
    outline: 2px solid #f2d8a3;
    outline-offset: 3px;
}

.ninbai-btn_primary {
    background: linear-gradient(135deg, #0c4f7c 0%, #176b9d 58%, #0d4162 100%);
}

.ninbai-btn_tel {
    color: #1c1c1c !important;
    background: linear-gradient(180deg, #fff 0%, #f4f7fa 100%);
    border-color: rgba(255, 255, 255, 0.82);
    font-family: "Roboto", sans-serif;
    font-size: 1.8rem;
    letter-spacing: 0.08em;
    box-shadow: 0 16px 32px rgba(5, 22, 36, 0.2), inset 0 0 0 1px rgba(184, 135, 36, 0.18);
}

.ninbai-btn_line {
    background: linear-gradient(135deg, #06c755 0%, #05b24c 58%, #038d3b 100%);
    border-color: rgba(255, 255, 255, 0.22);
}

.ninbai-btn_sim {
    color: #1c1c1c !important;
    background: linear-gradient(135deg, #f7e3b5 0%, #dfbc73 100%);
    border-color: rgba(255, 255, 255, 0.56);
    box-shadow: 0 16px 32px rgba(5, 22, 36, 0.18), inset 0 0 0 1px rgba(184, 135, 36, 0.2);
}

.ninbai-hero_declarations {
    max-width: 760px;
    margin: 30px 0 0;
}

.ninbai-hero_declarations_title {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    margin-bottom: 12px;
    padding: 7px 14px;
    color: #173d5b;
    background: rgba(255, 255, 255, 0.9);
    border-left: 4px solid var(--jr-gold);
    font-size: 1.34rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    box-sizing: border-box;
}

.ninbai-hero_declarations_grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(170px, 1fr));
    gap: 12px;
}

.ninbai-hero_declarations article {
    position: relative;
    min-height: 140px;
    padding: 22px 20px 20px;
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid rgba(255, 255, 255, 0.62);
    border-radius: 4px;
    box-shadow: 0 18px 38px rgba(5, 22, 36, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.72);
    backdrop-filter: blur(10px);
    box-sizing: border-box;
}

.ninbai-hero_declarations article::before {
    position: absolute;
    left: 14px;
    right: 14px;
    top: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--jr-gold), #f2d8a3);
    content: "";
}

.ninbai-hero_declarations span {
    display: block;
    margin-bottom: 10px;
    color: var(--jr-deep);
    font-size: 1.9rem;
    line-height: 1.45;
    font-weight: 700;
    letter-spacing: 0.05em;
}

.ninbai-hero_declarations p {
    color: var(--jr-ink);
    font-size: 1.2rem;
    line-height: 1.85;
    letter-spacing: 0.05em;
}

.ninbai-hero_notes {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 28px;
}

.ninbai-hero_notes li {
    padding: 9px 18px;
    color: #fff;
    background: rgba(9, 32, 48, 0.38);
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-left: 3px solid rgba(242, 216, 163, 0.86);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12);
    letter-spacing: 0.08em;
}

.ninbai-hero_guides {
    position: relative;
    z-index: 3;
    padding: 44px 0 48px;
    background: linear-gradient(180deg, #f7f2e8 0%, #fffaf1 100%);
    border-bottom: 1px solid rgba(184, 135, 36, 0.18);
}

.ninbai-hero_guides_head {
    display: grid;
    grid-template-columns: minmax(280px, 0.72fr) minmax(320px, 1fr);
    gap: 34px;
    align-items: end;
    margin-bottom: 24px;
}

.ninbai-hero_guides_head h2 {
    color: var(--jr-deep);
    font-size: 3.2rem;
    line-height: 1.35;
    letter-spacing: 0.04em;
}

.ninbai-hero_guides_head p {
    color: #283642;
    font-size: 1.34rem;
    line-height: 2;
    letter-spacing: 0.05em;
}

.ninbai-hero_guides_grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.ninbai-hero_guides_grid article {
    position: relative;
    min-height: 230px;
    padding: 20px 18px 18px;
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(18, 60, 90, 0.12);
    border-top: 3px solid var(--jr-gold);
    border-radius: 4px;
    box-shadow: 0 14px 32px rgba(15, 40, 56, 0.08);
    box-sizing: border-box;
    transition: transform 0.22s ease, box-shadow 0.22s ease;
}

.ninbai-hero_guides_grid article:hover {
    box-shadow: 0 18px 38px rgba(15, 40, 56, 0.13);
    transform: translateY(-3px);
}

.ninbai-hero_guides_grid span {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    margin-bottom: 12px;
    padding: 0 10px;
    color: #173d5b;
    background: #f3dfad;
    font-size: 1.05rem;
    font-weight: 700;
    letter-spacing: 0.1em;
}

.ninbai-hero_guides_grid h3 {
    min-height: 58px;
    margin-bottom: 12px;
    color: var(--jr-deep);
    font-size: 1.58rem;
    line-height: 1.55;
    letter-spacing: 0.04em;
}

.ninbai-hero_guides_grid p {
    color: #303840;
    font-size: 1.16rem;
    line-height: 1.85;
    letter-spacing: 0.03em;
}

.ninbai-hero_guides_grid a {
    display: inline-flex;
    align-items: center;
    margin-top: 14px;
    color: #0f4f78;
    font-size: 1.16rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-decoration: none;
}

.ninbai-hero_guides_grid a::after {
    margin-left: 8px;
    color: var(--jr-gold);
    content: ">";
}

.ninbai-hero_guides_more {
    margin-top: 22px;
    text-align: right;
}

.ninbai-hero_guides_more a {
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    padding: 0 18px;
    color: #fff;
    background: #123c5a;
    border-left: 3px solid var(--jr-gold);
    font-size: 1.26rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-decoration: none;
    transition: filter 0.2s ease, transform 0.2s ease;
}

.ninbai-hero_guides_more a:hover {
    filter: brightness(1.05);
    transform: translateY(-2px);
}

.ninbai-doc-tabs {
    position: fixed;
    top: 118px;
    left: max(18px, calc((100vw - 1440px) / 2 + 22px));
    z-index: 60;
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: 88px;
    pointer-events: auto;
}

.ninbai-doc-tabs a {
    display: grid;
    place-items: center;
    min-height: 54px;
    padding: 9px 8px;
    color: #fff;
    font-size: 1.12rem;
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: 0.08em;
    text-align: center;
    text-decoration: none;
    background: rgba(9, 32, 48, 0.44);
    border: 1px solid rgba(255, 255, 255, 0.24);
    border-left: 3px solid rgba(242, 216, 163, 0.9);
    border-radius: 0 5px 5px 0;
    box-shadow: 0 12px 28px rgba(5, 22, 36, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(8px);
    box-sizing: border-box;
    transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease;
}

.ninbai-doc-tabs a span {
    display: block;
    margin-bottom: 4px;
    color: #f2d8a3;
    font-family: "Roboto", sans-serif;
    font-size: 0.95rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.12em;
}

.ninbai-doc-tabs a:hover,
.ninbai-doc-tabs a:focus-visible {
    background: rgba(15, 92, 140, 0.7);
    border-color: rgba(242, 216, 163, 0.7);
    transform: translateX(6px);
}

.ninbai-hub_block {
    margin-top: 42px;
    padding: 30px;
    color: var(--jr-ink);
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid rgba(18, 60, 90, 0.14);
    border-top: 4px solid var(--jr-gold);
    box-shadow: 0 18px 42px rgba(18, 60, 90, 0.12);
    box-sizing: border-box;
}

.ninbai-hub_block.is-dark {
    color: #fff;
    background: rgba(8, 29, 45, 0.88);
    border-color: rgba(255, 255, 255, 0.16);
    box-shadow: 0 20px 44px rgba(0, 0, 0, 0.22);
}

.ninbai-hub_grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 24px;
}

.ninbai-hub_grid article {
    padding: 20px 18px 18px;
    background: #f4f7fa;
    border-left: 3px solid var(--jr-blue);
    box-sizing: border-box;
}

.ninbai-hub_block.is-dark .ninbai-hub_grid article {
    background: rgba(255, 255, 255, 0.08);
    border-left-color: #f2d8a3;
}

.ninbai-hub_grid span {
    display: block;
    margin-bottom: 8px;
    color: var(--jr-blue);
    font-size: 1.12rem;
    font-weight: 700;
    letter-spacing: 0.12em;
}

.ninbai-hub_block.is-dark .ninbai-hub_grid span {
    color: #f2d8a3;
}

.ninbai-hub_grid p {
    font-size: 1.34rem;
    line-height: 1.9;
    letter-spacing: 0.04em;
}

.ninbai-hub_more {
    display: grid;
    grid-template-columns: 1.05fr 1fr;
    gap: 22px;
    align-items: stretch;
}

.ninbai-hub_detail {
    display: block;
    padding: 24px 26px;
    color: #fff !important;
    text-decoration: none;
    background: linear-gradient(135deg, #123c5a 0%, #0f5c8c 100%);
    border-left: 5px solid var(--jr-gold);
    box-sizing: border-box;
    transition: filter 0.22s ease, transform 0.22s ease;
}

.ninbai-hub_detail:hover,
.ninbai-hub_detail:focus-visible {
    filter: brightness(1.05);
    transform: translateY(-2px);
}

.ninbai-hub_detail span {
    display: block;
    margin-bottom: 8px;
    color: #f2d8a3;
    font-size: 1.1rem;
    font-weight: 700;
    letter-spacing: 0.18em;
}

.ninbai-hub_detail strong {
    display: block;
    margin-bottom: 10px;
    font-size: 1.85rem;
    font-weight: 500;
    line-height: 1.55;
    letter-spacing: 0.06em;
}

.ninbai-hub_detail em {
    display: block;
    color: #dbe7ef;
    font-size: 1.28rem;
    font-style: normal;
    line-height: 1.8;
    letter-spacing: 0.04em;
}

.ninbai-hub_side {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 18px;
}

.ninbai-hub_related {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.ninbai-hub_related a {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 0 12px;
    color: var(--jr-deep);
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-decoration: none;
    background: #fff;
    border: 1px solid #dbe5ec;
    box-sizing: border-box;
}

.ninbai-hub_block.is-dark .ninbai-hub_related a {
    color: #fff;
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.2);
}

.ninbai-hub_actions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

.ninbai-hub_actions a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    color: #fff !important;
    font-size: 1.22rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-decoration: none;
    background: #0f5c8c;
    border: 1px solid rgba(255, 255, 255, 0.2);
    box-sizing: border-box;
}

.ninbai-hub_actions a:nth-child(2) {
    background: #123c5a;
}

.ninbai-hub_actions a:nth-child(3) {
    background: #b88724;
}

.ninbai-intro {
    padding: 95px 0 88px;
    background: #fff;
}

.ninbai-intro_grid {
    display: grid;
    grid-template-columns: 1fr 360px;
    gap: 54px;
    align-items: start;
}

.ninbai-intro_text {
    font-size: 1.55rem;
    line-height: 2.35;
    letter-spacing: 0.1em;
    text-align: justify;
    text-justify: inter-ideograph;
}

.ninbai-intro_panel {
    padding: 34px 32px 32px;
    color: #fff;
    background: #1c1c1c;
    border-left: 5px solid #13499b;
    box-sizing: border-box;
}

.ninbai-intro_panel p {
    margin-bottom: 16px;
    color: #bfc9db;
    letter-spacing: 0.2em;
}

.ninbai-intro_panel strong {
    display: block;
    margin-bottom: 14px;
    font-size: 2rem;
    font-weight: 500;
    line-height: 1.7;
    letter-spacing: 0.12em;
    font-family: "游明朝","Yu Mincho","游明朝体","YuMincho","ヒラギノ明朝 Pro W3","Hiragino Mincho Pro","HiraMinProN-W3","HGS明朝E","ＭＳ Ｐ明朝","MS PMincho",serif;
}

.ninbai-intro_panel span {
    color: #d7d7d7;
    line-height: 2;
    letter-spacing: 0.08em;
}

.ninbai-simulator {
    position: relative;
    padding: 98px 0 108px;
    background: #eef3f6;
}

.ninbai-simulator .ninbai-section_label {
    color: var(--jr-blue);
}

.ninbai-sim_head {
    max-width: 900px;
    margin: 0 auto 42px;
    color: var(--jr-deep);
    text-align: center;
}

.ninbai-sim_head h2 {
    margin-bottom: 22px;
    font-size: 4rem;
    font-weight: 500;
    line-height: 1.55;
    letter-spacing: 0.1em;
}

.ninbai-sim_head p:last-child {
    font-size: 1.6rem;
    line-height: 2.15;
    letter-spacing: 0.08em;
}

.ninbai-sim_shell {
    max-width: 1040px;
    margin: 0 auto;
    background: #fff;
    border-top: 6px solid var(--jr-gold);
    box-shadow: 0 24px 54px rgba(18, 60, 90, 0.16);
}

.ninbai-sim_shell [hidden] {
    display: none !important;
}

.ninbai-sim_intro {
    display: grid;
    grid-template-columns: 1.08fr 0.92fr;
    min-height: 360px;
}

.ninbai-sim_copy {
    padding: 54px 56px 50px;
    color: #fff;
    background: #123c5a;
    box-sizing: border-box;
}

.ninbai-sim_copy span {
    display: block;
    margin-bottom: 18px;
    color: #f2d8a3;
    letter-spacing: 0.22em;
}

.ninbai-sim_copy h3 {
    margin-bottom: 24px;
    font-size: 3.2rem;
    font-weight: 500;
    line-height: 1.55;
    letter-spacing: 0.1em;
}

.ninbai-sim_copy p,
.ninbai-sim_start p {
    font-size: 1.54rem;
    line-height: 2.1;
    letter-spacing: 0.08em;
}

.ninbai-sim_start {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 52px 50px 48px;
    background: #fff;
    box-sizing: border-box;
}

.ninbai-sim_start p {
    margin-bottom: 28px;
    color: #333;
}

.ninbai-sim_time_note {
    margin: 18px 0 0 !important;
    padding: 14px 16px;
    color: var(--jr-deep) !important;
    font-size: 1.36rem !important;
    font-weight: 600;
    line-height: 1.7 !important;
    letter-spacing: 0.08em !important;
    text-align: center;
    background: #eef5f7;
    border: 1px solid #cbdbe4;
    border-left: 4px solid var(--jr-gold);
    box-sizing: border-box;
}

.ninbai-sim_btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 58px;
    padding: 0 32px;
    color: #fff;
    font-size: 1.52rem;
    font-weight: 600;
    letter-spacing: 0.14em;
    background: linear-gradient(135deg, #0c4f7c 0%, #176b9d 58%, #0d4162 100%);
    border: 1px solid rgba(255, 255, 255, 0.24);
    border-radius: 4px;
    box-shadow: 0 16px 32px rgba(5, 22, 36, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.18);
    cursor: pointer;
    overflow: hidden;
    transition: box-shadow 0.24s ease, filter 0.24s ease, transform 0.24s ease;
}

.ninbai-sim_btn:hover {
    filter: brightness(1.04);
    box-shadow: 0 20px 38px rgba(5, 22, 36, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.2);
    transform: translateY(-2px);
}

.ninbai-sim_panel,
.ninbai-sim_result {
    padding: 48px 56px 124px;
    box-sizing: border-box;
}

.ninbai-sim_progress {
    display: grid;
    grid-template-columns: 150px 1fr;
    gap: 20px;
    align-items: center;
    margin-bottom: 34px;
}

.ninbai-sim_progress p {
    color: var(--jr-deep);
    font-family: "Roboto", sans-serif;
    font-size: 1.45rem;
    letter-spacing: 0.12em;
}

.ninbai-sim_progress div {
    height: 8px;
    background: #e4e9ef;
    overflow: hidden;
}

.ninbai-sim_progress span {
    display: block;
    width: 0;
    height: 100%;
    background: linear-gradient(90deg, var(--jr-blue), var(--jr-teal));
    transition: width 0.28s ease;
}

.ninbai-sim_question {
    margin-bottom: 26px;
}

.ninbai-sim_question p.en {
    margin-bottom: 12px;
    color: var(--jr-blue);
    letter-spacing: 0.22em;
}

.ninbai-sim_question h3 {
    margin-bottom: 14px;
    font-size: 3rem;
    font-weight: 500;
    line-height: 1.55;
    letter-spacing: 0.1em;
}

.ninbai-sim_question p:not(.en) {
    color: #555;
    font-size: 1.46rem;
    line-height: 1.9;
    letter-spacing: 0.06em;
}

.ninbai-sim_options {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
    margin-bottom: 28px;
}

.ninbai-sim_option {
    display: grid;
    grid-template-columns: 18px 1fr;
    gap: 14px;
    align-items: center;
    min-height: 76px;
    padding: 18px 20px;
    color: #1c1c1c;
    text-align: left;
    background: #f4f6f9;
    border: 1px solid #d7dde7;
    cursor: pointer;
    box-sizing: border-box;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.ninbai-sim_option:hover,
.ninbai-sim_option[aria-pressed="true"] {
    border-color: var(--jr-blue);
    box-shadow: 0 10px 24px rgba(18, 60, 90, 0.12);
    transform: translateY(-1px);
}

.ninbai-sim_option span {
    width: 16px;
    height: 16px;
    border: 2px solid var(--jr-blue);
    border-radius: 50%;
    box-sizing: border-box;
}

.ninbai-sim_option[aria-pressed="true"] span {
    background: var(--jr-blue);
    box-shadow: inset 0 0 0 3px #fff;
}

.ninbai-sim_option strong {
    font-size: 1.48rem;
    font-weight: 500;
    line-height: 1.65;
    letter-spacing: 0.06em;
}

.ninbai-sim_nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.ninbai-sim_nav button {
    min-width: 128px;
    min-height: 44px;
    color: var(--jr-deep);
    font-size: 1.34rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    background: linear-gradient(180deg, #fff 0%, #eef3f6 100%);
    border: 1px solid #cbd4df;
    border-radius: 4px;
    box-shadow: 0 8px 18px rgba(18, 60, 90, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.72);
    cursor: pointer;
}

.ninbai-sim_nav button:disabled {
    color: #999;
    cursor: default;
    background: #f3f3f3;
}

.ninbai-sim_nav p {
    color: #666;
    font-size: 1.3rem;
    letter-spacing: 0.06em;
}

.ninbai-sim_result_head {
    margin-bottom: 28px;
}

.ninbai-sim_result_label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    margin-bottom: 14px;
    padding: 0 20px;
    color: #fff;
    font-size: 1.72rem;
    font-weight: 600;
    letter-spacing: 0.14em;
    background: linear-gradient(135deg, var(--jr-deep), var(--jr-blue));
    border-left: 5px solid var(--jr-gold);
    box-shadow: 0 12px 24px rgba(18, 60, 90, 0.16);
}

.ninbai-sim_result_head p.en {
    margin-bottom: 12px;
    color: var(--jr-blue);
    letter-spacing: 0.22em;
}

.ninbai-sim_result_head span {
    display: inline-block;
    margin-bottom: 18px;
    padding: 7px 16px;
    color: #fff;
    font-size: 1.28rem;
    letter-spacing: 0.1em;
    background: var(--jr-teal);
}

.ninbai-sim_result_head h3 {
    margin-bottom: 18px;
    color: var(--jr-deep);
    font-size: 3.35rem;
    font-weight: 500;
    line-height: 1.55;
    letter-spacing: 0.08em;
}

.ninbai-sim_result_head p:not(.en) {
    max-width: 860px;
    font-size: 1.55rem;
    line-height: 2.15;
    letter-spacing: 0.08em;
}

.ninbai-sim_meter {
    margin-bottom: 32px;
}

.ninbai-sim_meter div {
    height: 14px;
    background: #edf1f5;
    overflow: hidden;
}

.ninbai-sim_meter span {
    display: block;
    height: 100%;
    background: #16865d;
    transition: width 0.32s ease;
}

.ninbai-sim_meter[data-result-type="B"] span {
    background: #c99a23;
}

.ninbai-sim_meter[data-result-type="C"] span,
.ninbai-sim_meter[data-result-type="X"] span {
    background: #d87b26;
}

.ninbai-sim_meter[data-result-type="D"] span {
    background: #c7442d;
}

.ninbai-sim_meter[data-result-type="E"] span {
    background: #6f1d1b;
}

.ninbai-sim_meter p {
    margin-top: 10px;
    color: #555;
    font-size: 1.28rem;
    letter-spacing: 0.08em;
    text-align: right;
}

.ninbai-sim_result_grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
    margin-bottom: 28px;
}

.ninbai-sim_result_box {
    padding: 30px 30px 28px;
    background: #f4f6f9;
    border-left: 5px solid var(--jr-blue);
    box-sizing: border-box;
}

.ninbai-sim_result_box h4 {
    margin-bottom: 18px;
    color: var(--jr-deep);
    font-size: 2.1rem;
    font-weight: 500;
    line-height: 1.55;
    letter-spacing: 0.08em;
}

.ninbai-sim_result_box li {
    position: relative;
    padding: 9px 0 9px 22px;
    font-size: 1.42rem;
    line-height: 1.75;
    letter-spacing: 0.05em;
    border-top: 1px solid #dbe2eb;
}

.ninbai-sim_result_box li::before {
    position: absolute;
    left: 0;
    top: 1.25em;
    width: 7px;
    height: 7px;
    background: var(--jr-gold);
    content: "";
}

.ninbai-sim_residence p {
    font-size: 1.44rem;
    line-height: 2;
    letter-spacing: 0.06em;
}

.ninbai-sim_cta {
    margin-bottom: 32px;
    padding: 28px 30px;
    color: #fff;
    background: #102a3d;
    border-top: 4px solid var(--jr-gold);
    box-sizing: border-box;
}

.ninbai-sim_cta[data-priority="urgent"] {
    background: #102a3d;
    border-top-color: #b84836;
}

.ninbai-sim_cta p {
    margin-bottom: 18px;
    color: #f2d8a3;
    font-size: 1.46rem;
    letter-spacing: 0.08em;
}

.ninbai-sim_cta div {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.ninbai-sim_cta .ninbai-btn {
    min-width: 180px;
}

.ninbai-sim_form {
    margin-bottom: 24px;
    padding: 38px 40px 36px;
    background: #fff;
    border: 1px solid #d7dde7;
    box-shadow: 0 16px 34px rgba(18, 60, 90, 0.08);
    box-sizing: border-box;
}

.ninbai-sim_form h4 {
    margin-bottom: 10px;
    color: var(--jr-deep);
    font-size: 2.3rem;
    font-weight: 500;
    letter-spacing: 0.08em;
}

.ninbai-sim_form > p {
    margin-bottom: 22px;
    font-size: 1.42rem;
    line-height: 1.9;
    letter-spacing: 0.06em;
}

.ninbai-sim_form_grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px 20px;
    margin-bottom: 22px;
}

.ninbai-sim_form label {
    display: grid;
    grid-template-rows: 26px auto;
    gap: 9px;
    font-size: 1.34rem;
    letter-spacing: 0.06em;
}

.ninbai-sim_label_line {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #223a4d;
    line-height: 1.4;
}

.ninbai-sim_label_line em {
    display: inline-flex;
    align-items: center;
    min-height: 20px;
    padding: 0 8px;
    color: #fff;
    font-size: 1rem;
    line-height: 1;
    background: #9f3326;
}

.ninbai-sim_form input,
.ninbai-sim_form textarea {
    width: 100%;
    min-height: 54px;
    padding: 13px 14px;
    font-size: 1.5rem;
    border: 1px solid #cbd4df;
    background: #f9fbfd;
    box-sizing: border-box;
}

.ninbai-sim_form textarea {
    min-height: 124px;
}

.ninbai-sim_form_full,
.ninbai-sim_consent {
    grid-column: 1 / -1;
}

.ninbai-sim_consent {
    display: flex !important;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 10px !important;
    margin-bottom: 20px;
}

.ninbai-sim_consent input {
    width: auto;
}

.ninbai-sim_thanks {
    margin-top: 16px;
    padding: 16px 18px;
    color: var(--jr-deep);
    background: #eef6f3;
    border-left: 4px solid var(--jr-teal);
}

.ninbai-sim_disclaimer {
    margin-bottom: 24px;
    padding: 18px 20px;
    color: #555;
    font-size: 1.28rem;
    line-height: 1.9;
    letter-spacing: 0.06em;
    background: #f7f7f7;
}

.ninbai-2026 {
    padding: 98px 0 104px;
    background: linear-gradient(90deg, #fff 0, #fff 50%, var(--jr-cream) 50%, var(--jr-cream) 100%);
}

.ninbai-2026 .ninbai-section_label {
    text-align: left;
}

.ninbai-2026_head {
    max-width: 900px;
    margin-bottom: 38px;
}

.ninbai-2026_head h2 {
    margin-bottom: 22px;
    color: var(--jr-deep);
    font-size: 4rem;
    font-weight: 500;
    line-height: 1.55;
    letter-spacing: 0.1em;
}

.ninbai-2026_head p {
    font-size: 1.62rem;
    line-height: 2.2;
    letter-spacing: 0.08em;
    text-align: justify;
    text-justify: inter-ideograph;
}

.ninbai-2026_grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
}

.ninbai-2026_grid article {
    min-height: 260px;
    padding: 34px 30px 30px;
    background: #fff;
    border: 1px solid #eadfc9;
    border-top: 5px solid var(--jr-gold);
    box-shadow: 0 18px 42px rgba(38, 33, 22, 0.08);
    box-sizing: border-box;
}

.ninbai-2026_grid span {
    display: block;
    margin-bottom: 18px;
    color: var(--jr-gold);
    font-size: 3rem;
    line-height: 1;
}

.ninbai-2026_grid h3 {
    margin-bottom: 16px;
    color: var(--jr-ink);
    font-size: 2.2rem;
    font-weight: 500;
    line-height: 1.55;
    letter-spacing: 0.08em;
}

.ninbai-2026_grid p {
    font-size: 1.5rem;
    line-height: 2;
    letter-spacing: 0.06em;
}

.ninbai-2026_note {
    margin-top: 24px;
    padding: 18px 24px;
    color: #5e523a;
    font-size: 1.3rem;
    line-height: 1.9;
    letter-spacing: 0.06em;
    background: rgba(184, 135, 36, 0.1);
    border-left: 4px solid var(--jr-gold);
}

.ninbai-jr-change {
    padding: 102px 0 108px;
    color: #fff;
    background: #102a3d;
}

.ninbai-jr-change .ninbai-section_label {
    color: #bfc9db;
    text-align: left;
}

.ninbai-jr-change_head {
    max-width: 920px;
    margin-bottom: 42px;
}

.ninbai-jr-change_head h2 {
    margin-bottom: 24px;
    font-size: 4.1rem;
    font-weight: 500;
    line-height: 1.52;
    letter-spacing: 0.1em;
}

.ninbai-jr-change_head p {
    font-size: 1.62rem;
    line-height: 2.25;
    letter-spacing: 0.08em;
    text-align: justify;
    text-justify: inter-ideograph;
}

.ninbai-change_compare {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

.ninbai-change_side {
    padding: 42px 42px 38px;
    background: #fff;
    box-sizing: border-box;
}

.ninbai-change_side h3 {
    margin-bottom: 26px;
    font-size: 2.7rem;
    font-weight: 500;
    line-height: 1.55;
    letter-spacing: 0.1em;
}

.ninbai-change_side li {
    position: relative;
    padding: 14px 0 14px 28px;
    color: #1c1c1c;
    line-height: 1.9;
    letter-spacing: 0.07em;
    border-top: 1px solid #d9d9d9;
}

.ninbai-change_side li::before {
    position: absolute;
    left: 0;
    top: 1.55em;
    width: 9px;
    height: 9px;
    background: #13499b;
    content: "";
}

.ninbai-change_risk h3 {
    color: #1c1c1c;
}

.ninbai-change_risk li::before {
    background: #a98428;
}

.ninbai-change_jr {
    border-top: 6px solid #13499b;
}

.ninbai-change_jr h3 {
    color: #13499b;
}

.ninbai-change_message {
    margin-top: 34px;
    padding: 26px 32px;
    color: #fff;
    font-size: 1.76rem;
    line-height: 1.9;
    letter-spacing: 0.09em;
    background: rgba(255, 255, 255, 0.1);
    border-left: 5px solid #9db7df;
}

.ninbai-one-window {
    padding: 102px 0 108px;
    background: #fff;
}

.ninbai-one-window .ninbai-section_label {
    text-align: left;
}

.ninbai-one-window_grid {
    display: grid;
    grid-template-columns: 0.94fr 1.06fr;
    gap: 54px;
    align-items: center;
    margin-bottom: 34px;
}

.ninbai-one-window_text h2 {
    margin-bottom: 24px;
    font-size: 3.95rem;
    font-weight: 500;
    line-height: 1.55;
    letter-spacing: 0.1em;
}

.ninbai-one-window_text p {
    margin-bottom: 18px;
    font-size: 1.58rem;
    line-height: 2.2;
    letter-spacing: 0.08em;
    text-align: justify;
    text-justify: inter-ideograph;
}

.ninbai-one-window_img {
    background: #f4f6f9;
    padding: 18px;
    box-sizing: border-box;
}

.ninbai-one-window_img img {
    width: 100%;
    display: block;
    box-shadow: 0 14px 32px rgba(0, 0, 0, 0.12);
}

.ninbai-one-window_points {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
}

.ninbai-one-window_points article {
    padding: 30px 24px 28px;
    background: #f4f6f9;
    border-top: 4px solid #13499b;
    box-sizing: border-box;
}

.ninbai-one-window_points span {
    display: block;
    margin-bottom: 16px;
    color: #13499b;
    font-size: 2.8rem;
    line-height: 1;
}

.ninbai-one-window_points h3 {
    margin-bottom: 14px;
    font-size: 2.05rem;
    font-weight: 500;
    line-height: 1.55;
    letter-spacing: 0.08em;
}

.ninbai-one-window_points p {
    font-size: 1.48rem;
    line-height: 2;
    letter-spacing: 0.06em;
}

.ninbai-intention {
    padding: 100px 0 108px;
    color: #fff;
    background: linear-gradient(135deg, #123c5a 0%, #102a3d 58%, #231f1a 100%);
}

.ninbai-intention .ninbai-section_label {
    color: #f2d8a3;
}

.ninbai-intention_head {
    max-width: 900px;
    margin: 0 auto 40px;
    text-align: center;
}

.ninbai-intention_head h2 {
    margin-bottom: 22px;
    font-size: 4rem;
    font-weight: 500;
    line-height: 1.55;
    letter-spacing: 0.1em;
}

.ninbai-intention_head p {
    font-size: 1.6rem;
    line-height: 2.2;
    letter-spacing: 0.08em;
}

.ninbai-intention_grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}

.ninbai-intention_grid article {
    position: relative;
    min-width: 0;
    padding: 34px 24px 32px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 4px;
    box-shadow: 0 18px 38px rgba(0, 0, 0, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.12);
    backdrop-filter: blur(8px);
    box-sizing: border-box;
}

.ninbai-intention_grid article::before {
    position: absolute;
    left: 18px;
    right: 18px;
    top: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--jr-gold), #f2d8a3);
    content: "";
}

.ninbai-intention_grid span {
    display: inline-block;
    margin-bottom: 18px;
    padding: 6px 12px;
    color: #1f2b31;
    font-size: 1.18rem;
    letter-spacing: 0.12em;
    background: #f2d8a3;
}

.ninbai-intention_grid h3 {
    margin-bottom: 14px;
    font-size: 1.96rem;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0.035em;
    text-wrap: balance;
}

.ninbai-intention_grid p {
    color: #ecf2f6;
    font-size: 1.46rem;
    line-height: 2;
    letter-spacing: 0.06em;
}

.ninbai-intention_message {
    max-width: 860px;
    margin: 34px auto 0;
    padding: 24px 30px;
    color: #1f2b31;
    font-size: 1.74rem;
    line-height: 1.9;
    letter-spacing: 0.08em;
    text-align: center;
    background: #fff;
    border-bottom: 5px solid var(--jr-gold);
}

.ninbai-choice {
    position: relative;
    padding: 96px 0 104px;
    background: #f4f6f9;
    overflow: hidden;
}

.ninbai-choice .content {
    position: relative;
    z-index: 1;
}

.ninbai-choice_photo {
    position: absolute;
    right: max(4px, calc((100vw - 1180px) / 2 - 34px));
    top: 72px;
    z-index: 0;
    width: min(38vw, 480px);
    height: 470px;
    opacity: 0.68;
    pointer-events: none;
    overflow: hidden;
    clip-path: polygon(9% 0, 100% 0, 91% 100%, 0 100%);
    box-shadow: 0 28px 66px rgba(18, 60, 90, 0.18);
}

.ninbai-choice_photo::before {
    position: absolute;
    inset: 0;
    z-index: 2;
    background: linear-gradient(90deg, rgba(244, 246, 249, 0.36), rgba(244, 246, 249, 0.08) 48%, rgba(244, 246, 249, 0.68) 100%), linear-gradient(180deg, rgba(244, 246, 249, 0.08) 0%, rgba(244, 246, 249, 0.64) 72%, rgba(244, 246, 249, 0.9) 100%);
    content: "";
}

.ninbai-choice_photo::after {
    position: absolute;
    inset: 0;
    z-index: 3;
    border: 1px solid rgba(255, 255, 255, 0.72);
    content: "";
}

.ninbai-choice_photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 42%;
    filter: saturate(0.9) contrast(0.98);
}

.ninbai-choice_copy {
    position: relative;
    z-index: 2;
    max-width: 760px;
    margin-bottom: 36px;
}

.ninbai-choice_copy h2,
.ninbai-risk_head h2,
.ninbai-merits_copy h2,
.ninbai-negotiation_head h2 {
    margin-bottom: 22px;
    font-size: 3.95rem;
    font-weight: 500;
    line-height: 1.55;
    letter-spacing: 0.1em;
}

.ninbai-choice_copy p:last-child,
.ninbai-risk_head p,
.ninbai-negotiation_head p {
    font-size: 1.62rem;
    line-height: 2.2;
    letter-spacing: 0.08em;
}

.ninbai-choice_list {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}

.ninbai-choice_list li {
    padding: 26px 22px;
    color: #fff;
    background: #1c1c1c;
    border-top: 4px solid #13499b;
    box-sizing: border-box;
    line-height: 1.8;
    letter-spacing: 0.09em;
    font-size: 1.65rem;
}

.ninbai-signs,
.ninbai-reasons {
    padding: 102px 0 112px;
    background: url("https://japanrealtor.jp/img/common/com_bg01.png") #1c1c1c no-repeat center center / cover;
}

.ninbai-card_list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.ninbai-card_list li {
    min-height: 260px;
    padding: 36px 30px 32px;
    background: #fff;
    box-sizing: border-box;
}

.ninbai-card_list li > span {
    display: block;
    margin-bottom: 18px;
    color: #13499b;
    font-size: 3.2rem;
    line-height: 1;
    letter-spacing: 0.08em;
}

.ninbai-card_list h3 {
    margin-bottom: 18px;
    font-size: 2.28rem;
    font-weight: 500;
    line-height: 1.55;
    letter-spacing: 0.1em;
}

.ninbai-card_list p {
    font-size: 1.55rem;
    line-height: 2;
    letter-spacing: 0.08em;
}

.ninbai-risk {
    padding: 96px 0 104px;
    background: #fff;
}

.ninbai-risk_head {
    max-width: 780px;
    margin-bottom: 42px;
}

.ninbai-risk_list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.ninbai-risk_list li {
    padding: 34px 24px 30px;
    background: #f3f3f3;
    box-sizing: border-box;
}

.ninbai-risk_list span {
    display: block;
    margin-bottom: 18px;
    color: #13499b;
    font-size: 3rem;
    line-height: 1;
}

.ninbai-risk_list h3 {
    margin-bottom: 14px;
    font-size: 2.05rem;
    font-weight: 500;
    line-height: 1.55;
    letter-spacing: 0.08em;
}

.ninbai-risk_list p {
    font-size: 1.5rem;
    line-height: 2;
    letter-spacing: 0.06em;
}

.ninbai-about {
    padding: 108px 0 104px;
    background: linear-gradient(90deg, #f2f2f2 0, #f2f2f2 42%, #fff 42%, #fff 100%);
}

.ninbai-two_col {
    display: grid;
    grid-template-columns: 47% 1fr;
    gap: 58px;
    align-items: center;
}

.ninbai-photo img {
    width: 100%;
    display: block;
}

.ninbai-text p {
    margin-bottom: 18px;
    font-size: 1.56rem;
    line-height: 2.2;
    letter-spacing: 0.1em;
    text-align: justify;
    text-justify: inter-ideograph;
}

.ninbai-difference {
    padding: 96px 0 105px;
    background: #fff;
}

.ninbai-difference .headLine01,
.ninbai-reasons .headLine01,
.ninbai-signs .headLine01 {
    color: #fff;
}

.ninbai-difference .headLine01 {
    color: #1c1c1c;
}

.ninbai-difference .headLine01 .en {
    color: #13499b;
}

.ninbai-compare {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border: 1px solid #d6d6d6;
}

.ninbai-compare_col {
    padding: 42px 42px 38px;
    background: #f6f6f6;
    box-sizing: border-box;
}

.ninbai-compare_col + .ninbai-compare_col {
    border-left: 1px solid #d6d6d6;
}

.ninbai-compare_main {
    background: #fff;
}

.ninbai-compare_col h3 {
    margin-bottom: 24px;
    font-size: 2.8rem;
    font-weight: 500;
    letter-spacing: 0.13em;
}

.ninbai-compare_main h3 {
    color: #13499b;
}

.ninbai-compare_col li {
    position: relative;
    padding-left: 22px;
    margin-bottom: 14px;
    line-height: 2;
    letter-spacing: 0.08em;
}

.ninbai-compare_col li::before {
    position: absolute;
    left: 0;
    top: 0.85em;
    width: 7px;
    height: 7px;
    background: #13499b;
    content: "";
}

.ninbai-note {
    margin-top: 24px;
    color: #555;
    line-height: 2;
    letter-spacing: 0.08em;
}

.ninbai-merits {
    padding: 96px 0 108px;
    color: #fff;
    background: #1c1c1c;
}

.ninbai-merits .ninbai-section_label {
    color: #bfc9db;
    text-align: left;
}

.ninbai-merits_copy {
    max-width: 820px;
    margin-bottom: 40px;
}

.ninbai-merits_grid {
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    gap: 30px;
}

.ninbai-merits_list {
    padding: 36px 38px;
    background: #fff;
    box-sizing: border-box;
}

.ninbai-merits_list li {
    padding: 18px 0 18px 26px;
    color: #1c1c1c;
    line-height: 1.8;
    letter-spacing: 0.08em;
    border-bottom: 1px solid #dbdbdb;
    position: relative;
}

.ninbai-merits_list li::before {
    position: absolute;
    left: 0;
    top: 1.45em;
    width: 7px;
    height: 7px;
    background: #13499b;
    content: "";
}

.ninbai-merits_list li:last-child {
    border-bottom: none;
}

.ninbai-leaseback {
    padding: 42px 44px 40px;
    background: #0f3879;
    box-sizing: border-box;
}

.ninbai-leaseback span,
.ninbai-negotiation_card span {
    display: block;
    margin-bottom: 14px;
    color: #cbd6e8;
    letter-spacing: 0.22em;
}

.ninbai-leaseback h3 {
    margin-bottom: 22px;
    font-size: 2.8rem;
    font-weight: 500;
    line-height: 1.55;
    letter-spacing: 0.1em;
}

.ninbai-leaseback p {
    font-size: 1.54rem;
    line-height: 2.1;
    letter-spacing: 0.08em;
}

.ninbai-mini_note {
    margin-top: 16px;
    color: #d9e2f0;
    font-size: 1.2rem;
}

.ninbai-negotiation {
    padding: 96px 0 104px;
    background: #f4f6f9;
}

.ninbai-negotiation_head {
    max-width: 860px;
    margin-bottom: 38px;
}

.ninbai-negotiation_grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
}

.ninbai-negotiation_card {
    padding: 40px 42px 38px;
    background: #fff;
    border-left: 5px solid #13499b;
    box-sizing: border-box;
}

.ninbai-negotiation_card h3 {
    margin-bottom: 22px;
    font-size: 2.4rem;
    font-weight: 500;
    line-height: 1.55;
    letter-spacing: 0.1em;
}

.ninbai-negotiation_card li {
    position: relative;
    padding: 12px 0 12px 24px;
    line-height: 1.8;
    letter-spacing: 0.08em;
    border-top: 1px solid #dbdbdb;
}

.ninbai-negotiation_card li::before {
    position: absolute;
    left: 0;
    top: 1.5em;
    width: 7px;
    height: 7px;
    background: #13499b;
    content: "";
}

.ninbai-conditions {
    padding: 98px 0 106px;
    background: #fff;
}

.ninbai-conditions_head {
    max-width: 900px;
    margin: 0 auto 38px;
    text-align: center;
}

.ninbai-conditions_head h2 {
    margin-bottom: 22px;
    font-size: 3.4rem;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0.1em;
}

.ninbai-conditions_head p {
    font-size: 1.58rem;
    line-height: 2.2;
    letter-spacing: 0.08em;
    text-align: justify;
    text-justify: inter-ideograph;
}

.ninbai-condition_table {
    border: 1px solid #d7dde7;
    background: #fff;
}

.ninbai-condition_row {
    display: grid;
    grid-template-columns: 0.58fr 1fr 1.1fr;
    border-top: 1px solid #d7dde7;
}

.ninbai-condition_row:first-child {
    border-top: none;
}

.ninbai-condition_row span {
    display: block;
    padding: 22px 24px;
    font-size: 1.48rem;
    line-height: 1.85;
    letter-spacing: 0.06em;
    border-left: 1px solid #d7dde7;
}

.ninbai-condition_row span:first-child {
    color: #123c5a;
    font-weight: 700;
    border-left: none;
}

.ninbai-condition_headrow {
    background: #123c5a;
}

.ninbai-condition_headrow span,
.ninbai-condition_headrow span:first-child {
    color: #fff;
    font-weight: 700;
    letter-spacing: 0.12em;
    border-color: rgba(255, 255, 255, 0.22);
}

.ninbai-cases {
    padding: 96px 0 108px;
    background: #f4f6f9;
}

.ninbai-cases_head {
    max-width: 920px;
    margin: 0 auto 38px;
    text-align: center;
}

.ninbai-cases_head .headLine04 {
    margin-bottom: 24px;
}

.ninbai-cases_head p {
    font-size: 1.58rem;
    line-height: 2.15;
    letter-spacing: 0.08em;
    text-align: justify;
    text-justify: inter-ideograph;
}

.ninbai-cases_grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
}

.ninbai-cases_grid article {
    min-height: 250px;
    padding: 34px 30px 30px;
    background: #fff;
    border-top: 4px solid #b88724;
    box-shadow: 0 12px 30px rgba(18, 60, 90, 0.08);
    box-sizing: border-box;
}

.ninbai-cases_grid span {
    display: block;
    margin-bottom: 16px;
    color: #13499b;
    letter-spacing: 0.2em;
}

.ninbai-cases_grid h3 {
    margin-bottom: 16px;
    font-size: 2.2rem;
    font-weight: 500;
    line-height: 1.55;
    letter-spacing: 0.08em;
}

.ninbai-cases_grid p {
    font-size: 1.48rem;
    line-height: 2;
    letter-spacing: 0.06em;
}

.ninbai-documents {
    padding: 96px 0 104px;
    color: #fff;
    background: linear-gradient(90deg, rgba(18, 60, 90, 0.95), rgba(18, 110, 97, 0.82)), url("../img/story/ninbai-documents.jpg") no-repeat center center / cover;
}

.ninbai-documents .ninbai-section_label {
    color: #f2d8a3;
    text-align: left;
}

.ninbai-documents_grid {
    display: grid;
    grid-template-columns: 0.82fr 1.18fr;
    gap: 42px;
    align-items: start;
}

.ninbai-documents_text h2 {
    margin-bottom: 24px;
    font-size: 3.4rem;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0.1em;
}

.ninbai-documents_text p:last-child {
    font-size: 1.58rem;
    line-height: 2.15;
    letter-spacing: 0.08em;
}

.ninbai-documents_box {
    padding: 40px 42px 38px;
    color: #1c1c1c;
    background: rgba(255, 255, 255, 0.94);
    box-sizing: border-box;
}

.ninbai-documents_box h3 {
    margin-bottom: 22px;
    color: #123c5a;
    font-size: 2.45rem;
    font-weight: 500;
    letter-spacing: 0.1em;
}

.ninbai-documents_box li {
    position: relative;
    padding: 12px 0 12px 24px;
    font-size: 1.48rem;
    line-height: 1.9;
    letter-spacing: 0.06em;
    border-top: 1px solid #dce2ea;
}

.ninbai-documents_box li::before {
    position: absolute;
    left: 0;
    top: 1.55em;
    width: 7px;
    height: 7px;
    background: #b88724;
    content: "";
}

.ninbai-documents_note {
    margin-top: 28px;
    padding: 22px 26px;
    color: #fff;
    font-size: 1.48rem;
    line-height: 1.9;
    letter-spacing: 0.06em;
    border: 1px solid rgba(255, 255, 255, 0.38);
    background: rgba(0, 0, 0, 0.18);
}

.ninbai-area {
    padding: 96px 0 106px;
    background: #fff;
}

.ninbai-area_head {
    max-width: 900px;
    margin: 0 auto 36px;
    text-align: center;
}

.ninbai-area_head h2 {
    margin-bottom: 22px;
    font-size: 3.3rem;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0.1em;
}

.ninbai-area_head p {
    font-size: 1.58rem;
    line-height: 2.2;
    letter-spacing: 0.08em;
    text-align: justify;
    text-justify: inter-ideograph;
}

.ninbai-area_grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
}

.ninbai-area_grid article {
    padding: 36px 32px 32px;
    background: #f4f6f9;
    border-left: 5px solid #126e61;
    box-sizing: border-box;
}

.ninbai-area_grid h3 {
    margin-bottom: 16px;
    font-size: 2.25rem;
    font-weight: 500;
    line-height: 1.55;
    letter-spacing: 0.08em;
}

.ninbai-area_grid p {
    font-size: 1.48rem;
    line-height: 2;
    letter-spacing: 0.06em;
}

.ninbai-support_list {
    display: grid;
    gap: 28px;
}

.ninbai-support_list li {
    display: grid;
    grid-template-columns: 360px 1fr;
    min-height: 258px;
    background: #fff;
}

.ninbai-support_img {
    position: relative;
    height: 100%;
    min-height: 258px;
    aspect-ratio: 360 / 258;
    overflow: hidden;
    background: #102a3d;
}

.ninbai-support_img img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    filter: saturate(0.96) contrast(0.98);
}

.ninbai-support_list li:nth-child(1) .ninbai-support_img img {
    object-position: center 48%;
}

.ninbai-support_list li:nth-child(2) .ninbai-support_img img {
    object-position: center 43%;
}

.ninbai-support_list li:nth-child(3) .ninbai-support_img img {
    object-position: center 45%;
}

.ninbai-support_body {
    padding: 38px 44px 34px;
    box-sizing: border-box;
}

.ninbai-support_body span {
    display: block;
    margin-bottom: 12px;
    color: #13499b;
    letter-spacing: 0.22em;
}

.ninbai-support_body h3 {
    margin-bottom: 16px;
    font-size: 2.6rem;
    font-weight: 500;
    letter-spacing: 0.12em;
}

.ninbai-support_body p {
    font-size: 1.54rem;
    line-height: 2.1;
    letter-spacing: 0.08em;
}

.ninbai-flow {
    padding: 98px 0 108px;
    background: #fff;
}

.ninbai-flow .headLine04 {
    text-align: center;
}

.ninbai-flow_list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
    counter-reset: flow;
}

.ninbai-flow_list li {
    position: relative;
    min-height: 260px;
    padding: 34px 24px 28px;
    background: #f3f3f3;
    box-sizing: border-box;
}

.ninbai-flow_list li::after {
    position: absolute;
    right: -15px;
    top: 50%;
    width: 30px;
    height: 1px;
    background: #13499b;
    content: "";
    z-index: 2;
}

.ninbai-flow_list li:last-child::after {
    display: none;
}

.ninbai-flow_list span {
    display: block;
    margin-bottom: 22px;
    color: #13499b;
    font-size: 3rem;
    letter-spacing: 0.08em;
}

.ninbai-flow_list h3 {
    margin-bottom: 14px;
    font-size: 2.05rem;
    font-weight: 500;
    letter-spacing: 0.12em;
}

.ninbai-flow_list p {
    font-size: 1.5rem;
    line-height: 2;
    letter-spacing: 0.08em;
}

.ninbai-article {
    padding: 98px 0 104px;
    background: #f2f2f2;
}

.ninbai-section_label {
    margin-bottom: 18px;
    color: #13499b;
    text-align: center;
    letter-spacing: 0.3em;
}

.ninbai-article_box {
    max-width: 860px;
    margin: 0 auto;
    padding: 58px 64px 54px;
    background: #fff;
    box-sizing: border-box;
}

.ninbai-article_box h2 {
    margin-bottom: 28px;
    font-size: 3rem;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0.11em;
}

.ninbai-article_box p {
    margin-bottom: 20px;
    font-size: 1.58rem;
    line-height: 2.35;
    letter-spacing: 0.09em;
    text-align: justify;
    text-justify: inter-ideograph;
}

.ninbai-article_box p:last-child {
    margin-bottom: 0;
}

.ninbai-story {
    padding: 96px 0 104px;
    background: #fff;
}

.ninbai-story .headLine04 {
    text-align: center;
}

.ninbai-story_lead {
    max-width: 860px;
    margin: 0 auto 32px;
    font-size: 1.62rem;
    line-height: 2.15;
    text-align: center;
    letter-spacing: 0.08em;
}

.ninbai-story_slider {
    display: flex;
    gap: 24px;
    overflow-x: auto;
    padding: 4px 0 24px;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
}

.ninbai-story_slider::-webkit-scrollbar {
    height: 8px;
}

.ninbai-story_slider::-webkit-scrollbar-track {
    background: #edf0f5;
}

.ninbai-story_slider::-webkit-scrollbar-thumb {
    background: #13499b;
}

.ninbai-story_card {
    display: grid;
    grid-template-columns: 360px 1fr;
    gap: 30px;
    flex: 0 0 min(880px, 82vw);
    align-items: center;
    padding: 28px;
    background: #f4f6f9;
    box-sizing: border-box;
    scroll-snap-align: start;
}

.ninbai-story_card img {
    width: 100%;
    display: block;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.13);
}

.ninbai-story_card span {
    display: block;
    margin-bottom: 14px;
    color: #13499b;
    letter-spacing: 0.22em;
}

.ninbai-story_card h3 {
    margin-bottom: 18px;
    font-size: 2.7rem;
    font-weight: 500;
    line-height: 1.55;
    letter-spacing: 0.08em;
}

.ninbai-story_card p {
    font-size: 1.58rem;
    line-height: 2.1;
    letter-spacing: 0.07em;
}

.ninbai-blog {
    padding: 96px 0 108px;
    background: #f4f6f9;
}

.ninbai-blog .headLine04 {
    text-align: center;
}

.ninbai-blog_grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-bottom: 36px;
}

.ninbai-blog_card a {
    display: block;
    min-height: 260px;
    padding: 34px 30px 30px;
    background: #fff;
    box-sizing: border-box;
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.ninbai-blog_card a:hover {
    opacity: 0.82;
    transform: translateY(-2px);
}

.ninbai-blog_card span {
    display: block;
    margin-bottom: 18px;
    color: #13499b;
    letter-spacing: 0.18em;
}

.ninbai-blog_card h3 {
    margin-bottom: 16px;
    font-size: 2.35rem;
    font-weight: 500;
    line-height: 1.55;
    letter-spacing: 0.08em;
}

.ninbai-blog_card p {
    font-size: 1.5rem;
    line-height: 2;
    letter-spacing: 0.06em;
}

.ninbai-blog-hero {
    padding: 180px 0 92px;
    color: #fff;
    background: linear-gradient(90deg, rgba(19, 73, 155, 0.92), rgba(28, 28, 28, 0.72)), url("https://japanrealtor.jp/img/index/main_bg01.jpg") no-repeat center center / cover;
}

.ninbai-blog-hero p.en {
    margin-bottom: 18px;
    color: #d7d7d7;
    letter-spacing: 0.28em;
}

.ninbai-blog-hero h1,
.ninbai-blog-hero h2 {
    margin-bottom: 20px;
    font-size: 5.2rem;
    font-weight: 500;
    letter-spacing: 0.12em;
}

.ninbai-blog-hero p:last-child {
    max-width: 720px;
    font-size: 1.5rem;
    line-height: 2.1;
    letter-spacing: 0.08em;
}

.ninbai-blog-list_page {
    padding: 90px 0 108px;
    background: #f4f6f9;
}

.ninbai-article_page {
    padding: 96px 0 108px;
    background: #fff;
}

.ninbai-knowledge_page {
    padding-top: 170px;
    background: linear-gradient(180deg, #123c5a 0, #123c5a 128px, #fff 128px, #fff 100%);
}

.ninbai-article_page .content {
    max-width: 860px;
}

.ninbai-knowledge_page .content {
    max-width: 960px;
}

.ninbai-knowledge_page .ninbai-section_label {
    color: #b88724;
}

.ninbai-article_page h1 {
    margin-bottom: 34px;
    font-size: 4.2rem;
    font-weight: 500;
    line-height: 1.55;
    letter-spacing: 0.09em;
    white-space: normal !important;
    overflow-wrap: anywhere;
    word-break: normal;
    line-break: strict;
    text-wrap: balance;
}

.ninbai-article_page img {
    width: 100%;
    display: block;
    margin-bottom: 42px;
}

.ninbai-article_hero {
    position: relative;
    margin: 0 0 34px;
    background: #071d2d;
    border-top: 4px solid #c7962d;
    box-shadow: 0 18px 44px rgba(18, 60, 90, 0.16);
    overflow: hidden;
}

.ninbai-article_hero img {
    display: block;
    width: 100%;
    height: auto !important;
    margin: 0 !important;
    aspect-ratio: 1672 / 941;
    object-fit: contain !important;
    object-position: center center;
}

.ninbai-article_header {
    position: relative;
    display: flex;
    align-items: flex-end;
    min-height: 520px;
    margin-bottom: 48px;
    color: #fff;
    background: #071d2d;
    border-top: 4px solid #c7962d;
    box-shadow: 0 22px 54px rgba(7, 29, 45, 0.18);
    overflow: hidden;
}

.ninbai-article_header::after {
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        linear-gradient(90deg, rgba(7, 29, 45, 0.99) 0%, rgba(7, 29, 45, 0.96) 48%, rgba(7, 29, 45, 0.58) 72%, rgba(7, 29, 45, 0.32) 100%),
        linear-gradient(0deg, rgba(7, 29, 45, 0.7) 0%, rgba(7, 29, 45, 0) 42%);
    content: "";
}

.ninbai-article_header .ninbai-article_hero {
    position: absolute;
    inset: 0;
    margin: 0;
    border-top: 0;
    box-shadow: none;
}

.ninbai-article_header .ninbai-article_hero img {
    width: 100%;
    height: 100% !important;
    aspect-ratio: auto;
    object-fit: cover !important;
    object-position: center center;
    opacity: 0.7;
}

.ninbai-article_header .ninbai-article_titleblock {
    position: relative;
    z-index: 2;
    width: min(760px, 82%);
    margin: 0;
    padding: 64px 58px;
    border: 0;
    box-sizing: border-box;
}

.ninbai-article_header .ninbai-section_label {
    color: #f0d79b;
}

.ninbai-article_header .ninbai-article_titleblock h1 {
    color: #fff;
    text-shadow: 0 2px 16px rgba(0, 0, 0, 0.28);
}

.ninbai-article_header .ninbai-article_titleblock > p:last-child {
    color: #f4f8fb;
    text-shadow: 0 1px 10px rgba(0, 0, 0, 0.26);
}

.ninbai-article_titleblock {
    margin-bottom: 38px;
    padding-bottom: 28px;
    border-bottom: 1px solid #dfe7ee;
}

.ninbai-article_titleblock h1 {
    margin-bottom: 18px;
}

.ninbai-article_titleblock > p:last-child {
    color: #334754;
    font-size: 1.55rem;
    line-height: 2.05;
    letter-spacing: 0.06em;
}

.ninbai-knowledge_page img {
    height: min(46vw, 430px);
    object-fit: cover;
    border-top: 4px solid #c7962d;
}

.ninbai-article_content {
    margin-bottom: 42px;
}

.ninbai-article_content h2 {
    margin: 38px 0 18px;
    padding-left: 18px;
    font-size: 2.4rem;
    font-weight: 500;
    line-height: 1.55;
    letter-spacing: 0.09em;
    border-left: 5px solid #13499b;
}

.ninbai-article_content p,
.ninbai-article_content li {
    font-size: 1.5rem;
    line-height: 2.25;
    letter-spacing: 0.08em;
    white-space: normal !important;
    overflow-wrap: anywhere;
    word-break: break-all;
}

.ninbai-article_content ul {
    margin: 18px 0 26px;
    padding: 28px 34px;
    background: #f4f6f9;
}

.ninbai-article_content li {
    position: relative;
    padding-left: 22px;
}

.ninbai-article_content li::before {
    position: absolute;
    left: 0;
    top: 1.05em;
    width: 7px;
    height: 7px;
    background: #13499b;
    content: "";
}

.ninbai-column_grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ninbai-knowledge_lead {
    margin: 0 0 30px;
    padding: 28px 32px;
    color: #123c5a;
    background: #eef5f8;
    border-left: 6px solid #c7962d;
}

.ninbai-knowledge_points {
    margin: 34px 0 42px;
    padding: 2px 0 4px;
}

.ninbai-knowledge_table {
    width: 100%;
    margin: 24px 0 38px;
    border-collapse: collapse;
    font-size: 1.42rem;
    line-height: 1.9;
    letter-spacing: 0.04em;
}

.ninbai-knowledge_table th,
.ninbai-knowledge_table td {
    padding: 16px 18px;
    vertical-align: top;
    border: 1px solid #d9e1e7;
}

.ninbai-knowledge_table thead th {
    color: #fff;
    font-weight: 600;
    background: #123c5a;
}

.ninbai-knowledge_table tbody th {
    width: 27%;
    color: #123c5a;
    font-weight: 600;
    background: #f7f9fb;
}

.ninbai-knowledge_company,
.ninbai-knowledge_notice,
.ninbai-knowledge_cta {
    margin-top: 28px;
    padding: 28px 32px;
    background: #f7f9fb;
    border: 1px solid #d9e1e7;
}

.ninbai-knowledge_company p,
.ninbai-knowledge_notice p {
    margin-bottom: 8px;
}

.ninbai-knowledge_company p:last-child,
.ninbai-knowledge_notice p:last-child {
    margin-bottom: 0;
}

.ninbai-knowledge_faq {
    margin: 24px 0 34px;
}

.ninbai-knowledge_faq dt {
    padding: 22px 0 10px;
    color: #123c5a;
    font-size: 1.65rem;
    font-weight: 600;
    line-height: 1.8;
    white-space: normal !important;
    overflow-wrap: anywhere;
    word-break: break-all;
    border-top: 1px solid #d9e1e7;
}

.ninbai-knowledge_faq dd {
    padding-bottom: 22px;
    font-size: 1.48rem;
    line-height: 2.1;
    letter-spacing: 0.06em;
    white-space: normal !important;
    overflow-wrap: anywhere;
    word-break: break-all;
}

.ninbai-knowledge_related {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    padding: 0 !important;
    background: transparent !important;
}

.ninbai-knowledge_related li {
    padding-left: 0;
}

.ninbai-knowledge_related li::before {
    display: none;
}

.ninbai-knowledge_related a {
    display: block;
    min-height: 54px;
    padding: 16px 18px;
    color: #123c5a;
    font-size: 1.42rem;
    line-height: 1.55;
    text-decoration: none;
    white-space: normal !important;
    overflow-wrap: anywhere;
    word-break: break-all;
    background: #fff;
    border: 1px solid #d9e1e7;
    box-sizing: border-box;
    transition: border-color 0.22s ease, color 0.22s ease, transform 0.22s ease;
}

.ninbai-knowledge_related a:hover {
    color: #b88724;
    border-color: #c7962d;
    transform: translateY(-1px);
}

.ninbai-knowledge_cta {
    color: #fff;
    background: linear-gradient(135deg, #123c5a 0%, #102a3d 100%);
    border: 0;
}

.ninbai-knowledge_cta h2 {
    margin-top: 0;
    padding-left: 0;
    color: #fff;
    border-left: 0;
}

.ninbai-knowledge_cta p {
    color: #eef5f8;
}

.ninbai-knowledge_cta_note {
    padding-top: 14px;
    color: #d7e4ec !important;
    font-size: 1.28rem !important;
    line-height: 1.8 !important;
    border-top: 1px solid rgba(255, 255, 255, 0.18);
}

.ninbai-knowledge_cta div {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 24px;
}

.ninbai-knowledge_cta a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 54px;
    padding: 12px 16px;
    color: #fff;
    font-size: 1.42rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-align: center;
    text-decoration: none;
    border-radius: 4px;
    background: #0d6897;
}

.ninbai-knowledge_cta a:first-child {
    color: #171b1f;
    background: linear-gradient(135deg, #f0d79b 0%, #c7962d 100%);
}

.ninbai-knowledge_cta a:last-child {
    background: linear-gradient(135deg, #13c965 0%, #02a94d 100%);
}

.ninbai-knowledge_notice {
    color: #3d454b;
    background: #fffaf0;
    border-color: #ead9b4;
}

.ninbai-knowledge_trust {
    margin: 42px 0;
    padding: 32px;
    background: #fff;
    border: 1px solid #d9e1e7;
    box-shadow: 0 16px 42px rgba(18, 60, 90, 0.08);
}

.ninbai-knowledge_trust h2 {
    margin-top: 0;
}

.ninbai-trust_grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(280px, 0.95fr);
    gap: 28px;
    align-items: start;
}

.ninbai-trust_list {
    display: grid;
    grid-template-columns: 9em minmax(0, 1fr);
    margin: 20px 0 0;
    border-top: 1px solid #e2e9ee;
}

.ninbai-trust_list dt,
.ninbai-trust_list dd {
    margin: 0;
    padding: 13px 0;
    font-size: 1.38rem;
    line-height: 1.8;
    letter-spacing: 0.04em;
    border-bottom: 1px solid #e2e9ee;
}

.ninbai-trust_list dt {
    color: #123c5a;
    font-weight: 600;
}

.ninbai-trust_list a {
    color: #0d6897;
    text-decoration: none;
}

.ninbai-trust_photos {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

.ninbai-trust_photos img {
    width: 100%;
    height: 210px !important;
    margin: 0 !important;
    object-fit: cover;
    border-top: 0 !important;
}

.ninbai-trust_flow {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 8px;
    margin: 26px 0 0;
    padding: 0;
    list-style: none;
}

.ninbai-trust_flow li {
    min-height: 92px;
    padding: 18px 16px;
    color: #123c5a;
    font-size: 1.3rem;
    line-height: 1.7;
    letter-spacing: 0.04em;
    background: #eef5f8;
    border-top: 3px solid #c7962d;
}

.ninbai-trust_note {
    margin-top: 18px;
    color: #5a6570;
    font-size: 1.32rem !important;
    line-height: 1.9 !important;
}

.ninbai-cta {
    padding: 92px 0;
    background: linear-gradient(90deg, rgba(19, 73, 155, 0.88), rgba(28, 28, 28, 0.88)), url("https://japanrealtor.jp/img/index/faq_bg01.jpg") no-repeat center center / cover;
}

.ninbai-cta_box {
    max-width: 820px;
    margin: 0 auto;
    color: #fff;
    text-align: center;
}

.ninbai-cta_box p {
    margin-bottom: 18px;
    color: #d7d7d7;
    letter-spacing: 0.26em;
}

.ninbai-cta_box h2 {
    margin-bottom: 30px;
    font-size: 3.4rem;
    font-weight: 500;
    line-height: 1.65;
    letter-spacing: 0.12em;
}

.ninbai-cta_actions {
    justify-content: center;
}

.ninbai-faq {
    padding: 96px 0 112px;
    background: #fff;
}

.ninbai-faq .headLine04 {
    text-align: center;
}

.ninbai-faq_list {
    max-width: 860px;
    margin: 0 auto;
    border-top: 1px solid #d7d7d7;
}

.ninbai-faq_list dt {
    padding: 26px 0 18px 54px;
    font-size: 1.8rem;
    line-height: 1.7;
    letter-spacing: 0.12em;
    border-top: 1px solid #d7d7d7;
    background: url("https://japanrealtor.jp/img/index/faq_img01.png") no-repeat left top 26px / 34px auto;
}

.ninbai-faq_list dt:first-child {
    border-top: none;
}

.ninbai-faq_list dd {
    padding: 0 0 26px 54px;
    line-height: 2.1;
    letter-spacing: 0.08em;
    background: url("https://japanrealtor.jp/img/index/faq_img02.png") no-repeat left top 5px / 33px auto;
}

.ninbai-fixed-cta {
    position: fixed;
    left: 50%;
    right: auto;
    bottom: 16px;
    z-index: 80;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    width: min(960px, calc(100vw - 32px));
    padding: 10px;
    color: #fff;
    background: rgba(7, 29, 45, 0.94);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 6px;
    box-shadow: 0 20px 52px rgba(0, 0, 0, 0.34), inset 0 1px 0 rgba(255, 255, 255, 0.12);
    backdrop-filter: blur(14px);
    box-sizing: border-box;
    transform: translateX(-50%);
}

.ninbai-fixed-cta p {
    grid-column: 1 / -1;
    margin-bottom: 4px;
    color: #f2d8a3;
    font-size: 1.2rem;
    letter-spacing: 0.12em;
    text-align: center;
}

.ninbai-fixed-cta a {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    min-width: 0;
    color: #fff;
    font-size: 1.32rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-decoration: none;
    white-space: nowrap;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 4px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.16);
    box-sizing: border-box;
    transition: filter 0.22s ease, transform 0.22s ease;
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
}

.ninbai-fixed-cta a:hover {
    filter: brightness(1.05);
    transform: translateY(-1px);
}

.ninbai-fixed_sim {
    color: #171b1f !important;
    background: linear-gradient(135deg, #d9ae52 0%, #b88724 100%);
}

.ninbai-fixed_tel {
    background: linear-gradient(135deg, #0c4f7c 0%, #176b9d 58%, #0d4162 100%);
}

.ninbai-fixed_line {
    background: linear-gradient(135deg, #06c755 0%, #05b24c 58%, #038d3b 100%);
}

.ninbai-fixed_mail {
    background: var(--jr-gold);
}

.ninbai-page #gFooter {
    padding-bottom: 148px;
    box-sizing: border-box;
}

#risk,
#seller-intention,
#servicer,
#mortgage-release,
#one-building,
#leaseback,
#simulator,
#cases,
#contact,
#before-auction,
#checkpoints,
#residence,
#conditions,
#flow,
#faq {
    scroll-margin-top: 24px;
}

@media all and (max-width: 1100px) {
    .ninbai-hub_grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ninbai-hub_more {
        grid-template-columns: 1fr;
    }

    .ninbai-doc-tabs {
        position: relative;
        top: auto;
        left: auto;
        flex-direction: row;
        gap: 8px;
        width: 100%;
        max-width: 720px;
        margin: 24px 0 0;
        padding-bottom: 4px;
        overflow-x: auto;
        scrollbar-width: thin;
    }

    .ninbai-doc-tabs a {
        min-height: 48px;
        min-width: 78px;
        padding: 8px 10px;
        border-left-width: 1px;
        border-top: 3px solid rgba(242, 216, 163, 0.9);
        border-radius: 5px;
        background: rgba(9, 32, 48, 0.54);
    }

    .ninbai-doc-tabs a:hover,
    .ninbai-doc-tabs a:focus-visible {
        transform: translateY(-2px);
    }
}

@media all and (max-width: 896px) {
    #risk,
    #seller-intention,
    #servicer,
    #mortgage-release,
    #one-building,
    #leaseback,
    #simulator,
    #cases,
    #contact,
    #faq {
        scroll-margin-top: 132px;
    }

    html,
    body,
    #container.ninbai-page {
        width: 100% !important;
        min-width: 0 !important;
        overflow-x: hidden;
    }

    .ninbai-hero_person {
        display: none;
    }

    .ninbai-choice_photo {
        display: none;
    }

    .ninbai-page {
        overflow-x: hidden;
    }

    .ninbai-page main {
        width: 100% !important;
        overflow: hidden;
    }

    .ninbai-page main *,
    .ninbai-page main *::before,
    .ninbai-page main *::after {
        max-width: 100%;
        box-sizing: border-box;
    }

    .ninbai-page .content {
        width: calc(100vw - 40px) !important;
        max-width: none !important;
        margin-left: 20px !important;
        margin-right: 20px !important;
        box-sizing: border-box;
    }

    .ninbai-page h2,
    .ninbai-page h3,
    .ninbai-page p,
    .ninbai-page li,
    .ninbai-page strong,
    .ninbai-page dd,
    .ninbai-page dt {
        overflow-wrap: break-word;
        word-break: normal;
        line-break: strict;
    }

    .ninbai-page .en {
        word-break: normal;
        line-break: auto;
    }

    .ninbai-page #gHeader h1 .sp {
        width: 248px;
    }

    .ninbai-page .menu {
        width: 72px;
        height: 72px;
        background: #13499b;
    }

    .ninbai-page .menu img {
        width: 72px;
        height: 72px;
    }

    .ninbai-hero {
        min-height: 760px;
        background-position: center top;
    }

    .ninbai-hero::after {
        display: none;
    }

    .ninbai-hero_block {
        left: -115vw;
        width: 185vw;
        transform: skewX(-18deg);
    }

    .ninbai-hero_inner {
        padding-top: 214px;
        margin: 0 18px;
    }

    .ninbai-hero_kicker {
        font-size: 1.05rem;
        letter-spacing: 0.22em;
    }

    .ninbai-hero_title {
        margin-bottom: 18px;
        font-size: 3.35rem;
        line-height: 1.22;
        letter-spacing: 0.02em;
    }

    .ninbai-hero_lead {
        max-width: 330px !important;
        margin-bottom: 26px;
        font-size: 1.38rem;
        line-height: 2;
        letter-spacing: 0.03em;
        word-break: normal;
        line-break: strict;
    }

    .ninbai-doc-tabs {
        position: fixed;
        top: 72px;
        left: 0;
        right: 0;
        z-index: 55;
        width: 100vw !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 7px 10px 8px;
        background: rgba(9, 32, 48, 0.92);
        border-top: 1px solid rgba(255, 255, 255, 0.12);
        border-bottom: 1px solid rgba(242, 216, 163, 0.26);
        box-shadow: 0 10px 24px rgba(5, 22, 36, 0.22);
        backdrop-filter: blur(10px);
        overflow-x: auto;
        scrollbar-width: none;
    }

    .ninbai-doc-tabs::-webkit-scrollbar {
        display: none;
    }

    .ninbai-doc-tabs a {
        min-width: 72px;
        min-height: 46px;
        font-size: 1.05rem;
        flex: 0 0 auto;
        background: rgba(255, 255, 255, 0.07);
    }

    .ninbai-doc-tabs a:hover,
    .ninbai-doc-tabs a:focus-visible {
        transform: none;
    }

    .ninbai-hero_declarations {
        width: min(350px, calc(100dvw - 40px));
        max-width: 350px;
        margin-top: 22px;
    }

    .ninbai-hero_declarations_title {
        display: flex;
        width: 100%;
        margin-bottom: 10px;
        font-size: 1.14rem;
        line-height: 1.5;
    }

    .ninbai-hero_declarations_grid {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .ninbai-hero_declarations article {
        display: block;
        min-height: 0;
        padding: 14px 16px;
    }

    .ninbai-hero_declarations span {
        margin-bottom: 4px;
        font-size: 1.46rem;
    }

    .ninbai-hero_declarations p {
        font-size: 1.12rem;
        text-align: left;
        white-space: normal;
        overflow-wrap: anywhere;
        word-break: normal;
    }

    .ninbai-hero_actions,
    .ninbai-cta_actions {
        display: grid;
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .ninbai-btn {
        width: 100%;
        min-width: 0;
    }

    .ninbai-hero_notes {
        display: grid;
        grid-template-columns: 1fr;
        gap: 8px;
        width: min(350px, calc(100dvw - 40px));
        max-width: 350px;
    }

    .ninbai-hero_notes li {
        padding: 7px 12px;
        font-size: 1.2rem;
        text-align: center;
    }

    .ninbai-hero_guides {
        padding: 28px 0 34px;
    }

    .ninbai-hero_guides .content {
        width: 100%;
        max-width: none;
    }

    .ninbai-hero_guides_head {
        display: block;
        width: min(350px, calc(100dvw - 40px));
        margin: 0 auto 16px;
    }

    .ninbai-hero_guides_head h2 {
        margin-bottom: 10px;
        font-size: 2.2rem;
        line-height: 1.42;
        overflow-wrap: anywhere;
        word-break: break-all;
    }

    .ninbai-hero_guides_head p {
        font-size: 1.18rem;
        line-height: 1.85;
        overflow-wrap: anywhere;
    }

    .ninbai-hero_guides_grid {
        display: flex;
        gap: 10px;
        padding: 0 20px 6px;
        overflow-x: auto;
        scroll-snap-type: x proximity;
        scrollbar-width: none;
    }

    .ninbai-hero_guides_grid::-webkit-scrollbar {
        display: none;
    }

    .ninbai-hero_guides_grid article {
        flex: 0 0 72vw;
        max-width: 282px;
        min-height: 222px;
        padding: 16px 15px;
        scroll-snap-align: start;
    }

    .ninbai-hero_guides_grid article:hover {
        transform: none;
    }

    .ninbai-hero_guides_grid span {
        min-height: 24px;
        margin-bottom: 10px;
        font-size: 0.98rem;
    }

    .ninbai-hero_guides_grid h3 {
        min-height: auto;
        margin-bottom: 9px;
        font-size: 1.36rem;
        line-height: 1.55;
    }

    .ninbai-hero_guides_grid p {
        font-size: 1.08rem;
        line-height: 1.72;
    }

    .ninbai-hero_guides_grid a {
        margin-top: 10px;
        font-size: 1.08rem;
    }

    .ninbai-hero_guides_more {
        width: min(350px, calc(100dvw - 40px));
        margin: 16px auto 0;
        text-align: left;
    }

    .ninbai-hero_guides_more a {
        justify-content: center;
        width: 100%;
        min-height: 44px;
        padding: 0 12px;
        box-sizing: border-box;
        font-size: 1.12rem;
    }

    .ninbai-intro,
    .ninbai-simulator,
    .ninbai-2026,
    .ninbai-jr-change,
    .ninbai-one-window,
    .ninbai-intention,
    .ninbai-choice,
    .ninbai-risk,
    .ninbai-difference,
    .ninbai-merits,
    .ninbai-negotiation,
    .ninbai-conditions,
    .ninbai-cases,
    .ninbai-documents,
    .ninbai-area,
    .ninbai-flow,
    .ninbai-article,
    .ninbai-story,
    .ninbai-blog,
    .ninbai-faq {
        padding: 66px 0 72px;
    }

    .ninbai-intro_grid,
    .ninbai-sim_intro,
    .ninbai-sim_options,
    .ninbai-sim_result_grid,
    .ninbai-sim_form_grid,
    .ninbai-2026_grid,
    .ninbai-two_col,
    .ninbai-compare,
    .ninbai-change_compare,
    .ninbai-one-window_grid,
    .ninbai-one-window_points,
    .ninbai-intention_grid,
    .ninbai-choice_list,
    .ninbai-risk_list,
    .ninbai-merits_grid,
    .ninbai-negotiation_grid,
    .ninbai-cases_grid,
    .ninbai-documents_grid,
    .ninbai-area_grid,
    .ninbai-support_list li,
    .ninbai-flow_list,
    .ninbai-blog_grid {
        grid-template-columns: 1fr;
    }

    .ninbai-intro_grid,
    .ninbai-two_col {
        gap: 28px;
    }

    .ninbai-hub_block {
        margin-top: 30px;
        padding: 22px 18px;
    }

    .ninbai-hub_grid {
        grid-template-columns: 1fr;
        gap: 10px;
        margin-bottom: 18px;
    }

    .ninbai-hub_grid article {
        padding: 18px 16px;
    }

    .ninbai-hub_grid p {
        font-size: 1.32rem;
        line-height: 1.85;
        letter-spacing: 0.02em;
    }

    .ninbai-hub_more {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .ninbai-hub_detail {
        padding: 20px 18px;
    }

    .ninbai-hub_detail strong {
        font-size: 1.62rem;
        line-height: 1.6;
        letter-spacing: 0.02em;
    }

    .ninbai-hub_detail em {
        font-size: 1.24rem;
    }

    .ninbai-hub_related {
        display: grid;
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .ninbai-hub_related a {
        min-height: 38px;
        justify-content: center;
        font-size: 1.18rem;
    }

    .ninbai-hub_actions {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .ninbai-hub_actions a {
        min-height: 42px;
    }

    .ninbai-intro_grid > *,
    .ninbai-two_col > *,
    .ninbai-compare > *,
    .ninbai-support_list > *,
    .ninbai-flow_list > * {
        min-width: 0;
    }

    .ninbai-intro .headLine04,
    .ninbai-flow .headLine04,
    .ninbai-faq .headLine04 {
        font-size: 2.05rem;
        line-height: 1.55;
        letter-spacing: 0.02em;
    }

    .ninbai-choice_copy h2,
    .ninbai-sim_head h2,
    .ninbai-2026_head h2,
    .ninbai-jr-change_head h2,
    .ninbai-one-window_text h2,
    .ninbai-intention_head h2,
    .ninbai-risk_head h2,
    .ninbai-merits_copy h2,
    .ninbai-negotiation_head h2,
    .ninbai-conditions_head h2,
    .ninbai-documents_text h2,
    .ninbai-area_head h2 {
        font-size: 2.35rem;
        line-height: 1.55;
        letter-spacing: 0.04em;
    }

    .ninbai-choice_copy p:last-child,
    .ninbai-sim_head p:last-child,
    .ninbai-2026_head p,
    .ninbai-jr-change_head p,
    .ninbai-one-window_text p,
    .ninbai-intention_head p,
    .ninbai-risk_head p,
    .ninbai-negotiation_head p,
    .ninbai-conditions_head p,
    .ninbai-cases_head p,
    .ninbai-documents_text p:last-child,
    .ninbai-area_head p {
        font-size: 1.45rem;
        line-height: 2;
        letter-spacing: 0.03em;
    }

    .ninbai-choice_list {
        gap: 12px;
    }

    .ninbai-choice_list li,
    .ninbai-2026_grid article,
    .ninbai-change_side,
    .ninbai-one-window_points article,
    .ninbai-intention_grid article,
    .ninbai-risk_list li,
    .ninbai-merits_list,
    .ninbai-leaseback,
    .ninbai-negotiation_card,
    .ninbai-cases_grid article,
    .ninbai-documents_box,
    .ninbai-area_grid article {
        padding: 28px 24px;
    }

    .ninbai-change_side h3 {
        font-size: 2.25rem;
    }

    .ninbai-change_side li {
        font-size: 1.46rem;
        line-height: 1.9;
        letter-spacing: 0.03em;
    }

    .ninbai-change_message {
        padding: 22px 20px;
        font-size: 1.52rem;
        line-height: 1.9;
        letter-spacing: 0.03em;
    }

    .ninbai-one-window_grid {
        gap: 24px;
        margin-bottom: 24px;
    }

    .ninbai-one-window_img {
        padding: 12px;
    }

    .ninbai-one-window_points {
        gap: 14px;
    }

    .ninbai-one-window_points span {
        font-size: 2.55rem;
    }

    .ninbai-one-window_points h3 {
        font-size: 2rem;
    }

    .ninbai-one-window_points p {
        font-size: 1.45rem;
        letter-spacing: 0.03em;
    }

    .ninbai-intention_grid p {
        font-size: 1.42rem;
        letter-spacing: 0.03em;
    }

    .ninbai-intention_message {
        padding: 22px 20px;
        font-size: 1.5rem;
        text-align: left;
        letter-spacing: 0.03em;
    }

    .ninbai-signs .headLine01 .en,
    .ninbai-reasons .headLine01 .en,
    .ninbai-difference .headLine01 .en {
        font-size: 3.3rem;
        letter-spacing: 0.02em;
    }

    .ninbai-intro_text,
    .ninbai-text p,
    .ninbai-article_box p {
        max-width: 320px !important;
        font-size: 1.45rem;
        line-height: 2;
        letter-spacing: 0.03em;
    }

    .ninbai-2026_head p,
    .ninbai-2026_note,
    .ninbai-sim_head p:last-child,
    .ninbai-jr-change_head p,
    .ninbai-one-window_text p,
    .ninbai-intention_head p,
    .ninbai-choice_copy p:last-child,
    .ninbai-risk_head p,
    .ninbai-negotiation_head p,
    .ninbai-conditions_head p,
    .ninbai-cases_head p,
    .ninbai-documents_text p:last-child,
    .ninbai-documents_note,
    .ninbai-area_head p,
    .ninbai-story_lead,
    .ninbai-support_body p,
    .ninbai-leaseback p,
    .ninbai-article_content p {
        max-width: 320px !important;
    }

    .ninbai-intro_panel {
        max-width: 320px !important;
    }

    .ninbai-intro_panel {
        padding: 28px 24px;
    }

    .ninbai-intro_panel strong {
        font-size: 1.68rem;
        letter-spacing: 0.04em;
    }

    .ninbai-signs,
    .ninbai-reasons {
        padding: 70px 0 78px;
    }

    .ninbai-card_list {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .ninbai-card_list li {
        min-height: auto;
        padding: 30px 24px 28px;
    }

    .ninbai-card_list h3 {
        font-size: 1.95rem;
    }

    .ninbai-about {
        padding: 72px 0;
        background: #f2f2f2;
    }

    .ninbai-text {
        padding: 0;
    }

    .ninbai-compare_col {
        padding: 32px 24px 28px;
    }

    .ninbai-compare_col + .ninbai-compare_col {
        border-left: none;
        border-top: 1px solid #d6d6d6;
    }

    .ninbai-compare_col h3,
    .ninbai-support_body h3,
    .ninbai-leaseback h3,
    .ninbai-negotiation_card h3,
    .ninbai-blog_card h3 {
        font-size: 2.35rem;
    }

    .ninbai-risk_list h3 {
        font-size: 1.85rem;
    }

    .ninbai-condition_table {
        border: none;
        background: transparent;
    }

    .ninbai-condition_row {
        display: block;
        margin-bottom: 14px;
        border: 1px solid #d7dde7;
        background: #fff;
    }

    .ninbai-condition_headrow {
        display: none;
    }

    .ninbai-condition_row span {
        padding: 14px 18px;
        font-size: 1.42rem;
        line-height: 1.85;
        letter-spacing: 0.03em;
        border-left: none;
        border-top: 1px solid #d7dde7;
    }

    .ninbai-condition_row span:first-child {
        color: #fff;
        background: #123c5a;
        border-top: none;
    }

    .ninbai-cases_head,
    .ninbai-conditions_head,
    .ninbai-area_head {
        text-align: left;
    }

    .ninbai-cases_head .headLine04 {
        font-size: 2.05rem;
        line-height: 1.55;
        letter-spacing: 0.02em;
        text-align: left;
    }

    .ninbai-cases_grid {
        gap: 16px;
    }

    .ninbai-cases_grid article {
        min-height: auto;
    }

    .ninbai-cases_grid h3,
    .ninbai-documents_box h3,
    .ninbai-area_grid h3 {
        font-size: 2.05rem;
        line-height: 1.55;
        letter-spacing: 0.04em;
    }

    .ninbai-cases_grid p,
    .ninbai-documents_box li,
    .ninbai-area_grid p {
        font-size: 1.42rem;
        line-height: 1.95;
        letter-spacing: 0.03em;
    }

    .ninbai-documents {
        background-position: center center;
    }

    .ninbai-documents_grid {
        gap: 24px;
    }

    .ninbai-documents_note {
        padding: 20px;
        font-size: 1.42rem;
        letter-spacing: 0.03em;
    }

    .ninbai-sim_head {
        text-align: left;
    }

    .ninbai-sim_shell {
        width: calc(100vw - 40px);
        box-shadow: 0 18px 34px rgba(0, 0, 0, 0.2);
    }

    .ninbai-sim_intro {
        min-height: auto;
    }

    .ninbai-sim_copy,
    .ninbai-sim_start,
    .ninbai-sim_panel,
    .ninbai-sim_result {
        padding: 30px 24px;
    }

    .ninbai-sim_result {
        padding-bottom: 118px;
    }

    .ninbai-sim_copy h3,
    .ninbai-sim_result_head h3 {
        font-size: 2.35rem;
        line-height: 1.55;
        letter-spacing: 0.04em;
    }

    .ninbai-sim_copy p,
    .ninbai-sim_start p,
    .ninbai-sim_result_head p:not(.en),
    .ninbai-sim_residence p,
    .ninbai-sim_disclaimer {
        font-size: 1.42rem;
        line-height: 1.95;
        letter-spacing: 0.03em;
    }

    .ninbai-sim_progress {
        grid-template-columns: 1fr;
        gap: 10px;
        margin-bottom: 26px;
    }

    .ninbai-sim_question h3 {
        font-size: 2.25rem;
        line-height: 1.55;
        letter-spacing: 0.04em;
    }

    .ninbai-sim_question p:not(.en) {
        font-size: 1.38rem;
        letter-spacing: 0.03em;
    }

    .ninbai-sim_options {
        gap: 10px;
    }

    .ninbai-sim_option {
        min-height: 68px;
        padding: 16px;
    }

    .ninbai-sim_option strong {
        font-size: 1.38rem;
        letter-spacing: 0.03em;
        word-break: normal;
    }

    .ninbai-sim_nav {
        display: grid;
        grid-template-columns: 1fr;
    }

    .ninbai-sim_nav button {
        width: 100%;
    }

    .ninbai-sim_result_box {
        padding: 24px 20px;
    }

    .ninbai-sim_result_box h4,
    .ninbai-sim_form h4 {
        font-size: 2rem;
        line-height: 1.55;
        letter-spacing: 0.04em;
    }

    .ninbai-sim_result_box li {
        font-size: 1.36rem;
        letter-spacing: 0.03em;
    }

    .ninbai-sim_cta {
        padding: 24px 20px;
    }

    .ninbai-sim_cta div {
        display: grid;
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .ninbai-sim_cta .ninbai-btn {
        width: 100%;
        min-width: 0;
    }

    .ninbai-sim_form {
        padding: 26px 20px;
    }

    .ninbai-sim_form_grid {
        gap: 14px;
    }

    .ninbai-sim_form label {
        grid-template-rows: auto auto;
    }

    .ninbai-sim_label_line {
        min-height: 24px;
    }

    .ninbai-support_img {
        height: auto;
        min-height: 0;
        aspect-ratio: 16 / 10;
    }

    .ninbai-support_body {
        padding: 30px 24px 28px;
    }

    .ninbai-flow .headLine04,
    .ninbai-faq .headLine04 {
        text-align: left;
    }

    .ninbai-flow_list {
        gap: 14px;
    }

    .ninbai-flow_list li {
        min-height: auto;
    }

    .ninbai-flow_list li::after {
        display: none;
    }

    .ninbai-article_box {
        padding: 36px 24px;
    }

    .ninbai-article_box h2 {
        font-size: 2.35rem;
        line-height: 1.55;
        letter-spacing: 0.06em;
    }

    .ninbai-story .headLine04,
    .ninbai-blog .headLine04 {
        text-align: left;
    }

    .ninbai-story_lead {
        margin-bottom: 24px;
        font-size: 1.45rem;
        line-height: 2;
        text-align: left;
        letter-spacing: 0.03em;
    }

    .ninbai-story_slider {
        width: calc(100vw - 40px);
        margin-right: -20px;
        padding-bottom: 18px;
        gap: 16px;
    }

    .ninbai-story_card {
        grid-template-columns: 1fr;
        flex-basis: 82vw;
        gap: 20px;
        padding: 18px;
    }

    .ninbai-story_card h3 {
        font-size: 2.15rem;
        line-height: 1.55;
        letter-spacing: 0.04em;
    }

    .ninbai-story_card p {
        font-size: 1.45rem;
        line-height: 1.95;
        letter-spacing: 0.03em;
    }

    .ninbai-blog_card a {
        min-height: auto;
        padding: 30px 24px;
    }

    .ninbai-blog-hero {
        padding: 132px 0 66px;
    }

    .ninbai-blog-hero h1,
    .ninbai-blog-hero h2,
    .ninbai-article_page h1 {
        font-size: 3.1rem;
        line-height: 1.45;
        letter-spacing: 0.02em;
        overflow-wrap: anywhere;
        word-break: normal;
        line-break: strict;
        text-wrap: balance;
    }

    .ninbai-blog-list_page,
    .ninbai-article_page {
        padding: 66px 0 72px;
    }

    .ninbai-knowledge_page {
        padding-top: 136px;
        background: linear-gradient(180deg, #123c5a 0, #123c5a 96px, #fff 96px, #fff 100%);
    }

    .ninbai-article_page .content {
        width: calc(100vw - 48px) !important;
        max-width: none !important;
        margin-left: 24px !important;
        margin-right: 24px !important;
        overflow: hidden;
        box-sizing: border-box;
    }

    #container.ninbai-page .ninbai-article_page .content {
        width: calc(100vw - 48px) !important;
        max-width: calc(100vw - 48px) !important;
        margin-left: 24px !important;
        margin-right: 24px !important;
    }

    html body #container.ninbai-page .ninbai-article_page .content,
    html body #container.ninbai-page .ninbai-knowledge_page .content {
        display: block;
        width: calc(100% - 48px) !important;
        max-width: calc(100% - 48px) !important;
        min-width: 0 !important;
    }

    html body #container.ninbai-page .ninbai-article_header,
    html body #container.ninbai-page .ninbai-article_content,
    html body #container.ninbai-page .ninbai-article_content section,
    html body #container.ninbai-page .ninbai-article_content ul,
    html body #container.ninbai-page .ninbai-article_content table,
    html body #container.ninbai-page .ninbai-knowledge_cta,
    html body #container.ninbai-page .ninbai-knowledge_trust {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box;
    }

    .ninbai-article_content ul {
        padding: 24px 22px;
    }

    .ninbai-article_content h2 {
        font-size: 2.15rem;
        letter-spacing: 0.02em;
        overflow-wrap: anywhere;
        word-break: break-all;
    }

    .ninbai-article_content p,
    .ninbai-article_content li,
    .ninbai-knowledge_faq dt,
    .ninbai-knowledge_faq dd,
    .ninbai-knowledge_related a,
    .ninbai-knowledge_cta a {
        font-size: 1.38rem;
        line-height: 2;
        letter-spacing: 0.01em;
        overflow-wrap: anywhere;
        word-break: break-all;
    }

    .ninbai-knowledge_page img {
        height: 220px;
        margin-bottom: 30px;
    }

    .ninbai-article_hero {
        margin-bottom: 26px;
    }

    .ninbai-article_hero img {
        height: auto !important;
        margin-bottom: 0 !important;
    }

    .ninbai-article_header {
        min-height: 520px;
        margin: 0 -6px 34px;
        align-items: flex-end;
    }

    .ninbai-article_header::after {
        background:
            linear-gradient(180deg, rgba(7, 29, 45, 0.26) 0%, rgba(7, 29, 45, 0.62) 48%, rgba(7, 29, 45, 0.96) 100%),
            linear-gradient(90deg, rgba(7, 29, 45, 0.75), rgba(7, 29, 45, 0.18));
    }

    .ninbai-article_header .ninbai-article_hero {
        margin-bottom: 0;
    }

    .ninbai-article_header .ninbai-article_hero img {
        height: 100% !important;
        object-fit: cover !important;
        object-position: 58% center;
    }

    .ninbai-article_header .ninbai-article_titleblock {
        width: 100%;
        padding: 220px 22px 34px;
    }

    .ninbai-article_titleblock {
        margin-bottom: 30px;
        padding-bottom: 22px;
    }

    .ninbai-article_titleblock h1 {
        margin-bottom: 14px;
        font-size: 2.34rem;
        line-height: 1.58;
        letter-spacing: 0;
        white-space: normal !important;
        overflow-wrap: anywhere;
        word-break: normal;
        line-break: anywhere;
        text-wrap: balance;
    }

    .ninbai-article_titleblock > p:last-child {
        font-size: 1.38rem;
        line-height: 1.95;
        letter-spacing: 0.01em;
        overflow-wrap: anywhere;
        word-break: break-all;
    }

    .ninbai-knowledge_lead,
    .ninbai-knowledge_company,
    .ninbai-knowledge_trust,
    .ninbai-knowledge_notice,
    .ninbai-knowledge_cta {
        padding: 22px 20px;
    }

    .ninbai-trust_grid {
        grid-template-columns: 1fr;
    }

    .ninbai-trust_list {
        grid-template-columns: 1fr;
    }

    .ninbai-trust_list dt {
        padding-bottom: 2px;
        border-bottom: 0;
    }

    .ninbai-trust_list dd {
        padding-top: 0;
    }

    .ninbai-trust_photos {
        grid-template-columns: repeat(3, 1fr);
    }

    .ninbai-trust_photos img {
        height: 145px !important;
    }

    .ninbai-trust_flow {
        grid-template-columns: 1fr;
    }

    .ninbai-knowledge_table {
        display: block;
        overflow-x: auto;
        font-size: 1.32rem;
        white-space: nowrap;
    }

    .ninbai-knowledge_related,
    .ninbai-knowledge_cta div {
        grid-template-columns: 1fr;
    }

    .ninbai-cta {
        padding: 70px 0;
    }

    .ninbai-cta_box {
        text-align: left;
    }

    .ninbai-cta_box h2 {
        font-size: 2.45rem;
        line-height: 1.6;
        letter-spacing: 0.06em;
    }

    .ninbai-faq_list dt {
        padding-left: 46px;
        font-size: 1.65rem;
        letter-spacing: 0.06em;
        background-size: 30px auto;
    }

    .ninbai-faq_list dd {
        padding-left: 46px;
        background-size: 29px auto;
    }

    .ninbai-fixed-cta {
        left: 0;
        right: 0;
        bottom: 0;
        width: min(390px, 100dvw) !important;
        max-width: min(390px, 100dvw);
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 5px;
        padding: 8px 6px;
        border-left: none;
        border-right: none;
        border-bottom: none;
        border-radius: 0;
        overflow: hidden;
        transform: none;
    }

    html body #container.ninbai-page .ninbai-fixed-cta {
        left: 0 !important;
        right: 0 !important;
        width: min(390px, 100dvw) !important;
        max-width: min(390px, 100dvw) !important;
        min-width: 0 !important;
        transform: none !important;
        box-sizing: border-box;
    }

    .ninbai-fixed-cta p {
        margin-bottom: 0;
        font-size: 1.05rem;
    }

    .ninbai-fixed-cta a {
        min-height: 46px;
        min-width: 0;
        width: auto !important;
        max-width: 100%;
        padding: 0 2px;
        font-size: 1.06rem;
        letter-spacing: 0;
        white-space: nowrap;
        overflow: hidden;
    }

    .ninbai-page #gFooter {
        padding-bottom: 116px;
    }
}

@media all and (max-width: 360px) {
    .ninbai-hero_title {
        font-size: 3.05rem;
    }

    .ninbai-hero_lead {
        font-size: 1.35rem;
    }
}

/* 2026 luxury redesign layer: existing images only */
.ninbai-page {
    --jr-ink: #18202c;
    --jr-deep: #0b1f3a;
    --jr-blue: #102d52;
    --jr-rich: #173b66;
    --jr-teal: #126e61;
    --jr-gold: #c89b4b;
    --jr-light-gold: #e2c47d;
    --jr-antique: #a8792f;
    --jr-cream: #f8f2e8;
    --jr-warm: #f3e9d8;
    --jr-mist: #f8f5ef;
    --jr-muted: #5f6673;
    background:
        radial-gradient(circle at 12% 8%, rgba(200, 155, 75, 0.13), transparent 28%),
        linear-gradient(180deg, #fffaf2 0%, #f8f2e8 42%, #fff 100%);
    color: var(--jr-ink);
}

.ninbai-page #gHeader {
    position: absolute;
    z-index: 80;
    border-bottom: 1px solid rgba(200, 155, 75, 0.28);
    background: linear-gradient(180deg, rgba(8, 25, 46, 0.82), rgba(8, 25, 46, 0.22));
    backdrop-filter: blur(8px);
}

.ninbai-page #gHeader .hBox {
    min-height: 92px;
}

.ninbai-page #gHeader .siteLogo {
    padding: 22px 0 0 46px;
}

.ninbai-page #gHeader .siteLogo a {
    display: inline-flex;
    align-items: center;
    gap: 18px;
    color: #fff;
}

.ninbai-page #gHeader .siteLogo img {
    width: min(310px, 25vw);
}

.ninbai-site-title {
    display: grid;
    gap: 3px;
    padding-left: 18px;
    border-left: 1px solid rgba(226, 196, 125, 0.58);
    color: #fff;
    line-height: 1.25;
}

.ninbai-site-title b {
    font-family: "游明朝","Yu Mincho",serif;
    font-size: 1.6rem;
    letter-spacing: 0.12em;
}

.ninbai-site-title em {
    color: rgba(248, 242, 232, 0.78);
    font-size: 1rem;
    font-style: normal;
    letter-spacing: 0.08em;
}

.ninbai-page #gNavi {
    margin-top: 35px;
}

.ninbai-page #gNavi li a {
    position: relative;
    color: rgba(255, 255, 255, 0.92);
    font-family: "游ゴシック体","Yu Gothic",YuGothic,sans-serif;
    font-weight: 700;
}

.ninbai-page #gNavi li a::after {
    position: absolute;
    left: 8px;
    right: 13px;
    bottom: -9px;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(226, 196, 125, 0.86), transparent);
    content: "";
    opacity: 0;
    transform: scaleX(0.4);
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.ninbai-page #gNavi li a:hover::after,
.ninbai-page #gNavi li a:focus-visible::after {
    opacity: 1;
    transform: scaleX(1);
}

.ninbai-hero {
    min-height: 835px;
    background:
        linear-gradient(90deg, rgba(8, 25, 46, 0.96) 0%, rgba(16, 45, 82, 0.86) 38%, rgba(16, 45, 82, 0.42) 68%, rgba(8, 25, 46, 0.3) 100%),
        url("https://japanrealtor.jp/img/index/main_bg01.jpg") no-repeat center center / cover;
}

.ninbai-hero::before {
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        linear-gradient(120deg, rgba(200, 155, 75, 0.18), transparent 21%),
        repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.045) 0 1px, transparent 1px 46px);
    content: "";
    pointer-events: none;
}

.ninbai-hero::after {
    background: linear-gradient(180deg, rgba(226, 196, 125, 0.18), rgba(255, 255, 255, 0.04));
    border-left: 1px solid rgba(226, 196, 125, 0.25);
}

.ninbai-hero_block {
    background: linear-gradient(180deg, rgba(9, 32, 55, 0.96), rgba(16, 61, 102, 0.75));
    border-right: 1px solid rgba(226, 196, 125, 0.24);
}

.ninbai-hero_inner {
    padding-top: 166px;
}

.ninbai-hero_person {
    top: 108px;
    right: max(52px, calc((100vw - 1180px) / 2 + 20px));
    width: min(29vw, 370px);
    clip-path: none;
    padding: 9px;
    background: linear-gradient(135deg, rgba(226, 196, 125, 0.72), rgba(255, 255, 255, 0.12), rgba(200, 155, 75, 0.56));
    border: 1px solid rgba(226, 196, 125, 0.62);
    box-shadow: 0 34px 78px rgba(4, 16, 31, 0.35);
}

.ninbai-hero_person::before {
    inset: 9px;
    background: linear-gradient(90deg, rgba(11, 31, 58, 0.34), rgba(11, 31, 58, 0.03) 58%), linear-gradient(180deg, transparent 66%, rgba(11, 31, 58, 0.34));
}

.ninbai-hero_person::after {
    inset: 18px;
    border-color: rgba(255, 255, 255, 0.38);
}

.ninbai-hero_person img {
    border: 1px solid rgba(11, 31, 58, 0.2);
}

.ninbai-hero_kicker,
.ninbai-section_label {
    color: var(--jr-light-gold);
    font-weight: 700;
    letter-spacing: 0.24em;
}

.ninbai-hero_title {
    max-width: 760px;
    color: #fff;
    font-size: 5.55rem;
    line-height: 1.16;
    text-shadow: 0 14px 38px rgba(0, 0, 0, 0.26);
}

.ninbai-hero_title::after {
    display: block;
    width: 150px;
    height: 1px;
    margin-top: 22px;
    background: linear-gradient(90deg, var(--jr-light-gold), transparent);
    content: "";
}

.ninbai-hero_lead {
    max-width: 680px;
    color: rgba(255, 255, 255, 0.94);
}

.ninbai-btn,
.ninbai-sim_btn,
.ninbai-fixed-cta a,
.ninbai-hub_actions a,
.ninbai-hero_guides_more a,
.comLink a {
    border-radius: 12px;
    font-weight: 700;
    letter-spacing: 0.06em;
}

.ninbai-btn {
    min-height: 64px;
    border-color: rgba(226, 196, 125, 0.72);
    box-shadow: 0 18px 36px rgba(4, 16, 31, 0.25), inset 0 1px 0 rgba(255, 255, 255, 0.22);
}

.ninbai-btn::before,
.ninbai-fixed-cta a::before {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    margin-right: 10px;
    color: var(--jr-light-gold);
    border: 1px solid currentColor;
    border-radius: 50%;
    font-size: 1.1rem;
    line-height: 1;
}

.ninbai-btn_sim {
    color: #fff !important;
    background: linear-gradient(180deg, #173b66 0%, #102d52 54%, #0b1f3a 100%);
}

.ninbai-btn_sim::before,
.ninbai-fixed_sim::before {
    content: "✓";
}

.ninbai-btn_tel {
    color: #0b1f3a !important;
    background: linear-gradient(180deg, #f3d98f 0%, #c89b4b 58%, #a8792f 100%);
    border-color: rgba(255, 240, 190, 0.9);
}

.ninbai-btn_tel::before,
.ninbai-fixed_tel::before {
    color: #0b1f3a;
    content: "☎";
}

.ninbai-btn_line {
    background: linear-gradient(180deg, #31d66b 0%, #16a34a 100%);
    border-color: rgba(226, 196, 125, 0.72);
}

.ninbai-btn_line::before,
.ninbai-fixed_line::before {
    color: #fff;
    content: "L";
}

.ninbai-hero_declarations {
    max-width: 820px;
    margin-top: 30px;
    padding: 20px;
    background:
        radial-gradient(circle at 14% 12%, rgba(200, 155, 75, 0.16), transparent 24%),
        linear-gradient(180deg, rgba(248, 242, 232, 0.96), rgba(255, 255, 255, 0.9));
    border: 1px solid rgba(226, 196, 125, 0.58);
    box-shadow: 0 24px 52px rgba(4, 16, 31, 0.24);
}

.ninbai-hero_declarations_title {
    display: flex;
    justify-content: center;
    width: 100%;
    min-height: auto;
    margin-bottom: 18px;
    padding: 0 0 12px;
    color: var(--jr-deep);
    background: transparent;
    border: none;
    font-family: "游明朝","Yu Mincho",serif;
    font-size: 1.65rem;
    text-align: center;
}

.ninbai-hero_declarations_title::before,
.ninbai-hero_declarations_title::after,
.ninbai-hero_guides_head h2::before,
.ninbai-hero_guides_head h2::after {
    width: 52px;
    height: 1px;
    margin: auto 12px;
    background: linear-gradient(90deg, transparent, var(--jr-gold), transparent);
    content: "";
}

.ninbai-hero_declarations_grid {
    counter-reset: declaration;
    gap: 14px;
}

.ninbai-hero_declarations article {
    counter-increment: declaration;
    min-height: 172px;
    padding: 42px 22px 22px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(248, 242, 232, 0.96));
    border: 1px solid rgba(200, 155, 75, 0.55);
    border-radius: 0;
    box-shadow: 0 14px 34px rgba(15, 39, 71, 0.09), inset 0 0 0 5px rgba(248, 242, 232, 0.78);
}

.ninbai-hero_declarations article::before {
    left: 12px;
    right: 12px;
    top: 12px;
    height: auto;
    color: var(--jr-antique);
    background: none;
    content: counter(declaration, decimal-leading-zero);
    font-family: "EB Garamond", serif;
    font-size: 1.4rem;
    letter-spacing: 0.16em;
}

.ninbai-hero_declarations article::after {
    position: absolute;
    top: 14px;
    right: 16px;
    width: 32px;
    height: 32px;
    border: 1px solid rgba(200, 155, 75, 0.55);
    border-radius: 50%;
    background: radial-gradient(circle, rgba(200, 155, 75, 0.2), transparent 62%);
    content: "";
}

.ninbai-hero_declarations span {
    color: var(--jr-deep);
    font-family: "游明朝","Yu Mincho",serif;
    font-size: 2rem;
}

.ninbai-hero_declarations p {
    color: #293242;
}

.ninbai-hero_notes li {
    background: rgba(11, 31, 58, 0.58);
    border-color: rgba(226, 196, 125, 0.42);
    border-left-color: var(--jr-light-gold);
}

.ninbai-doc-tabs {
    width: 100px;
    gap: 7px;
}

.ninbai-doc-tabs a {
    min-height: 52px;
    color: #fff;
    background: rgba(11, 31, 58, 0.75);
    border-color: rgba(226, 196, 125, 0.42);
    border-left-color: var(--jr-light-gold);
    border-radius: 999px 8px 8px 999px;
}

.ninbai-doc-tabs a span {
    color: var(--jr-light-gold);
}

.ninbai-doc-tabs_phone {
    margin-top: 8px;
    padding: 14px 10px;
    color: #fff;
    background: rgba(11, 31, 58, 0.86);
    border: 1px solid rgba(226, 196, 125, 0.5);
    border-radius: 10px;
    box-shadow: 0 16px 34px rgba(4, 16, 31, 0.22);
    text-align: center;
}

.ninbai-doc-tabs_phone small,
.ninbai-doc-tabs_phone em {
    display: block;
    color: rgba(255, 255, 255, 0.76);
    font-size: 0.96rem;
    font-style: normal;
    line-height: 1.45;
}

.ninbai-doc-tabs_phone strong {
    display: block;
    margin: 6px 0;
    color: var(--jr-light-gold);
    font-family: "EB Garamond", serif;
    font-size: 1.55rem;
    letter-spacing: 0.06em;
}

.ninbai-hero_guides,
.ninbai-intro,
.ninbai-simulator,
.ninbai-2026,
.ninbai-jr-change,
.ninbai-intention,
.ninbai-risk,
.ninbai-about,
.ninbai-difference,
.ninbai-merits,
.ninbai-conditions,
.ninbai-cases,
.ninbai-documents,
.ninbai-area,
.ninbai-flow,
.ninbai-article,
.ninbai-blog,
.ninbai-faq {
    position: relative;
}

.ninbai-hero_guides {
    padding-top: 58px;
    background:
        radial-gradient(circle at 8% 12%, rgba(200, 155, 75, 0.12), transparent 22%),
        radial-gradient(circle at 92% 88%, rgba(16, 45, 82, 0.1), transparent 24%),
        linear-gradient(180deg, var(--jr-cream), #fffaf4);
}

.ninbai-hero_guides::before,
.ninbai-intro::before,
.ninbai-faq::before {
    position: absolute;
    inset: 0;
    background-image:
        radial-gradient(circle at 20px 20px, rgba(200, 155, 75, 0.08) 0 1px, transparent 2px),
        radial-gradient(circle at 52px 52px, rgba(16, 45, 82, 0.06) 0 1px, transparent 2px);
    background-size: 72px 72px;
    content: "";
    opacity: 0.52;
    pointer-events: none;
}

.ninbai-hero_guides .content,
.ninbai-intro .content,
.ninbai-faq .content {
    z-index: 1;
}

.ninbai-hero_guides_head h2 {
    display: flex;
    align-items: center;
    color: var(--jr-deep);
}

.ninbai-hero_guides_grid article,
.ninbai-blog_card a,
.ninbai-hub_block,
.ninbai-card_list li,
.ninbai-risk_list li,
.ninbai-cases_card,
.ninbai-support_list li,
.ninbai-flow_list li,
.ninbai-sim_shell,
.ninbai-intro_panel,
.ninbai-compare_col,
.ninbai-negotiation_card,
.ninbai-documents_box {
    border: 1px solid rgba(200, 155, 75, 0.34);
    border-top: 3px solid var(--jr-gold);
    border-radius: 10px;
    box-shadow: 0 18px 44px rgba(15, 39, 71, 0.08);
}

.ninbai-hero_guides_grid article {
    background: linear-gradient(180deg, #fff, #fffaf2);
}

.ninbai-hero_guides_grid span {
    color: var(--jr-deep);
    background: linear-gradient(180deg, #f3d98f, #e2c47d);
    border: 1px solid rgba(168, 121, 47, 0.28);
    border-radius: 999px;
}

.ninbai-hero_guides_grid h3,
.headLine04,
.ninbai-hub_detail strong,
.ninbai-cases_card h3,
.ninbai-flow_list h3,
.ninbai-blog_card h3 {
    color: var(--jr-deep);
}

.ninbai-hero_guides_grid a,
.ninbai-hub_detail span,
.ninbai-blog_card span {
    color: var(--jr-antique);
}

.ninbai-hero_guides_more a,
.comLink a {
    color: var(--jr-deep);
    background: linear-gradient(180deg, #fffaf2, var(--jr-cream));
    border: 1px solid var(--jr-gold);
    border-left: 4px solid var(--jr-gold);
}

.ninbai-intro,
.ninbai-about,
.ninbai-merits,
.ninbai-area,
.ninbai-blog,
.ninbai-faq {
    background: linear-gradient(180deg, #fffaf4, #fff);
}

.ninbai-simulator,
.ninbai-one-window,
.ninbai-choice,
.ninbai-signs,
.ninbai-negotiation,
.ninbai-documents,
.ninbai-story,
.ninbai-cta {
    background:
        linear-gradient(180deg, rgba(11, 31, 58, 0.96), rgba(16, 45, 82, 0.94)),
        radial-gradient(circle at 10% 10%, rgba(226, 196, 125, 0.18), transparent 24%);
    color: #fff;
}

.ninbai-simulator .headLine04,
.ninbai-one-window .headLine04,
.ninbai-choice .headLine04,
.ninbai-signs .headLine04,
.ninbai-negotiation .headLine04,
.ninbai-documents .headLine04,
.ninbai-story .headLine04,
.ninbai-cta .headLine04 {
    color: #fff;
}

.ninbai-hub_block.is-dark,
.ninbai-cta_box,
.ninbai-fixed-cta {
    background: linear-gradient(180deg, rgba(11, 31, 58, 0.96), rgba(16, 45, 82, 0.95));
    border-color: rgba(226, 196, 125, 0.42);
}

.ninbai-hub_grid article {
    background: linear-gradient(180deg, #fff, #fffaf2);
    border-left-color: var(--jr-gold);
}

.ninbai-hub_block.is-dark .ninbai-hub_grid article {
    background: rgba(255, 255, 255, 0.08);
}

.ninbai-fixed-cta {
    border: 1px solid rgba(226, 196, 125, 0.48);
    box-shadow: 0 18px 46px rgba(4, 16, 31, 0.32);
}

.ninbai-fixed-cta p {
    color: var(--jr-light-gold);
}

.ninbai-fixed_sim {
    color: #fff !important;
    background: linear-gradient(180deg, #173b66, #0b1f3a);
    border-color: rgba(226, 196, 125, 0.58);
}

.ninbai-fixed_tel {
    color: #0b1f3a !important;
    background: linear-gradient(180deg, #f3d98f, #c89b4b 58%, #a8792f);
    border-color: rgba(255, 240, 190, 0.8);
}

.ninbai-fixed_line {
    background: linear-gradient(180deg, #31d66b 0%, #16a34a 100%);
    border-color: rgba(226, 196, 125, 0.5);
}

.ninbai-blog-hero {
    min-height: 390px;
    background:
        linear-gradient(90deg, rgba(11, 31, 58, 0.96), rgba(16, 45, 82, 0.83), rgba(11, 31, 58, 0.66)),
        url("../img/about-consultation.jpg") no-repeat center center / cover;
    border-bottom: 1px solid rgba(226, 196, 125, 0.38);
}

.ninbai-blog-hero p.en {
    color: var(--jr-light-gold);
}

.ninbai-blog-hero h1,
.ninbai-blog-hero h2 {
    color: #fff;
    text-shadow: 0 14px 36px rgba(0, 0, 0, 0.28);
}

.ninbai-blog-hero p:last-child {
    color: rgba(255, 255, 255, 0.9);
}

.ninbai-article_hero,
.ninbai-article_header .ninbai-article_hero {
    border: 1px solid rgba(200, 155, 75, 0.48);
    border-radius: 10px;
    background: var(--jr-deep);
    box-shadow: 0 22px 52px rgba(15, 39, 71, 0.16);
}

.ninbai-article_hero::after,
.ninbai-article_header .ninbai-article_hero::after {
    background: linear-gradient(90deg, rgba(11, 31, 58, 0.82), rgba(11, 31, 58, 0.32));
}

.ninbai-article_body h2,
.ninbai-article_body h3 {
    color: var(--jr-deep);
}

.ninbai-article_body h2 {
    border-left-color: var(--jr-gold);
}

.ninbai-article_body table th {
    background: var(--jr-deep);
}

.ninbai-article_body blockquote,
.ninbai-article_summary,
.ninbai-trust_panel {
    background: linear-gradient(180deg, #fffaf2, var(--jr-cream));
    border-color: rgba(200, 155, 75, 0.38);
}

.ninbai-page #gFooter {
    background:
        linear-gradient(180deg, #0b1f3a, #08192e);
    border-top: 1px solid rgba(226, 196, 125, 0.34);
}

@media all and (max-width: 1180px) {
    .ninbai-site-title {
        display: none;
    }
}

@media all and (max-width: 896px) {
    .ninbai-page #gHeader {
        background: linear-gradient(180deg, rgba(8, 25, 46, 0.92), rgba(8, 25, 46, 0.14));
    }

    .ninbai-page #gHeader .siteLogo {
        padding: 20px 0 0 16px;
    }

    .ninbai-page #gHeader .siteLogo img {
        width: 246px;
    }

    .ninbai-hero {
        min-height: auto;
        padding-bottom: 42px;
    }

    .ninbai-hero_inner {
        display: flex;
        flex-direction: column;
        padding-top: 132px;
    }

    .ninbai-hero_title {
        font-size: 3.55rem;
        line-height: 1.22;
    }

    .ninbai-hero_lead {
        line-height: 1.9;
    }

    .ninbai-hero_actions {
        display: grid;
        grid-template-columns: 1fr;
        gap: 10px;
        width: 100%;
    }

    .ninbai-hero_actions .ninbai-btn {
        width: 100%;
        max-width: none;
        box-sizing: border-box;
    }

    .ninbai-btn {
        min-width: 0;
        min-height: 56px;
        padding: 0 12px;
    }

    .ninbai-hero_person {
        position: relative;
        top: auto;
        right: auto;
        order: 4;
        width: min(100%, 330px);
        margin: 26px auto 0;
    }

    .ninbai-hero_declarations {
        order: 5;
        margin-top: 24px;
        padding: 16px;
    }

    .ninbai-hero_declarations_title::before,
    .ninbai-hero_declarations_title::after,
    .ninbai-hero_guides_head h2::before,
    .ninbai-hero_guides_head h2::after {
        width: 26px;
        margin: auto 8px;
    }

    .ninbai-hero_declarations_grid {
        grid-template-columns: 1fr;
    }

    .ninbai-doc-tabs {
        position: sticky;
        top: 0;
        order: 0;
        left: auto;
        z-index: 30;
        flex-direction: row;
        width: calc(100vw - 36px);
        margin: -4px 0 22px;
        padding-bottom: 4px;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .ninbai-doc-tabs a {
        min-width: 86px;
        min-height: 48px;
        border-radius: 999px;
    }

    .ninbai-doc-tabs_phone {
        display: none;
    }

    .ninbai-hero_guides_head h2 {
        display: block;
    }

    .ninbai-hero_guides_grid article {
        min-width: 78vw;
    }

    .ninbai-fixed-cta a::before {
        display: none;
    }
}

/* Cross-page readability and CTA consistency fixes */
.ninbai-page .fadeInUp {
    opacity: 1 !important;
    transform: none !important;
}

.ninbai-simulator .ninbai-sim_head,
.ninbai-simulator .ninbai-sim_head h2,
.ninbai-simulator .ninbai-sim_head p,
.ninbai-simulator .ninbai-section_label,
.ninbai-negotiation .ninbai-negotiation_head,
.ninbai-negotiation .ninbai-negotiation_head h2,
.ninbai-negotiation .ninbai-negotiation_head p,
.ninbai-documents .ninbai-documents_text,
.ninbai-documents .ninbai-documents_text h2,
.ninbai-documents .ninbai-documents_text p,
.ninbai-story,
.ninbai-story h2,
.ninbai-story p {
    color: #fff !important;
}

.ninbai-simulator .ninbai-section_label,
.ninbai-negotiation .ninbai-section_label,
.ninbai-documents .ninbai-section_label,
.ninbai-story .ninbai-section_label {
    color: var(--jr-light-gold) !important;
}

.ninbai-hub_detail {
    color: #fff !important;
    background: linear-gradient(135deg, #0b1f3a 0%, #173b66 58%, #102d52 100%) !important;
    border: 1px solid rgba(226, 196, 125, 0.52);
    border-left: 5px solid var(--jr-gold);
}

.ninbai-hub_detail span {
    color: var(--jr-light-gold) !important;
}

.ninbai-hub_detail strong {
    color: #fff !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.22);
}

.ninbai-hub_detail em {
    color: rgba(255, 255, 255, 0.86) !important;
}

.ninbai-hub_block:not(.is-dark) {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), #fffaf2);
}

.ninbai-hub_block.is-dark .ninbai-hub_grid article {
    background: rgba(255, 255, 255, 0.96);
}

.ninbai-hub_block.is-dark .ninbai-hub_grid span,
.ninbai-hub_block.is-dark .ninbai-hub_grid p {
    color: var(--jr-deep) !important;
}

.ninbai-hub_related a {
    color: var(--jr-deep) !important;
    background: #fffaf2;
    border-color: rgba(200, 155, 75, 0.34);
}

.ninbai-hub_block.is-dark .ninbai-hub_related a {
    color: #fff !important;
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(226, 196, 125, 0.34);
}

.ninbai-hub_actions a:nth-child(3),
.ninbai-hub_actions a[href*="page.line.me"],
.ninbai-btn_line,
.ninbai-fixed_line {
    color: #fff !important;
    background: linear-gradient(180deg, #31d66b 0%, #16a34a 100%) !important;
    border-color: rgba(226, 196, 125, 0.48) !important;
}

.ninbai-hub_actions a:nth-child(1) {
    color: #fff !important;
    background: linear-gradient(180deg, #173b66, #0b1f3a);
    border-color: rgba(226, 196, 125, 0.38);
}

.ninbai-hub_actions a:nth-child(2) {
    color: #0b1f3a !important;
    background: linear-gradient(180deg, #f3d98f, #c89b4b 58%, #a8792f);
    border-color: rgba(255, 240, 190, 0.8);
}

.ninbai-card_list li,
.ninbai-risk_list li,
.ninbai-sim_result_box,
.ninbai-negotiation_card,
.ninbai-documents_box,
.ninbai-support_list li {
    color: var(--jr-ink) !important;
    background: linear-gradient(180deg, #fff, #fffaf2) !important;
}

.ninbai-card_list li > span,
.ninbai-risk_list li > span,
.ninbai-card_list h3,
.ninbai-risk_list h3,
.ninbai-sim_result_box h4,
.ninbai-negotiation_card h3,
.ninbai-documents_box h3,
.ninbai-support_list h3 {
    color: var(--jr-deep) !important;
}

.ninbai-card_list p,
.ninbai-risk_list p,
.ninbai-sim_result_box li,
.ninbai-sim_result_box p,
.ninbai-negotiation_card li,
.ninbai-documents_box li,
.ninbai-support_list p {
    color: #263142 !important;
}

.ninbai-sim_result,
.ninbai-sim_result_head h3,
.ninbai-sim_result_head p:not(.en),
.ninbai-sim_meter p,
.ninbai-sim_form,
.ninbai-sim_form label,
.ninbai-sim_label_line,
.ninbai-sim_consent,
.ninbai-sim_disclaimer {
    color: var(--jr-deep) !important;
}

.ninbai-sim_form input,
.ninbai-sim_form textarea {
    color: var(--jr-ink) !important;
    background: #f8fafc !important;
}

.ninbai-merits,
.ninbai-merits_copy,
.ninbai-merits_copy h2,
.ninbai-merits_copy p,
.ninbai-merits .ninbai-section_label {
    color: var(--jr-deep) !important;
}

.ninbai-merits .ninbai-section_label {
    color: var(--jr-antique) !important;
}

.ninbai-leaseback {
    color: #fff;
    background: linear-gradient(180deg, rgba(11, 31, 58, 0.96), rgba(16, 45, 82, 0.94));
    border: 1px solid rgba(226, 196, 125, 0.42);
}

.ninbai-leaseback h3,
.ninbai-leaseback p {
    color: #fff !important;
}

.ninbai-leaseback .ninbai-mini_note {
    color: rgba(255, 255, 255, 0.78) !important;
}

/* Hero copy and guide heading fit */
.ninbai-hero_title {
    max-width: 840px;
    font-size: clamp(4.25rem, 3.35vw, 4.65rem) !important;
    line-height: 1.22 !important;
    letter-spacing: 0.01em !important;
}

.ninbai-hero_title span {
    display: block;
    white-space: nowrap;
}

.ninbai-hero_guides_head h2 {
    display: block !important;
    max-width: 430px;
    font-size: 2.95rem;
    line-height: 1.42;
    word-break: keep-all;
    overflow-wrap: normal;
}

.ninbai-hero_guides_head h2 span {
    display: block;
    white-space: nowrap;
}

@media all and (max-width: 896px) {
    .ninbai-hero_title {
        font-size: clamp(2.82rem, 8.2vw, 3.45rem) !important;
        line-height: 1.24 !important;
    }

    .ninbai-hero_title span {
        white-space: normal;
    }

    .ninbai-hero_guides_head h2 {
        max-width: none;
        font-size: 2.5rem;
    }

    .ninbai-hero_guides_head h2 span {
        white-space: normal;
    }
}

/* Light card readability inside dark sections */
.ninbai-one-window_points article,
.ninbai-story .ninbai-story_card {
    color: var(--jr-ink) !important;
    background: linear-gradient(180deg, #fff, #fffaf2) !important;
}

.ninbai-one-window_points article span,
.ninbai-one-window_points article h3,
.ninbai-story .ninbai-story_card h3 {
    color: var(--jr-deep) !important;
}

.ninbai-story .ninbai-story_card span {
    color: var(--jr-antique) !important;
}

.ninbai-one-window_points article p,
.ninbai-story .ninbai-story_card p {
    color: #263142 !important;
}

.ninbai-phone-popup {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
}

.ninbai-phone-popup[hidden] {
    display: none !important;
}

.ninbai-phone-popup_overlay {
    position: absolute;
    inset: 0;
    background: rgba(12, 28, 44, 0.72);
}

.ninbai-phone-popup_panel {
    position: relative;
    width: min(100%, 420px);
    padding: 36px 28px 32px;
    border-radius: 16px;
    text-align: center;
    background: linear-gradient(180deg, #fff 0%, #fffaf2 100%);
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.28);
    border: 1px solid rgba(184, 135, 36, 0.35);
}

.ninbai-phone-popup_close {
    position: absolute;
    top: 10px;
    right: 12px;
    width: 40px;
    height: 40px;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: #123c5a;
    font-size: 2.4rem;
    line-height: 1;
    cursor: pointer;
}

.ninbai-phone-popup_close:hover {
    background: rgba(18, 60, 90, 0.08);
}

.ninbai-phone-popup_label {
    margin: 0 0 12px;
    color: #123c5a;
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: 0.08em;
}

.ninbai-phone-popup_number {
    margin: 0 0 16px;
    color: #0f5c8c;
    font-size: clamp(2.8rem, 5vw, 3.6rem);
    font-weight: 900;
    letter-spacing: 0.06em;
    line-height: 1.2;
}

.ninbai-phone-popup_hours,
.ninbai-phone-popup_note {
    margin: 0;
    color: #263142;
    font-size: 1.4rem;
    line-height: 1.7;
}

.ninbai-phone-popup_hours {
    margin-bottom: 8px;
}

body.ninbai-phone-popup-open {
    overflow: hidden;
}

/* layout.css disables tel: links on PC; re-enable consult CTAs only */
@media all and (min-width: 897px) {
    .ninbai-page a.ninbai-btn_tel,
    .ninbai-page a.ninbai-fixed_tel,
    .ninbai-page main a[href^="tel:"] {
        pointer-events: auto;
        cursor: pointer;
    }
}
