/*--------------------------------------------------------------------- File Name: responsive.css ---------------------------------------------------------------------*/


/*------------------------------------------------------------------- 991px x 768px ---------------------------------------------------------------------*/

@media only screen and (min-width: 768px) and (max-width: 991px) {
    .header-search {
        padding: 15px 0px;
    }
}


/*------------------------------------------------------------------- 767px x 599px ---------------------------------------------------------------------*/

@media only screen and (min-width: 599px) and (max-width: 767px) {
    .logo {
        text-align: center;
    }

    .cart-content-right {
        padding-bottom: 5px;
    }

    .mg {
        margin: 0px 0px;
    }

    .menu-area-main {
        height: 256px;
        overflow-y: auto;
    }

    .megamenu>.row [class*="col-"] {
        padding: 0px;
    }

    .menu-area-main .megamenu .men-cat {
        padding: 0px 15px;
    }

    .menu-area-main .megamenu .women-cat {
        padding: 0px 15px;
    }

    .menu-area-main .megamenu .el-cat {
        padding: 0px 15px;
    }

    .mean-container .mean-nav ul li a.mean-expand {
        height: 19px;
    }

    .category-box.women-box {
        display: none;
    }

    .cart-box {
        display: inline-block;
        margin: 0px 30px;
    }

    .wish-box {
        float: none;
        margin: 0px 30px;
        display: inline-block;
    }

    .menu-add {
        display: none;
    }

    .category-box {
        display: none;
    }

    .mean-container .mean-nav ul li ol {
        padding: 0px;
    }

    .mean-container .mean-nav ul li a {
        padding: 10px 20px;
        width: 94.8%;
    }

    .mean-container .mean-nav ul li li a {
        width: 92%;
        padding: 1em 4%;
    }

    .mean-container .mean-nav ul li li li a {
        width: 100%;
    }

    .header-search {
        padding: 15px 0px;
    }

    #collapseFilter.d-md-block {
        padding: 30px 0px;
    }
}


/*------------------------------------------------------------------- 599px x 280px ---------------------------------------------------------------------*/

@media only screen and (min-width: 280px) and (max-width: 599px) {
    .cart-content-right {
        padding-bottom: 5px;
    }

    .megamenu>.row [class*="col-"] {
        padding: 0px;
    }

    .menu-area-main .megamenu .men-cat {
        padding: 0px 15px;
    }

    .menu-area-main .megamenu .women-cat {
        padding: 0px 15px;
    }

    .menu-area-main .megamenu .el-cat {
        padding: 0px 15px;
    }

    .mean-container .mean-nav ul li a {
        padding: 1em 4%;
        width: 92%;
    }

    .mean-container .mean-nav ul li li a {
        width: 90%;
        padding: 1em 5%;
    }

    .mean-container .sub-full.megamenu-categories ol li a {
        padding: 5px 0px;
        text-transform: capitalize;
        width: 100%;
    }

    .megamenu .sub-full.megamenu-categories .women-box .banner-up-text a {
        width: auto;
        border: none;
        float: none;
    }

    .menu-area-main {
        height: 45px;
        overflow-y: auto;
    }

    .mean-container .mean-nav ul li a.mean-expand {
        top: 0;
    }
}

@media (min-width: 992px) and (max-width: 1199px) {

    .ml-auto,
    .mx-auto {
        margin: 0 auto;
    }

    .navbar-expand-lg .navbar-nav .nav-link {
        padding-right: 5px;
        padding-left: 5px;
        font-size: 14px;
    }

    .login_text li {
        font-size: 14px;
        padding: 0px 10px;
    }

    .quote_btn {
        width: 140px;
    }

    .quote_btn a {
        font-size: 14px;
    }

    #my_slider a.carousel-control-prev {
        left: inherit;
        top: 180px;
        right: 30px;
    }

    #my_slider a.carousel-control-next {
        right: 30px;
        top: 120px;
        left: initial;
    }

    .services_section_2 {
        width: 98%;
    }

    .development_text {
        font-size: 20px;
    }

    .service_img img {
        min-height: 30px;
    }

    .about_taital {
        padding-top: 40px;
    }

    #costum_slider a.carousel-control-next {
        right: -60px;
        left: 0px;
        top: 550px;
    }

    #costum_slider a.carousel-control-prev {
        left: -60px;
        right: 0px;
        top: 550px;
    }

    .mail_section_1 {
        padding-left: 15px;
        padding-top: 0px;
    }

    .location_text li {
        padding: 0px 90px 30px 90px;
    }

    .useful_text {
        font-size: 20px;
    }
}

@media (min-width: 768px) and (max-width: 991px) {
    #my_slider a.carousel-control-prev {
        left: 30px;
        top: 180px;
        right: 0px;
        display: none;
    }

    #my_slider a.carousel-control-next {
        right: 0px;
        top: 120px;
        left: 30px;
        display: none;
    }

    .header_top_section {
        display: none;
    }

    .navbar-expand-lg .navbar-nav .nav-link {
        text-align: center;
        margin-top: 0px;
    }

    .navbar-toggler {
        background-color: #fff;
    }

    .header_section {
        background-size: cover;
    }

    .logo {
        width: auto;
    }

    .banner_taital_main {
        width: 80%;
    }

    .banner_taital {
        font-size: 50px;
        line-height: 55px;
    }

    .about_text {
        font-size: 14px;
        margin: 0px;
    }

    .about_taital {
        padding-top: 0px;
    }

    .video_bt {
        width: 100%;
        padding: 120px 0px;
    }

    .projects_section ul .nav-link {
        padding: 12px 9px;
        margin: 0px 5px;
        width: auto;
    }

    .image {
        min-height: auto;
        margin-top: 30px;
    }

    .testimonial_section_2 {
        width: 100%;
        padding-top: 30px;
    }

    #costum_slider a.carousel-control-next {
        top: 560px;
    }

    #costum_slider a.carousel-control-prev {
        top: 560px;
    }

    .textimonial_text {
        padding: 40px 20px;
    }

    .testimonial_section {
        padding: 90px 0px 150px 0px;
    }

    .contact_taital {
        padding-left: 0px;
    }

    .mail_section_1 {
        padding-left: 0px;
        padding-top: 0px;
    }

    .contact_img {
        margin-top: 30px;
    }

    .location_text li {
        padding: 0px 50px 30px 50px;
    }

    .useful_text {
        font-size: 14px;
    }

    .lorem_text {
        font-size: 14px;
    }

    .footer_menu {
        width: 100%;
    }
}

@media (min-width: 576px) and (max-width: 767px) {
    #my_slider a.carousel-control-prev {
        left: 30px;
        top: 180px;
        right: 0px;
        display: none;
    }

    #my_slider a.carousel-control-next {
        right: 0px;
        top: 120px;
        left: 30px;
        display: none;
    }

    .header_top_section {
        display: none;
    }

    .navbar-expand-lg .navbar-nav .nav-link {
        text-align: center;
        margin-top: 0px;
    }

    .navbar-toggler {
        background-color: #fff;
    }

    .header_section {
        background-size: cover;
    }

    .logo {
        width: auto;
    }

    .banner_taital_main {
        width: 100%;
    }

    .banner_taital {
        font-size: 50px;
        line-height: 55px;
    }

    .about_text {
        font-size: 14px;
    }

    .about_taital {
        padding-top: 0px;
    }

    .video_bt {
        width: 100%;
        padding: 60px 0px;
    }

    .about_img {
        margin-top: 30px;
    }

    .projects_section ul .nav-link {
        padding: 12px 5px;
    }

    .image {
        min-height: auto;
        margin-top: 30px;
    }

    .testimonial_section_2 {
        width: 100%;
        padding-top: 30px;
    }

    #costum_slider a.carousel-control-next {
        display: none;
    }

    #costum_slider a.carousel-control-prev {
        display: none;
    }

    .textimonial_text {
        padding: 40px 20px;
    }

    .testimonial_section {
        padding: 90px 0px 90px 0px;
    }

    .contact_taital {
        padding-left: 0px;
    }

    .mail_section_1 {
        padding-left: 0px;
        padding-top: 0px;
    }

    .contact_img {
        margin-top: 30px;
    }

    .location_text li {
        float: none;
        padding: 0px 20px 30px 20px;
    }

    .useful_text {
        padding-top: 20px;
        font-size: 20px;
    }
}

@media (max-width: 767px) {
    p {
        font-size: 4.1vw;
    }

    .d-sp-none {
        display: none;
    }

    .bg_top {
        position: relative;
    }

    .header_top_main {
        padding: 0;
        transform: none;
        align-items: center;
    }

    .header_top_section {
        padding: 10px 0 13px;
    }

    .header_top_section .col-sm-12 {
        padding: 0 2vw;
    }

    .header_top_section img {
        width: 43vw !important;
    }

    .banner_section .intro_service_title {
        font-size: 4vw;
        margin-bottom: 0;
        text-indent: .5em;
    }

    .header_top_main .btn_wrapper {
        padding: 0;
    }

    .header_top_main .btn_wrapper a {
        font-size: 3.8vw;
        padding: 6vw 3.5vw 0;
        writing-mode: vertical-rl;
        border-top-left-radius: 6px;
        border-bottom-right-radius: 0;
        position: absolute;
        width: 12.3vw;
        height: 28vw;
        right: 0;
        z-index: 9;
    }

    .navbar-expand-lg .navbar-nav .nav-link {
        text-align: center;
        margin-top: 0px;
    }

    .navbar-toggler {
        background-color: #fff;
    }

    .header_section {
        background-size: cover;
        background-image: none;
        padding: 0;
        height: auto;
    }

    .header_top_main .call_text {
        margin-top: 0;
    }

    .topbar img {
        width: 92.5vw;
        transform: translateX(-52%);
    }

    .section_title {
        font-size: 6vw;
    }

    .section_title:after {
        width: 15.3vw;
        margin-top: 4.8vw;
    }

    .point .section_title {
        font-size: 6vw;
    }

    .section_subtitle {
        font-size: 7.7vw;
        margin: 7vw 0 0;
    }

    .underline-yellow {
        text-decoration-thickness: 2.5vw;
    }

    .problem {
        margin-top: 7.4vw;
    }

    .problem .problem_inner {
        max-width: 85vw;
        transform: none;
    }

    .problem .trouble_title {
        font-size: 5.6vw;
        width: 100%;
        line-height: 1.6;
        position: relative;
        z-index: 9;
    }

    .problem .trouble_text {
        margin: 10vw 0 7vw;
        width: 100%;
    }

    .problem .trouble {
        margin-top: 9vw;
        flex-direction: column;
    }

    .problem .trouble_desc {
        margin-top: 0;
        line-height: 1.8;
        font-size: 3.8vw;
    }

    .problem .deco {
        width: 100%;
        height: 73.5vw;
    }

    .problem .deco:before {
        width: 46vw;
        height: 40vw;
        background-image: url(../images/trouble_bg_sp.png);
        right: 0;
        top: 0;
        left: auto;
        transform: translateY(-100%);
    }

    .problem .trouble_inner {
        flex-direction: column;
        width: 89.7%;
        margin: auto;
    }

    .problem .trouble_detail {
        width: 100%;
        margin-top: 7.4vw;
        padding: 0;
    }

    .problem .trouble_media {
        width: 100%;
        display: flex;
        align-items: center;
    }

    .problem .trouble_media img {
        width: 33vw;
        position: absolute;
        right: -5vw;
        top: -12vw;
    }

    .problem .trouble_desc p:first-child {
        padding: 4.3vw 0;
        background-image: url(../images/trouble_bg1_sp.png);
    }

    .problem .trouble_detail:first-child .trouble_desc p:last-child {
        padding: 3.5vw 0 12.5vw;
        background-image: url(../images/trouble_bg2_sp.png);
    }

    .problem .trouble_detail:first-child img {
        margin-top: -5vw;
    }

    .problem .trouble_detail:last-child {
        margin-top: 9.2vw;
    }

    .problem .trouble_detail:last-child .trouble_desc p:first-child {
        background-image: url(../images/trouble_bg3_sp.png);
        padding: 4.3vw 0;
    }

    .problem .trouble_detail:last-child .trouble_desc p:last-child {
        background-image: url(../images/trouble_bg4_sp.png);
        padding: 4.5vw 0 13.5vw;
    }

    .problem .trouble_detail:last-child img {
        margin-top: -8vw;
    }

    .problem .trouble_detail_title {
        font-size: 5vw;
    }

    .problem .trouble_desc p {
        font-size: 3.8vw;
        line-height: 1.5;
    }

    .problem .trouble_desc p:before {
        width: 6.4vw;
        height: 6.4vw;
        top: 1vw;
    }

    .problem .trouble_desc p+p {
        margin-top: 2vw;
    }

    .bg1 {
        background-image: url(../images/bg_point_sp.png);
        margin: 10vw 0 0;
        padding: 15vw 0;
    }

    .recommend {
        margin-top: 8vw;
    }

    .recommend .recommend_title {
        margin-bottom: 0;
    }

    .recommend .recommend_title img {
        width: 82.5vw;
    }

    .recommend .recommend_text {
        margin: 6.4vw 0 0;
        font-size: 3.8vw;
    }

    .recommend .recommend_media {
        margin: 5vw 0 0;
    }

    .recommend .recommend_media img {
        width: 100%;
        margin: 0;
    }

    .solution {
        margin: 11.5vw auto 0;
        max-width: 86vw;
    }

    .solution .solution_logo {
        margin-top: 5vw;
    }

    .solution .solution_title {
        font-size: 4.5vw;
        margin-bottom: 0;
    }

    .solution .solution_logo p {
        margin-top: 5.6vw;
    }

    .solution .solution_desc .deco span {
        text-decoration: underline;
        text-decoration-thickness: 2.5vw;
        text-decoration-color: rgba(255, 232, 99, 1);
        text-underline-offset: -1vw;
    }

    .solution .solution_desc .deco:after {
        height: 2.5vw;
        bottom: -.5vw;
    }

    .solution .solution_title:before {
        width: 23vw;
        height: 12.8vw;
        top: -15vw;
    }

    .solution .solution_inner {
        border-radius: 2vw;
        padding: 20vw 5vw 8.5vw 5vw;
    }

    .solution .solution_desc {
        font-size: 3.6vw;
        line-height: 2;
        margin-top: 3vw;
        letter-spacing: -.05em;
    }

    .solution .solution_intro {
        margin-top: 7vw;
        flex-wrap: wrap;
    }

    .solution .solution_intro img {
        width: 78vw;
    }

    .solution .solution_detail:last-child {
        transform: translateX(-31.2vw);
    }

    .solution .solution_detail {
        width: 24.6vw;
        margin-bottom: 3vw;
    }

    .solution .solution_detail p {
        font-size: 3.5vw;
    }

    .solution .alsmart {
        margin-top: 11vw;
        width: 83%;
        padding: 8.9vw 4vw 7.9vw;
        background-image: url(../images/bg_alsmart_sp.png);
    }

    .solution .alsmart_title {
        font-size: 7vw;
    }

    .solution .alsmart_title small {
        font-size: 4.6vw;
    }

    .solution .alsmart_subtitle {
        font-size: 3vw;
    }

    .solution .elecom {
        flex-direction: column;
        margin-top: 8.4vw;
        align-items: center;
    }

    .solution .elecom_text {
        width: 100%;
        text-align: center;
    }

    .solution .elecom_text img {
        width: 33vw;
    }

    .solution .elecom_title {
        font-size: 4.1vw;
        margin: 2vw 0 0;
    }

    .solution .elecom_media {
        width: 100%;
        margin-top: 4vw;
    }

    .solution .elecom_desc {
        font-size: 3vw;
        margin-top: 2vw;
        display: flex;
        justify-content: space-between;
        width: 100%;
    }

    .solution .elecom_desc span:last-child {
        transform: translateX(-9vw);
    }

    .solution .alsmart_desc p {
        font-size: 3.3vw;
    }

    .solution .alsmart_desc {
        padding: 4vw;
        text-align: left;
        margin-top: 5vw;
    }

    .trial {
        padding: 0;
        margin-top: 15.6vw;
        background-image: url(../images/trial_bg_sp.png);
        background-size: 100%;
        background-repeat: no-repeat;
    }

    .trial:before {
        height: 26vw;
        background-image: url(../images/trial_sp.png);
    }

    .trial .title img {
        width: 85vw;
        margin-top: -4vw;
    }

    .trial .cloud_system {
        z-index: 9;
    }

    .trial .cloud_system img {
        width: 78.4vw;
        margin-top: 9vw;
    }

    .trial .free_trial_wrapper {
        margin-top: -9vw;
    }

    .free_trial_wrapper .free_trial {
        padding: 10vw 0;
    }

    .free_trial_wrapper .free_trial:before {
        width: 32.3vw;
        height: 28.2vw;
        right: 5vw;
        transform: translateY(-70%);
        z-index: 9;
    }

    .free_trial_wrapper .free_trial img {
        width: 75vw;
    }

    .free_trial_wrapper .free_trial p {
        margin: 4vw 0 0;
        font-size: 5vw;
    }

    .merit {
        margin-top: 28.9vw;
    }

    .merit .title p {
        font-size: 5.12vw;
        margin: 0;
    }

    .merit .title img {
        margin-top: 4.6vw;
        width: 74vw;
    }

    .merit .merit_detail {
        flex-direction: column;
        margin-top: 3.3vw;
    }

    .merit .merit_detail p {
        font-size: 3.8vw;
    }

    .merit .merit_detail p:first-child {
        background-image: url(../images/flemeal_bg1_sp.svg);
        width: 48.2vw;
        height: 31.3vw;
        padding-top: 5.6vw;
        padding-left: 1.5em;
        text-indent: -1.5em;
        margin-left: 4vw;
        position: relative;
    }

    .merit .merit_detail p:nth-child(2) {
        width: 62.3vw;
        height: 41.5vw;
        background-image: url(../images/flemeal_bg2_sp.svg);
        padding-top: 6vw;
        padding-left: 2vw;
        margin: -10vw 5vw 0 auto;
    }

    .merit .merit_detail p:nth-child(3) {
        width: 64.3vw;
        height: 38.2vw;
        background-image: url(../images/flemeal_bg3_sp.svg);
        margin: -15vw 0 0 4vw;
        padding-top: 3.8vw;
    }

    .multiple .detail {
        margin-left: 7.4vw;
        position: relative;
        z-index: 9;
    }

    .merit .merit_detail p:last-child {
        width: 54.6vw;
        height: 34.8vw;
        background-image: url(../images/flemeal_bg4_sp.svg);
        margin: -15vw 5.9vw 0 auto;
        padding-top: 3vw;
    }

    .multiple .multiple_inner {
        margin: 0;
    }

    .multiple .multiple_text {
        width: 75vw;
    }

    .multiple .multiple_title {
        font-size: 5.6vw;
    }

    .multiple .multiple_title+.multiple_title {
        margin-top: 3.5vw;
        padding: 0;
        position: relative;
    }

    .multiple .multiple_media {
        width: 35vw;
        margin-left: -10vw;
    }

    .multiple .multiple_desc {
        background: #FFE8B2;
        width: 100%;
        height: auto;
        margin: 0;
        padding: 4.3vw 7.9vw 7vw;
        position: relative;
    }

    .multiple .deco:before {
        background-image: url(../images/multiple_bg.png);
        width: 52.8vw;
        height: 51vw;
        top: 0;
        right: 0;
        transform: translateY(-100%);
    }

    .multiple_ref {
        font-size: 12px;
        margin: 17px auto 0 29px;
        text-align: left !important;
    }

    sup {
        top: -1em;
        font-size: 3vw;
    }

    .point {
        margin-top: 5vw;
    }

    .point .inner:before {
        background-image: url(../images/point_bg1_sp.png);
        background-size: cover;
        width: 100%;
        height: 110vw;
        top: 29%;
    }

    .point .inner:after {
        background-image: url(../images/point_bg2_sp.png);
        background-size: cover;
        width: 100%;
        height: 136vw;
    }

    .point .title img {
        width: 74vw;
    }

    .point .inner {
        margin-top: 5.6vw;
    }

    .point .layout-constrained {
        max-width: 89.7vw;
    }

    .point .point_num {
        font-size: 11.5vw;
    }

    .point .point_num img {
        width: 15.9vw;
    }

    .point .detail {
        padding: 0 4.6vw 5vw;
    }

    .point .detail+.detail {
        margin-top: 4.3vw;
    }

    .point .detail_title {
        font-size: 5vw;
        margin: 2.5vw 0 0;
    }

    .point .detail_body {
        margin-top: 5vw;
        flex-direction: column-reverse !important;
    }

    .point .detail_media {
        width: 100%;
    }

    .point .detail_text {
        width: 100%;
        margin-top: 3vw;
    }

    .point .detail_text p {
        font-size: 3.8vw;
    }

    .point .detail:first-child {
        background-image: url(../images/bg_point1.png);
    }

    .point .detail:nth-child(2) {
        background-image: url(../images/bg_point2.png);
    }

    .point .detail:nth-child(3) {
        background-image: url(../images/bg_point3.png);
    }

    .point .detail:nth-child(4) {
        background-image: url(../images/bg_point4.png);
    }

    .point .detail:nth-child(5) {
        background-image: url(../images/bg_point5.png);
    }

    .point .detail:nth-child(3):before {
        width: 23.6vw;
        height: 32vw;
        left: 0;
        bottom: 0;
        transform: translateY(80%);
        z-index: 9;
    }

    .point .detail:nth-child(5):before {
        background-image: url(../images/point4_deco.png);
        width: 35.6vw;
        height: 19.5vw;
        right: -2vw;
        top: 0;
        transform: translateY(-63%);
    }

    .point .point_flemeal {
        width: 97vw;
        margin: 5.2vw auto 0 -5.1vw;
        transform: translateY(5vw);
    }

    .feature {
        padding: 30.7vw 0 11.8vw;
        overflow-x: hidden;
    }

    .feature .feature_title img {
        width: 84vw;
    }

    .feature .features1 .inner {
        margin-top: 15.8vw;
    }

    .feature .features .inner .detail {
        width: 89.4vw;
        text-align: center;
        padding-top: 12.8vw !important;
        height: 134vw;
    }

    .feature .features .inner .detail .title {
        font-size: 5vw;
    }

    .feature .features1 .inner .detail:before {
        width: 19.5vw;
        height: 19.5vw;
    }

    .feature .features1 .inner .detail img {
        width: 73.2vw;
        margin-top: 7.7vw !important;
    }

    .feature .features .inner .detail .desc {
        font-size: 3.8vw;
        padding: 0;
        width: 73.2vw;
        margin: 2.5vw auto 0;
        text-align: left;
    }

    .feature .features1 .inner .detail:nth-child(2) {
        padding-top: 9.5vw;
    }

    .feature .features1 .inner .detail:nth-child(2) img {
        margin-top: 1vw;
    }

    .feature .features2 {
        margin-top: 10vw;
    }

    .feature .features2 .inner .detail .title {
        text-align: left !important;
    }

    .feature .features2 .inner {
        flex-direction: column;
        margin-top: 5vw;
        padding: 0 7.7vw 2vw;
        box-shadow: 4px 4px 4px 0px rgb(0 0 0 / 25%);
        background: #FFF9EC;
    }

    .feature .features2 .inner .detail {
        width: 100%;
        padding: 3.8vw 0 5vw !important;
        height: auto;
        box-shadow: none;
        background: none;
    }

    .feature .features2 .inner .detail img {
        margin-top: 1.5vw;
    }

    .feature .features2 .inner .detail .desc {
        width: 100%;
    }

    .feature .features2 .inner .detail+.detail {
        border-top: 1px solid #CBCACA;
    }

    .feature .ref {
        margin: 5vw auto 0;
        width: 85vw;
    }

    .education {
        padding: 10vw 0 9vw;
    }

    .education .inner {
        margin-top: 5vw;
        position: relative;
        z-index: 9;
    }

    .education .subtitle {
        font-size: 5.1vw;
    }

    .education .title {
        position: relative;
    }

    .education .title img {
        width: 85vw;
    }

    .education .detail {
        flex-direction: column-reverse;
        margin: 2.8vw auto 0;
        max-width: 85vw;
    }

    .education .edu_media {
        width: 100%;
    }

    .education .edu_text {
        width: 100%;
    }

    .education .edu_text p {
        line-height: 1.8;
        font-size: 3.8vw;
    }

    .education .edu_text p .underline {
        background: linear-gradient(transparent 50%, #9DD209 0%);
    }

    .education .edu_text .ref {
        display: none;
    }

    .education .edu_media:after {
        width: 37vw;
        height: 37vw;
        left: -4vw;
        bottom: -4vw;
    }

    .education:before {
        background-image: url(../images/education_deco1_sp.png);
        width: 46vw;
        height: 40vw;
        right: 0;
        top: -4vw;
    }

    .education .edu_media:before {
        display: none;
    }

    .education:after {
        background-image: url(../images/education_deco2_sp.png);
        width: 46vw;
        height: 40vw;
        left: 0;
        bottom: -4vw;
    }

    .flow {
        margin-top: 17vw;
    }

    .flow .flow_title p {
        font-size: 5.1vw;
    }

    .flow .flow_title img {
        width: 63vw;
    }

    .flow .flow_body {
        margin: 8.5vw 7.5vw 0;
        flex-direction: column;
        max-width: 85vw;
    }

    .flow .detail {
        width: 100% !important;
        display: flex;
        justify-content: space-between;
    }

    .flow .detail .step_title {
        width: 38%;
        font-size: 4.6vw;
        padding: 10vw 0 7.5vw !important;
        text-align: center;
        clip-path: polygon(50% 5.4vw, 100% 0, 100% calc(100% - 5.4vw), 50% 100%, 0 calc(100% - 5.4vw), 0% 0%) !important;
    }

    .flow .detail .step_desc {
        width: 58%;
        margin: 0;
        padding: 0;
    }

    .flow .detail .step_desc span {
        font-size: 4.1vw;
        font-weight: bold;
    }

    .flow .detail+.detail {
        margin-top: -3vw;
    }

    .flow .detail:first-child .step_title {
        clip-path: polygon(100% 0, 100% calc(100% - 5.4vw), 50% 100%, 0 calc(100% - 5.4vw), 0% 0%) !important;
        padding: 10.2vw 0 11.5vw !important;
    }

    .flow .detail:last-child .step_title {
        padding: 10.2vw 0 11.5vw !important;
    }

    .flow .title {
        font-size: 5.6vw;
        line-height: 1.5;
        margin: 17.4vw 0 0;
    }

    .flow .flow_trial .ref {
        text-align: left !important;
        max-width: 85vw;
        margin: 4vw auto 0;
    }

    .flow .flow_trial {
        background-image: url(../images/flow_trial_bg_sp.png);
        background-size: cover;
        padding-bottom: 0;
        margin-top: -12vw;
        padding-top: 13vw;
    }

    .flow .flow_trial img {
        margin-top: 0;
        transform: translateY(5.5vw);
        z-index: 9;
        position: relative;
    }

    .faq_section {
        margin-top: 31.2vw;
    }

    .faq_section .faq_wrapper {
        max-width: 85vw;
        margin: 6.6vw auto 0;
    }

    .faq_section .title img {
        width: 21.5vw;
    }

    .faq_section .faq .faq_q {
        font-size: 3.8vw;
        padding: 6vw 0 6vw 11vw;
    }

    .faq_section .faq .faq_q:before {
        font-size: 6vw;
    }

    .faq_section .faq .faq_q:after {
        right: 3vw;
        width: 4.8vw;
        height: 2.3vw;
    }

    .faq_section .faq+.faq {
        margin-top: 2vw;
    }

    .faq_section .faq .faq_a {
        font-size: 3.8vw;
        padding: 5.4vw 0 0 11.5vw;
    }

    .faq_section .faq .faq_a:before {
        font-size: 6vw;
        top: 3vw;
        left: 4vw;
    }

    .contact_form {
        padding: 8vw 0 11.2vw;
        background-image: url(../images/contact_bg_sp.png);
        margin-top: 10vw;
    }

    .contact_form .contact_inner {
        padding: 6.9vw 5.9vw 9.5vw;
        max-width: 92vw;
    }

    .contact_form .form_title {
        font-size: 7.1vw;
    }

    .contact_form .form_body {
        margin-top: 7.9vw;
        font-size: 4vw;
    }

    .contact_form .form_field {
        flex-direction: column;
        padding: 0;
        border: none;
    }

    .contact_form .field_name {
        width: 100%;
        background: #FFE8B2;
        padding: 2vw 0 2vw 2.5vw;
    }
	.contact_form.confirm .field_name{
		padding-top: 2vw;
	}

    .contact_form label {
        width: 100%;
    }

    .contact_form .form_input {
        width: 100%;
        padding: 3vw 0 5vw;
    }

    .contact_form .sp-column {
        flex-direction: column;
    }

    .contact_form .field_name .required,
    .contact_form .field_name .any {
        font-size: 3.3vw;
        padding: 0.5vw 2vw;
		vertical-align: text-top;
    }

    .contact_form input[type="radio"] {
        margin-right: 2.8vw;
        width: 4vw;
        height: 4vw;
    }

    .contact_form .radio_wrapper label+label {
        margin-right: 6.9vw;
        margin-left: 7vw;
    }

    .contact_form .form_field+.form_field {
        margin-top: 0;
    }

    .contact_form .field_label {
        min-width: 0;
        margin-right: 3vw;
        letter-spacing: 0;
    }

    .contact_form .sublabel {
        width: 10vw;
        display: inline-block;
    }

    .contact_form .half .sublabel+input[type="text"] {
        width: calc(100% - 10vw);
        padding: 1.7vw 0 1.7vw 2.8vw;
    }

    .contact_form .half:last-child {
        float: none;
        margin-top: 2.8vw;
    }

    .contact_form .name2 .sublabel {
        margin: 0;
    }
	.contact_form .name2 p.error{
		padding-left: 0;
	}

    .contact_form .checkbox {
        margin-top: 5vw;
        align-items: flex-start !important;
        border-top: 1px solid #CBCACA;
        padding-top: 5vw;
    }

    .contact_form .checkbox input {
        margin-right: 1vw;
        width: 4.3vw;
        height: 4.3vw;
        top: 1.5vw;
        left: 26vw;
    }

    .checkmark {
        width: 5.5vw;
        height: 4.3vw;
        border-radius: 0;
        transform: translateY(1.5vw);
    }

    .contact_form .form_input .radio_wrapper {
        flex-direction: column;
    }

    .contact_form #schedule1 {
        margin: 0;
    }

    .contact_form textarea {
        height: 32vw;
    }

    .contact_form .field_desc_wrapper {
        max-height: 37vw;
        overflow-y: scroll;
        margin-top: 2.3vw;
    }

    .contact_form .field_desc {
        font-size: 3.6vw;
        margin: 0;
    }

    .contact_form .field_desc span {
        font-size: 3.6vw;
    }

    .contact_form .policy_check .checkmark {
        margin-right: 5vw;
        width: 4.3vw;
    }

    .contact_form .btn_wrapper {
		flex-flow: column-reverse;
		flex-wrap: wrap;
		gap: 3vw 0;
        margin-top: 6.4vw;
    }
	

    .contact_form button,
	.contact_form button.back {
        width: 70vw;
        font-size: 6vw;
        padding: 1vw 0;
        border-radius: 6vw;
    }
	

    ::-webkit-scrollbar {
        width: 1vw;
    }

    /* Track */
    ::-webkit-scrollbar-track {
        background: #D9D9D9;
        border-radius: 1vw;
    }

    /* Handle */
    ::-webkit-scrollbar-thumb {
        background: #FD6E0E;
        border-radius: 1vw;
    }

	/*confirm*/
	.contact_form.confirm{
		background-image: url(../images/contact_bg.png);
    	background-size: 300% 300%;
	}
	.contact_form.confirm label.half{
		display: flex;
		justify-content: space-between;
		align-items: center;
		width: 100%;
	}
	.contact_form .form_input.sp-column .result{
		width: calc(100% - 12vw);
	}
	.contact_form.confirm .half:last-child,
	.contact_form.confirm .half.kana{
		width: 100%;
	}

	/*thanks*/

	.thanks{
		background-image: url(../images/contact_bg.png);
    	background-size: 300% 300%;
	}
	.thanks::before,
	.thanks::after{
		content: none;
	}
	.thanks__inner{
		position: relative;
		background: #fff;
		padding: 10vw 4vw;
	}
	.thanks__logo{
		margin: 0 auto 5vw;
	}
	.thanks__txt{
		font-size: 3.4vw;
	}
	.thanks .recommend_bottom{
		margin-top: 10vw;
	}
	.thanks .recommend_bottom p{
		font-size: 4vw;
	}
	.thanks__btn {
		font-size: 4vw;
		margin: 10vw auto 0;
	}

    .recommend .title {
        font-size: 5.6vw;
    }

    .recommend .recommend_logo {
        margin-top: 5vw;
    }

    .recommend .recommend_logo img {
        width: 37vw;
    }

    .recommend .inner {
        margin-top: 10vw;
        max-width: 85vw;
        flex-direction: column;
    }

    .recommend .detail {
        width: 100%;
    }

    .recommend .detail+.detail {
        margin-top: 9.5vw;
    }

    .recommend .detail:first-child img {
        width: 78vw;
    }

    .recommend .detail:nth-child(2) img {
        width: 74.6vw;
    }

    .recommend .detail:first-child img {
        width: 78vw;
    }

    .recommend .detail p {
        font-size: 3.6vw;
        margin: 3.8vw 0 0;
        min-height: 0;
    }

    .recommend .detail a {
        font-size: 5.6vw;
        margin-top: 4vw;
        padding: 1.3vw 0;
        border-radius: 6vw;
    }

    .recommend .recommend_bottom {
        margin: 26vw auto 0;
        max-width: 78vw;
    }

    .recommend .recommend_bottom p {
        font-size: 5vw;
        padding: 0.5vw 0;
    }

    .recommend .recommend_bottom img {
        margin: 0;
    }

    .recommend .recommend_bottom .recommend_logo {
        margin-top: 22vw;
        width: 100%;
    }

    .case .carousel {
        margin-top: 7vw;
    }

    .case .case_inner {
        padding: 8.4vw 0 0;
    }

    .case .case_detail {
        height: 165vw;
        width: 91.2vw;
        padding: 0;
    }

    .case .case_detail_head {
        padding: 2vw 0 0;
        height: 31.6vw;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .case .case_detail_head p {
        font-size: 4.6vw;
        line-height: 1.6;
    }

    .case .case_detail_head span {
        padding: 0 1vw;
    }

    .case .case_detail_media {
        height: 50vw;
        text-align: center;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .case .case_detail .case_detail_media img {
        width: auto;
        height: auto;
        max-width: 90%;
        max-height: 84vw;
        margin: 0;
    }

    .case .case_detail .case_detail_text {
        margin: 0;
        padding: 2.8vw 4.3vw;
        width: 100%;
        flex-direction: column;
    }

    .case .case_detail .case_detail_title {
        width: 100%;
        font-size: 4.3vw;
        position: relative;
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
    }

    .case .case_detail .case_detail_title img {
        width: 21vw;
    }

    .case .case_detail .case_detail_title .case_intro {
        width: 57vw;
    }

    .case .case_detail .case_detail_desc {
        width: 100%;
        font-size: 3.5vw;
        margin: 0;
    }

    .case .case_detail .case_detail_title p {
        margin: 3vw 0 0;
        font-size: 5.1vw;
        text-align: left;
        width: 57vw;
    }

    .case .case_detail .case_detail_title .small {
        font-size: 3vw;
        color: black;
        font-weight: normal;
    }

    .case .case_detail .case_detail_desc p {
        margin: 0;
        font-size: 3.5vw;
        font-weight: normal;
    }

    .case .case_detail .case_detail_desc .subtitle {
        font-size: 4vw;
        margin: 2vw 0 0;
        padding-bottom: 1vw;
    }

    .swiper-pagination-bullet {
        width: 3vw;
        height: 3vw;
    }

    .slick-arrow {
        font-size: 3vw;
        width: 8vw;
        height: 10vw;
        top: 18vw;
    }

    .swiper-button-next {
        right: 2vw !important;
        left: auto !important;
    }

    .swiper-button-prev {
        left: 2vw !important;
    }

    .contact_section {
        background-image: url(../images/bg_contact_sp.png);
        padding: 63vw 0 22vw;
        margin-top: -35vw;
    }

    .contact_btn_wrapper {
        flex-direction: column;
    }

    .contact_btn_wrapper a {
        width: 51vw;
        font-size: 3.3vw;
        padding: 2vw 0;
        text-align: center;
        box-shadow: 0 1vw 1px 0px rgba(255, 186, 140, 1);
    }

    .contact_btn_wrapper a:after {
        width: 2.6vw;
        height: 3.6vw;
        margin-left: 1vw;
        transform: translateY(0.6vw);
    }

    .free_trial_wrapper .contact_btn_wrapper {
        bottom: -18vw;
    }

    .free_trial_wrapper .contact_btn_wrapper a {
        box-shadow: 0 2vw 1px 0px rgba(255, 186, 140, 1);
    }

    .copyright {
        padding: 5.9vw 0 48.9vw;
    }

    .d-pc {
        display: none;
    }

    .d-sp {
        display: block;
    }

    .d-sp-table {
        display: table;
    }

    .swiper-pagination {
        position: initial;
        margin-top: 3vw;
    }

    .section_title_desc {
        font-size: 6.6vw;
        margin-top: 10vw;
    }

    .free_trial_wrapper.has-no-text .contact_btn_wrapper {
        position: inherit;
        bottom: 0;
        margin-top: -2.5vw;
    }

    .free_trial_wrapper .contact_btn_wrapper a {
        font-size: 6vw;
        width: 94vw;
        padding: 4vw 0;
    }

    .free_trial_wrapper .contact_btn_wrapper a:after {
        width: 5.6vw;
        height: 9.7vw;
        right: 4vw;
    }

    .achieve {
        margin: 8.9vw 0 0;
        padding: 6.6vw 3vw 5vw;
    }

    .contact_section_bottom {
        background-image: url(../images/bg_contact_bottom_sp.png);
        margin-top: 0;
        padding-top: 45vw;
    }

    .contact_section .online_interview {
        flex-direction: column;
        padding: 5.3vw 4vw 6.6vw;
        border-radius: 1.5vw;
        border: 1.5vw solid var(--pink);
        margin-top: 5vw;
    }

    .contact_section .online_interview_title {
        font-size: 4vw;
        text-align: center;
        margin-bottom: 5vw;
    }

    .contact_section .online_interview_title .large {
        font-size: 5.6vw;
    }

    .contact_section .online_interview .online_interview_text {
        width: 100%;
    }

    .contact_section .online_interview_desc {
        margin-bottom: 0;
    }

    .contact_section .online_interview img {
        width: 55%;
        margin: auto;
    }

    .contact_section_bottom .contact_btn_wrapper {
        margin-top: 7.2vw;
    }

    .copyright {
        padding: 3.8vw 0;
        margin-top: 8.7vw;
    }

    .copyright .addr {
        font-size: 14px;
        margin: 0;
        padding: 0;
        line-height: 1.8;
    }

    .copyright_text {
        font-size: 3vw;
        line-height: 3;
    }

    .footer_fixed {
        padding: 2.5vw 0 3.3vw;
        flex-direction: column;
        margin-top: 2vw;
    }

    .footer_fixed span {
        font-size: 3.8vw;
        text-align: center;
    }

    .footer_fixed span .large {
        font-size: 8vw;
        margin: 0;
    }

    .footer_fixed .btn_catalog_download a {
        font-size: 4.4vw;
        width: 89.7vw;
        padding: 3.5vw 0 4vw 40vw;
        text-align: left;
        margin-top: 1.8vw;
    }

    .footer_fixed .btn_catalog_download a:before {
        width: 22vw;
        height: 15vw;
        transform: rotate(-10deg) translateY(-1vw);
        left: 15%;
    }

    .footer_fixed .btn_catalog_download a:after {
        display: none;
    }

    .footer_fixed .btn_catalog_download {
        margin-left: 0;
        margin-top: 1vw;
    }
}