@media (max-width:767px) {
    body {
        min-width: 375px;
        font-size: 1rem !important;
    }

    .wrap {
        max-width: 480px;
        width: 100%;
        padding: 0 20px;
    }

    section {
        padding: 50px 0 50px;
    }

    .pc {
        display: none !important;
    }

    .sp {
        display: inline !important;
    }

    .common_table th,
    .common_table td {
        display: block;
        width: 100%;
    }

    .common_table th {
        border: none;
    }

    .carousel-inner,
    .carousel-inner img {
        height: 250px;
        object-fit: cover;
    }

    .main_visual-text h2 {
        font-size: 2.5rem;
        line-height: 140%;
    }

    .catchcopy .small {
        font-size: 1.5rem;
    }

    .aboutus .carousel-inner,
    .aboutus .carousel-inner img {
        height: 180px;
    }

    .aboutus .main_visual-text h2,
    .work .main_visual-text h2,
    .company .main_visual-text h2,
    .contact .main_visual-text h2,
    .news .main_visual-text h2,
    .privacy .main_visual-text h2,
    .sitepolicy .main_visual-text h2,
    .site .main_visual-text h2 {
        font-size: 2.5rem;
        margin-bottom: 1.5rem;
    }

    .aboutus .main_visual-text h2::after,
    .work .main_visual-text h2::after,
    .company .main_visual-text h2::after,
    .contact .main_visual-text h2::after,
    .news .main_visual-text h2::after,
    .privacy .main_visual-text h2::after,
    .sitepolicy .main_visual-text h2::after,
    .site .main_visual-text h2::after {
        font-size: 1.5rem;
    }

    .section_title-56 {
        font-size: 2.5rem;
    }

    .section_subtitle {
        margin-bottom: 10px;
    }

    .common_button-black,
    .common_button-white {
        margin: 20px auto 0;
        max-width: max-content;
        padding: 15px 30px;
    }

    .footer_info {
        padding: 2.375rem 0
    }

    .certification {
        flex-direction: column;
    }

    .youthyell,
    .syotoku,
    .fcryukyu,
    .uchina {
        display: block !important;
        width: 90%;
        padding: 20px;
        flex-direction: column;
        margin: 20px;
    }

    .youthyell_logo,
    .syotoku_logo {
        float: left;
    }

    .top_news {
        width: 100%;
        flex-direction: column;
        padding: 20px;
        margin-top: 0;
    }

    .top_news-title {
        margin: 0 auto 20px;
    }

    .top_news-list {
        width: 100%;
        margin-bottom: 70px;
    }

    .top_news-button {
        bottom: 10px;
        left: 50%;
        transform: translateX(-50%);
    }

    .top_reason-content_title {
        margin-top: 30px;
        margin-bottom: 10px;
    }

    .top_reason::after {
        content: none;
    }

    .top_business {
        margin-bottom: 50px;
    }

    .top_reason-title,
    .top_business-title {
        text-align: center;
    }

    .top_business-inner {
        flex-direction: column;
    }

    .top_business-link_item {
        width: 48%;
        justify-content: space-between;
    }

    .top_business-link .top_business-link_item:nth-child(n+3) {
        margin-top: 20px;
    }

    .top_business-link_item-text {
        min-height: 115px;
        height: 100%;
        padding: 20px 0;
    }

    .top_business-content {
        margin: 20px 0 0 0;
    }

    .top_business-content_title {
        margin-bottom: 10px;
    }

    .top_company-title {
        margin-bottom: 30px;
    }

    .top_company-link .row {
        flex-direction: column;
    }

    .top_company-link a:first-child {
        margin-bottom: 20px;
    }

    .top_company-link_item img {
        width: 100%;
    }

    .top_recruit .wrap::before {
        width: 100%;
    }

    .top_recruit-inner {
        width: 100%;
        padding: 20px;
        margin-top: 180px;
    }

    .top_recruit-title {
        text-align: center;
        margin-bottom: 25px;
    }

    .top_recruit-button {
        margin: 20px auto 0;
    }

    /*aboutus*/

    .message::after {
        width: 85%;
        height: 210px;
    }

    .message::before {
        top: 200px;
    }


    .top_message-title::before {
        margin-left: calc(50% - 50vw);
        height: 240px;
    }

    .message_inner_content {
        padding: 20px;
        margin-top: 30px;
    }

    .message_content-text {
        margin-bottom: 1.25rem;
    }

    .massage_content-name {
        flex-direction: column;
    }

    .reason_item,
    .reason_item:nth-child(even),
    .philosophy_content {
        flex-direction: column;
        padding: 20px;
    }

    .guideline_inner {
        padding: 20px;
    }

    .reason_inner_content {
        margin: 10px 0 0;
    }

    .reason_inner_item .reason_item:nth-child(even) .reason_inner_content {
        margin: 10px 0 0;
    }

    .behavioralguidelines_inner {
        margin-bottom: 50px;
    }

    .behavioralguidelines_content {
        font-size: 1.3rem;
    }

    .philosophy_list {
        margin: 20px 0 0;
    }

    .logo_inner_content img {
        width: 80%;
    }

    .logo_inner_content_text p {
        text-align: left;
    }

    .business_linkarea {
        display: block !important;
        text-align: center;
        margin: 30px 0;
    }

    .link_button {
        display: block;
        width: 100%;
        padding: 20px;
    }

    .link_button:not(:last-child) {
        margin: 0 auto 20px;
    }

    .card-body {
        padding: 0 !important;
    }

    .project-flow img {
        width: 100%;
    }

    .security::after,
    .hmi::after,
    .software::after,
    .project::after {
        width: 100%;
        height: 290px;
        background-size: contain;
    }

    .business_content_item {
        padding: 155px 0 50px;
    }

    .business_content_item:not(:first-child) {
        margin-top: 50px;
    }

    .content_explanation {
        padding: 20px;
    }

    .project-flow {
        padding: 20px;
    }

    /*company*/
    .company-info_inner table td {
        padding: 0 0 20px 0;
    }

    .company-info_table_image {
        flex-wrap: wrap;
        justify-content: center !important;
    }

    .company-info_table_image img:not(:first-child) {
        width: 49%;
        margin-top: 10px;
    }

    .office_point {
        margin-top: 60px;
    }

    .history_explanation {
        width: auto;
        padding: 20px;
    }

    .card-text {
        flex-direction: column;
    }

    /*news*/
    .news_list-item a {
        width: 100%;
    }

    .list-group-item {
        display: block !important;
    }

    .news_list-item_content p {
        width: 100%;
        overflow: hidden;
        display: -webkit-box;
        text-overflow: ellipsis;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        max-height: 50px;
    }

    /*contact*/
    .contact_inner_text {
        text-align: left !important;
    }

    .contact_tel {
        flex-direction: column;
        margin-top: 10px;
    }

    .tag_any,
    .tag_required {
        right: 120px;
    }

    .contact-table th {
        padding: 20px 0 0 0 !important;
    }

    /*sitemap*/
    .site_content {
        flex-direction: column;
    }

    .sitemap_list {
        width: 100%;
    }
}