@media screen and (max-width: 1440px){
/*header*/

.header_logo {
    margin: 0 20px;
    padding: 18px 0;
    width: 25%;
}

.header_menu{
    display: none;
    visibility: hidden;
}
.nav{
    display: block;
    overflow: visible;
    }

/* ハンバーガーアイコンの設置スペース */
.drawer_open {
  display: flex;
  height: 60px;
  width: 60px;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 100;/* 重なり順を一番上にする */
  cursor: pointer;
}

/* ハンバーガーメニューのアイコン */
.drawer_open span,
.drawer_open span:before,
.drawer_open span:after {
  content: '';
  display: block;
  height: 3px;
  width: 25px;
  border-radius: 3px;
  background: #319fe8;
  transition: 0.5s;
  position: absolute;
}

/* 三本線の一番上の棒の位置調整 */
.drawer_open span:before {
  bottom: 8px;
}

/* 三本線の一番下の棒の位置調整 */
.drawer_open span:after {
  top: 8px;
}

/* アイコンがクリックされたら真ん中の線を透明にする */
#drawer_input:checked ~ .drawer_open span {
  background: rgba(255, 255, 255, 0);
}

/* アイコンがクリックされたらアイコンが×印になように上下の線を回転 */
#drawer_input:checked ~ .drawer_open span::before {
  bottom: 0;
  transform: rotate(45deg);
}

#drawer_input:checked ~ .drawer_open span::after {
  top: 0;
  transform: rotate(-45deg);
}
  
/* メニューのデザイン*/
.nav_content {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 100%; /* メニューを画面の外に飛ばす */
  z-index: 9999;
  background: #fff;
  transition: .5s;
}

/* メニュー黒ポチを消す */
.nav_list {
  list-style: none;
  margin-top: 72px;
  padding: 3% 4%;
}

.nav_item{
    padding: 8px 0;
    color: #00a384;
}

.nav_item img {
    width: 16px;
    margin-right: 8px;
    margin-top: -2px;
}

#drawer_input:checked ~ .nav_content {
  left: 70%;/* メニューを画面に入れる */
}


}



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


.header_logo {
    margin: 0 20px;
    padding: 18px 0;
    width: 25%;
}

    body{
        max-width:none;
        width: 100vw;
    }

    h1,h3{
        line-height: 1.7;
        text-align: left;
    }

    h2{
       font-size: 7vw;
        line-height: 1.7; 
    }

    p{
      margin: 12px 0;
    }

    main {
    box-sizing: border-box;
    }

    footer {
        padding: 7% 5%;
        background-size: cover;
    }

    .footer_content{
        margin-top: 20px;
    }


    .sp-none{
    overflow: hidden;
    display: none;
    }


    .pc-none{
    overflow: visible;
    display: inline;
    }

    .br-sp{
    display: inline;
    overflow: visible;
    }

    .br-pc{
    display: none;
    overflow: hidden;
    }





/*Footer*/

.footer_wrap{
  width: 100%;
}

.footer_wrap div {
    width: 90%;
    margin: 8px auto;
}

/*TOP*/

.top_farstview__title {
    top: 70%;
    left: 7%;
    }

.top_farstview__title h1 {
    font-size: 4.5vw;
}

.top_farstview__title p {
    font-size: 4vw;
}




.top_farstmessage {
    margin: 25% auto 12px;
    width: 90%;
}

.top_farstmessage h2 {
    font-size: 5vw;
}


.top_farstmessage p {
    font-size: 3vw;
}

.top_farstmessage__img {
        width: 7%;
        margin: 8vw auto 6vw;
    }

.interview__movie iframe{
    width: 90%;
    height: 55vw;
    display: block;
    margin: auto;
}

.footer_logo_wrap{
    margin: 0 auto;
    width: 18%;
}

.top_about, .top_interview, .top_training, .top_data, .top_info {
    width: 100%;
    padding: 5vw;
    margin: 0 auto;
    flex-wrap: wrap;
}

.top_about__img,.top_training__img_1 {
    width: 90%;
    margin: 12px auto;
}

.top_interview__menu{
  flex-wrap: wrap;
}

.top_interview__menu_element {
    width: 95%;
}

.top_training__text {
    width: 100%;
    text-align: left;
}

.top_training__img_2_wrap {
    width: 85%;
}

.top_training__img_2 {
  position: relative;  /* ← これがないと z-index が効かない */
  z-index: 1;          /* ← z-index:99 より下なのでハンバーガーメニューの裏に回る */
}


.top_info {
    height: 60vh;
}

.top_about__text div {
margin: 0 auto;
}

.top_info__text h2 {
    font-size: 2.2rem;
    line-height: 1.5;
}

/*TRAINING*/

.training_farstmessage{
  left: 0;
  margin-top: 40vw;
  width: 100%;
}

.subpage_farstview {
    margin-bottom: 30%;
}

.subpage_farstview__title {
    padding: 12px 20px;
    width: 85%;
    top: 90%;
    border-radius: 0 24px 24px 0;
}

.subpage_farstview__title h1 {
    line-height: 1.5;
    font-size: 32px;
}

.subpage_farstview__title p {
    margin: 0;
    padding: 4px;
}


.training_farstmessage h2 {
    font-size: 24px;
    padding-left: 8px;
    width: 90%;
    margin: 4% auto;
}

.training_flow__first_text_img_100 {
    width: 33%;
    right: 5%;
    top: -20%;
}

.training_flow__section {
    width: 95%;
    padding: 8px 8px 40px;
    left: 5%;
}

.training_flow__first_text p,.training_flow__second_contents1 p{
    width: 90%;
}

.training_flow__first_img {
    width: 95%;
}

.training_flow__second_contents1_img {
    width: 65%;
    top:0%;
    position: relative;
}

.training_flow__second_contents2_100 {
    width: 33%;
    left: auto;
    right: 5%;
    top: -28%;
}

.training_slide {
    background: linear-gradient(to right, #fff 0%, #fff 35%, #FFFFFF00 35%, #FFFFFF00 100%);
    padding: 24px 8px;
}

.training_flow__second_contents2_img {
    width: 95%;
    position: relative;
}

.training_flow__second_contents2 p,.training_flow__third_text p{
    width: 95%;
    padding-left: 0;
}

.training_flow__third_img {
    width: 95%;
    left: 0;
}

.training_slide h3 {
    padding: 12px;
}

.photols_slide__main,.contains,.slide{
    width: 90vw;
    height: 45vw;
  }

  .training_slide_text,.move_controler,.training_skillup  {
    width: 90vw;
  }

  .button_move {
    width: 18%;
}

.training_reskilling__wrap {
    flex-wrap: wrap;
  }

.training_reskilling__contents {
    width: 90%;
}

/*interview*/

.intaview_farstview__title h1 {
    font-size: 22px;
}

.intaview_farstview__title {
    padding: 16px;
    width: 80%;
}

.intaview_farstview__title p {
    margin: 0;
    padding-left: 0;
}

.intaview_farstview__title {
    position: relative;
    top: -20px;
}

.inteview_main__wrap {
    flex-wrap: wrap;
}

.inteview_main {
    width: 90%;
    margin: 8% auto;
}

.inteview_main__wrap .inteview_main__img,.inteview_main__wrap .inteview_main__text {
    width: 100%;
}

.inteview_farstmessage {
    width: 90%;
    margin: 3% auto;
}

.more_button {
    width: 100%;
}

.training_farstmessage p{
    width: 90%;
    margin: auto;

}

.header_wrapper {
    flex-wrap: nowrap;
}

.requirement_grid {
    margin: 0 5%;
}

.requirement_grid > table > tbody > tr {
    grid-template-columns: repeat(auto-fit, 100%);
}

main {
    margin-top: -40%;
    padding: 25% 0 0;
}

.photols_farstmessage {
    margin: 35% auto 12%;
    text-align: left;
    width: 90%;
}

.photols_farstmessage p {
    line-height: 1.75;
}

.photols_slide__title h2 {
    font-size: 26px;
    line-height: 1.2;
}

.photols_slide__title {
    padding: 3% 0 2%;
}

.photols_slide__title, .photols_slide__main {
    width: 90%;
    margin: 0 auto 3%;
}

.photols_slide {
    margin-bottom: 7%;
}

.scroll_button {
    height: 20px;
    width: 20px;
    top: 60%;
}

.scroll_next {
    right: 2%;
}

.scroll_prev {
    left: 2%;
}

.photols_wrap {
    padding: 24px 8px;
    width: 100%;
}

.photols_sns__text, .photols_sns__iconwrap {
    width: 90%;
}

.photols_sns__text p {
    width: 90%;
    text-align: left;
}

.photols_sns__icon {
    width: 50%;
}

.requirement_flow_img{
    width: 100%;
    height: auto;
}

.requirement_img {
    width: auto;
    padding: 16px;
    margin: 28px 3%;
}

.requirement_flow,.requirement_flow_comment {
    margin-left: 0;
}

.requirement_bottom p {
    transform: translate(1%, -750%);
}

button.requirement__button_entryPage {
        font-size: 18px;
        width: 90%;
        height: 60px;
        transform: translate(5%, -440%);
    }

.requirement_bottom {
    width: 90%;

}

.field {
    padding: 0; 
}

.es_step1 input, .es_step1 select {
    margin: 1% 0;
}

.footer_wrap div {
    width: 100%;
    margin: 8px auto;
    text-align: start;
}

.subpage_farstview__title p {
    font-size: 3.5vw;
}

.about_person__Limg, .about_idea_Rimg {
    width: 100%;
}

    .about_idea_grid {
        flex-wrap: wrap;
    }

        .about_idea_txt {
        width: 100%;
    }

    .about__head--center {
    font-size: 3.5vw;
}

.project__title {
    font-size: 3.5vw;
}

    .bContents__caption > h1 {
    font-size: 6vw;
    margin-bottom: 0%;
}
.about__head--center > h2 {
    font-size: 6vw;
    }

        .about__head--left {
        font-size: 3.5vw;
    }

        .about__head--left > h1 {
    font-size: 3.5vw;
    }

    .about__head--left .blue {
    font-size: 6vw;
    }

.sub_caption {
    font-size: 3.5vw;
}

.companyprofile_link {
    width: 60%;
    font-size: 3.5vw;
}

.inteview_main h2 {
    margin-top: 5%;
}

.entryform {
    margin-top: 45%;
}

.footer_wrap .footer_logo_wrap{
    width: 60%;
}

}

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


.header_logo {
    margin: 0 20px;
    padding: 18px 0;
    width: 35%;
}

}

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


#drawer_input:checked ~ .nav_content {
  left: 60%;/* メニューを画面に入れる */
}

}

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


#drawer_input:checked ~ .nav_content {
  left: 40%;/* メニューを画面に入れる */
}

}