/* 
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 */

@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@500;600&family=Roboto:ital@1&display=swap');

/* reset */
.spOnly{
  display: none;
}
.pcOnly{
  display: block;
}

.page-content a{
  text-decoration: none;
}

.noto,
.elementor-counter .elementor-counter-number-suffix{
  font-family: "Noto Sans JP",Sans-serif;
}

/* ----------------------------flex */
.flex{
  display: flex;
}

/* ----------------catch */
.catch{
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  font-size: 48px;
  line-height: 1.5;
  font-weight: 700;
  color: #fff;
}
.catch span{
  display: inline-block;
  padding: 0 1em;
  text-shadow:2px 2px 0 #333333;
  opacity: 0;
}
/* --------------------------------reveal-text */

.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;
  color: #FFF;
  cursor: default;
}

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


@-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);
  }
}


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

.bg_overlay_mark::before{
  content: "";
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  max-width: 1500px;
  margin: 0 auto; 
  z-index: -1;
}

.bg_requirement_sales::before{
	top: 0em;
	left:0;
}
.bg_overlay_pt2::before{
  height: 60%;
}

.ha-bg-overlay_img >.elementor-widget-container:before{
  height: 30%!important;
}

.bg_overlay__mes_1::before{
  top: auto;
  bottom: -13rem;
  width: 95%;
  height: 75%;
  left: auto;
  right: 5%;
}

.bg_overlay__mes_2::before{
  top: auto;
  bottom: 0rem;
  width: 100%;
  height: 85%;
  left: 0%;
}

.bg_overlay_s_blc2::before{
  top: 12em;
}


.color_underLine span,
.color_underLine h3,
.color_underLine h3 span,
.color_underLine h4,
.single__wrap .entry-title,
.newsArchve__wrap .archve__title{
  background-image:linear-gradient(transparent 75%, #F38A89 75%);
}

.color_underLine h3,
.color_underLine h4,
.single__wrap .entry-title,
.newsArchve__wrap .archve__title{
  display: inline;
}


/* -----------------------------採用についてのお知らせ */

.rec_postList .ha-post-list-content{
  display: flex;
  align-items: center;
  gap: 2rem;
}
.rec_postList .ha-post-list-item a{
  text-decoration: none;
}

/* -----------------------------ブログ一覧 */
.blog_more.triangle::after{
  content: "";
  width: 20%;
  max-width: 60px;
  height: calc(tan(60deg)*30px/2);
  background-color: var(--e-global-color-accent);
  clip-path: polygon(0 0,100% 0,50% 100%);
  position: absolute;
  top: 50px;
  left: 0;
  right: 0;
  margin: auto;
}

/* -----------------------------採用についてのお知らせ（共通） */

body.single #page,
body.archive #page{
  display:flex;
  	flex-direction:column;
 	min-height: 100vh;
}

.single__wrap,
.newsArchve__wrap{
  margin: 180px 0 120px;
}

.newsArchve__wrap .archve__title,
.single__wrap .entry-title{
  color: var(--e-global-color-text);
  font-family: "Noto Sans JP",Sans-serif;
  font-size: 36px;
  font-weight: 600;
  line-height: 1.3em;
}

.newsArchve__wrap .page-content,
.single__wrap .page-content{
  margin-top: 4rem;
}

/* ---------------------------採用についてのお知らせ アーカイブ */

body.archive #content{
  flex: 1;
}

.archive_subHead{
  display: block;
  font-size: 28px;
  color: var(--e-global-color-primary);
  font-family: "Oswald",Sans-serif;
  font-weight: 500;
  line-height: 1em;
}

.newsArchve__wrap article.post{
  width: 45%;
  margin-bottom: 2rem;
}

.thm__link{
  display: inline-block;
}

.newsArchve__wrap article.post img{
  max-width: 300px;
  border: 1px solid var(--e-global-color-secondary);
  width: 100%;
  aspect-ratio: 3/2;
  object-fit: cover;
}

.newsArchve__wrap .page-content{
  justify-content: space-between;
  flex-wrap: wrap;
}

.newsArchve__wrap .entry-title{
  margin-top: 0;
}

.newsArchve__wrap a{
  color: var(--e-global-color-text);
}

.postCat,
.postDate{
  margin-bottom: 0.5rem;
}

.postCat{
  color: var(--e-global-color-primary);
}

.newsArchve__wrap .postTitle{
  font-size: 20px;
  line-height: 1.4;
}

/* -------------------ページネーション */
.m-pagenation{
  margin-top: 4rem;
}
.m-pagenation__body{
  list-style-type:none;
  gap: 1rem;
  padding-left: 0;
}
.m-pagenation__body li{
  padding: 0.3em 0.7em;
  border-radius: 8px;
  background-color: var(--e-global-color-secondary)
}
.m-pagenation__body li.-current{
  background-color: var(--e-global-color-primary);
}
.m-pagenation__body li{
  color: #fff;
}
.m-pagenation__body li a{
  color: var(--e-global-color-text);
}
.m-pagenation__body li a,
.m-pagenation__body li.-current{
  font-weight: 600;
}

/* -----------------------------採用についてのお知らせ詳細ページ */
main.type-post{
  flex: 1;
}

.single__wrap .post_date{
  color: var(--e-global-color-primary);
  font-weight: 700;
  font-size: 18px;
  margin-bottom: 0.5rem;
}

.single__wrap .pagenation__area{
  margin-top: 4rem;
  text-align: center;
}
.single__wrap .pagenation__area a{
  display: inline-block;
  padding: 1em;
  background-color: var(--e-global-color-primary);
  border-radius: 8px;
  color: #fff;
  font-size: 20px;
  font-weight: 500;
  line-height: 1;
}


/* -----------------------------人材育成の取り組み キャリアステップ */
.twae-vertical.twae-wrapper .twae-end{
  display: none!important;
}

/* -----------------------------数字で見るトヨタモビリティ滋賀 */

.elementor-counter .elementor-counter-number-wrapper{
  align-items: baseline;
}
.elementor-counter .elementor-counter-number-suffix,
.unit__txt{
  font-size: 28px;
}


/* -----------------------------よくある質問 */
.fax_font{
  font-family: 'Roboto',sans-serif;
  font-weight: 700;
  font-size: 28px;
  color: var(--e-global-color-primary);
  display: inline-block;
  padding-right: 0.5em;
}
.fax_font-a{
  vertical-align: top;
  color: var(--e-global-color-34bfe01);
}

.elementor-accordion .elementor-accordion-item,
.elementor-toggle .elementor-toggle-item{
  border-bottom: 1px solid var(--e-global-color-secondary)!important;
  margin-bottom: 1em;
}

/* ------------------------------インターン */
.intern__paraph p{
  margin-bottom: 0;
}


/* ------------------------------エントリーフォーム */
.cf7Item{
  display: inline-block;
  width: 30%;
}
.wpcf7-form-control-wrap{
  width: 40%;
}
.cf7_ymdItem{
  width: 32%;
}
.cf7_ymdItem .wpcf7-form-control-wrap{
  display: inline-block;
  width: 75%;
  vertical-align: baseline;
}
.label__birthday{
  font-family: "Noto Sans JP",Sans-serif;
  font-size: 18px;
  font-weight: 500;
  text-decoration: none;
  line-height: 1.75em;
  color: var(--e-global-color-text);
}
.cf7txtArea{
  max-height: 200px;
}

.pp_read,
.submitBtn__wrap{
  text-align: center;
}
.pp_read a{
  color: var(--e-global-color-accent);
}

.pp_read .wpcf7-acceptance{
  border: none!important;
}

.input__birthdayYear{
  max-height: 33px;
}

/* -----------------------------確認画面 */
.confirm__column{
  margin-bottom: 1em;
  border-bottom: 1px solid var(--e-global-color-secondary);
}

.confSubmitBtn__wrap{
  margin-top: 2em;
  justify-content: center;
}

.confSubmitBtn__wrap .wpcf7-previous{
  color: var(--e-global-color-primary);
  border: 1px solid var(--e-global-color-primary);
  margin-right: 1em;
}

.recruit__confirm .wpcf7-previous,.recruit__confirm .wpcf7-submit{
  max-width: 160px;
}
.recruit__confirm .wpcf7-previous{
  padding: 0.5em 2.5em;
}
.recruit__confirm .wpcf7-submit{
  width: 100%;
}


/* ------------------------------パスワードページ */
.post-password-required{
  margin-top: 180px;
}

@media (hover: hover){
  .pp_read a:hover,
  a.elementor-toggle-title:hover{
    text-decoration: underline;
  }

  .confSubmitBtn__wrap .wpcf7-previous:hover{
    background-color: #fff;
  }

  .newsArchve__wrap a:hover{
    opacity: 0.6;
  }

  .m-pagenation__body li a:hover{
    color: var(--e-global-color-primary);
  }
}


@media screen and (max-width:1024px){
  .header__spNav .hfe-nav-menu__toggle{
    margin: 0 0 0 auto!important;
  }
      /* -----------------------------spNav */
.header__spNav .hfe-nav-menu-icon{
  position: absolute;
  bottom: 1em;
  right: 1em;
}
.tabOnlyNone{
  display: none;
}

}

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

.m-pagenation__body{
  justify-content: center;
}

/* ----------------------------------採用についてのお知らせ（共通） */
body.archive #content,
main.category-news{
  padding: 0 1em!important;
}

.newsArchve__wrap .archve__title,
.single__wrap .entry-title{
  font-size: 22px;
}

.single__wrap,
.newsArchve__wrap{
  margin: 120px 0 100px;
}

/* ----------------------------------採用についてのお知らせ一覧 */
.newsArchve__wrap article.post img{
  max-width: inherit;
}

}

@media screen and (max-width:520px){
  .spOnly,.tabOnlyNone{
    display: block;
  }

  .bg_overlay_mark{
    overflow: hidden;
  }

/* -----------------------------catch */
.catch{
  font-size: 24px;
}
.catch span{
  padding:0 0 0 0.5em;
}

/* -----------------------------採用についてのお知らせ */

.rec_postList .ha-post-list-content{
  flex-direction: column;
  align-items: flex-start;
  gap: 1em;
}

/* ------------------------------CTA */

.top_cta_btn>.e-con-inner{
  margin-left: auto;
}

.entry__wrap .top_cta_btn{
  position: inherit;
}

/* ----------------------------------採用についてのお知らせ一覧 */
.newsArchve__wrap .page-content{
  flex-direction: column;
}
.newsArchve__wrap article.post{
  width: 100%;
}

/* ----------------------------------採用についてのお知らせ詳細 */
.single__wrap .pagenation__area a{
  font-size: 16px;
  padding: 1em 2em;
}

.single__wrap .post_date{
  font-size: 16px;
}


/* -----------------------------人材育成への取り組み */
/* ----------キャリアプランの一例 */
.twae-wrapper .twae-description p{
  margin:8px 0 0!important;
}
#story-9668a98 .twae-arrow,
#story-9668a98 .twae-icondot,
#story-971caa3 .twae-arrow,
#story-971caa3 .twae-icondot{
  top: 0!important;
  bottom: 0!important;
  margin: auto 0!important;
}

.twae-vertical.twae-wrapper .twae-timeline{
  padding: 0!important;
}

/* -----------------------------よくある質問 */
.fax_font{
  font-size: 20px;
}
.fax_font-a{
  vertical-align: text-top;
}
.fax_font-a,.answerTxt{
  display: inline-block;
  vertical-align: top;
}
.answerTxt{
  width: 91%;
}

/* -----------------------------エントリー */
.recruit__form .flex,.confirm__column{
  flex-direction: column;
}
.recruit__form .cf7_ymd{
  flex-direction: row;
  gap: 4%;
}
.cf7Item,
.wpcf7-form-control-wrap{
  width: 100%;
}
.cf7Item{
  margin-bottom: 0.3em;
}
.label__birthday{
  font-size: 16px;
}

.pp_read, .submitBtn__wrap{
  text-align: left;
}

.pp_read .wpcf7-list-item{
  margin-left: 0;
}

.cf7_ymdItem .input__birthdayYear,
.cf7_ymdItem .wpcf7-select{
  margin-bottom: 0!important;
}

/* -------------------------確認画面 */

.confSubmitBtn__wrap{
  flex-direction: column;
  gap: 1em;
}
.recruit__confirm .wpcf7-previous{
  padding: 0.5em 2em;
}


}