@charset "utf-8";

.mabody {
    --pale: #eef4f8;
    --dots-blue: radial-gradient(circle, rgba(24, 146, 206, .11) 1.6px, transparent 1.7px);
    --dots-white: radial-gradient(circle, rgba(255, 255, 255, .16) 1.8px, transparent 1.9px);
}

.mabody section { overflow: hidden; overflow: clip }

.mabody .ma-case {
    background-color: var(--fs-white);
    background-image: var(--dots-blue);
    background-size: 22px 22px;
}
.mabody .ma-reason { background: var(--pale) }
.mabody .ma-flow { background: var(--pale) }

.mabody .ma-title {
    position: relative;
    z-index: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.mabody .ma-title .en {
    display: block;
    padding-top: 0;
    letter-spacing: .22em;
}
.mabody .ma-title .jp { display: block }
.mabody .ma-title::before {
    content: attr(data-bg);
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -46%);
    z-index: -1;
    font-family: var(--en);
    font-weight: 700;
    line-height: 1;
    letter-spacing: .02em;
    white-space: nowrap;
    color: var(--fs-blue);
    opacity: .07;
    pointer-events: none;
}

.mabody .ma-lead b,
.mabody .ma-reason__list .txt b { color: var(--fs-blue) }

.mabody .ma-case__item { box-shadow: 0 8px 28px rgba(27, 45, 65, .10) }
.mabody .ma-case__item .cmp { background: var(--pale) }
.mabody .ma-case__item .cmp__box .val { color: #6f8496 }
.mabody .ma-case__item .cmp__box.is-hi .val { color: var(--fs-salmon) }
.mabody .ma-case__item .cmp__box .val .unit { font-size: .45em }

.mabody .ma-reason__list li {
    background: var(--fs-white);
    border-top: 0;
    box-shadow: 0 8px 28px rgba(27, 45, 65, .08);
}
.mabody .ma-reason__list .no {
    position: relative;
    flex: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--fs-blue);
    color: var(--fs-white);
    letter-spacing: .02em;
}
.mabody .ma-reason__list .no::before {
    content: "Point";
    font-size: .5em;
    line-height: 1;
    letter-spacing: .04em;
    margin-bottom: .12em;
}

.mabody .ma-reason__list .no::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -.2em;
    transform: translateX(-50%);
    border-style: solid;
    border-width: .28em .22em 0;
    border-color: var(--fs-blue) transparent transparent;
}
.mabody .ma-reason__list li:nth-child(even) .no { background: var(--fs-salmon) }
.mabody .ma-reason__list li:nth-child(even) .no::after { border-top-color: var(--fs-salmon) }

.mabody .ma-price {
    position: relative;
    isolation: isolate;
    background: linear-gradient(var(--above) 50%, var(--below) 50%);
}
.mabody .ma-price::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background-image: var(--dots-white);
    background-size: 22px 22px;
}
.mabody .ma-price { --above: var(--fs-sky); --below: var(--pale) }
.mabody .ma-price::before { background-color: var(--fs-blue) }

.mabody .ma-price .ma-title .jp { color: var(--fs-white) }
.mabody .ma-price .ma-title .en { color: var(--fs-yellow) }
.mabody .ma-price .ma-title::before { color: var(--fs-white); opacity: .12 }
.mabody .ma-price .ma-lead { color: var(--fs-white) }
.mabody .ma-price .ma-lead b { color: var(--fs-yellow) }
.mabody .ma-price__list li {
    border: 0;
    box-shadow: 0 8px 0 rgba(10, 80, 120, .35);
}
.mabody .ma-price__msg { color: var(--fs-white) }

.mabody .ma-price__msg .mk { background: none; padding: 0; color: var(--fs-yellow) }

.mabody .ma-flow__list li {
    position: relative;
    box-shadow: 0 6px 20px rgba(27, 45, 65, .08);
}
.mabody .ma-flow__list .step {
    display: inline-block;
    background: var(--fs-blue);
    color: var(--fs-white);
    border-radius: 999px;
    line-height: 1;
}
.mabody .ma-flow__list li:last-child .step { background: var(--fs-salmon) }
.mabody .ma-flow__list li:not(:last-child)::after {
    content: "";
    position: absolute;
    border-style: solid;
    border-color: transparent;
}

.mabody .ma-faq__list .item {
    border-radius: 10px;
    box-shadow: 0 4px 16px rgba(27, 45, 65, .07);
}

@media (min-width: 768px) {

    .mabody .ma-title .jp { font-size: max(26px, calc(var(--w) * 46 / 1440)) }
    .mabody .ma-title .en {
        font-size: max(14px, calc(var(--w) * 16 / 1440));
        margin-bottom: calc(var(--w) * 12 / 1440);
    }
    .mabody .ma-title::before { font-size: max(90px, calc(var(--w) * 170 / 1440)) }

    .mabody .ma-title { font-size: max(26px, calc(var(--w) * 46 / 1440)) }

    .mabody .ma-case__item .cmp {
        padding: calc(var(--w) * 26 / 1440) calc(var(--w) * 14 / 1440);
    }
    .mabody .ma-case__item .cmp__box .lbl { font-size: max(14px, calc(var(--w) * 16 / 1440)) }
    .mabody .ma-case__item .cmp__box .val { font-size: max(28px, calc(var(--w) * 44 / 1440)) }
    .mabody .ma-case__item .cmp__box.is-hi .val { font-size: max(40px, calc(var(--w) * 76 / 1440)) }
    .mabody .ma-case__item .cmp__box .badge {
        font-size: max(14px, calc(var(--w) * 18 / 1440));
        padding: calc(var(--w) * 7 / 1440) calc(var(--w) * 16 / 1440) calc(var(--w) * 8 / 1440);
    }
    .mabody .ma-case__item .cmp__arw { font-size: max(18px, calc(var(--w) * 30 / 1440)) }

    .mabody .ma-reason__list li {
        border-radius: calc(var(--w) * 16 / 1440);
        padding: calc(var(--w) * 32 / 1440) calc(var(--w) * 36 / 1440) calc(var(--w) * 34 / 1440);
    }
    .mabody .ma-reason__list .no {
        width: max(54px, calc(var(--w) * 76 / 1440));
        height: max(54px, calc(var(--w) * 76 / 1440));
        font-size: max(26px, calc(var(--w) * 30 / 1440));
    }
    .mabody .ma-reason__list .ttl {
        font-size: max(19px, calc(var(--w) * 29 / 1440));
        margin-top: calc(var(--w) * 16 / 1440);
    }

    .mabody .ma-price { padding: calc(var(--w) * 76 / 1440) 0 }
    .mabody .ma-price::before { border-radius: calc(var(--w) * 36 / 1440) }

    .mabody .ma-price__list li { padding: calc(var(--w) * 26 / 1440) calc(var(--w) * 16 / 1440) calc(var(--w) * 28 / 1440) }
    .mabody .ma-price__list .val b { font-size: max(44px, calc(var(--w) * 84 / 1440)) }
    .mabody .ma-price__list .val span { font-size: max(18px, calc(var(--w) * 30 / 1440)) }
    .mabody .ma-price__msg { font-size: max(17px, calc(var(--w) * 26 / 1440)) }

    .mabody .ma-flow__list { gap: calc(var(--w) * 30 / 1440) }
    .mabody .ma-flow__list .step {
        padding: calc(var(--w) * 7 / 1440) calc(var(--w) * 12 / 1440) calc(var(--w) * 6 / 1440);
    }
    .mabody .ma-flow__list .ttl { margin-top: calc(var(--w) * 12 / 1440) }

    .mabody .ma-flow__list li:not(:last-child)::after {
        top: 50%;
        right: calc(var(--w) * -21 / 1440);
        transform: translateY(-50%);
        border-width: calc(var(--w) * 9 / 1440) 0 calc(var(--w) * 9 / 1440) calc(var(--w) * 11 / 1440);
        border-left-color: var(--fs-blue);
    }
}

@media (max-width: 767px) {

    .mabody .ma-title { font-size: 7vw }
    .mabody .ma-title .jp { font-size: 7vw }
    .mabody .ma-title .en { font-size: 3.6vw; margin-bottom: 2.4vw }
    .mabody .ma-title::before { font-size: 21vw }

    .mabody .ma-case__item .cmp { padding: 4.4vw 2vw }
    .mabody .ma-case__item .cmp__box .lbl { font-size: 3.4vw }
    .mabody .ma-case__item .cmp__box .val { font-size: 8vw }
    .mabody .ma-case__item .cmp__box.is-hi .val { font-size: 10.6vw }
    .mabody .ma-case__item .cmp__box .badge { font-size: 3.6vw; padding: 1.4vw 3vw 1.6vw }
    .mabody .ma-case__item .cmp__arw { font-size: 5vw }

    .mabody .ma-reason__list li { border-radius: 3.2vw; padding: 5.4vw 5vw 5.8vw }
    .mabody .ma-reason__list .no { width: 15vw; height: 15vw; font-size: 6.4vw }
    .mabody .ma-reason__list .ttl { font-size: 5.4vw; margin-top: 3.4vw }

    .mabody .ma-price { padding: 13vw 0 }
    .mabody .ma-price::before { border-radius: 6vw }

    .mabody .ma-price__list li { padding: 4.4vw 4vw 4.8vw }
    .mabody .ma-price__list .val b { font-size: 15vw; font-weight: 900 }
    .mabody .ma-price__list .val span { font-size: 6vw }
    .mabody .ma-price__msg { font-size: 4.8vw }

    .mabody .ma-flow__list li + li { margin-top: 7vw }
    .mabody .ma-flow__list .step { font-size: 3.4vw; padding: 1.6vw 2.8vw 1.4vw }
    .mabody .ma-flow__list .ttl { margin-top: 2.4vw }
    .mabody .ma-flow__list li:not(:last-child)::after {
        left: 50%;
        bottom: -5.2vw;
        transform: translateX(-50%);
        border-width: 2.8vw 2.6vw 0;
        border-top-color: var(--fs-blue);
    }
}

@media (max-width: 767px) {
    .mabody .ma-choice .ma-title .jp { font-size: 6.4vw }
}

.mabody .ma-reason__list .no::before { font-size: max(13px, .5em) }
.mabody .ma-case__item .cmp__box .val .unit { font-size: max(13px, .45em) }
@media (min-width: 768px) {
    .mabody .ma-case__item .tags li { font-size: max(13px, calc(var(--w) * 14 / 1440)) }
    .mabody .ma-table thead .sml { font-size: max(13px, calc(var(--w) * 14 / 1440)) }
}
@media (max-width: 767px) {
    .mabody .ma-case__item .tags li { font-size: 3.4vw }
}

@media (prefers-reduced-motion: no-preference) {
    html { scroll-behavior: smooth }
}
#booking, #faq, #faq-secret { scroll-margin-top: 16px }

.mafv a:focus-visible,
.mabody a:focus-visible,
.ma-sticky a:focus-visible {
    outline: 3px solid var(--fs-navy);
    outline-offset: 3px;
}
.mafv a:focus-visible,
.mabody .ma-price a:focus-visible,
.mabody .ma-msg a:focus-visible,
.mabody .ma-footer a:focus-visible { outline-color: var(--fs-yellow) }

.ma-cta { text-align: center }
.ma-cta__btn,
.ma-sticky__btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 58px;
    margin: 0 auto;
    border-radius: 999px;
    background: var(--fs-salmon);
    color: var(--fs-white);
    line-height: 1.35;
    text-decoration: none;
    box-shadow: 0 5px 0 #c85f40;
    transition: transform .12s, box-shadow .12s;
}
.ma-cta__btn .ttl,
.ma-sticky__btn .ttl { font-weight: 900 }
.ma-cta__btn .sub,
.ma-sticky__btn .sub { font-weight: 700; color: #fff1ea }
.ma-cta__btn:hover { transform: translateY(2px); box-shadow: 0 3px 0 #c85f40 }

.ma-cta__trust {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    list-style: none;
    padding: 0;
    margin: 0;
}
.ma-cta__trust li {
    display: inline-flex;
    align-items: center;
    gap: .45em;
    font-weight: 900;
    color: var(--fs-navy);
    line-height: 1.5;
}
.ma-cta__trust li::before {
    content: "";
    flex: none;
    width: 1.15em;
    height: 1.15em;
    border-radius: 50%;
    background: var(--fs-blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3.2 3.2L15 7' fill='none' stroke='%23fff' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 100% no-repeat;
}
.ma-cta__trust--onblue li,
.ma-cta--onblue .ma-cta__trust li { color: var(--fs-white) }
.ma-cta__trust--onblue li::before,
.ma-cta--onblue .ma-cta__trust li::before {
    background-color: var(--fs-white);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3.2 3.2L15 7' fill='none' stroke='%231892ce' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.ma-cta__faq {
    display: inline-flex;
    align-items: center;
    gap: .4em;
    min-height: 44px;
    font-weight: 900;
    color: var(--fs-blue);
    text-decoration: underline;
    text-underline-offset: .25em;
}
.ma-cta__faq::before {
    content: "";
    flex: none;
    width: 1.1em;
    height: 1.25em;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 22'%3E%3Cpath d='M10 1.5l7.5 3v6c0 4.6-3.2 8.3-7.5 9.9C5.7 18.8 2.5 15.1 2.5 10.5v-6z' fill='none' stroke='%231892ce' stroke-width='2.2' stroke-linejoin='round'/%3E%3Cpath d='M6.6 11l2.4 2.4 4.4-4.6' fill='none' stroke='%231892ce' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}
.ma-cta__faq--onblue,
.ma-cta--onblue .ma-cta__faq { color: var(--fs-white) }
.ma-cta__faq--onblue::before,
.ma-cta--onblue .ma-cta__faq::before { filter: brightness(0) invert(1) }

.mabody .ma-case .ma-note {
    display: table;
    margin-left: auto;
    margin-right: auto;
    background: var(--fs-white);
    border: 1px solid #c9d6e0;
    border-radius: 8px;
    color: #33465c;
}

.mabody .ma-table thead .blank { background: transparent }

.mabody .ma-faq__list .item:target {
    outline: 3px solid var(--fs-salmon);
    outline-offset: 4px;
}

.mabody .ma-book__check { counter-reset: gate }
.mabody .ma-book__check li { position: relative; counter-increment: gate }
.mabody .ma-book__check label {
    position: relative;
    align-items: center;
    background: var(--fs-white);
    border: 2px solid #c9d6e0;
    transition: border-color .15s, background-color .15s;
}
.mabody .ma-book__check label:has(.ma-book__cb:checked) {
    background: #eaf5fb;
    border-color: var(--fs-blue);
}
.mabody .ma-book__check label:has(.ma-book__cb:focus-visible) {
    outline: 3px solid var(--fs-navy);
    outline-offset: 3px;
}

.mabody .ma-book__check li::before {
    content: counter(gate);
    position: absolute;
    z-index: 1;
    top: -.75em;
    left: 1em;
    min-width: 1.7em;
    padding: .2em .5em;
    border-radius: 999px;
    background: var(--fs-navy);
    color: var(--fs-white);
    font-family: var(--en);
    font-weight: 700;
    font-size: 13px;
    line-height: 1.2;
    text-align: center;
}

.mabody .ma-book__cb {
    appearance: none;
    -webkit-appearance: none;
    flex: none;
    width: 30px;
    height: 30px;
    min-width: 30px;
    min-height: 30px;
    border: 2px solid #8aa3b8;
    border-radius: 8px;
    background: var(--fs-white) center / 78% no-repeat;
    cursor: pointer;
}
.mabody .ma-book__cb:checked {
    border-color: var(--fs-blue);
    background-color: var(--fs-blue);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M4.5 10.5l3.6 3.6L15.5 6.5' fill='none' stroke='%23fff' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.mabody .ma-book__lock {
    display: block;
    text-align: center;
    border: 2px dashed #aebfcd;
    border-radius: 10px;
    background: #f4f8fb;
    color: #33465c;
    font-weight: 900;
    padding: .9em 1em;
}
.mabody .ma-book__lock[hidden] { display: none }
.mabody .ma-book__lock::before {
    content: "";
    display: inline-block;
    vertical-align: -.2em;
    margin-right: .45em;
    width: 1.1em;
    height: 1.3em;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 22'%3E%3Crect x='2' y='9' width='14' height='11' rx='2.5' fill='%234a6076'/%3E%3Cpath d='M5 9V6.5a4 4 0 0 1 8 0V9' fill='none' stroke='%234a6076' stroke-width='2.4'/%3E%3C/svg%3E") center / contain no-repeat;
}

.mabody .ma-book__go .ma-book__note {
    position: relative;
    text-align: left;
    background: #eef6fb;
    border: 1px solid #bcd9ea;
    border-radius: 10px;
    color: var(--fs-navy);
    margin: 0 0 1.2em;
    padding: .9em 1em .9em 2.7em;
}
.mabody .ma-book__go .ma-book__note::before {
    content: "i";
    position: absolute;
    left: .9em;
    top: 1.05em;
    width: 1.3em;
    height: 1.3em;
    border-radius: 50%;
    background: var(--fs-blue);
    color: var(--fs-white);
    font-family: var(--en);
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
}
.mabody .ma-book__go .btn {
    justify-content: center;
    min-height: 58px;
}

.mabody .ma-book__alt {
    background: var(--fs-white);
    border: 1px solid #c9d6e0;
}
.mabody .ma-book__alt .lnk {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .4em;
    min-height: 48px;
    padding: .4em 1.4em;
    border: 2px solid var(--fs-blue);
    border-radius: 999px;
    background: var(--fs-white);
    text-decoration: none;
}
.mabody .ma-book__alt .lnk::after { content: "→"; font-family: var(--en) }

.mabody .ma-footer__alliance {
    display: inline-block;
    border: 1px solid rgba(255, 255, 255, .35);
    border-radius: 10px;
    padding: .8em 1.2em;
}
.mabody .ma-footer__navi a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
}

.ma-sticky { display: none }
@media (max-width: 767px) {
    .ma-sticky {
        display: block;
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 50;
        padding: 8px 16px calc(8px + env(safe-area-inset-bottom));
        background: rgba(255, 255, 255, .97);
        box-shadow: 0 -4px 16px rgba(27, 45, 65, .14);
        transform: translateY(110%);
        visibility: hidden;
        transition: transform .25s, visibility 0s linear .25s;
    }
    .ma-sticky.is-on {
        transform: none;
        visibility: visible;
        transition: transform .25s, visibility 0s;
    }
    .ma-sticky__btn { min-height: 52px; box-shadow: 0 3px 0 #c85f40 }
    .ma-sticky__btn .ttl { font-size: 17px }
    .ma-sticky__btn .sub { font-size: 13px }
}
@media (prefers-reduced-motion: reduce) {
    .ma-sticky, .ma-sticky.is-on { transition: none }
}

@media (min-width: 768px) {
    .ma-cta { margin-top: calc(var(--w) * 40 / 1440) }
    .ma-cta__btn { max-width: max(360px, calc(var(--w) * 520 / 1440)); padding: 10px 24px }
    .ma-cta__btn .ttl { font-size: max(18px, calc(var(--w) * 26 / 1440)) }
    .ma-cta__btn .sub { font-size: max(14px, calc(var(--w) * 16 / 1440)) }
    .ma-cta__trust {
        gap: 8px calc(var(--w) * 26 / 1440);
        margin-top: calc(var(--w) * 20 / 1440);
    }
    .ma-cta__trust li { font-size: max(14px, calc(var(--w) * 17 / 1440)) }
    .ma-cta__faq { font-size: max(14px, calc(var(--w) * 16 / 1440)); margin-top: calc(var(--w) * 6 / 1440) }
    .ma-msg .ma-cta__trust { margin-top: calc(var(--w) * 18 / 1440) }

    .mabody .ma-case .ma-note { padding: 6px 16px }
    .mabody .ma-book__check li + li { margin-top: calc(var(--w) * 20 / 1440) }
    .mabody .ma-book__go .ma-book__note { font-size: max(14px, calc(var(--w) * 16 / 1440)) }
    .mabody .ma-book__go .btn { max-width: max(360px, calc(var(--w) * 480 / 1440)) }
}

@media (max-width: 767px) {
    .ma-cta { margin-top: 8vw }
    .ma-cta__btn { padding: 10px 16px }
    .ma-cta__btn .ttl { font-size: max(17px, 4.8vw) }
    .ma-cta__btn .sub { font-size: max(13px, 3.5vw) }

    .ma-cta__trust {
        display: grid;
        justify-content: center;
        justify-items: start;
        row-gap: 1.6vw;
        margin-top: 5vw;
        text-align: left;
    }
    .ma-cta__trust li { font-size: max(13px, 3.7vw) }
    .ma-cta__faq { font-size: max(13px, 3.7vw); margin-top: 1.6vw }
    .ma-msg .ma-cta__trust { margin-top: 5vw }

    .mabody .ma-case .ma-note { padding: 2vw 3.4vw; font-size: max(13px, 3.4vw) }

    .mabody .ma-table-wrap { overflow: visible }
    .mabody .ma-table,
    .mabody .ma-table tbody,
    .mabody .ma-table tr,
    .mabody .ma-table th,
    .mabody .ma-table td { display: block }
    .mabody .ma-table { min-width: 0; border-spacing: 0 }
    .mabody .ma-table thead { display: none }
    .mabody .ma-table tr {
        background: var(--fs-white);
        border-radius: 3vw;
        overflow: hidden;
        box-shadow: 0 4px 14px rgba(27, 45, 65, .08);
    }
    .mabody .ma-table tr + tr { margin-top: 4vw }
    .mabody .ma-table tbody th {
        background: var(--fs-navy);
        color: var(--fs-white);
        font-size: max(15px, 4.4vw);
        padding: 2.8vw 4.4vw;
        border-radius: 0;
        white-space: normal;
    }
    .mabody .ma-table td {
        display: grid;
        grid-template-columns: 7.2em 1fr;
        align-items: center;
        column-gap: 3vw;
        padding: 3vw 4.4vw;
        border-radius: 0;
        border-top: 1px solid #e3ecf2;
        font-size: max(14px, 3.8vw);
        text-align: left;
    }
    .mabody .ma-table td::before {
        content: attr(data-label);
        color: #4a6076;
        font-weight: 700;
        text-align: left;
    }
    .mabody .ma-table td.hi {
        background: #fff3ee;
        border-top: 2px solid var(--fs-salmon);
        box-shadow: inset 5px 0 0 var(--fs-salmon);
    }
    .mabody .ma-table td.hi::before { color: #b1421f; font-weight: 900 }

    .mabody .ma-book__check li + li { margin-top: 5vw }
    .mabody .ma-book__lock { font-size: max(13px, 3.6vw) }
    .mabody .ma-book__go .ma-book__note { font-size: max(13px, 3.6vw) }
    .mabody .ma-book__alt .lnk { width: 100% }

    .mabody .ma-footer__alliance { text-align: left }
}

.mabody .ma-table td,
.mabody .ma-table th,
.ma-cta__trust li { word-break: auto-phrase }

@media (max-width: 767px) {
    .mafv__cond .lbl,
    .mafv__sup,
    .mabody .ma-case__item .tags li,
    .mabody .ma-case__item .cmp__box .lbl,
    .mabody .ma-note,
    .mabody .ma-flow__list .step,
    .mabody .ma-book__check .sup,
    .mabody .ma-footer__note,
    .mabody .ma-footer__copy { font-size: max(13px, 3.4vw) }
}

.mabody {
    --line: #dfe8ee;
    --card-radius: 14px;
    --card-shadow: 0 1px 2px rgba(27, 45, 65, .04), 0 10px 30px rgba(27, 45, 65, .06);
}

.mabody .ma-case { background-image: none }
.mabody .ma-price::before { background-image: none }
.mabody .ma-title::before { opacity: .045 }
.mabody .ma-price .ma-title::before { opacity: .08 }

.mafv__btm .item { box-shadow: 0 .25em .6em rgba(0, 0, 0, .16) }

.mabody .ma-title .jp::after {
    content: "";
    display: block;
    width: 44px;
    height: 4px;
    margin: .42em auto 0;
    border-radius: 2px;
    background: var(--fs-salmon);
}
.mabody .ma-price .ma-title .jp::after { background: var(--fs-yellow) }

.mabody .ma-case__item,
.mabody .ma-reason__list li,
.mabody .ma-book__card,
.mabody .ma-book__alt {
    border: 1px solid var(--line);
    border-radius: var(--card-radius);
    box-shadow: var(--card-shadow);
}
.mabody .ma-book__card { border-top: 4px solid var(--fs-blue) }
.mabody .ma-price__list li {
    border-radius: var(--card-radius);
    box-shadow: 0 10px 30px rgba(8, 60, 95, .22);
}

.mabody .ma-case__item .cmp { border-radius: 12px }
.mabody .ma-case__item .cmp__arw {
    width: 1.6em;
    height: 1.6em;
    border-radius: 50%;
    background: var(--fs-blue);
    color: transparent;
    position: relative;
    overflow: hidden;
}

.mabody .ma-case__item .cmp__arw::after {
    content: "";
    position: absolute;
    inset: 0;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 12h10M13 7l5 5-5 5' fill='none' stroke='%23fff' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 62% no-repeat;
}
.mabody .ma-case__item .detail dt {
    display: flex;
    align-items: center;
    gap: .5em;
}
.mabody .ma-case__item .detail dt::before {
    content: "";
    width: 4px;
    height: 1.1em;
    border-radius: 2px;
    background: var(--fs-blue);
}

@media (min-width: 768px) {
    .mabody .ma-table { border-spacing: 0 }
    .mabody .ma-table th,
    .mabody .ma-table td {
        border-radius: 0;
        border-bottom: 1px solid var(--line);
    }
    .mabody .ma-table thead th {
        background: var(--fs-white);
        color: var(--fs-navy);
        border-bottom: 2px solid var(--fs-navy);
        padding-top: 1.1em;
        padding-bottom: 1.1em;
    }
    .mabody .ma-table thead th:nth-child(2) { border-top-left-radius: 12px }
    .mabody .ma-table tbody th { background: #f4f8fb; color: var(--fs-navy) }
    .mabody .ma-table tbody tr:first-child th { border-top-left-radius: 12px }
    .mabody .ma-table tbody tr:last-child th { border-bottom-left-radius: 12px }

    .mabody .ma-table thead th.hi {
        background: var(--fs-salmon);
        color: var(--fs-white);
        border-bottom-color: var(--fs-salmon);
        border-radius: 12px 12px 0 0;
    }
    .mabody .ma-table td.hi {
        background: #fff6f2;
        border-left: 2px solid var(--fs-salmon);
        border-right: 2px solid var(--fs-salmon);
        border-bottom-color: #f7d3c5;
    }
    .mabody .ma-table tbody tr:last-child td.hi {
        border-bottom: 2px solid var(--fs-salmon);
        border-radius: 0 0 12px 12px;
    }
    .mabody .ma-table tbody tr:last-child td:nth-child(4) { border-bottom-right-radius: 12px }
    .mabody .ma-table-wrap {
        background: var(--fs-white);
        border-radius: var(--card-radius);
        box-shadow: var(--card-shadow);
        padding: 0 calc(var(--w) * 16 / 1440) calc(var(--w) * 16 / 1440);
    }
    .mabody .ma-table thead th:first-child,
    .mabody .ma-table thead .blank { border-bottom-color: transparent }
}

.mabody .ma-flow__list { counter-reset: flow }
.mabody .ma-flow__list li {
    counter-increment: flow;
    background: transparent;
    box-shadow: none;
    border-radius: 0;
    padding: 0;
}
.mabody .ma-flow__list li::after { display: none }
.mabody .ma-flow__list .step {
    display: block;
    background: none;
    color: var(--fs-blue);
    padding: 0;
    border-radius: 0;
}
.mabody .ma-flow__list li:last-child .step { background: none; color: #d4613d }
.mabody .ma-flow__list .txt { word-break: auto-phrase }

@media (min-width: 768px) {
    .mabody .ma-flow__list {
        position: relative;
        gap: calc(var(--w) * 20 / 1440);
        margin-top: calc(var(--w) * 48 / 1440);
    }

    .mabody .ma-flow__list::before {
        content: "";
        position: absolute;
        left: 10%;
        right: 10%;
        top: calc(var(--w) * 30 / 1440);
        height: 2px;
        background: #b9d3e3;
    }
    .mabody .ma-flow__list li { text-align: center; position: relative }
    .mabody .ma-flow__list li::before {
        content: counter(flow, decimal-leading-zero);
        display: flex;
        align-items: center;
        justify-content: center;
        position: relative;
        width: calc(var(--w) * 60 / 1440);
        min-width: 48px;
        height: calc(var(--w) * 60 / 1440);
        min-height: 48px;
        margin: 0 auto calc(var(--w) * 14 / 1440);
        border-radius: 50%;
        background: var(--fs-blue);
        color: var(--fs-white);
        font-family: var(--en);
        font-weight: 700;
        font-size: max(18px, calc(var(--w) * 22 / 1440));
        box-shadow: 0 0 0 6px var(--pale);
    }
    .mabody .ma-flow__list li:last-child::before { background: var(--fs-salmon) }
    .mabody .ma-flow__list .step { font-size: max(13px, calc(var(--w) * 13 / 1440)) }
    .mabody .ma-flow__list .ttl { margin-top: calc(var(--w) * 4 / 1440) }
    .mabody .ma-flow__list .txt { text-align: left; margin-top: calc(var(--w) * 10 / 1440) }
}
@media (max-width: 767px) {

    .mabody .ma-flow__list { position: relative }
    .mabody .ma-flow__list li {
        position: relative;
        padding-left: 17vw;
        min-height: 13vw;
    }
    .mabody .ma-flow__list li + li { margin-top: 6vw }
    .mabody .ma-flow__list li::before {
        content: counter(flow, decimal-leading-zero);
        position: absolute;
        left: 0;
        top: 0;
        width: 12vw;
        height: 12vw;
        border-radius: 50%;
        background: var(--fs-blue);
        color: var(--fs-white);
        font-family: var(--en);
        font-weight: 700;
        font-size: max(15px, 4.6vw);
        display: flex;
        align-items: center;
        justify-content: center;
        z-index: 1;
    }
    .mabody .ma-flow__list li:last-child::before { background: var(--fs-salmon) }
    .mabody .ma-flow__list li:not(:last-child)::after {
        display: block;
        content: "";
        position: absolute;
        left: 6vw;
        top: 12vw;
        bottom: -6vw;
        width: 2px;
        transform: translateX(-1px);
        background: #b9d3e3;
        border: 0;
    }
    .mabody .ma-flow__list .step { font-size: max(13px, 3.3vw) }
}

.mabody .ma-faq__list .item {
    background: var(--fs-white);
    border: 1px solid var(--line);
    border-radius: 12px;
    box-shadow: none;
    overflow: hidden;
}
.mabody .ma-faq__list dt {
    background: none;
    border-radius: 0;
}
.mabody .ma-faq__list dd {
    border: 0;
    border-top: 1px dashed var(--line);
    border-radius: 0;
    background: none;
}
@media (min-width: 768px) {
    .mabody .ma-faq__list {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: calc(var(--w) * 16 / 1440);
        max-width: none;
        align-items: stretch;
    }
    .mabody .ma-faq__list .item + .item { margin-top: 0 }
    .mabody .ma-faq__list dt { font-size: max(15px, calc(var(--w) * 18 / 1440)) }
    .mabody .ma-faq__list dd { font-size: max(14px, calc(var(--w) * 16 / 1440)) }
}

@media (min-width: 768px) {
    .mabody section { padding-top: calc(var(--w) * 96 / 1440); padding-bottom: calc(var(--w) * 96 / 1440) }
    .mabody .ma-title .jp { font-size: max(26px, calc(var(--w) * 42 / 1440)) }
    .mabody .ma-title { font-size: max(26px, calc(var(--w) * 42 / 1440)) }
    .mabody .ma-title::before { font-size: max(80px, calc(var(--w) * 140 / 1440)) }
    .mabody .ma-reason__list .ttl { font-size: max(19px, calc(var(--w) * 26 / 1440)) }
    .mabody .ma-reason__list .txt { font-size: max(14px, calc(var(--w) * 16 / 1440)) }

    .mabody .ma-case__item .cmp__arw { font-size: max(16px, calc(var(--w) * 20 / 1440)) }
}
@media (max-width: 767px) {
    .mabody section { padding-top: 15vw; padding-bottom: 15vw }
    .mabody .ma-case__item .cmp__arw { font-size: 4.4vw }
}

.mabody .ma-faq__list dt,
.mabody .ma-faq__list dd,
.mabody .ma-reason__list .txt,
.mabody .ma-case__item .detail dd { word-break: auto-phrase }
@media (max-width: 767px) {
    .mabody .ma-faq__list dt { font-size: max(15px, 4vw) }
}

@media (min-width: 768px) and (max-width: 1023px) {
    .mabody .ma-case__list.is-single { grid-template-columns: minmax(0, 620px) }
}
@media (min-width: 1024px) {

    .mabody .ma-case__list.is-single { grid-template-columns: minmax(0, calc(var(--w) * 1000 / 1440)) }
    .mabody .ma-case__list.is-single .ma-case__item {
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto auto 1fr;
        column-gap: calc(var(--w) * 40 / 1440);
        padding: calc(var(--w) * 36 / 1440) calc(var(--w) * 40 / 1440);
    }
    .mabody .ma-case__list.is-single .tags { grid-column: 1; grid-row: 1; align-self: start }
    .mabody .ma-case__list.is-single .ttl { grid-column: 1; grid-row: 2 }
    .mabody .ma-case__list.is-single .cmp { grid-column: 1; grid-row: 3; align-self: start }
    .mabody .ma-case__list.is-single .detail {
        grid-column: 2;
        grid-row: 1 / 4;
        margin-top: 0;
        padding-left: calc(var(--w) * 40 / 1440);
        border-left: 1px solid var(--line);
    }
    .mabody .ma-case__list.is-single .detail dt:first-child { margin-top: 0 }
    .mabody .ma-case__list.is-single .cmp__box.is-hi .val { font-size: max(34px, calc(var(--w) * 54 / 1440)) }
    .mabody .ma-case__list.is-single .cmp__box .val { white-space: nowrap }
    .mabody .ma-case__list.is-single .cmp { padding: calc(var(--w) * 24 / 1440) calc(var(--w) * 12 / 1440) }
}
