@media (max-width: 767px) {
    /* TOP */
    /* トップのサイズを調整 */
    .top_wrapper {
        background-image: url(../img/top/top_bg_sp.png);
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
        height: 130vw;
        margin-top: 0vw;
    }
    .top_msg {
        padding-top: 40vw;
    }
    .top_msg h3 {
        font-size: 5vw;
        margin-bottom: 15vw;
    }
    .top_msg h1 {
        font-size: 9vw;
        font-weight: 800;
        margin-bottom: 15vw;
    }
    .top_msg h2 {
        font-size: 4vw;
        font-weight: 400;
    }

    /* News */
    /* 幅、文字サイズを変更 */
    .news_wrapper {
        margin-top: 3vw;
        margin-bottom: 10vw;
        height: auto;
    }
    .news_container {
        width: 90vw;
        margin: 0 auto;
    }
    /* 縦並びに変更 */
    .news_contents {
        height: auto;
        padding: 3.0vw 0;
        display: block;
    }
    /* marginを解除 */
    .news_left img {
        margin-right: auto;
    }
    /* margin-bottomを追加 */
    .news_left {
        width: 100%;
        margin-bottom: 2vw;
    }
    /* NEWSロゴのサイズを変更 */
    .news_line {
        margin: 0 auto;
        margin-bottom: 2.0vw;
        width: 15vw;
    }
    .news_logo {
        margin: 0 auto;
        margin-bottom: 2.0vw;
        width: 30vw;
    }
    .news_topics {
        margin: 0 auto;
        width: 20vw;
    }
    /* ニュース項目のサイズ変更 */
    .news_right {
        width: 90vw;
    }
    .news_right table,
    .column_wrapper table {
        width: 100%;
        border-collapse: collapse;
    }
    .news_right tr,
    .column_wrapper tr {
        height: 15vw;
    }
    .news_right td,
    .column_wrapper td {
        padding-left: 2vw;
    }
    .vm_news {
        margin: 0.7vw auto 0 auto;
    }

    /* about */
    /* 表示画像を背景に設定 */
    .about_wrapper {
        padding-top: 5vw;
        padding-bottom: 10vw;
        position: relative;
        background-image: url("../img/top/rec_about.png");
        background-size: cover;
    }
    /* 横幅調整 */
    .main_container {
        width: 90vw;
        display: flex;
        position: relative;
    }
    .intro {
        margin: 0 auto;
    }
    .vector00 {
        width: 100%;
        position: absolute;
        top: 0;
        z-index: 1;
    }
    .about_left {
        display: none;
    }
    .about_right {
        width: 100%;
        margin-top: 0;
    }
    /* タイトルを中央寄せに */
    .about_right>.title {
        text-align: center;
    }
    .about_txt {
        margin-top: 3.3vw;
        margin-bottom: 4vw;
        font-size: 0.8vw;
        background-color: rgba(0, 0, 0, 0.4);
        padding: 2vw;
    }
    /* 文字色を城に変更 */
    .about_txt p {
        color: #fff;
        margin-bottom: 2vw;
        line-height: 1.9;
        font-size: 3.5vw;
    }
    /* ViewMoreを中央寄せ */
    .vm_about {
        margin: 0 auto;
    }
    /* Service */
    /* 背景の位置を調整 */
    .service_wrapper {
        margin-top: 6.9vw;
        padding-bottom: 30vw;
        background-position: center;
    }
    .service_container {
        width: 90vw;
        margin: 0 auto;
    }
    /* marginを調整 */
    .service_container>.title {
        margin: 3vw auto 0 auto;
    }
    .s_exp {
    
        width: 100%;
        margin: 5vw auto 5vw auto;
    }
    .service_detail {
        width: 100%;
        height: auto;
        display: flex;
        flex-flow: column;
        flex-wrap: wrap;
        justify-content: space-around;
        align-content: space-between;
    }
    /* marginの調整 */
    .service:nth-child(1),
    .service:nth-child(2),
    .service:nth-child(3),
    .service:nth-child(4),
    .service:nth-child(5),
    .service:nth-child(6) {
        margin-bottom:2.0vw;
    }
    /* サービス内容のサイズを変更し縦並びに */
    .service {
        margin-bottom: 15vw;
        width: 100%;
        height: auto;
        margin-right: 0;
        display: flex;
        position: relative;
    }
    .s_number {
        width: 8vw;
        height: 9vw;
        margin-right: 2.5vw;
    }
    .service:nth-child(1)>.s_number {
            width: 12vw;
    height: 12vw;
    }
    /* テキストボックスの幅調整 */
    .s_txt {
        width: auto;
        padding-top: 0.5vw;
    }
    /* 文字サイズ調整 */
    .s_name_en {
        font-size: 3vw;
    }
    .s_name_kn {
           font-size: 22px;
        color: #2a5297;
        margin-bottom: 1vw;
    }
    /* テキストボックスの位置変更 */
    .s_txt p {
      
        line-height: 2;
        letter-spacing: 0.05em;
        margin-left: -10.5vw;
        margin-top: 0.5vw;
    }
    /* dotのサイズ調整 */
    .s_dot {
        width: 2vw;
        height: 2vw;
        position: absolute;
        bottom: 0;
        right: 0;
    }

    /* REASON */
    /* 位置調整 */
    .reason_wrapper {
        width: 100%;
        height: auto;
        margin-top: -28vw;
        background-image: url("../img/top/VectorSmartObject03.png");
        background-size: auto 175vw;
        background-position: center;
        padding-top: 13vw;
        padding-bottom: 17vw;
        position: relative;
    }
    .rtbc {
        width: 71.3vw;
        position: absolute;
        top: 9.2vw;
        left: 14.45vw;
        opacity: 0.1;
    }
    /* marginの調整 */
    .reason_wrapper>.title_wh {
        margin: 0 auto 0 auto;
    }
    /* 各REASONを縦並びに変更 */
    .reasons {
        width: 90vw;
        display: flex;
        justify-content: flex-start;
        flex-direction: column;
        margin: 0 auto;
    }
    /* REASON内容を横並びに変更 */
    .reason {
        width: 100%;
        height: auto;
        background-color: #fff;
        position: relative;
            display: block;
    }
    .reason:nth-child(1),
    .reason:nth-child(2),
    .reason:nth-child(3) {
        margin-top: 5vw;
    }
    .r_img {
        width: 100%;
    /* height: 25vw; */
    margin: auto 0;
    z-index: 1;
    }
    .r_head {
          width: auto;
    /* height: 20%; */
    position: absolute;
    top: 30%;
    left: 10vh;
    z-index: 2;
    }
    .r_cr {
        width: 5.3vw;
        position: absolute;
        bottom: 8.3vw;
        right: 1.7vw;
        z-index: 3;
    }
    /* padding調整 */
    .reason_txt {
        padding: 2vw;
    }
    /* 文字サイズ変更 */
    .r_point {
        color: #2a5297;
   
        margin-bottom: 2vw;
    }
    .r_txt {
    
    }
    /* dotのサイズ調整 */
    .r_dot {
        position: absolute;
        bottom: 2vw;
        right: 2vw;
    }

    /* Case */
    /* 表示方法の変更 */
    .cases {
       width: 95%;
        flex-wrap: wrap;
    }
    /* サイズの変更 */
    .case {
        width: 48%;
        margin-bottom: 3.5vw;
    }
    /* copyrightの位置調整 */
    .c_cr {
        width: 15vw;
        top: 21vw;
    }
    /* 文字サイズ変更 */
    .c_date {
      
    }
    .c_title {
       font-size: 16px;
        margin-bottom: 0.5vw;
    }
    .c_client {
        font-size: 2vw;
        color: #fff;
        display: block;
        background-color: #5865b9;
        height: 3vw;
        line-height: 3vw;
        border-radius: 1.5vw;
        padding: 0 1.5vw;
        margin-bottom: 0.5vw;
    }
    .c_txt {
      
        line-height: 1.7;
    }
    /* flexの解消 */
    .case_txt>.flex {
        display: inline-block;
    }
    /* ボタンサイズの変更、位置の調整 */
    .cases>button {
        width: 6vw;
        height: 6vw;
        border-radius: 3vw;
        line-height: 6vw;
    }
    .cases button[name='c_before'] {
        top: calc(50% - 5vw);
        left: -8vw;
    }
    .cases button[name='c_before']>img {
        width: 2.7vw;
        margin-left: 1.2vw;
    }
    .cases button[name='c_after'] {
        top: calc(50% - 5vw);
        right: -8vw;
    }
    .cases button[name='c_after']>img {
        width: 2.7vw;
        margin-left: 2.1vw;
        transform: scale(-1, 1);
    }

    /* Flow */
    /* 位置、背景の調整 */
    .flow_wrapper {
        padding-top: 15vw;
        padding-bottom: 15vw;
        background-size: 445vw 215vw;
        background-position: right top;
    }
    /* 文字サイズの変更 */
    .f_exp {
      
    }
    /* 縦並びに変更 */
    .steps {
        width: 90vw;
        flex-direction: column;
    }
    /* 横幅変更、横並びに変更 */
    .step {
        width: 100%;
        height: auto;
        display: flex;
    }
    .step_img {
        margin-right: 5vw;
    }
    /* アイコンサイズの変更 */
    .flow_icon {
        width: 15vw;
        margin: 0 auto 1.5vw auto;
    }
    .step_no {
        width: 23vw;
    }
    .step_name {
        margin-top: -5.5vw;
        font-size: 3.4vw;
    }
    /* 文字サイズ変更 */
    .step_txt {
      
        text-align: left;
        margin: auto 0;
    }
    /* 記号サイズ、位置の変更 */
    .step_form {
        width: 2vw;
        height: 2vw;
        margin: 2vw auto;
        transform: rotate(90deg);
    }

    /* Column */
    /* 横幅の変更 */
    .column_wrapper table {
        width: 90vw;
        margin: 3.4vw auto 2.9vw auto;
    }
    /* marginの調整 */
    .vm_column {
        margin-top: 5vw;
    }
	.w48 {
    width: 100%;
}
    /* ※テーブルはNEWS部分にまとめて記述*/
}
