@charset "utf-8";
@media screen and (max-width:768px) {
    .hidden_sp{
        display: none;
    }
    .hidden_pc{
        display: block;   
    }
    body{
        overflow-x: hidden;
    }
    header{
        display: flex;
        justify-content: center;
        align-items: center;
        height: 70px;
        position: fixed;
        z-index: 9999;
        width: 100%;
    }
    #header_logo{
        width: 40%;
        max-width: 200px;
        margin-left: 2%;
    }
    /* ハンバーガーメニュ開閉前 */
    #nav_toggle{
        width: 70px;
        height: 70px;
        position: relative;
    }
    #nav_toggle div{
        margin: 0 auto;
        width: 50px;
    }
    #nav_toggle span{
        display: block;
        width: 100%;
        max-width: 50px;
        height: 3px;
        background-color: #FFF;
        transition: .6s ease;
    }
    #nav_toggle span:nth-child(1){
        position: absolute;
        top: 10px;
    }
    #nav_toggle span:nth-child(2){
        position: absolute;
        top: 25px;
    }
    #nav_toggle span:nth-child(3){
        position: absolute;
        top: 40px;
    }
    #nav_toggle p{
        font-size: 14px;
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
    }
/* ナビ本体 */
    #g-nav{
        width: 100%;
        height: 100vh;
        background-color:#199b8d;
        color: #FFF;
        position: absolute;
        top: 70px;
        left: 0;
        z-index: 1000000;
        display: block;
        transform: translateX(200%);
        transition: 1s ease;
    }
    .open #g-nav{
        left: 0;
        transform: translateX(0);
    }
    #g-nav ul{
        width: 80%;
        margin: 50px auto;
        font-size: 25px;
        display: flex;
        flex-direction: column;
        gap: 3%;
        align-items: center;
        height: 59vh;
        justify-content: center;
        }
        #g-nav ul li{
        width: 80%;
        text-align: center;
        border: 1px solid #FFF;
        padding: 5% 10%;
        font-size: 20px;
        }

    #g-nav ul li a{
        color: #FFF;
    }
    #cta_buttons{
        display: none;

    }
/* ハンバーガーメニュー開閉後 */
    .open #nav_toggle span:nth-child(1){
        transform: rotate(45deg);
        position: absolute;
        top: 25px;
    }
    .open #nav_toggle span:nth-child(2){
        opacity: 0;
    }
    .open #nav_toggle span:nth-child(3){
        transform: rotate(-45deg);
        position: absolute;
        top: 25px;
    }
    /* セクション　FV */
    #FV{
        /* height: 466px; */
        height: 100vh;
        position: relative;
        overflow: hidden;
    }
    h1{
        width: 100%;
        /* height: 466px; */
        height: 100vh;
        background-image:url(../../top_images/main_img_sp.jpg);
        background-repeat: repeat-x;        /* 横に繰り返す */
        background-size: auto 100%;          /* 高さフィット */
        background-position: 0 0;
      
        animation: bg-scroll 120s linear infinite;
      
    }
    @keyframes bg-scroll {
        from {
          background-position: 0 0;
        }
        to {
          background-position: -2000px 0;
        }
      }
      h1 img{
        position: absolute;
        /* bottom: 70px; */
        bottom: 26%;
        transform: rotate(-20deg);
        width: 110%;
        left: 0%;


      }

      /* セクションABOUT */
      h2{
        line-height: 1.3em;
      }
      h2::after{
        height: 1px;
        bottom: -10px;
      }
      #about_inner{
        width: 95%;
        flex-direction: column;
        align-items: center;
        padding: 30px 0;
      }
      .flex_left,.flex_right{
        width: 100%;
      }
      #about_text{
        font-size: 15px;
        letter-spacing: 0;
        margin: 30px auto;
        text-align: center;
      }
      #about .flex_right{
        display: block;
      }
      .green_button{
        width: 70%;
        margin: 20px auto;
      }
      .green_button a{
        width: 100%;
      }
/* ここから事業案内セクション　＃work */
#work_inner{
    width: 95%;
}
#work::before{
    /* font-size: 60px;
    top: -22px; */

    font-size: clamp(60px,26vw,130px);
    top: -3%;
    font-weight: bold;
    z-index: -1;
    left: -3%;
    letter-spacing: -0.1em;
}

#work h2{
    font-size: 31px;
}
#work h2 span{
    font-size: 20px;
}
#work_right p{
    font-size: 15px;
    letter-spacing: .2em;
}
#work_right p::before{
    height: 1px;
}
#work_cardbox{
    flex-direction: column;
    align-items: center;
    gap: 10px;
}
.work_card{
    width: 80%;
    height: auto;
    padding-bottom: 15px;
    margin-bottom: 15px;
}
#work h3{
    font-size: 23px;
}
#work h3 span{
    font-size: 15px;
}
#work h4{
    font-size: 15px;
}

/* ここから強みセクションSTRENGTHS */
#strengths{
    background-image: none;
}
#strengths_inner{
    width: 95%;
}
#strengths ul{
    margin: 0;
}
#strengths ul li:nth-last-of-type(1)::after{
    content: "";
    width: 100%;
    height: auto;
    background-image: url(../../top_images/strengths_bgimg.png);
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    top: 57px;
    right: -12px;
    z-index: -2;
    aspect-ratio: 887/524;
    
}
#strengths_inner::before{
    top: 419px;
    right: -532px;
    font-size: 120px;
    white-space: nowrap;
    letter-spacing: -.01em;
    z-index: -1;

}
#strengths h2{
    margin: 25px auto 65px;
    font-size: 31px;
}
#strengths h2 span{
    font-size: 20px;
}
#strengths ul{
    margin-bottom: 35vw;

}
#strengths h3{
    font-size: 22px;
    letter-spacing: -.1em;
}
#strengths h4{
        font-size:15px ;
        letter-spacing: -.1em;
        margin-bottom: 60px;
        margin-top: 5px;
        line-height: 1.2em;
        font-weight: normal;
}
#strengths_left{
    width: 100%;
}
#strengths_left ul li{
    text-align: center;
    padding: 0;
}
#strengths_left ul li:nth-child(1)::before{
    font-size: 30px;
    top: -36px;
    left: 50%;
    transform: translateX(-50%);
    font-weight: bold;
}
#strengths_left ul li:nth-child(2)::before{
    font-size: 30px;
    top: -36px;
    left: 50%;
    transform: translateX(-50%);
    font-weight: bold;

}
#strengths_left ul li:nth-child(3)::before{
    font-size: 30px;
    top: -36px;
    left: 50%;
    transform: translateX(-50%);
    font-weight: bold;

}
#strengths_left ul li:nth-child(4)::before{
    font-size: 30px;
    top: -36px;
    left: 50%;
    transform: translateX(-50%);
    font-weight: bold;

}
#strengths_left ul li:nth-child(5)::before{
    font-size: 30px;
    top: -36px;
    left: 50%;
    transform: translateX(-50%);
    font-weight: bold;
}
#contact_button{
    width: 60%;
    margin: 55vw auto 1.5vw;
}

/* ここからスライドセクション　slid */
    #slid{
        height: 225px;
    }
    #slid_1,#slid_2{
        height: 110px;
    }
/* ここから採用情報セクション　recruit */
    #recruit h2{
        font-size: 30px;
        margin: 17px 0;
    }
    #recruit span{
        font-size: 20px;
    }
    #recruit::before{
        top: -18px;
        opacity: .3;
        font-size: 50px;
    }
    #recruit>p{
        font-size: 15px;
        margin: 40px auto;
        letter-spacing: .1em;
        line-height: 1.8;
    }
    #recruit_card>h3{
        font-size: 32px;
        padding: 60px 0;
    }
    #recruit_card>h3::before{
        font-size: 80px;
        top: 23px;
    }
    #recruit_3good h3{
        font-size: 24px;
        letter-spacing: .01em;
        padding-bottom: 40px;
        margin-bottom: 70px;
        padding-top: 60px;
    }
    #recruit_3good h3::before{
        font-size: 80px;
        white-space: nowrap;
        top: 24px;
    }
    #recruit_3good ul{
        text-align: center;
        margin-top: 40px;
        padding-bottom: 1px;

        width: 100%;
        transform: translateX(0);
    }
    #recruit_3good ul li{
        width: 95%;
        margin-bottom: 55px;
    }
    #recruit_3good ul h4{
        font-size: 20px;
        white-space: nowrap;
        padding: 1% 4%;
        
    }
    #recruit_3good ul h5{
        font-size: 16px;
        padding: 20px 8px 35px;
        margin-left: 0;
        letter-spacing: .1em;
    }
    #recruit_3good ul li:nth-child(1)::before{
        font-size: 45px;
        top: -60px;
        left: 50%;
        transform: translateX(-50%);
    }
    #recruit_3good ul li:nth-child(2)::before{
        font-size: 45px;
        top: -60px;
        left: 50%;
        transform: translateX(-50%);
    }
    #recruit_3good ul li:nth-child(3)::before{
        font-size: 45px;
        top: -60px;
        left: 50%;
        transform: translateX(-50%);
    }

    #recruit_cardbox{
        padding-left: 10%;
        overflow-x: scroll;
        justify-content: flex-start;
    }
    #recruit_cardbox a{
        width: 300px;
        display: block;
    }

    #recruit_card_1{
        width: 300px;
        height: 414px;
    }
    #recruit_card_1 a h3{
        font-size: 19px;
    }
    #recruit_card_1 a h3 span{
        font-size: 11px;
    }
    #recruit_card_1 h3::before{
        height: 33px;
    }
    #recruit_card_2{
        width: 300px;
        height: 414px;
        margin-right: 10%;
    }
    #recruit_card_2 a h3{
        font-size: 19px;
    }
    #recruit_card_2 a h3 span{
        font-size: 11px;
    }
    #recruit_card_2 h3::before{
        height: 33px;
    }
    .recruit_info dl{
        font-size: 12px;
        grid-template-columns: 70px 1fr;
    }
    #recruit_button{
        width: 80%;
        padding: 8px;
    }
    #recruit_button span{
        font-size: 10px;
    }
    #recruit_button a{
        font-size: 16px;
    }

      /* go-top */
      #go-top{
        width: 60px;
        height: 60px;
        bottom: 110px;
        right: 2%;
        z-index: 999999;
        display: none;
      }

      /* ここからフッター */
        #footer_inner{
            flex-direction: column;
            width: 90%;
            padding: 20px 0;
        }
        .footer_nav {
            font-size: 16px;
            font-weight: bold;
          }
          .footer_nav li {
            font-size: 13px;
            font-weight: normal;
        }  
        #footer_inner_left{
            width: 80%;
        }
        #footer_inner_left{
            width: 60%;
        }
        #footer_inner_left>div{
            width: 100%;
        }
        #footer_inner_left address p:nth-child(1){
            font-size: clamp(13px,3vw,18px);
            letter-spacing: .001em;
            white-space: nowrap;
        }
        #footer_inner_left address p:nth-child(2) {
            font-size: clamp(13px,3vw,18px);
            letter-spacing: 0.01em;
            white-space: nowrap;
          }
        #footer_inner_right{
            width: 80%;
            margin: 20px auto;
        } 
        #footer_contact,#footer_tel{
            height: 50px;
        }
        #footer_contact span:nth-child(1){
            letter-spacing: .1em;
        }

        #footer_contact span:nth-child(2){
            font-weight: bold;
            font-size: 20px;
            letter-spacing: .05em;
        }
        #footer_tel span:nth-child(2){
            font-size: 26px;
            font-weight: bold;
        }
        footer nav::before{
            width: 90%;
        }
        footer nav::after{
            width: 90%;
        }
        footer nav{
            display: grid;
            grid-template-columns: repeat(2,1fr);
            gap: 10px;
            width: 90%;
            padding: 20px;
        }
        .footer_nav{
            width: 90%;
        }
        footer{
            padding-bottom: 100px;
        }

      /*CTAボタン下部fixed  */
      #cta_buttons_fixd{
        width: 100%;
        margin: 0 auto;
        position: fixed;
        bottom: 0px;
        left: 50%;
        transform: translateX(-50%);
        background: rgba(10, 22, 14, 0.6); /* 透明度 */
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px); /* Safari対策 */
        padding: 7px;
        z-index: 999999;
        display: none;
      }
      #cta_tel_fixed{
        width: 90%;
        margin: 0 auto 5px;
      }
      #cta_tel_fixed a{
        color: #199b8d;
        font-weight: bold;
        line-height: 2;
      }
      /* ???アイコン調整不可 */
      #cta_tel_fixed.material-symbols-outlined{
        color: #199b8d;
        transform: translateY(15%);
      }
      #cta_flex_fixed{
        gap: 5px;
        margin: 0 5px;
      }
      #cta_flex_fixed a{
        color: #FFF;
        font-weight: bold;
      }




      


        /* 右スクロール修正? */
        #about,#work,#strengths,#recruit {
            overflow: hidden !important;
            }
        html, body {
                overflow-x: hidden;
                position: relative;
                width: 100%;
            }
        #FV{
            overflow: hidden !important;
        }    
        


}
@media screen and (max-width:1326px){
    /* #strengths ul {
        margin-bottom: 310px;
      } */
      #recruit_cardbox{
        padding-left: 10%;
        overflow-x: scroll;
        justify-content: flex-start;
    }
    #recruit_cardbox a{
        width: 300px;
        display: block;
    }

    #recruit_card_1{
        width: 300px;
        height: 414px;
    }
    #recruit_card_1 a h3{
        font-size: 19px;
    }
    #recruit_card_1 a h3 span{
        font-size: 11px;
    }
    #recruit_card_1 h3::before{
        height: 33px;
    }
    #recruit_card_2{
        width: 300px;
        height: 414px;
        margin-right: 10%;
    }
    #recruit_card_2 a h3{
        font-size: 19px;
    }
    #recruit_card_2 a h3 span{
        font-size: 11px;
    }
    #recruit_card_2 h3::before{
        height: 33px;
    }
    .recruit_info dl{
        font-size: 12px;
        grid-template-columns: 70px 1fr;
    }
    #recruit_button{
        font-size: clamp(13px,1.5vw,18px);
    }
    /* #recruit_button{
        width: 80%;
        padding: 8px;
    }
    #recruit_button span{
        font-size: 10px;
    }
    #recruit_button a{
        font-size: 16px;
    } */

    }

