@media screen and (max-width: 959px) {
    /* 959px以下に適用されるCSS（タブレット用） */

}


@media screen and (max-width: 480px) {
    /* 480px以下に適用されるCSS（スマホ用） */

    .header-hamburger::before {
        top: 0;
    }

    .header-hamburger::before,
    .header-hamburger::after {
        content: '';
        position: absolute;
        left: 0;
        width: 100%;
        height: 2px;
        background-color: #FFF;
        border-radius: 2px;
        transition: transform 0.3s, opacity 0.3s, -webkit-transform 0.3s;
    }

    .header-hamburger .header-trigger-menu {
        position: absolute;
        left: 0;
        width: 100%;
        height: 2px;
        background-color: #FFF;
        border-radius: 2px;
        top: 8px;
        transition: transform 0.3s, opacity 0.3s, -webkit-transform 0.3s;
    }

    .header-hamburger::after {
        bottom: 0;
    }

    .hamburgerfixedspan,
    .hamburgerfixed::before,
    .hamburgerfixed::after {

        background-color: #333 !important;

    }

    .active span {
        opacity: 0;
    }

    .active::before {
        top: 12px;
        transform: rotate(45deg);
    }

    .active::after {
        top: 12px;
        transform: rotate(-45deg);
    }

    .hamburgerfixed::before,
    .hamburgerfixed::after {

        background-color: #333 !important;

    }


    .topvideo {
        display: none !important;
    }

    .sptopvideo {
        display: block !important;
        width: 100%;
        height: 100%;
        object-fit: cover;
        opacity: 1;
        transition: opacity 0.5s ease;
    }

    header h1 a {
         display: block;
        font-size: 1.5rem;
    }

    header h1 a img {
        width: 30px;
        height: 30px;
        margin: 6px 0 0 0;
    }

    .header-hamburger {
        position: fixed;
        z-index: 10;
        top: 23px;
        right: 21px;
        width: 24px;
        height: 19px;
        display: block;
    }

    header.fixed {
        height: 42px;
    }

    #g-nav {
        /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
        position: fixed;
        z-index: -1;
        /*ナビのスタート位置と形状*/
        top: -120%;
        left: 0;
        width: 100%;
        height: 365px;
        /*ナビの高さ*/
        background: #FFF;
        /*動き*/
        transition: all 0.6s;
    }

    /*アクティブクラスがついたら位置を0に*/
    #g-nav.panelactive {
        top: 0;
    }

    #g-nav .panelactive ul {
        display: block;
    }

    /*ナビゲーションの縦スクロール*/
    #g-nav.panelactive #g-nav-list {
        /*ナビの数が増えた場合縦スクロール*/
        position: fixed;
        z-index: -1;
        width: 100%;
        height: 100vh;
        /*表示する高さ*/
        overflow: auto;
        -webkit-overflow-scrolling: touch;
    }

    /*ナビゲーション*/
    #g-nav ul {
        /*ナビゲーション天地中央揃え*/
        position: absolute;
        z-index: -1;
        top: 61%;
        left: 33%;
        width: 100%;
        transform: translate(-50%, -50%);
    }

    /*リストのレイアウト設定*/

    #g-nav li {
        list-style: none;
        list-style: none;
        text-align: right;
        width: 100%;
        border-bottom: solid;
        border-width: 1px;
        border-color: gainsboro;
    }

    #g-nav li a {
        color: #333;
        text-decoration: none;
        padding: 10px;
        display: block;
        text-transform: uppercase;
        letter-spacing: 0.1em;
        font-weight: bold;
    }

    .top-text {
        top: 40%;
        left: 27px;
    }

    .top-text-content {
        font-size: 1.7rem;
        height: 37px;
    }

    .top-text-content2 {
        font-size: 1.2rem;
    }

    h2 {
        margin-top: 62px;
        font-size: 31px;

    }

    .discover_arrange,
    .direc_arrange,
    .design_arrange,
    .coding_arrange,
    .conslt_arrange,
    .maintenance_arrange {
        background: none;

    }

    .design,
    .code,
    .conslt,
    .maintenance {

        margin-top: 0px;
    }


    .discover_image,
    .direc_image,
    .code_image,
    .design_image,
    .conslt_image,
    .maintenance_image {
        display: none;
    }

    .discover_arrange {
        margin-top: 0px;
        width: 100%;
    }

    .ttl {
        margin-left: 18px;
        width: 100%;
        font-size: 1.3rem;
        text-align: left;
        font-weight: 100;
        margin-top: 0px;
    }

    .text01 {
        font-size: 1.0rem;
        color: #333;
        line-height: inherit;
        width: auto;
        margin: 10px 21px 0 21px;
    }

    .discover_image_sp,
    .direc_image_sp,
    .code_image_sp,
    .design_image_sp,
    .conslt_image_sp,
    .maintenance_image_sp {

        display: block;
        width: 100%;
    }

    .direc,
    .code {
        margin-right: 0px;
    }

    .works_content {
        display: block;
        width: 90%;
        margin: 0 auto;
    }

    .works_content_detail {
        overflow: initial;
    }

    .works_content_img {
        margin: 10px 0 10px 0;
        width: 190%;
        width: 190%;
    }

    .foot {
        width: 100%;
        display: block;
        margin: 0px;
        margin-top: 50px;
    }

    .foot li {
        padding: 0px;
        margin-bottom: 17px;
        display: block;
        border-bottom: solid;
        border-width: 1px;
        border-color: gainsboro;

    }

    .foot_logo {
        justify-content: center;
    }

    .foot_logo a {
        margin: 0px;
    }

    .foot_menu_nav li a {
        margin-left: 22px;
    }

    .small_PC {
        display: none;
    }

    .small_sp {
        width: auto;
        display: block;
        text-align: center;
        font-size: 1.1rem;
    }


}