@charset "utf-8";

.mabody {
    font-family: var(--sans);
    font-weight: 700;
    color: var(--fs-navy);
    line-height: 1.8;
    background: var(--fs-white);
}
.mabody :where(p, h2, h3, ul, ol, li, dl, dt, dd, table, figure) { margin: 0 }
.mabody :where(ul, ol) { padding: 0; list-style: none }
.mabody a { text-decoration: none }
.mabody b { font-weight: 900 }

.mabody .nw { white-space: nowrap }

.mabody .mk {
    background: linear-gradient(transparent 62%, var(--fs-yellow) 0);
    padding: 0 .08em;
}

.ma-container {
    width: 92%;
    max-width: 1100px;
    margin: 0 auto;
}

.ma-title {
    text-align: center;
    font-weight: 900;
    line-height: 1.45;
    letter-spacing: .03em;
    color: var(--fs-navy);
}
.ma-title .en {
    display: block;
    font-family: var(--en);
    font-weight: 700;
    color: var(--fs-blue);
    letter-spacing: .16em;
    line-height: 1;
}
.ma-lead {
    text-align: center;
    line-height: 1.9;
    color: #33465c;
}
.ma-note {
    text-align: center;
    color: #46505f;
    line-height: 1.8;
}

@media (min-width: 768px) {

    .mabody { --w: min(100vw, 1440px) }

    .mabody section { padding: calc(var(--w) * 84 / 1440) 0 }
    .ma-title { font-size: max(24px, calc(var(--w) * 42 / 1440)) }
    .ma-title .en {
        font-size: max(14px, calc(var(--w) * 17 / 1440));
        padding-top: .7em;
    }
    .ma-lead {
        font-size: max(15px, calc(var(--w) * 19 / 1440));
        margin-top: calc(var(--w) * 22 / 1440);
    }
    .ma-note {
        font-size: max(14px, calc(var(--w) * 15 / 1440));
        margin-top: calc(var(--w) * 18 / 1440);
    }
    .sp-br { display: none }

    .ma-reason__list {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: calc(var(--w) * 26 / 1440);
        margin-top: calc(var(--w) * 46 / 1440);
    }
    .ma-reason__list li {
        position: relative;
        background: #f4f8fb;
        border-radius: calc(var(--w) * 12 / 1440);
        padding: calc(var(--w) * 30 / 1440) calc(var(--w) * 32 / 1440) calc(var(--w) * 30 / 1440);
        border-top: calc(var(--w) * 5 / 1440) solid var(--fs-blue);
    }
    .ma-reason__list .no {
        font-family: var(--en);
        font-weight: 700;
        font-size: max(20px, calc(var(--w) * 34 / 1440));
        line-height: 1;
        color: var(--fs-blue);
        letter-spacing: .04em;
    }
    .ma-reason__list .ttl {
        font-size: max(18px, calc(var(--w) * 27 / 1440));
        font-weight: 900;
        line-height: 1.5;
        margin-top: calc(var(--w) * 8 / 1440);
    }
    .ma-reason__list .txt {
        font-size: max(14px, calc(var(--w) * 17 / 1440));
        line-height: 1.9;
        color: #33465c;
        margin-top: calc(var(--w) * 12 / 1440);
    }

    .ma-choice { background: var(--fs-sky) }
    .ma-table-wrap {
        margin-top: calc(var(--w) * 38 / 1440);
        overflow-x: auto;
    }
    .ma-table {
        width: 100%;
        border-collapse: separate;
        border-spacing: calc(var(--w) * 4 / 1440);
        font-size: max(14px, calc(var(--w) * 16 / 1440));
        line-height: 1.6;
    }
    .ma-table th,
    .ma-table td {
        padding: calc(var(--w) * 14 / 1440) calc(var(--w) * 12 / 1440);
        text-align: center;
        background: var(--fs-white);
        border-radius: calc(var(--w) * 6 / 1440);
    }
    .ma-table thead th {
        background: var(--fs-navy);
        color: var(--fs-white);
        font-size: max(14px, calc(var(--w) * 18 / 1440));
    }
    .ma-table thead th:first-child { background: transparent }
    .ma-table thead th.hi {
        background: var(--fs-salmon);
        font-size: max(15px, calc(var(--w) * 20 / 1440));
    }
    .ma-table thead .sml { font-size: max(12px, calc(var(--w) * 14 / 1440)) }
    .ma-table tbody th {
        background: #eaf2f6;
        text-align: left;
        white-space: nowrap;
        font-size: max(14px, calc(var(--w) * 16 / 1440));
    }
    .ma-table td.hi { background: #fff3ee }
    .ma-table .ng { color: #c0442a }
    .ma-table .so { color: #46505f }
    .ma-table .ok { color: #b1421f; font-weight: 900 }

    .ma-price__list {
        display: flex;
        justify-content: center;
        gap: calc(var(--w) * 24 / 1440);
        margin-top: calc(var(--w) * 40 / 1440);
    }
    .ma-price__list li {
        flex: 1;
        max-width: calc(var(--w) * 320 / 1440);
        background: var(--fs-white);
        border: calc(var(--w) * 3 / 1440) solid var(--fs-blue);
        border-radius: calc(var(--w) * 12 / 1440);
        padding: calc(var(--w) * 22 / 1440) calc(var(--w) * 16 / 1440) calc(var(--w) * 24 / 1440);
        text-align: center;
    }
    .ma-price__list .lbl {
        font-size: max(14px, calc(var(--w) * 17 / 1440));
        color: var(--fs-navy);
    }

    .ma-price__list .val {
        font-family: var(--sans);
        line-height: 1.1;
        color: var(--fs-salmon);
        margin-top: calc(var(--w) * 4 / 1440);
    }
    .ma-price__list .val b { font-size: max(34px, calc(var(--w) * 62 / 1440)); font-weight: 900 }
    .ma-price__list .val span {
        font-family: var(--sans);
        font-size: max(16px, calc(var(--w) * 24 / 1440));
        font-weight: 900;
        margin-left: .1em;
    }
    .ma-price__msg {
        text-align: center;
        font-size: max(16px, calc(var(--w) * 24 / 1440));
        font-weight: 900;
        line-height: 1.7;
        margin-top: calc(var(--w) * 34 / 1440);
    }

    .ma-flow { background: var(--fs-sky) }
    .ma-flow__list {
        display: flex;
        gap: calc(var(--w) * 14 / 1440);
        margin-top: calc(var(--w) * 40 / 1440);
    }
    .ma-flow__list li {
        flex: 1;
        background: var(--fs-white);
        border-radius: calc(var(--w) * 10 / 1440);
        padding: calc(var(--w) * 20 / 1440) calc(var(--w) * 16 / 1440) calc(var(--w) * 22 / 1440);
    }
    .ma-flow__list .step {
        font-family: var(--en);
        font-weight: 700;
        font-size: max(13px, calc(var(--w) * 15 / 1440));
        letter-spacing: .1em;
        color: var(--fs-blue);
        line-height: 1;
    }
    .ma-flow__list .ttl {
        font-size: max(15px, calc(var(--w) * 19 / 1440));
        font-weight: 900;
        line-height: 1.5;
        margin-top: calc(var(--w) * 8 / 1440);
    }
    .ma-flow__list .txt {
        font-size: max(14px, calc(var(--w) * 15 / 1440));
        line-height: 1.8;
        color: #33465c;
        margin-top: calc(var(--w) * 8 / 1440);
    }
    .ma-flow__msg {
        text-align: center;
        font-size: max(16px, calc(var(--w) * 21 / 1440));
        line-height: 1.8;
        margin-top: calc(var(--w) * 32 / 1440);
    }

    .ma-faq__list {
        max-width: calc(var(--w) * 900 / 1440);
        margin: calc(var(--w) * 40 / 1440) auto 0;
    }
    .ma-faq__list .item + .item { margin-top: calc(var(--w) * 16 / 1440) }
    .ma-faq__list dt,
    .ma-faq__list dd {
        position: relative;
        padding-left: calc(var(--w) * 46 / 1440);
    }
    .ma-faq__list dt {
        font-size: max(16px, calc(var(--w) * 20 / 1440));
        font-weight: 900;
        line-height: 1.6;
        color: var(--fs-navy);
        background: #f4f8fb;
        border-radius: calc(var(--w) * 8 / 1440) calc(var(--w) * 8 / 1440) 0 0;
        padding: calc(var(--w) * 16 / 1440) calc(var(--w) * 22 / 1440) calc(var(--w) * 16 / 1440) calc(var(--w) * 56 / 1440);
    }
    .ma-faq__list dd {
        font-size: max(14px, calc(var(--w) * 17 / 1440));
        line-height: 1.9;
        color: #33465c;
        background: var(--fs-white);
        border: 1px solid #dbe6ee;
        border-top: 0;
        border-radius: 0 0 calc(var(--w) * 8 / 1440) calc(var(--w) * 8 / 1440);
        padding: calc(var(--w) * 16 / 1440) calc(var(--w) * 22 / 1440) calc(var(--w) * 18 / 1440) calc(var(--w) * 56 / 1440);
    }
    .ma-faq__list dt::before,
    .ma-faq__list dd::before {
        position: absolute;
        left: calc(var(--w) * 22 / 1440);
        font-family: var(--en);
        font-weight: 700;
        font-size: max(16px, calc(var(--w) * 22 / 1440));
        line-height: inherit;
    }
    .ma-faq__list dt::before { content: "Q"; color: var(--fs-blue) }
    .ma-faq__list dd::before { content: "A"; color: var(--fs-salmon) }

    .ma-book { background: var(--fs-sky) }
    .ma-book__card {
        background: var(--fs-white);
        border-radius: calc(var(--w) * 12 / 1440);
        border-top: calc(var(--w) * 5 / 1440) solid var(--fs-blue);
        max-width: calc(var(--w) * 760 / 1440);
        margin: calc(var(--w) * 40 / 1440) auto 0;
        padding: calc(var(--w) * 32 / 1440) calc(var(--w) * 44 / 1440) calc(var(--w) * 36 / 1440);
    }
    .ma-book__cardttl {
        text-align: center;
        font-size: max(17px, calc(var(--w) * 24 / 1440));
        font-weight: 900;
        color: var(--fs-navy);
    }
    .ma-book__check { margin-top: calc(var(--w) * 22 / 1440) }
    .ma-book__check li + li { margin-top: calc(var(--w) * 12 / 1440) }
    .ma-book__check label {
        display: flex;
        align-items: flex-start;
        gap: calc(var(--w) * 14 / 1440);
        background: #f4f8fb;
        border: 1px solid #dbe6ee;
        border-radius: calc(var(--w) * 8 / 1440);
        padding: calc(var(--w) * 16 / 1440) calc(var(--w) * 20 / 1440);
        cursor: pointer;
    }
    .ma-book__check label:has(.ma-book__cb:checked) {
        background: #eaf5fb;
        border-color: var(--fs-blue);
    }
    .ma-book__cb {
        flex: none;
        width: calc(var(--w) * 26 / 1440);
        height: calc(var(--w) * 26 / 1440);
        min-width: 22px;
        min-height: 22px;
        margin: 0;
        accent-color: var(--fs-blue);
    }
    .ma-book__check .txt {
        font-size: max(15px, calc(var(--w) * 18 / 1440));
        line-height: 1.6;
        color: var(--fs-navy);
    }
    .ma-book__check .sup {
        display: block;
        font-size: max(14px, calc(var(--w) * 15 / 1440));
        font-weight: 700;
        color: #46505f;
        margin-top: calc(var(--w) * 4 / 1440);
    }
    .ma-book__lock {
        text-align: center;
        font-size: max(14px, calc(var(--w) * 16 / 1440));
        color: #46505f;
        margin-top: calc(var(--w) * 24 / 1440);
    }
    .ma-book__go { margin-top: calc(var(--w) * 24 / 1440) }
    .ma-book__go .btn {
        display: flex;
        flex-direction: column;
        align-items: center;
        max-width: calc(var(--w) * 480 / 1440);
        margin: 0 auto;
        padding: calc(var(--w) * 18 / 1440) calc(var(--w) * 24 / 1440);
        border-radius: 999px;
        line-height: 1.35;
        background: var(--fs-salmon);
        color: var(--fs-white);
        box-shadow: 0 4px 0 #c85f40;
    }
    .ma-book__go .ttl { font-size: max(16px, calc(var(--w) * 26 / 1440)); font-weight: 900 }
    .ma-book__go .sub { font-size: max(14px, calc(var(--w) * 16 / 1440)); color: #ffe5da }
    .ma-book__note {
        font-size: max(14px, calc(var(--w) * 15 / 1440));
        line-height: 1.8;
        color: #46505f;
        text-align: center;
        margin-top: calc(var(--w) * 16 / 1440);
    }
    .ma-book__alt {
        max-width: calc(var(--w) * 760 / 1440);
        margin: calc(var(--w) * 28 / 1440) auto 0;
        background: rgba(255, 255, 255, .55);
        border-radius: calc(var(--w) * 10 / 1440);
        padding: calc(var(--w) * 22 / 1440) calc(var(--w) * 28 / 1440) calc(var(--w) * 24 / 1440);
        text-align: center;
    }
    .ma-book__alt .ttl {
        font-size: max(15px, calc(var(--w) * 19 / 1440));
        font-weight: 900;
        color: var(--fs-navy);
    }
    .ma-book__alt .txt {
        font-size: max(14px, calc(var(--w) * 16 / 1440));
        line-height: 1.9;
        color: #33465c;
        margin-top: calc(var(--w) * 8 / 1440);
        text-align: left;
    }
    .ma-book__alt .lnk {
        display: inline-block;
        font-size: max(14px, calc(var(--w) * 17 / 1440));
        font-weight: 900;
        color: var(--fs-blue);
        border-bottom: 2px solid var(--fs-blue);
        margin-top: calc(var(--w) * 14 / 1440);
    }

    .ma-msg {
        background: var(--fs-blue);
        color: var(--fs-white);
        text-align: center;
    }
    .ma-msg__ttl {
        font-size: max(24px, calc(var(--w) * 46 / 1440));
        font-weight: 900;
        line-height: 1.5;
        letter-spacing: .03em;
    }
    .ma-msg__ttl .hl { color: var(--fs-yellow) }
    .ma-msg__txt {
        font-size: max(15px, calc(var(--w) * 20 / 1440));
        line-height: 1.9;
        margin-top: calc(var(--w) * 20 / 1440);
    }
    .ma-msg__cta {
        display: flex;
        justify-content: center;
        gap: calc(var(--w) * 20 / 1440);
        margin-top: calc(var(--w) * 34 / 1440);
    }
    .ma-msg__cta .btn {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        width: calc(var(--w) * 440 / 1440);
        padding: calc(var(--w) * 16 / 1440) calc(var(--w) * 16 / 1440);
        border-radius: 999px;
        line-height: 1.35;
        letter-spacing: var(--ls-text);
    }
    .ma-msg__cta .btn:only-child { width: calc(var(--w) * 520 / 1440) }
    .ma-msg__cta .ttl { font-size: max(16px, calc(var(--w) * 26 / 1440)); font-weight: 900 }
    .ma-msg__cta .sub { font-size: max(14px, calc(var(--w) * 16 / 1440)) }
    .ma-msg__cta .btn--main {
        background: var(--fs-salmon);
        color: var(--fs-white);
        box-shadow: 0 calc(var(--w) * 6 / 1440) 0 #c85f40;
    }
    .ma-msg__cta .btn--main .sub { color: #ffe5da }
    .ma-msg__cta .btn--sub {
        background: var(--fs-white);
        color: var(--fs-navy);
        box-shadow: 0 calc(var(--w) * 6 / 1440) 0 #0f6f9e;
    }
    .ma-msg__cta .btn--sub .sub { color: #4a6076 }
    .ma-msg__cond {
        font-size: max(14px, calc(var(--w) * 17 / 1440));
        margin-top: calc(var(--w) * 22 / 1440);
    }

    .ma-footer {
        background: var(--fs-navy);
        color: var(--fs-white);
        text-align: center;
        padding: calc(var(--w) * 46 / 1440) 0 calc(var(--w) * 40 / 1440);
    }
    .ma-footer__alliance {
        font-size: max(14px, calc(var(--w) * 18 / 1440));
        line-height: 1.8;
    }
    .ma-footer__note {
        font-size: max(13px, calc(var(--w) * 14 / 1440));
        line-height: 1.9;
        color: #c3d0de;
        margin-top: calc(var(--w) * 18 / 1440);
    }
    .ma-footer__navi {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        column-gap: calc(var(--w) * 32 / 1440);
        row-gap: calc(var(--w) * 8 / 1440);
        margin-top: calc(var(--w) * 26 / 1440);
    }
    .ma-footer__navi a {
        font-size: max(14px, calc(var(--w) * 15 / 1440));
        color: var(--fs-white);
        border-bottom: 1px solid rgba(255, 255, 255, .45);
        padding-bottom: 2px;
    }
    .ma-footer__copy {
        font-size: max(13px, calc(var(--w) * 14 / 1440));
        color: #c3d0de;
        margin-top: calc(var(--w) * 20 / 1440);
    }
}

@media (max-width: 767px) {

    .mabody section { padding: 13vw 0 }
    .ma-container { width: 90% }
    .pc-br { display: none }

    .ma-title { font-size: 6.4vw }
    .ma-title .en { font-size: 3.6vw; padding-top: .8em }
    .ma-lead { font-size: 3.9vw; margin-top: 5vw; text-align: left }
    .ma-note { font-size: 3.4vw; margin-top: 4vw; text-align: left }

    .ma-reason__list { margin-top: 7vw }
    .ma-reason__list li {
        background: #f4f8fb;
        border-radius: 2.4vw;
        border-top: 1.4vw solid var(--fs-blue);
        padding: 5vw 5vw 5.4vw;
    }
    .ma-reason__list li + li { margin-top: 4vw }
    .ma-reason__list .no {
        font-family: var(--en); font-weight: 700; font-size: 7vw;
        line-height: 1; color: var(--fs-blue); letter-spacing: .04em;
    }
    .ma-reason__list .ttl { font-size: 5.2vw; font-weight: 900; line-height: 1.5; margin-top: 2vw }
    .ma-reason__list .txt { font-size: 3.8vw; line-height: 1.9; color: #33465c; margin-top: 3vw }

    .ma-choice { background: var(--fs-sky) }
    .ma-table-wrap {
        margin-top: 6vw;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    .ma-table {
        border-collapse: separate;
        border-spacing: 1vw;
        font-size: 3.4vw;
        line-height: 1.6;
        min-width: 700px;
    }
    .ma-table th,
    .ma-table td {
        padding: 2.6vw 2vw;
        text-align: center;
        background: var(--fs-white);
        border-radius: 1.4vw;
    }
    .ma-table thead th { background: var(--fs-navy); color: var(--fs-white); font-size: 3.6vw }
    .ma-table thead th:first-child { background: transparent }
    .ma-table thead th.hi { background: var(--fs-salmon); font-size: 3.8vw }
    .ma-table thead .sml { font-size: 3.5vw }
    .ma-table tbody th { background: #eaf2f6; text-align: left; white-space: nowrap; font-size: 3.4vw }
    .ma-table td.hi { background: #fff3ee }
    .ma-table .ng { color: #c0442a }
    .ma-table .so { color: #46505f }
    .ma-table .ok { color: #b1421f; font-weight: 900 }

    .ma-price__list { margin-top: 6vw }
    .ma-price__list li {
        background: var(--fs-white);
        border: 2px solid var(--fs-blue);
        border-radius: 2.4vw;
        padding: 4vw 4vw 4.4vw;
        text-align: center;
    }
    .ma-price__list li + li { margin-top: 3.4vw }
    .ma-price__list .lbl { font-size: 3.8vw }
    .ma-price__list .val { font-family: var(--sans); line-height: 1.1; color: var(--fs-salmon); margin-top: 1vw }
    .ma-price__list .val b { font-size: 13vw; font-weight: 700 }
    .ma-price__list .val span { font-family: var(--sans); font-size: 5.4vw; font-weight: 900; margin-left: .1em }
    .ma-price__msg { text-align: center; font-size: 4.6vw; font-weight: 900; line-height: 1.7; margin-top: 6vw }

    .ma-flow { background: var(--fs-sky) }
    .ma-flow__list { margin-top: 6vw }
    .ma-flow__list li {
        background: var(--fs-white);
        border-radius: 2vw;
        padding: 4vw 4.4vw 4.4vw;
    }
    .ma-flow__list li + li { margin-top: 3vw }
    .ma-flow__list .step {
        font-family: var(--en); font-weight: 700; font-size: 3.4vw;
        letter-spacing: .1em; color: var(--fs-blue); line-height: 1;
    }
    .ma-flow__list .ttl { font-size: 4.6vw; font-weight: 900; line-height: 1.5; margin-top: 1.6vw }
    .ma-flow__list .txt { font-size: 3.6vw; line-height: 1.8; color: #33465c; margin-top: 1.6vw }
    .ma-flow__msg { text-align: center; font-size: 4.2vw; line-height: 1.8; margin-top: 6vw }

    .ma-faq__list { margin-top: 6vw }
    .ma-faq__list .item + .item { margin-top: 3.4vw }
    .ma-faq__list dt,
    .ma-faq__list dd { position: relative }
    .ma-faq__list dt {
        font-size: 4.2vw; font-weight: 900; line-height: 1.6; color: var(--fs-navy);
        background: #f4f8fb; border-radius: 2vw 2vw 0 0;
        padding: 3.6vw 4vw 3.6vw 11vw;
    }
    .ma-faq__list dd {
        font-size: 3.8vw; line-height: 1.9; color: #33465c;
        background: var(--fs-white); border: 1px solid #dbe6ee; border-top: 0;
        border-radius: 0 0 2vw 2vw;
        padding: 3.6vw 4vw 4vw 11vw;
    }
    .ma-faq__list dt::before,
    .ma-faq__list dd::before {
        position: absolute; left: 4vw;
        font-family: var(--en); font-weight: 700; font-size: 5vw; line-height: inherit;
    }
    .ma-faq__list dt::before { content: "Q"; color: var(--fs-blue) }
    .ma-faq__list dd::before { content: "A"; color: var(--fs-salmon) }

    .ma-book { background: var(--fs-sky) }
    .ma-book__card {
        background: var(--fs-white);
        border-radius: 2.4vw;
        border-top: 1.4vw solid var(--fs-blue);
        margin-top: 7vw;
        padding: 6vw 5vw 6.4vw;
    }
    .ma-book__cardttl { text-align: center; font-size: 4.6vw; font-weight: 900; color: var(--fs-navy) }
    .ma-book__check { margin-top: 5vw }
    .ma-book__check li + li { margin-top: 3vw }
    .ma-book__check label {
        display: flex; align-items: flex-start; gap: 3.2vw;
        background: #f4f8fb; border: 1px solid #dbe6ee; border-radius: 2vw;
        padding: 4vw 4vw; cursor: pointer;
    }
    .ma-book__check label:has(.ma-book__cb:checked) { background: #eaf5fb; border-color: var(--fs-blue) }
    .ma-book__cb { flex: none; width: 6vw; height: 6vw; min-width: 22px; min-height: 22px; margin: 0; accent-color: var(--fs-blue) }
    .ma-book__check .txt { font-size: 4vw; line-height: 1.65; color: var(--fs-navy) }
    .ma-book__check .sup { display: block; font-size: 3.4vw; font-weight: 700; color: #46505f; margin-top: 1.2vw }
    .ma-book__lock { text-align: center; font-size: 3.6vw; line-height: 1.8; color: #46505f; margin-top: 5vw }
    .ma-book__go { margin-top: 5vw }
    .ma-book__go .btn {
        display: flex; flex-direction: column; align-items: center;
        padding: 3.4vw 4vw; border-radius: 999px; line-height: 1.35;
        background: var(--fs-salmon); color: var(--fs-white); box-shadow: 0 4px 0 #c85f40;
    }
    .ma-book__go .ttl { font-size: 4.6vw; font-weight: 900 }
    .ma-book__go .sub { font-size: 3.5vw; color: #ffe5da }
    .ma-book__note { font-size: 3.4vw; line-height: 1.8; color: #46505f; margin-top: 4vw }
    .ma-book__alt {
        background: rgba(255, 255, 255, .55); border-radius: 2vw;
        margin-top: 5vw; padding: 5vw 5vw 5.4vw; text-align: center;
    }
    .ma-book__alt .ttl { font-size: 4.2vw; font-weight: 900; color: var(--fs-navy) }
    .ma-book__alt .txt { font-size: 3.8vw; line-height: 1.9; color: #33465c; margin-top: 2vw; text-align: left }
    .ma-book__alt .lnk {
        display: inline-block; font-size: 3.9vw; font-weight: 900;
        color: var(--fs-blue); border-bottom: 2px solid var(--fs-blue); margin-top: 3.4vw;
    }

    .ma-msg { background: var(--fs-blue); color: var(--fs-white); text-align: center }
    .ma-msg__ttl { font-size: 6.6vw; font-weight: 900; line-height: 1.5; letter-spacing: .03em }
    .ma-msg__ttl .hl { color: var(--fs-yellow) }
    .ma-msg__txt { font-size: 3.9vw; line-height: 1.9; margin-top: 4.4vw }
    .ma-msg__cta { margin-top: 6vw }
    .ma-msg__cta .btn {
        display: flex; flex-direction: column; align-items: center;
        padding: 3.4vw 4vw; border-radius: 999px; line-height: 1.35;
    }
    .ma-msg__cta .btn + .btn { margin-top: 3.2vw }
    .ma-msg__cta .ttl { font-size: 4.6vw; font-weight: 900 }
    .ma-msg__cta .sub { font-size: 3.5vw }
    .ma-msg__cta .btn--main { background: var(--fs-salmon); color: var(--fs-white); box-shadow: 0 4px 0 #c85f40 }
    .ma-msg__cta .btn--main .sub { color: #ffe5da }
    .ma-msg__cta .btn--sub { background: var(--fs-white); color: var(--fs-navy); box-shadow: 0 4px 0 #0f6f9e }
    .ma-msg__cta .btn--sub .sub { color: #4a6076 }
    .ma-msg__cond { font-size: 3.5vw; line-height: 1.8; margin-top: 4.4vw }

    .ma-footer {
        background: var(--fs-navy); color: var(--fs-white); text-align: center;
        padding: 9vw 0 8vw;
    }
    .ma-footer__alliance { font-size: 3.8vw; line-height: 1.8 }
    .ma-footer__note { font-size: 3.4vw; line-height: 1.9; color: #c3d0de; margin-top: 4vw; text-align: left }
    .ma-footer__navi {
        display: flex; justify-content: center; flex-wrap: wrap;
        column-gap: 6vw; row-gap: 2.4vw; margin-top: 6vw;
    }
    .ma-footer__navi a {
        font-size: 3.6vw; color: var(--fs-white);
        border-bottom: 1px solid rgba(255, 255, 255, .45); padding-bottom: 2px;
    }
    .ma-footer__copy { font-size: 3.4vw; color: #c3d0de; margin-top: 5vw }
}

.ma-reason__list .head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1em;
}
.ma-reason__list .fig { flex: none }
.ma-reason__list .fig svg {
    display: block;
    width: 100%;
    height: auto;
    overflow: visible;
}

@media (min-width: 768px) {
    .ma-reason__list .fig { width: calc(var(--w) * 76 / 1440); min-width: 52px }
}
@media (max-width: 767px) {
    .ma-reason__list .fig { width: 17vw }

    .ma-reason__list .ttl { margin-top: 1.2vw }
}

.ma-case { background: #eef4f8 }

.ma-case__wip {
    background: var(--fs-yellow, #ffe898);
    border: 2px dashed #c9a227;
    color: #6b5200;
    font-weight: 700;
    text-align: center;
    border-radius: 6px;
}

.ma-case__item {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 2px 14px rgba(27, 45, 65, .08);
}
.ma-case__item .tags {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
}
.ma-case__item .tags li {
    background: var(--fs-sky);
    color: var(--fs-navy);
    border-radius: 999px;
    font-weight: 700;
    line-height: 1;
}
.ma-case__item .ttl {
    font-weight: 900;
    line-height: 1.5;
    color: var(--fs-navy);
}
.ma-case__item .ttl .mk {
    background: linear-gradient(transparent 58%, var(--fs-yellow) 58%);
    padding: 0 .1em;
}

.ma-case__item .cmp {
    display: flex;
    align-items: center;
    background: #f4f8fb;
    border-radius: 10px;
}
.ma-case__item .cmp__box { flex: 1; text-align: center; position: relative }
.ma-case__item .cmp__box .lbl { color: #5a6b7d; line-height: 1.4 }
.ma-case__item .cmp__box .val {
    font-weight: 900;
    font-variant-numeric: tabular-nums;
    color: #90a5b7;
    line-height: 1.15;
}
.ma-case__item .cmp__box .val .unit { font-size: .55em; margin-left: .1em }
.ma-case__item .cmp__box.is-hi .val { color: var(--fs-salmon) }
.ma-case__item .cmp__box .badge {
    display: inline-block;
    background: var(--fs-salmon);
    color: #fff;
    font-weight: 900;
    line-height: 1;
    border-radius: 999px;
    white-space: nowrap;
}
.ma-case__item .cmp__arw {
    flex: none;
    color: var(--fs-blue);
    line-height: 1;
}

.ma-case__item .detail dt {
    color: var(--fs-blue);
    font-weight: 900;
    line-height: 1.5;
}
.ma-case__item .detail dd {
    color: #33465c;
    line-height: 1.9;
}

@media (min-width: 768px) {
    .ma-case__wip {
        font-size: max(12px, calc(var(--w) * 15 / 1440));
        padding: calc(var(--w) * 8 / 1440) calc(var(--w) * 14 / 1440);
        margin-bottom: calc(var(--w) * 30 / 1440);
    }
    .ma-case__list {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: calc(var(--w) * 26 / 1440);
        margin-top: calc(var(--w) * 46 / 1440);
    }

    .ma-case__list.is-single {
        grid-template-columns: minmax(0, calc(var(--w) * 700 / 1440));
        justify-content: center;
    }
    .ma-case__item { padding: calc(var(--w) * 30 / 1440) calc(var(--w) * 32 / 1440) }
    .ma-case__item .tags { gap: calc(var(--w) * 8 / 1440) }
    .ma-case__item .tags li {
        font-size: max(11px, calc(var(--w) * 14 / 1440));
        padding: calc(var(--w) * 7 / 1440) calc(var(--w) * 12 / 1440);
    }
    .ma-case__item .ttl {
        font-size: max(17px, calc(var(--w) * 25 / 1440));
        margin-top: calc(var(--w) * 16 / 1440);
    }
    .ma-case__item .cmp {
        margin-top: calc(var(--w) * 20 / 1440);
        padding: calc(var(--w) * 18 / 1440) calc(var(--w) * 10 / 1440);
        column-gap: calc(var(--w) * 6 / 1440);
    }
    .ma-case__item .cmp__box .lbl { font-size: max(12px, calc(var(--w) * 15 / 1440)) }
    .ma-case__item .cmp__box .val { font-size: max(24px, calc(var(--w) * 36 / 1440)) }
    .ma-case__item .cmp__box .badge {
        font-size: max(11px, calc(var(--w) * 14 / 1440));
        padding: calc(var(--w) * 5 / 1440) calc(var(--w) * 11 / 1440) calc(var(--w) * 6 / 1440);
        margin-bottom: calc(var(--w) * 4 / 1440);
    }
    .ma-case__item .cmp__arw { font-size: max(14px, calc(var(--w) * 20 / 1440)) }
    .ma-case__item .detail { margin-top: calc(var(--w) * 20 / 1440) }
    .ma-case__item .detail dt {
        font-size: max(13px, calc(var(--w) * 16 / 1440));
        margin-top: calc(var(--w) * 14 / 1440);
    }
    .ma-case__item .detail dd {
        font-size: max(13px, calc(var(--w) * 16 / 1440));
        margin-top: calc(var(--w) * 4 / 1440);
    }
}

@media (max-width: 767px) {
    .ma-case__wip {
        font-size: 3.2vw;
        padding: 2vw 3vw;
        margin-bottom: 5vw;
        line-height: 1.6;
    }
    .ma-case__list { margin-top: 7vw }
    .ma-case__item { padding: 5vw 5vw 6vw }
    .ma-case__item + .ma-case__item { margin-top: 5vw }
    .ma-case__item .tags { gap: 1.6vw }
    .ma-case__item .tags li { font-size: 3.1vw; padding: 1.4vw 2.6vw }
    .ma-case__item .ttl { font-size: 4.8vw; margin-top: 3.4vw }
    .ma-case__item .cmp {
        margin-top: 4vw;
        padding: 3.6vw 1.5vw;
        column-gap: 1vw;
    }
    .ma-case__item .cmp__box .lbl { font-size: 3.2vw }
    .ma-case__item .cmp__box .val { font-size: 7.4vw }
    .ma-case__item .cmp__box .badge { font-size: 3vw; padding: 1.1vw 2.4vw 1.3vw; margin-bottom: 1vw }
    .ma-case__item .cmp__arw { font-size: 4vw }
    .ma-case__item .detail { margin-top: 4vw }
    .ma-case__item .detail dt { font-size: 3.6vw; margin-top: 3.4vw }
    .ma-case__item .detail dd { font-size: 3.6vw; margin-top: 1vw }
}
