@charset "UTF-8";
/* CSS Document */

@import "../../../files/css/common/layout.css";

/*-------------------------------------------------------------------------
	mainContents
/*-----------------------------------------------------------------------*/

#mainContents h1 {
  border-bottom: 1px solid #c9caca;
  clear: both;
  position: relative;
  zoom: 1;
}

#mainContents h1 #newsNavi {
  width: 430px;
  display: inline;
  position: absolute;
  right: 0;
  bottom: -1px;
}
@media (max-width: 768px) {
  #mainContents h1 #newsNavi {
    width: 100%;
    display: flex;
    bottom: 0px;
  }
  #mainContents h1 #newsNavi img {
    width: 100%;
    height: auto;
  }
}
#mainContents h1 #newsNavi li {
  margin-right: 8px;
  float: left;
  width: 135px;
  height: 37px;
}
@media (max-width: 768px) {
  #mainContents h1 #newsNavi li {
    width: calc(100% / 3);
    height: auto;
    display: flex;
    justify-content: center;
    margin: 0;
  }
}
#main #content #mainContents .section p {
  font-size: 100%;
}

/*-------------------------------------------------------------------------
	aboutus
/*-----------------------------------------------------------------------*/

/* ルートノード */
.tree-root {
  font-weight: bold;
  display: inline-block;
  margin-bottom: 16px;
  position: relative;
  z-index: 2;
}
.tree-root .company-name {
  font-size: 1.6rem;
}
.tree-root .role-name {
  font-weight: normal;
}

/* 子ノードの入れ物（縦線を引く場所） */
.tree-children {
  position: relative;
  margin-left: 8px;
  border-left: 1px solid #333;
  padding-top: 0;
}

/* 【重要】最後の項目の縦線を「背景で隠さず」物理的に消す設定 */
.tree-children::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: -1px;
  width: 1px;
  height: 50%;
  background-color: #fff;
}

.tree-children {
  border-left: none;
}

/* 各子ノード */
.child-node {
  position: relative;
  padding: 15px 0 15px 30px;
  display: flex;
  align-items: center;
}

.child-node::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 24px;
  height: 1px;
  background-color: #333;
}

.child-node {
  border-left: 1px solid #333;
  margin-left: 16px;
  display: block;
  line-height: 1;
}

.child-node:last-child {
  border-left: 1px solid transparent;
  margin-left: 16px;
}

/* 最後の要素だけL字の角を作る */
.child-node:last-child::after {
  content: "";
  position: absolute;
  top: 0;
  left: -1px;
  width: 1px;
  height: 50%;
  background-color: #333;
}

/* テキストのスタイリング */
.child-node .company-name {
  font-weight: bold;
  display: block;
}

.child-node .company-name::after {
  content: " ： ";
  font-weight: normal;
}

.child-node .role-name {
  display: block;
  font-size: 0.8em;
  color: #444;
  padding-left: 10px;
}

#aboutus #main #content #mainContents .section h2 {
  margin-bottom: 2em;
}
#aboutus #main #content #mainContents .section .inSection {
  margin-bottom: 4em;
  padding-left: 4em;
  overflow: inherit;
}
#aboutus #main #content #mainContents .section .inSection .text260519 {
  letter-spacing: 0.1rem;
  text-align: justify;
}

@media (max-width: 768px) {
  #aboutus #main #content #mainContents .section .inSection {
    margin-bottom: 1.5em;
    padding-left: 1.5em;
  }
}
#aboutus #main #content #mainContents .section .inSection.last {
  margin-bottom: auto;
}

#aboutus #main #content #mainContents .section table {
  width: 95%;
}

@media (max-width: 768px) {
  #aboutus #main #content #mainContents .section table {
    width: 100%;
  }
}
#aboutus #main #content #mainContents .section table span.trademark {
  padding-bottom: 0.4em;
  font-size: 80%;
  vertical-align: middle;
}

#aboutus #main #content #mainContents .section table#keihan {
  margin-bottom: 2em;
}

#aboutus #main #content #mainContents #section002.section .inSection {
  margin-bottom: 0;
  h3 {
    padding-left: 0;
    margin: 0 0 8px 0;
    font-size: 15px;
    color: #000;
    background: none;
  }
  p {
    font-size: 14px;
    margin-bottom: 24px;
  }
  table {
    th {
      color: #000;
      font-weight: bold;
      /* width: 60%; */
    }
    td {
      width: 40%;
      font-size: 14px;
    }
  }
}

/*-------------------------------------------------------------------------
	message
/*-----------------------------------------------------------------------*/

#message .photo img {
  width: auto;
}

#message #main #content #mainContents .section p.copy {
  margin: 20px 0 30px 0;
}
@media (max-width: 768px) {
  #message #main #content #mainContents .section p.copy::before {
    content: "お客様にとって本当に価値があるサービスを追求します。";
    font-family: serif;
    font-size: 2rem;
    line-height: 1.5;
    font-weight: bold;
    color: #465eab;
  }
  #message #main #content #mainContents .section p.copy img {
    display: none;
  }
}
#message #main #content #mainContents .section .txtArea .txt {
  width: 450px;
  float: left;
}
@media (max-width: 768px) {
  #message #main #content #mainContents .section .txtArea .txt {
    width: 100%;
  }
}
#message #main #content #mainContents .section .txtArea .txt p {
  padding-bottom: 1em;
}
#message #main #content #mainContents .section .txtArea .photo {
  padding-top: 0.5em;
  width: 186px;
  float: right;
}
@media (max-width: 768px) {
  #message #main #content #mainContents .section .txtArea .photo {
    width: 100%;
    float: none;
    text-align: center;
  }
}

/*-------------------------------------------------------------------------
	philosophy
/*-----------------------------------------------------------------------*/

#philosophy #main #content #mainContents .section .inSection {
  margin: 60px 0 40px 0;
}
#philosophy #main #content #mainContents .section .copy {
  margin: 0 auto;
}

#philosophy #main #content #mainContents #mission .copy {
  width: 408px;
}
@media (max-width: 768px) {
  #philosophy #main #content #mainContents #mission .copy {
    width: 100%;
  }
  #philosophy #main #content #mainContents #mission .copy::before {
    content: "情報技術とコミュニケーションで、 社会の進歩と発展に貢献する。";
    font-family: serif;
    font-size: 2rem;
    line-height: 1.5;
    font-weight: bold;
  }
  #philosophy #main #content #mainContents #mission .copy img {
    display: none;
  }
}
#philosophy #main #content #mainContents #principles {
}
#philosophy #main #content #mainContents #principles dl {
  margin: 0 auto;
  padding-bottom: 2em;
  width: 540px;
}
@media (max-width: 768px) {
  #philosophy #main #content #mainContents #principles dl {
    width: 100%;
  }
}
#philosophy #main #content #mainContents #principles dl dt {
  color: #0b318f;
  font-weight: bold;
  font-size: 120%;
}
#philosophy #main #content #mainContents #principles dl dd {
}

#philosophy #main #content #mainContents #statement .copy {
  margin-top: 60px;
  width: 205px;
}

#philosophy #main #content #mainContents #inquality {
  margin: 20px auto 0;
  width: 540px;
}
@media (max-width: 768px) {
  #philosophy #main #content #mainContents #inquality {
    width: 100%;
  }
}
#philosophy #main #content #mainContents #quality p {
  padding-bottom: 1em;
}
#philosophy #main #content #mainContents #quality p.topname {
  text-align: right;
}

#philosophy #main #content #mainContents #quality ol {
  margin: 0 2em 1em 2em;
  width: 400px;
  padding: 1.5em 2em;
  border: #d0d0d0 1px solid;
}
@media (max-width: 768px) {
  #philosophy #main #content #mainContents #quality ol {
    margin: 0 0 1em 0;
  }
}
#philosophy #main #content #mainContents #basic .copy {
  width: 540px;
}
@media (max-width: 768px) {
  #philosophy #main #content #mainContents #basic .copy,
  #philosophy #main #content #mainContents #basic .copy img {
    width: 100%;
  }
  #philosophy #main #content #mainContents #basic .copy img {
    height: auto;
  }
}
#philosophy #main #content #mainContents .section ul.boxlink li {
  margin-left: 4em;
}

/*-------------------------------------------------------------------------
	news
/*-----------------------------------------------------------------------*/

/* #news img {
  width: auto;
} */

#news #main #list {
  margin-top: 15px;
}
#news #main #list dl {
  padding: 15px 0 15px;
  border-bottom: 1px dashed #c9caca;
}

#news #main #list dl.hide {
  display: none;
}

#news #main #list dl dt,
#news #main #list dl dd {
  padding-left: 18px;
}
#news #main #list dl dt {
  color: #000000;
  margin-bottom: 0.2em;
  background: url(../img/common/ico-contents.gif) no-repeat left 0.28em;
}
#news #main #list dl dd {
  font-size: 89%;
}
#news #main #list dl dd .date {
  display: block;
  color: #666;
}
#news #main dl dt img {
  margin-left: 0.5em;
  vertical-align: text-top;
}


/*-------------------------------------------------------------------------
	group
/*-----------------------------------------------------------------------*/


#group #main #content #mainContents .section .txtArea .txt p {
  padding-bottom: 1em;
  line-height: 2.4rem;
}