@charset "utf-8";

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

INDEX

新着情報・カスタム投稿・お問い合わせの基本設定ファイル
カラー等のカスタマイズは、mystyle/my-style.cssで上書き

=お知らせ・新着情報
=お問い合わせ：共通
=よくある質問
=アクション

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


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

=お知らせ・新着情報

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

/* 一覧ページ枠調整 */
.news-block .wrapper{
  padding-left: 20px;
  padding-right: 20px;
}
.news-block .all-full .wrapper{
  padding-left: 0;
  padding-right: 0;
}

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


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

/* オートコンプリートクリア */
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 ;
}

/* フォームボックス */
.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 {
  margin: 5px 0 0 0;
  padding: 15px 0 0 0;
  border-top: dotted 1px #aaa;
}
dl.contact-fm dt {
  margin: 0 0 10px 0;
  padding: 0;
  font-weight: normal;
}
dl.contact-fm dt div {
  margin: 0;
  padding: 0;
}
dl.contact-fm dd {
  margin: 0 0 10px 0;
  padding: 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;
}

/* 送信・確認ボタン ※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 ;
  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.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.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: #F00;
  color: #fff;
  font-size: 0.8em;
  padding: 2px 5px;
  margin-left: 8px;
  vertical-align: top;
}
@media screen and (max-width: 991px) {
  dl.contact-fm dt span {
    position:inherit;
    display: inline-block;
    background-color: #F00;
    color: #fff;
    font-size: 0.8em;
    padding: 2px 5px;
    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: 1em;
  font-weight: normal;
  padding: 5px;
  margin-top: 5px;
  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 20px;
  color: #333 ;
  height: 15px;
  background-image: url("../img/reset-icon.png");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: left center;
  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 10px 0;
    padding: 0;
  }
  dl.contact-fm dt div {
    margin-top: 10px;
    margin-bottom: 0;
  }
  dl.contact-fm dd {
    float: right;
    width: 80%;
    margin: 0 0 10px 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 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;
}


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




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

=よくある質問

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

/* 外枠デザイン */
/*
.ewd-ufaq-faq-div {
  margin-bottom: 24px;
  border: solid 1px #ccc;
  padding: 5px 10px 5px 10px;
  border-radius: 5px;
  background-color: #ffffff;
}
.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 0 30px;
  margin: 10px 5px 10px 5px;
  box-sizing: border-box;
}
.ewd-ufaq-faq-body p{
  padding: 0;
  margin: 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;
}
*/

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

=よくある質問

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

.term-19 .widget-area .widget_nav_menu ul>li.menu-item-985>a,
.term-25 .widget-area .widget_nav_menu ul>li.menu-item-985>a,
.term-26 .widget-area .widget_nav_menu ul>li.menu-item-985>a {
    color: #fff!important;
    background: rgb(35,128,194)!important;
    background: linear-gradient(90deg, rgba(35,128,194,1) 0%, rgba(18,46,90,1) 100%)!important;
}

/* +-非表示 */
.ufaq-post-margin-symbol,
.ewd-ufaq-post-margin-symbol{
  display:none;
}

/* トグルアクション否定 */
.ufaq-faq-toggle,
.ewd-ufaq-faq-toggle{
  pointer-events: none;
}

/* 外枠デザイン */
.ufaq-faq-div,
.ewd-ufaq-faq-div {
  margin-bottom: 24px !important;
  min-height: 80px;

  border: solid 1px #ccc;
  padding: 20px 10px 0 10px !important;
  border-radius: 5px;
  background-color: #ffffff;
  box-shadow: 0 0 10px #eeeeee;

}
@media screen and (min-width: 768px) {
  .ufaq-faq-div,
  .ewd-ufaq-faq-div {
    padding: 20px 20px 10px 20px !important;
  }
}
@media screen and (min-width: 992px) {
  .ufaq-faq-div,
  .ewd-ufaq-faq-div {
    padding: 30px 30px 20px 30px !important;
  }
}

/* Q：質問 */
.ufaq-post-margin-symbol,
.ewd-ufaq-post-margin-symbol{
  display:none!important;
}
a.ufaq-post-margin,
a.ewd-ufaq-post-margin{
  text-decoration: none;
}
.ufaq-faq-title a,
.ufaq-faq-title-text,
.ewd-ufaq-faq-title-text{
  width: 100%;
  pointer-events: none!important;
  /*padding-bottom: 10px;*/
  padding-bottom: 0;
}
body .ewd-ufaq-faq-title a{
  pointer-events: none!important;
}
body .ufaq-faq-title-text h4,
body .ewd-ufaq-faq-title-text h4{
  position: relative;
  padding-left: 35px;
  /*margin: 5px !important;*/
  font-weight: normal!important;
  margin: 0 0 0 0 !important;
  color: #104280;
  line-height: 1.3em;
}
.ufaq-faq-title-text h4::before,
.ewd-ufaq-faq-title-text h4::before{
  position: absolute;
  top: -0.1em;
  left: 0;
  content: "Q";
  color: #fff;
  font-size: 21px;
  width: 1.2em;
  height: 1.2em;
  line-height: 1.2em;
  text-align: center;
  background-color: #104280;
  border-radius: 50%;
}

/* A：答え */
.ufaq-faq-body,
.ewd-ufaq-faq-body{
  /*border-top: dotted 2px #ddd;*/
  position: relative;
  padding: 10px 0 10px 25px!important;
  padding-left: 35px!important;
  /*margin: 0 5px;*/
  margin: 0;

}
.ufaq-faq-body h4,
.ufaq-faq-body h3,
.ufaq-faq-body h2{
  font-size: 1.2em;
}

.ufaq-faq-body::before,
.ewd-ufaq-faq-body::before {
  position: absolute;
  top: 15px;
  left: 0;
  content: "A";
  font-size: 21px;
  font-weight: normal;
  
  color:#fff;
  
  width: 1.2em;
  height: 1.2em;
  line-height: 1.2em;
  text-align: center;
  background-color: #30b1e0;
  border-radius: 50%;
}
.ufaq-faq-post h4:first-child,
.ufaq-faq-post h3:first-child,
.ufaq-faq-post h2:first-child,
.ufaq-faq-post h1:first-child{
  margin-top: 0.4em;
}

/* フォント設定 */
.ufaq-faq-title-text h4::before,
.ewd-ufaq-faq-title-text h4::before,
.ufaq-faq-body::before,
.ewd-ufaq-faq-body::before {
  /*font-family: 'Lexend Deca', sans-serif;*/
}


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

=アクション

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


/* タイピング
-------------------------------------------------------------- */
.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;
}