@charset "utf-8";

/* /////////////////////////////////////////////////////////////

INDEX

=アーカイブ共通
=社員の声
=採用情報
=制作実績
=新着情報
=お問い合わせ：共通
=よくある質問
=リクルーター
=アクション


///////////////////////////////////////////////////////////// */


/* ==============================================================

=アーカイブ共通

============================================================== */


/* 投稿者名非表示用 */
.by-author{
  display: none;
}

/* ==============================================================

=社員の声

============================================================== */

/*  社員の声ショートコード
-------------------------------------------------------------- */

.voice-samarea{
  padding: 20px;
  max-width: 1280px;
  margin: 0 auto;
}

.widget-footwj-title{
  background-color: #f5f5f5;
  padding: 0.5em;
}

.voice-samlist-name a{
  display: block;
  text-align: center;
  padding: 0.2em;
}


/*  社員の声一覧
-------------------------------------------------------------- */

.voice-box.voice-box-sc,
.tax-voice_cat .voice-box,
.post-type-archive-voice .voice-box{
  border: solid 1px #ccc;
  border-radius: 3px;
  padding: 5%;
  margin-bottom: 24px;
}


/*  社員の声一覧 顔写真タイプ
-------------------------------------------------------------- */

/* 顔写真タイプフラグ */
.voice-area{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.voice-area article{
	width: 100%;
	margin: 0 20px 20px 20px;
	box-sizing: border-box;
  position: relative;
}
.voice-area article a{
	display: block;
	position: relative;
	overflow: hidden;
}
.voice-area article a span.vf-image{
  display: block;
}
.voice-area article a span.vf-block{
	position: absolute;
	text-align: center;
	box-sizing: border-box;
	width: 100%;
	left: 0;
	bottom: 1em;
}
.voice-area article a span.vf-block p.vf-copy{
	margin: 0;
	color: #fff;
  font-size: 1.2em;
}
.voice-area article a span.vf-block h3.vf-name{
	margin: 0.5em 0;
	color: #fff;
  font-weight: normal;
}
.voice-area article a span.vf-block p.vf-dep{
	margin: 0;
	color: #fff;
}
@media screen and (min-width: 768px) {
	.voice-area article{
		width: 32%;
		margin: 0;
		margin-right: 2%;
	}
	.voice-area article:last-child,
	.voice-area article:nth-child(3n){
		margin-right: 0;
	}
}

/* 顔写真サークル */
.voice-area article .vf-list.nmface-r{
  border-radius: 50%;
}

/* キャッチコピー枠外表示 */
.voice-area article .vf-copy.nmcatch-d{
  text-align: center;
  color: #000;
}

/*  社員の声一覧 カードタイプ
-------------------------------------------------------------- */

/* カード基本枠 */
.vf-list.view-card{
  
  width: 100%;
  
  align-items: center;
  margin-bottom: 2em;

  background-color: #f9f9f9;
  transition: all 0.5s;
}

.vf-list.view-card:hover{
  background-color: #284980;
}

@media screen and (max-width: 781px) {
  .vf-list.view-card{
    display: block;
  }

  .view-card .vf-image{
    width: 100%;
    position: relative;
  }
  .view-card .vf-block{
    width: 100%;
    text-align: center;
    padding: 20px;
    box-sizing: border-box;
  }
}
@media screen and (min-width: 782px) {
  .vf-list.view-card{
    display: flex;
    gap:0;
  }

  .view-card .vf-image{
    width: 50%;
    position: relative;
  }
  
  .view-card .vf-block{
    width: 50%;
    text-align: center;
    padding: 20px;
    box-sizing: border-box;
  }
  article:nth-child(even) .vf-list.view-card{
     flex-direction: row-reverse;
  }
}

@media screen and (min-width: 782px) and (max-width: 1279px) {
  .view-card .is-style-mdimg03::before {
      content: "";
      display: block;
      padding-top: 60%;
  }
}


/* 画像内キャッチコピー */
.view-card .vf-block .vf-copy{
  z-index: 1;
  font-size: 1.3em;
  color: #333333;
}

.view-card .vf-block .vf-copy::before{
  content: '「 ';
  color: #999999;
}
.view-card .vf-block .vf-copy::after{
  content: ' 」';
  color: #999999;
}


.vf-name-l{
  margin: 0.5em 0;
  font-size: 1.5em;
}

div.yakunen-box{
  display: flex;
  justify-content: center;
  gap:1em;
  margin-bottom: 1em;
  font-size: 0.9em;
}

a.vf-interview{
  display: inline-block;
  padding: 0.2em 1em  0.3em 1em;
  font-size: 1.5em;
  border: solid 1px #aaaaaa;
  color: #313131!important;
  background-color: #ffffff;
}

.vf-list.view-card:hover .vf-copy,
.vf-list.view-card:hover div.yakunen-box,
.vf-list.view-card:hover .vf-name-l{
  color: #ffffff;
}
.vf-list.view-card:hover{
  background-color: #284980;
}

/* 詳細ページリンクボタン */
p.vf-text-link{
  margin-top: 20px;
}
p.vf-text-link a{
  text-decoration: none;
  display: inline-block;
  padding: 5px 10px;
  background-color: #555;
  color: #fff;
  border-radius: 3px;
}

/* 詳細ページリンク：抜粋利用時 */
span.voice-next-link a{
  text-decoration: none;
}
span.voice-next-link a::before{
  content: '【 ';
}
span.voice-next-link a::after{
  content: ' 】';
}

@media screen and (min-width: 600px) {

  .single-voice .voice-box{
    margin-bottom: 35px;
  }
  .voice-box.vface-in1{
    display: flex;
  }
  .voice-box.vface-in1 .voice-box-face{
    width: 25%;
    margin-right: 5%;
  }
  .voice-box.vface-in1 .voice-box-copy{
    width: 70%;
  }

}

/*  個人詳細ページ
-------------------------------------------------------------- */

.single-voice .voice-box{
  margin-bottom: 2.5em;
}



/* flex定義クリア */
.single-voice .voice-box{
  display: block;
}
.single-voice .voice-box-face-single{
  margin-bottom: 0;
}
.single-voice .voice-box .voice-box-copy{
  width: 100%;
}

.voice-box .entry-content{
  margin-top: 10px;
}

/* 個人詳細エリア */
.voice-group2,
.voice-group1{
	color: #555555;
  display: flex;
  width: 100%;
  box-sizing: border-box;
  align-items: center;
}

.voice-group2 p,
.voice-group1 p{
	padding: 0;
	margin:0;
}
.voice-group1{
  border-bottom: solid 1px #555555;
  margin-bottom: 0.2em;
}
.voice-group1 .vf-name{
  width: 50%;
	color: #555555;

}
.voice-group1 .vf-enname{
  width: 50%;
	text-align: right;
}
.voice-group2 .vf-yakusyoku{
  width: 70%;
}
.voice-group2 .vf-nensu{
  width: 30%;
  text-align: right;
}

.voice-group1 .vf-name{
  font-size: 1.6em;
}	
.voice-group1 .vf-enname{
  font-size: 1em;
}
@media screen and (min-width: 768px) {
  .voice-group1 .vf-name{
		font-size: 1.7em;
	}	
	.voice-group1 .vf-enname{
		font-size: 1.1em;
	}
}
@media screen and (min-width: 992px) {
  .voice-group1 .vf-name{
		font-size: 1.8em;
	}	
	.voice-group1 .vf-enname{
		font-size: 1.2em;
	}
}


.voice-box-all{
  position: relative;
}

.voice-box-copy h3.vf-copy{
  margin: 0 0 0.5em 0;
  padding: 0 0.5em 0.5em 0.5em;
  text-align: center;
  color: #284980;

  font-size: 1.3em;
  position: relative;
}



@media screen and (min-width: 768px) {
  .voice-box-copy h3.vf-copy{
    font-size: 1.6em;
  }
}
@media screen and (min-width: 992px) {
  .voice-box-copy h3.vf-copy{
    font-size: 2em;
  }
}


/*  個人詳細ページ下サムネールリンク
-------------------------------------------------------------- */

.vf-links-sam{
  display: block;
  padding: 0 20px 20px 20px;
}

.voice-area-sam{
  display: flex;
  flex-wrap: wrap;
  gap:20px 2%;
}

.voice-area-sam .voice-samlist{
  width: 100%;
  background-color: #284980;
  position: relative;
  border-radius: 10px;
  overflow: hidden;
}

.voice-area-sam .voice-samlist:hover{
  opacity: 0.7;
}

@media screen and (min-width: 360px) {
  .voice-area-sam .voice-samlist{
    width: 49%;
  }
}

@media screen and (min-width: 768px) {
  .voice-area-sam .voice-samlist{
    width: 32%;
  }
}
@media screen and (min-width: 992px) {
  .voice-area-sam .voice-samlist{
    width: 23.5%;
  }
}
@media screen and (min-width: 1280px) {
  .voice-area-sam .voice-samlist{
    width: 18.4%;
  }
}


.vf-copy-sam{
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  height: 4em;
  padding: 0;
  font-weight: bold;
  font-size: 0.9em;
  line-height: 1.3em;
  color: #ffffff;
}

.voice-samlist-name{
  display: block;
  text-align: center;
  padding: 0 10px;
  font-size: 0.8em;
  margin: 0 auto;
  color: #ffffff;
  
}
/*
.vf-nensu-sam,
.vf-yakusyoku-sam{
  text-align: center;
  font-size: 0.8em;
}
*/

.vf-interview-sam{
  display: block;
  background-color: #284980;
  color: #ffffff!important;
  line-height: 38px;
  text-align: center;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
}

/* ==============================================================

=採用情報

============================================================== */


/* 採用情報シングル */
body.single-recruit  h3.entry-title{
  color: #ffffff!important;
  padding: 0.8em!important;
}
a.entrylink{
  color: #ffffff!important;
}

/* 採用検索ボックス
-------------------------------------------------------------- */

/* 採用検索ボックス枠 */
.recruit-block .cusblock-box {
  background-color: #eeeeee;
  padding: 20px;
  margin-bottom: 24px;
  text-align: center;
}

/* セレクトボックス */
.rectag-box{
  margin-bottom: 10px;
}
.rectag-box form{
  display: inline-block;
  position: relative;
  width: 200px;
  height: 38px;
}
select.rectag-select{
  position: absolute;
  top:0;
  left: 0;
  width: calc(100% - 45px);
  padding: 5px;
  border-radius: 3px 0 0 3px;
  border-color: #bbb;
  border-right: 0;
  height: 38px;
  box-sizing: border-box;
}
select.wpcf7-select{
  width:90%!important;
  max-width: 290px!important;
  white-space: break-spaces!important;
  height: 2rem!important;
}
.rectag-btm{
  position: absolute;
  top:0;
  right: 0;
  width: 45px;
  padding: 5px;
  border-radius: 0 3px 3px 0;
  height: 38px;
  background-color: #777;
  color: #fff;
  border-color: transparent;
  box-sizing: border-box;
  cursor:pointer;
  text-align: center;
}

/* 検索窓 */
.recruit-block .searchform {
  position: relative;
  width: 90%;
  max-width: 600px;
  margin: 0 auto;
}
.recruit-block .searchfield {
  width: 100%;
  margin: 0;
  padding: 10px;
  border: solid 1px #bbb;
  border-radius: 4px;
  background-color: #ffffff;
  box-sizing: border-box;
}
.recruit-block .searchsubmit {
  position: absolute;
  top: 10px;
  right: 10px;
  padding: 0;
  cursor: pointer;
  color: #555;
  border: none;
  display: block;
  width: 20px;
  height: 20px;
  
  mask-position: center center;
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-image: url("../img/icon/mi-kensaku.svg");
  background: #777777;
}
.recruit-block .searchsubmit:hover {
  opacity: 0.6;
}

@media screen and (min-width: 768px) {
  .recbox-all{
    display: flex;
    width: 100%;
  }
  .rectag-box{
    width: 200px;
    margin: 0 5px;
  }
  .recform-box{
    width: 100%;
  }
  .recform-box.hide{
    width: calc(100% - 210px);
  }
  .recruit-block .searchform {
    width: 98%;
    max-width: 800px;
    
  }
  .recruit-block .searchform input{
    box-sizing: border-box;
  }
}

/* 採用情報カテゴリー */
.recruit-block .recruit-box {
  margin: 20px auto 0 auto;
  padding: 0;
  display: flex;
  justify-content: center;
}
.recruit-block .recruit-box div {
  margin: 0;
  padding: 0;
  list-style-type: none;
  width: 50%;
}
.recruit-block .recruit-box div a {
  display: block;
  padding: 10px 20px;
  margin: 0 5px;
  border-radius: 5px;
  background-color: #ccc;
  text-decoration: none;
  color: #ffffff;
}
.recruit-block .recruit-box div a:hover {
  opacity: 0.7;
}


/*  採用情報リスト一覧枠
-------------------------------------------------------------- */

.recruit-block .entry-header a.recbox{
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  border: solid 1px #cccccc;
  position: relative;
  padding: 20px 20px 20px 20px;
  box-sizing: border-box;
  line-height: 1.5;
  margin-bottom: 1em;
}
.recruit-block .entry-header a.recbox span.rectitle{
  display: block;
  color: #333333;
  font-size: 1.3em;
  font-weight: bold;
}
.recruit-block .entry-header a.recbox span.recadd{
  display: block;
  color: #333333;
}
.recruit-block .entry-header a.recbox span.selcat{
  display: block;
}
.recruit-block .entry-header a.recbox p{
  margin: 5px 0;
  color: #555555;
  font-weight: normal;
  
}


/*  採用情報詳細
-------------------------------------------------------------- */

/* 詳細タイトル */
.recruit-block.set-block-s .entry-header{
  margin-bottom: 1em;
}
.recruit-block.set-block-s .entry-header h1{
  position: relative;
  border: solid 1px #aaaaaa;
  padding: 0.4em 0.5em 0.4em 0.5em;
  font-size: 1.5em;
  line-height: 1.2;
}

@media screen and (min-width: 500px) {
  .recruit-block.set-block-s .entry-header h1{
    padding: 0.4em 7em 0.4em 0.5em;
  }
}

/* 募集要項見出し */
h4.jobs-h4 {
  margin: 20px 0 15px 0;
  padding-bottom: 5px;
  border-bottom: solid 3px #777777;
}
/* 募集要項ボックス */
.jobs-area dl:first-child {
  border-top: solid 1px #ccc;
}
.jobs-area dl {
  border-bottom: solid 1px #ccc;
  border-left: solid 1px #ccc;
  border-right: solid 1px #ccc;
}
.jobs-area dl dt {
  padding: 10px;
  background-color: #eeeeee;
}
.jobs-area dl dd {
  padding: 10px;
  background-color: #ffffff;
}
@media screen and (min-width: 768px) {
  .jobs-area dl {
    display: flex;
    width: 100%;
  }
  .jobs-area dl dt {
    margin: 0%;
    width: 25%;
  }
  .jobs-area dl dd {
    margin: 0;
    width: 70%;
  }
}

/* エントリーリンク */
a.entrylink {
  text-align: center;
  margin: 0 auto 30px auto;
  max-width: 600px;
  display: block;
  padding: 15px;
  background-color: #284980;
  color: #fff ;
  text-decoration: none;
  border-radius: 5px;
}
a.entrylink:hover {
  opacity: 0.7;
}
a.entrylink.el-bottom {
  margin-top: 50px;
}

/* 検索エラー時 */
.recbox-sc{
  padding: 20px 20px 20px 20px;
  border: solid 1px #ccc;
}
.recbox-sc h3{
  margin: 10px 0 10px 0;
}


/* ==============================================================

=制作実績

============================================================== */


/* 製品一覧 
-------------------------------------------------------------- */

.conlsitimg.is-style-mdimg01{
  position: relative;
}
.conlsitimg.is-style-mdimg01::after{
  content: '';
  display: block;
  position: absolute;
  top:0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #eeeeee;
  border-radius: 50%;
  z-index: -1;
}

/* 製品一覧－全体枠 */
.loop-block-product{
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  gap:1em 2%;
}

.loop-block-product article{
  display: block;
  margin-bottom: 10px;
  padding:0;
  box-sizing: border-box;
}

@media screen and (max-width: 767px){
  .loop-block-product article{
    width: 49%;
  }
  .loop-block-product.pview-in1 article{
    width: 100%;
  }
}
@media screen and (min-width: 768px)  and (max-width: 991px) {
  
  .loop-block-product.pview-in1 article{
    width: 100%;
  }

  .loop-block-product.pview-in2 article{
    width: 49%;
  }
  .loop-block-product.pview-in3 article{
    width: 32%;
  }
  .loop-block-product.pview-in4 article{
    width: 32%;
  }
  
  .term-pdcat-obi .loop-block-product article{
    width: 49%;
  }

}
@media screen and (min-width: 992px){

  .loop-block-product.pview-in1 article{
    width: 100%;
  }
  .loop-block-product.pview-in2 article{
    width: 49%;
  }
  .loop-block-product.pview-in3 article{
    width: 32%;
  }
  .loop-block-product.pview-in4 article{
    width: 23.5%;
  }
  
  .term-pdcat-obi .loop-block-product article{
    width: 32%;
  }
}

@media screen and (min-width: 768px){
  .loop-block-product article .product-box.whset-w{
    display: flex;
    justify-content: space-between;
    /*flex-direction: row-reverse;*/
  }
  .loop-block-product article .product-box.whset-w div.product-iamge{
    margin-bottom: 0;
    width: 38%;
    box-sizing: border-box;
  }
  .loop-block-product article .product-box.whset-w div.product-body{
    width: 62%;
  }
}

/* 一覧時詳細レイアウト：画像 */
.loop-block-product article .product-box div.product-iamge{
  box-sizing: border-box;
}
/* 一覧時詳細レイアウト：詳細 */
.loop-block-product article .product-box div.product-body{
  padding: 0px;
  box-sizing: border-box;
}

/* 作実績ナンバー（一覧） */
h2.product-title{
  font-size: 16px;
  text-align: center;
  margin: 10px 0 0 0;
}

/* 制作実績詳細
-------------------------------------------------------------- */

/* 制作実績名称 */
h1.product-title-single{
  margin: 0 0 24px 0;
  padding: 0.5em 0;
  text-align: center;
  border-top: dotted 2px #cccccc;
  border-bottom: dotted 2px #cccccc;
}

.product-box-single{
  display: block;
}
@media screen and (min-width: 992px){
  .product-box-single{
    display: flex;
    gap:20px;
    align-items: center;
  }
  .product-box-single .product-img {
    width: 70%;
  }
  .product-box-single .product-txt {
    width: 30%;
  }
}

/* 実績画像 */
.product-img-set{
  display: block;
  width: 90%;
  max-width: 900px;
  margin: 0 auto;
  
}

/* シングル
-------------------------------------------------------------- */

/* 画像縦長時余白 */
.works-single-img .view-h{
  padding: 0 15%;
  box-sizing: border-box;
}

dl.wk-single{
  padding: 10px 0;
  border-bottom: solid 1px #ccc;
}
.wk-area dl.wk-single:first-child{
  border-top: solid 1px #ccc;
}
.works-single-box .works-single-img,
.works-single-box .works-single-content,
.wk-area{
  margin-bottom: 20px;
}
dl.wk-single ul{
  margin-top: 0;
  margin-bottom: 0;
}

dl.wk-single dd{
  word-break: break-all;
}

@media screen and (max-width: 767px){
  dl.wk-single dt{
    border-bottom: dotted 1px #ccc;
    padding-bottom: 5px;
    margin-bottom: 5px;
  }

  .works-single-box{
    display: flex;
    flex-wrap: wrap-reverse;
  }
  .works-single-box .works-single-img{
    width: 100%;
  }
  .works-single-box .works-single-content{
    width: 100%;
  }

  h3.entry-title-works{
    text-align: center;
    margin: 0 0 0.8em 0;
  }
}
@media screen and (min-width: 768px){
  .works-single-box{
    display: flex;
    gap: 5%;
  }
  .works-single-box .works-single-img{
    width: 65%;
  }
  .works-single-box .works-single-content{
    width: 30%;
  }
  
  dl.wk-single{
    display: flex;
    gap: 10px;
  }
  dl.wk-single dt{
    width: 5em;
  }
  dl.wk-single dd{
    width:calc(100% - 5em);
    border-left: dotted 1px #ccc;
    padding-left: 10px;
    box-sizing: border-box;
  }
  
}

/* ギャラリー */
.wk-gallery-box{
  margin: 24px 0;
}
.wk-gallery-box #gallery-1 img {
    border: solid 1px #fff!important;
}
.wk-gallery-box #gallery-1 .gallery-item {
    margin-top: 0!important;
}


/* ==============================================================

=新着情報

============================================================== */

/* 投稿一覧：通常タイプ（画像・タイトル・抜粋・メタ情報）
-------------------------------------------------------------- */

@media only screen and (min-width:1280px){
  .single-post .site-width-box,
  .blog .site-width-box,
  .category .site-width-box{
    box-sizing: inherit!important;
  }
}

/* 投稿タイプ：リスト一覧 */
.listbox-all{
  display: block;
  margin:0 0 2em 0;
  padding:0 0 1em 0;
  border-bottom: solid 1px #777777;
  box-sizing: border-box;
}

.listbox-all a{
  text-decoration:none;
}

.thumbnail-list{
  width:200px;
  margin:0 auto 15px auto;
}
.thumbnail-list img{
  width:100%;
  height:auto;
  border: solid 1px #eee;
}

/*
.thumbnail-list img.thumbnail-non{
  height:100%;
}
*/

.thumbnail-list img:hover{
  opacity: 0.7;
}
.listbox-sub{
  margin-bottom:10px;
}


@media only screen and (min-width:768px){
  
  .listbox-all{
    display: flex;
    gap:1em 1em;
    width: 100%;
  }

  .thumbnail-list{
    width:20%;
  }
  .listbox-sub{
    width:100%;
  }
  .listbox-sub.imgseton{
    width:80%;
  }
  
}

/* フッターメタ情報：一覧 */
.entry-meta-list{
  margin-top: 1em;
  border-top: dotted 1px #cccccc;
  padding-top: 0.5em;
}


/* 投稿一覧：簡略タイプ（タイトル・カテゴリ・投稿日）
-------------------------------------------------------------- */


/* ブログ枠 */
/*
.blogview{
  width: 100%;
  padding: 10px 20px;
  box-sizing: border-box;
  border: solid 1px #ccc;
  margin-bottom: 0.5em;
}
*/
.blogview{
  width: 100%;
  padding: 10px 0;
  box-sizing: border-box;
  border-top: solid 1px #ccc;
  margin-bottom: 0.5em;
}
article:last-child .blogview{
  border-bottom: solid 1px #ccc;
}
@media only screen and (min-width:768px){
  .blogview{
    display: flex;
    gap: 2em;
    align-items: center;
    justify-content: space-between;
  }
}

/* ブログタイトル */
.blogview h3.blogview-h3{
  font-size: 1em;
  margin: 5px 0;
}
.blogview h3.blogview-h3 a{
  text-decoration: none;
}

/* カテゴリ・投稿日枠 */
.blogview-set2{
  /*min-width: 230px;*/
}
.blogview-sub{
  display: flex;
  justify-content: flex-start;
  align-items: center; 
  gap:1em;
}

/* カテゴリ枠 */
ul.newsblog-inline{
  margin: 0;
  padding: 0;
  display: flex;
  list-style-type: none;
  gap:5px 5px;
}
ul.newsblog-inline li{
  margin: 0;
  padding: 0;
}
@media only screen and (min-width:768px){
  ul.newsblog-inline{
    justify-content: flex-end;
  }
}
ul.newsblog-inline li a {
  letter-spacing: normal;
  display: inline-block;
  line-height: 1.5;
  background-color: #999999;
  color: #fff ;
  text-decoration: none;
  padding: 2px;
  margin-right: 0;
  min-width: 6em;
  text-align: center;
  font-size: 0.9em;
}

/* カテゴリ枠サイズ */
.blogview-sub-cat{
  /*min-width: 6em;*/
}
.blogview-sub-cat ul{
  padding-left: 0!important;
}
/* 投稿日枠サイズ */
.blogview-sub-date{
  min-width: 6em;
}

/* 投稿一覧：画像タイプ（画像・タイトル・カテゴリ・投稿日）
-------------------------------------------------------------- */

/* 一覧枠形成 */
.post-flaxbox{
  display: flex;
  flex-wrap: wrap;
  gap: 1em 2%;
}
.post-flaxbox article{
  width: 49%;
  box-sizing: border-box;
}
@media only screen and (min-width:992px){
  .post-flaxbox article{
    width: 32%;
  }
}
@media only screen and (min-width:1280px){
  .post-flaxbox article{
    width: 23.5%;
  }
}

/* 画像 */
.blogtype2 .thumbnail-img{
  margin-bottom: 1em;
}

/* カテゴリ名 */
.blogtype2 ul.newsblog-catlist{
  margin: 0.3em 0;
  padding: 0;
  list-style-type: none;
  display: flex;
  justify-content: center;
  gap:0.5em;
}

/* ブログタイトル */
.blogtype2 .blogtitle{
  text-align: center;
  margin: 0.3em 0;
}
/* 投稿日 */
.blogtype2 .blogview-img-date{
  text-align: center;
}

/* 続きを読む */
span.all-next-link a{
  text-decoration: none;
}
span.all-next-link a::before{
  content: '【 ';
}
span.all-next-link a::after{
  content: ' 】';
}

/* 投稿シングル
-------------------------------------------------------------- */

/* アイキャッチ画像 */
.post-img-set{
  margin-bottom: 2em;
}
.postimgsize1 img{
  width: 100%;
}
.postimgsize2 img{
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}
.postimgsize3 img{
  width: 100%;
  aspect-ratio: 16 / 5;
  object-fit: cover;
}

/* ブログタイトル：切り替え時非表示 */
.blogtitle-single{
  border-bottom: dotted 2px #cccccc;
  padding-bottom: 0.5em;
}

/* フッターメタ情報：シングル */
.entry-meta-single{
  margin-top: 1em;
  border-top: dotted 1px #cccccc;
  padding-top: 0.5em;
}



/* ==============================================================
  
=お問い合わせ：共通
  
============================================================== */

/* オートコンプリートクリア */
select:-webkit-autofill, 
input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0px 1000px #fff inset ;
  border-width: 1px;
  border-style: solid;
  border-color: -internal-light-dark(rgb(118, 118, 118), rgb(133, 133, 133));
}

/* 確認画面時のフォームスタイル */
textarea.wpcf7c-conf, 
select.wpcf7c-conf, 
input.wpcf7c-conf, 
input.wpcf7c-conf:-webkit-autofill {
  -webkit-box-shadow: 0 0 0px 1000px #eee inset ;
}
.fm-ckbox input.wpcf7c-conf {
  -webkit-box-shadow: none ;
}
select.wpcf7c-con:focus, 
textarea.wpcf7c-conf:focus, 
input.wpcf7c-conf:focus {
  outline: none;
}
.contact-fm textarea.wpcf7c-conf, 
.contact-fm select.wpcf7c-conf, 
.contact-fm input.wpcf7c-conf {
  border-color: #ddd;
}
.contact-fm 
.wpcf7-list-item input.wpcf7c-conf:-webkit-autofill, 
.contact-fm .wpcf7-list-item input.wpcf7c-conf {
  border-color: transparent ;
  -webkit-box-shadow: none ;
}
.contact-fm .file-box input.wpcf7c-force-hide, 
.contact-fm .file-box input.wpcf7c-conf {
  width: 100% ;
  height: auto ;
  padding: 0 ;
  background: none ;
  border-color: transparent ;
  -webkit-box-shadow: none ;
}

@media screen and (max-width: 991px) {
  .contact-fm dt div{
    margin-bottom: 0.3em!important;
  }
}

/* フォームボックス */
.contact-box {
  border: solid 1px #ccc;
  padding: 20px;
}
@media screen and (min-width: 992px) {
  .contact-box {
    padding: 50px;
  }
}

.form-block{
  border: solid 1px #cccccc;
  padding: 20px;
  margin-bottom: 24px;
}
.form-block dl:first-child{
  border-top:0;
  margin-top: 0;
  padding-top: 0;
}

/* 送信後表示切替 */
.complete-display {
  display: none;
}
.sent .complete-display {
  display: block;
}
.sent .wpcf7-response-output, 
.sent .formInner {
  display: none;
}

/* フォームスタイル－採用タイトル用 */
.recruit-select select.wpcf7-select {
  width: 100%;
  /*max-width: 500px;*/
}
@media screen and (min-width: 992px) {
  .recruit-select select.wpcf7-select {
    width: auto;
  }
}

/* フォームスタイル－基本 */
dl.contact-fm p{
  margin: 0;
}

dl.contact-fm {
  margin: 0 0 0 0;
  padding: 20px 0 20px 0;
  border-top: dotted 1px #aaa;
}
dl.contact-fm dt {
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  font-weight: normal;
}
dl.contact-fm dt div {
  margin: 0 0 0 0;
  padding: 0 0 0 0;
}
dl.contact-fm dd {
  margin: 0 0 0 0;
  padding: 0 0 0 0;
}
dl.contact-fm dd textarea, 
dl.contact-fm dd select, dl.contact-fm dd input {
  padding: 5px;
}
input.fm-add {
  /*width: 95%;*/
}

/* 仕切りライン */
.contents-k-line {
  border-bottom: dotted 1px #999;
  margin: 15px 0 15px 0;
}

/* 送信・確認ボタン ※mystyle/my-block.cssに記載 */


/* ファイル削除 */
#clear1, #clear2, #clear3, #clear4, #clear5 {
  display: none;
  padding: 2px 5px;
  margin-left: 5px;
}

/* ファイル削除－確認時非表示 */
.custom-wpcf7c-confirmed #clear1, 
.custom-wpcf7c-confirmed #clear2, 
.custom-wpcf7c-confirmed #clear3, 
.custom-wpcf7c-confirmed #clear4, 
.custom-wpcf7c-confirmed #clear5 {
  display: none ;
}
.custom-wpcf7c-confirmed 
.file-1 input.wpcf7c-conf, 
.custom-wpcf7c-confirmed .file-2 input.wpcf7c-conf, 
.custom-wpcf7c-confirmed .file-3 input.wpcf7c-conf, 
.custom-wpcf7c-confirmed .file-4 input.wpcf7c-conf, 
.custom-wpcf7c-confirmed .file-5 input.wpcf7c-conf {
  width: 90% ;
  border: none ;
  padding: 0 0 0 0 ;
  background-color: transparent ;
  box-shadow: 0 0 0 0 #fff inset ;
}

/* 確認画面背景 */
.wpcf7c-conf {
  background-color: #F5F5F5; /* 背景色 */
  color: black; /* 文字色 */
  border: 1px solid #777; /* 周りの線: 太さ　線種 線の色 */
}
div.wpcf7-response-output {
  margin-right: 0;
  margin-left: 0;
}

/* 入力エリア */
input.wpcf7-text, 
input.wpcf7-date, 
input.fm-add, 
input.fm-tel, 
input.fm-kana, 
input.fm-name, 
input.fm-kana-mini, 
input.fm-name-mini,
input.wpcf7-validates-as-email, 
textarea.fm-mess {
  width: 95%;
}
input.fm-yubin {
  width: 100px;
}
input.fm-tel, 
input.fm-kana, 
input.fm-name {
  max-width: 300px;
}
input.fm-kana-mini, 
input.fm-name-mini {
  max-width: 200px;
}

ul.name-block{
  margin: 0!important;
  padding: 0!important;
  list-style-type: none;
  display: flex;
  flex-wrap: wrap;
  gap:0.2em 1em;
}
input.wpcf7-validates-as-email {
  max-width: 600px;
}
input.fm-recruit {
  max-width: 600px;
}

/* 必須 */
dl.contact-fm dt {
  position: relative;
  margin: 0;
}
dl.contact-fm dt span {
  position: absolute;
  right:10px;
  display: inline-block;
  background-color: #b2312a;
  color: #ffffff;
  font-size: 0.6em;
  padding: 2px 5px;
  margin-top: 0.4em;
  margin-left: 8px;
  vertical-align: top;
  border-radius: 3px;
}
@media screen and (max-width: 991px) {
  dl.contact-fm dt span {
    position:inherit;
    display: inline-block;
    background-color: #b2312a;
    color: #ffffff;
    font-size: 0.6em;
    padding: 2px 5px;
    margin-top: 0.4em;
    margin-left: 8px;
    vertical-align: top;
  }
}

/* 項目メッセージ */
.wpcf7 form .wpcf7-response-output {
  margin: 10px 0 0;
  padding: 8px 35px 8px 14px;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}
.wpcf7 form.init .wpcf7-response-output {
  display: none;
}

/* 送信成功 */
.wpcf7 form.sent .wpcf7-response-output {
  color: #3A87AD;
  background-color: #D9EDF7;
  border: 1px solid #BCE8F1;
}

/* 送信失敗 */
.wpcf7 form.failed .wpcf7-response-output, 
.wpcf7 form.aborted .wpcf7-response-output {
  color: #711d26;
  background-color: #f7d7da;
  border: 1px solid #f4c6cb;
}

/* スパム */
.wpcf7 form.spam .wpcf7-response-output {
  color: #846314;
  background-color: #fff2cf;
  border: 1px solid #feedbd;
}

/* 送信NG */
.wpcf7 form.invalid .wpcf7-response-output, 
.wpcf7 form.unaccepted .wpcf7-response-output {
  color: #B94A48;
  background-color: #F2DEDE;
  border: 1px solid #EED3D7;
}

/* 項目エラー */
.wpcf7-not-valid-tip {
  position: relative;
  display: inline-block ;
  background-color: #dc3232;
  color: #fff ;
  font-size: 0.9em;
  font-weight: normal;
  padding: 5px;
  margin-top: 0;
  margin-left: 6px;
  border-radius: 5px;
}
.wpcf7-not-valid-tip::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -12px;
  margin-top: -6px;
  border: 6px solid transparent;
  border-right: 6px solid #dc3232;
}
.viewout .wpcf7-response-output, 
.viewout .wpcf7-not-valid-tip {
  display: none ;
}

/* ローダー */
span.ajax-loader {
  display: block ;
  position: absolute;
  right: 0;
  top: 0;
}
span.wpcf7-spinner{
  display: block ;
  margin: 10px auto 0 auto;
}

/* 確認時リセット非表示 */
.reset-btm.wpcf7c-conf {
  display: none;
}
.fm-btm input.reset-btm {
  position: absolute;
  left: 0;
  top: 0;
  background: none;
  background-color: transparent ;
  border: none;
  margin: 0;
  padding: 0 0 0 0;
  color: #333!important ;
  height: 15px;
  font-size: 1em;
}

.fm-btm input.reset-btm:focus {
  outline: none;
}
p.kakunin-mess a {
  text-decoration: none;
}

@media screen and (min-width: 768px) {
  input.form-s {
    max-width: 200px;
  }
  input.form-m {
    max-width: 300px;
  }
  input.form-l {
    max-width: 600px;
  }
}
@media screen and (min-width: 992px) {
  dl.contact-fm dt {
    float: left;
    width: 19%;
    margin: 0 0 0 0;
    padding: 0;
  }
  dl.contact-fm dt div {
    margin: 3px 0 0 0;
  }
  dl.contact-fm dd {
    float: right;
    width: 80%;
    margin: 0 0 0 0;
    padding: 0;
  }
  input.wpcf7-text, input.wpcf7-date, input.fm-add, input.fm-tel, input.fm-name, input.wpcf7-validates-as-email, textarea.fm-mess {
    width: 95%;
  }
  input.fm-yubin {
    width: 100px;
  }
  
  /* 必須 */
  dl.contact-fm dt p span {
    position: absolute;
    right: 0;
  }
}

/* 確認画面 */

.custom-wpcf7c-confirmed span.hissu{
  display: none;
}

.custom-wpcf7c-confirmed textarea.wpcf7c-conf,
.custom-wpcf7c-confirmed select.wpcf7c-conf,
.custom-wpcf7c-confirmed input[type="tel"].wpcf7c-conf,
.custom-wpcf7c-confirmed input[type="email"].wpcf7c-conf,
.custom-wpcf7c-confirmed input[type="text"].wpcf7c-conf {
  margin-top: 2px;
  padding: 0;
  border: none;
  -webkit-box-shadow: 0 0 0px 1000px #fff inset ;
  background: none;
}
.custom-wpcf7c-confirmed select.wpcf7c-conf{
  color: #000;
  opacity: 1;
  margin-left: -5px;
}
.custom-wpcf7c-confirmed span.yubin-set{
  display: none;
}

/* エントリー個別渡し */
.cf7-conect-set .post-type,
.cf7-conect-set .post-title{
  display: block;
  margin-top: 2px;
}
.wpcf7 .cf7-conect-set .post-type input,
.wpcf7 .cf7-conect-set .post-title input{
  display: none;
}
.wpcf7-list-item{
  margin-left: 0;
  margin-right: 1em;
}
.cf7-conect-set .wpcf7-list-item{
  margin-right: 0;
}

.contact-fm dt p{
  margin-top: 0;
}

/* エラー */
.formInner .wpcf7-not-valid{
  background-color: #fff2f2;
  border-color: #ff0000!important;
}
.wpcf7-not-valid-tip{
  background: none!important;
  color: #ff0000!important;
}
.wpcf7-not-valid-tip::before{
  content: none!important;
}

.privacy-check .wpcf7-not-valid{
  background: none!important;
}

/* 完了画面
-------------------------------------------------------------- */



/* reCAPTCHA 
-------------------------------------------------------------- */


.grecaptcha-badge { 
  visibility: hidden;
}
.captcha-fsize a,
.captcha-fsize {
  font-size: 0.8em;
}
.footer-block .captcha-fsize a,
.footer-block .captcha-fsize{
  text-align: center;
}
.footer-block .captcha-fsize{
  padding: 0 20px;
}

/* reCAPTCHA非表示 */
.recap-box{
  display: none;
}



/* ==============================================================

=よくある質問

============================================================== */

/* 外枠デザイン */
.ewd-ufaq-faq-div {
  margin-bottom: 24px;
  border: solid 1px #ccc;
  padding: 15px 10px 5px 10px;
  border-radius: 5px;
  background-color: #ffffff;
}
@media screen and (min-width: 992px) {
  .ewd-ufaq-faq-div {
    padding: 25px 20px 5px 20px;
  }
}
.faqset-in .ewd-ufaq-faq-div,
.faqset-in2 .ewd-ufaq-faq-div,
.faqset-in3 .ewd-ufaq-faq-div{
  margin-bottom: 10px;
}

/* Q：質問 */
a.ewd-ufaq-post-margin{
  text-decoration: none;
}
.ewd-ufaq-faq-title-text{
  padding-bottom:0;
}
.ewd-ufaq-faq-title-text h4{
  position: relative;
  padding-left: 30px;
  margin: 5px ;
}
.ewd-ufaq-faq-title-text h4 a,
.ewd-ufaq-faq-title-text h4{
  text-decoration: none;
  color: #000;
  display: block;
}

.faqset-in .ewd-ufaq-faq-title-text h4{
  cursor:pointer;
}
.ewd-ufaq-faq-title-text h4::before{
  position: absolute;
  top: 1px;
  left: -1px;
  content: "Q";
  color: #000000;
}

/* A：答え */
.ewd-ufaq-faq-body{
  border-top: dotted 2px #ddd;
  position: relative;
  padding: 10px 25px 10px 30px;
  margin: 10px 5px 10px 5px;
  box-sizing: border-box;
}
.ewd-ufaq-faq-body p{
  padding: 0;
  margin: 2px 0;
}
.ewd-ufaq-faq-body p:first-child{
  margin-top: 0;
}

.ewd-ufaq-faq-body::before {
  position: absolute;
  top: 0.9em;
  left: 0;
  content: "A";
  color:#777777;
}

/* QAフォントサイズ */
.ewd-ufaq-faq-title-text h4,
.ewd-ufaq-faq-body::before {
  font-size: 1.5em;
}
.ewd-ufaq-faq-body::before {
  top: 0.4em;
}

/* デザインタイプ
-------------------------------------------------------------- */


/* 外枠デザイン：タイプ2 */
.ewd-ufaq-faq-div.faq-destype1 {
  margin-bottom: 0;
  border:0;
  padding: 5px 0 5px 0;
  border-radius: 0;
  background-color: #ffffff;
}
.ewd-ufaq-faq-div.faq-destype1 .ewd-ufaq-faq-title-text h4{
  margin: 0 5px ;
}
.ewd-ufaq-faq-div.faq-destype1 .ewd-ufaq-faq-body{
  border: solid 1px #ddd;
  border-radius: 3px;
  padding: 10px 25px 10px 40px;
  margin: 10px 0 10px 0;
  box-sizing: border-box;
}
.ewd-ufaq-faq-div.faq-destype1 .ewd-ufaq-faq-body::before {
  top: 8px;
  left: 10px;
}

/* 外枠デザイン：タイプ2 */
.ewd-ufaq-faq-div.faq-destype2 {
  margin-bottom: 0;
  border:0;
  border-bottom:dotted 1px #aaa;
  padding: 5px 0 5px 0;
  border-radius: 0;
  background-color: #ffffff;
}
.type-faq:first-child .ewd-ufaq-faq-div.faq-destype2{
  border-top:dotted 1px #aaa;
}
.ewd-ufaq-faq-div.faq-destype2 .ewd-ufaq-faq-body{
  border-top: 0;
  padding-top: 1px;
  margin-bottom: 5px;
}
.ewd-ufaq-faq-div.faq-destype2 .ewd-ufaq-faq-body::before {
  top: 0px;
}

/* 外枠デザイン：タイプ3 */
.ewd-ufaq-faq-div.faq-destype3 {
  margin-bottom: 5px;
  border:0;
  padding: 0;
  border-radius: 0;
  background-color: #ffffff;
}
.ewd-ufaq-faq-div.faq-destype3 .ewd-ufaq-faq-title-text{
  background-color: #777777;
  padding: 0.5em;
}
.ewd-ufaq-faq-div.faq-destype3 .ewd-ufaq-faq-title-text h4{
  color: #ffffff;
}
.ewd-ufaq-faq-div.faq-destype3 .ewd-ufaq-faq-title-text h4 a{
  color: #ffffff;
}
.ewd-ufaq-faq-div.faq-destype3 .ewd-ufaq-faq-title-text h4::before{
  color: #ffffff;
}
.ewd-ufaq-faq-div.faq-destype3 .ewd-ufaq-faq-body{
  border-top: 0;
  padding-top: 0;
  padding-left: 38px;
}
.ewd-ufaq-faq-div.faq-destype3 .ewd-ufaq-faq-body::before {
  top: -2px;
  left: 0.3em;
}


/* ==============================================================

=リクルーター

============================================================== */

.single-recruiter .entry-header h1.entry-title{
  padding: 0.8em;
  border: solid 1px #aaa;
}

.single-recruiter h2.rcrt-section-title{
  padding-bottom: 0.3em;
  border-bottom: solid 2px #cccccc;
}

/* ==============================================================

=アクション

============================================================== */


/* タイピング
-------------------------------------------------------------- */
.tgt4,
.tgt3,
.tgt2,
.tgt {
  opacity: 0;
}
.tgt4 span,
.tgt3 span,
.tgt2 span,
.tgt span{
  display: none;
  float: left;
  position: relative;
}
.tgt4 span.cur,
.tgt3 span.cur,
.tgt2 span.cur,
.tgt span.cur{
  display: block;
  position: absolute;
  bottom: 0;
  right: -0.8em;
}


.eachTextAnime span{opacity: 0;}
.eachTextAnime.appeartext span{ animation:text_anime_on 1s ease-out forwards; }
@keyframes text_anime_on {
  0% {opacity:0;}
  100% {opacity:1;}
}


/* じわっ
-------------------------------------------------------------- */

.blur{
  opacity: 0;
  animation-delay: 0.5s;
  animation-name:blurAnime;
  animation-duration:1s;
  animation-fill-mode:forwards;
}

@keyframes blurAnime{
  from {
  filter: blur(10px);
  transform: scale(1.02);
  opacity: 0;
  }

  to {
  filter: blur(0);
  transform: scale(1);
  opacity: 1;
  }
}
 
.blurTrigger{
    opacity: 0;
}



