/* ----------------------------------------------------------------------------------------------------
reset
---------------------------------------------------------------------------------------------------- */
section {
    width: 100%;
    padding: 0;
}

h2 {
    margin-bottom: 0;
}

h3 {
    margin: 0;
    font-size: 100%;
}

p {
    margin-bottom: 0;
    line-height: 1.15;
}

.bg {
    @media screen and (width >= 48rem) {
        position: absolute;
        top: 767px;
        width: 100%;
        height: 5602px;
        z-index: -10;
        overflow: hidden;

        &::before {
            content: "";
            position: absolute;
            top: 0;
            left: 50%;
            width: 1920px;
            height: 100%;
            background-image: url(../images/bg-pc.png);
            background-size: contain;
            translate: -50% 0;
        }
    }
}

.btnStyle5 a {
    width: 100%;
    border-radius: 100vmax;
}

main {
    font-family: "Hiragino Maru Gothic ProN", "BIZ URGothic", sans-serif;
}

/* ----------------------------------------------------------------------------------------------------
mv
---------------------------------------------------------------------------------------------------- */
#mv {
    display: grid;
    place-items: center;
    position: relative;
    height: 368px;

    .mv_bg {
        position: absolute;
        top: 0;
        left: 0;
        z-index: -10;
        width: 100%;
        height: 100%;

        img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }
    }

    .mv_title {
        margin-bottom: 0;

        img {
            width: 266px;
            aspect-ratio: 133 / 31;
        }
    }

    @media screen and (width >= 48rem) {
        height: 510px;

        .mv_title {
            img {
                width: 517px;
            }
        }
    }
}

/* ----------------------------------------------------------------------------------------------------
doubt
---------------------------------------------------------------------------------------------------- */
#doubt {
    padding-top: 22px;

    .doubt_box {
        display: grid;
        place-items: center;
        overflow: hidden;
    }

    .doubt_heading {
        position: relative;

        &::before {
            content: "";
            position: absolute;
            top: 0;
            left: 50%;
            z-index: -1;
            width: 402px;
            height: 396px;
            background-image: url(../images/doubt-question.png);
            background-size: contain;
            background-repeat: no-repeat;
            translate: -50% 0;
        }

        img {
            width: 271px;
            height: 271px;
        }
    }

    .doubt_list {
        display: grid;
        row-gap: 34px;
        margin-top: 24px;

        li {
            position: relative;
            padding-left: 44px;
            font-weight: 500;
            font-size: 18px;
            line-height: 22px;

            &::before {
                content: "";
                position: absolute;
                bottom: 0;
                left: 0;
                width: 40px;
                height: 40px;
                background-image: url(../images/swirl.png);
                background-size: contain;
            }
        }

        span {
            position: relative;
            padding-inline: 2px;

            &::before {
                content: "";
                position: absolute;
                bottom: 0;
                left: 0;
                z-index: -1;
                width: 100%;
                height: 8px;
                background-color: #b0f4ff;
            }
        }
    }

    .doubt_img {
        display: none;
    }

    .doubt_text {
        display: grid;
        place-items: center;
        position: relative;
        margin-top: 64px;

        &::before {
            content: "";
            position: absolute;
            top: 50%;
            left: 50%;
            z-index: -2;
            translate: -50% -50%;
            width: 100%;
            height: 140%;
            background: linear-gradient(#fefec0 0%, #fefb9c 100%);
            clip-path: polygon(0% 20%, 100% 0%, 100% 80%, 0% 100%);
        }

        img {
            width: min(368px, 100%);
            aspect-ratio: 1 / 1;
        }
    }

    @media screen and (width >= 48rem) {
        position: relative;
        padding-top: 80px;

        &::before {
            content: "";
            position: absolute;
            top: 0;
            left: 0;
            z-index: -20;
            width: 100%;
            height: 980px;
            background-color: #f6fbfd;
        }

        .doubt_heading {
            &::before {
                width: 1827px;
                height: 833px;
                background-image: url(../images/doubt-question-pc.png);
            }
        }

        .doubt_box {
            overflow: hidden;
            width: 100%;
        }

        .doubt_list {
            row-gap: 48px;
            margin-top: 128px;
            padding-left: 40px;

            li {
                padding-left: 48px;
                font-size: 20px;
                line-height: 24px;

                &::before {
                    bottom: -8px;
                    width: 46px;
                    height: 46px;
                }
            }
        }

        .doubt_img {
            display: block;
            position: absolute;
            top: 360px;
            left: calc(50% - 200px);
            translate: -100% 0;
        }

        .doubt_text {
            margin-top: 168px;

            img {
                width: 460px;
                height: 460px;
            }

            &::before {
                display: none;
            }
        }
    }
}

/* ----------------------------------------------------------------------------------------------------
qAndA
---------------------------------------------------------------------------------------------------- */
#qAndA {
    margin-top: 70px;

    .qAndA_container {
        max-width: 762px;
        padding-inline: 6px;
        margin-inline: auto;
    }

    .qAndA_heading {
        text-align: center;
    }

    .--q,
    .--a {
        position: relative;

        > p {
            position: absolute;
            top: 9px;
            font-size: 14px;
            letter-spacing: 0.03em;
            text-wrap: nowrap;
        }
    }

    .--q {
        > p {
            left: 58px;
        }
    }

    .--a {
        text-align: right;
        > p {
            right: 64px;
            text-align: left;
        }
    }

    .qAndA_item01 {
        margin-top: 48px;

        .--heading {
            margin-top: 13px;
            text-align: center;
        }

        .--contents {
            display: grid;
            justify-content: center;
            row-gap: 6px;
            margin-top: 23px;

            > div {
                position: relative;
            }

            h3 {
                position: absolute;
                top: 45px;
            }

            p {
                position: absolute;
            }

            .--lead {
                color: #28a076;
                font-weight: 700;
                font-size: 15px;
            }

            .--text {
                color: #646262;
                font-size: 13px;
                top: 56px;
                left: 160px;

                > span {
                    display: block;

                    &:first-child {
                        width: 120px;
                    }

                    &:last-child {
                        width: 200px;
                    }
                }
            }

            .--01 {
                h3 {
                    left: 20px;

                    img {
                        width: 120px;
                        height: 73px;
                    }
                }

                .--lead {
                    top: 24px;
                    left: 160px;
                    text-align: center;
                }
            }

            .--02 {
                h3 {
                    left: 30px;

                    img {
                        width: 102px;
                        height: 72px;
                    }
                }

                .--lead {
                    top: 24px;
                    left: 172px;
                    text-align: center;
                }
            }

            .--03 {
                h3 {
                    left: 20px;

                    img {
                        width: 119px;
                        height: 73px;
                    }
                }

                .--lead {
                    top: 16px;
                    left: 160px;
                }
            }
        }
    }

    .qAndA_item02 {
        margin-top: 42px;

        .--heading {
            margin-top: 13px;
            text-align: center;
        }

        .--contents {
            position: relative;

            &::before {
                content: "";
                position: absolute;
                top: 50%;
                left: 50%;
                z-index: -10;
                width: calc(100% + 12px);
                height: 100%;
                background-image: url(..//images/bg-sp.png);
                background-size: cover;
                translate: -50% -50%;
            }
        }

        .--inner {
            position: relative;
            width: min(100%, 375px);
            height: 890px;
            margin-inline: auto;

            > div {
                position: absolute;
            }
        }

        .--img {
            position: relative;
            z-index: -1;
            width: 260px;
            height: 260px;

            img {
                width: 100%;
                height: 100%;
            }
        }

        .--box {
            display: grid;
            justify-items: center;
            row-gap: 8px;
            position: absolute;
            top: 50%;
            left: 50%;
            font-family: "Yu Gothic Medium", "Yu Gothic", "YuGothic", sans-serif;
            font-weight: 700;
            translate: -50% -50%;

            h3 {
                width: max-content;
                color: #fdff00;
                font-size: 25px;
                letter-spacing: 0.02em;
                line-height: 30px;
                text-align: center;

                .--note {
                    position: relative;
                    left: 8px;
                }
            }

            p {
                width: 180px;
                color: #fff;
                font-size: 15px;
                line-height: 18px;
            }
        }

        .--01 {
            top: 0;
            left: 0;
        }

        .--02 {
            top: 210px;
            right: 0;
        }

        .--03 {
            top: 420px;
            left: 0;

            h3 {
                text-align: left;
            }
        }

        .--04 {
            bottom: 0;
            right: 0;
        }

        .--text {
            margin-top: 17px;
            margin-inline: auto;
            font-family: "Yu Gothic Medium", "Yu Gothic", "YuGothic", sans-serif;
            font-weight: 400;
            font-size: 16px;
            line-height: 22px;
        }
    }

    .qAndA_item03 {
        margin-top: 36px;

        .--contents {
            display: grid;
            justify-content: center;
            justify-items: center;
        }

        .--item {
            position: relative;
        }

        .--box {
            display: grid;
            row-gap: 12px;
            position: absolute;
            top: 32px;
            left: 50%;
            font-family: "Yu Gothic Medium", "Yu Gothic", "YuGothic", sans-serif;
            font-weight: 700;
            translate: -50% 0;

            h3 {
                color: #30ac8d;
                font-size: 24px;
                line-height: 30px;
                text-align: center;
            }

            p {
                width: 204px;
                font-size: 14px;
                line-height: 18px;
            }
        }

        .--text {
            margin-top: 18px;
            color: #30ac8d;
            font-family: "Yu Gothic Medium", "Yu Gothic", "YuGothic", sans-serif;
            font-weight: 700;
            font-size: 20px;
            line-height: 30px;
            text-align: center;
        }

        .borderFrameTitle {
            margin-top: 25px;
            font-size: 130%;
            font-weight: bold;
        }

        .btnStyle5 {
            margin-block: 24px 0;
        }
    }

    .qAndA_item04 {
        margin-top: 40px;

        .--contents {
            display: grid;
            justify-content: center;
            justify-items: center;

            > :nth-child(1) {
                margin-top: 32px;
            }
        }

        .--lead {
            margin-top: 42px;
            color: #008061;
            font-size: 16px;
            line-height: 22px;
        }

        .--item {
            display: grid;
            justify-items: center;
            position: relative;
            margin-top: 42px;
        }

        .--text {
            position: absolute;
            bottom: 40px;
            padding-inline: 16px;
            font-family: "Yu Gothic Medium", "Yu Gothic", "YuGothic", sans-serif;
            font-size: 14px;
            line-height: 20px;
            font-feature-settings: "palt";
            font-kerning: normal;
        }
    }

    @media screen and (width >= 48rem) {
        margin-top: 128px;

        .--q,
        .--a {
            > p {
                top: 9px;
                font-size: 20px;
            }
        }

        .--q {
            > p {
                left: 130px;
            }
        }

        .qAndA_item01 {
            position: relative;
            margin-top: 58px;

            .--q {
                img {
                    width: 516px;
                    height: 115px;
                }
            }

            .--a {
                position: absolute;
                top: 52px;
                right: 0;

                > p {
                    right: 136px;
                }

                img {
                    width: 442px;
                    height: 93px;
                }
            }

            .--heading {
                margin-top: 59px;

                img {
                    width: 626px;
                    height: 47px;
                }
            }

            .--contents {
                display: flex;
                gap: 10px;
                margin-top: 68px;

                img {
                    width: 240px;
                    height: 520px;
                }

                h3 {
                    top: 110px;
                }

                .--lead {
                    font-size: 18px;
                }

                .--text {
                    font-size: 14px;
                    top: 398px;
                    left: 8px;
                    width: 140px;
                    letter-spacing: -0.1em;

                    > span {
                        display: inline;

                        &:first-child {
                            width: initial;
                        }

                        &:last-child {
                            width: initial;
                        }
                    }
                }

                .--01 {
                    h3 {
                        left: 44px;

                        img {
                            width: 148px;
                            height: 89px;
                        }
                    }

                    .--lead {
                        top: 280px;
                        left: 12px;
                    }
                }

                .--02 {
                    h3 {
                        left: 58px;

                        img {
                            width: 127px;
                            height: 88px;
                        }
                    }

                    .--lead {
                        top: 280px;
                        left: 20px;
                    }
                }

                .--03 {
                    h3 {
                        left: 46px;

                        img {
                            width: 146px;
                            height: 89px;
                        }
                    }

                    .--lead {
                        top: 285px;
                        left: 55px;
                        text-align: center;
                        font-size: 20px;
                    }
                }
            }
        }

        .qAndA_item02 {
            position: relative;
            margin-top: 152px;

            .--q {
                img {
                    width: 372px;
                    height: 115px;
                }
            }

            .--a {
                position: absolute;
                top: 62px;
                right: 0;

                > p {
                    right: 112px;
                }

                img {
                    width: 608px;
                    height: 93px;
                }
            }

            .--contents {
                margin-top: 36px;

                &::before {
                    display: none;
                }
            }

            .--inner {
                width: 725px;
                height: 725px;
            }

            .--img {
                width: 300px;
                height: 300px;
            }

            .--01 {
                left: 50%;
                translate: -50% 0;

                .--box {
                    row-gap: 26px;
                }

                .--img {
                    rotate: 90deg;
                }
            }

            .--02 {
                top: 50%;
                left: 0;
                right: initial;
                translate: 0 -50%;

                .--box {
                    row-gap: 26px;
                }
            }

            .--03 {
                top: 50%;
                left: initial;
                right: 0;
                translate: 0 -50%;
            }

            .--04 {
                right: initial;
                left: 50%;
                translate: -50% 0;

                .--box {
                    row-gap: 26px;
                }

                .--img {
                    rotate: 90deg;
                }
            }

            .--text {
                position: absolute;
                bottom: 48px;
                right: 0;
                margin-top: 0;
                padding-inline: 0;
                width: 196px;
                font-size: 15px;
                line-height: 18px;
            }
        }

        .qAndA_item03 {
            margin-top: 82px;

            .--q {
                img {
                    width: 356px;
                    height: 115px;
                }
            }

            .--contents {
                grid-template-columns: 280px 1fr;
                align-items: center;
                column-gap: 24px;
                margin-top: -20px;
                margin-inline: auto;
                width: 525px;
            }

            .--text {
                margin-top: 0;
                text-wrap: nowrap;
            }

            .columnSet {
                margin-top: 24px;
            }

            .borderFrameTitle {
                display: none;
            }

            .btnStyle5 {
                margin-top: 54px;
            }

            .tel {
                a {
                    text-wrap: nowrap;
                }
            }
        }

        .qAndA_item04 {
            margin-top: 100px;

            .--q {
                img {
                    width: 528px;
                    height: 115px;
                }
            }

            .--contents {
                display: grid;
                justify-content: center;
                justify-items: center;

                > :nth-child(1) {
                    margin-top: 68px;
                    img {
                        width: 739px;
                        height: 87px;
                    }
                }

                .--lead {
                    margin-top: 68px;
                    color: #000000;
                    font-size: 18px;
                    line-height: 28px;
                    letter-spacing: 0em;
                    font-feature-settings: "palt";
                    font-kerning: normal;
                }

                .--item {
                    margin-top: 70px;
                    img {
                        width: 750px;
                        height: 386px;
                    }
                }

                .--text {
                    bottom: 48px;
                    left: 200px;
                    padding-inline: 16px;
                    width: 438px;
                    font-feature-settings: "palt";
                    font-kerning: normal;
                }
            }
        }
    }
}

/* ----------------------------------------------------------------------------------------------------
flow
---------------------------------------------------------------------------------------------------- */
#flow {
    margin-top: 58px;

    .flow_container {
        box-sizing: border-box;
        width: min(90%, 750px);
        padding-inline: 5%;
        margin-inline: auto;
    }

    .flow_hgroup {
        display: grid;
        row-gap: 2px;
        text-align: center;

        h2 {
            grid-row: 2 / 3;
            color: #12cfa7;
            font-weight: 400;
            font-size: 14px;
            line-height: 18px;
        }

        p {
            grid-row: 1 / 2;
            line-height: 1;
        }
    }

    .flow_list {
        display: grid;
        justify-items: center;
        row-gap: 2px;
        margin-top: 48px;
    }

    .flow_item {
        position: relative;
        line-height: 1;
        width: min(100%, 370px);

        img {
            width: 100%;
        }

        &:nth-child(1),
        &:nth-child(3),
        &:nth-child(5),
        &:nth-child(7) {
            p {
                margin-top: 6px;
            }
        }
    }

    .frow_box {
        display: grid;
        row-gap: 2px;
        position: absolute;
        top: 50%;
        left: 80px;
        max-width: 240px;
        translate: 0 -50%;

        h3 {
            font-size: 16px;
            letter-spacing: -0.05em;
        }

        p {
            color: #4d4d4d;
            font-size: 11px;
            letter-spacing: -0.05em;
            font-feature-settings: "palt";
            font-kerning: normal;
        }
    }

    @media screen and (width >= 48rem) {
        .flow_list {
            row-gap: 3px;
        }

        .flow_item {
            width: min(100%, 556px);

            &:nth-child(1),
            &:nth-child(2),
            &:nth-child(3),
            &:nth-child(5),
            &:nth-child(6),
            &:nth-child(7) {
                p {
                    margin-top: 6px;
                }
            }
        }

        .frow_box {
            row-gap: 6px;
            left: 120px;
            max-width: 342px;

            h3 {
                font-size: 20px;
            }

            p {
                color: #008763;
                font-size: 15px;
            }
        }
    }
}

/* ----------------------------------------------------------------------------------------------------
contact
---------------------------------------------------------------------------------------------------- */
#contact {
    box-sizing: border-box;
    width: min(90%, 750px);
    margin-block: 22px 80px;
    padding-inline: 5%;
    margin-inline: auto;

    .borderFrameTitle {
        font-size: 130%;
        font-weight: bold;
    }

    .btnStyle5 {
        margin-top: 16px;
    }

    @media screen and (width >= 48rem) {
        margin-block: 55px 160px;

        .borderFrameTitle {
            display: none;
        }

        .contact_contents {
            display: grid;
            row-gap: 24px;

            > :nth-child(1) {
                grid-row: 2 / 3;
            }

            > :nth-child(2) {
                grid-row: 1 / 2;
            }
        }

        .btnStyle5 {
            margin-top: 0;
        }
    }
}

/* ----------------------------------------------------------------------------------------------------
utility
---------------------------------------------------------------------------------------------------- */
.u-sp {
    @media screen and (width >= 48rem) {
        display: none;
    }
}

.u-pc {
    display: none;
    @media screen and (width >= 48rem) {
        display: initial;
    }
}
