@charset "UTF-8";
/* CSS Document */
/*------------------------------------------------
 add.css
------------------------------------------------*/
/* 共通パーツ */
body{
  min-width: unset;
}
#header {
  min-width: unset;
}
.wrapper{
  width: 100%;
  max-width: 930px;
}
footer .wrapper, .home .wrapper, .recruit .wrapper{
  padding-left: 15px !important;
  padding-right: 15px !important;
}

/* ヘッダー */
.head_nav_box{
  display: none;
}
/* ボタンアニメーション */
.nav_toggle {
  position: fixed;
  cursor: pointer;
  top: 19px;
  right: 15px;
  width: 50px;
  height: 50px;
  border-radius: 5px;
  z-index: 6000;
}
.nav_toggle span {
  display: inline-block;
  background: #dddddd;
  position: absolute;
  border-radius: 2px;
  width: 45%;
  left: 14px;
  height: 3px;
  transition: all .4s;
}
.nav_toggle span:nth-of-type(1) {
  top: 15px;
}
.nav_toggle span:nth-of-type(2) {
  top: 23px;
}
.nav_toggle span:nth-of-type(3) {
  top: 31px;
}
.nav_toggle.active span:nth-of-type(1) {
  top: 18px;
  left: 18px;
  transform: translateY(6px) rotate(-45deg);
}
.nav_toggle.active span:nth-of-type(2) {
  opacity: 0;
}
.nav_toggle.active span:nth-of-type(3) {
  top: 30px;
  left: 18px;
  transform: translateY(-6px) rotate(45deg);
}
/* メニューアニメーション */
.nav_menu {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 0;
  background-color: #595757;
  text-align: center;
  opacity: 1;
  overflow: auto;
  transition: height .3s cubic-bezier(.6, 0, .2, 1) .1s;
  z-index: 4000;
}
.nav_menu .nav_wrap {
  max-width: 420px;
  opacity: 0;
  transition: opacity .3s cubic-bezier(.6, 0, .2, 1) 0s;
  padding: 0 15px;
	margin: 85px auto
}
.nav_menu.is_open {
  height: 100%;
}
.nav_menu.is_open .nav_wrap {
  transition: opacity .7s ease .4s;
  opacity: 1;
}
/* コンテンツ */
.nav_menu .nav_logo {
  display: block;
  width: 100%;
  max-width: 280px;
  margin: 0 auto;
}
.nav_menu .nav_logo img {
  width: 100%;
}
.nav_menu .nav_direction {
  list-style: none;
  margin: 45px 0;
}
.nav_menu .nav_direction li a {
  display: block;
  text-align: center;
  color: #fff;
  font-size: 16px;
  text-decoration: none;
  border-bottom: 1px solid #d3d5d5;
  padding-bottom: 20px;
  margin-bottom: 20px;
}

/* HOME */
#slider_container {
  width: calc(100% - 50px);
  margin: 0 auto;
}
#slider {
  width: 100%;
  max-width: 900px;
}
#slider *{
  width: 100%;
  height: 100%;
}
#slider img{
  object-fit: cover;
  width: 100% !important;
  height: 100% !important;
}
#slider_copy_a {
  text-shadow: 0 0 10px #00000040;
}
#slider_copy_b {
  text-shadow: 0 0 10px #0000008c;
}

/* 会社概要 */
#company_01 {
  height: auto;
  min-height: 225px;
}
.company_01_img{
  display: none;
}

/* お問い合わせ */
.form_group_row .wpcf7-not-valid-tip {
  display: block;
  font-size: 14px;
  line-height: 30px;
  margin-top: 1px;
}
.wpcf7 form .wpcf7-response-output {
  font-size: 16px;
  line-height: 30px;
  margin: 15px 0;
  padding: 10px 15px 5px;
}


/*------------------------------------------------
 レスポンシブ　　　max-width:1199px
------------------------------------------------*/
@media screen and (max-width:1199px) {
  .slider-prev-btn, .slider-next-btn{
    width: 17px;
  }
  .slider-prev-btn {
    left: -30px;
  }
  .slider-next-btn {
    right: -30px;
  }
}

/*------------------------------------------------
 レスポンシブ　　　max-width:991px
------------------------------------------------*/
@media screen and (max-width:991px) {
  #header_nav{
    display: none;
  }
  .head_nav_box{
    display: block;
  }
  #main.main-row {
    padding-left: 15px;
    padding-right: 15px;
  }
  #site_id {
    padding: 15px;
    width: 235px;
  }
  #greeting {
    display: block;
    column-count: 1;
  }
  #greeting p {
    line-height: 35px;
  }
  #company_01 {
    background: none;
    margin-bottom: 0;
  }
  .company_01_img {
    display: block;
    max-width: max-content;
    width: calc(100% - 23px);
    padding-left: 23px;
    margin: 5px 0 10px;
  }
  .article_images {
    margin: 0px 0px 25px 0px;
  }
  .recruit-container #recruit-introduction{
    margin-top: 28px;
  }
  .works-row-group:first-of-type {
    padding-top: 12px;
  }
  .interview-row-group{
    display: grid;
    gap: 15px;
  }
  .interview-row-group:first-of-type {
    margin-top: 8px;
  }
  .interview-row-group .intervew-main{
    display: contents;
    float: unset;
  }
  .interview-row-group .intervew-main-title{
    order: 1;
  }
  .interview-row-group .interview-image{
    order: 2;
    float: unset;
    width: 100%;
    max-width: 400px;
    margin: 0 auto;
  }
  .interview-row-group .intervew-main-caption{
    order: 3;
  }
  #recruit-introduction #pickups{
    margin: 0;
  }
  #recruit-introduction #pickups dl{
    float: unset;
    width: unset;
    margin: 0 0 30px;
  }
  #recruit-introduction #pickups dt{
    margin-bottom: 8px;
  }
  #recruit-movie .movie-group-row{
    display: flex;
    flex-wrap: wrap;
    flex-direction: column-reverse;
    margin-top: 15px;
  }
  #recruit-movie .movie-group-row .movie-caption{
    float: unset;
    width: 100%;
    margin-top: 15px;
  }
  #recruit-movie .movie-group-row .movie-container{
    float: unset;
    width: 100%;
  }
  #recruit-movie .movie-group-row .movie-container iframe{
    aspect-ratio: 16/9;
    height: 100%;
    width: 100%;
  }
}

/*------------------------------------------------
 レスポンシブ　　　max-width:767px
------------------------------------------------*/
@media screen and (max-width:767px) {
  #slider_container {
    width: calc(100% + 30px);
    margin: 0 -15px;
  }
  #slider {
    height: 250px;
  }
  #slider_copy {
    padding-top: 80px;
  }
  #slider_copy_a {
    font-size: 60px;
  }
  #slider_copy_b {
    font-size: 20px;
  }
  .slider-prev-btn, .slider-next-btn {
    z-index: 10;
  }
  .slider-prev-btn {
    left: 10px;
  }
  .slider-next-btn {
    right: 10px;
  }
  .company_section_body table tr{
    display: block;
    width: 100%;
  }
  .company_section_body table th, .company_section_body table td{
    display: block;
    padding: 0;
    width: 100%;
  }
  .company_section_body table th{
    border-bottom: 1px solid #333;
    padding-top: 0 !important;
    padding-bottom: 10px;
    margin-bottom: 10px;
  }
  .company_section_body table td{
    padding: 0 !important;
    margin-bottom: 25px;
  }
  .recruit-container .recruit-large-text {
    font-size: 24px;
    line-height: 45px;
  }
  #form_container{
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .form_group{
    width: 100%;
  }
  .form_group .form_group_row, 
  .form_group .form_group_row dt,
  .form_group .form_group_row dd {
    display: block;
    width: 100%;
  }
  .form_group .form_group_row dt{
    padding-bottom: 0;
  }
  .form_group .form_group_row dd{
    padding-top: 0;
  }
  .form_group .form_group_row input{
    width: 100%;
  }
}

/*------------------------------------------------
 レスポンシブ　　　max-width:480px
------------------------------------------------*/
@media screen and (max-width:480px) {
  #slider_copy_a {
    font-size: 45px;
  }
  .article_images{
    width: calc(100% - 13px);
  }
  .article_images figure{
    width: 100%;
  }
}
