/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

.spOnly{
  display: none;
}

.flex{
  display: flex;
}
.lnlineBlock{
  display: inline-block;
}

/* -------------link */
.page-content a.noUnderline,
.page-content .postList_cnt a{
  text-decoration:none;
}

/* -------------font */
.roboto{
  font-family: "Roboto", sans-serif;
  font-style: normal;
}
.txtCenter{
  text-align: center;
}

/* -----------------------------header */
.header__siteTitle{
  width: 240px;
}

/* -----------------------------hero */
.heroViewImg img{
  object-position: bottom;
}


/* ----------------------------footer */
.footer__menuArea li,
.footer__menuArea a{
  color:var(--e-global-color-primary);
}

.footer__menuArea li{
  list-style-type: none;
  margin-bottom: 1.2rem;
}
.footer__menuArea li .sub-menu{
  margin-top: 29px;
  padding-left: 0;
}

/* -----------------------------初期設定マージン削除 */
.mb0 p{
  margin-bottom: 0;
}
.mbe_half p{
  margin-block-end: 0.5rem;
}

/* -----------------------------reveal-text */
.catch{
  display: inline-block;
    padding: 0.2em 0.5em;
    opacity: 0;

}

.reveal-text,
.reveal-text::after {
  -webkit-animation-delay: var(--delay, 0);
          animation-delay: var(--delay, 0);
  -webkit-animation-iteration-count: var(--iterations, 1);
          animation-iteration-count: var(--iterations, 1);
  -webkit-animation-duration: var(--duration, 800ms);
          animation-duration: var(--duration, 800ms);
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-timing-function: cubic-bezier(0.0, 0.0, 0.2, 1);
          animation-timing-function: cubic-bezier(0.0, 0.0, 0.2, 1);         
}

.reveal-text {
  --animation-delay: var(--delay, 0);
  --animation-duration: var(--duration, 800ms);
  --animation-iterations: var(--iterations, 1);
  position: relative;
  -webkit-animation-name: clip-text;
          animation-name: clip-text;
  cursor: default;
}

.reveal-text::after {
    content: "";
    position: absolute;
    z-index: 999;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color:var(--e-global-color-accent);
    transform: scaleX(0);
    transform-origin: 0 50%;
    pointer-events: none;
    -webkit-animation-name: text-revealer;
            animation-name: text-revealer;
  }
  .catch.reveal-text{
    opacity: 1;
    background-color:var(--e-global-color-primary);
  }


@-webkit-keyframes clip-text {
  from {
    -webkit-clip-path: inset(0 100% 0 0);
            clip-path: inset(0 100% 0 0);
  }
  to {
    -webkit-clip-path: inset(0 0 0 0);
            clip-path: inset(0 0 0 0);
  }
}


@keyframes clip-text {
  from {
    -webkit-clip-path: inset(0 100% 0 0);
            clip-path: inset(0 100% 0 0);
  }
  to {
    -webkit-clip-path: inset(0 0 0 0);
            clip-path: inset(0 0 0 0);
  }
}


@-webkit-keyframes text-revealer {
  
  0%, 50% {
    transform-origin: 0 50%;
  }
  
  60%, 100% {
    transform-origin: 100% 50%;   
  }

  
  60% {
    transform: scaleX(1);
  }
  
  100% {
    transform: scaleX(0);
  }
}


@keyframes text-revealer {
  
  0%, 50% {
    transform-origin: 0 50%;
  }
  
  60%, 100% {
    transform-origin: 100% 50%;   
  }

  
  60% {
    transform: scaleX(1);
  }
  
  100% {
    transform: scaleX(0);
  }
}


/* -----------------------------Greeting */
.greet_imgBox{
  position: relative;
  transition: 2s;
}
.greet_imgBox::before{
  position: absolute;
  left: 30%;
  top: 20%;
  z-index: 0;
}

/* -----------------------------アニメーションマスク */

/* .is-animated,
.is-animated::after {
  -webkit-animation-delay: var(--delay, 0);
          animation-delay: var(--delay, 0);
  -webkit-animation-iteration-count: var(--iterations, 1);
          animation-iteration-count: var(--iterations, 1);
  -webkit-animation-duration: var(--duration, 800ms);
          animation-duration: var(--duration, 800ms);
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-timing-function: cubic-bezier(0.0, 0.0, 0.2, 1);
          animation-timing-function: cubic-bezier(0.0, 0.0, 0.2, 1);         
}

.is-animated {
  --animation-delay: var(--delay, 0);
  --animation-duration: var(--duration, 800ms);
  --animation-iterations: var(--iterations, 1);
  position: relative;
  -webkit-animation-name: clip-text;
          animation-name: clip-text;
  color: #FFF;
  cursor: default;
}

.is-animated::after {
    content: "";
    position: absolute;
    z-index: 999;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    transform: scaleX(0);
    transform-origin: 0 50%;
    pointer-events: none;
    -webkit-animation-name: text-revealer;
            animation-name: text-revealer;
  }
  @-webkit-keyframes clip-text {
    from {
      -webkit-clip-path: inset(0 100% 0 0);
              clip-path: inset(0 100% 0 0);
    }
    to {
      -webkit-clip-path: inset(0 0 0 0);
              clip-path: inset(0 0 0 0);
    }
  }
    
  @keyframes clip-text {
    from {
      -webkit-clip-path: inset(0 100% 0 0);
              clip-path: inset(0 100% 0 0);
    }
    to {
      -webkit-clip-path: inset(0 0 0 0);
              clip-path: inset(0 0 0 0);
    }
  }
  
  
  @-webkit-keyframes text-revealer {
    
    0%, 50% {
      transform-origin: 0 50%;
    }
    
    60%, 100% {
      transform-origin: 100% 50%;   
    }
  
    
    60% {
      transform: scaleX(1);
    }
    
    100% {
      transform: scaleX(0);
    }
  }
  
  
  @keyframes text-revealer {
    
    0%, 50% {
      transform-origin: 0 50%;
    }
    
    60%, 100% {
      transform-origin: 100% 50%;   
    }
  
    
    60% {
      transform: scaleX(1);
    }
    
    100% {
      transform: scaleX(0);
    }
  }

  .mask-bg{
    opacity: 0;
  }
  .mask-bg.is-animated{
    opacity: 1;
  }
  .mask-bg-ac.is-animated::after {
    background-color: var(--e-global-color-accent);
  } */

/* ---------------------------company */
.history_column::before{
  content: "";
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background-color: var(--e-global-color-accent);
  position: absolute;
  top: 8px;
  left: -6px;
}

/* --------------------------主要取引先 */
.suppliers_list{
  line-height:1.75;
}
.suppliers_list dt{
	width:14%;
	min-width:100px;
}
.suppliers_list dd{
	width:86%;
	margin-left:0;
	margin-bottom:0.5rem;
}
.suppliers_list dt span,
.suppliers_list dd span{
	display:inline-block;
}
.suppliers_list dd.suppliers_list__desc span{
  margin-right: 0.7em;
}

/* ------------環境方針 */
.env_dire ol{
  list-style-position:inside;
  padding-left: 0;
}
.env_dire ol li{
  border-bottom: 1px dotted #C5C5C5;
  margin-bottom: 8px;
}

/* ----------------------------------採用情報 */


/* --------------数字で見る */
.elementor-counter-number-wrapper .elementor-counter-number-suffix{
  font-size: 28px;
  align-self: end;
}
/* ----------------------------------募集要項一覧 */
.requirements__bread{
  background-color: var(--e-global-color-935d1c0);
  padding: 16px;
}
.requirements__bread a{
  color: var(--e-global-color-accent);
}
.requirements__bread_home{
  margin-right: 5px;
}
.bread__separator{
  padding: 0 2px;
}

.archive_requirements_content{
  margin: 80px 0;
}
.archive_requirements_content p{
  font-size: 18px;
}


.requirements__postList{
  list-style-type: none;
  margin: 40px 0;
  padding:80px 0;
  justify-content: center;
  border-top: 1px solid #DEDEDE;
  border-bottom: 1px solid #DEDEDE;
}

.requirements__postList .requirements__postListItem{
  width: 23%;
  border-bottom:2px solid var(--e-global-color-accent);
  padding-bottom: 0.8em;
}
.requirements__postList .requirements__postListItem a{
  color: var(--e-global-color-secondry);
  text-decoration: none;
  text-align: center;
  display: block;
}
.requirements__postList .requirements__postListItem a .requirements__title{
  font-size: 24px;
  margin: 0;
}
.requirements__postList .requirements__postListItem a .fas{
  transition: 0.5s;
  margin-left: 1em;
  padding: 2px 8px;
  border-radius: 50%;
  border: 2px solid var(--e-global-color-secondary);
}
.page-content  .archive_requirements_btn{
  background-color: var(--e-global-color-accent);
  color: var(--e-global-color-secondary);
  max-width: 200px;
  margin: 40px auto 0;
  display: block;
  font-size: 16px;
  line-height: 1;
  font-weight: 600;
  text-decoration: none;
  border-radius: 5px;
  padding: 20px 40px;  
}

/* ----------------------------------募集要項詳細 */

.jobDescription__wrapper{
  margin-top: 40px;
}

.position,.status{
  vertical-align: middle;
  display: inline-block;
}
.status{
  font-size: 18px;
  font-weight: 700;
  padding: 0.5em 0.3em;
  background-color: var(--e-global-color-accent);
  margin-left: 1em;
}
.JDmarginB{
  margin-bottom: 0;
}

.jobDescription_list .flex{
  align-items: stretch;
}

.jobDescription_list dt{
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 20%;
  font-weight: 700;
  border-bottom: 1px solid var(--e-global-color-accent);
}
.jobDescription_list dd{
  width: 80%;
  padding-bottom: 1em;
  line-height: 1.75;
  border-bottom: 1px solid #DEDEDE;
  padding: 20px 0;
}

/* --------------採用エントリーフォーム */
label.flex{
  align-items: center;
  justify-content: center;
  border-bottom: 1px solid var(--e-global-color-2cd5d80);
}

.cntctItem{
  display: inline-block;
  width: 35%;
}

.wpcf7-form-control-wrap{
  width: 60%;
}
.submit_wrap{
  text-align: center;
}

.wpcf7cp-cfm-edit-btn{
  background-color: var( --e-global-color-primary )!important;
  max-width: 176px!important;
  padding: .5rem 1rem!important;
  color: #FFF!important;
  border-width: 1px!important;
}



/* ----------------------------------サイトマップ */
.sitemap_wrapper a{
  color: black;
  text-decoration: none;
}


/* ----------------------------------hover */
@media (any-hover: hover) {
  .job_st_link:hover,
  .interviewItem:hover{
    opacity: 0.8;
  }
  .requirements__postList .requirements__postListItem a:hover .fas{
    background-color: var(--e-global-color-secondary);
    color: #FFF!important;
  }
  .wpcf7cp-cfm-edit-btn:hover{
    background-color:#FFF!important;
    color: var(--e-global-color-primary)!important;
  }
}

@media screen and (min-width:2000px){
  .rec_pagettl{
    background-size: 100% auto!important;
  }
}

@media screen and (max-width:1160px){
  .suppliers_list .flex{
    flex-direction: column;
  }
  .suppliers_list dd{
    width: 100%;
  }
}
@media screen and (max-width:1024px){
  .header_nav_sp .hfe-nav-menu__toggle{
    margin: 0 0 0 auto!important;
  }
  }
  @media screen and (max-width:1024px) and (min-width:768px){
    .header_nav_sp .hfe-nav-menu-icon{
          position: absolute;
          right: 0.0em;
          top: -2.5em;
    }
  }

/* ----------------------------------【sp】 */
@media screen and (max-width:767px){

  .hfe-nav-menu__toggle{
    position: absolute!important;
    right: 1em;
    top: -2.5em;
  }
  .suppliers_list dd.suppliers_list__desc span{
    display: block;
  }
}
@media screen and (max-width:520px) {
  
  .spOnly{
    display: block;
  }

  /* ----------------------------ヘッダー */
  .ehf-header #masthead{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 9999;
  }

  .header_nav_sp .hfe-nav-menu__layout-horizontal .hfe-nav-menu{
    overflow-x: hidden;
  }
  .hfe-nav-menu__toggle{
    right: 0.5em;
    top: -1.6em;
  }

  /* -----------------------------フッター */
  .footer__menuArea ul{
    padding-left: 0;
  }
  .footer__menuArea li{
    margin-bottom: 15px;
  }
  .footer__menuArea li .sub-menu{
    margin-top: 15px;
  }

  /* -----------------------------ごあいさつ */
  .greet_imgBox::before{
    left: 25%;
    top: 25%;
  }

  /* -----------------------------新着情報 */
  .postList_cnt .ha-post-list .ha-post-list-item,
  .postList_cnt .ha-post-list .ha-post-list-item img{
    width: 100%;
  }

  /* ------------------募集要項一覧 */

  .archive_requirements_content{
    margin-top: 60px;
    padding: 0 10px;
  }
  .archive_requirements_content p{
    font-size: 15px;
  }
  .requirements__postList{
    padding: 60px 0;
  }
  .requirements__postList .requirements__postListItem{
    width: 45%;
    padding-bottom: 0.5em;
  }
  .requirements__postList .requirements__postListItem a .requirements__title{
    font-size: 20px;
  }
  .requirements__postList .requirements__postListItem a .fas{
    padding: 0 6px;
  }
  /* ------------------募集要項詳細*/
  .jobDescription__wrapper{
    padding:0 10px;
  }
  .jobDescription_list{
    margin: 40px 0;
  }
  .jobDescription_list .flex{
    flex-direction: column;
  }

  .position{
    font-size: 24px;
  }
  .status{
    font-size: 16px;
    padding: 0.4em 0.3em;
  }

  .jobDescription_list dt,.jobDescription_list dd{
    width: 100%;
  }
  .jobDescription_list dt{
    padding-bottom: 0.5rem;
  }
  .jobDescription_list dd{
    margin: 0;
    padding: 0.5rem 0 0 0;
    border-bottom: 0;
  }
  .JDmarginB{
    margin-bottom: 30px;
  }

  .recruit__ar_btn .elementor-button{
    width: 100%;
  }

  /* ------------------エントリーフォーム */
  label.flex{
    flex-direction: column;
  }

  .cntctItem,
.wpcf7-form-control-wrap{
  width: 100%;
}
.submit_wrap{
  text-align: left;
}

.wpcf7cp-cfm-edit-btn{
  width: 40%!important;
}

}
