@charset "UTF-8";

@media screen and (max-width:751px) {

    .pc_br {
        display: none;
    }

    .sp_br {
        display: block;
    }

    header .btn_box {
        display: none;
    }

    p {
        font-size: max(3.720vw, 16px);
    }

    .fv {
        height: 688px;
        max-height: 688px;
        background-image: url(../img/fv_sp.webp);
    }

    .header_wrapper {
        height: 56px;
    }

    .logo {
        width: 38px;
    }

    .fv_box,
    .fv_txt ul {
        flex-direction: column;
    }

    .fv_box {
        width: 90%;
        max-width: initial;
        height: initial;
        max-height: initial;
        padding-top: 90px;
        margin-bottom: 20px;
    }

    .fv_box > div {
        width: 100%;
    }

    .fv_img {
        text-align: end;
    }

    .fv_img img {
        width: 294px;
    }

    .fv_txt ul li {
        padding-left: 30px;
        font-size: max(3.720vw, 16px);
    }

    .fv_txt ul li::before {
        width: 20px;
        height: 20px;
    }

    h1 {
        font-size: 48px;
        margin: 25px 0;
    }

    h1 span {
        font-size: 23px;
    }

    .cta_txt {
        font-size: max(3.023vw, 13px);
    }
    
    .btn_box {
        flex-direction: column;
        align-items: center;
        gap: 24px;
    }

    .btn_bg_purple > div {
        padding: 16px 48px;
    }

    .btn_box span  {
        font-size: max(3.720vw, 16px);
    }
    
    .cta_register {
        font-size: max(3.023vw, 13px);
    }

    .worry .wrapper {
        height: 353.25vw;
        background-image: url(../img/worry_bg_sp.webp);
    }

    .wrapper {
        padding: 50px 16px;
        width: initial;
    }
    
    h2 {
        font-size: max(6.511vw, 28px);
        font-size: 6.511vw;
        margin-bottom: 8vw;
    }

    .worry h2 {
        top: 15vw;
    }

    .worry p {
        position: absolute;
        font-size: max(3.720vw, 16px);
        font-size: 3.720vw;
        top: initial;
        left: 0;
        right: 0;
        margin: auto;
    }

    .worry .worry_txt01 {
        width: 60%;
        top: 49vw;
    }
    .worry .worry_txt02 {
        width: 52%;
        top: 158vw;
    }
    .worry .worry_txt03 {
        width: 60%;
        top: 262vw;
    }

    .achievements .wrapper {
        width: 100%;
        padding-left: 16px;
        padding-right: 0;
        padding-bottom: 80px;
    }

    .achievements_item {
        margin-left: 15px;
    }

    .achievements_item h3 {
        font-size: max(5.348vw, 23px);
    }

    .achievements_item h3 span {
        font-size: max(3.720vw, 16px);
    }

    .achievements_item_txt h4 {
        font-size: max(3.023vw, 13px);
    }

    .achievements_item_txt p {
        font-size: max(3.720vw, 16px);
    }

    .achievements_item_price h4 {
        font-size: max(3.023vw, 13px);
    }

    .achievements_item_price p {
        font-size: max(5.348vw, 23px);
    }

    .achievements_item_price p span {
        font-size: max(7.674vw, 33px);
    }

    .estate {
        background-image: url(../img/estate_bg_sp.webp);
    }

    .estate_item {
        flex-direction: column;
        padding: 30px 20px;
    }

    .estate_item > div {
        width: 100%;
    }
    
    .point {
        text-align: center;
        font-size: max(6.511vw, 28px);
    }

    .point span {
        font-size: max(11.16vw, 48px);
    }

    .estate_item_txt h3 {
        text-align: center;
        font-size: max(5.348vw, 23px);
        margin: 20px 0;
    }

    .estate_item_img.sp_br {
        width: 100%;
    }

    .estate_item_txt p {
        width: 100%;
        margin-top: 30px;
    }

    .about {
        background-image: url(../img/about_bg_sp.webp);
    }

    .about .wrapper {
        padding: 50px 16px;
        width: initial;
    }

    .about .contents {
        padding: 25px;
    }
    
    .about .contents p{
        width: 100%;
    }
    
    .slide-arrow {
        display: none!important;
    }

    .feature_img img {
        width: 80%;
        margin: auto;
    }

    .feature_box {
        flex-direction: column;
        width: 90%;
        gap: 50px;
    }

    .feature_item {
        width: 100%;
    }

    .feature_item h3 {
        font-size: max(6.511vw, 28px);
    }

    .feature_item_box li {
        font-size: max(4.418vw, 19px);
        font-size: 4.418vw;
        padding-left: max(9.302vw, 40px);
        padding-left: 9.302vw;
        margin: 30px 0;
    }

    .feature_item_box li::before {
        width: max(7.441vw, 32px);
        height: max(7.441vw, 32px);
        font-size: max(4.418vw, 19px);
        line-height: max(7.441vw, 32px);
    }

    .feature_item_box {
        width: 85%;
        margin: auto;
    }

    .feature_item_box li span {
        font-size: max(3.023vw, 13px);
    }

    .can {
        background-image: url(../img/can_bg_sp.webp);
    }

    .can_item {
        width: 90%;
    }

    .can_item h3 {
        font-size: max(4.418vw, 19px);
        font-size: 4.418vw;
    }

    .can_item h3 span {
        text-align: left;
        padding-left: 3vw;
    }

    .can_item h3 span::before {
        font-size: max(4.418vw, 19px);
        width: max(7.441vw, 32px);
        height: max(7.441vw, 32px);
        line-height: max(7.441vw, 32px);
        text-align: center;
        left: -6vw;
    }

    .can_box {
        width: 100%;
    }

    .suggestion h2 {
        font-size: 4.418vw;
    }

    .suggestion h2 span::before, .suggestion h2 span::after {
        width: min(7.441vw, 32px);
        height: min(13.48vw, 58px);
    }

    .suggestion h2 span::before {
        left: -9vw;
        background-image: url(../img/suggestion_dec_left_sp.webp);
    }

    .suggestion h2 span::after {
        background-image: url(../img/suggestion_dec_right_sp.webp);
        top: initial;
        bottom: -3vw;
        right: -9vw;
        transform: rotate(0);
    }

    .suggestion_item {
        flex-direction: column;
    }

    .suggestion_item > div {
        width: 100%;
    }

    .suggestion .wrapper {
        padding: 50px 16px;
    }

    .suggestion_txt h3 {
        font-size: max(4.651vw, 20px);
        margin-top: 30px;
    }

    .suggestion_txt h3::before {
        display: none;
    }

    .suggestion_item:last-child {
        flex-direction: column-reverse;
    }

    .suggestion_txt_note,
    .suggestion_txt_note li {
        padding-left: 0;
        font-size: max(2.558vw, 11px);
    }

    .suggestion_bottom h3 {
        font-size: max(6.511vw, 28px);
        font-size: 6.511vw;
    }

    .suggestion_bottom p {
        text-align: left;
    }

    .suggestion_bottom::before {
        left: -16px;
        width: calc(100% + 32px);
        height: 100vw;
        background-image: url(../img/suggestion_bottom_bg_sp.webp);
        z-index: -1;
    }

    .review {
        background-image: url(../img/review_bg_sp.webp);
    }

    .review .wrapper {
        padding: 50px 0 80px 0;
        padding-left: 16px;
    }

    .review_item {
        margin: 15vw 10px 0 10px;
        height: initial;
        padding: 12.09vw 5.581vw 9.302vw 5.581vw;
        min-height: 75.58vw;
        max-height: 326px;
    }

    .person {
        top: -12.5vw;
    }

    .person img {
        width: 22.32vw;
    }

    .review_item h3 {
        font-size: max(3.720vw, 16px);
    }

    .age {
        font-size: max(3.023vw, 13px);
    }

    .evaluation {
        margin: 2vw 0 4.186vw 0;
    }

    .evaluation img {
        width: 40vw;
    }

    .slick-dots li {
        margin: 0;
    }

    .slick-dots li button:before {
        color: #FFF;
    }

    .slick-dots li.slick-active button:before {
        color: #FFF;
    }

    .slick-dots li button:before {
        font-size: 12px;
    }

    .slick-dots li.slick-active button:before {
        font-size: 16px;
    }

    .slick-dots {
        bottom: -85px;
    }

    .message {
        background-image: initial;
    }

    .message_item {
        flex-direction: column;
    }

    .message_item > div {
        width: 100%;
    }

    .message_txt h3 {
        font-size: max(5.348vw, 23px);
        margin-top: 20px;
    }

    .message_txt h3 span {
        font-size: max(3.721vw, 16px);
    }

    .message_item:last-child {
        flex-direction: column-reverse;
    }

    .message_txt_p {
        margin-bottom: 30px;
    }

    .message_txt_profile {
        font-size: max(3.023vw, 13px);
    }

    .message_txt_profile span {
        margin-top: 2vw;
        font-size: max(3.023vw, 13px);
    }

    .flow_img img {
        width: 70%;
        margin: auto;
    }

    footer {
        background-image: url(../img/footer_bg_sp.webp);
    }

    .accordion_one {
        padding: 5.581vw 3.721vw;
    }

    .accordion_header {
        font-size: max(4.418vw, 19px);
    }

    .accordion_header span {
        font-size: max(3.023vw, 13px);
    }

    .accordion_header::before {
        font-size: max(3.023vw, 13px);
        width: max(14.88vw, 64px);
        height: max(8.139vw, 35px);
    }
    .accordion_header, .accordion_inner {
        padding-left: 19vw;
    }

    .accordion_inner {
        font-size: max(3.720vw, 16px);
    }

    footer .wrapper {
        padding: 23.25vw 16px 60px 16px;
    }

    .footer_menu span {
        font-size: max(4.418vw, 19px);
    }

    .footer_menu_ul {
        flex-direction: column;
        gap: 3.953vw;
    }

    .footer_menu_ul li {
        font-size: max(3.720vw, 16px);
        margin-left: 0;
    }

    .footer_menu {
        margin: 8.372vw 0;
    }

    .footer_txt {
        padding-top: 8.372vw;
    }

    .copyright {
        font-size: max(3.023vw, 13px);
    }

    button.more {
        width: max(32.55vw, 140px);
    }

    button.more::before {
        font-size: max(3.720vw, 16px);
    }

    .note {
        padding-bottom: 20px;
    }

    .fv_note {
        font-size: 10px;
        color: #9797A5;
        text-align: center;
        margin-right: 0;
    }
}

