@charset "UTF-8";
/* 記事カード */
/* スペシャルコンテンツカード */
/* アクセス総合ランキング */
/* イベントセミナーランキング */
/* SNS周りアイコン色 */
/* 記事詳細(行高) */
/* ---------- PC 記事 start ---------- */
/* ---------- PC 記事 end ---------- */
/* ---------- SP 記事 start ---------- */
/* ---------- SP 記事 end ---------- */
/* ---------- ビジネス+IT特集 記事 start ---------- */
/* pc, spともにデザイン同じため、共通にしている */
/* ---------- ビジネス+IT特集 記事 end ---------- */
/**
* font
* $fv : font-size
* $lv : line-height
* $ls : letter-spacing
* $c  : color
* $fw : font-weight
*/
/**
* icon
* $url   : background-image: url()
* $w     : width, background-size
* $h     : height, background-size
* $align : vertical-align
*/
/**
* select box allow
*/
@font-face {
  font-family: 'NotoSansCJKjp';
  font-style: normal;
  font-weight: 400;
  src: local("NotoSansCJKjp-Regular"), url("/assets/font/NotoSansCJKjp-Regular.woff2") format("woff2"), url("/assets/font/NotoSansCJKjp-Regular.woff") format("woff"), url("/assets/font/NotoSansCJKjp-Regular.ttf") format("truetype");
}

@font-face {
  font-family: 'NotoSansCJKjp';
  font-style: normal;
  font-weight: 700;
  src: local("NotoSansCJKjp-Bold"), url("/assets/font/NotoSansCJKjp-Bold.woff2") format("woff2"), url("/assets/font/NotoSansCJKjp-Bold.woff") format("woff"), url("/assets/font/NotoSansCJKjp-Bold.ttf") format("truetype");
}

@media print {
  html body * {
    font-family: 'メイリオ',Meiryo,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ Ｐゴシック',sans-serif;
  }
}

.clearfix:after {
  content: "";
  display: table;
  clear: both;
}

select::-ms-expand {
  display: none;
}

select optgroup[label=""] {
  display: none;
}

@media only screen and (max-width: 767px) {
  .only_pc {
    display: none !important;
  }
}

@media only screen and (min-width: 768px), print {
  .only_sp {
    display: none !important;
  }
  a,
  button {
    transition: opacity 0.2s ease;
  }
  a:hover,
  button:hover {
    opacity: 0.6;
  }
  button:hover {
    cursor: pointer;
  }
}

/* icon */
/* ホワイトペーパーアイコン */
.icon-white-paper {
  width: 14px;
  height: 18px;
  display: inline-block;
  background: url("/assets/images/common/icon_white_paper.png");
  background-repeat: no-repeat;
  background-size: 14px 18px;
  content: "";
  vertical-align: -4px;
  margin-right: 5px;
}

/* PDFアイコン */
.icon-pdf {
  width: 22px;
  height: 16px;
  display: inline-block;
  background: url("/assets/images/common/icon_pdf.png");
  background-repeat: no-repeat;
  background-size: 22px 16px;
  content: "";
  vertical-align: -3px;
  margin-right: 5px;
}

/* 動画アイコン(赤) */
.icon-movie {
  width: 22px;
  height: 16px;
  display: inline-block;
  background: url("/assets/images/common/icon_movie.png");
  background-repeat: no-repeat;
  background-size: 22px 16px;
  content: "";
  vertical-align: -2px;
  margin-right: 5px;
}

/* 動画アイコン(グレー) */
.icon-movie_gray {
  width: 22px;
  height: 16px;
  display: inline-block;
  background: url("/assets/images/common/icon_movie_gray.png");
  background-repeat: no-repeat;
  background-size: 22px 16px;
  content: "";
  vertical-align: -2px;
  margin-right: 5px;
}

/* 動画再生アイコン */
.icon-play {
  width: 39px;
  height: 39px;
  display: inline-block;
  background: url("/assets/images/common/icon_play.png");
  background-repeat: no-repeat;
  background-size: 39px 39px;
  content: "";
  vertical-align: -1px;
}

/* ジャンル追加アイコン */
.icon-plus {
  width: 15px;
  height: 15px;
  display: inline-block;
  background: url("/assets/images/common/icon_plus.png");
  background-repeat: no-repeat;
  background-size: 15px 15px;
  content: "";
  vertical-align: -2px;
  margin-right: 5px;
}

/* ジャンル削除アイコン */
.icon-delete {
  width: 15px;
  height: 15px;
  display: inline-block;
  background: url("/assets/images/common/icon_times.png");
  background-repeat: no-repeat;
  background-size: 15px 15px;
  content: "";
  vertical-align: -1px;
}

/* キーワード検索アイコン */
.icon-search-blk {
  width: 21px;
  height: 20px;
  display: inline-block;
  background: url("/assets/images/common/icon_search_blk.png");
  background-repeat: no-repeat;
  background-size: 21px 20px;
  content: "";
  vertical-align: -1px;
  margin: 8px 5px 0 5px;
}

/* 特集アイコン */
.icon-feature {
  width: 13px;
  height: 15px;
  display: inline-block;
  background: url("/assets/images/common/icon_feature.png");
  background-repeat: no-repeat;
  background-size: 13px 15px;
  content: "";
  vertical-align: -1px;
  margin: 8px 5px 0 5px;
}

/* 青 検索アイコン */
.icon-search_blue {
  width: 20px;
  height: 20px;
  display: inline-block;
  background: url("/assets/images/common/icon_search_blue.png");
  background-repeat: no-repeat;
  background-size: 20px 20px;
  content: "";
  vertical-align: -1px;
}

/* アラートアイコン */
.icon-alert {
  width: 22px;
  height: 22px;
  display: inline-block;
  background: url("/assets/images/common/icon_alert.png");
  background-repeat: no-repeat;
  background-size: 22px 22px;
  content: "";
  vertical-align: -5px;
}

/* 必須アイコン */
.is-require:after {
  padding: 2px 5px;
  margin-left: 15px;
  font-size: 10px;
  font-size: 1rem;
  line-height: 22px;
  letter-spacing: 0.8px;
  color: #cf1010;
  font-weight: 400;
  background-color: #fff;
  content: '必須';
  border: 1px solid rgba(207, 16, 16, 0.33);
  vertical-align: 2px;
}

/* キーワードで検索する */
.keyword_search {
  position: relative;
  width: 100%;
  /* 検索submitボタン */
}

.keyword_search .input-text {
  border: 0;
  outline: 0;
  background-color: transparent;
  text-align: center;
  border: none;
  outline: 0;
  width: 100%;
  padding: 7px 30px 6px 1px;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: normal;
  letter-spacing: 0.6px;
  color: #333;
  font-weight: normal;
  /* 虫眼鏡アイコンが不要な場合は、 .keyword_search に .is-invisible を付与 */
}

.keyword_search .input-text:placeholder-shown {
  color: #a4a4a4;
}

.keyword_search .input-text::-webkit-input-placeholder {
  color: #a4a4a4;
}

.keyword_search .input-text:-moz-placeholder {
  color: #a4a4a4;
}

.keyword_search .input-text::-moz-placeholder {
  color: #a4a4a4;
}

.keyword_search .input-text:-ms-input-placeholder {
  color: #a4a4a4;
}

.keyword_search .input-text.is-invisible {
  padding: 7px 0 6px 1px;
}

.keyword_search .input-text.is-invisible ~ .input-submit {
  display: none;
  background: none;
}

.keyword_search .input-submit {
  position: absolute;
  top: 7px;
  right: 3px;
  display: block;
  text-indent: -9999px;
  white-space: nowrap;
  overflow: hidden;
  background-color: transparent;
  padding: 0;
  border: none;
  line-height: 1;
  outline: 0;
  cursor: pointer;
  width: 21px;
  height: 20px;
  background: url("/assets/images/common/icon_search_blk.png") center no-repeat;
  background-size: cover;
}

.keyword_search .input-submit.is-focus {
  background: url("/assets/images/common/icon_search_right_blue.png") center no-repeat;
  background-size: cover;
}

/* 検索などにフォーカスあたったときのアニメーション */
.input-text ~ .underbar {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #ccc;
}

.input-text ~ .underbar:before,
.input-text ~ .underbar:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 100%;
  background-color: #2470ff;
  transition: 0.4s;
}

.input-text ~ .underbar:after {
  left: auto;
  right: 0;
}

.input-text:focus ~ .underbar:before,
.input-text:focus ~ .underbar:after {
  width: 50%;
  transition: 0.4s;
}

/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  -moz-appearance: button;
       appearance: button;
  border: none;
  box-sizing: border-box;
}

input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}

input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}
