/*
 Theme Name:   astra-child
 Description:  astra-childTheme
 Template:     astra
*/



/*--　Hタグデザイン
------------------------------------*/

.blur {
    text-shadow:
            3px 3px 3px #FFFFFF, -3px -3px 3px #FFFFFF,
           -3px 3px 3px #FFFFFF,  3px -3px 3px #FFFFFF,
            3px 0px 3px #FFFFFF, -3px -0px 3px #FFFFFF,
            0px 3px 3px #FFFFFF,  0px -3px 3px #FFFFFF;
}

.blur2 {
    text-shadow:
            2px 2px 2px #FFFFFF, -2px -2px 2px #FFFFFF,
           -2px 2px 2px #FFFFFF,  2px -2px 2px #FFFFFF,
            2px 0px 2px #FFFFFF, -2px -0px 2px #FFFFFF,
            0px 2px 2px #FFFFFF,  0px -2px 2px #FFFFFF;
}



h2.elementor-heading-title {
  font-weight: bold;
  padding: 0.4em 1em;
  background-color: #1B3075;
  border-radius: 0px;
  overflow: hidden;
  position: relative;
}




h3.elementor-heading-title {
padding: 8px 16px;
position: relative;
background-color: #f5f5f5;
border-bottom: 3px solid #1B3075 !important;
}
h3.elementor-heading-title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -3px;
  width: 10%;
  height: 3px;
  background-color: #c0c0c0;
}


/* =========================
   トップ求職案内レイアウト
========================= */

/* ----------------------------------
   NEW バッジ（30日以内）
---------------------------------- */
.wp-show-posts-entry-title {
  position: relative;
}

.wp-show-posts-entry-title::before {
  content: "\f0e7  NEW";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  display: inline-block;
  margin-right: 0.6em;
  padding: 0.01em 0.4em;
  font-size: 0.65em;
  font-weight: bold;
  color: #fff;
  background: #e53935; /* 色は後でOK */
  border-radius: 999px;
  vertical-align: middle;
}

@media (max-width: 767px) {
  .wp-show-posts-entry-title::before {
    font-size: 0.6em;
  }
}


/* WP Show Posts：タームを常に左寄せ */
.wp-show-posts-entry-meta {
  text-align: left;
}

.wp-show-posts-terms {
  display: block;
  text-align: left;
  margin-top: -30px !important;
}


/* ----------------------------------
   タームをバッジ化
---------------------------------- */

.wp-show-posts-entry-meta a {
  display: inline-block;
  padding: 0.5em 1.2em;
  font-size: 0.85em;
  line-height: 1.2;
  border-radius: 999px;
  background: #eef3f7;   /* ← お好みで色変更 */
  color: #333;
  text-decoration: none;
  transition: background-color .2s ease, color .2s ease;
}

.wp-show-posts-entry-meta a:hover {
  background: #dbe7f0;
  color: #000;
}




/* 求人情報を見る　ボタンデザイン */
.wp-show-posts-read-more {
  padding: 0.45em 1em;
  border-radius: 4px;
  background: #FFA500;
  color: #000 !important;
  text-decoration: none;
  font-size: 0.85em;
}

.wp-show-posts-read-more:hover {
  background: #A3C42A !important;
  opacity: .85;
}

/* 求人情報を見る　ボタン */
.wpsp-read-more {
  margin-top: -5px;	
}

/* 記事テーブル　下部ライン */
.wp-show-posts-inner {
	padding: 10px 0 10px 0;
  border-bottom: 1px solid #C0C0C0 !important;	
}

/* 画像オンマウス */
.wp-show-posts-image {
  position: relative;

  overflow: hidden;
}
.wp-show-posts-image img {
  position: static;

  object-fit: cover;
  transition-duration: 0.5s;
}
.wp-show-posts-image img:hover {
  transform: scale(1.25, 1.25);
  filter: brightness(70%);
}



/* 分類項目デザイン */
.wp-show-posts-terms a {
  background: #f2f2f2;
  text-decoration: none;
  margin-right: 10px;
}

/* タイトル調整 */
h2.wp-show-posts-entry-title {
	font-size: 1.0em;
}

/* 抜粋調整 */
.wp-show-posts-entry-summary {
	font-size: 0.8em;
}

/* 日付非表示 */
.wp-show-posts-entry-meta a:has(time) {
	display: none !important;
}



  /* ===== カンマ完全除去 ===== */
  .wp-show-posts-terms {
    color: transparent;
  }
  .wp-show-posts-terms a {
    color: #333;
    font-size: 0.75em;
  }

/* meta全体（下段） */
.wp-show-posts-entry-meta {
  margin-top: 4px;   /* ← 8px → 4px に */
}

/* ターム上余白 */
.wp-show-posts-terms {
  margin-top: 14px !important;
}




/* =========================
   WP Show Posts｜スマホ確定版
========================= */
@media (max-width: 767px) {

  /* inner */
  .wp-show-posts-inner {
    display: block;
  }

  /* 画像＋サマリー横並び */
  .wp-show-posts-image {
    display: inline-block;
    width: 90px;
    margin-right: 10px;
    vertical-align: top;
  }

  .wp-show-posts-entry-summary {
    display: inline-block;
    width: calc(100% - 100px);
    font-size: 0.78em;
    line-height: 1.45;
    vertical-align: top;
    clear: none !important;
	padding: 0 8px;
  }
	


  /* meta：縦構造・フル幅 */
  .wp-show-posts-entry-meta {
    display: flex;
    flex-direction: column;
    width: 100%;
	  margin: 8px 0 !important;
  }

  /* ボタン行は右寄せ */
  .wpsp-read-more {
    width: 100%;
    text-align: right;

  }
	
	
  /* ターム：左寄り・横並び */
  .wp-show-posts-terms {
    display: inline-block;
    gap: 6px;
    justify-content: flex-start;
    flex-wrap: nowrap;
  }
	
	
  /* 全体の基準 */
  .wp-show-posts-inner {
    position: relative !important;
  }

  /* 親指定込みで強制上書き */
.wp-show-posts-inner > .wpsp-read-more {
position: absolute !important;
top:120px !important;   /* ← ここが必ず動く */
right: 0 !important;
margin: 0 !important;
  }

}


/* =========================
   求人 一覧ページ
========================= */

.page-id-459 ul.job_listings li.job_listing {
	margin: 6px 0 !important;
}


/* =========================
   求人 カテゴリ　一覧
========================= */
.job_listings li.job_listing {
 padding:16px;
 border:1px solid #ddd;
 margin-bottom:12px;
 border-radius:6px;
 background:#fff;
}


.job_listings {
 list-style:none;
 padding:0;
}

.job_listings li.job_listing {
 border:1px solid #e5e5e5;
 padding:18px;
 margin-bottom:14px;
 border-radius:8px;
 background:#fff;
 transition:.2s;
}

.job_listings li.job_listing:hover {
 transform:translateY(-2px);
}


/* Job Manager カテゴリページのみ 通常一覧 */
.post-type-archive-job_listing .ast-blog-featured-section .post-thumb-img-content,
.tax-job_listing_category .ast-blog-featured-section .post-thumb-img-content {
 aspect-ratio: 1 / 1;
 overflow: hidden;
}

/* 求人一覧レイアウト調整 */
/* Job Manager カテゴリページのみ */
.post-type-archive-job_listing .ast-blog-featured-section .post-thumb-img-content,
.tax-job_listing_category .ast-blog-featured-section .post-thumb-img-content {
 aspect-ratio: 1 / 1;
 overflow: hidden;
}

.post-type-archive-job_listing .post-thumb-img-content img,
.tax-job_listing_category .post-thumb-img-content img {
 width: 60%;
 height: 60%;
 object-fit: cover;
}


/*==================================================
 *  求人一覧のロゴサイズ調整　子テーマ用 
 * ==================================================*/


/* カード風 */
.tax-job_listing_category ul.job_listings li.job_listing {
 background: #fff;
 border: 1px solid #e5e5e5;
 border-radius: 8px;
 padding: 18px;
 margin-bottom: 14px;
}

/* =========================
求人一覧 PC
========================= */

.tax-job_listing_category ul.job_listings li.job_listing > a{
 display:grid !important;
 grid-template-columns :
 100px   /* 画像 */
 minmax(0,2fr)  /* ← タイトルを広く */
 minmax(260px,340px) ; /* ← 勤務地も広く */

 grid-template-areas:
 "logo title location"
 "logo company meta";

 column-gap:20px;
 row-gap:6px;
 align-items:center;
}

.tax-job_listing_category .position{
 max-width:none !important;
 width:auto !important;
}


/* 画像 */
.tax-job_listing_category .company_logo{
 grid-area:logo;
 width:100px !important;
 height:100px !important;
 min-width:100px;
 min-height:100px;
 object-fit:cover;
 position:relative !important;
}


/* タイトル */
.tax-job_listing_category .position{
 grid-area:title;
 min-width:0;
}
/* タイトル途中改行を防ぐ */
/* タイトルを省略しない */
.tax-job_listing_category .position h3{
 white-space: normal !important;
 overflow: visible !important;
 text-overflow: unset !important;
 line-height: 1.5;
 word-break: break-word;
}


/* 会社名 */
.tax-job_listing_category .company{
 grid-area:company;
 font-size:14px;
 color:#666;
}


/* 勤務地 */
.tax-job_listing_category .location{
 grid-area:location;
 text-align:left !important;
 font-size:14px;
 line-height:1.4;
 white-space:normal !important;
}
.tax-job_listing_category .location{
 min-width:340px !important;

}


/* 雇用形態 */
.tax-job_listing_category ul.meta{
 grid-area:meta;
 text-align:left !important;
 width:auto !important;
 float:none !important;
}


/* 余計な横並び指定を解除 */
.tax-job_listing_category .location,
.tax-job_listing_category ul.meta{

 display:block !important;

}

/* ===== 勤務地が縦に崩れるのを防ぐ ===== */
.tax-job_listing_category .location{
 max-width:none !important;
 width:auto !important;
 white-space:normal !important;
 display:block !important;

}


/* metaも幅制限解除 */
.tax-job_listing_category .meta{
 max-width:none !important;
 width:auto !important;

}


/* 右カラムの幅を確保 */
.tax-job_listing_category ul.job_listings li.job_listing > a{
 grid-template-columns:
 100px
 minmax(0,1fr)
 minmax(240px,320px);

}


/* =========================
スマホ
========================= */

@media (max-width:921px){
	
 .tax-job_listing_category img.company_logo{
  display:block !important;
  opacity:1 !important;
  visibility:visible !important;
 }

	
	/* タイトル改行を自然に */
.tax-job_listing_category .position h3{

 white-space:normal !important;
 word-break:normal !important;
 overflow-wrap:break-word;

 line-height:1.4;
 margin:0;
 display:-webkit-box;
 -webkit-line-clamp:4;
 -webkit-box-orient:vertical;

 overflow:hidden;

}


/* レイアウトをスマホ用に完全切替 */
.tax-job_listing_category ul.job_listings li.job_listing > a{
 display:grid !important;

 grid-template-columns:80px 1fr;

 grid-template-areas:
 "logo title"
 "logo company"
 "location location"
 "meta meta";

 column-gap:14px;   /* ← 少し広げる */
 row-gap:8px;       /* ← 行間を広げる */

 align-items:start; /* ← center をやめる */
}


/* 画像 */
.tax-job_listing_category .company_logo{
 grid-area:logo;

 width:65px !important;
 height:65px !important;

 min-width:65px;
 min-height:65px;

 object-fit:cover;
 display:block !important;

 margin-top:2px;   /* 微調整 */
}
	


/* タイトル */
.tax-job_listing_category .position{
 grid-area:title;
 margin-bottom:4px;
}





/* 会社名 */
.tax-job_listing_category .company{
 grid-area:company;
 margin-bottom:6px;
}

/* 勤務地 */
.tax-job_listing_category .location{
 grid-area:location;
 font-size:14px;
}


/* 雇用形態 */
.tax-job_listing_category .meta{
 grid-area:meta;
 font-size:13px;
}


 /* カード全体の余白を少し縮める */
 .tax-job_listing_category ul.job_listings li.job_listing{
  padding:14px 4px !important;
 }

 /* 内側の余白 */
 .tax-job_listing_category ul.job_listings li.job_listing > a{
  padding:0 !important;
 }
	
 /* 左詰め */
 .tax-job_listing_category ul.job_listings{
  padding-left:4px;
  padding-right:4px;
 }

 /* 画像とテキストの間隔 */
 .tax-job_listing_category ul.job_listings li.job_listing > a{
  column-gap:10px;
 }
	

	
}



/* =========================
   求人　記事ページ
========================= */
.content-area {
    border: 0px solid #C0C0C0 !important;	
	padding-top: 0px !important;
	margin: -10px 0 0 0 !important;
}
.widget-area {
    border: 0px solid #C0C0C0 !important;	
	padding-top: -10px !important;
	margin: 0 !important;
}

h1.entry-title {
	font-size: 1.6em !important;
	background-color: #fffacd;
	padding: 0.4em 0.6em;
border-radius: 10px !important;
}

h2.entry-title {
	background-color: #fffacd;
	padding: 0.4em 0.6em;
border-radius: 10px !important;
}


.entry-meta {
	display: none;
}
.date-posted {
	display: none;
}

.cfwjm_output {
	margin-top: 50px;
	background-color: #fffacd;
	padding: 20px;
border-radius: 16px !important;
}





/* サイドバー 
ーーーーーーーーーーーーーーーーーーーーー*/
h2.widget-title {
	font-size : 1.4em !important;
}
.sidebar-main h3 {
	font-size : 0.9em !important;
}
.sidebar-main .meta {
	font-size : 0.8em !important;
}
ul.job_listings li.job_listing {
	padding: 5px !important;
    border: 1px solid #C0C0C0 !important;	
}




/* 求人ページ：サイドバー左寄せ固定 */
.single-job_listing .widget-area {
	margin-left: -20px !important; /* contentとの間 */
}

.single-job_listing .sidebar-main {
	border: 0px solid #C0C0C0;
	padding: 22px;
	margin: 0;              /* auto を完全排除 */
	width: 100%;            /* はみ出し防止 */
	max-width: 100%;
	box-sizing: border-box;
}
@media screen and (max-width: 697px) {
.single-job_listing .widget-area {
	margin-left: 0px !important; /* contentとの間 */
}
.content-area {
margin-top: 0px !important;		
	}
}


/* 下部ナビ */
.post-navigation {
width: 90%;
background-color: #F9F0C8;
border: 5px solid #F9F0C8 !important;	
padding: 15px !important;
border-radius: 20px !important;
margin: 0 10px;
}
.navigation {
margin-bottom: 50px !important;
}



/* =========================
   フェード基本設定（重要）
========================= */

.fade-wrap img {
opacity: 0;
 transform: translateY(60px);
 transition: 
	 opacity 2.2s ease, 
	 transform 2.2s cubic-bezier(.18,1.15,.35,1) !important;
 transition-delay: 0.5s; /* ← 0.5秒遅れて開始 */
}


.fade-wrap.is-show img {
  opacity: 1;
  transform: translateY(0);
}



/*--　会社概要
------------------------------------*/
.tb-about {
    border: none !important;
}
.tb-about th, .tb-about td {
    border-right: none !important;
}

.tb-about {
border-collapse: collapse;
width: 100%;
max-width: 800px;
}
.tb-about th, .tb-about td {
border-bottom: 2px solid #c1c7c6;
padding: 1em;
}
.tb-about th {
border-bottom: 2px solid #4d9bc1;;
font-weight: bold;
text-align: center;
width: 20%;
min-width: 4em;
}

@media screen and (max-width: 697px) {
.tb-about th {
    width: 100%;
	padding: 0.8em;
	padding-top: 2em;
	text-align: left;
	display: inline-block;
}
.tb-about td {
    width: 100%;
	text-align: left;
    border-bottom: 1px dotted #4d9bc1;;
	display: inline-block;
}
}


.cs-infos {
	display: none !important;
}



/*--　求人エントリー
------------------------------------*/

.entry-form-wrap summary{
    list-style:none;
    cursor:pointer;
    display:block;
    width:90%;
    text-align:center;
    padding:16px 24px;
    background:#152C9B;
    color:#fff;
    border-radius:10px;
    font-weight:bold;
    transition:
        opacity .3s ease,
        transform .2s ease;
}

/* hover */
.entry-form-wrap summary:hover{
    opacity:.9;
    transform:translateY(-2px);
}

/* ▼ */
.entry-form-wrap summary::after{
    content:"▼";
    margin-left:10px;
    font-size:11px;
    display:inline-block;
    transition:transform .3s ease;
}

/* 開いた時 */
.entry-form-wrap[open] summary::after{
    transform:rotate(180deg);
}


/* ふわっと */
@keyframes fadeIn{
    from{
        opacity:0;
        transform:translateY(-8px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}


/*--　送信ボタン削除  --*/

.metform-submit-btn {
	width: 100%;
}


.wpcf7-submit {
	width: 90%;
}



/*--　デフォルトボタン削除  --*/

.job_application {
	 display: none !important;
}



/*--　reCaptcha 非表示 設定
------------------------------------*/

.grecaptcha-badge { visibility: hidden; }




/*--　表示・非表示 設定
------------------------------------*/
.toggle { display: none !important; }
.sm { display: none !important;}
.pc { display: block !important; }
@media screen and (max-width: 697px) {
.sm { display: block !important; }
.pc { display: none !important; }
}

