@charset "utf-8";

:root {
    /* ---------- カスタムプロパティ(カラー設定ほか) ---------- */
    --white-color: white;
    --black-color: black;
    --link-bgcolor: rgb(19 209 9 / 1.0);
    --text-color: rgb(0 0 0 / 1.0);
    --exam-bdcolor: rgb(255 251 0 / 1.0);
    --site-bgcolor: rgb(255 255 255 / 1.0);
    --worry-bgcolor: rgb(230 230 230 / 1.0);
    --arrow-color: rgb(217 217 217 / 1.0);
    --em-color: rgb(255 0 0 / 1.0);
    --comment-bgcolor: rgb(255 204 145 / 1.0);
    --plan-bgcolor: rgb(255 250 197);

    /* --- テキスト --- */
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
    color: var(--text-color);
    --regular: 400;
    --semibold: 600;
    --bold: 700;
    --exbold: 900;
}


/* -----------sp　全体レイアウト設定 ---------- */
:root {
    font-size: calc(3.5555vw);
    background-color: var(--site-bgcolor);
}

.break,
.s-break {
    display: block;
}
a {
    display: block;
}
/* -----------tablet　全体レイアウト設定 ---------- */
@media screen and (width > 450px) {
    :root {
        font-size: calc(2.0833vw);
    }

    .s-break {
        display: inline;
    }

    .t-break {
        display: block;
    }
}


/* -----------PC　全体レイアウト設定 ---------- */
@media screen and (width > 768px) {
    :root {
        font-size: min(1.5625vw, 16px);

        .wrapper {
            max-width: 1024px;
            margin: auto;
            border-left:1px #999 solid;
            border-right:1px #999 solid;
        }

        .t-break {
            display: inline;
        }
    }
}





/* ---------- sp レイアウト ---------- */
header {
    .h-wrapper {
        margin: 3.33vw 3.33vw 4vw;

        .logo-area {
            margin-bottom: 5px;
            display: flex;
            align-items: center;

            img {
                width: 18.0803vw;
                height: auto;
                margin-right: 2.2vw;
            }

            h1 {
                font-size: 1.375rem;
                margin-right: 4.4vw;
            }

            p {
                font-size: 0.9375rem;
            }
        }

        .header-btn {
            margin: auto;
            background-color: var(--link-bgcolor);
            border: none;
            width: 85.3vw;
            height: 10.66vw;
            border-radius: 5.33vw;
            display: flex;
            align-items: center;
            justify-content: center;

            img {
                width: 6.44vw;
                height: auto;
            }

            p {
                font-size: 2.25rem;
                font-weight: var(--semibold);
                color: var(--white-color);
                line-height: 10.66vw;
            }
        }
    }
}

main {
    .hero-area {
        position: relative;
        background-repeat: no-repeat;
        padding: 6vw 7.11vw 2.5px;
        height: 75vw;

        .inner-wrapper {
            h2 {
                width: 16.5rem;
                height: auto;
                margin-bottom: 6px;

                img {
                    width: 100%;
                    object-fit: contain;
                }
            }
            p {
                width: 17.5rem;
                height: auto;
                img {
                    width: 100%;
                    object-fit: contain;
                }
            }
        }

        .master-img {
            position: absolute;
            right: 0;
            bottom: 0;

            img {
                width: 50vw;
                height: auto;
                object-fit: contain;
            }
        }

        .medal-img {
            position: absolute;
            bottom: 0;
            left: 3.77vw;

            img {
                width: 84.82vw;
                height: auto;
                object-fit: contain;
            }
        }
    }

    .exam-area {
        position: relative;
        background-color: var(--exam-bdcolor);
        padding: 7.143vw 7.143vw 5.134vw;

        .inner-wrapper {
            .exam-btn-area {
                width: 100%;
                height: 33.928vw;
                padding: 1.788vw;
                background-color: var(--link-bgcolor);
                border-radius: 4.464vw;

                .exam-btn {
                    width: 100%;
                    height: 100%;
                    padding-top: 1.1875rem;
                    background-color: inherit;
                    border: 2px solid var(--white-color);
                    border-radius: 3.348vw;

                    p {
                        text-align: center;
                        color: var(--white-color);

                        &:first-child {
                            font-size: 2.0625rem;
                            font-weight: var(--exbold);
                            line-height: 1;
                            margin-bottom: 0.6875rem;
                        }

                        &:last-child {
                            font-size: 1.375rem;
                            font-weight: var(--bold);
                            line-height: 1.2273;
                        }
                    }
                }
            }

            .exam-comment {
                margin-top: 2.01vw;

                p {
                    font-size: 0.6875rem;
                    line-height: 1rem;
                }
            }

            .exam-woman-img {
                width: 22.098vw;
                height: 30.357vw;
                position: absolute;
                right: 2.69vw;
                bottom: 0;
                background-size: contain;
                background-repeat: no-repeat;
            }
        }
    }

    .worry-area {
        position: relative;
        background-color: var(--worry-bgcolor);
        padding: 7.143vw 8.93vw 6.7vw;

        .inner-wrapper {

            h2,
            h3 {
                font-size: 1.375rem;
                margin-bottom: 6.473vw;
            }

            p {
                font-size: 0.875rem;
                margin-bottom: 6.473vw;
            }
        }

        .worry-man-img {
            position: absolute;
            width: 25.446vw;
            height: 32.143vw;
            bottom: 0;
            right: 3.125vw;
            background-size: contain;
        }
    }

    .loan-area {
        background-color: var(--site-bgcolor);
        padding: 5.357vw;

        .inner-wrapper {
            h2 {
                font-size: 1.375rem;
                text-align: center;
                margin-bottom: 1.875rem;
            }

            .comparison-area {
                margin-bottom: 1.125rem;
                display: flex;
                align-items: center;
                justify-content: space-between;

                .other,
                .our {
                    width: 11rem;
                    padding: 0 0.5rem;
                    display: flex;
                    flex-direction: column;
                    border-radius: 0.625rem;
                    border: 1px solid var(--black-color);

                    h3 {
                        font-size: 1.125rem;
                        font-weight: var(--bold);
                        line-height: 1.875;
                        text-align: center;
                    }

                    .img-area {
                        height: 5.5rem;
                        display: flex;
                        align-items: center;
                        justify-content: center;
                        img {
                            background-repeat: no-repeat;
                        }
                    }

                    p {
                        font-size: 0.875rem;
                        text-align: center;
                        line-height: 1.7143;

                        .em {
                            margin-bottom: 0.6875rem;
                            font-size: 1.25rem;
                            color: var(--em-color);
                        }
                    }
                }

                .other {
                    .img-area {
                        img {
                            width: 4.375rem;
                            height: 3.875rem;
                        }
                    }
                }

                .our {
                    .master-img {
                        width: 5.5rem;
                        height: 5.5rem;
                        background-size: contain;
                    }
                }

                .arrow {
                    height: 1.5077rem;
                    width: 1.3819rem;
                    border-left: 1.4073rem solid var(--arrow-color);
                    border-top: 0.8125rem solid var(--white-color);
                    border-bottom: 0.8125rem solid var(--white-color);
                }
            }

            .claim {
                font-size: 1rem;
                text-align: center;
                line-height: 1.6875;
            }
        }
    }

    .plan-area {
        padding: 1.5rem 0;
        ;
        background-color: var(--plan-bgcolor);

        .inner-wrapper {
            margin: 0 1rem 0 2.5rem;

            h2 {
                margin-bottom: 1.375rem;
                font-size: 1.375rem;
                font-weight: var(--bold);
                text-align: center;
            }

            .content {
                display: flex;
                align-items: center;
                gap: 0.6875rem;

                .tant-area {
                    padding-bottom: 0.9375rem;
                    width: 9rem;
                    border-radius: 0.4375rem;
                    border: 1px solid var(--black-color);
                    background-color: var(--white-color);

                    .tant-img {
                        width: 6.5rem;
                        height: 4.3125rem;
                        margin: 0.8125rem auto;
                        background-size: contain;
                        background-repeat: no-repeat;
                    }

                    h3 {
                        margin-bottom: 0.625rem;
                        font-size: 0.8125rem;
                        text-align: center;
                    }

                    p {
                        font-size: 0.6875rem;
                        line-height: 1.7273;
                        margin-left: 0.6875rem;

                        .em {
                            font-size: 1.0625rem;
                            color: var(--em-color);
                            line-height: 1.4118;
                        }
                    }
                }
                .desc {
                    font-size: 0.9375rem;
                    line-height: 1.6667;
                }
            }
        }
    }

    .comment-area {
        padding: 1.4375rem 0;
        background-color: var(--comment-bgcolor);

        .inner-wrapper {
            h2 {
                margin-bottom: 1.3125rem;
                font-size: 1.375rem;
                font-weight: var(--bold);
                text-align: center;
            }

            .comment-list {
                margin: 0;
                padding-left: 2rem;
                display: flex;
                flex-direction: column;
                align-items: flex-start;

                li {
                    position: relative;
                    margin-bottom: 0.625rem;

                    &:last-child {
                        margin-bottom: 0;
                    }

                    .bubble {
                        padding: 0.5625rem 0.75rem 0.625rem;
                        width: 21rem;
                        border-radius: 0.625rem;
                        background-color: var(--white-color);

                        h3 {
                            padding: 0.5625rem 0 0.3125rem;
                            font-size: 0.9375rem;
                            border-bottom: 1px dotted var(--black-color);
                        }

                        p {
                            margin: 0.3125rem 0 0;
                            font-size: 0.75rem;
                        }

                        &::after {
                            content: "";
                            width: 1.875rem;
                            height: 1.4375rem;
                            position: absolute;
                            bottom: 2rem;
                            right: -1rem;
                            background-image: url(../img/bubble_icon.svg);
                            background-size: contain;
                            background-repeat: no-repeat;
                        }
                    }

                    .comment-img {
                        width: 3.4375rem;
                        height: 5.5rem;
                        position: absolute;
                        bottom: 0;
                        right: -3.8125rem;
                        ;
                        background-size: contain;
                        background-repeat: no-repeat;
                    }
                }
            }
        }
    }

    .intro-area {
        position: relative;
        padding: 1.5625rem 0 1.4375rem;
        background-color: var(--site-bgcolor);

        .inner-wrapper {
            margin-left: 2rem;

            h2 {
                margin-bottom: 1.1875rem;
                font-size: 1.375rem;
                font-weight: var(--bold);
                text-align: center;
            }

            p {
                font-size: 0.8125rem;
                line-height: 1.9231;
                margin-bottom: 1rem;

                &:last-child {
                    margin-bottom: 0;
                }
            }

            .master-img {
                width: 12.5125rem;
                height: 14.375rem;
                position: absolute;
                bottom: 0;
                right: 0;
                background-size: contain;
                background-repeat: no-repeat;
                background-position-y: bottom;
            }
        }
    }

    .lineadd-area {
        padding: 1.4375rem 0;
        background-repeat: no-repeat;
        background-size: cover;

        .inner-wrapper {
            margin: 0 2rem;

            .no-obligation {
                margin-bottom: 0.8125rem;

                img {
                    width: auto;
                    height: 2.375rem;
                }
            }

            .lineadd-btn {
                margin-bottom: 0.5rem;
                padding: 0.6875rem 0;
                width: 100%;
                height: 14.5rem;
                background-color: var(--link-bgcolor);
                border-radius: 1.5rem;
                border: 0.3125rem solid var(--white-color);

                p {
                    text-align: center;
                    color: var(--white-color);
                }

                .word1 {
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    gap: 0.5rem;
                    font-size: 1.75rem;
                    line-height: 1.25;

                    &::before,
                    &::after {
                        display: block;
                        content: "";
                        width: 1.6875rem;
                        height: 3.75rem;
                        background-size: contain;
                        background-repeat: no-repeat;
                    }

                    &::before {
                        background-image: url(../img/left-slash.svg);
                    }

                    &::after {
                        background-image: url(../img/right-slash.svg);
                    }
                }

                h2 {
                    font-size: 2.375rem;
                }

                .word2 {
                    font-size: 1.625rem;
                    line-height: 1.2692;
                }
            }
        }

        .start {
            img {
                height: 1rem;
            }
        }
    }
}

footer {
    padding: 1.25rem 2rem 1.625rem;

    address {
        font-style: normal;

        .address {
            font-size: 0.875rem;
            line-height: 1.4286;
            margin-bottom: 0.875rem;
        }

        .map-area {
            width: 100%;
            height: 18rem;
            margin-bottom: 1.5625rem;
        }

        .tel-word {
            margin-bottom: 0.75rem;
            font-size: 0.875rem;
            text-align: center;
        }

        a {
            margin: 0 auto 0.5rem;
            display: block;
            width: 17rem;
            height: 2.625rem;

            .tel-btn {
                width: 100%;
                height: 100%;
                border: none;
                border-radius: 1.3125rem;
                background-color: var(--link-bgcolor);
                display: flex;
                align-items: center;
                justify-content: center;
                gap: 0.375rem;

                img {
                    width: 1.375rem;
                    height: auto;
                }

                p {
                    font-size: 1.75rem;
                    color: var(--white-color);
                }
            }
        }
    }

    .time {
        margin-bottom: 2.5625rem;
        font-size: 0.9375rem;
        text-align: center;
    }

    .copyright {
        text-align: center;

        small {
            font-size: 0.75rem;
        }
    }
}




/* ---------- tb レイアウト ---------- */
@media screen and (width > 450px) {
    header {
        .h-wrapper {
            margin: 1.375rem 1.5625rem 1.5625rem;

            .logo-area {
                margin-bottom: 0.4375rem;

                img {
                    width: 8.5rem;
                    margin-right: 0.4375rem;
                }

                h1 {
                    font-size: 2.375rem;
                    line-height: 1.1842;
                    margin-right: 2.375rem;
                }

                p {
                    font-size: 1.5625rem;
                }
            }

            .header-btn {
                width: 41.4375rem;
                height: 5rem;
                border-radius: 2.5rem;

                img {
                    width: 3.125rem;
                }

                p {
                    font-size: 3.4375rem;
                    line-height: 5rem;
                }
            }
        }
    }

    main {
        .hero-area {
            padding: 1.9375rem 3.4375rem 0.6875rem;
            height: 35.5rem;

            .inner-wrapper {
                h2 {
                    width: 26.5rem;
                    margin-bottom: 1rem;
                }

                p {
                    width: 29.75rem;
                }

            }

            .master-img {

                img {
                    width: 24.0625rem;
                }
            }

            .medal-img {
                bottom: 0.6875rem;
                left: 0.9375rem;

                img {
                    width: 31.3125rem;
                }
            }
        }

        .exam-area {
            padding: 3rem 3.5rem 1.9375rem;

            .inner-wrapper {
                .exam-btn-area {
                    height: 18.5rem;
                    padding: 1rem;
                    border-radius: 1.75rem;

                    .exam-btn {
                        padding-top: 2.375rem;
                        border: 3px solid var(--white-color);
                        border-radius: 0.9375rem;

                        p {
                            &:first-child {
                                font-size: 3.75rem;
                                margin-bottom: 1.4375rem;
                            }

                            &:last-child {
                                font-size: 2.5rem;
                                line-height: 1.25;
                            }
                        }
                    }
                }

                .exam-comment {
                    margin-top: 0.5625rem;

                    p {
                        font-size: 0.6875rem;
                        line-height: 1.4545;
                    }
                }

                .exam-woman-img {
                    width: 9.625rem;
                    height: 13rem;
                    right: 1.5rem;
                }
            }
        }

        .worry-area {
            padding: 3.4375rem 7.75rem;

            .inner-wrapper {

                h2,
                h3 {
                    font-size: 1.875rem;
                    margin-bottom: 2.375rem;
                }

                p {
                    font-size: 1.25rem;
                    margin-bottom: 2.375rem;
                }
            }

            .worry-man-img {
                width: 11.8125rem;
                height: 15rem;
                right: 2.5rem;
            }
        }

        .loan-area {
            padding: 3.5rem 3.5rem 2.75rem;

            .inner-wrapper {
                h2 {
                    font-size: 1.875rem;
                    margin-bottom: 1.75rem;
                }

                .comparison-area {
                    margin-bottom: 2.375rem;

                    .other,
                    .our {
                        width: 18.5rem;
                        padding: 1.8125rem 1.9375rem 0;

                        h3 {
                            font-size: 1.5rem;
                            line-height: 1.25;
                        }

                        .img-area {
                            margin-bottom: 1rem;
                            height: 9.4375rem;
                        }

                        p {
                            font-size: 1.25rem;
                            line-height: 1.8;

                            .em {
                                margin-bottom: 1.5rem;
                                font-size: 1.65rem;
                            }
                        }
                    }

                    .other {
                        .img-area {
                            img {
                                width: 7.4375rem;
                                height: 6.625rem;
                            }
                        }
                    }

                    .our {
                        .img-area {
                            img {
                                width: 4.5rem;
                                height: 4.5rem;
                            }
                        }
                        .master-img {
                            width: 9.375rem;
                            height: 9.375rem;
                        }
                    }

                    .arrow {
                        height: 2.5625rem;
                        width: 2.1875rem;
                        border-left: 2.1875rem solid var(--arrow-color);
                        border-top: 1.2813rem solid var(--white-color);
                        border-bottom: 1.2813rem solid var(--white-color);
                    }
                }

                .claim {
                    font-size: 1.375rem;
                    line-height: 1.8182;
                }
            }
        }

        .plan-area {
            padding: 2.625rem 0 3.5625rem;
            .inner-wrapper {
                margin: 0 6.25rem 0 7.125rem;

                h2 {
                    margin-bottom: 2.375rem;
                    font-size: 1.875rem;
                }

                .content {
                    gap: 1.8125rem;

                    .tant-area {
                        padding-bottom: 1.4375rem;
                        width: 14.375rem;
                        border-radius: 1.25rem;
                        .tant-img {
                            width: 11.0625rem;
                            height: 7.375rem;
                            margin: 1.375rem auto;
                        }

                        h3 {
                            margin-bottom: 0.75rem;
                            font-size: 1.25rem;
                        }

                        p {
                            font-size: 1.125rem;
                            line-height: 1.7222;
                            margin-left: 1.625rem;

                            .em {
                                font-size: 1.5rem;
                                line-height: 1.2917;
                            }
                        }
                    }
                    .desc {
                        font-size: 1.25rem;
                        line-height: 2;
                    }
                }
            }
        }

        .comment-area {
            padding: 2.6875rem 0 3.375rem;

            .inner-wrapper {
                h2 {
                    margin-bottom: 1.9375rem;
                    font-size: 1.875rem;
                }

                .comment-list {
                    padding-left: 4.625rem;

                    li {
                        margin-bottom: 1.125rem;

                        .bubble {
                            padding: 1.0625rem 1.25rem 0.75rem;
                            width: 31.5rem;
                            border-radius: 0.9375rem;

                            h3 {
                                padding: 0 0 0.6875rem;
                                font-size: 1.375rem;
                            }

                            p {
                                margin: 0.5625rem 0 0;
                                font-size: 1rem;
                            }

                            &::after {
                                width: 2.6875rem;
                                height: 2.1125rem;
                                bottom: 2.5625rem;
                                right: -1.5625rem;
                            }
                        }

                        .comment-img {
                            width: 6.875rem;
                            height: 7.875rem;
                            bottom: 0;
                            right: -7.375rem;
                        }
                    }
                }
            }
        }

        .intro-area {
            padding: 3.25rem 0 2.875rem;

            .inner-wrapper {
                margin-left: 4.625rem;

                h2 {
                    margin-bottom: 2.75rem;
                    font-size: 1.875rem;
                }

                p {
                    font-size:1.25rem;
                    line-height: 2;
                    margin-bottom: 2.5rem;
                }

                .master-img {
                    width: 22.4375rem;
                    height: 25.25rem;
                }
            }
        }

        .lineadd-area {
            padding: 3rem 0 2.875rem;

            .inner-wrapper {
                margin: 0 3.5rem;

                .no-obligation {
                    margin-bottom: 0.8125rem;

                    img {
                        width: auto;
                        height: 3rem;
                    }
                }

                .lineadd-btn {
                    margin-bottom: 1.1875rem;
                    padding-top: 1.5rem;
                    width: 100%;
                    height: 24.9375rem;
                    border-radius: 2.5rem;
                    border: 0.375rem solid var(--white-color);

                    .word1 {
                        margin-bottom: 1.875rem;
                        gap: 1.3125rem;
                        font-size: 2.875rem;
                        line-height: 1.1739;

                        &::before,
                        &::after {
                            width: 2.75rem;
                            height: 6.375rem;
                        }
                    }

                    h2 {
                        margin-bottom: 2rem;
                        font-size: 4.125rem;
                        line-height: 1;
                    }

                    .word2 {
                        font-size: 2.75rem;
                        line-height: 1.2273;
                    }
                }
            }

            .start {
                img {
                    height: 1.3rem;
                }
            }
        }
    }

    footer {
        padding: 2.375rem 3.25rem 2.9375rem;

        address {

            .address {
                font-size: 1.5rem;
                line-height: 1.6667;
                margin-bottom: 0.75rem;
            }

            .map-area {
                width: 100%;
                height: 31.0625rem;
                margin-bottom: 3rem;
            }

            .tel-word {
                margin-bottom: 1.5rem;
                font-size: 1.5rem;
            }

            a {
                margin: 0 auto 1.3125rem;
                width: 28rem;
                height: 4.25rem;

                .tel-btn {
                    border-radius: 2.125rem;
                    gap: 0.625rem;

                    img {
                        width: 2.1875rem;
                        height: auto;
                    }

                    p {
                        font-size: 2.75rem;
                    }
                }
            }
        }

        .time {
            margin-bottom: 3.9375rem;
            font-size: 1.5rem;
        }

        .copyright {
            small {
                font-size: 1rem;
            }
        }
    }
}





/* ---------- pc レイアウト ---------- */
@media screen and (width > 768px) {
    header {
        .h-wrapper {
            margin: 0.9375rem 2.4375rem;
            display: flex;
            align-items: center;
            gap: 2rem;

            .logo-area {
                margin-bottom: 0;
                width: 20.8125rem;
                flex-wrap: wrap;
                justify-content: space-between;

                img {
                    width: 7.625rem;
                    margin-right: 0;
                }

                h1 {
                    font-size: 2.375rem;
                    line-height: 1.1842;
                    margin-right: 0;
                }

                p {
                    font-size: 1.68rem;
                }
            }

            .header-btn {
                width: 36rem;
                height: 5.625rem;
                border-radius: 2.8125rem;

                img {
                    width: 2.875rem;
                }

                p {
                    font-size: 3.625rem;
                    line-height: 2.53125rem;
                }
            }
        }
    }

    main {
        .hero-area {
            padding: 3.3125rem 4.5625rem 0.625rem;
            height: 43.5rem;
            background-position: center center;

            .inner-wrapper {
                h2 {
                    width: 32.9375rem;
                    margin-bottom: 1.75rem;
                }
                p {
                    width: 32.9375rem;
                }
            }

            .master-img {

                img {
                    width: 31.8125rem;
                }
            }

            .medal-img {
                bottom: 0.625rem;
                left: 1rem;

                img {
                    width: 41.5rem;
                }
            }
        }

        .exam-area {
            padding: 3rem 3.5rem 1.9375rem;

            .inner-wrapper {
                .exam-btn-area {
                    height: 18.5rem;
                    padding: 1rem;
                    border-radius: 1.75rem;

                    .exam-btn {
                        border: 3px solid var(--white-color);
                        border-radius: 0.9375rem;

                        p {
                            &:first-child {
                                font-size: 3.75rem;
                            }

                            &:last-child {
                                font-size: 2.5rem;
                                line-height: 1.625;
                            }
                        }
                    }
                }

                .exam-comment {
                    margin-top: 0.5625rem;

                    p {
                        font-size: 1rem;
                        line-height: 1.4545;
                    }
                }

                .exam-woman-img {
                    width: 11.863125rem;
                    height: 15.824375rem;
                    right: 0.2rem;
                }
            }
        }

        .worry-area {
            padding: 3.4375rem 15.75rem;

            .inner-wrapper {

                h2,
                h3 {
                    font-size: 2.375rem;
                    margin-bottom: 2.375rem;
                }

                p {
                    font-size: 1.25rem;
                    margin-bottom: 2.375rem;
                    line-height: 3rem;
                }
            }

            .worry-man-img {
                width: 11.8125rem;
                height: 15rem;
                right: 8.5rem;
            }
        }

        .loan-area {
            padding: 3.5rem 3.5rem 2.75rem;

            .inner-wrapper {
                h2 {
                    font-size: 1.875rem;
                    margin-bottom: 1.75rem;
                }

                .comparison-area {
                    margin-bottom: 2.375rem;
                    justify-content: space-evenly;

                    .other,
                    .our {
                        width: 23.5rem;
                        padding: 1.8125rem 1.9375rem 0;
                        height: 28.5rem;

                        h3 {
                            font-size: 1.5rem;
                            line-height: 1.25;
                            margin-bottom: 2rem;
                        }

                        .img-area {
                            margin-bottom: 3rem;
                            height: 9.4375rem;
                        }

                        p {
                            font-size: 1.5rem;
                            line-height: 1.8;

                            .em {
                                margin-bottom: 1.5rem;
                                font-size: 1.65rem;
                            }
                        }
                    }

                    .other {
                        .img-area {
                            img {
                                width: 11.125rem;
                            }
                        }
                    }

                    .our {
                        .img-area {
                            img {
                                width: 4.5rem;
                                height: 4.5rem;
                            }
                        }
                        .master-img {
                            width: 11.125rem;
                            height: 11.125rem;
                        }

                    }

                    .arrow {
                        height: 2.5625rem;
                        width: 2.1875rem;
                        border-left: 2.1875rem solid var(--arrow-color);
                        border-top: 1.2813rem solid var(--white-color);
                        border-bottom: 1.2813rem solid var(--white-color);
                    }
                }

                .claim {
                    font-size: 1.375rem;
                    line-height: 1.8182;
                }
            }
        }

        .plan-area {
            padding: 2.625rem 0 3.5625rem;
            .inner-wrapper {
                margin: 0 11.25rem 0 14.125rem;

                h2 {
                    margin-bottom: 2.375rem;
                    font-size: 1.875rem;
                }

                .content {
                    gap: 1.8125rem;

                    .tant-area {
                        padding-bottom: 1.4375rem;
                        width: 14.375rem;
                        border-radius: 1.25rem;
                        .tant-img {
                            width: 11.0625rem;
                            height: 7.375rem;
                            margin: 1.375rem auto;
                        }

                        h3 {
                            margin-bottom: 0.75rem;
                            font-size: 1.25rem;
                        }

                        p {
                            font-size: 1.125rem;
                            line-height: 1.7222;
                            margin-left: 1.625rem;

                            .em {
                                font-size: 1.5rem;
                                line-height: 1.2917;
                            }
                        }
                    }
                    .desc {
                        font-size: 1.25rem;
                        line-height: 2;
                    }
                }
            }
        }

        .comment-area {
            padding: 2.6875rem 0 3.375rem;

            .inner-wrapper {
                h2 {
                    margin-bottom: 1.9375rem;
                    font-size: 1.875rem;
                }

                .comment-list {
                    margin: 0 auto;
                    flex-direction: row;

                    li {
                        margin:0 6rem 1.125rem 0;

                        .bubble {
                            padding: 1.0625rem 1.25rem 0.75rem;
                            width: 12.725rem;
                            border-radius: 0.9375rem;

                            h3 {
                                padding: 0 0 0.6875rem;
                                font-size: 1.375rem;
                            }

                            p {
                                margin: 0.5625rem 0 0;
                                font-size: 1rem;
                            }

                            &::after {
                                width: 2.6875rem;
                                height: 2.1125rem;
                                bottom: 2.5625rem;
                                right: -1.5625rem;
                            }
                        }

                        .comment-img {
                            width: 6.875rem;
                            height: 7.875rem;
                            bottom: 0;
                            right: -7.375rem;
                        }
                    }
                }
            }
        }

        .intro-area {
            padding: 3.25rem 0 2.875rem;

            .inner-wrapper {
                margin-left: 4.625rem;

                h2 {
                    margin-bottom: 2.75rem;
                    font-size: 1.875rem;
                }

                p {
                    font-size:1.25rem;
                    line-height: 2;
                    margin-bottom: 2.5rem;
                }

                .master-img {
                    width: 22.4375rem;
                    height: 25.25rem;
                }
            }
        }

        .lineadd-area {
            padding: 3rem 0 2.875rem;

            .inner-wrapper {
                margin: 0 3.5rem;

                .no-obligation {
                    margin-bottom: 0.8125rem;

                    img {
                        width: auto;
                        height: 3rem;
                    }
                }

                .lineadd-btn {
                    margin-bottom: 1.1875rem;
                    width: 100%;
                    height: 24.9375rem;
                    border-radius: 2.5rem;
                    border: 0.375rem solid var(--white-color);
                    text-align: center;

                    .word1 {
                        margin-bottom: 1.875rem;
                        gap: 1.3125rem;
                        font-size: 2.875rem;
                        line-height: 1.1739;

                        &::before,
                        &::after {
                            width: 2.75rem;
                            height: 6.375rem;
                        }
                    }

                    h2 {
                        margin-bottom: 2rem;
                        font-size: 4.125rem;
                        line-height: 1;
                    }

                    .word2 {
                        font-size: 2.75rem;
                        line-height: 1.2273;
                    }
                }
            }

            .start {
                img {
                    height: 1.3rem;
                }
            }
        }
    }

    footer {
        padding: 2.375rem 3.25rem 2.9375rem;

        address {

            .address {
                font-size: 1.5rem;
                line-height: 1.6667;
                margin-bottom: 0.75rem;
            }

            .map-area {
                width: 100%;
                height: 31.0625rem;
                margin-bottom: 3rem;
            }

            .tel-word {
                margin-bottom: 1.5rem;
                font-size: 1.5rem;
            }

            a {
                margin: 0 auto 1.3125rem;
                width: 28rem;
                height: 4.25rem;

                .tel-btn {
                    border-radius: 2.125rem;
                    gap: 0.625rem;

                    img {
                        width: 2.1875rem;
                        height: auto;
                    }

                    p {
                        font-size: 2.75rem;
                    }
                }
            }
        }

        .time {
            margin-bottom: 3.9375rem;
            font-size: 1.5rem;
        }

        .copyright {
            small {
                font-size: 1rem;
            }
        }
    }
}