@charset "UTF-8";

/*
Theme Name: kensyu_corpex
Description: xxxxxxx（テーマの説明）
Version: xxx
Author: xxx
*/

@media screen and (max-width:1600px){
  .header_contact_btn{
    display:none;
  }

  .header_inner{
    min-width:auto;
  }
}

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

  .header_inner{
    min-width:auto;
    padding:0;
    display:flex;
    align-items: center;
    justify-content: center;
  }
}

@media screen and (max-width:1200px){
  /* 下層ページ　CONCEPT */
.conceptArea{
  text-align:center;
  display:flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin:0;
  padding:0;
}

.concept_main_01_message{
  width:100%;
  height:auto;
  padding:200px;
}
.concept_main_01_img img{
  width:100%;
  display:block;
}

  .concept_main01{
   display:flex;
   flex-direction: column;
   width:auto;
   height:auto;
   margin:0;
   padding:0;
  }
  .concept_main02{
    display:flex;
    flex-direction: column;
    width:auto;
    height:auto;
    overflow-x: hidden;
   }
   .concept_main03{
    display:flex;
    flex-direction: column;
    width:auto;
    height:auto;
    overflow-x: hidden;
   }
  /* 下層ページ　CONCEPT */

  /* recruit */
  .recruitArea{
    text-align:center;
    display:flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin:0;
    padding:0;
  }

  .recruit_messageArea_flex{
    display:flex;
    flex-direction: column;
    margin-top:0;
  }
  /* recruit */
}

@media screen and (max-width:1050px) {
  /* recruit */
  .recruit_miryoku_flex,.recruit_miryoku_flex02{
    display:flex;
    flex-direction: column;
  }
}

@media screen and (max-width:767px) {
    body{
        font-size:16px;
        overflow-x: hidden;
        max-width:100%;
        box-sizing: border-box;
        margin:0;
        padding:0;
    }

    .heading-primary{
        font-size:28px;
    }
    .heading-primary02{
        font-size:28px;
    }
    

    .header_inner{
        min-width:auto;
        height:60px;
        display:flex;
        position:relative;
        align-items: center;
        justify-content:center;
        padding:0;
    }

    .header_gnav{
        display:none;
    }
    .header_contact_btn{
        display:none;
    }

    .header_logo{
        max-width:80%;
        width:180px;
    }

    /* ハンバーガーメニュー */
    #navbtn{ z-index:10001;  width:60px; height:60px; background:rgb(0, 106, 196); position:absolute; right:0;}
#navbtn span{ transition:all 0.5s; width:35px; height:2px; background:#fff; position:absolute;}
#navbtn span:nth-child(1){left:12px; top:20px;}
#navbtn span:nth-child(2){left:12px; top: 28px;}
#navbtn span:nth-child(3){left:12px; top:36px;}

.open span:nth-child(1){ transform:translateY(8px) rotate(45deg); }
.open span:nth-child(3){ transform:translateY(-8px) rotate(-45deg); }
.open span:nth-child(2){ top:17px; opacity:0; }

.opennav{ transform:translateX(-300px);}

.hamburger_list{ 
    z-index: 10000;
	transition:all 1s;
	width:300px; height:530px;
	position:absolute;
	right:0; top:60px;
	background:#006AC4;
	display:block;
	right:-300px; top:60px; position: fixed;
}

.hamburger_list ul{
	width:100%;
	padding:80px 0 0 0;
	margin:0;
}

.sm_menu_detail{
	width:50%;
}
.sm_menu_wide{
	width:100%;
}


.hamburger_list li{
    position:relative;
    width:100%;
	height:100%;
}

.hamburger_list ul li{ list-style:none; height:60px; }
.hamburger_list ul li:hover{ background:#fff;}
.hamburger_list ul li a{
	text-decoration:none;
	color:#fff;
    font-weight:bold;
	display:block;
	line-height:60px;
	padding:0;
	text-align:center;
	border:1px solid rgba(255,255,255,0.7);
    border-left:none;
    border-right:none;
}
.hamburger_list ul li a:hover{
    color:#006AC4;
}

    
    /* メインビジュアル */
    .mv{
        height:600px;
        overflow-x: hidden;
    }

    .mv_title{
        font-size:32px;
    }

    .mv_subtitle{
        font-size:20px;
    }

    /* information */
    .information_list{
        width:auto;
        height:auto;
    }
    .information_inner{
        padding-left:10px;
        padding-right:10px;
    }
    .information_item01{
        display:flex;
        flex-direction: column;
        padding-bottom:20px;
    }

    /* 下層ページ information */
    .information_cate_all{
      margin:0;
      justify-content: center;
    }

    .information_item02{
      display:flex;
      flex-direction: column;
      align-items: normal;
      padding:20px;
    }

    .information_btn02{
      width:220px;
    }

    .information_btn_text02{
      font-size:0.9em;
    }
    /* 下層ページ information */

    /* CONCEPT */
    .concept{
        height:auto;
    }
    .concept_inner{
        padding:40px;
    }
    .concept_title{
        font-size:18px;
        padding-top:20px;
    }
    .concept_subtitle{
        font-size:13px;
    }

    /* 下層ページCONCEPT */
    .conceptArea{
      text-align:center;
      display:flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      margin:0;
      padding:0;
    }

    .conceptArea h2{
      line-height:1;
      margin:20px 0 0 0;
      font-size:2.3em;
    }
    .conceptArea p{
      font-size:1.2em;
      line-height:1;
    }

    .concept_message{
      padding:0 20px;
    }

    .concept_message h3{
      font-size:1.2em;
    }
    .concept_message p{
      font-size:1em;
    }
    
    .concept_main_01_message{
      width:100%;
      height:auto;
      padding:80px 40px;
    }

    .concept_main_01_title{
      font-size:1.3em;
    }

    .concept_main_01_subtitle{
      font-size:14px !important;
    }

    .concept_main_01_text{
      font-size:16px !important;
    }

    .concept_main_01_img img{
      width:100%;
      display:block;
    }
    
      .concept_main01{
       display:flex;
       flex-direction: column;
       width:auto;
       height:auto;
       margin:0;
       padding:0;
      }
      .concept_main02{
        display:flex;
        flex-direction: column;
        width:auto;
        height:auto;
        overflow-x: hidden;
       }

       .concept_main_02_message{
        width:100%;
        height:auto;
        padding:80px 40px;
      }
  
      .concept_main_02_title{
        font-size:1.3em;
      }
  
      .concept_main_02_subtitle{
        font-size:14px !important;
      }
  
      .concept_main_02_text{
        font-size:16px !important;
      }
  
      .concept_main_02_img img{
        width:100%;
        display:block;
      }

       .concept_main03{
        display:flex;
        flex-direction: column;
        width:auto;
        height:auto;
        overflow-x: hidden;
       }

       .concept_main_03_message{
        width:100%;
        height:auto;
        padding:80px 40px;
      }
  
      .concept_main_03_title{
        font-size:1.3em;
      }
  
      .concept_main_03_subtitle{
        font-size:14px !important;
      }
  
      .concept_main_03_text{
        font-size:16px !important;
      }
  
      .concept_main_03_img img{
        width:100%;
        display:block;
      }

      .concept_sub_text{
        font-weight:normal;
        padding:0 10px;
        font-size:1.2em;
      }
    /* 下層ページCONCEPT */
  

    /* products */
    .products_list{
        display:flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        
    }
    .products_item{
        width:310px;
        margin-bottom:40px;
    }

    /* 下層ページ products */
    .products_messageArea_text{
      font-size:1.2em;
      padding:60px 0;
    }

    .products_body h2{
      font-size:1.5em;
      margin:60px 0;
    }

    .swiper-button-prev,
    .swiper-button-next {
      position:absolute;
      width: 40px !important;
      height: 40px !important;
      border-radius: 50%;
      background-color: #fff;
    }
  
    .swiper-button-prev {
      color:#006AC4;
      font-size:28px;
    }
    
    .swiper-button-next {
      color:#006AC4;
      font-size:28px;
    }

    .products_syu_list{
      display:flex;
      flex-direction:column;
      row-gap: 40px;
      padding:0 30px;
    }
    /* 下層ページ products */


    /* CONTACT */
    .contact_text01{
        font-size:18px;
    }
    .contact_text02{
        font-size:14px;
    }
    .contact_btnarea{
        display:flex;
        flex-direction: column;
    }
    .contact_btnarea_tel{
        margin-bottom:20px;
    }

    /* footer */
    .footer{
        width:auto;
        height:auto;
    }
    .footer_logo img{
        width:150px;
    }
    .footer_gnav_list{
        column-gap: 30px;
    }
    .footer_gnav_item{
        font-size:14px;
    }
    .footer_copyright{
        font-size:9px;
    }

    .pagetop_link{
        width:60px;
        height:60px;
    }
    .pagetop_icon{
        font-size:32px !important;
    }

    
      .l-inner {
        padding: 0 4rem;
      }
      .pc {
        display: none !important;
      }
      
      .slide{
        height: max(60vh, 60vw);
      }
      .mv01 .slide-media {
        height: max(60vh, 60vw);
      }

      .pc-tab {
        display: none !important;
      }
      .mv01 .slide-title {
        font-size: 1.5rem;
      }
      .mv01 .slide-text{
        font-size:1rem;
      }

      /* 下層ページCOMPANY */
      .company_messageArea_text h2{
        font-size:1.5em;
      }
      .company_list{
        display:flex;
        flex-direction: column;
        row-gap: 60px;
      }

      .company_item_img{
        margin:auto;
        max-width:100%;
      }

      .tb01 td{
        display:flex;
        flex-direction: column;
        text-align:center;
        border:none;
      }

      .tb_title{
        text-align:center;
        font-weight:bold;
        background-color:#00A88F;
      }

      .access_map{
        width:auto;
      }


      /* contact */
      form{
        display:flex;
        flex-direction: column;
        text-align:center;
        align-items: center;
        justify-content: center;
      }

      table .res_column{
        display:block;
        margin:0 auto;
      }

      table .res_column tr{
        display:flex;
        flex-direction: column;
      }

      table.res_column th,
    table.res_column td {
        display: block; /* セルをブロック要素に変更 */
        width: 100%; /* フル幅に */
        justify-content: center;
        border: none; /* 枠を消す */
        padding: 10px 0; /* 上下の余白を追加 */
    }

    .text_left{
      text-align:center !important;
    }

      .check{
        display:flex;
        flex-direction: column;
      }

      .contact_syosai{
        display:flex;
        flex-direction:column;
        text-align:center;
        align-items: center;
        justify-content: center;
      }

      .input{
        margin:0 auto;
        display:flex;
        justify-content: center;
      }

      textarea{
        margin:0 auto;
        display:flex;
        justify-content: center;
      }
      /* contact */

      /* recruit */
      .recruitArea{
        text-align:center;
        display:flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        margin:0;
        padding:0;
      }
  
      .recruitArea h2{
        line-height:1;
        margin:20px 0 0 0;
        font-size:2.3em;
      }
      .recruitArea p{
        font-size:1.2em;
        line-height:1;
      }

      .recruit_messageArea_flex h2{
        font-size:1.1em;
      }

      .recruit_top{
        margin-top:60px;
      }

      .recruit_body_text{
        margin:60px 10px;
      }

      .recruit_miryoku_title{
        font-size:20px !important;
      }

      .recruit_miryoku{
        padding:50px 20px;
        margin-left:10px;
        margin-right:10px;
      }

      .recruit_point{
        margin:80px 0;
      }

      .point_list{
        display:flex;
        flex-direction: column;
        row-gap: 50px;
      }

      .imgzone{
        display:flex;
        flex-direction: column;
        position:static;
        margin-bottom:80px;
      }

      .imgzone_02{
        position:static;
        margin-top:30px;
        display:flex;
        align-items: center;
        justify-content: center;
      }

      .entry{
        display:flex;
        flex-direction: column;
        position:static;
        margin-bottom:40px;
      }

      .entry_text{
        margin:0 10px;
      }

      .entry_text h2{
        font-size:1.4em;
        text-align:center;
      }

      .entry_icon{
        position:static;
        display:flex;
        align-items: center;
        justify-content: center;
      }
      /* recruit */
}

@media screen and (max-width:400px) and (min-width:300px) {

    body{
        overflow-x: hidden;
        margin:0;
        padding:0;
    }
    .header_inner{
        padding:0 0 0 70px;
    }
    .header_logo img{
        width:120px;
    }
    .mv{
        overflow-x: hidden;
        width:auto;
    }
    .concept{
        height:auto;
    }
    .concept_inner{
        padding:20px;
    }
    .footer_gnav_list{
        display:flex;
        flex-direction: column;
        row-gap: 10px;
        padding:0;
    }
    .footer_info{
        font-size:14px;
    }
    .footer_logo img{
        width:100px;
    }

    .l-inner {
        padding: 0 4rem;
      }
      .pc {
        display: none !important;
      }
      
      .slide{
        height: max(50vh, 50vw);
      }
      .mv01 .slide-media {
        height: max(50vh, 50vw);
      }

      .pc-tab {
        display: none !important;
      }
      .mv01 .slide-title {
        font-size: 1rem;
      }
      .mv01 .slide-text{
        font-size:0.5rem;
      }

      .products_messageArea_text{
        font-size:1em;
      }
    
      /* recruit */
      .recruit_miryoku{
        padding:50px 10px;
      }

      /* contact */
      table .res_column{
        display:block;
      }

      table .res_column tr{
        display:flex;
        flex-direction: column;
      }

      table.res_column th,
    table.res_column td {
        display: block; /* セルをブロック要素に変更 */
        width: 100%; /* フル幅に */
        justify-content: center;
        border: none; /* 枠を消す */
        padding: 10px 0; /* 上下の余白を追加 */
    }
}

@media screen and (max-width:400px) and (min-width:0px){
  
    /* information */
    .information_cate_all02{
      display:flex;
      flex-direction: column;
    }
}
