﻿@charset "UTF-8";
/* CSS Document */
#relevant {
  display: none;
}
/*パンくず*/
#pNav {
  background: #eee;
  padding: 5px 0;
  max-width: 1440px;
  margin: 0 auto;
}
#pNav li {
  font-size: 13px;
  font-weight: bold;
  display: inline;
}
#pNav li::after {
  content: ">";
  margin: 0 15px;
}
#pNav li:last-child::after {
  content: "";
}
#pNav li a {
  color: #000;
}
/*インデックス*/
#h1Area {
  height: 250px;
  padding: 90px 0 0 0;
  max-width: 1440px;
  margin: 0 auto;
}
#h1Area h1 {
  color: #1f38a0;
  font-size: 38px;
  font-weight: bold;
  text-shadow: 0px 0px 5px rgba(255, 255, 255, 0.5);
}
#h1Area h1 span {
  font-family: 'Khand', sans-serif;
  display: block;
  padding-top: 10px;
  font-weight: bold;
}
#company #h1Area {
  background: url(../../01company/img/h1.jpg) no-repeat center center;
  background-size: cover;
}
#service #h1Area {
  background: url(../../01service_tech/img/h1.jpg) no-repeat center center;
  background-size: cover;
}
#csr #h1Area {
  background: url(../../01csr/img/h1.jpg) no-repeat center center;
  background-size: cover;
}
#sustainability #h1Area {
  background: url(../../01sustainability/img/h1.jpg) no-repeat center center;
  background-size: cover;
}
#investor #h1Area {
  background: url(../../01investor/img/h1.jpg) no-repeat center center;
  background-size: cover;
}
#indexArea {
  background-color: #ebf0f4;
  padding: 50px 0;
  max-width: 1440px;
  margin: 0 auto;
}
#indexArea ul {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 100%;
}
#indexArea li {
  width: 312px;
  margin-right: 22px;
  margin-bottom: 22px;
  background: #fff url(../img/index_arrow.png) no-repeat bottom 3px right 3px;
  border: 1px solid #e3e3e3;
}
#indexArea li:nth-child(3n) {
  margin-right: 0;
}
#indexArea li a {
  display: block;
  width: 100%;
  height: 100%;
}
#indexArea li a:hover {
  text-decoration: none;
}
#indexArea li img {
  width: 100%;
  height: auto;
}
#indexArea li h2 {
  padding: 20px 18px 5px 20px;
  font-size: 18px;
  color: #0073b4;
}
#indexArea li h2::after {
  content: url(../img/icon_flow.png);
  display: inline-block;
  vertical-align: middle;
}
#indexArea li p {
  font-size: 14px;
  padding: 0 20px;
  line-height: 1.4em;
}
/*サステナビリティのみ*/
#sustainability #indexArea li {
  background: #fff;
}
#sustainability #indexArea .fullIndex {
  margin-bottom: 20px;
}
#sustainability #indexArea .fullIndex li {
  width: 100%;
  margin-right: 0;
  font-size: 0;
}
#sustainability #indexArea .fullIndex li span.img-area {
  display: block;
  width: 100%;
}
#sustainability #indexArea .fullIndex li span.img-area img {
  width: auto;
  text-align: center;
}
#sustainability #indexArea .fullIndex li h2 {
  display: inline-block;
  width: 33%;
  vertical-align: top;
}
#sustainability #indexArea .fullIndex li ul.sub-index {
  display: inline-block;
  width: 67%;
  padding-top: 30px;
  font-size: 0;
  vertical-align: top;
}
#sustainability #indexArea .fullIndex li ul.sub-index li {
  display: inline-block;
  width: 50%;
  vertical-align: top;
}
#sustainability #indexArea li h2 {
  padding: 30px 20px 15px 20px;
}
#sustainability #indexArea li h2::after {
  display: none;
}
#sustainability #indexArea li h2 a {
  display: inline-block;
  width: auto;
}
#sustainability #indexArea li h2 a:hover {
  text-decoration: underline;
}
#sustainability #indexArea li h2 a::after {
  content: url(../img/icon_flow.png);
  display: inline-block;
  vertical-align: middle;
}
#sustainability #indexArea li ul.sub-index *, #sustainability #linkArea li ul.sub-index * {
  box-sizing: border-box;
}
#sustainability #indexArea li ul.sub-index, #sustainability #linkArea li ul.sub-index {
  margin: 0;
  padding: 0 20px 20px 20px;
  display: block;
  font-size: 0;
}
#sustainability #indexArea li ul.sub-index li, #sustainability #linkArea li ul.sub-index li {
  display: block;
  border: none;
  margin: 0 0 8px 0;
  padding: 0;
  font-size: 14px;
  width: auto;
}
#sustainability #indexArea li ul.sub-index li.harf {
  display: inline-block;
  border: none;
  margin: 0 0 8px 0;
  padding: 0;
  font-size: 14px;
}
#sustainability #indexArea li ul.sub-index li.harf:nth-child(odd) {
  width: 55%;
}
#sustainability #indexArea li ul.sub-index li.harf:nth-child(even) {
  width: 45%;
}
#sustainability #indexArea li ul.sub-index li a, #sustainability #linkArea li ul.sub-index li a {
  width: auto;
  display: inline-block;
  padding: 0 0 0 1em;
  margin: 0;
  color: #000;
}
#sustainability #indexArea li ul.sub-index li a:hover, #sustainability #linkArea li ul.sub-index li a:hover {
  text-decoration: underline;
}
#sustainability #indexArea li ul.sub-index li a::before, #sustainability #linkArea li ul.sub-index li a::before {
  content: ">";
  color: #0082e0;
  font-size: 12px;
  display: inline-block;
  text-indent: -1em;
}
#sustainability #indexArea li ul.sub-index li a.anc {
  padding-top: 10px;
}
#sustainability #indexArea li ul.sub-index li a.anc::before {
  content: "・";
  color: #000;
  font-size: 14px;
  display: inline-block;
  text-indent: 0;
}
/*基本レイアウト*/
#sNavArea {
  float: left;
  width: 230px;
  line-height: 0;
  padding: 50px 0;
}
#sNavArea dt a {
  line-height: 1em;
  background: #284692;
  color: #fff;
  font-size: 18px;
  text-align: center;
  padding: 32px 0 0 0;
  display: block;
  height: 80px;
  font-weight: bold;
}
#sNavArea dd a {
  line-height: 1em;
  padding: 22px 0 18px 30px;
  border-bottom: 1px dotted #eee;
  border-top: 1px solid #fff;
  display: block;
  font-weight: bold;
  color: #000;
  background: url("../img/ico_triangle.png") no-repeat 20px 25px;
}
#sNavArea dt a:hover {
  text-decoration: none;
}
#sNavArea dd a:hover, #sNavArea dd.active a {
  text-decoration: none;
  color: #284693;
  background-color: #E9ECF4;
}
#sNavArea dd ul li a, #sNavArea dd.active ul li a {
  display: block;
  padding: 12px 5px 12px 40px;
  border-bottom: 1px dotted #eee;
  background: #fff url("../img/ico_triangle.png") no-repeat 30px 15px;
  color: #000;
}
#sNavArea dd ul li a:hover, #sNavArea dd ul li.active a {
  color: #284693;
  background-color: #E9ECF4;
}
#sNavArea dd ul li ul li a, #sNavArea dd.active ul li ul li a, #sNavArea dd ul li.active ul li a {
  display: block;
  padding: 10px 5px 10px 50px;
  border-bottom: 1px dotted #eee;
  background: #fff url("../img/ico_triangle.png") no-repeat 40px 12px;
  color: #000;
  font-size: 14px;
}
#sNavArea dd ul li ul li a:hover, #sNavArea dd ul li ul li.active a {
  color: #284693;
  background-color: #E9ECF4;
}
#contents {
  float: right;
  width: 702px;
  padding: 50px 0 100px 0;
}
.error {
  float: none !important;
  width: 100% !important;
}
#contents section {
  margin-bottom: 50px;
}
#contents h1 {
  color: #2D4692;
  font-size: 34px;
  padding: 20px 0 30px 0;
  font-weight: normal;
}
#contents h2 {
  clear: both;
  color: #2D4692;
  font-size: 26px;
  font-weight: normal;
  margin: 0 0 30px 0;
  padding: 0;
  border-bottom: solid 1px;
  line-height: 1.6em;
}
#contents h3, #contents .h3 {
  clear: both;
  color: #2D4692;
  font-size: 18px;
  font-weight: normal;
  margin: 0 0 20px 0;
  padding: 5px 0 5px 10px;
  border: none;
  border-left: solid 5px;
  line-height: 1.6em;
}
.cntNum {
  counter-reset: cnt;
}
#contents .cntNum h3 {
  text-indent: -2.3em;
  padding-left: calc(2.3em + 10px);
}
.cntNum h3::before {
  counter-increment: cnt;
  content: "( "counter(cnt) " ) ";
}
/*パーツ*/
p {
  margin-bottom: 1.5em;
}
a.link::before {
  content: url("../img/ico_triangle.png");
  margin: 2px 5px 0 0;
  display: inline-block;
  vertical-align: top;
}
a.pdf {
  display: block;
  background: url(../img/ico_triangle.png) no-repeat left top 0.4em;
  padding-left: 10px;
  min-height: 23px;
}
a.pdf::before {
  content: url("../img/pdf.png");
  margin: 0 5px 0 0;
  display: inline-block;
  vertical-align: middle;
}
dl.table {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 100%;
  border: 1px solid #ccc;
  margin-bottom: 1.5em;
}
dl.table dt {
  width: 25%;
  padding: 5px 15px;
  background: #eee;
  border-top: 1px dotted #ccc;
}

dl.table dd {
  width: 75%;
  padding: 5px 15px;
  border-top: 1px dotted #ccc;
	  border-left: 1px dotted #ccc;
}

dl.table dt:first-child,
dl.table dd:nth-child(2){
	border-top: none;
}
dl.table3c {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 100%;
  margin-bottom: 1.5em;
}
dl.table3c dt {
  width: 17%;
  padding: 5px;
  border-bottom: 1px dotted #ccc;
  font-size: 14px;
  color: #284693;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
dl.table3c dd {
  width: 61%;
  padding: 5px;
  border-bottom: 1px dotted #ccc;
  font-size: 14px;
}
dl.table3c dd:nth-child(3n) {
  width: 22%;
  padding: 5px 0 5px 5px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
dl.default {
  display: block;
}
dl.default dt {
  background: none;
  border-top: none;
  border-left: 5px solid #314692;
  width: 100%;
  padding: 0 0 0 10px;
  margin-bottom: 10px;
  font-weight: bold;
  font-size: 18px;
  margin-top: 1em;
}
dl.default dd {
  border-top: 1px dotted #888888;
  width: 100%;
  padding: 10px 0 10px 15px;
}
dl.default dd span {
  padding-right: 1.5em;
}
table.default {
  width: 100%;
  border-collapse: collapse;
  border: solid 1px #ccc;

}
table.default th {
  background: #9c9c9c;
  color: #fff;
  border-left: solid 1px #fff;
  padding: 10px;
}

table.default th:first-child{
	border-left: solid 1px #ccc;
}

table.default .invisible th:first-child{
	border-left: none;
}

table.default tr {
  border-bottom: dotted 1px #ccc;
}
table.default td {
   border-left: solid 1px #ccc;
  padding: 10px;
  vertical-align: middle;
}

table.default td.borderno{
	border-top:solid 1px #ccc;
}

#investor table.default td:nth-child(2){
	border-top: dotted 1px #ccc;
}

table.default td.rTxt{
	border-right: solid 1px #ccc;
}
table.default td.ttl {
  border: solid 1px #ccc;
  background: #eee;
}
table.default th.noBkg {
  background: none;
	border-left: solid 1px #ccc;
}
table.spec {
  border-collapse: separate;
  border-spacing: 0;
  width: 100%;
  max-width: 590px;
  margin-bottom: 20px;
  text-align: left;
  line-height: 1.5;
  border-top: 1px solid #ccc;
  border-left: 1px solid #ccc;
}
table.spec th {
  max-width: 100px;
  padding: 10px;
  font-weight: bold;
  vertical-align: top;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  border-top: 1px solid #fff;
  border-left: 1px solid #fff;
  background: #eee;
  white-space: nowrap;
}
table.spec td {
  max-width: 350px;
  padding: 10px;
  vertical-align: top;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}
table.invisible th, table.invisible td {
  font-weight: normal;
  vertical-align: top;
  text-align: left;
  background: none;
  color: #000;
  border: none;
}
table.invisible tr {
  border: none;
}
table.invisible th {
  padding: 5px 1em 5px 0;
}
table.invisible td {
  padding: 5px;
}
table.cTxt th, table.cTxt td, tr.cTxt th, tr.cTxt td {
  text-align: center;
}
ul.tab::after {
  content: "";
  display: block;
  clear: both;
  height: 3px;
  width: 100%;
  background: #294694;
}
ul.tab li {
  display: block;
  float: left;
  width: 32%;
  margin-right: 2%;
}
ul.tab li:last-child {
  margin-right: 0;
}
ul.tab li a {
  border: 1px solid #ccc;
  border-bottom: none;
  background-color: #eee;
  display: block;
  width: 100%;
  padding: 15px 0;
  text-decoration: none !important;
  color: #000;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
}
ul.tab li a:hover, ul.tab li.active a {
  background: #294694;
  border-color: #294694;
  color: #fff;
}
ul.disc {
  padding-left: 1.5em;
}
ul.disc li {
  list-style: disc;
  margin-bottom: 10px;
}
ul.txt {
  padding-left: 10px;
}
ul.txt li {
  text-indent: -2em;
  margin-left: 2em;
}
ul.link li {
  margin-bottom: 5px;
  color: #2D4692;
}
ul.link li::before {
  content: url("../img/ico_triangle.png");
  margin: -2px 5px 0 0;
  display: inline-block;
  vertical-align: top;
}
ul.link li.sub {
  list-style: disc;
  margin-left: 2em;
}
ul.link li.sub::before {
  content: "";
  display: none;
}
ul.link li.sub-sub {
  list-style: disc;
  margin-left: 3.5em;
}
ul.link li.sub-sub::before {
  content: "";
  display: none;
}
ul.ol li {
  text-indent: -1.8em;
  padding-left: 1.8em;
  margin-bottom: 10px;
}
ul li.pdf a:after {
  content: url(../img/pdf.png);
  display: inline-block;
  padding-left: 5px;
  vertical-align: middle;
}
ul.pdf li {
  text-indent: -15px;
  padding-left: 35px;
  margin-bottom: 10px;
}
ul.pdf li a {
  color: #0000EE;
}
ul.pdf li a:hover {
  text-decoration: none !important;
}
ul.pdf li a::before {
  content: url(../img/pdf.png);
  display: inline-block;
  padding-right: 8px;
  vertical-align: middle;
}
ul.rArea, ul.lArea {
  width: 49%;
}
ul.list li {
  list-style: disc;
  margin-left: 2em;
  margin-bottom: 1em;
}
ol li {
  list-style-type: decimal;
  margin-left: 25px;
  margin-bottom: 1em;
}
.fullImg img {
  width: 100%;
  height: auto;
}
.img2c::after {
  content: "";
  display: block;
  clear: both;
}
.img2c figure, .img2c .figure {
  float: left;
  width: 340px;
  margin-right: 22px;
  ;
  text-align: center;
  margin-bottom: 20px
}
.img2c figure:nth-child(even), .img2c .figure:nth-child(even) {
  margin-right: 0;
}
.img2c figure:nth-child(odd), .img2c .figure:nth-child(odd) {
  clear: both;
}
.img2c figure img, .img2c .figure img {
  width: 100%;
  height: auto;
  margin-bottom: 10px;
}
.img2c .figure p {
  margin-bottom: 5px;
}
.img2c figure.w460 {
  width: 460px;
}
.img2c figure.w220 {
  width: 220px;
}
.img3c::after {
  content: "";
  display: block;
  clear: both;
}
.img3c figure {
  float: left;
  width: 225px;
  margin-right: 10px;
  ;
  text-align: center;
  margin-bottom: 20px
}
.img3c figure:nth-child(3n) {
  margin-right: 0;
}
.img3c figure:nth-child(3n+1) {
  clear: both;
}
.img3c figure img {
  width: 100%;
  height: auto;
  margin-bottom: 10px;
}
figcaption, .figcaption {
  line-height: 1.2em;
}
.videoArea {
  padding: 0 0 30px 0;
  text-align: center;
}
video {
  width: 340px;
  height: auto;
}
.txtBlue {
  color: #284693;
}
.num {
  display: block;
  text-indent: -2em;
  padding-left: 2.5em;
}
.nowrap, .pcNowrap {
  white-space: nowrap;
}
.noBold {
  font-weight: normal !important;
}
#contents .btnBack a {
  color: #fff;
  text-decoration: none;
  display: block;
  margin: 0 auto;
  padding: 15px;
  background: #284693 url(../../01project/img/icon1.png) no-repeat top 13px right 20px;
  ;
  text-align: center;
  max-width: 310px;
}
#contents .btnBack a:hover {
  background-color: #E9EcF4;
  color: #284693;
}
.inlineArea {
  display: none;
}
section.windowBox {
  padding: 40px;
}
section.windowBox h2 {
  text-align: center;
  font-size: 18px;
  margin-bottom: 20px;
}
section.windowBox img {
  display: block;
  margin: 0 auto 30px auto;
  width: auto;
  max-width: 100%;
}
/*社長挨拶*/
figure img.president {
  width: auto;
}
/*沿革*/
.history .rImg_txt {
  float: left;
  width: 70%;
}
.history .rImg {
  float: right;
  width: calc(30% - 20px);
  text-align: center;
  margin: 0;
}
.history .rImg img {
  width: 100%;
  margin-bottom: 15px;
}
/*役員*/
.officer dl.table dt {
  width: 30%;
}
.officer dl.table dd {
  width: 70%;
  font-weight: bold;
}
.officer dl.table dd span {
  white-space: nowrap;
  width: 25%;
  display: inline-block;
}
/*事業所一覧*/
.network .fullImg {
  display: none;
}
.mapPc {
  width: 702px;
  height: 685px;
  background: url(../../01company/network/img/map.png) no-repeat left top;
  position: relative;
  margin-bottom: 40px;
}
div.mapPc p {
  font-size: 18px;
  font-weight: bold;
  margin: 0;
}
div.mapPc p a {
  color: #000;
  text-decoration: none !important;
}
div.mapPc a:hover {
  color: #2D4692;
}
div.mapPc p.hokkaido {
  position: absolute;
  top: 122px;
  left: 290px;
}
div.mapPc p.tohoku {
  position: absolute;
  top: 336px;
  left: 545px;
}
div.mapPc p.honten {
  position: absolute;
  top: 400px;
  left: 545px;
}
div.mapPc p.energy {
  position: absolute;
  top: 438px;
  left: 545px;
  font-size: 15px;
}
div.mapPc p.railroad {
  position: absolute;
  top: 470px;
  left: 545px;
  font-size: 15px;
}
div.mapPc p.sales {
  position: absolute;
  top: 490px;
  left: 545px;
  font-size: 15px;
}
div.mapPc p.info {
  position: absolute;
  top: 510px;
  left: 545px;
  font-size: 15px
}
div.mapPc p.kanren {
  position: absolute;
  top: 530px;
  left: 545px;
  font-size: 15px;
}
div.mapPc p.academy {
  position: absolute;
  top: 485px;
  left: 420px;
  font-size: 16px;
}
div.mapPc p.tyubu {
  position: absolute;
  margin-top: 412px;
  margin-left: 130px;
  width: 160px;
}
div.mapPc p.tyugoku {
  position: absolute;
  top: 453px;
  left: 36px;
}
div.mapPc p.kyusyu {
  position: absolute;
  top: 526px;
  left: 23px;
}
div.mapPc p.osaka {
  position: absolute;
  top: 538px;
  left: 412px;
}
div.mapPc p.west {
  position: absolute;
  top: 576px;
  left: 412px;
}
div.mapPc p.shikoku {
  position: absolute;
  top: 623px;
  left: 388px;
}
.network .lArea {
  width: 300px;
}
.network .rArea {
  width: 380px;
}
.network figure {
  padding-bottom: 20px;
}
.network dl.table dt {
  width: 30%;
}
.network dl.table dd {
  width: 70%;
}
#map_canvas {
  clear: both;
  width: 702px;
  height: 500px;
  margin-top: 30px;
}
/*施工実績*/
ul.projectList {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 100%;
}
ul.projectList li {
  width: 49%;
  height: 150px;
  border: solid 1px #eee;
  margin: 0 2% 18px 0;
}
ul.projectList li:nth-child(even) {
  margin-right: 0;
}
ul.projectList li a {
  display: block;
  height: 100%;
  width: 100%;
  background: #e9ecf4;
  padding: 30px 15px 15px 20px;
  color: #0a3c78;
  text-decoration: underline;
  font-family: Arial, sans-serif;
  line-height: 22px;
  font-size: 14px;
}
ul.projectList li a:hover {
  background: #fff;
}
ul.projectList li a img {
  float: right;
  margin-left: 20px;
  width: 120px;
  height: 85px;
}
ul.projectList li a::after {
  content: "";
  display: block;
  clear: both;
}
#project .projectMore h1 {
  font-size: 22px;
}
.projectMore .pImgArea {
  padding-right: 112px;
  margin-bottom: 30px;
  text-align: center;
}
.projectMore .pImgArea figure {
  display: inline-block;
}
.projectMore .pImgArea figure img {
  width: 100%;
  max-width: 100%;
}
.projectMore .pImgArea figure figcaption {
  padding: 10px 0 20px 0;
  font-size: 13px;
  text-align: left;
}
#project .projectMore .btnBack {
  padding-right: 112px;
}
/*コーポレートガバナンス*/
.governance section section p {
  padding-left: 10px;
}
/*NDKグループ*/
.group dl.table3c dt {
  width: 39%;
  font-size: 16px;
  display: block;
}
.group dl.table3c dd {
  width: 32%;
  font-size: 16px;
  display: block;
}
.group dl.table3c dd:nth-child(3n) {
  width: 29%;
  font-size: 16px;
  display: block;
}
.group dl.table3c dt a {
  color: #00f;
  text-decoration: none;
  display: block;
  background: url(../../01company/group/img/icon.png) no-repeat left 0.35em;
  padding: 5px 0 0 16px;
}
.group dl.table3c dt a.child1::after {
  content: url(../../01company/group/img/img1.png);
  display: block;
  margin-top: 5px;
}
.group dl.table3c dt a.child2::after {
  content: url(../../01company/group/img/img2.png);
  display: block;
  margin-top: 5px;
}
/*ニュースリリース*/
ul.tab li {
  width: 40%;
  margin-right: 2%;
}
ul.tab li:first-child {
  width: 16%;
  margin-right: 2%;
}
/*ニュース ＆ IR*/
ul.anc {
  background: #E9ECF4;
  padding: 20px;
  margin-bottom: 40px;
}
ul.anc::after {
  content: "";
  display: block;
  clear: both;
}
ul.anc li {
  width: 32%;
  margin-right: 2%;
  float: left;
  margin-bottom: 10px;
  text-align: center;
}
ul.anc li:nth-child(3n) {
  margin-right: 0;
}
ul.anc li a {
  width: 50%;
  height: 100%;
  color: #0000EE;
}
ul.anc li a::after {
  display: inline-block;
  vertical-align: middle;
  content: url(../img/icon01.png);
  padding-left: 10px;
}
#contents ul.anc li a:hover {
  text-decoration: none;
}
.news dt {
  clear: both;
  display: block;
  width: 8em;
  float: left;
  font-size: 15px;
  margin-bottom: 10px;
}
.news dd {
  display: block;
  width: calc(100% - 8.5em);
  float: right;
  font-size: 15px;
  margin-bottom: 10px;
}
.news dd a {
  color: #0000EE;
}
#contents .news dd a:hover {
  text-decoration: none;
}
.news dd a.pdf {
  background: none;
  text-indent: -14px;
  padding-left: 30px;
}
/*IR*/
#irNews {
  width: 980px;
  margin: 0 auto;
  padding: 0 0 60px 0;
}
#irNews::after {
  content: "";
  display: block;
  clear: both;
}
#irNews img {
  float: left;
}
#irNews .news {
  width: 770px;
  float: right;
}
#contents h2.img {
  border-bottom: 0;
}
#contents h2.img img {
  width: 100%;
  height: auto;
}
/*経営方針・経営計画*/
.pdfArea {
  position: relative;
}
img.cap {
  border: 1px solid #ccc;
}
.pdfArea span {
  position: absolute;
  top: 50%;
  width: 500px;
  padding-left: 10px;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}
/*業績ハイライト*/
.graphArea {
  width: 100%;
  max-width: 650px;
}
.achievement table th, .achievement table td {
  text-align: center;
  vertical-align: middle;
}
.tableCap {
  text-align: right;
  margin-bottom: 0;
}
/*IR資料集*/
ul.index::after {
  content: "";
  display: block;
  clear: both;
}
ul.index li:nth-child(odd) {
  width: 48%;
  clear: both;
  float: left;
}
ul.index li:nth-child(even) {
  width: 48%;
  float: right;
}
#contents ul.index li a h2 {
  text-align: center;
  padding: 40px 30px 0 30px;
  background: #e9ecf4;
  border: 1px solid #eee;
  height: 200px;
  line-height: 1.2em;
  margin-bottom: 5px;
}
#contents ul.index li a h2.l2 {
  padding: 20px 30px 0 30px;
}
#contents ul.index li a:hover h2 {
  background: #fff;
}
ul.index li a h2 span {
  background: url(../../01investor/library/img/icon_arrow.png) no-repeat top 50% right 0;
  text-decoration: underline;
  font-weight: bold;
  display: block;
  padding-right: 30px;
  width: 100%;
  box-sizing: border-box;
}
ul.index li a h2 img {
  display: block;
  margin: 30px auto 0 auto;
}
#contents ul.index li a h2.l2 img {
  margin: 20px auto 0 auto;
}
ul.index li a {
  text-decoration: none !important;
}
/*決算短信*/
.ancArea {
  background: #E9ECF4;
  margin-bottom: 30px;
}
.ancArea::after {
  content: "";
  clear: both;
  display: block;
}
.ancArea .lArea, .ancArea .rArea {
  width: 49%;
}
.ancArea .lArea, .ancArea .rArea {
  width: 49%;
}
.ancArea ul.anc {
  background: none;
  margin-bottom: 0;
  padding-bottom: 18px;
}
.ancArea ul.anc li {
  width: 100%;
  float: none;
  margin-bottom: 2px !important;
}
.ancArea .lArea li {
  text-align: right;
}
.ancArea .rArea li {
  text-align: left;
}
.quarter ul.pdf {
  font-size: 14px !important;
}
.quarter ul.pdf a {
  margin-left: 10px;
  display: inline-block;
  width: 245px;
}
/*IRスケジュール*/
.schedule .fullImg img {
  max-width: 698px;
}
.schedule dl.table dt {
  text-align: center;
}
/*株主・株式情報*/
.infomation h3 {
  border-left: none !important;
  padding-left: 0 !important;
  font-size: 20px !important;
  border-bottom: 1px solid;
}
.infomation .fullImg img {
  max-width: 660px;
  float: right;
}
.infomation table.default th, .infomation table.default td {
  font-weight: normal;
  letter-spacing: 0;
  vertical-align: middle;
  font-size: 15px;
}
p.rTxt_txtSmall {
  text-align: right !important;
  font-size: 80%;
  margin-bottom: 0.1em;
}
.time {
  clear: both;
  color: #2D4692;
  font-size: 26px;
  font-weight: normal;
  margin: 0 0 20px 0;
  padding: 0;
  border-bottom: solid 1px;
  line-height: 1.6em;
}
/*よくあるご質問*/
dl.qa dt {
  margin-bottom: 20px;
}
#contents dl.qa dt span {
  display: inline-block;
  width: 35px;
  height: 35px;
  text-align: center;
  padding: 5px 0 0 0;
  color: #fff;
  background: #284693;
  font-weight: 450;
  box-sizing: border-box;
}
#contents dl.qa dt p {
  float: right;
  width: calc(100% - 50px);
  margin-bottom: 0;
}
dl.qa dd {
  background: #EFF3F9;
  padding: 20px 30px 20px 50px;
  margin-bottom: 50px;
  position: relative;
}
dl.qa dt::after, dl.qa dd::after {
  content: "";
  display: block;
  clear: both;
}
#contents dl.qa dd span {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%); /* Safari用 */
  transform: translateY(-50%);
  display: inline-block;
  color: #284693;
  width: 35px;
  height: 35px;
  text-align: center;
  padding: 5px 0 0 0;
  background: #fff;
  font-weight: 450;
  box-sizing: border-box;
}
#contents dl.qa dd p {
  float: right;
  width: calc(100% - 60px);
  margin-bottom: 0;
}
#contents dl.qa dt p, #contents dl.qa dd p {
  padding: 5px 0;
}
/*営業のご案内*/
#description {
  text-align: center;
}
#description::after {
  content: "";
  display: block;
  clear: both;
}
#description li {
  display: inline-block;
  margin: 0 40px 20px 0;
  font-size: 18px;
  font-weight: bold;
}
#description li img {
  margin-right: 10px;
  vertical-align: middle;
}
#d_railroad a {
  text-decoration: none;
  color: #0071AA;
}
#d_general a {
  text-decoration: none;
  color: #006633;
}
#d_info a {
  text-decoration: none;
  color: #CC8A33;
}
#d_railroad a:hover, #d_general a:hover, #d_info a:hover {
  text-decoration: underline;
}
#btnArea {
  padding-top: 30px;
}
#btnArea::after {
  content: "";
  display: block;
  clear: both;
}
#btnArea dl {
  display: block;
  width: 33%;
  float: left;
  margin-left: 4%;
  box-sizing: border-box;
}
#btnArea dl:first-child {
  margin-left: 0;
  width: 26%;
}
#btnArea dt {
  margin-bottom: 15px;
}
#btnArea dd {
  margin-bottom: 10px;
  line-height: 1.3em;
}
#btnArea a {
  text-decoration: none;
}
#btnArea a:hover {
  text-decoration: underline;
}
#railroadArea dt {
  font-weight: bold;
  border-bottom: 2px solid #0071AA;
  font-size: 18px;
}
#railroadArea a {
  color: #0071AA;
}
#generalArea dt {
  font-weight: bold;
  border-bottom: 2px solid #006633;
  font-size: 18px;
}
#generalArea a {
  color: #006633;
}
#infoArea dt {
  font-weight: bold;
  border-bottom: 2px solid #CC8A33;
  font-size: 18px;
}
#infoArea a {
  color: #CC8A33;
}
.railroad #btnArea dl, .general #btnArea dl, .info #btnArea dl {
  display: block;
  width: 100%;
  float: none;
  margin-left: 0;
  box-sizing: border-box;
}
.railroad #btnArea dl::after, .general #btnArea dl::after, .info #btnArea dl::after {
  content: "";
  display: block;
  clear: both;
}
.railroad #btnArea dd, .general #btnArea dd, .info #btnArea dd {
  width: 32%;
  margin-right: 2%;
  float: left;
}
.general #btnArea dd:nth-child(3), .general #btnArea dd:nth-child(5) {
  width: 38%;
}
.general #btnArea dd:nth-child(6) {
  width: 24%;
}
.info #btnArea dd {
  width: 49%;
}
.railroad #btnArea dd:nth-child(4), .general #btnArea dd:nth-child(5), .info #btnArea dd:nth-child(3), .info #btnArea dd:nth-child(5) {
  margin-right: 0;
}
.railroad #btnArea dd:nth-child(5), .general #btnArea dd:nth-child(4), .info #btnArea dd:nth-child(4) {
  clear: both;
}
#service .img2c figcaption, #service .img2c .figcaption, #service .img3c figcaption {
  font-size: 12px;
}
/*モバイル通信関連工事*/
#contents .flowArea {
  margin-bottom: 10px;
}
#contents .flowArea h3 {
  background-color: #284693;
  color: #fff;
  text-align: center;
  font-size: 20px;
  padding: 5px;
  border: none;
}
#contents .flowArea h4 {
  color: #284693;
  font-weight: normal;
  border-bottom: 1px solid #284693;
  padding-bottom: 5px;
  font-size: 19px;
  margin: 0 0 10px 0;
}
#contents .flowArea p {
  letter-spacing: 0em;
  font-size: 15px;
}
.flowArea .flow {
  display: block;
  background: #d0e9fd url(../../01service_tech/sales/info/img/mobaile/con-bg.png) no-repeat center bottom;
  width: 146px;
  padding: 20px 10px 40px 10px;
  box-sizing: border-box;
  float: left;
  margin-right: 10px;
}
.flowArea .flow li span {
  display: block;
  width: 100%;
  border: 2px solid #284693;
  padding: 2px;
  text-align: center;
  color: #284693;
  background: #fff;
  font-weight: bold;
  box-sizing: border-box;
}
.flowArea .flow li::after {
  content: url(../../01service_tech/sales/info/img/mobaile/icon2.png);
  display: block;
  text-align: center;
  font-display: block;
}
.flowArea .flow li.arwB::after {
  content: url(../../01service_tech/sales/info/img/mobaile/icon1.png);
}
.flowArea .flow li:last-child::after {
  content: "";
}
.flowArea .rArea {
  width: 545px;
}
.flowTxt {
  width: 370px;
  float: left;
}
.flowTxt::after {
  content: "";
  display: block;
  clear: both;
}
.flowImg {
  float: right;
}
/*IPネットワーク関連設備工事*/
.ipList {
  padding: 10px 0;
}
.ipList li {
  list-style: square;
  font-weight: bold;
  margin-left: 30px;
}
/*ネットワークインフラ構築関連工事*/
img.mailImg {
  max-width: 349px;
  height: auto;
}
/*安全への取り組み*/
.rinen dt {
  display: block;
  background: #284693;
  color: #fff;
  border-radius: 15px;
  padding: 2px;
  width: 200px;
  text-align: center;
  font-weight: 450;
  clear: both;
  float: left;
}
.rinen dd {
  padding-left: 230px;
  font-weight: 600;
  color: #284693;
  margin: 12px 0;
}
.rinen .txtLarge {
  font-size: 21px;
  margin-bottom: 30px;
}
.w630 img {
  max-width: 630px;
}
.w300 img {
  max-width: 300px;
}
/*技術開発*/
.technology figcaption {
  font-size: 13px !important;
  line-height: 1.5em;
}
/*JECA FAIR*/
.jecafair figure {
  max-width: 300px;
}
/*NDKブランド品一覧*/
.bland #indexArea {
  background: none;
  padding: 0;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  white-space: 100%;
}
.bland #indexArea li {
  display: block;
  width: 32%;
  margin-right: 2%;
  margin-bottom: 15px;
  padding: 0;
}
.bland #indexArea li p {
  padding: 0;
  margin: 0;
}
.bland #indexArea li a {
  text-decoration: none;
  background: #f7f7f7;
}
.bland #indexArea li a:hover {
  background: #fff;
}
.bland #indexArea li a h2 {
  padding: 15px 35px 15px 15px;
  margin: 0;
  font-size: 15.5px;
  line-height: 1.3em;
  color: #284693;
  border: none;
  font-weight: bold;
  letter-spacing: 0;
  background: url(../img/icon_flow.png) no-repeat right 10px top 15px;
}
.bland #indexArea li a:hover h2 {
  background: url(../img/icon_flow.png) no-repeat right 10px top 15px;
  opacity: 0.8;
}
.bland #indexArea li h2::after {
  content: "";
  display: none;
}
.bland #indexArea li:nth-child(3n) {
  margin-right: 0;
}
.bland #indexArea li#contactBox {
  width: 66%;
  margin-right: 0;
  background: none;
}
.bland #indexArea li#contactBox h2 {
  background: #284693;
  color: #fff;
  padding: 10px;
  margin-bottom: 0;
  font-weight: normal;
  font-size: 15px;
}
.bland #indexArea li#contactBox p {
  margin: 20px;
  font-size: 15px;
  line-height: 1.6em;
}
.bland #indexArea li#contactBox a {
  display: inline;
  font-size: 14px;
  background: none;
}
/*CSR推進体制*/
.suishin table.invisible th, .suishin table.invisible td {
  padding: 0 15px 0 0;
  line-height: 1.4em;
  font-size: 15px;
}
/*CSR活動実績*/
.activity #indexArea {
  background: none;
  padding: 0;
}
.activity #indexArea::after {
  content: "";
  display: block;
  clear: both;
}
.activity #indexArea li {
  float: left;
  width: 32%;
  height: 185px;
  margin-right: 2%;
}
.activity #indexArea li a {
  background: #e9ecf4 url(../../01csr/activity/img/indexBase.png) no-repeat top center;
  background-size: 100%;
  text-align: center;
  font-size: 28px;
  padding-top: 80px;
  font-weight: 450;
}
.activity #indexArea li a::after {
  content: url(../img/icon03.png);
  display: block;
  margin-top: 10px;
}
.activity #indexArea li a:hover {
  opacity: 0.8;
}
.activity #indexArea li:nth-child(3n) {
  margin-right: 0;
}
.activity #indexArea li:nth-child(3n) {
  margin-right: 0;
}
#icon {
  border-bottom: solid 2px #BFC9E6;
  padding-bottom: 10px;
  margin-bottom: 50px;
}
#icon li {
  display: inline-block;
  font-size: 13px;
  color: #2D4692;
  font-weight: bold;
  letter-spacing: -0.03em;
  margin-right: 13px;
  padding-bottom: 5px;
}
#icon li:last-child {
  margin-right: 0;
}
#icon li img {
  width: 33px;
  height: auto;
  vertical-align: middle;
  margin-right: 5px;
}
.activity h2 {
  text-indent: -48px;
  padding-left: 60px !important;
}
.activity h2 img {
  vertical-align: middle;
  margin-right: 10px;
}
.activity .txtArea {
  clear: both;
  width: 513px;
  float: left;
}
.activity .imgArea {
  width: 174px;
  float: right;
}
.activity .imgArea figure, .activity figure.lArea, .activity figure.rArea {
  margin-bottom: 10px;
}
.activity .imgArea figcaption, .activity .lArea figcaption, .activity .rArea figcaption {
  font-size: 11px;
  text-align: center;
}
.activity .imgArea figure img {
  width: 100%;
  max-width: 174px;
  margin-bottom: 7px;
}
.activity figure.rArea {
  float: left;
}
.activity figure.lArea img {
  width: 100%;
  max-width: 285px;
  margin-bottom: 7px;
}
.activity figure.rArea img {
  width: 100%;
  max-width: 174px;
  margin-bottom: 7px;
}
/*実施状況*/
#contents .imp {
  border: 2px solid #e3e3e3;
  border-bottom: none;
  margin: 50px 0 30px 0;
}
.imp dl dt {
  display: table-cell;
  vertical-align: middle;
  background: #eee;
  width: 240px;
  padding: 20px 10px;
  text-align: center;
  border-bottom: 2px solid #e3e3e3;
}
#contents .imp dl dt h3 {
  border: none;
  background: #284693;
  font-size: 16px;
  padding: 5px;
  line-height: 1.4em;
  color: #fff;
  border-radius: 25px;
}
.imp dl dd {
  display: table-cell;
  width: calc(100% - 240px);
  border-bottom: 2px solid #e3e3e3;
}
.imp dl dd section {
  border-bottom: 2px dotted #e3e3e3;
}
.imp dl dd section:last-child {
  border-bottom: none;
}
#contents .imp dl dd section {
  padding: 20px 20px 0 20px;
  margin: 0;
}
#contents .imp dl dd section h4 {
  color: #284693;
  margin-bottom: 5px;
}
/*女性の活躍に関する取り組み*/
.human .txtBlue {
  margin-bottom: 10px;
}
.human table.default th, .human table.default td {
  padding: 5px;
}
/*お問い合わせ*/
#flow::after {
  content: "";
  clear: both;
  display: block;
}
#flow li {
  width: 251px;
  float: left;
  background: url(../../01contact/img/flow.png) no-repeat right 15px top 0;
  margin-bottom: 40px;
}
#flow li:last-child {
  width: 200px;
  background: none;
}
#flow li span {
  display: block;
  width: 200px;
  padding: 12px;
  background: #284692;
  border-radius: 5px;
  color: #fff;
  text-align: center;
  font-size: 18px;
  box-sizing: border-box;
  opacity: 0.5;
}
#flow li.flowOn span {
  opacity: 1;
}
.contact dl.table dt {
  width: 30%;
  padding: 20px;
}
.contact dl.table dd {
  width: 70%;
  padding: 20px;
}
img.ico_req {
  vertical-align: top;
  margin-right: 10px;
}
.radio-block {
  display: inline-block;
}
.radio-block span {
  display: inline-block;
  width: 6em;
}
.radio-block span.no-radio {
  margin-left: 23px;
}
input {
  margin: 5px 5px 0 5px;
}
.txtBox {
  width: 18em;
}
.txtBoxs {
  width: 16em;
}
.txtBoxl {
  width: 26em;
}
.txtBoxfull {
  width: 100%;
}
form .txtArea {
  width: 22em;
  height: 4em;
}
.contact select {
  width: 16em;
}
div.button-area {
  text-align: center;
  margin-top: 50px;
}
div.button-area input.hidd {
  width: 200px;
  height: 50px;
  background: #2D4692;
  color: #fff;
  font-size: 14pt;
  font-weight: bold;
  border: none;
  cursor: pointer;
  display: none;
}
div.button-area span.hidd {
  display: none;
}
div.button-area span.left {
  margin-right: 20px;
}
div.button-area span.right:after {
  content: url("../../01contact/img/right.png");
  margin-left: -40px;
  margin-top: 20px;
  position: absolute;
}
div.button-area span.left:before {
  content: url("../../01contact/img/left.png");
  padding-left: 20px;
  position: absolute;
  margin-top: 20px;
}
.h_ttl {
  margin-bottom: 10px;
}
.coverImg {
  max-width: 160px;
  height: auto;
  margin: 0 0 10px 20px;
  float: right;
}
.bnImg {
  padding-top: 20px;
}
.bnImg img {
  width: 100%;
}
/*トータスくん紹介*/
.top_tortoise #contents {
  width: 100%;
}

.top_tortoise h1{
	text-align: center;
}
.top_tortoise .center, .top_tortoise .top, .top_tortoise .name {
  text-align: center;
}
.top_tortoise .stamp-img {
  display: block;
  margin: 0 auto;
}
.top_tortoise .top {
  background-color: #c2e0f4;
  color: #3598db;
}
.top_tortoise .name {
  color: #2dc26b;
  background-color: #bfedd2;
  font-size: 18pt;
}
.top_tortoise .img img {
  width: 422px;
  height: 280px;
  margin: 0 auto;
}
.top_tortoise .img {
  text-align: center;
}
.top_tortoise .img_text {
  padding: 10px;
  border: 5px double #cccccc;
  border-radius: 10px;
  width: 700px;
  margin: 0 auto;
	line-height: 1.6em;
	padding: 10px;
}
.top_tortoise div .img_text {
  margin-bottom: 50px;
}
.top_tortoise .stamp {
  border-collapse: collapse;
  margin: 0 auto;
}

.top_tortoise .stamp_bg{
		background: rgba(194,224,244,0.5);
	border-radius: 10px;
	padding:10px;
}
.top_tortoise .stamp-img {
  max-width: 485px
}
.top_tortoise .qr {
  width: auto;
  vertical-align: middle;
  display: inline-block;
  padding: 0px 0px 0px 50px;
}
.top_tortoise .qr img {
  width: 113px;
  height: 113px;
}
.top_tortoise .qr ul {
  list-style-type: circle;
  padding-left: 1.5em;
}
.top_tortoise .stamp_text {
  font-size: 10pt;
}
.top_tortoise video {
  width: 300px;
  height: 150px;
	border: 3px solid#cccccc;
}
.top_tortoise .center {
  margin-top: 30px;
}
@media all and (-ms-high-contrast: none) { /** IEハック **/
  #sNavArea dt a {
    padding: 35px 0 0 0;
  }
  #sNavArea-box {
    line-height: 1em;
    background: #284692;
    color: #fff;
    font-size: 18px;
    text-align: center;
    padding: 25px 0 0 0;
    display: block;
    height: 50px;
    font-weight: bold;
  }
  #boxpolicy h1 {
    color: #2D4692;
    font-size: 34px;
    padding: 25px 0 20px 0;
    font-weight: normal;
  }
  #sNavArea dd a {
    padding-top: 25px;
    background: url("../img/ico_triangle.png") no-repeat 20px 27px;
  }
  #sNavArea dd ul li a, #sNavArea dd.active ul li a {
    padding-top: 17px;
    background: #fff url("../img/ico_triangle.png") no-repeat 30px 17px;
  }
  #sNavArea dd ul li ul li a, #sNavArea dd.active ul li ul li a, #sNavArea dd ul li.active ul li a {
    padding: 12px 5px 8px 50px;
  }
  ul.tab li a {
    padding: 15px 0 10px 0;
  }
  #contents dl.qa dt span, #contents dl.qa dd span {
    padding-top: 7px;
  }
  #contents .flowArea h3, .flowArea .flow li span {
    padding-top: 7px;
  }
  .rinen dt {
    padding-top: 7px;
  }
  .rinen .txtLarge {
    padding-top: 5px;
  }
  .bland #indexArea li a h2 {
    padding: 18px 35px 12px 15px;
    background: url(../img/icon_flow.png) no-repeat right 10px top 15px;
  }
  #contents .imp dl dt h3 {
    padding: 7px 5px 3px 5px;
  }
}
@media screen and (max-width:980px) { /*　タブレット・スマホ　*/
  #relevant {
    display: block;
  }
  #relevant p, #relevant ul {
    display: none;
  }
  /*インデックス*/
  #h1Area {
    height: 120px;
    padding: 40px 0 0 0;
  }
  #h1Area h1 {
    font-size: 22px;
  }
  #indexArea {
    padding: 30px 0;
  }
  #indexArea li {
    width: 49%;
    margin-right: 2%;
    margin-bottom: 15px;
  }
  #indexArea li:nth-child(3n) {
    margin-right: 2%;
  }
  #indexArea li:nth-child(2n) {
    margin-right: 0;
  }
  /*サステナビリティインデックス*/
  #sustainability #indexArea .fullIndex li span.img-area {
    height: 300px;
    position: relative;
    overflow: hidden;
  }
  #sustainability #indexArea .fullIndex li span.img-area img {
    width: 100%;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
  }
  /**/
  #pNav {
    padding-top: 66px;
  }
  #pNav li::after {
    content: ">";
    margin: 0 5px;
  }
  #sNavArea {
    display: none;
  }
  #contents {
    float: none;
    width: 100%;
    padding-top: 20px;
  }
  #contents h1 {
    font-size: 22px;
  }
  #contents h2 {
    font-size: 18px;
  }
  .infomation h4 {
    font-size: 18px;
  }
  dl.table {
    display: block;
  }
  dl.table dt, .officer dl.table dt {
    width: 100%;
  }
  dl.table dd, .officer dl.table dd {
    width: 100%;
    border-top: none;
	  border-left: none;
  }
  dl.table3c {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 100%;
    margin-bottom: 1.5em;
  }
  dl.table3c dt {
    width: 100%;
    padding: 10px 0 0 0;
    border-bottom: none;
    display: block;
    font-weight: bold;
  }
  dl.table3c dd {
    display: block;
    width: 100%;
    border: none;
    padding: 0;
  }
  dl.table3c dd:nth-child(3n) {
    display: block;
    width: 100%;
    border-bottom: 1px dotted #ccc;
    padding: 0;
  }
  dl.default dt {
    font-size: 16px;
  }
  dl.default dd span {
    display: block;
  }
  ul.tab li a {
    padding: 5px 0;
    font-size: 16px;
    line-height: 1.6em;
  }
  .img2c figure, .img2c .figure {
    width: 49%;
    margin-right: 2%;
  }
  .img2c figure.w460 {
    width: 65%;
  }
  .img2c figure.w220 {
    width: 31%;
  }
  .img3c figure {
    margin-right: 9px;
  }
  .pcNowrap {
    white-space: normal;
  }
  .inlineArea {
    display: none;
  }
  section.windowBox {
    padding: 20px;
  }
  section.windowBox h2 {
    font-size: 17px;
  }
  section.windowBox img {
    margin: 0 auto 20px auto;
  }
  /*事業所一覧*/
  .network .fullImg {
    display: block;
  }
  .mapPc {
    display: none;
  }
  .spMap {
    margin-bottom: 20px;
  }
  .spMap img {
    width: 100%;
    height: auto;
  }
  .network .lArea {
    width: 100%;
  }
  .network .rArea {
    width: 100%;
  }
  .network dl.table dt {
    width: 100%;
  }
  .network dl.table dd {
    width: 100%;
  }
  #map_canvas {
    width: 100%;
  }
  /*NDKグループ*/
  .group dl.table3c dt {
    width: 100%;
    font-size: 14px;
    display: block;
  }
  .group dl.table3c dd {
    width: 100%;
    font-size: 14px;
    display: block;
    padding-left: 16px;
    padding-bottom: 10px;
  }
  .group dl.table3c dd:nth-child(3n) {
    width: 100%;
    font-size: 14px;
    display: block;
  }
  .group dl.table3c dt a {
    color: #00f;
    text-decoration: none;
    display: block;
    background: url(../../01company/group/img/icon.png) no-repeat left 0.35em;
    padding: 5px 0 10px 16px;
  }
  /*IR*/
  #irNews {
    width: 100%;
    padding: 0 20px 60px 20px;
  }
  #irNews img {
    float: none;
  }
  #irNews .news {
    width: 100%;
    float: none;
  }
  #irNews h2 {
    clear: both;
    color: #2D4692;
    font-size: 18px;
    font-weight: normal;
    margin: 0 0 30px 0;
    border-bottom: solid 1px;
    line-height: 1.6em;
  }
  /*IR資料集*/
  ul.index li a h2 span {
    padding: 5px 30px 5px 0;
  }
  ul.index li a h2 img {
    display: block;
    margin: 20px auto 0 auto;
  }
  /*有価証券報告書・四半期報告書等*/
  .quarter ul.pdf a {
    padding-right: 0;
    display: block;
  }
  /*IRスケジュール*/
  .schedule dl.table dt {
    text-align: left;
  }
  /*株主・株式情報*/
  .infomation h3 {
    font-size: 16px !important;
  }
  .infomation table.default th, .infomation table.default td {
    font-size: 11px;
    padding: 3px;
  }
  /*よくあるご質問*/
  dl.qa dd {
    padding: 20px;
  }
  #contents dl.qa dd p {
    width: calc(100% - 50px);
    ;
  }
  #contents dl.qa dt p, #contents dl.qa dd p, #contents dl.qa dt span, #contents dl.qa dd span {
    padding: 7px 0;
  }
  /*営業のご案内*/
  #description li {
    margin: 0 0 10px 0;
    font-size: 13px;
  }
  #description li:nth-child(2) {
    margin: 0 20px;
  }
  #description li img {
    width: 30px;
    height: auto;
    margin: 5px auto;
    display: block;
  }
  #btnArea {
    padding-top: 30px;
  }
  #btnArea::after {
    content: "";
    display: block;
    clear: both;
  }
  #btnArea dl, #btnArea dl:first-child {
    display: block;
    width: 100%;
    float: none;
    margin: 0 0 20px 0;
    box-sizing: border-box;
  }
  #btnArea img.mb {
    display: inline;
    width: 14px;
    height: auto;
    vertical-align: middle;
    margin-right: 5px;
  }
  .railroad #btnArea dd, .railroad #btnArea dd:nth-child(2), .railroad #btnArea dd:nth-child(3), .railroad #btnArea dd:nth-child(4), .railroad #btnArea dd:nth-child(5), .railroad #btnArea dd:nth-child(6), .general #btnArea dd:nth-child(2), .general #btnArea dd:nth-child(3), .general #btnArea dd:nth-child(4), .general #btnArea dd:nth-child(5), .general #btnArea dd:nth-child(6), .info #btnArea dd:nth-child(2), .info #btnArea dd:nth-child(3), .info #btnArea dd:nth-child(4), .info #btnArea dd:nth-child(5) {
    width: 100%;
    margin-right: 0;
    float: none;
  }
  /*一般電気工事*/
  #mapBtn::after {
    content: "";
    display: block;
    clear: both;
  }
  #mapBtn li {
    width: 49%;
    float: left;
    margin-bottom: 10px;
  }
  #mapBtn li:nth-child(odd) {
    margin-right: 2%;
    clear: both;
  }
  #mapBtn li span {
    display: table-cell;
    vertical-align: middle;
  }
  #mapBtn li a {
    text-decoration: none;
    line-height: 1.3em;
    color: #000;
    font-weight: bold;
    display: block;
    padding: 8px;
    background: url(../img/btnBg.png);
    background-size: 180%;
  }
  #mapBtn li img {
    margin-right: 5px;
    width: 26px;
  }
  /*モバイル通信関連工事*/
  #contents .flowArea h3 {
    font-size: 18px;
  }
  #contents .flowArea h4 {
    font-size: 16px;
  }
  #contents .flowArea p {
    font-size: 14px;
  }
  .flowArea .flow {
    width: 90px;
  }
  .flowArea .flow li span {
    font-size: 13px;
  }
  .flowArea .rArea {
    width: calc(100% - 100px);
  }
  .flowTxt {
    width: 100%;
    float: none;
  }
  .flowImg {
    float: none;
  }
  /*NDKブランド品一覧*/
  .bland #indexArea li, .bland #indexArea li:nth-child(3n) {
    width: 49%;
    min-height: 150px;
    margin-right: 2%;
  }
  .bland #indexArea li:nth-child(even) {
    margin-right: 0;
  }
  .bland #indexArea li a h2 {
    padding: 15px 35px 15px 15px;
    margin: 0;
    font-size: 14px;
    line-height: 1.3em;
    color: #284693;
    border: none;
    font-weight: bold;
    letter-spacing: 0;
    background: url(../img/icon_flow.png) no-repeat right 10px top 15px;
  }
  .bland #indexArea li#contactBox {
    display: block;
    width: 100%;
  }
  /*CSR活動実績*/
  .activity #indexArea li {
    height: 185px;
    margin-right: 2%;
  }
  .activity #indexArea li a {
    background: #e9ecf4 url(../../01csr/activity/img/indexBase.png) no-repeat top center;
    background-size: 180px;
    text-align: center;
    font-size: 24px;
    padding-top: 70px;
  }
  .activity #indexArea li a::after {
    content: url(../img/icon03.png);
    display: block;
    margin-top: 10px;
  }
  .activity .txtArea {
    width: calc(100% - 190px);
  }
  .activity figure.lArea, .activity figure.rArea {
    float: left;
    margin-right: 20px;
  }
  /*お問い合わせ*/
  #flow li {
    width: 36%;
    background: url(../../01contact/img/flow.png) no-repeat right 5% top 0;
  }
  #flow li:last-child {
    width: 28%;
    background: none;
  }
  #flow li span {
    width: 77%;
    padding: 12px;
  }
  #flow li:last-child span {
    width: 100%;
  }
  .contact dl.table dt {
    width: 100%;
    padding: 10px;
  }
  .contact dl.table dd {
    width: 100%;
    padding: 20px;
  }
  .radio-block {
    width: calc(100% - 65px);
  }
  .radio-block span.no-radio {
    margin-left: 13px;
  }
  .radioInput {
    width: calc(100% - 13px) !important;
    margin-left: 13px;
  }
  input {
    margin: 5px 0 0 0;
    box-sizing: border-box;
    font-size: 16px;
  }
  .blc {
    padding-bottom: 10px;
  }
  .txtBox {
    width: calc(100% - 80px);
  }
  .radio-block .txtBox {
    width: 100%;
  }
  .txtBoxs {
    width: 100%;
  }
  .txtBoxl {
    width: calc(100% - 80px);
  }
  .txtBoxfull {
    width: 100%;
  }
  form.txtArea {
    width: calc(100% - 80px);
    height: 4em;
    font-size: 16px;
  }
  .contact select {
    width: 16em;
    font-size: 16px;
  }
  /*トータスくん紹介*/
  .top_tortoise .img_text, .top_tortoise video {
    width: 80%;
    height: auto;
  }
  .top_tortoise .img img {
    width: 50%;
    height: auto;
  }
  .top_tortoise .qr {
    padding: 0px 0px 0px 0px;
  }
  .top_tortoise .stamp-img {
    max-width: 100%;
  }
}
@media screen and (max-width:750px) { /* スマホ　*/
  #indexArea ul {
    display: block;
    flex: none;
  }
  #indexArea li, #indexArea li:nth-child(3n) {
    width: 100%;
    margin-right: 0;
    margin-bottom: 20px;
  }
  #indexArea li:nth-child(2n) {
    margin-right: 0;
  }
  /*サステナビリティインデックス*/
  #sustainability #indexArea .fullIndex {
    margin-bottom: 20px;
  }
  #sustainability #indexArea .fullIndex li {
    width: 100%;
    margin-right: 0;
    font-size: 0;
  }
  #sustainability #indexArea .fullIndex li span.img-area {
    height: auto;
    position: relative;
    overflow: auto;
  }
  #sustainability #indexArea .fullIndex li span.img-area img {
    position: relative;
  }
  #sustainability #indexArea .fullIndex li h2 {
    display: block;
    width: 100%;
  }
  #sustainability #indexArea .fullIndex li ul.sub-index {
    display: block;
    width: 100%;
    padding-top: 0;
    font-size: 0;
    vertical-align: top;
  }
  #sustainability #indexArea .fullIndex li ul.sub-index li {
    display: block;
    width: 100%;
  }
  #sustainability #indexArea li ul.sub-index li.harf {
    display: block;
  }
  #sustainability #indexArea li ul.sub-index li.harf:nth-child(odd), #sustainability #indexArea li ul.sub-index li.harf:nth-child(even) {
    width: auto;
  }
  /**/
  ul.rArea, ul.lArea {
    width: 100%;
  }
  .img2c figure, .img2c .figure, .img3c figure, .img2c figure.w460, .img2c figure.w220 {
    float: none;
    width: 100%;
    margin-right: 0;
  }
  .img2c figure img, .img2c .figure img, .img3c figure img {
    width: auto;
    max-width: 100%;
  }
  .img2c figure figcaption, .img2c figure .figcaption {
    text-align: center !important;
  }
  video {
    width: 100%;
  }
  /*沿革*/
  .history .rImg_txt {
    float: none;
    width: 100%;
  }
  .history .rImg {
    float: none;
    width: 100%;
    text-align: center;
  }
  .history .rImg img {
    width: 70%;
    margin-bottom: 15px;
  }
  /*役員*/
  .officer dl.table dd span {
    width: 33%;
  }
  /*施工実績*/
  .projectMore .pImgArea, #project .projectMore .btnBack {
    padding-right: 0;
  }
  ul.projectList {
    display: block;
  }
  ul.projectList li {
    width: 100%;
    height: auto;
    border: solid 1px #eee;
    margin: 0 0 20px 0;
  }
  ul.projectList li a {
    padding: 20px;
  }
  /*ニュースリリース*/
  ul.anc {
    padding: 20px 5px;
  }
  ul.anc li, ul.anc li:nth-child(3n) {
    width: 49%;
    margin-right: 2%;
    float: left;
    margin-bottom: 10px;
  }
  ul.anc li:nth-child(2n) {
    margin-right: auto;
  }
  ul.anc li a {
    width: 100%;
    height: 100%;
    color: #0000EE;
  }
  ul.anc li a::after {
    content: url(../img/icon02.png);
    padding-left: 6px;
  }
  #contents ul.anc li a:hover {
    text-decoration: none;
  }
  .news dt {
    width: 100%;
    float: none;
    font-size: 14px;
    margin-bottom: 0;
    font-weight: bold;
  }
  .news dd {
    width: 100%;
    float: none;
    font-size: 14px;
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 1px dotted #ccc;
  }
  .news dd a {
    color: #0000EE;
  }
  #contents .news dd a:hover {
    text-decoration: none;
  }
  .news dd a.pdf {
    background: none;
    text-indent: -14px;
    padding-left: 30px;
  }
  /*経営方針・経営計画*/
  .pdfArea {
    position: relative;
  }
  .pdfArea span {
    display: block;
    position: relative;
    width: 100%;
    padding: 10px 0 0 0;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
  }
  /*業績ハイライト*/
  .achievement table th, .achievement table td {
    text-align: center;
    vertical-align: middle;
    padding: 10px 5px;
    font-size: 13px;
  }
  .tableCap {
    font-size: 13px;
  }
  /*IR資料集*/
  ul.index li:nth-child(odd), ul.index li:nth-child(even) {
    width: 100%;
    float: none;
  }
  #contents ul.index li a h2, #contents ul.index li a h2.l2 {
    height: auto;
    text-align: center;
    padding: 30px;
  }
  ul.index li a h2 img, #contents ul.index li a h2.l2 img {
    display: block;
    margin: 30px auto 0 auto;
  }
  /*決算短信*/
  .ancArea {
    padding: 20px 0 15px 0;
  }
  .ancArea .lArea, .ancArea .rArea {
    width: 100%;
    float: none;
  }
  .ancArea ul.anc {
    background: none;
    margin-bottom: 0;
    padding: 0;
  }
  .ancArea ul.anc li {
    width: 100%;
    float: none;
  }
  .ancArea .lArea li, .ancArea .rArea li {
    text-align: center;
  }
  /*安全への取り組み*/
  .rinen dt {
    float: none;
    margin: 0 auto 20px auto;
  }
  .rinen dd {
    padding-left: 0;
    text-align: center;
  }
  .rinen .txtLarge {
    font-size: 18px;
    margin-bottom: 30px;
  }
  /*JECA FAIR*/
  .jecafair figure {
    max-width: 100%;
  }
  /*CSR活動実績*/
  .activity #indexArea li:nth-child(odd) {
    float: left;
    width: 49%;
    height: 160px;
    clear: both;
    margin-right: 2%;
  }
  .activity #indexArea li:nth-child(even) {
    float: left;
    width: 49%;
    height: 160px;
    margin-right: 0;
  }
  .activity#indexArea li a {
    background: #e9ecf4 url(../../01csr/activity/img/indexBase.png) no-repeat top center;
    background-size: 200px;
    text-align: center;
    padding-top: 70px;
    font-size: 22px;
  }
  .activity #indexArea li a::after {
    content: url(../img/icon03.png);
    display: block;
    margin-top: 15px;
  }
  .activity .txtArea, .activity .imgArea, .activity figure.lArea, .activity figure.rArea {
    float: none;
    width: 100%;
  }
  .activity .imgArea figure, .activity figure.lArea, .activity figure.rArea {
    text-align: center;
  }
  /*実施状況*/
  .imp dl dt {
    display: block;
    width: 100%;
    padding: 10px;
    text-align: left;
    border-bottom: none;
  }
  .imp dl dt::after {
    content: "";
    display: block;
    clear: both;
  }
  .imp dl dt img {
    width: 85px;
    margin-left: 10px;
    vertical-align: middle;
  }
  #contents .imp dl dt h3 {
    display: inline-block;
    vertical-align: middle;
    padding: 2px 20px;
    width: calc(100% - 95px);
    font-size: 16px;
    text-align: center;
    margin: 0;
  }
  .imp dl dd {
    display: block;
    width: 100%;
  }
  .flexbox {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  /*お問い合わせ*/
  #flow li span {
    padding: 10px;
    font-size: 14px;
    height: 60px;
  }
  /*トータスくん紹介*/

  .top_tortoise .qr {
    padding: 0px 0px 0px 0px;
  }
	.top_tortoise .qr {
  display: inline-block;
		    width: 100%;
}
		  .top_tortoise .qr img {
    height: auto;
    display: block;
    margin: 10px auto;
  }
}
@media screen and (max-width:500px) { /* スマホ　*/
  .coverImg {
    display: block;
    width: 100%;
    max-width: 380px;
    height: auto;
    margin: 0 auto 25px auto;
    float: none;
  }

}