@charset "utf-8";

.is-pc {
    display: block;
}
.is-fl-pc {
    display: flex;
}

.is-sp {
    display: none;
}
.is-sp-1101 {
    display: none;
}
.is-fl-sp {
    display: none;
}

@media screen and (max-width: 1101px) {
    .is-sp-1101 {
        display: block;
    }
}

@media screen and (max-width: 1101px) {
    .is-pc {
        display: none;
    }
    .is-fl-pc {
        display: none;
    }
    .is-sp {
        display: block;
    }
    .is-fl-sp {
        display: flex;
    }
}

/*===================================
mv
===================================*/
.page_mv {
    display: flex;
    align-items: center;
    width: 100%;
    height: 50.3125vw;
    background: url(../img/manual-site/mv_pc.webp) no-repeat center right;
    background-size: cover;
}

@media screen and (min-width: 1920px) {
    .page_mv {
        display: flex;
        align-items: center;
        width: 100%;
        height: 966px;
        background: url(../img/manual-site/mv_pc.webp) no-repeat center right;
        background-size: cover;
    }
}

.page_mv .page_mv_contents {
    margin-left: 10.46875vw;
}

@media screen and (min-width: 1920px) {
    .page_mv .page_mv_contents {
        margin-left: 201px;
    }
}

.page_mv .page_mv_contents .main {
    font-family: "Helvetica","Noto Sans JP",sans-serif;
    font-size: 4.166vw;
    font-weight: 700;
    letter-spacing: -0.05em;
    line-height: 1.36;
}

@media screen and (min-width: 1920px) {
    .page_mv .page_mv_contents .main {
        font-size: 80px;
        font-weight: 700;
    }
}

.page_mv .page_mv_contents .sub {
    font-size: 3.229vw;
    font-weight: 700;
    letter-spacing: 0.01em;
    line-height: 1.9;
}

.page_mv .page_mv_contents .sub strong {
    color: #DC4A54;
}

@media screen and (min-width: 1920px) {
    .page_mv .page_mv_contents .sub {
        font-size: 62px;
    }
}

.page_mv .page_mv_contents .btn_wrap {
    margin-top: 1.56vw;
    width: 21.875vw;
}

.page_mv .page_mv_contents .btn_wrap .btn {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    column-gap: 1.197vw;
    width: 100%;
    height: 4.167vw;
    color: #FFF;
    background: #DC4A54;
    border-radius: 1.04vw;
}

@media screen and (min-width: 769px) {
    .btn_wrap .btn {
        transition: all 0.3s ease;
    }
    .btn_wrap .btn:hover {
        transform: scale(0.9);
    }
}

.page_mv .page_mv_contents .btn_wrap .btn .btn_main {
    font-size: 1.146vw;
    font-weight: 700;
    text-align: center;
    letter-spacing: 0.02em;
    line-height: 1.18;
}
.page_mv .page_mv_contents .btn_wrap .btn span {
    display: block;
    margin-top: 0.208vw;
    font-size: 0.781vw;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.03em;
}
.page_mv .page_mv_contents .btn_wrap .btn i {
    position: absolute;
    top: 50%;
    right: 0.885vw;
    transform: translateY(-50%);
    font-size: 1.823vw;
}

@media screen and (min-width: 1920px) {
    .page_mv .page_mv_contents .btn_wrap {
        width: 420px;
    }
    .page_mv .page_mv_contents .btn_wrap .btn {
        column-gap: 23px;
        height: 80px;
        border-radius: 20px;
    }
    .page_mv .page_mv_contents .btn_wrap .btn .btn_main {
        font-size: 22px;
        font-weight: 700;
        text-align: center;
    }
    .page_mv .page_mv_contents .btn_wrap .btn span {
        margin-top: 8px;
        font-size: 15px;
    }
    .page_mv .page_mv_contents .btn_wrap .btn i {
        font-size: 35px;
    }
}

.page_mv .page_mv_contents .btn_wrap .btn_msg {
    margin-top: 1.145vw;
    text-align: center;
    font-size: 15px;
    font-weight: 700;
}

@media screen and (min-width: 1920px) {
    .page_mv .page_mv_contents .btn_wrap .btn_msg {
        margin-top: 22px;
        font-size: 16px;
    }
}


@media screen and (max-width: 1101px) {
    .page_mv {
        display: flex;
        align-items: flex-end;
        width: 100%;
        height: 157.21vw;
        background: url(../img/manual-site/mv_sp.webp) no-repeat center right;
        background-size: cover;
    }
    .page_mv .page_mv_contents {
        margin-left: 0;
        padding-inline: 4.651vw;
    }
    .page_mv .page_mv_contents .main {
        font-family: "Helvetica","Noto Sans JP",sans-serif;
        font-size: 9.302vw;
        font-weight: 700;
        letter-spacing: -0.05em;
        line-height: 1.4;
    }

    .page_mv .page_mv_contents .sub {
        margin-top: 2.791vw;
        font-size: 6.744vw;
        font-weight: 700;
        letter-spacing: 0;
        line-height: 1;
    }

    .page_mv .page_mv_contents .sub strong {
        color: #DC4A54;
    }

    .page_mv .page_mv_contents .btn_wrap {
        margin-top: 10.465vw;
        width: 100%;
    }

    .page_mv .page_mv_contents .btn_wrap .btn {
        display: flex;
        align-items: center;
        justify-content: center;
        position: relative;
        width: 100%;
        height: 18.605vw;
        color: #FFF;
        background: #DC4A54;
        border-radius: 4.762vw;
    }

    .page_mv .page_mv_contents .btn_wrap .btn .btn_main {
        font-size: 4.651vw;
        font-weight: 700;
        text-align: center;
        letter-spacing: 0.02em;
        line-height: 1.18;
    }
    .page_mv .page_mv_contents .btn_wrap .btn span {
        display: block;
        margin-top: 2.326vw;
        font-size: 3.488vw;
        font-weight: 700;
        line-height: 1.2;
        letter-spacing: 0.03em;
    }
    .page_mv .page_mv_contents .btn_wrap .btn i {
        position: absolute;
        top: 50%;
        right: 3.953vw;
        transform: translateY(-50%);
        font-size: 8.14vw;
    }

    .page_mv .page_mv_contents .btn_wrap .btn_msg {
        margin-top: 3.953vw;
        text-align: center;
        font-size: 15px;
        font-weight: 700;
    }
}

/*===================================
common
===================================*/
section img {
    max-width: 100%;
}

.w1544 {
    width: 100%;
    max-width: 1544px;
    margin-inline: auto;
}

.w1450 {
    width: 100%;
    max-width: 1490px;
    margin-inline: auto;
}

.w1425 {
    width: 100%;
    max-width: 1465px;
    margin-inline: auto;
}

.w1130 {
    width: 100%;
    max-width: 1170px;
    margin-inline: auto;
}

.w953 {
    width: 100%;
    max-width: 993px;
    margin-inline: auto;
}

.w821 {
    width: 100%;
    max-width: 861px;
    margin-inline: auto;
}

.section_inner {
    margin-inline: auto;
    padding-block: 150px;
    padding-inline: 20px;
}

.section_header {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.section_header .section_title {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.section_header .section_title .main {
    display: flex;
    align-items: center;
    justify-content: center;
    padding-inline: 48px;
    height: 64px;
    font-size: 32px;
    font-weight: 700;
    line-height: 1.19;
    background: #FBCB60;
    border-radius: 9999px;
}

.section_header .section_title .sub {
    margin-top: 70px;
    font-size: 50px;
    font-weight: 700;
    line-height: 1.19;
}

.section_header .section_title .sub strong {
    color: #FBCB60;
}

.section_header .section_title .sub.underline {
    position: relative;
    padding-bottom: 30px;
}

.section_header .section_title .sub.underline:after {
    content: "";
    position: absolute;
    width: 110%;
    height: 10px;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    background: #FBCB60;
}

@media screen and (max-width: 1101px) {
    section img {
        max-width: 100%;
    }

    .section_inner {
        margin-inline: auto;
        padding-block: 16.279vw 23.256vw;
        padding-inline: 2.791vw;
    }

    .section_header .section_title .main {
        display: flex;
        align-items: center;
        justify-content: center;
        padding-inline: 5.581vw;
        height: 8.837vw;
        font-size: 4.651vw;
        font-weight: 700;
        line-height: 1.19;
        background: #FBCB60;
        border-radius: 9999px;
    }

    .section_header .section_title .sub {
        margin-top: 4.651vw;
        font-size: 5.581vw;
        font-weight: 700;
        line-height: 1.3;
        text-align: center;
    }

    .section_header .section_title .sub.underline {
        position: relative;
        padding-bottom: 3.721vw;
    }

    .section_header .section_title .sub.underline:after {
        content: "";
        position: absolute;
        width: 100%;
        height: 1.395vw;
        left: 50%;
        bottom: 0;
        transform: translateX(-50%);
        background: #FBCB60;
    }
}

/*===================================
trouble
===================================*/
.trouble .section_contents {
    margin-top: 210px;
}
.trouble_list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    column-gap: 2.803vw;
    justify-content: center;
    margin-inline: auto;
}
@media screen and (min-width: 1920px) {
    .trouble_list {
        column-gap: 40px;
    }
}
.trouble_list .item {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 356px;
    max-width: 100%;
    justify-self: center;
}
.trouble_list .item img {
    width: 259px;
    max-width: 100%;
    height: auto;
}
.trouble_list .item .caption {
    margin-top: 29px;
    font-size: 26px;
    font-weight: 700;
    color: #727272;
    text-align: center;
    line-height: 1.7;
}
.trouble_list .item:after {
    content: "";
    width: 61px;
    height: 159px;
    margin-block: 108px;
    background: url(../img/manual-site/arrow_trouble_pc.webp) no-repeat center right;
    background-size: cover;
}
.effect_list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    column-gap: 40px;
    justify-content: center;
    margin-inline: auto;
}
.effect_list .item {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 356px;
    max-width: 100%;
    justify-self: center;
}
.effect_list .item img {
    width: 356px;
    max-width: 100%;
    height: auto;
}
.effect_list .item .caption {
    margin-bottom: 29px;
    font-size: 30px;
    font-weight: 700;
    text-align: center;
}

.effect_list .item .caption strong {
    color: #FFB000;
}



@media screen and (max-width: 1376px) {
    .trouble_list {
        display: grid;
        grid-template-columns: 1fr 1fr;
        column-gap: 7.442vw;
        row-gap: 6.651vw;
        justify-content: center;
        margin-inline: auto;
    }
    .trouble_list .item {
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 100%;
        max-width: 100%;
        justify-self: center;
    }
    .trouble_list .item img {
        width: 35.349vw;
        max-width: 100%;
        height: auto;
    }
    .trouble_list .item .caption {
        margin-top: 3.953vw;
        font-size: 3.256vw;
        font-weight: 700;
        color: #727272;
        text-align: center;
        line-height: 1.7;
    }
    .trouble_list .item:after {
        display: none;
    }
    .trouble_arrow {
        display: block;
        width: 66.047vw;
        height: 21.628vw;
        margin-block: 14.186vw 18.14vw;
        margin-inline: auto;
        background: url(../img/manual-site/arrow_trouble_sp.webp) no-repeat center right;
        background-size: cover;
    }
    .effect_list {
        display: grid;
        grid-template-columns: 1fr 1fr;
        column-gap: 8.047vw;
        row-gap: 7.558vw;
        justify-content: center;
        margin-inline: auto;
    }
    .effect_list .item {
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 100%;
        max-width: 100%;
        justify-self: center;
    }
    .effect_list .item img {
        width: 36.512vw;
        max-width: 100%;
        height: auto;
    }
    .effect_list .item .caption {
        margin-bottom: 3.209vw;
        font-size: 3.488vw;
        font-weight: 700;
        text-align: center;
    }

    .effect_list .item .caption strong {
        color: #FFB000;
    }
}


@media screen and (max-width: 1101px) {
    .trouble .section_contents {
        margin-top: 7.907vw;
    }
    .trouble_list {
        display: grid;
        grid-template-columns: 1fr 1fr;
        column-gap: 7.442vw;
        row-gap: 6.651vw;
        justify-content: center;
        margin-inline: auto;
    }
    .trouble_list .item {
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 100%;
        max-width: 100%;
        justify-self: center;
    }
    .trouble_list .item img {
        width: 35.349vw;
        max-width: 100%;
        height: auto;
    }
    .trouble_list .item .caption {
        margin-top: 3.953vw;
        font-size: 3.256vw;
        font-weight: 700;
        color: #727272;
        text-align: center;
        line-height: 1.7;
    }
    .trouble_list .item:after {
        display: none;
    }
    .trouble_arrow {
        width: 66.047vw;
        height: 21.628vw;
        margin-block: 14.186vw 18.14vw;
        margin-inline: auto;
        background: url(../img/manual-site/arrow_trouble_sp.webp) no-repeat center right;
        background-size: cover;
    }
    .effect_list {
        display: grid;
        grid-template-columns: 1fr 1fr;
        column-gap: 8.047vw;
        row-gap: 7.558vw;
        justify-content: center;
        margin-inline: auto;
    }
    .effect_list .item {
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 100%;
        max-width: 100%;
        justify-self: center;
    }
    .effect_list .item img {
        width: 36.512vw;
        max-width: 100%;
        height: auto;
    }
    .effect_list .item .caption {
        margin-bottom: 3.209vw;
        font-size: 3.488vw;
        font-weight: 700;
        text-align: center;
    }

    .effect_list .item .caption strong {
        color: #FFB000;
    }
}

/*===================================
merit
===================================*/
.merit {
    background: #F9F8F6;
}

.merit .section_contents {
    margin-top: 118px;
}

.merit_list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    column-gap: 35px;
    row-gap: 35px;
}

.merit_list > .item {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 3;
    row-gap: 24px;
    padding: 43px 23px 63px 59px;
    background: #FFF;
    border-radius: 30px;
}

.merit_list .merit_list_header {
    display: flex;
    align-items: center;
    column-gap: 20px;
}

.merit_list .merit_list_header picture {
    width: 95px;
}

.merit_list .merit_list_header img {
    width: 95px;
    height: 95px;
}

.merit_list .merit_list_header .title {
    flex: 1;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.01em;
}

.merit_list .merit_list_header .title strong {
    color: #FFB000;
}

.merit_list .merit_list_contents {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.7;
}

.merit_list .merit_list_point {
    font-size: 18px;
    line-height: 1.7;
}

.merit_list .merit_list_point .item {
    display: flex;
    align-items: center;
    column-gap: 8px;
}

.merit_list .merit_list_point .item::before {
    content: "";
    display: block;
    width: 17px;
    height: 17px;
    background: url(../img/manual-site/icon_check.svg) no-repeat center right;
    background-size: cover;
}
@media screen and (max-width: 1101px) {
    .merit .section_contents {
        margin-top: 9.302vw;
    }

    .merit_list {
        display: grid;
        grid-template-columns: 1fr;
        column-gap: 0;
        row-gap: 9.302vw;
    }

    .merit_list > .item {
        display: flex;
        flex-direction: column;
        justify-items: center;
        justify-content: center;
        row-gap: 4.186vw;
        width: 100%;
        height: 81.395vw;
        padding: 6.047vw 4.651vw 6.047vw 11.628vw;
        background: #FFF;
        border-radius: 6.977vw;
    }

    .merit_list .merit_list_header {
        display: flex;
        align-items: center;
        column-gap: 2.953vw;
        margin-left: -4.651vw;
    }

    .merit_list .merit_list_header picture {
        width: 18.837vw;
    }

    .merit_list .merit_list_header img {
        width: 18.837vw;
        height: 18.837vw;
    }

    .merit_list .merit_list_header .title {
        flex: 1;
        font-size: 4.651vw;
        font-weight: 700;
        line-height: 1.5;
        letter-spacing: 0.01em;
    }

    .merit_list .merit_list_header .title strong {
        color: #FFB000;
    }

    .merit_list .merit_list_contents {
        width: 69.535vw;
        font-size: 3.721vw;
        font-weight: 700;
        line-height: 1.7;
    }

    .merit_list .merit_list_point {
        font-size: 3.721vw;
        line-height: 1.7;
    }

    .merit_list .merit_list_point .item {
        display: flex;
        align-items: center;
        column-gap: 1.628vw;
    }

    .merit_list .merit_list_point .item::before {
        content: "";
        display: block;
        width: 3.302vw;
        height: 3.302vw;
        background: url(../img/manual-site/icon_check.svg) no-repeat center right;
        background-size: cover;
    }
}

/*===================================
services
===================================*/
.services {
    background: url(../img/manual-site/services_bg_pc.webp) no-repeat top center;
    background-size: cover;
}

.services .section_contents {
    margin-top: 150px;
}

.services_list {
    display: grid;
    grid-template-columns: 1fr;
    row-gap: 187px;
}

.services_list .item {
    display: flex;
    justify-content: space-between;
}

.services_list .item .text {
    position: relative;
    display: flex;
    flex-direction: column;
    /* justify-content: center; */
    width: 50%;
    padding: 40px;
    padding-top: 65px;
    transform: translateY(70px);
}

.services_list .item .text::before {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    content: "";
    width: calc(100% + 11.458vw);
    height: 100%;
    border-radius: 30px;
    background: #F9F8F6;
    z-index: 0;
}

@media screen and (min-width: 1920px) {
    .services_list .item .text::before {
        width: calc(100% + 220px);
    }
}

.services_list .item .text > * {
    position: relative;
    z-index: 1;
}

.services_list .item .text .title {
    display: flex;
    align-items: center;
    column-gap: 12px;
}

.services_list .item .text .title:before {
    content: "";
    display: block;
    width: 71px;
    height: 71px;
    background: url(../img/manual-site/icon_check.svg) no-repeat center right;
    background-size: cover;
}

.services_list .item .text .title span {
    flex: 1;
    font-size: 40px;
    font-weight: 700;
    line-height: 1.4;
    color: #FFB000;
}

.services_list .item .text .subtitle {
    margin-top: 20px;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.4;
    color: #646464;
}

.services_list .item .text p {
    margin-top: 20px;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.7;
}

.services_list .item .img {
    position: relative;
    width: 50%;
    z-index: 1;
}

@media screen and (min-width: 1102px) and (max-width: 1470px) {
    .services_list {
        display: grid;
        grid-template-columns: 1fr;
        row-gap: 12.721vw;
    }

    .services_list .item {
        display: flex;
        justify-content: space-between;
    }

    .services_list .item .text {
        position: relative;
        display: flex;
        flex-direction: column;
        /* justify-content: center; */
        width: 50%;
        padding: 2.721vw;
        padding-top: 4.422vw;
        transform: translateY(70px);
    }

    .services_list .item .text::before {
        position: absolute;
        top: 50%;
        left: 0;
        transform: translateY(-50%);
        content: "";
        width: calc(100% + 11.458vw);
        height: 100%;
        border-radius: 2.041vw;
        background: #F9F8F6;
        z-index: 0;
    }

    .services_list .item .text > * {
        position: relative;
        z-index: 1;
    }

    .services_list .item .text .title {
        display: flex;
        align-items: center;
        column-gap: 0.816vw;
    }

    .services_list .item .text .title:before {
        content: "";
        display: block;
        width: 4.83vw;
        height: 4.83vw;
        background: url(../img/manual-site/icon_check.svg) no-repeat center right;
        background-size: cover;
    }

    .services_list .item .text .title span {
        flex: 1;
        font-size: 2.721vw;
        font-weight: 700;
        line-height: 1.4;
        color: #FFB000;
    }

    .services_list .item .text .subtitle {
        margin-top: 1.361vw;
        font-size: 1.497vw;
        font-weight: 700;
        line-height: 1.4;
        color: #646464;
    }

    .services_list .item .text p {
        margin-top: 1.361vw;
        font-size: 1.361vw;
        font-weight: 700;
        line-height: 1.7;
    }

    .services_list .item .img {
        position: relative;
        width: 50%;
        z-index: 1;
    }
}

@media screen and (max-width: 1101px) {
    .services {
        background: url(../img/manual-site/services_bg_sp.webp) no-repeat top center;
        background-size: cover;
    }

    .services .section_inner {
        padding-bottom: 45.116vw;
    }

    .services .section_contents {
        margin-top: 19.302vw;
    }

    .services_list {
        display: grid;
        grid-template-columns: 1fr;
        row-gap: 22.093vw;
    }

    .services_list .item {
        position: relative;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
    }

    .services_list .item::before {
        position: absolute;
        top: 50%;
        left: 0;
        transform: translateY(-50%);
        content: "";
        width: calc(100vw + 29.767vw);
        height: 100%;
        border-radius: 2.326vw;
        background: #F9F8F6;
        z-index: 0;
    }


    .services_list .item .text {
        position: relative;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-self: flex-start;
        width: 100%;
        padding: 3.721vw 4.186vw;
        transform: translateY(0);
    }

    .services_list .item .text::before {
        display: none;
    }

    .services_list .item .text > * {
        position: relative;
        z-index: 1;
    }

    .services_list .item .text .title {
        display: flex;
        align-items: center;
        column-gap: 1.977vw;
        transform: translateX(-1.047vw);
    }

    .services_list .item .text .title:before {
        content: "";
        display: block;
        width: 8.472vw;
        height: 8.472vw;
        background: url(../img/manual-site/icon_check.svg) no-repeat center right;
        background-size: cover;
    }

    .services_list .item .text .title span {
        flex: 1;
        font-size: 4.651vw;
        font-weight: 700;
        line-height: 1.4;
        color: #FFB000;
    }

    .services_list .item .text .subtitle {
        margin-top: 3.116vw;
        font-size: 2.791vw;
        font-weight: 700;
        line-height: 1.4;
        color: #646464;
    }

    .services_list .item .text p {
        width: 69.07vw;
        margin-top: 3.953vw;
        font-size: 3.256vw;
        font-weight: 700;
        line-height: 1.4;
    }

    .services_list .item .img {
        position: relative;
        width: 82.326vw;
        align-self: flex-end;
        z-index: 1;
        margin-top: -10.233vw;
        transform: translateY(10.233vw);
    }
}

/*===================================
case
===================================*/
.case {
    background: #F9F8F6;
}

.case .section_contents {
    margin-top: 174px;
}

.case_list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 65px;
    row-gap: 133px;
}

.case_list .item {
    position: relative;
    justify-self: center;
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 3;
    row-gap: 0;
    width: 100%;
    background: #FFF;
    border-radius: 20px;
    padding: 72px 20px 84px;
    text-align: center;
}
.case_list .item .label {
    position: absolute;
    top: -60px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 120px;
    height: 120px;
    font-size: 22px;
    font-weight: 700;
    color: #FFF;
    background: #FBCB60;
    border-radius: 50%;
    line-height: 1.1;
}

.case_list .item .label span {
    display: block;
    font-size: 44px;
    font-weight: bold;
    font-family: "Helvetica","Noto Sans JP",sans-serif;
    line-height: 1.1;
}

.case_list .item .title {
    font-size: 30px;
    font-weight: 700;
    color: #FFB000;
    line-height: 1.2;
}

.case_list .item .summary {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.2;
    margin-top: -15px;
}

.case_list .item img {
    width: 520px;
    max-width: 100%;
    height: auto;
    margin-top: -71px;
}

@media screen and (max-width: 1101px) {
    .case .section_contents {
        margin-top: 17.442vw;
    }

    .case_list {
        display: grid;
        grid-template-columns: 1fr;
        column-gap: 65px;
        row-gap: 13.721vw;
    }

    .case_list .item {
        position: relative;
        justify-self: center;
        display: flex;
        flex-direction: column;
        align-items: center;
        row-gap: 0;
        width: 100%;
        background: #FFF;
        border-radius: 2.326vw;
        padding: 9.302vw 10.465vw 11.628vw;
        text-align: center;
    }
    .case_list .item .label {
        position: absolute;
        top: -8.488vw;
        left: 50%;
        transform: translateX(-50%);
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        width: 16.047vw;
        height: 16.047vw;
        font-size: 2.791vw;
        font-weight: 700;
        color: #FFF;
        background: #FBCB60;
        border-radius: 50%;
        line-height: 1.1;
    }

    .case_list .item .label span {
        display: block;
        font-size: 5.581vw;
        font-weight: bold;
        font-family: "Helvetica","Noto Sans JP",sans-serif;
        line-height: 1.1;
    }

    .case_list .item .title {
        font-size: 4.186vw;
        font-weight: 700;
        color: #FFB000;
        line-height: 1.2;
    }

    .case_list .item .summary {
        font-size: 3.256vw;
        font-weight: 700;
        line-height: 1.2;
        margin-top: 2.791vw;
    }

    .case_list .item img {
        width: 100%;
        max-width: 100%;
        height: auto;
        margin-top: 4.651vw;
    }
}

/*===================================
price
===================================*/
.price .section_contents {
    position: relative;
    margin-top: 102px;
}

.price .price_label {
    position: absolute;
    top: -27px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 192px;
    height: 54px;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.19;
    color: #FFF;
    background: #DC4A54;
    border-radius: 9999px;
}

.price .price_contents {
    padding: 50px 0 41px;
    background: #F9F8F6;
    border-radius: 20px;
}

.price .price_contents .price_wrap {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: 1fr 189px 157px;
    grid-column-gap: 26px;
    grid-row-gap: 28px;
    width: 618px;
    padding-inline: 20px;
    max-width: 100%;
    margin-inline: auto;
}

.price .price_contents .price_box {
    background: #FFF;
    border-radius: 20px;
}

.price .price_contents .price_box1 { grid-area: 1 / 1 / 2 / 3; }
.price .price_contents .price_box2 { grid-area: 2 / 1 / 3 / 2; }
.price .price_contents .price_box3 { grid-area: 2 / 2 / 3 / 3; }
.price .price_contents .price_box4 { grid-area: 3 / 1 / 4 / 3; }

.price .price_contents .price_box1 {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 10px;
    padding: 35px 0 14px;
    border: 2px solid #FFB000;
}

.price .price_contents .price_box1 .title {
    font-size: 30px;
    font-weight: 700;
}

.price .price_contents .price_box1 .price {
    font-size: 80px;
    font-weight: bold;
    font-family: "Helvetica","Noto Sans JP",sans-serif;
    color: #FFB000;
}

.price .price_contents .price_box1 .price .yen {
    font-size: 30px;
    font-weight: 700;
}

.price .price_contents .price_box1 .exp {
    font-size: 17px;
    line-height: 1.4;
    text-align: center;
    color: #646464;
}

.price .price_contents .price_box_col2 {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.price .price_contents .price_box_col2 .title {
    font-size: 16px;
    color: #646464;
}

.price .price_contents .price_box_col2 .price {
    margin-top: 20px;
    font-size: 33px;
    font-weight: bold;
    font-family: "Helvetica","Noto Sans JP",sans-serif;
    line-height: 1.2;
    text-align: center;
}

.price .price_contents .price_box_col2 .yen {
    font-size: 20px;
    font-weight: bold;
}

.price .price_contents .price_box_col2 .tax {
    display: block;
    font-size: 17px;
    color: #646464;
}

.price .price_contents .price_box4 {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-left: 50px;
}

.price .price_point {
    font-size: 18px;
    line-height: 1.7;
}

.price .price_point .item {
    display: flex;
    align-items: center;
    column-gap: 8px;
}

.price .price_point .item::before {
    content: "";
    display: block;
    width: 17px;
    height: 17px;
    background: url(../img/manual-site/icon_check.svg) no-repeat center right;
    background-size: cover;
}

.price .price_contents .btn_wrap {
    width: 618px;
    max-width: 100%;
    margin-top: 30px;
    padding-inline: 20px;
    margin-inline: auto;
}

.price .price_contents .btn_wrap .btn {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 100%;
    height: 130px;
    padding-right: 42px;
    font-size: 34px;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: #FFF;
    background: #DC4A54;
    border-radius: 20px;
}
.price .price_contents .btn_wrap .btn i {
    position: absolute;
    top: 50%;
    right: 24px;
    transform: translateY(-50%);
    font-size: 42px;
}
.price .price_contents .btn_wrap .btn_msg {
    margin-top: 25px;
    font-size: 17px;
    color: #646464;
    text-align: center;
}

@media screen and (max-width: 1101px) {
    .price .section_contents {
        position: relative;
        margin-top: 9.535vw;
    }

    .price .price_label {
        position: absolute;
        top: -3.256vw;
        left: 50%;
        transform: translateX(-50%);
        display: flex;
        align-items: center;
        justify-content: center;
        width: 23.488vw;
        height: 6.512vw;
        font-size: 3.488vw;
        font-weight: 700;
        line-height: 1.19;
        color: #FFF;
        background: #DC4A54;
        border-radius: 9999px;
    }

    .price .price_contents {
        padding: 6.047vw 6.047vw 10.372vw;
        background: #F9F8F6;
        border-radius: 2.326vw;
    }

    .price .price_contents .price_wrap {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: 1fr 25.581vw 25.581vw;
        grid-column-gap: 3.721vw;
        grid-row-gap: 2.326vw;
        width: 100%;
        padding-inline: 0;
        max-width: 100%;
        margin-inline: auto;
    }

    .price .price_contents .price_box {
        background: #FFF;
        border-radius: 2.326vw;
    }

    .price .price_contents .price_box1 { grid-area: 1 / 1 / 2 / 3; }
    .price .price_contents .price_box2 { grid-area: 2 / 1 / 3 / 2; }
    .price .price_contents .price_box3 { grid-area: 2 / 2 / 3 / 3; }
    .price .price_contents .price_box4 { grid-area: 3 / 1 / 4 / 3; }

    .price .price_contents .price_box1 {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 1.628vw;
        padding: 3.488vw 0 3.953vw;
        border: 2px solid #FFB000;
    }

    .price .price_contents .price_box1 .title {
        font-size: 4.651vw;
        font-weight: 700;
    }

    .price .price_contents .price_box1 .price {
        font-size: 11.628vw;
        font-weight: bold;
        font-family: "Helvetica","Noto Sans JP",sans-serif;
        color: #FFB000;
    }

    .price .price_contents .price_box1 .price .yen {
        font-size: 3.256vw;
        font-weight: 700;
    }

    .price .price_contents .price_box1 .exp {
        font-size: 2.558vw;
        line-height: 1.4;
        text-align: center;
        color: #646464;
    }

    .price .price_contents .price_box_col2 {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }

    .price .price_contents .price_box_col2 .title {
        font-size: 2.791vw;
        color: #646464;
    }

    .price .price_contents .price_box_col2 .price {
        margin-top: 2.791vw;
        font-size: 4.651vw;
        font-weight: bold;
        font-family: "Helvetica","Noto Sans JP",sans-serif;
        line-height: 1.2;
        text-align: center;
    }

    .price .price_contents .price_box_col2 .yen {
        font-size: 2.791vw;
        font-weight: bold;
    }

    .price .price_contents .price_box_col2 .tax {
        display: block;
        font-size: 2.558vw;
        color: #646464;
    }

    .price .price_contents .price_box4 {
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding-left: 6.395vw;
    }

    .price .price_point {
        font-size: 3.256vw;
        line-height: 1.7;
    }

    .price .price_point .item {
        display: flex;
        align-items: center;
        column-gap: 1.163vw;
    }

    .price .price_point .item::before {
        content: "";
        display: block;
        width: 2.791vw;
        height: 2.791vw;
        background: url(../img/manual-site/icon_check.svg) no-repeat center right;
        background-size: cover;
    }

    .price .price_contents .btn_wrap {
        width: 100%;
        max-width: 100%;
        margin-top: 2.326vw;
        padding-inline: 0;
        margin-inline: auto;
    }

    .price .price_contents .btn_wrap .btn {
        display: flex;
        align-items: center;
        justify-content: center;
        position: relative;
        width: 100%;
        height: 17.523vw;
        padding-right: 8.372vw;
        font-size: 4.651vw;
        font-weight: 700;
        letter-spacing: 0.02em;
        color: #FFF;
        background: #DC4A54;
        border-radius: 2.326vw;
    }
    .price .price_contents .btn_wrap .btn i {
        position: absolute;
        top: 50%;
        right: 3.326vw;
        transform: translateY(-50%);
        font-size: 5.726vw;
    }
    .price .price_contents .btn_wrap .btn_msg {
        margin-top: 2.093vw;
        font-size: 2.791vw;
        color: #646464;
        text-align: center;
    }
}

/*===================================
step
===================================*/
.step {
    background: rgba(251,203,96,0.1);
}

.step .section_contents {
    margin-top: 90px;
}

.step .step_list {
    display: flex;
    flex-direction: column;
    gap: 127px;
}

.step .step_list .item {
    position: relative;
    display: flex;
    align-items: center;
    column-gap: 55px;
    padding: 51px 20px 48px 82px;
    background: #FFF;
    border-radius: 20px;
    border: 1px solid #FBCB60;
}

.step .step_list .item:after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -97px;
    transform: translateX(-50%);
    width: 66px;
    height: 67px;
    background: url(../img/manual-site/arrow_step_down_pc.svg) no-repeat center right;
    background-size: cover;
}

.step .step_list .item:last-of-type::after {
    display: none;
}

.step .step_list .label {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 183px;
    height: 183px;
    border: 3px solid #FBCB60;
    border-radius: 50%;
    background: #FFF;
}

.step .step_list .label .label_inner {
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

.step .step_list .label .label_inner span:nth-of-type(1){
    font-size: 30px;
    font-weight: bold;
    font-family: "Helvetica","Noto Sans JP",sans-serif;
    color: #FBCB60;
    line-height: 1;
}

.step .step_list .label .label_inner span:nth-of-type(2){
    margin-bottom: -4px;
    font-size: 60px;
    font-weight: bold;
    font-family: "Helvetica","Noto Sans JP",sans-serif;
    color: #FBCB60;
    line-height: 1;
}

.step .step_list .item .label:before {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;
}

.step .step_list .item:nth-of-type(1) .label:before {
    top: -30.8px;
    width: 94px;
    height: 75px;
    background: url(../img/manual-site/step_icon1_pc.webp) no-repeat center center;
    background-size: cover;
}

.step .step_list .item:nth-of-type(2) .label:before {
    top: -36.2px;
    width: 76px;
    height: 88px;
    background: url(../img/manual-site/step_icon2_pc.webp) no-repeat center center;
    background-size: cover;
}

.step .step_list .item:nth-of-type(3) .label:before {
    top: -29.4px;
    width: 86px;
    height: 86px;
    background: url(../img/manual-site/step_icon3_pc.webp) no-repeat center center;
    background-size: cover;
}

.step .step_list .item:nth-of-type(4) .label:before {
    top: -27.9px;
    width: 84px;
    height: 98px;
    background: url(../img/manual-site/step_icon4_pc.webp) no-repeat center center;
    background-size: cover;
}

.step .step_list .item:nth-of-type(5) .label:before {
    top: -6px;
    width: 113px;
    height: 73px;
    background: url(../img/manual-site/step_icon5_pc.webp) no-repeat center center;
    background-size: cover;
}

.step .step_list .title {
    font-size: 40px;
    font-weight: 700;
    line-height: 1.2;
}

.step .step_list .item.step_list_final {
    background: #FBCB60;
}

.step .step_list .item.step_list_final .label {
    border-color: #FFF;
}

.step .step_list .item.step_list_final .label .label_inner:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: calc(100% - 12px);
    height: calc(100% - 12px);
    border-radius: 50%;
    border: 6px solid #FBCB60;
}

@media screen and (max-width: 1101px) {
    .step .section_contents {
        margin-top: 11.628vw;
    }

    .step .step_list {
        display: flex;
        flex-direction: column;
        gap: 12.093vw;
    }

    .step .step_list .item {
        position: relative;
        display: flex;
        align-items: center;
        column-gap: 6.047vw;
        padding: 5.116vw 6.977vw 4.651vw 9.767vw;
        background: #FFF;
        border-radius: 2.326vw;
        border: 1px solid #FBCB60;
    }

    .step .step_list .item:after {
        content: "";
        position: absolute;
        left: 50%;
        bottom: -9.372vw;
        transform: translateX(-50%);
        width: 6.279vw;
        height: 6.512vw;
        background: url(../img/manual-site/arrow_step_down_pc.svg) no-repeat center right;
        background-size: cover;
    }

    .step .step_list .item:last-of-type::after {
        display: none;
    }

    .step .step_list .label {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 17.416vw;
        height: 17.416vw;
        border: 1px solid #FBCB60;
        border-radius: 50%;
        background: #FFF;
    }

    .step .step_list .label .label_inner span:nth-of-type(1){
        font-size: 2.791vw;
        font-weight: bold;
        font-family: "Helvetica","Noto Sans JP",sans-serif;
        color: #FBCB60;
        line-height: 1;
    }

    .step .step_list .label .label_inner span:nth-of-type(2){
        margin-bottom: -0.93vw;
        font-size: 5.581vw;
        font-weight: bold;
        font-family: "Helvetica","Noto Sans JP",sans-serif;
        color: #FBCB60;
        line-height: 1;
    }

    .step .step_list .item .label:before {
        content: "";
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        z-index: 1;
    }

    .step .step_list .item:nth-of-type(1) .label:before {
        top: -1.884vw;
        width: 9.07vw;
        height: 7.209vw;
        background: url(../img/manual-site/step_icon1_sp.webp) no-repeat center center;
        background-size: cover;
    }

    .step .step_list .item:nth-of-type(2) .label:before {
        top: -3.093vw;
        width: 7.442vw;
        height: 8.372vw;
        background: url(../img/manual-site/step_icon2_sp.webp) no-repeat center center;
        background-size: cover;
    }

    .step .step_list .item:nth-of-type(3) .label:before {
        top: -2.651vw;
        width: 8.372vw;
        height: 8.372vw;
        background: url(../img/manual-site/step_icon3_sp.webp) no-repeat center center;
        background-size: cover;
    }

    .step .step_list .item:nth-of-type(4) .label:before {
        top: -2.814vw;
        width: 7.907vw;
        height: 9.302vw;
        background: url(../img/manual-site/step_icon4_sp.webp) no-repeat center center;
        background-size: cover;
    }

    .step .step_list .item:nth-of-type(5) .label:before {
        top: -0.558vw;
        width: 10.698vw;
        height: 6.744vw;
        background: url(../img/manual-site/step_icon5_sp.webp) no-repeat center center;
        background-size: cover;
    }

    .step .step_list .title {
        font-size: 4.186vw;
        font-weight: 700;
        line-height: 1.2;
    }

    .step .step_list .item.step_list_final {
        background: #FBCB60;
    }

    .step .step_list .item.step_list_final .label {
        border-color: #FFF;
    }

    .step .step_list .item.step_list_final .label .label_inner:before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: calc(100% - 4px);
        height: calc(100% - 4px);
        border-radius: 50%;
        border: 2px solid #FBCB60;
    }
}

/*===================================
faq
===================================*/
.faq .section_contents {
    margin-top: 87px;
}

.faq .faq_list {
    display: grid;
    grid-template-columns: 1fr;
    row-gap: 30px;
}

.faq .faq_list .item {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 15px;
    padding: 60px 20px 60px 100px;
    background: #F9F8F6;
    border-radius: 20px;
}

.faq .faq_list .faq_q {
    display: flex;
    align-items: center;
    column-gap: 11px;
    font-size: 24px;
    font-weight: bold;
    letter-spacing: 0.01em;
}

.faq .faq_list .faq_q:before {
    content: "Q.";
    display: inline-block;
    font-size: 40px;
    font-family: "Helvetica","Noto Sans JP",sans-serif;
    color: #FBCB60;
}

.faq .faq_list .faq_a {
    display: flex;
    align-items: center;
    column-gap: 11px;
    font-size: 20px;
    letter-spacing: 0.01em;
}

.faq .faq_list .faq_a:before {
    content: "A.";
    display: inline-block;
    font-size: 20px;
}

@media screen and (max-width: 1101px) {
    .faq .section_contents {
        margin-top: 9.302vw;
    }

    .faq .faq_list {
        display: grid;
        grid-template-columns: 1fr;
        row-gap: 2.326vw;
    }

    .faq .faq_list .item {
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: 2.326vw;
        padding: 4.651vw 3.488vw 4.884vw 3.488vw;
        background: #F9F8F6;
        border-radius: 20px;
    }

    .faq .faq_list .faq_q {
        display: flex;
        align-items: center;
        column-gap: 0.698vw;
        font-size: 3.256vw;
        font-weight: bold;
        letter-spacing: 0.01em;
    }

    .faq .faq_list .faq_q:before {
        content: "Q.";
        display: inline-block;
        font-size: 4.651vw;
        font-family: "Helvetica","Noto Sans JP",sans-serif;
        color: #FBCB60;
    }

    .faq .faq_list .faq_a {
        display: flex;
        align-items: center;
        column-gap: 0.93vw;
        font-size: 3.023vw;
        letter-spacing: 0.01em;
        padding-left: 1.395vw;
        line-height: 1.1;
    }

    .faq .faq_list .faq_a:before {
        content: "A.";
        display: inline-block;
        font-size: 3.023vw;
    }
}


/*===================================
cta
===================================*/
.cta {
    padding-block: 46px;
    background: #FBCB60;
}

.cta .cta_inner {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 776px;
    background: url(../img/manual-site/cta_bg_pc.webp) no-repeat center center;
    background-size: cover;
}

.cta .cta_panel {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding-block: 52px 96px;
    background: rgba(255,255,255,0.88);
}

.cta .cta_panel .title {
    font-size: 50px;
    font-weight: 700;
}

.cta .cta_panel .title strong {
    color: #FFB000;
}

.cta .cta_panel .summary {
    margin-top: 40px;
    font-size: 30px;
    font-weight: 700;
}

.cta .cta_panel .btn_wrap {
    margin-top: 42px;
    width: 578px;
}

.cta .cta_panel .btn_wrap .btn {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    column-gap: 25px;
    padding-right: 37px;
    width: 100%;
    height: 130px;
    color: #FFF;
    background: #DC4A54;
    border-radius: 1.04vw;
}

.cta .cta_panel .btn_wrap .btn .btn_main {
    font-size: 34px;
    font-weight: 700;
    text-align: center;
    letter-spacing: 0.02em;
    line-height: 1.18;
}
.cta .cta_panel .btn_wrap .btn i {
    position: absolute;
    top: 50%;
    right: 52px;
    transform: translateY(-50%);
    font-size: 42px;
}

.cta .cta_panel .btn_wrap .btn_msg {
    margin-top: 14px;
    text-align: center;
    font-size: 23px;
    font-weight: 700;
}

@media screen and (max-width: 1101px) {
    .cta {
        padding-block: 2.047vw;
        background: #FBCB60;
    }

    .cta .cta_inner {
        display: flex;
        align-items: center;
        justify-content: center;
        height: 90.047vw;
        background: url(../img/manual-site/cta_bg_sp.webp) no-repeat center center;
        background-size: cover;
    }

    .cta .cta_panel {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        padding-block: 5.349vw 7.512vw;
        background: rgba(255,255,255,0.88);
    }

    .cta .cta_panel .title {
        font-size: 4.651vw;
        font-weight: 700;
    }

    .cta .cta_panel .title strong {
        color: #FFB000;
    }

    .cta .cta_panel .summary {
        margin-top: 4.651vw;
        font-size: 3.256vw;
        font-weight: 700;
    }

    .cta .cta_panel .btn_wrap {
        margin-top: 4.651vw;
        width: 74.186vw;
    }

    .cta .cta_panel .btn_wrap .btn {
        display: flex;
        align-items: center;
        justify-content: center;
        position: relative;
        column-gap: 2.093vw;
        padding-right: 7.544vw;
        width: 100%;
        height: 16.686vw;
        color: #FFF;
        background: #DC4A54;
        border-radius: 2.326vw;
    }

    .cta .cta_panel .btn_wrap .btn .btn_main {
        font-size: 4.651vw;
        font-weight: 700;
        text-align: center;
        letter-spacing: 0.02em;
        line-height: 1.18;
    }
    .cta .cta_panel .btn_wrap .btn i {
        position: absolute;
        top: 50%;
        right: 6.767vw;
        transform: translateY(-50%);
        font-size: 5.451vw;
    }

    .cta .cta_panel .btn_wrap .btn_msg {
        margin-top: 1.628vw;
        text-align: center;
        font-size: 3.256vw;
        font-weight: 700;
    }
}
