@charset "UTF-8";

/*
1. GlobalHeader
2. Footer
3. PostList
4. SubPageMosule
	4.0. SubPageTag
				H2~H4
				P
				Ul
				Dl
				Table
5. Page / qa
6. Page / about-necodesign

*/

/* 1. GlobalHeader */
header.globalHeader{
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 15px 5%;
	background: #13171B;
	background: #23292f;
	border-bottom: 1px solid #797979;
}
.headerLogo{
}
.headerLogo img{
	width: 200px;
}
.glovalNav ul{
	margin-left: auto;
}
.glovalNav ul li{
	display: inline-block;
	font-size: 1.4rem;
	color: #FFF;
}
.glovalNav ul li a{
	padding: .2em .5em;
	font-size: 1.6rem;
	color: #FFF;
}
@media only screen and (max-width: 767px) {
	header.globalHeader{
		width: 100%;
		flex-wrap: wrap;
		padding: 0;
		border-bottom: none;
	}
	.headerLogo{
		width: 100%;
		padding: 15px 0;
		text-align: center;
	}
	.headerLogo img{
		width: 50%;
	}
	.glovalNav{
		width: 100%;
	}
	.glovalNav ul{
		padding: 15px 0;
		text-align: center;
		background: #292d32;
	}
	.glovalNav ul li{
		line-height: 2;
	}
	.glovalNav ul li a{
		padding: .2em .8em;
		font-size: 1.6rem;
	}
}

/* 2. Footer */
footer{
	padding: 30px 0;
	background: #181d21;
	overflow: hidden;
}
.footerInr{
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 90%;
	max-width: 1008px;
	margin: auto;
}
.footerLogo{
	width: 15%;
	margin-right: 20%;
	background: url(../images/logo_footer_neco.svg) no-repeat;
  background-position: center center;
}
.footerCircle {
  width: 100%;
  animation: kaiten 100s infinite;
}
.footerCircle img{
	width: 100%;
	height: auto;
}
@keyframes kaiten {
  0%   { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
.footerNav{
	width: 27%;
}
.footerNav ul li a{
  font-size: 1.4rem;
  color: #FFF;
}
.footerAddress{
  width: 27%;
  font-size: 1.4rem;
  color: #FFF;
}
.copyright{
  padding: 10px 0;
  text-align: center;
  font-size: 1rem;
  color: #DDD;
  background: #181d21;
}
@media only screen and (max-width: 767px) {
	footer {
    padding: 30px 0 0 0;
	}
	.footerInr{
		flex-wrap: wrap;
		align-items: inherit;
		width: 100%;
	}
	.footerLogo{
		width: 40%;
		margin: auto;
	}
	.footerNav{
		width: 100%;
		padding: 30px 5% 20px 5%;
		text-align: center;
	}
	.footerNav ul li a{
	  font-size: 1.8rem;
	}
	.footerAddress{
	  width: 100%;
		padding: 20px 5%;
	  text-align: center;
	  background: #23292f;
	}
}

/* 3. PostList */
.postList{
	visibility: hidden;
	margin-top: 80px;
	padding: 0 0 100px 0;
}
.postListTtl{
	padding: 0 5%;
	text-align: center;
}
.postList h2 {
  position: relative;
  display: inline-block;
  padding: 0 55px;
  font-size: 24px;
  font-weight: bold;
}
.postList h2:before, .postList h2:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 45px;
  height: 2px;
  border-top: solid 1px black;
  border-bottom: solid 1px black;
}
.postList h2:before {
  left:0;
}
.postList h2:after {
  right: 0;
}
.postList ul{
	display: flex;
	flex-wrap: wrap;
	width: 1008px;
	max-width: 96%;
	margin: 20px auto auto auto;
}
.postList li{
	width: 30%;
	margin: 0 5% 5% 0;
}
.postList li:nth-child(3n){
	margin: 0 0 5% 0;
}
.postList li a{
	display: block;
}
.postList li .thum img{
	width: 100%;
	height: auto;
}
.postList li h3{
	margin-top: 5px;
	font-weight: bold;
}
.postList li p{
	margin-top: 5px;
	font-size: 13px;
}
@media only screen and (max-width: 767px) {
	.postList{
		margin-top: 40px;
	padding: 0 5% 50px 5%;
	}
	.postList ul{
		max-width: 100%;
		margin: 40px auto auto auto;
	}
	.postList li{
		width: 100%;
		margin: 0 0 5% 0;
	}
	.postList li:nth-child(3n){
		margin: 0 0 5% 0;
	}
	.postList li h3{
		padding: 0 2%;
	}
	.postList li p{
		padding: 0 2%;
	}
}


/* 4. SubPageMosule */
.categoryHeader{
	height: 250px;
	background: #23292f;
	position: relative;
}
.categoryHeader .bg{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url(../images/main_bg.jpg) no-repeat;
	background-position: center center;
	z-index: 0;
}
.categoryHeader h1{
	position: relative;
	width: 50%;
	padding: 100px 5% 0 5%;
	font-size: 30px;
	font-weight: bold;
	color: #FFF;
	z-index: 1;
}
@media only screen and (max-width: 767px) {
	.categoryHeader{
		height: auto;
		background: #23292f;
		position: relative;
	}
	.categoryHeader .bg{
		display: none;
	}
	.categoryHeader h1{
		position: relative;
		width: 100%;
		padding: 50px 5%;
		font-size: 20px;
		text-align: center;
	}
}

.postTtl{
	width: 100%;
	max-width: 930px;
	margin: 40px auto auto auto;
	padding: 0;
}
.postTtl h2{
	font-size: 30px;
	font-weight: bold;
}
.postThum{
	width: 960px;
	max-width: 96%;
	margin: 30px auto auto auto;
}
.postThum img{
	width: 100%;
	height: auto;
}

article.subPage section{
	visibility: hidden;
	width: 90%;
	max-width: 900px;
	margin: 50px auto auto auto;
	padding: 0 5% 100px 5%;
}
@media only screen and (max-width: 767px) {
	.postTtl{
		width: 100%;
		margin: 20px auto auto auto;
	}
	.postTtl h2{
		font-size: 20px;
	}
	.postThum{
		max-width: 100%;
		margin: 20px auto auto auto;
		padding: 0 5%;
	}
	
	article.subPage section{
		width: 100%;
		max-width: 100%;
		margin: 20px auto auto auto;
		padding: 0 5% 50px 5%;
	}
}


/* 4.0 SubPageTag */
article.subPage section h3{
	font-size: 20px;
	font-weight: bold;
	color: #222;
  margin: 3em auto 1em auto;
  padding: 0.8em 1.5em;
  background-color: #f5f5f5;
}
article.subPage section h3:first-of-type{
	margin: auto auto 1.5em auto;
}
article.subPage section h4{
	font-size: 18px;
	font-weight: bold;
	color: #222;
  margin: 3em 1.4em 1em 1.4em;
  padding: 0.3em 1em;
  background-color: #f5f5f5;
}
article.subPage section p{
	padding: 0 1.4em;
	margin-bottom: 1.6em;
}
article.subPage section ul{
	margin: 2em 0;
	padding: 0 1.4em 0 2.8em;
}
article.subPage section ul li{
	margin-bottom: .4em;
	list-style: disc;
}
article.subPage section ol{
	margin: 2em 0;
	padding: 0 1.4em 0 2.8em;
}
article.subPage section ol li{
	margin-bottom: .4em;
	list-style: decimal;
}

article.subPage section a:hover img{
	opacity: 1;
}
article.subPage section img{
	display: block;
	max-width: 100%;
	height: auto;
	margin: auto;
}
article.subPage section .gallery{
	margin-bottom: 1.6em !important;
}
/*
article.subPage section table{
	width: 100%;
	border: 8px solid #CCC;
}
article.subPage section table th,
article.subPage section table td{
	padding: .8em 1em;
	border: 1px solid #CCC;
	text-align: left;
}
article.subPage section table th{
	font-weight: bold;
	background: #EEE;
}
*/
@media only screen and (max-width: 767px) {
	article.subPage section h3{
		font-size: 18px;
	  margin: 3em auto 1em auto;
	  padding: .5em .8em;
	}
	article.subPage section p{
		padding: 0 .8em;
		margin-bottom: 1.4em;
	}
	article.subPage section .gallery{
	margin-bottom: 1.4em !important;
}
/*
	article.subPage section table{
		width: 100%;
		border: 8px solid #CCC;
	}
	article.subPage section table th,
	article.subPage section table td{
		padding: .8em 1em;
		border: 1px solid #CCC;
		text-align: left;
	}
	article.subPage section table th{
		font-weight: bold;
		background: #EEE;
	}
*/
}
	
	
/* 5. Page / qa */
.qa {
	width: 900px;
	max-width: 90%;
	margin: 80px auto 100px auto;
}
.qa dl{
	margin-bottom: 5%;
}
.qa dt {
	border: none;
 	position: relative;
	display: flex;
 	margin: 0;
	padding: 1em 1.5em 1em 5em;
	width: 100%;
	font-size: 16px;
	color: #FFF;
	background: #23292f url(../images/icon_qa.png);
	background-repeat: no-repeat;
	background-size: 40px;
	background-position: 1.5em center;
	align-items: center;
	cursor: pointer;
}
.qa dt:before{
	content: "";
	position: absolute;
	top: 100%;
	left: 1.5em;
  margin-left: 5px;
	border: 15px solid transparent;
	border-top: 15px solid #23292f;
}
.qa dt span{
  width: 40px;
  height: 40px;
  margin-right: 0.5em;
  border-radius: 50%;
  font-size: 28px;
  font-weight: bold;
  background: #fff;
  display: block;
  text-align: center;
}
.qa dd{
	display: none;
	border: none;
	margin: 18px .5em 0 .5em;
	padding: 1.5em 1.5em;
	background: #f8f8f8;
	border: dashed 2px #999;
}
.qa dd ul{
	margin: 1em 0;
	padding: 0 0 0 2em;
}
.qa dd li{
	margin-bottom: .4em;
	list-style: disc;
}


/* 6. Page / about-necodesign */
article.subPage section.about-necodesign {
	width: 900px;
	max-width: 96%;
	margin: 80px auto 0 auto;
	padding: 0 5% 0 5%;
}
.about-necodesign .read{
	margin-bottom: 3em;
}
.table_aboutNecodesign{
	width: 900px;
	max-width: 96%;
	margin: 100px auto 100px auto;
}
.table_aboutNecodesign th,
.table_aboutNecodesign td{
	padding: .8em 1em;
	text-align: left;
}
.table_aboutNecodesign th{
	font-weight: bold;
	color: #FFF;
	background: #181d21;
	border-bottom: 5px solid #FFF;
}
.table_aboutNecodesign td{
	background: #EEE;
	border-bottom: 5px solid #FFF;
}
@media only screen and (max-width: 767px) {
	article.subPage section.about-necodesign {
		width: 900px;
		max-width: 96%;
		margin: 40px auto 0 auto;
		padding: 0 5% 0 5%;
	}
	.table_aboutNecodesign{
		width: 96%;
		max-width: inherit;
		margin: 50px auto 50px auto;
		display: block;
	}
	.table_aboutNecodesign tbody,
	.table_aboutNecodesign tr{display: block;}
	.table_aboutNecodesign th,
	.table_aboutNecodesign td{
		width: 100%;
		padding: .8em 1em;
		text-align: left;
		display: block;
	}
	.table_aboutNecodesign th{
		border-bottom: none;
	}
	.table_aboutNecodesign td{
		border-bottom: none;
		margin-bottom: 10px;
		background: #FFF;
	}
}


article.subPage section.contact {
  width: 90%;
  max-width: 1008px;
  margin: 50px auto auto auto;
  padding: 0 5% 100px 5%;
}
.table_contact{
	width: 900px;
	max-width: 96%;
	margin: 40px auto 0 auto;
}
.table_contact th,
.table_contact td{
	padding: .8em 1em;
	text-align: left;
	vertical-align: top;
}
.table_contact th{
	font-weight: bold;
	color: #FFF;
	background: #181d21;
	border-bottom: 5px solid #FFF;
}
.table_contact td{
	background: #EEE;
	border-bottom: 5px solid #FFF;
}
.contact a{
	text-decoration: underline;
}
.contact select {
  width: 100%;
  cursor: pointer;
  text-indent: 0.01px;
  text-overflow: ellipsis;
  border: none;
  outline: none;
  background: transparent;
  background-image: none;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
  background: #FFF;
  padding: .5em 1em;
  border-radius: 0;
  font-size: 1.6rem;
  position: relative;
}
.contact select::-ms-expand {
  display: none;
}
.contact input[type='text'],
.contact input[type='email']{
  width: 100%;
  padding: .5em 1em;
  border: none;
  font-size: 1.6rem;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}
.contact textarea{
  width: 100%;
  height: 200px;
  padding: .5em 1em;
  border: none;
  font-size: 1.6rem;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}
.contact input[type='submit']{
  border: none;
  display: block;
  width: 40%;
  padding: .5em 1em;
  font-size: 1.6rem;
  background-color: #11ABB0;
  color: #fff;
  font-weight: bold;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  cursor: pointer;
  margin: 0 auto;
  transition: .4s;
}
.contact input[type='submit']:disabled{
	background-color: #CCC;
}
@media only screen and (max-width: 767px) {
	article.subPage section.contact {
	  width: 100%;
	  max-width: 1008px;
	  margin: 50px auto auto auto;
	  padding: 0 5% 100px 5%;
	}
	.table_contact {
    width: 96%;
    max-width: inherit;
    margin: 50px auto 50px auto;
    display: block;
	}
	.table_contact tbody,
	.table_contact tr{display: block;}
	.table_contact th,
	.table_contact td{
		width: 100%;
		padding: .8em 1em;
		text-align: left;
		display: block;
	}
	.table_contact th{
		border-bottom: none;
	}
	.table_contact td{
		border-bottom: none;
		margin-bottom: 10px;
		background: #EEE;
	}
}

/* 目次プラグイン */
.counter-hierarchy{
	margin-bottom: 40px;
	padding: 1.65em;
	border: 1px solid #efefef;
	background: #fdfdfd;
	border-radius: 4px;
}
.counter-hierarchy ul li a{
	font-size: 16px;
}




