@media only screen and (max-width:768px) {
    .dm-rd-box-link {
        padding: 8vw;
    }

    .dm-rd-text {
        max-width: 230px;
    }

    .dm-rd-text-ttl-en {
        font-size: 1.06em;
    }

    .dm-rd-text-ttl-jp {
        font-size: 1.75em;
    }

    .dm-rd-text-body {
        font-size: 0.75em;
    }

    .dm-rd-icon {
        font-size: 2.4em;
    }

    .lp-banner.stop {
        bottom: 160px;
    }

}

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

    p {
        font-size: 0.8em;
    }

    .main-wrap {
        margin-bottom: 20vw;
    }

    .scroll p {
        font-size: 1.2em;
    }

    footer h2 {
        font-size: 1em;
    }

    footer p {
        font-size: 0.7em !important;
    }

    footer a {
        font-size: 1.5em;
    }

    footer small {
        font-size: 0.5em;
        color: #fff;
    }

    .midashi3 {
        font-size: 1.8em;
    }

    /* 3/24yagu */

    .kasou-header {
        height: 25vh;
    }

    .ceo-img.ceo-width {
        width: 100%;
        height: 37vh;
        margin: 0 auto;
        margin-top: 9vw;
    }

    .ceo-text {
        position: unset;
        /* width: 90%; */
        margin: auto;
        font-size: 6.5vmin;
        line-height: 1.8;
        margin-top: 4vw;
    }
    .member-img {
	width: 100%;
    }

    .c-message {

        margin-top: 5vw;
    }

    /* iphone のみ */
    .iphone .main-h {
        display: block;
    }

    .iphone .menu span {
        background-color: #000;
    }

    .iphone .main-h {
        position: absolute;
        font-size: 3em;
        top: 25%;
        width: 100%;
        text-align: center;
        font-family: 'Montserrat',
            sans-serif;
        font-weight: bold;
    }

    .iphone .infomation {
        color: #000;
    }

    .iphone .info-box {
        border: solid 1px #000;
    }

    .iphone .scroll {
        color: #000;
    }

    .iphone .top {
        height: 90vh;
    }

    .info-box {
        width: 200px;
        height: 60px;
    }

    .infomation .info-left {
        font-size: 12px
    }

    .info-box p {
        font-size: 12px
    }

    .sp-img {
        display: block !important;
    }

    .pc-img {
        display: none !important;
    }

    .iphone .pc-img {
        display: none !important;
    }

    .scroll .sp-img {
        margin-left: 5px;
    }

    .menu {
        height: 20px;
        position: absolute;
        left: 4vw;
        top: 5vw;
        width: 30px;
        z-index: 99;
    }

    .gnav__menu__item {
        margin: 1em 0;
        text-align: left;
    }

    .gnav__menu__item a {
        color: #fff;
        font-size: 24px;
        font-weight: bold;
        text-decoration: none;
        transition: .5s;
        font-family: 'Montserrat', sans-serif;
        font-weight: 400;
    }

    .gnav span {
        display: block;
        font-size: 18px;
    }

    .top:before {
        content: "";
        z-index: -1;
        position: absolute;
        top: 1%;
        left: 1%;
        right: 1%;
        bottom: 1%;
        border: 1px solid #dad8bb;
    }

    /*画面幅が480pxまでの時*/
    .contact-btn {
        font-family: 'EB Garamond', serif;
        position: absolute;
        vertical-align: middle;
        top: 0;
        right: 0;
        color: #fff;
        font-size: 1em !important;
        -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
        writing-mode: unset;
        display: inline-block;
        width: 105px;
        height: 60px;
        text-align: center;
        text-decoration: none;
        line-height: 60px;
        outline: none;
        opacity: 0.8;
        background-image: linear-gradient(15deg, #30cfd0 0%, #330867 100%);
        z-index: 100;
        /* IE6-9 fallback on horizontal gradient */
    }

    .shutter::after {
        width: 70% !important;
    }

    .contact-btn i {
        display: none;
    }

    .gnav__menu {
        top: 10%;
        position: absolute;
    }

    .infomation {
        color: #fff;
        position: absolute;
        bottom: 20vw;
        right: 5%;
    }

    .scroll {
        color: #fff;
        position: absolute;
        bottom: 20vw;
        left: 2%;
    }

    .pc {
        display: none;
    }

    .sp {
        display: block;
    }

    #service {
        margin-top: 20vw;
    }

    #service .midashi3 {
        margin-bottom: 2vw;
    }

    .service-gr1 {
        opacity: 0.9;
        width: 15vw;
        height: 16vw;
        z-index: -10;
        position: absolute;
        right: 0;
        top: 3vw;
        background-image: linear-gradient(15deg, #30cfd0 0%, #330867 100%);
    }

    .service-gr2 {
        opacity: 0.9;
        width: 15vw;
        height: 14vw;
        z-index: -10;
        position: absolute;
        left: 0;
        bottom: 0;
        background-image: linear-gradient(15deg, #30cfd0 0%, #330867 100%);
    }

    .cp_breadcrumb li {
        font-size: 0.9em;
    }

    .sp {
        width: 90%;
        margin: 0 auto;
        padding: 0 0 3vw 0;
    }

    .blog {
        position: relative;
        height: 280vw;
    }

    .blog h2 {
        font-size: 1em;
        width: 85%;
        margin: 0 auto;
        margin-top: 10px;
        margin-bottom: 20px;
    }

    .blog img {
        width: 100%;
        height: auto;
    }

    .blog-innner {
        display: block;
        width: 80%;
        margin: 0 auto;
        height: 145vw;
    }

    .blog-box {
        width: 80%;
        margin: 0 auto;
    }

    .blog-text h2 {
        margin: 1vw 0;
        border-bottom: #1e1e1e solid 2px;
    }

    .blog-date {
        font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman', serif;
        font-weight: 700;
        font-size: 5vw;
        margin-bottom: -0.2rem;
    }

    .blog-name {
        display: inline-block;
    }

    .more2 {
        position: absolute;
        top: 200vw;
        left: 16vw;
    }

    .more2 .btn {
        font-size: 1.2em;
        width: 38vw;
        height: 9vw;
    }

    .contact-tel {
        display: block !important;
    }

    .contact-tel p {
        font-size: 13px;
    }

    .attention p {
        font-size: 10px;
    }

    .attention>p {
        margin-bottom: 15px;
    }

    .contact-message {
        padding-right: 50px !important;
        padding-left: 50px !important;
    }

    .contact-message p {
        font-size: 12px;
    }

    .btn3 {
        width: 35vw;
        height: 9vw;
        margin-top: 5vw;
        font-size: 12px;
    }

    .sp .more {
        left: 55vw;
        top: 0vw;
    }

    .sp .more .btn {
        color: #fff;
        border-color: #fff;
        font-size: 0.9em;
        width: 25vw;
        left: -2vw;
        top: 10vw;
        border-width: thin;
        opacity: 0.7;
    }

    .sp .more .btn::before {
        background-color: #fff;
        width: 3em;
        right: -2em;
    }

    .sp .more2 .btn::before {
        width: 4em;
    }



    /* アバウトページ */

    .head-text {
        display: table-cell;
        vertical-align: middle;
        padding-bottom: 0;
    }

    #about {
        margin: 20vw 0;
        height: 35vw;
        position: relative;
    }

    .about-header {
        background-position: 38% 0%;
    }

    .ceo {
        position: unset;
        width: 100%;
        margin-top: 15vw;
        margin-bottom: 20vw;
    }

    .ceo-wapper {
        display: unset;
        margin-top: 5vw;
    }

    .yamaguchi {
        height: 220vw !important;
    }

    .yuasa {
        height: 300vw !important;
    }

    .ceo-img {
        position: unset;
        height: 60vw;

    }

    .ceo-width {
        height: 100%;
    }

    .ceo-img.ceo-width img {
        object-fit: cover;
        height: 100%;
    }

    .member-box img {
        position: unset;
        width: 100%;

    }

    .ceo-text {
        position: unset;
        width: 100%;
        margin: auto;
        font-size: 4vw;
        margin-top: 4vw;
        margin: 0 auto;
    }

    .member-box {
        width: 48%;
        margin-right: 1vw;
        margin-top: 5vw;
    }

    .about-text {
        z-index: 0;
        position: absolute;
        background: rgba(255, 255, 255, 0.8);
        left: 5%;
        top: 25%;
        width: 90%;
        height: 25vw;
    }

    .img-1,
    .img-2,
    .img-3,
    .img-4,
    .img-5,
    .img-6 {
        width: 100%;
        height: auto;
    }

    .about-text .more {
        top: 7vw;
        left: 1vw;
    }

    .about-text .more a {
        width: 26vw;
        height: 7vw;
        font-size: 12px;
    }

    .about-text h1 {
        font-size: 1.2em;
        left: 3vw;
        top: 2vw;
    }

    #about .bg-text {
        font-size: 4vw;
        z-index: 111;
    }

    .about-bg {
        z-index: 40;
        position: absolute;
        left: 48%;
        width: 40%;
        top: 15%;
    }

    .about-gr {
        width: 26%;
        height: 16vw;
        z-index: -10;
        position: absolute;
        right: 10%;
        bottom: 0;
        background-image: linear-gradient(15deg, #30cfd0 0%, #330867 100%);
    }

    .bg-text-out {
        font-family: 'Homemade Apple', cursive;
        font-weight: 400;
        font-style: normal;
        position: absolute;
        bottom: 0;
        right: 10vw;
        font-size: 20px;
        color: hsla(27, 15%, 44%, 0.801);
        transform: rotate(-15deg);
        z-index: 1;
    }

    .yose {
        position: absolute;
        top: 1vw !important;
        left: 10vw !important;
    }

    .outline {
        margin: 10vw 5vw;
    }

    .access .sub {
        padding: 0;
    }

    .outline-text {}

    .outline-bg {
        position: absolute;
        top: 20vw;
        right: 0;
        width: 100%;
        z-index: -1;
    }

    .cp_table {
        margin: 0;
    }

    .cp_table th,
    .cp_table td {
        width: 100%;
        display: block;
        border-top: none;
    }

    .cp_table tr:first-child th {}

    .message-box {
        margin: 0 5vw;
        margin-top: 10vw;
        /* padding-top: 1vw; */
    }

    .message-box .sub {
        padding: 0;
        font-size: 1.1em;
        font-weight: 200;
    }

    .title {
        font-size: 1.4em;
    }

    p.c-name {
        /* margin-top: 10px; */
        font-size: 14px;
    }

    p.c-position {
        margin-top: 15px;
        font-size: 10px;
    }

    .message-text {
        position: unset;




    }

    .outline-bg {
        display: none;
    }

    .message-text .inner {}

    .staff-img {
        display: none;
    }

    .outline .bg-text-out {
        top: 110vw;
    }

    .outline .sub {
        padding: 0;
    }

    .message-img {}

    .engineers {
        margin-top: 2vw;
        font-size: 4vmin !important;
    }

    .midashi2.engineers {
        margin-top: 2vw;
    }

    .img-1 {
        display: none;
    }

    .message-bg {
        position: relative;
        top: 36vw;
        z-index: 3;
    }

    .message-gr {
        position: absolute;
        width: 10vw;
        height: 18vw;
        left: 7vw;
        bottom: 6vw;
        z-index: -1;
        background-image: linear-gradient(15deg, #30cfd0 0%, #330867 100%);
    }

    .message-gr2 {
        position: absolute;
        width: 10vw;
        height: 18vw;
        right: 7vw;
        top: 15vw;
        z-index: -1;
        background-image: linear-gradient(15deg, #30cfd0 0%, #330867 100%);
    }

    .map iframe {
        width: 100%;
        height: 150px;
        margin-top: 20px;
    }

    .map {
        width: 100%;
        height: 100%;
    }

    .st_address {
        margin-top: 3vw;
    }

    .loin_address {
        margin-top: 3vw;
    }

    .access {
        margin: 0 5vw;


    }

    .address-wapper {
        display: flex;
        margin-top: 7vw;
        flex-wrap: wrap-reverse;
        justify-content: space-between;
    }

    .root1 {}

    .root1-left {
        display: flex;
        margin: 3vw;
    }

    .root1-right {
        display: flex;
        margin: 3vw;
    }

    .root1 p {
        width: 70%;
        margin: 2vw 1vw;
    }

    .root1-img {
        width: 30%;
    }

    .link {
        margin: 10vw 5vw;
    }

    .link .sub {
        padding: 0;
    }

    .sns-wrapper {
        display: unset;

    }

    .sns-category>li {
        width: 100%;
    }

    .sns-category {
        display: flex;
        width: 100%;
        flex-wrap: wrap;
    }

    .sns-type {
        display: flex;
        align-items: center;
        margin-top: 5vw;
        text-align: left;
    }

    .sns-wrapper p {
        font-weight: bold;
        width: 12%;
        margin-top: 10vw;
    }

    .gallery {
        margin: 0;
        margin-left: 5vw;
        margin-bottom: 10vw;
    }

    .gallery-wrapper2 {
        margin-top: 5vw;
        margin-bottom: 10vw;
    }

    .swiper-button-next,
    .swiper-button-prev {
        background-size: 30px 30px !important;
    }

    .swiper-container .swiper-button-next,
    .swiper-container-rtl .swiper-button-prev {
        background-image: url(../img/right-btn.png);
        right: 3%;
        left: auto;
        top: -3%;
    }

    .swiper-container .swiper-button-prev,
    .swiper-container-rtl .swiper-button-next {
        background-image: url(../img/left-btn.png);
        left: 70%;
        top: -3%;
        right: auto;
    }

    .flow-wrap {
        margin: 5% 0;
    }

    .flow-wrap figure {
        position: relative;
    }

    .flow-wrap figcaption {
        display: flex;
        width: 100%;
        height: 21vw;
        position: absolute;
        bottom: 0;
        background: rgba(255, 255, 255, 0.7);

    }

    .flow-number {
        width: 35%;
        text-align: right;
        font-size: 2vw;
        margin: auto 0;
    }

    .flow-right {
        font-size: 14px;
        width: 60%;
        text-align: left;
        margin: auto;
    }

    .flow-number h3 {
        font-size: 30px;
    }

    .flow-wrap h5 {
        font-size: 18px;
    }

    body {
        overflow: hidden;
    }

    .adv .sub,
    .contents-marketing .sub,
    .type .sub,
    .ec-flow .sub {
        padding: 0;
    }

    .p-all .sub {
        padding: 0;
    }

    .fancy-button span {
        padding: 15px 30px;
    }

    .p-kome {
        padding-top: 10px;
        padding-bottom: 10px;
    }

    .bg-p {
        font-size: 1.4em;
    }

    .p-web-title p,
    .p-ec-title p {
        font-size: 4vw;
    }

    .w-inner_u span {
        font-size: 0.8em;
    }

    .m-table th {
        font-size: 12px;
    }

    .m-table td {
        font-size: 17px;
    }

    .p-kome {
        font-size: 11px;
    }

    .webdev h2 {
        font-size: 24px;
        margin-top: 20vw;
    }

    .webdev .sub {
        font-size: 14px;
    }

    .adv-text p {
        width: 82%;
        margin: auto;
        font-size: 12px;
    }

    .type-text h3 {
        font-size: 14px;
    }

    .type-text p {
        font-size: 14px;
    }

    .wd-btn {
        height: 17vw;
    }

    .web-maketing h3 {
        font-size: 20px;
    }

    .web-maketing-img {
        width: 120%;
        position: absolute;
        right: -7vw;
        bottom: 8vw;
    }

    .web-maketing-text-box p {
        font-size: 0.8em !important;
        width: 80%;
    }

    .web-maketing-text-box,
    .web-maketing {
        height: 140vw;
    }

    .p-all {
        width: 80%;
    }

    .m-plan {
        width: 100%;
    }

    .p-cm {
        margin: 0;
        margin-top: 5vw;
    }

    .flow-image {
        width: 100%;
    }

    .p-system,
    .p-s-title,
    .p-cm,
    .p-cm-title {
        width: 100%;
    }

    .cat2 .info,
    .cat6 .info,
    .cat4 .info {
        width: 100%;
    }

    .info p {
        font-size: 0.8em;
    }

    .systemdev .info h2 {
        font-size: 20px;
    }

    .p-all div {
        width: 100%;
    }

    .w-box {
        margin-left: 25px;
        margin-bottom: 15px;
        width: 85% !important;
    }

    .p-web div {
        width: 100%;
    }

    .p-web {
        height: 280vw;
    }

    .p-ec {
        height: 205vw;
    }

    .tech-text {
        top: 125vw;
    }

    .tech-text p {
        font-size: 0.6em;
    }

    .tech-pict {
        position: unset;
        width: 100%;
    }

    .tech {
        height: 190vw;
    }

    .tech .sp-img {
        width: 65vw;
        margin: auto;
    }

    #contact {
        height: 215vw;
        margin-top: 20vw;
    }

    .cp_table th,
    .cp_table td {
        font-size: 0.8em;
    }

    .access h4 {
        font-size: 1em;
    }

    .root1 p {
        font-size: 0.6em;
    }

    .footer a {
        font-size: 1em;
    }

    #dm-rd .dm-rd-client {
        display: none;
    }

    #dm-rd .dm-rd-slider {
        margin-bottom: 15vw;
    }

    .dm-rd-client-list li[class*="list-"] {
        flex-basis: 38%;
    }

    .dm-rd-client-list li.list-05 {
        flex-basis: auto;
    }
    .lp-banner {
	width: 50%;
    }
    .lp-banner.stop {
        bottom: 140px;
    }
}



@media screen and (orientation: landscape) and (max-width: 767px) {
    .contact-btn {
        font-size: 1.2em;
    }
}