@charset "utf-8";
/* ----------style CSS Document 

余白
文字装飾
注意書き
ページトップへ
見出し
プライバシーポリシー

導入事例
会社情報　会社概要　業務内容
リクルート
事業内容
ニュース
サイトマップ

mainkcolor #008
subcolor #0e3da5
subColor#2E97D8 

----------------------------*/

/*================================================
 *  余白
 ================================================*/

.mt10 {
  margin-top: 10px;
}
.mt20 {
  margin-top: 20px;
}
.mt40 {
  margin-top: 40px;
}
.mt80 {
  margin-top: 80px;
}
/* mtなし */
.mtnone {
  margin-top: 0px;
}
.mb20 {
  margin-bottom: 20px;
}
.mb40 {
  margin-bottom: 40px;
}
.mb100 {
  margin-bottom: 100px;
}
/* mtなし */
.mbnone {
  margin-bottom: 0px;
}
.ml10 {
  margin-left: 10px;
}
.ml20 {
  margin-left: 20px;
}
.ml40 {
  margin-left: 40px;
}
.ml60 {
  margin-left: 60px;
}
.ml80 {
  margin-left: 80px;
}
.mr10 {
  margin-right: 10px;
}
/*================================================
 *  余白2
 ================================================*/

.pb40 {
  padding-bottom: 40px;
}
/*================================================
 *  文字装飾
 ================================================*/
.textL {
  text-align: left;
}
.textR {
  text-align: right;
}
.textCnt {
  text-align: center;
}
.photo {
  overflow: hidden;
  margin: 20px 0;
  padding: 10px;
  border: 5px solid #ddd;
  background: #fff;
}
.imgL {
  float: left;
  margin: 0 16px 8px 0;
}
.imgR {
  float: right;
  margin: 0 0 8px 16px;
}
.imgCnt {
  float: none;
  margin: 10px auto;
  text-align: center;
}
.floatL {
  float: left;
}
.floatR {
  float: right;
}
/* 文字赤 */
.textRed {
  color: #b32034;
}
/* 文字青 */
.textBlue {
  color: #0e3da5;
}
/*　小文字　*/
.smallFont {
  font-size: small;
}
/* 大文字 */
.xlargeFont {
  font-size: x-large;
}
.largeFont {
  font-size: larger;
}
/* 太字 */
.bold {
  font-weight: bold;
}
/* 続きを読む */
.readmore {
  text-align: right;
}
.readmore a {
  padding: 0 0.3em;
  color: #2e97d8;
}
.readmore a:hover {
  padding: 0 0.3em;
  background-color: #2e97d8;
  color: #fff;
}

/* 詳細はこちら */
.catColumns p.details,
.columns p.details {
  position: absolute;
  margin-bottom: 0px;
  bottom: 0;
  right: 0;
  margin: 16px 16px -1px;
  padding: 0.6em 0.6em 0.4em 0.6em;
  background-color: #0e3da5;
}
.catColumns p.details a,
.columns p.details a {
  color: #fff;
}
.catColumns p.details:hover,
.columns p.details:hover {
  background-color: #2e97d8;
}
/* トップページ用  */
.columns p.details-g {
  background-color: #aaa;
}
.columns p.details-g:hover {
  background-color: #0e3da5;
}
/* リクルート用  */
.columns p.details-rec {
  background-color: #aaa;
}
.columns p.details-rec:hover {
  background-color: #2e97d8;
}
/*================================================
 *  注意書き
 ================================================*/
.note {
  margin: 2em auto;
  padding: 16px 24px;
  border: 4px solid #b32034;
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
  border-radius: 6px;
  box-sizing: border-box;
  width: 90%;
  text-align: center;
}
.note img {
  vertical-align: middle;
}
/*================================================
 *  リスト
 ================================================*/
.content-inner ol {
  margin: 20px auto;
  padding-left: 2em;
  list-style: decimal outside;
}
.content-inner ul {
  margin: 20px auto;
  padding-left: 2em;
  list-style: disc outside;
}
.content-inner li {
  line-height: 1.5em;
  margin-bottom: 0.5em;
}
/* カッコつき数字 */
.content-inner ol.list-parent {
  list-style: none;
  counter-reset: item;
  padding-left: 0;
}
.content-inner ol.list-parent > li {
  counter-increment: item;
  position: relative;
  padding-left: 2em;
}
.content-inner ol.list-parent > li::before {
  content: "(" counter(item) ") ";
  position: absolute;
  left: 0;
  width: 2.5em;
}
/* カッコつきアルファベット */
.content-inner ol.list-alpha {
  list-style: none;
  counter-reset: alpha;
  padding-left: 0;
}
.content-inner ol.list-alpha > li {
  counter-increment: alpha;
  position: relative;
  padding-left: 2em;
}
.content-inner ol.list-alpha > li::before {
  content: counter(alpha, lower-alpha) ") ";
  position: absolute;
  left: 0;
  width: 2.5em;
}

ul.outline {
  /* リストマークなし */
  list-style: none;
}
ul.outline a:hover {
  opacity: 0.6;
}
ul.arrowicon li {
  /* 矢印のリストマーク  */
  position: relative;
  list-style: none;
}
ul.arrowicon li::after,
ul.arrowicon li::before {
  display: block;
  content: "";
  position: absolute;
}
ul.arrowicon li::after {
  top: 9px;
  left: -1em;
  width: 8px;
  height: 8px;
  border-right: 2px solid #666;
  border-bottom: 2px solid #666;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
ul.arrowicon li::before {
  top: 12px;
  left: -1.025em;
  width: 8px;
  height: 2px;
  background-color: #666;
}
ul.checkmark li {
  /* チェックマーク */
  position: relative;
  list-style: inside none;
}
ul.checkmark li::after {
  display: block;
  content: "";
  position: absolute;
  top: 0.5em;
  left: -1em;
  width: 10px;
  height: 5px;
  border-left: 3px solid #2e97d8;
  border-bottom: 3px solid #2e97d8;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
/*　横並び　*/
dl.row {
  line-height: 1.6em;
}
dl.row dt {
  width: 160px;
}
dl.row dd {
  margin: -1.6em 0 0 0;
  padding: 0 0 0 160px;
}
dl.chara {
  line-height: 2em;
}
dl.chara dt {
  width: 4em;
  padding: 0 0.5em;
  margin-bottom: 0.4em;
  background-color: rgba(14, 61, 165, 0.1);
}
dl.chara dd {
  margin: -2.4em 0 0.4em 0;
  padding: 0 0 0 5em;
}
ul.listStyle {
  margin: 0 auto;
  list-style: none;
  background-color: rgba(14, 61, 165, 0.1);
}
.listStyle {
  text-align: center;
}
.listStyle li {
  display: inline-block;
  width: 20%;
  padding: 8px;
  margin-bottom: 0em;
}
/*================================================
 *  ページトップへ
 ================================================*/
#pagetop {
  display: none;
  position: fixed;
  bottom: 30px;
  right: 30px;
}
#pagetop a {
  display: block;
  background-color: #ccc;
  text-align: center;
  color: #222;
  font-size: 12px;
  text-decoration: none;
  padding: 16px 8px;
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
  border-radius: 6px;
}
#pagetop a:hover {
  display: block;
  background-color: #0e3da5;
  text-align: center;
  color: #fff;
  font-size: 12px;
  text-decoration: none;
  padding: 16px 8px;
}
.pagetop {
  display: none;
  position: fixed;
  bottom: 30px;
  right: 30px;
}
.pagetop a {
  display: block;
  background-color: #ccc;
  text-align: center;
  color: #222;
  font-size: 12px;
  text-decoration: none;
  padding: 16px 8px;
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
  border-radius: 6px;
}
.pagetop a:hover {
  display: block;
  background-color: #0e3da5;
  text-align: center;
  color: #fff;
  font-size: 12px;
  text-decoration: none;
  padding: 16px 8px;
}
/*================================================
 *  見出し
 ================================================*/
h1 {
  color: #000;
  font-size: 1.75em;
  font-weight: 600;
}
h2 {
  margin-top: 1.5em;
  margin-bottom: 1em;
  padding-left: 8px;
  font-size: 1.625em;
  color: #000;
  border-bottom: 4px solid #ccc;
  font-weight: 400;
  box-sizing: border-box;
  position: relative;
}
h2 span {
  font-size: 0.75em;
  margin-left: 24px;
}
h2::after {
  position: absolute;
  bottom: -4px;
  left: 0;
  z-index: 2;
  content: "";
  width: 20%;
  height: 4px;
  background-color: #008;
}
h2.rec::after {
  background-color: #2e97d8;
}
h3 {
  position: relative;
  margin-bottom: 1em;
  padding: 8px 12px 6px;
  padding-left: 8px;
  font-weight: 400;
  font-size: 1.25em;
  background-color: #fff;
  color: #000;
  border: 4px solid #ccc;
  box-sizing: border-box;
}
h3 a {
  display: block;
}
h3 span {
  font-size: 0.75em;
  margin-left: 16px;
}
h3.simple {
  border: none;
}
h3.simple2,
h3.simple3 {
  background-color: #f3f3f3;
  border: none;
  -webkit-border-radius: 0px;
  -moz-border-radius: 0px;
  border-radius: 0px;
  margin-top: 1em;
  text-indent: 0.5em;
}
h3.simple2 {
  border-left: 4px solid #2e97d8;
}
h3.simple3 {
  border-left: 4px solid #0e3da5;
}
h4 {
  margin-top: 40px;
  margin-bottom: 1em;
  padding-left: 8px;
  font-size: 1.125em;
  color: #000;
  border-bottom: 3px solid #0e3da5;
  width: 70%;
  font-weight: normal;
}
h4.privacyItem {
  all: unset;
  display: block;
  font-weight: bold;
  font-size: 1.05em;
  margin: 0 0 0.5em;
}
/*================================================
 *  トップページ
 ================================================*/
.headline {
  margin: -24px auto 0px;
  padding: 80px 0px;
  width: 100%;
  height: 200px;
  background-color: #f3f3f3;
  position: relative;
}
.arrow_box {
  position: relative;
  background: #ffffff;
  border: 4px solid #ffffff;
}
.arrow_box:after,
.arrow_box:before {
  bottom: 100%;
  left: 50%;
  border: solid transparent;
  content: " ";
  height: 0;
  width: 0;
  position: absolute;
}
.arrow_box:after {
  border-color: rgba(255, 255, 255, 0);
  border-bottom-color: #ffffff;
  border-width: 40px;
  margin-left: -40px;
}
.arrow_box:before {
  border-color: rgba(255, 255, 255, 0);
  border-bottom-color: #ffffff;
  border-width: 46px;
  margin-left: -46px;
}
/* カテゴリインデックス */
ul.cat {
  margin-left: 8px;
  padding: 0px 8px 24px 16px;
  font-size: 0.875em;
}
ul.cat li {
  list-style-type: none;
}
ul.cat li::before {
  content: "";
  width: 6px;
  height: 6px;
  display: inline-block;
  border-radius: 100%;
  background: #0e3da5;
  position: relative;
  left: -8px;
  top: -3px;
}

/* news */
h4.newsindex {
  position: relative;
  margin-top: 0px;
  margin-bottom: 10px;
  padding: 0.5em;
  text-indent: 12px;
  font-weight: 600;
  font-size: 1.063em;
  width: 100%;
  box-sizing: border-box;
  border-bottom: 4px solid #ccc;
}
h4.newsindex::after {
  position: absolute;
  bottom: -4px;
  left: 0;
  z-index: 2;
  content: "";
  width: 30%;
  height: 4px;
  background-color: #008;
}
.newsBox {
  padding: 16px 24px;
  width: 100%;
  background-color: rgba(14, 61, 165, 0);
  box-sizing: border-box;
}
.newsBox dt {
  font-size: 0.875em;
  color: #666;
}
.newsBox dd {
  padding: 8px 0px;
  margin-bottom: 8px;
  border-bottom: 2px dotted #ddd;
}
/* PDF拡張子を表示する */
a[href$=".pdf"] {
  display: inline-block;
  padding-right: 24px;
  background: url(../image/icon_pdf.gif) no-repeat right center;
}
/* 記事一覧　枠 */
.frame {
  border: 2px solid #ddd;
}
/* 記事一覧　表示 */
.newsList {
  margin: 20px auto;
}
.newsList dd {
  font-size: 0.875em;
  padding: 4px 0px 8px;
}
/* 過去記事一覧 */
.pastArticles {
  overflow: auto;
  height: 400px;
  margin-bottom: 100px;
}
.newsList dt,
.pastArticles dt {
  text-decoration: underline;
}
.newsList dd,
.pastArticles dd {
  font-size: 0.875em;
  padding: 4px 0px 8px;
}
/* ニュース一覧ページへ */
.archive {
  text-align: right;
  margin-top: 24px;
  margin-right: 0px;
  font-size: 0.875em;
}
.archive a {
  padding: 0 0.3em;
}
.archive a:hover {
  padding: 0 0.3em;
  background-color: #2e97d8;
  color: #fff;
}

/* バナー配置 */
ul.bnList {
  width: 100%;
  list-style: none;
  float: right;
  margin: 20px auto;
}
ul.bnList li {
  float: left;
  margin-left: 8px;
}
#bnArea ul {
  position: relative;
  float: left;
  left: 50%;
  margin: 48px auto 0px;
}
#bnArea ul li {
  position: relative;
  left: -50%;
  float: left;
  list-style: none;
  margin-right: 16px;
  text-align: center;
}
/*================================================
 *  プライバシーポリシー
 ================================================*/
dl.policy {
  margin: 20px 32px 40px;
}
dl.policy dt {
  margin-top: 20px;
  font-weight: bold;
}
/* 利用クッキーの公表事項 */
table.cookieList {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  border-spacing: 0;
  border-style: solid;
  border-color: #2d3e5e;
  border-width: 1px 0 0 1px;
  margin-bottom: 2em;
  font-size: 14px;
}
table.cookieList > thead th {
  background-color: #2d3e5e;
  color: #fff;
  border-style: solid;
  border-color: #fff;
  border-width: 0 1px 0 0;
  padding: .5em;
}
table.cookieList > tbody td {
  border-style: solid;
  border-color: #2d3e5e;
  border-width: 0 1px 1px 0;
  padding: .5em;
}
/* 解析ツールの公表事項 */
table.analytics {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  border-spacing: 0;
  border-style: solid;
  border-color: #2d3e5e;
  border-width: 1px 0 0 1px;
  margin-bottom: 2em;
  font-size: 14px;
}
table.analytics > thead th {
  background-color: #2d3e5e;
  color: #fff;
  border-style: solid;
  border-color: #fff;
  border-width: 0 1px 0 0;
  padding: .5em;
}
table.analytics > tbody td {
  border-style: solid;
  border-color: #2d3e5e;
  border-width: 0 1px 1px 0;
  padding: .5em;
}
table.analytics > tbody td.policy_url {
  white-space: nowrap;
}


/*================================================
 *  導入事例
 ================================================*/
div.columns > div h3.case {
  width: 100%;
  font-size: 1.063em;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  background-color: #0e3da5;
  padding: 8px;
}
h3.case a {
  color: #fff;
}
/* 事例・成功要因タイトル */
.factor {
  font-size: 1.313em;
  position: relative;
}
.orderer a {
  color: #000;
  background-color: #f3f3f3;
  display: block;
  width: 100%;
}
/* インデックス画像 200px*120px */
img.caseimg {
  margin: 0px auto 1em;
  text-align: center;
  min-width: 100%;
  border: 1px solid #ccc;
  clear: both;
}
/* 各事例インデックス */
.step {
  margin: 40px auto;
  padding: 16px 32px;
  line-height: 2;
  border: 4px solid #0e3da5;
  -webkit-border-radius: 16px;
  -moz-border-radius: 16px;
  border-radius: 16px;
}
.step li:last-child {
  margin-bottom: 0em;
}
/* 企業プロフィール */
table.tb02 {
  border-collapse: collapse;
  width: 100%;
}
table.tb02 th {
  border-bottom: #e3e3e3 1px solid;
  background-color: #f3f3f3;
  text-align: left;
  padding: 8px;
  font-weight: 600;
  word-break: keep-all;
}
table.tb02 th.tbtop03,
table.tb02 td.tbtop03 {
  border-top: #e3e3e3 1px solid;
}
table.tb02 td.tbtop01 {
  border-top: #b3b3b3 2px solid;
}
table.tb02 td {
  border-bottom: #e3e3e3 1px solid;
  text-align: left;
  padding: 8px 16px;
}
/* 成功要因 */
.success {
  width: 800px;
  padding: 24px 16px 8px;
  margin: 32px auto 64px;
  border: 4px solid #ccc;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  position: relative;
  overflow: hidden;
}
/*================================================
 *  会社情報
 ================================================*/

/*--------- 企業理念----------*/

.philosophy {
  margin: 20px auto 60px;
  padding: 48px 16px;
  width: 100%;
  border: 2px solid #0e3da5;
  overflow: hidden;
}
/*--------- 会社概要----------*/
table.tb01 {
  border-collapse: collapse;
  width: 100%;
}
table.tb01 th {
  border-bottom: #e3e3e3 1px solid;
  text-align: left;
  padding: 16px;
  font-weight: 600;
  word-break: keep-all;
}
table.tb01 th:first-child {
  border-top: #e3e3e3 1px solid;
}
table.tb01 th.tbtop01 {
  /* base color */
  border-top: #0e3da5 2px solid;
}
table.tb01 th.tbtop02 {
  /* sub color */
  border-top: #2e97d8 2px solid;
}
table.tb01 td.tbtop01 {
  border-top: #b3b3b3 2px solid;
}
table.tb01 td {
  border-bottom: #e3e3e3 1px solid;
  text-align: left;
  padding: 16px 32px;
}
/*--------- 業務内容　リスト----------*/

.serviceList {
  margin: 8px auto 16px;
  width: 100%;
}
.serviceList .name {
  position: relative;
  padding: 8px 0px 8px 32px;
  font-size: 1.125em;
  font-weight: 600;
}
.serviceList .name:before {
  position: absolute;
  content: "";
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  border-radius: 30px;
  height: 16px;
  width: 16px;
  display: block;
  top: 12px;
  left: 8px;
  background-color: #2e97d8;
}
.serviceList-inner {
  margin-top: 8px;
  padding: 16px;
  border: 1px solid #ddd;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
/*================================================
 *  リクルート
 ================================================*/
.recruitText {
  margin: 40px auto 60px;
}

.recruitText p {
  margin-top: 20px;
  margin-bottom: 20px;
  text-align: center;
}

/* 先輩からのメッセージサムネイル */
ul.mes01 {
  width: 264px;
  list-style: none;
  float: right;
  margin-top: 0px;
  margin-left: 8px;
}
ul.mes01 li {
  width: 80px;
  float: left;
  margin-right: 8px;
}
ul.mes01 li img {
  width: 80px;
  -webkit-border-radius: 80px;
  -moz-border-radius: 80px;
  border-radius: 80px;
  padding: 0px;
  margin-top: 16px;
}
ul.mes02 {
  width: 100%;
  list-style: none;
  display: table;
  border-collapse: separate;
  border-spacing: 8px 0;
  margin-bottom: 2em;
}
ul.mes02 li {
  display: table-cell;
  padding: 8px;
  vertical-align: middle;
  border: 4px solid #2e97d8;
  box-sizing: border-box;
}
ul.mes02 li a {
  color: #000;
}
ul.mes02 li:hover {
  background-color: rgba(46, 151, 216, 0.2);
}
ul.mes02 li img {
  float: left;
  margin: 0px 16px 0px 0px;
  width: 80px;
  -webkit-border-radius: 80px;
  -moz-border-radius: 80px;
  border-radius: 80px;
}
img.interviewPhoto {
  width: 160px;
  -webkit-border-radius: 160px;
  -moz-border-radius: 160px;
  border-radius: 160px;
  float: left;
  margin-right: 24px;
}
.interviewArea {
  margin: 4px;
  padding: 16px;
  background-color: rgba(46, 151, 216, 0.1);
}
.interviewArea img {
  vertical-align: middle;
  z-index: 2;
}
.interviewee blockquote {
  width: 80%;
  z-index: 1;
  float: right;
}
.interviewee {
  margin-bottom: 1em;
  padding: 16px 24px;
  font-weight: 400;
  color: #000;
  border: 4px solid #2e97d8;
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
  border-radius: 6px;
  box-sizing: border-box;
  height: 200px;
}
/* 入社年 */
.prof {
  font-size: 0.75em;
  margin-right: 16px;
  padding: 8px 8px 6px;
  color: #fff;
  background-color: #2e97d8;
  -webkit-border-radius: 24px;
  -moz-border-radius: 24px;
  border-radius: 24px;
}
/*　FAQ　*/

dl.faq dt {
  border-left: 4px solid #2e97d8;
  padding: 8px;
  background-color: #fff;
}
dl.faq dd {
  margin: 1em 0px 1em 24px;
}
/* 採用フォームへ  */

.to-entryform {
  margin: 60px auto 100px;
  padding: 8px 24px;
  font-weight: 500;
  text-align: center;
  font-size: 1.125em;
  border: 4px solid #2e97d8;
  box-sizing: border-box;
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
  border-radius: 6px;
  width: 80%;
  line-height: 32px;
}
.to-entryform a {
  display: block;
}
.to-entryform:hover {
  background-color: rgba(46, 151, 216, 1);
}
.to-entryform a:hover {
  color: #fff;
}
/* 新卒採用 */
table.tb06 {
  margin-bottom: 10px;
  width: 90%;
}
table.tb06 td {
  border-bottom: none;
  text-align: right;
  padding: 0px 16px;
}

/*================================================
 *  事業内容
 ================================================*/

#products {
  padding: 0px;
  width: 100%;
}
.products-inner {
  padding: 60px 0px 0px;
  background-color: #fff;
}
#products div.columns > div {
  width: 100%;
  height: 313px;
  position: relative;
  overflow: hidden;
  border: 4px solid #0e3da5;
}
#products div.columns > div p.catTitle {
  position: relative;
  top: 3em;
  text-align: center;
  font-size: 1.25em;
  font-weight: 600;
  color: #fff;
}
.catCaption {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  background-color: rgba(14, 61, 165, 0.4);
  -webkit-transition: 0.3s;
  transition: 0.3s;
  opacity: 0;
}
.catCaption ul {
  position: absolute;
  left: -100%;
  width: 80%;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.catCaption ul {
  top: 9em;
  font-size: 0.875em;
  color: #fff;
  text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.8);
  list-style: none;
  margin: 0px;
}
.catCaption ul li {
  margin-bottom: 0.3em;
  list-style: inside disc;
  text-indent: -1em;
  padding-left: 1em;
}
.catCaption ul ul li {
  margin-bottom: 0.3em;
  list-style: none;
  float: left;
}
#products div.columns > div:hover .catCaption {
  opacity: 1;
}
#products div.columns > div:hover .catCaption ul {
  left: 10%;
}
#products div.columns > div:hover .catCaption ul {
  -webkit-transition-delay: 0.5s;
  transition-delay: 0.5s;
}
/*各カテゴリページ　スライドタブ*/

#catArea {
  margin: 0px auto 100px;
  height: 600px;
}
.catContentslider {
  width: 100%;
  height: 100%;
  margin: 1em auto;
  position: relative;
  border: 4px solid #0e3da5;
}
.catContentslider > ul {
  list-style: none;
  height: 100%;
  width: 100%;
  overflow: hidden;
  position: relative;
  padding: 0;
  margin: 0;
}
.catContentslider > ul li {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background: #fff;
  padding: 8px;
}
.catContentslider > ul li:target {
  z-index: 100;
}
.catContentslider ul.cat {
  position: absolute;
  display: table;
  table-layout: fixed;
  width: 100%;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3.313em;
  z-index: 1000;
  border-top: 4px solid #0e3da5;
  overflow: hidden;
}
.catContentslider ul.cat li {
  display: table-cell;
  height: 100%;
  font-weight: 400;
  font-size: 0.875em;
  text-align: center;
  overflow: hidden;
  color: #0e3da5;
  background: #fff;
  outline: none;
  position: relative;
  border-right: 4px solid #0e3da5;
  -webkit-transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out;
  -moz-transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out;
  transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out;
}
.catContentslider ul.cat a {
  display: block;
}
/*1行表示*/
.catContentslider ul.cat li.oneLine {
  font-size: 1em;
  vertical-align: middle;
}
.catContentslider ul.cat li:last-child {
  border: none;
  box-shadow: 1px 0 #0e3da5;
}
.catContentslider ul.cat li:hover {
  background-color: #0e3da5;
}
.catContentslider ul.cat li:hover a {
  color: #fff;
  display: block;
}
.catContentslider ul.cat a.rc-active {
  background-color: #0e3da5;
  color: #fff;
}
.catContentslider h2 {
  font-size: 1.875em;
  font-weight: 300;
  margin: 0 auto 0.3em;
  padding: 0.5em 1em;
  position: relative;
  color: #0e3da5;
  text-transform: uppercase;
  text-align: right;
  border-bottom: 4px solid #0e3da5;
}
.catContentslider h2 span {
  font-size: 0.625em;
  margin-right: 16px;
}
.catContentslider li > div {
  position: absolute;
  top: 3em;
  bottom: 3.313em;
  width: 100%;
  left: 0;
  padding: 0 1em;
  overflow-x: hidden;
  overflow-y: auto;
}
.catContentslider .catContent {
  margin-top: 5em;
  padding: 1em 0;
}
.catContentslider p {
  color: #0e3da5;
  padding: 0 0.5em;
  font-weight: 300;
  line-height: 1.6;
}
/*各カテゴリページ　カラム*/
div.catColumns,
div.catColumns01 {
  margin-top: 16px;
  display: table;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 10px 0;
  width: 100%;
}
div.catColumns > div {
  display: table-cell;
  vertical-align: top;
  text-decoration: none;
  padding: 8px 8px;
  border: 4px solid #0e3da5;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  position: relative;
}
div.catColumns01 > div {
  display: table-cell;
  vertical-align: top;
  text-decoration: none;
  border: 4px solid #0e3da5;
  border-radius: 0px 0px 8px 8px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  position: relative;
}
.catColumns img,
.catColumns01 img {
  max-width: 100%;
  height: auto;
  margin-top: 1em;
}
.catColumns h2,
.catColumns01 h2 {
  font-size: 1.75em;
  font-weight: 300;
  margin: 0 auto;
  padding: 0.25em 0.5em;
  position: relative;
  color: #0e3da5;
  text-transform: uppercase;
  text-align: right;
  border-bottom: 4px solid #0e3da5;
}
.catColumns h2 span,
.catColumns01 h2 span {
  font-size: 0.625em;
  margin-right: 8px;
}
.catColumns h3 {
  font-size: 1.063em;
  border: none;
  padding: 8px;
  background-color: #2e97d8;
  color: #fff;
}
.catColumns01 h3 {
  position: absolute;
  font-size: 1.063em;
  border: none;
  padding: 8px;
  background-color: #0e3da5;
  color: #fff;
  top: 0;
  width: 100%;
}
.catColumns p {
  color: #0e3da5;
  margin: 20px 0px 20px;
  font-weight: 300;
  line-height: 1.6;
}
.catColumns01 p {
  margin-top: 80px;
  padding: 8px;
}
/*カラム内にチェックマークリストを配置*/
.catColumns ul.checkmark {
  padding-top: 1em;
}
.catColumns01 ul.checkmark {
  padding: 4em 1em 0em;
}
.catColumns ul.checkmark,
.catColumns01 ul.checkmark li {
  margin-left: 16px;
}
/* カテゴリ内サブページ見出し */
h1.catttl {
  border-bottom: 4px solid #0e3da5;
  padding: 0.25em 0.5em;
  font-size: 1.75em;
  font-weight: 300;
  color: #0e3da5;
  margin-bottom: 40px;
}
h1.catttl span {
  font-size: 0.625em;
  margin-right: 8px;
}
h2.catdetail {
  font-size: 1.5em;
  font-weight: 300;
  padding: 0.25em 0.5em 0em 0.5em;
  color: #0e3da5;
  border-bottom: none;
  border-left: 4px solid #0e3da5;
}
h2.catdetail span {
  margin-left: 0em;
}
h2.catdetail::after {
  width: 0%;
}
/* リストタブ  */
ul.select,
ul.select01 {
  width: 100%;
  list-style: none;
  margin: 0px auto 40px;
  text-align: center;
  border-bottom: 4px solid #0e3da5;
}
ul.select li,
ul.select01 li {
  display: inline-block;
  margin-bottom: 0px;
  padding: 12px 0px 8px;
  vertical-align: middle;
  background-color: rgba(14, 61, 165, 0.1);
  border-radius: 6px 6px 0 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
ul.select li a,
ul.select01 li a {
  display: block;
}
ul.select li:first-child {
  padding-right: 1%;
  width: 49%;
}
ul.select01 li:first-child {
  padding-right: 0.5%;
  width: 33%;
}
ul.select01 li:nth-child(2) {
  width: 32%;
}
ul.select li:last-child {
  padding-left: 1%;
  width: 49%;
}
ul.select01 li:last-child {
  padding-left: 0.5%;
  width: 33%;
}
ul.select li:hover,
ul.select li.now,
ul.select01 li:hover,
ul.select01 li.now {
  background-color: #0e3da5;
}
ul.select li:hover a,
ul.select li.now a,
ul.select01 li:hover a,
ul.select01 li.now a {
  color: #fff;
}
/* 特記事項 */
#recommend {
  margin-top: 40px;
  margin-bottom: 40px;
  padding: 16px;
  background-color: rgba(14, 61, 165, 0.1);
  border-radius: 0.5em;
}
#recommend h1 {
  font-size: 1.5em;
  font-weight: 400;
  border-bottom: 4px solid #fff;
  padding: 0em 0.5em;
  color: #0e3da5;
}
/* 機能説明 */
dl.description {
  width: 90%;
  margin: 40px auto;
}
dl.description dt {
  background-color: #0e3da5;
  color: #fff;
  line-height: 2em;
  text-indent: 0.5em;
  vertical-align: middle;
}
dl.description dd {
  padding-left: 0.5em;
  padding-right: 0.5em;
  margin: 16px auto 16px;
}
/* 見出し＋内容 */
dl.item {
  margin: 20px 60px 40px;
}
dl.item dt {
  margin-top: 1.5em;
  font-weight: 600;
}
/*  リスト幅調整 */
.w90 {
  width: 90%;
  margin: 20px auto;
}
/* サービス例　表  */
table.tb03,
table.tb04,
table.tb05 {
  border-collapse: separate;
  border-spacing: 1px;
  line-height: 1.6;
  width: 100%;
}
table.tb03 th,
table.tb04 th {
  padding: 8px;
  font-weight: 600;
  vertical-align: top;
  color: #fff;
  background: #0e3da5;
}
.tb03 tbody tr {
  background: #f8f8f8;
}
.tb03 tbody tr:nth-child(odd) {
  background: #eee;
}
table.tb03 td,
table.tb04 td {
  padding: 8px;
  vertical-align: top;
  border-bottom: 1px solid #ccc;
}
table.tb04 td {
  background: #f8f8f8;
}
table.tb04 td:nth-child(even) {
  background: #eee;
}
table.tb05 {
  border-top: 1px solid #ccc;
  border-left: 1px solid #ccc;
}
table.tb05 th {
  padding: 8px;
  font-weight: 600;
  vertical-align: top;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  border-top: 1px solid #fff;
  border-left: 1px solid #fff;
  background: rgba(14, 61, 165, 0.1);
}
table.tb05 td {
  padding: 8px;
  vertical-align: top;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}
/*================================================
 *  サイトマップ
 ================================================*/
div.sitemapColumns {
  margin-top: 16px;
  display: table;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 8px 0;
  width: 100%;
}
div.sitemapColumns > div {
  display: table-cell;
  vertical-align: top;
  padding: 16px;
  text-decoration: none;
  background-color: rgba(14, 61, 165, 0.1);
  border-radius: 0.25em;
  box-sizing: border-box;
  position: relative;
}
/* 項目名 */
dl.sitemapttl dt {
  border-bottom: 2px solid #0e3da5;
  padding: 0.5em;
  background-color: #fff;
  border-radius: 0.25em;
}
dl.sitemapttl dd {
  margin: 1em 0em 0.6em;
  border-bottom: 1px dotted #0e3da5;
  font-size: 0.875em;
  padding-left: 0.5em;
  padding-bottom: 0.5em;
}
dl.sitemapttl dd:first-child {
  margin-top: 1em;
}
ul.sitemapList {
  margin: 0 auto;
  list-style: none;
  display: table;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 8px 0;
  width: 100%;
}
ul.sitemapList li {
  display: table-cell;
  vertical-align: middle;
  padding: 8px;
  background-color: rgba(14, 61, 165, 0.1);
  border-radius: 0.25em;
  text-align: center;
}
ul.sitemapList li.bgnone {
  background-color: #fff;
}
