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

/* --------------------------------------------- 第2階層 ------------------------------------------------ */
div.list {
	max-width: 1140px;
	margin: 0 auto;
}
div.list.news {
	display:-webkit-box;
	display:-moz-box;
	display:-ms-box;
	display:-webkit-flexbox;
	display:-moz-flexbox;
	display:-ms-flexbox;
	display:-webkit-flex;
	display:-moz-flex;
	display:-ms-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;
	align-items: flex-end;
}
/*div.list article {
	width: 47.37%;
	text-align: center;
	position: relative;
	padding-bottom: 90px;
	display: block;
}*/
/*div.list article:nth-child(odd) {
	float: left;
	clear: both;
}*/
/*div.list article:nth-child(even) {
	float: right;
}*/
div.list.news article:nth-child(odd),
div.list.news article:nth-child(even) {
	float: none;
	clear: none;
}
div.list.news article:nth-child(odd) {
	margin-right: 5.26%;
}

div.list article .archive_img a {  
	position: relative;
	width: 100%;
	padding-top: 59.26%;
	display: block;
}
div.list article .archive_img a img,
div.list article .no_img,
div.list article .no_img span {
	position: absolute;
}
div.list article .archive_img a img,
div.list article .no_img span {
	top: 50%;
	left: 50%;
	transform:translate(-50%, -50%);
	-webkit-transform:translate(-50%, -50%);
	-moz-transform:translate(-50%, -50%);
	-ms-transform:translate(-50%, -50%);
}
div.list article .archive_img a img {
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
}
div.list article .no_img {
	background-color: #c9c9c9;
	color: #fff;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	width: 100%;
	height: 100%;
}
div.list article .no_img span {
	white-space: nowrap;
}
div.list article h2.title {
	margin: 30px 0;
	padding: 0;
	font-size: 1.8rem;
}
div.list article h2.title a {
	color: #2e425b;
}
div.list.news article .text {
	height: 7em;
}
div.list article hr {
	margin: 30px auto;
}
div.list article p {
	margin: 0;
	padding: 0;
}
div.list article a .icon {
	margin-top: 40px;
}

div.list article .addtoany_content_bottom {
	display: none;
}

section.content article.main,
body.content,
body.mceContentBody {
	max-width: 1140px;
	margin: 0 auto;
}

/* --------------------------------------------- 第3階層 ------------------------------------------------ */

section.content article.main.single {
	line-height: 200%;
}
section.content article.main.single h2,
body.content h2,
body.mceContentBody h2 {
	margin: 0 0 40px 0;
	font-size: 2.4rem;
	color: #111c3a;
	padding: 30px 0;
	border-top: 1px solid #e3e6eb;
	border-bottom: 1px solid #e3e6eb;
}
section.content article.main.single h3,
section.content article.main.single h4,
section.content article.main.single h5,
body.content h3,
body.content h4,
body.content h5,
body.mceContentBody h3,
body.mceContentBody h4,
body.mceContentBody h5 {
	margin: 50px 0 30px 0;
}
section.content article.main.single h3,
body.content h3,
body.mceContentBody h3 {
	color: #fff;
	background-color: #111c3a;
	padding: 25px 30px;
	font-size: 2.4rem;
}
section.content article.main.single h4,
body.content h4,
body.mceContentBody h4 {
	padding: 10px 0 10px 30px;
	border-left: 3px solid #111c3a;
	font-size: 2.0rem;
}
section.content article.main.single h5,
body.content h5,
body.mceContentBody h5 {
	padding: 0 0 0 30px;
	font-size: 1.8rem;
	width: 820px;
	border-bottom: 1px solid #e3e6eb;
	padding-bottom: 20px;
}
section.content article.main.single img,
body.content img,
body.mceContentBody img {
	max-width: 100%;
	height: auto;
	margin: 50px auto;
	display: block;
}
section.content article.main.single a,
body.content a,
body.mceContentBody a {
	text-decoration: underline;
}
section.content article.main.single ul,
body.content ul,
body.mceContentBody ul {
	margin: 50px 0 50px 1em;
	padding: 0;
	list-style: none;
}
section.content article.main.single ul li,
section.content article.main.single ul.sitemap li ul li,
body.content ul li,
body.content ul.sitemap li,
body.mceContentBody ul li,
body.mceContentBody ul.sitemap li {
	position: relative;
	margin: 0;
	padding: 0 0 0 1.2em;
}
section.content article.main.single ul li:before,
section.content article.main.single ul.sitemap li ul li:before,
body.content ul li:before,
body.content ul.sitemap li ul li:before,
body.mceContentBody ul li:before,
body.mceContentBody ul.sitemap li ul li:before {
	content: "";
	display: block;
	height: 1px;
	width: 0.8em;
	background-color: #333;
	position: absolute;
	top: 1em;
	left: 0;
	margin-top: -1px;
}
section.content article.main.single blockquote,
body.content blockquote,
body.mceContentBody blockquote {
	margin: 50px 0;
	padding: 30px 25px;
	background-color: #f6f6f6;
	border: 1px solid #ccc;
}
section.content article.main.single blockquote p:first-child,
body.content blockquote p:first-child,
body.mceContentBody blockquote p:first-child {
	margin-top: 0;
	padding-top: 0;
}
section.content article.main.single blockquote p:last-child,
body.content blockquote p:last-child,
body.mceContentBody blockquote p:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
}
section.content article.main.single blockquote + p em,
section.content article.main.single blockquote + em,
body.content blockquote p:first-child + p em,
body.content blockquote p:first-child + em,
body.mceContentBody blockquote p:first-child + p em,
body.mceContentBody blockquote p:first-child + em {
	margin: -40px 0 50px 0;
	display: block;
}
section.content article.main.single table,
body.content table,
body.mceContentBody table {
	margin: 50px 0;
	width: 100%;
	border-collapse: collapse;
}
section.content article.main.single table th,
section.content article.main.single table td,
body.content table th,
body.content table td,
body.mceContentBody table th,
body.mceContentBody table td {
	border: 1px solid #d9e1e6;
	padding: 20px;
}
section.content article.main.single table th,
body.content table th,
body.mceContentBody table th {
	text-align: left;
	width: -webkit-calc(15em + 7px);
	width: calc(15em + 7px);
}

section.content article.relation {
	margin: 80px 0 0 0;
	text-align: center;
}
section.content article.relation h3,
section.content article.relation h2 {
	margin: 0 auto;
	padding: 0 0.05em;
	text-align: center;
	display: block;
	border-bottom: 1px solid #2e425b;
	line-height: 100%;
	letter-spacing: 0.05em;
	font-size: 2.3rem;
	display: inline-block;
}
section.content article.relation ul,
.news ul {
	padding:0;
	list-style:none;
	overflow:hidden;
	text-align: left;
}
section.content article.relation ul {
	padding: 50px 315px;
	margin: 50px auto;
	background-color: #f3f4f6;
	width: 1140px;
}
.news ul {
	margin: 50px auto -50px auto;
	max-width:970px;
}
section.content article.relation ul li,
.news ul li {
	margin: 0 0 50px 0;
	padding:0;
}
section.content article.relation ul li:last-child {
	margin-bottom: 0;
}
section.content article.relation ul li a.wp_rp_thumbnail {
	display: none;
}
section.content article.relation ul li a,
.news ul li a {
	display:block;
	padding-right: -webkit-calc(22px + 1.5em);
	padding-right: calc(22px + 1.5em);
	position:relative;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
/*	height:22px;*/
	line-height:22px;
	font-weight: 500;
}
section.content article.relation ul li a:before,
section.content article.relation ul li a:after,
.news ul li a:before,
.news ul li a:after {
	position:absolute;
	top:50%;
	text-align:center;
	content:"";
}
section.content article.relation ul li a:before,
.news ul li a:before {
	border:1px solid #111c3a;
	border-radius: 100%;
	-webkit-border-radius: 100%;
	-moz-border-radius: 100%;
	width:22px;
	height:22px;
	transform:translateY(-50%);
	-webkit-transform:translateY(-50%);
	-moz-transform:translateY(-50%);
	-ms-transform:translateY(-50%);
	right:0;
}
section.content article.relation ul li a:after,
.news ul li a:after {
	border:1px solid #111c3a;
	border-left: none;
	border-top: none;
	width:8px;
	height:8px;
	transform:translateY(-50%) rotate(-45deg);
	-webkit-transform:translateY(-50%) rotate(-45deg);
	-moz-transform:translateY(-50%) rotate(-45deg);
	-ms-transform:translateY(-50%) rotate(-45deg);
	right: 9px;
}
section.content article.relation ul li a:hover:before,
.news ul li a:hover:before,
section.content article.relation ul li a:hover:after,
.news ul li a:hover:after {
	border-color: #776a28;
}
.news ul li a span {
	display: inline-block;
	width: 10%;
	font-weight:normal;
	margin-right:20px;
	font-style:italic;
	color:#848484;
}
section.content article.relation ul li div,
.news ul li a:not(:first-child),
.news ul li div {
	display: none;
}

/* --------------------------------------------- エリクシアとは ------------------------------------------------ */

section.content article.main.page h2.whoweare,
section.content article.main.page h2.project,
body.content h2.whoweare,
body.content h2.project {
	font-weight: normal;
	color: #fff;
	padding: 20px 35px;
	margin: 0;
	background-color: #111c3a;
}
section.content article.main.page h2.whoweare span,
section.content article.main.page h2.project span,
body.content h2.whoweare span,
body.content h2.project span {
	font-size: 2.0rem;
	margin-right: 1em;
}
section.content article.main.page h2.whoweare,
section.content article.main.page .about .img ul li h3,
section.content article.main.page h2.project,
body.content h2.whoweare,
body.content .about .img ul li h3,
body.content h2.project {
	font-size: 1.5rem;
	letter-spacing: normal;
}

section.content article.main.page .about,
section.content article.main.page .mission,
section.content article.main.page .value,
section.content article.main.page .message,
section.content article.main.page .meaning,
section.content article.main.page .professional,
section.content article.main.page .activity,
section.content article.main.page .approach,
section.content article.main.page .project,
body.content .about,
body.content .mission,
body.content .value,
body.content .message,
body.content .meaning,
body.content .professional,
body.content .activity,
body.content .approach,
body.content .project {
	margin: 50px 0 100px 0;
	position: relative;
}
section.content article.main.page .about p,
body.content .about p {
	text-align: center;
}
section.content article.main.page .about .img,
body.content .about .img {
	height: 875px;
	margin: 50px 0 0 0;
	position: relative;
}
section.content article.main.page .about .img img,
body.content .about .img img {
	position: absolute;
	left: 50%;
	transform:translate(-50%, -53%);
	-webkit-transform:translate(-50%, -53%);
	-moz-transform:translate(-50%, -53%);
	-ms-transform:translate(-50%, -53%);
	z-index: 1;
	top: 50%;
}
section.content article.main.page .about .img ul,
body.content .about .img ul {
	height: 100%;
	width: 100%;
	background-image: url(/wp-content/uploads/2019/01/consulting_farm2.png);
	background-position: 50% 50%;
	background-repeat: no-repeat;
	margin: 0;
	padding: 0;
	list-style: none;
	z-index: 2;
	position: relative;
}
section.content article.main.page .about .img ul li,
body.content .about .img ul li {
	position: absolute;
	border: 5px solid #001c58;
	margin: 0;
	padding: 15px 25px;
	box-sizing: content-box;
	background-color: #fff;
	width: 21em;
	color: #001c58;
}
section.content article.main.page .about .img ul li:first-child,
body.content .about .img ul li:first-child {
	right: 0;
	top: 0;
}
section.content article.main.page .about .img ul li:nth-child(2),
body.content .about .img ul li:nth-child(2) {
	top: 50%;
	transform:translateY(-50%);
	-webkit-transform:translateY(-50%);
	-moz-transform:translateY(-50%);
	-ms-transform:translateY(-50%);
	width: 17em;
}
section.content article.main.page .about .img ul li:last-child,
body.content .about .img ul li:last-child {
	right: -50px;
	bottom: 0;
}
section.content article.main.page .about .img ul li h3,
body.content .about .img ul li h3 {
	background-color: #001c58;
	color: #fff;
	margin: 0 0 15px 0;
	padding: 10px 15px;
}
section.content article.main.page .about .img ul li h3 span,
body.content .about .img ul li h3 span {
	font-size: 2.0rem;
	margin-right: 15px;
}

section.content article.main.page .mission,
body.content .mission {
	background-image: url(/wp-content/uploads/2019/01/mission.jpg);
	background-position: 50% 50%;
	background-repeat: no-repeat;
	margin-left: -150px;
	margin-right: -150px;
	height: 360px;
	text-align: center;
	font-size: 2.8rem;
	text-shadow: #fff 0 0 25px, #fff 0 0 25px, #fff 0 0 25px, #fff 0 0 25px;
	font-weight: 600;
	letter-spacing: 0.05em;
}
section.content article.main.page .mission h3 span,
section.content article.main.page .mission p,
body.content .mission h3 span,
body.content .mission p {
	font-family: 'Noto Serif JP', serif !important;
	color: #111c3a;
}
section.content article.main.page .mission h3,
body.content .mission h3 {
	margin: 0;
	padding: 75px 0 0 0;
	font-size: 3.2rem;
	line-height: 175%;
	font-weight: 600;
	background: none;
}

section.content article.main.page .value,
body.content .mission .value {
	padding-bottom: 50px;
}
section.content article.main.page .value .back,
body.content .mission .value .back {
	position: absolute;
	bottom: 0;
	left: -150px;
	right: -150px;
	height: 200px;
	background-color: #e2e6ef;
	display: block;
	z-index: 1;
}
section.content article.main.page .value ul,
body.content .mission .value ul {
	position: relative;
	z-index: 2;
	list-style: none;
	margin: 0;
	padding: 0;
	display: inline-block;
	width: 100%;
}
section.content article.main.page .value ul li,
body.content .mission .value ul li {
	width: -webkit-calc((100% - 60px) / 3);
	width: calc((100% - 60px) / 3);
	float: left;
	margin: 0 30px 0 0;
	padding: 30px;
	background-color: #fff;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
	text-align: center;
}
section.content article.main.page .value ul li:last-child,
body.content .mission .value ul li:last-child {
	margin-right: 0;
}
section.content article.main.page .value ul li h3,
body.content .mission .value ul li h3 {
	background-color: #111c3a;
	color: #fff;
	font-size: 3.0rem;
	font-weight: normal;
	padding: 10px 0;
	margin: 0 0 20px 0;
}
section.content article.main.page .value ul li:nth-child(2) h3,
section.content article.main.page .value ul li h3 span,
body.content .mission .value ul li:nth-child(2) h3,
body.content .mission .value ul li h3 {
	letter-spacing: normal;
}
section.content article.main.page .value ul li h3 span,
body.content .mission .value ul li h3 span {
	display: block;
	font-size: 1.8rem;
	margin-top: 10px;
}
section.content article.main.page .value ul li p,
body.content .mission .value ul li p {
	border: 2px solid #111c3a;
	margin: 10px 0 0 0;
	padding: 15px 0;
	color: #2e425b;
}

section.content article.main.page .message,
body.content .message  {
	display: inline-block;
	width: 100%;
}
section.content article.main.page .message p,
body.content .message p {
	margin: 0;
	padding: 0;
}
section.content article.main.page .message img,
body.content .message img {
	float: left;
}
section.content article.main.page .message .message_article,
body.content .message .message_article {
	float: right;
	width: 790px;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
	margin-top: 50px;
	padding: 50px;
	font-family: 'Noto Serif JP', serif;
}
section.content article.main.page .message .message_article p,
body.content .message .message_article p {
	margin: 2em 0;
	font-family: 'Noto Serif JP', serif !important;
	float: none;
}
section.content article.main.page .message .message_article p:first-child,
body.content .message .message_article p:first-child {
	margin-top: 0;
}
section.content article.main.page .message .message_article p.right,
body.content .message .message_article p.right {
	text-align:right;
	margin-bottom: 0;
}

section.content article.main.page .meaning,
body.content .meaning {
	margin-bottom: 0;
	text-align: center;
	font-size: 1.8rem;
	line-height: 200%;
}
section.content article.main.page .meaning:before,
section.content article.main.page .meaning:after,
section.content article.main.page .meaning .meaning_article:before,
section.content article.main.page .meaning .meaning_article:after,
body.content .meaning:before,
body.content .meaning:after,
body.content .meaning .meaning_article:before,
body.content .meaning .meaning_article:after {
	position: absolute;
	border: 1px solid #111c3a;
	bottom: 0;
	width: 7px;
	content: "";
	display: block;
}
section.content article.main.page .meaning:before,
section.content article.main.page .meaning:after,
body.content .meaning:before,
body.content .meaning:after {
	height: -webkit-calc(8em + 50px);
	height: calc(8em + 50px);
}
section.content article.main.page .meaning .meaning_article:before,
section.content article.main.page .meaning .meaning_article:after,
body.content .meaning .meaning_article:before,
body.content .meaning .meaning_article:after {
	top: 0;
	bottom: 0;
}
section.content article.main.page .meaning:before,
section.content article.main.page .meaning .meaning_article:before,
body.content .meaning:before,
body.content .meaning .meaning_article:before {
	left: 0;
	border-right: none;
}
section.content article.main.page .meaning:after,
section.content article.main.page .meaning .meaning_article:after,
body.content .meaning:after,
body.content .meaning .meaning_article:after {
	right: 0;
	border-left: none;
}
section.content article.main.page .meaning img,
body.content .meaning img {
	margin: 0 auto;
	display: block;
}
section.content article.main.page .meaning .meaning_article,
body.content .meaning .meaning_article {
	margin: 50px auto 0 auto;
	width: 45em;
	position: relative;
	padding: 25px 0;
}
section.content article.main.page .meaning .meaning_article:before,
section.content article.main.page .meaning .meaning_article:after,
body.content .meaning .meaning_article:before,
body.content .meaning .meaning_article:after {
	display:none;
}
section.content article.main.page .meaning .meaning_article span,
body.content .meaning .meaning_article span {
	display: block;
}
section.content article.main.page .meaning .meaning_article br,
body.content .meaning .meaning_article br {
	display: none;
}

/* --------------------------------------------- プロジェクト ------------------------------------------------ */

section.content article.main.page .professional h3,
body.content .professional h3 {
	text-align: center;
	font-size: 3.2rem;
	line-height: 100%;
	max-width: 30em;
	padding: 30px 0 25px 0;
	margin:0 auto 50px auto;
	position:relative;
	font-weight:normal;
	color: #08235d;
	background: none;
}
section.content article.main.page .professional h3 .frame,
body.content .professional h3 .frame {
	position:relative;
	width: 100%;
	display: block;
}
section.content article.main.page .professional h3:before,
section.content article.main.page .professional h3:after,
section.content article.main.page .professional h3 .frame:before,
section.content article.main.page .professional h3 .frame:after,
body.content .professional h3:before,
body.content .professional h3:after,
body.content .professional h3 .frame:before,
body.content .professional h3 .frame:after {
	position:absolute;
	display:block;
	width: 25px;
	height: 25px;
	border: 5px solid #001c58;
	content: "";
}
section.content article.main.page .professional h3:before,
section.content article.main.page .professional h3:after,
body.content .professional h3:before,
body.content .professional h3:after {
	top: 0;
	border-bottom: none;
}
section.content article.main.page .professional h3 .frame:before,
section.content article.main.page .professional h3 .frame:after,
body.content .professional h3 .frame:before,
body.content .professional h3 .frame:after {
	bottom: -25px;
	border-top: none;
}
section.content article.main.page .professional h3:before,
section.content article.main.page .professional h3 .frame:before,
body.content .professional h3:before,
body.content .professional h3 .frame:before {
	left: 0;
	border-right: none;
}
section.content article.main.page .professional h3:after,
section.content article.main.page .professional h3 .frame:after,
body.content .professional h3:after,
body.content .professional h3 .frame:after {
	right: 0;
	border-left: none;
}
section.content article.main.page .professional p,
section.content article.main.page .activity p,
section.content article.main.page .approach article p,
section.content article.main.page .project p,
body.content .professional p,
body.content .activity p,
body.content .approach article p,
body.content .project p {
	line-height: 2em;
	display:inline-block;
	width:100%;
}

section.content article.main.page .activity img,
body.content .activity img {
	display: block;
	margin: 30px auto;
}

section.content article.main.page .approach article,
section.content article.main.page .project article,
body.content .approach article,
body.content .project article {
	margin-bottom: 70px;
	display:inline-block;
	width:100%;
	position: relative;
}
section.content article.main.page .approach article:last-child,
section.content article.main.page .project article:last-child,
body.content .approach article:last-child,
body.content .project article:last-child {
	margin-bottom: 0;
}
section.content article.main.page .approach article h3,
section.content article.main.page .project article h3,
body.content .approach article h3,
body.content .project article h3 {
	font-size: 2.2rem;
	margin:0;
	padding: 15px 25px;
	border-left: 3px solid #111c3a;
	color: #111c3a;
	clear:both;
	background: none;
}
section.content article.main.page .approach article img,
body.content .approach article img {
	float:left;
	vertical-align: bottom;
	margin:50px 0 0 50px;
	width: 43.25%;
}
section.content article.main.page .approach article .example,
body.content .approach article .example {
	position: relative;
	border-width: 2px;
	border-style: solid;
	padding: 30px;
	width: 43.86%;
	margin: 25px 50px 0 0;
	float: right;
}
section.content article.main.page .approach article .example:before,
section.content article.main.page .approach article .example:after,
body.content .approach article .example:before,
body.content .approach article .example:after {
	content:"";
	position: absolute;
	display:block;
	width:0;
	height: 0;
	border-style: solid;
	border-color: transparent;
	right: 100%;
	transform:translateY(-50%);
	-webkit-transform:translateY(-50%);
	-moz-transform:translateY(-50%);
	-ms-transform:translateY(-50%);
}
section.content article.main.page .approach article .example:before,
body.content .approach article .example:before {
	border-width: 13px 21px 13px 0;
	margin-bottom: -13px;
}
section.content article.main.page .approach article .example:after,
body.content .approach article .example:after {
	border-width: 10px 17px 10px 0;
	border-right-color: #fff;
	margin-bottom: -10px;
}
section.content article.main.page .approach article .example h4,
body.content .approach article .example h4 {
	margin:0;
	padding: 15px 20px 10px 20px;
	font-size: 2.4rem;
	line-height: 100%;
	color: #fff;
	letter-spacing: 0.05em;
	border: none;
}
section.content article.main.page .approach article .example ul,
body.content .approach article .example ul {
	margin: 20px 0 0 0;
	padding: 0 0 0 25px;
	list-style: disc;
}

section.content article.main.page .approach article:first-child .example,
body.content .approach article:first-child .example	{ 
	border-color: #e05755;
}
section.content article.main.page .approach article:first-child .example:before,
body.content .approach article:first-child .example:before { 
	border-right-color: #e05755;
}
section.content article.main.page .approach article:first-child .example h4,
body.content .approach article:first-child .example h4 {
	background-color: #e05755;
}
section.content article.main.page .approach article:first-child ul li,
body.content .approach article:first-child ul li { 
	color: #e05755;
}
section.content article.main.page .approach article:first-child .example:before,
section.content article.main.page .approach article:first-child .example:after,
body.content .approach article:first-child .example:before,
body.content .approach article:first-child .example:after {
	top: 370px; 
}

section.content article.main.page .approach article:nth-child(2) .example,
body.content .approach article:nth-child(2) .example {
	border-color: #ff7143; 
}
section.content article.main.page .approach article:nth-child(2) .example:before,
body.content .approach article:nth-child(2) .example:before { 
	border-right-color: #ff7143; 
}
section.content article.main.page .approach article:nth-child(2) .example h4,
body.content .approach article:nth-child(2) .example h4 { 
	background-color: #ff7143; 
}
section.content article.main.page .approach article:nth-child(2) ul li,
body.content .approach article:nth-child(2) .example ul li { 
	color: #ff7143; 
}
section.content article.main.page .approach article:nth-child(2) .example:before,
section.content article.main.page .approach article:nth-child(2) .example:after,
body.content .approach article:nth-child(2) .example:before,
body.content .approach article:nth-child(2) .example:after { 
	top: 275px;
}

section.content article.main.page .approach article:last-child .example,
body.content .approach article:last-child .example { 
	border-color: #00b7ee;
}
section.content article.main.page .approach article:last-child .example:before,
body.content .approach article:last-child .example:before {
	border-right-color: #00b7ee;
}
section.content article.main.page .approach article:last-child .example h4,
body.content .approach article:last-child .example h4 { 
	background-color: #00b7ee; 
}
section.content article.main.page .approach article:last-child ul li,
body.content .approach article:last-child .example ul li {
	color: #00b7ee; 
}
section.content article.main.page .approach article:last-child .example:before,
section.content article.main.page .approach article:last-child .example:after,
body.content .approach article:last-child .example:before,
body.content .approach article:last-child .example:after {
	top: 100px; 
	margin-bottom: 0; 
}
section.content article.main.page .approach article:last-child .example:before,
section.content article.main.page .approach article:last-child .example:after,
body.content .approach article:last-child .example:before,
body.content .approach article:last-child .example:after {
	top: 125px;
}

section.content article.main.page .project,
body.content .project {
	margin-bottom: 0;
}
section.content article.main.page .project p,
body.content .project p {
	margin-bottom: 50px;
	margin-top: 0;
}
section.content article.main.page .project article p,
body.content .project article p {
	margin-bottom: auto;
}
section.content article.main.page .project article .head,
body.content .project article .head {
	display: block;
	width: 10em;
	border: 3px solid #dce3f5;
	margin: 0 auto;
	text-align: center;
	padding: 10px 0;
	color: #2e425b;
	font-size: 2.6rem;
}
section.content article.main.page .project article h3,
body.content .project article h3 {
	margin: 30px 0;
}
section.content article.main.page .project article .case,
body.content .project article .case {
	outline: 10px solid #e9effc;
	border: 1px solid #fff;
	background-color: #e9effc;
	margin: 30px 10px 0 10px;
	width: -webkit-calc(100% - 20px);
	width: calc(100% - 20px);
	padding: 35px 40px;
	position: relative;
	display:inline-block;
	position:relative;
}
section.content article.main.page .project article .case h4,
body.content .project article .case h4 {
	font-size: 1.8rem;
	color: #fff;
	background-color: #3d4967;
	margin: 0 0 30px 0;
	padding: 10px 15px;
	width: auto;
	border: none;
}
section.content article.main.page .project article .case p,
body.content .project article .case p {
	margin: 0;
	float:left;
	width: 43.16%;
	clear:both;
}
section.content article.main.page .project article .case dl,
body.content .project article .case dl {
	float:right;
	width: 53.95%;
	background-color: #fff;
	margin: 0;
	padding: 20px;
}
section.content article.main.page .project article .case dl dt,
section.content article.main.page .project article .case dl dd,
body.content .project article .case dl dt,
body.content .project article .case dl dd {
	margin:0;
	padding: 0;
}
section.content article.main.page .project article .case dl dt,
body.content .project article .case dl dt {
	font-size: 1.8rem;
	padding-left: 20px;
	padding-right: 20px;
}
section.content article.main.page .project article .case dl dd:last-child,
body.content .project article .case dl dd:last-child {
	margin-bottom: -20px;
}
section.content article.main.page .project article .case dl dd ul,
body.content .project article .case dl dd ul {
	margin: 20px 0;
	padding: 0 0 0 25px;
	list-style: disc;
}

/* --------------------------------------------- サービス ------------------------------------------------ */

section.content article.main.page ul.servic,
body.content ul.servic {
	margin: 40px 0 0 0;
	padding:0;
	list-style: none;
}
section.content article.main.page ul.service li,
body.content ul.service li {
	width: -webkit-calc((100% - 50px) / 2);
	width: calc((100% - 50px) / 2);
	margin: 0 0 50px 0;
	background-color: #d9e1e6;
	text-align:center;
	padding: 50px 0;
	font-size: 1.3rem;
}
section.content article.main.page ul.service li:nth-child(odd),
body.content ul.service li:nth-child(odd) {
	float:left;
	clear: both;
}
section.content article.main.page ul.service li:nth-child(even),
body.content ul.service li:nth-child(even) {
	float: right;
}
section.content article.main.page ul.service li:nth-last-child(-n + 2),
body.content ul.service li:nth-last-child(-n + 2) {
	margin-bottom:0;
}
section.content article.main.page ul.service li a,
body.content ul.service li a {
	color: #343333;
}
section.content article.main.single.page ul.service li a,
body.content.post-format-standard ul.service li a {
	text-decoration: none;
}
section.content article.main.page ul.service li .text h3,
body.content ul.service li .text h3 {
	font-size: 2.4rem;
	color: #2e425b;
	margin: 30px 0;
	padding:0;
	background: none;
}
section.content article.main.page ul.service li .text hr,
body.content ul.service li .text hr {
	margin: 0 auto 30px auto;
}
section.content article.main.page ul.service li .text span,
body.content ul.service li .text span {
	display:block;
}


/* --------------------------------------------- 会社概要 ------------------------------------------------ */

section.content article.main.page table.company,
section.content article.main.page div.recruit table,
body.content table.company,
body.content div.recruit table  {
	width:100%;
	margin:0;
	border-collapse:collapse;
}
section.content article.main.page table.company,
body.content table.company {
	margin-bottom: 50px;
}
section.content article.main.page table.company th,
section.content article.main.page table.company td,
section.content article.main.page div.recruit table th,
section.content article.main.page div.recruit table td,
body.content table.company th,
body.content table.company td,
body.content div.recruit table th,
body.content div.recruit table td {
	padding: 20px 30px;
	vertical-align: middle;
	border:1px solid #d9e1e6;
}
section.content article.main.page table.company th,
section.content article.main.page div.recruit table th,
body.content table.company th,
body.content div.recruit table th {
	background-color: #d9e1e6;
	text-align: center;
}
section.content article.main.page table.company tr:not(:last-child) th,
section.content article.main.page div.recruit table tr:not(:last-child) th,
body.content table.company tr:not(:last-child) th,
body.content div.recruit table tr:not(:last-child) th {
	border-bottom-color: #fff;
}
section.content article.main.page table.company td ul,
section.content article.main.page table.company td ul li,
body.content table.company td ul,
body.content table.company td ul li {
	margin: 0;
	padding: 0;
	list-style: none;
}

section.content article.main.page a.access,
body.content a.access {
	display: block;
}
section.content article.main.page .map h3,
body.content .map h3 {
	margin: 0 auto;
	color: #2e425b;
	text-align:center;
	line-height: 100%;
	background: none;
}
section.content article.main.page .map h3 ,
section.content article.main.page .map h3 + hr,
body.content .map h3,
body.content .map h3 + hr {
	font-size: 2.4rem;	
}
section.content article.main.page .map h3 + hr,
section.content article.main.page .map h3 span,
body.content .map h3 + hr,
body.content .map h3 span {
	border: none;
	border-bottom: 1px solid #091f2f;
	margin: 0 auto 30px auto;
	display: block;
	width: 3em;
}
section.content article.main.page .map .map_main,
body.content .map .map_main {
	height: 560px;
}
section.content article.main.page .map .map_main iframe,
body.content .map .map_main iframe {
	height: 100%;
}
section.content article.main.page .map a[href],
body.content .map a[href] {
	display:block;
	margin: 30px auto 0 auto;
	width: 380px;
	text-align:center;
	padding: 15px 0;
	font-size: 2.0rem;
	background-color: #111c3a;
	color:#fff;
	text-decoration: none;
}
section.content article.main.page .map a:hover,
body.content .map a:hover {
	background-color: #776a28;
}

/* --------------------------------------------- エキスパート ------------------------------------------------ */

section.content article.main.page ul.expert,
body.content ul.expert {
	margin: -80px 0 0 0;
	padding: 20px 0 0 0;
	list-style: none;
}
section.content article.main.page ul.expert li,
body.content ul.expert li {
	margin: 120px 0 0 40px;
	padding: 50px 60px 60px 310px;
	position: relative;
	background-color: #f1f1f1;
}

.expert_list_nonimg {
    padding: 60px 100px 60px 100px !important;
}

section.content article.main.page ul.expert li .img,
body.content ul.expert li .img {
	position: absolute;
	width:300px;
	height:300px;
	top: -60px;
	left: -40px;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
	padding: 10px;
	background-color:#fff;
	display:block;
}
section.content article.main.page ul.expert li .img img,
body.content ul.expert li .img img {
	max-height: 100%;
	max-width: 100%;
}
section.content article.main.page ul.expert li h3,
body.content ul.expert li h3 {
	margin:0;
	padding:0;
	font-size: 1.5rem;
	font-weight:normal;
	color: #2e425b;
	background: none;
}
section.content article.main.page ul.expert li h3 span,
body.content ul.expert li h3 span {
	font-size: 2.0rem;
	font-weight:bold;
	display:block;
}
section.content article.main.page ul.expert li h3 span.alphabet,
body.content ul.expert li h3 span.alphabet {
	display:inline;
}
section.content article.main.page ul.expert li hr,
body.content ul.expert li hr {
	clear:both;
	margin: 20px 0;
}
section.content article.main.page ul.expert li dl,
section.content article.main.page ul.expert li dl dd,
body.content ul.expert li dl,
body.content ul.expert li dl dd {
	margin: 0;
	padding: 0;
	clear: both;
}
section.content article.main.page ul.expert li dl dt,
body.content ul.expert li dl dt {
	display:none;
}
section.content article.main.page ul.expert li .qualification,
body.content ul.expert li .qualification {
	padding: 20px;
	background-color: #fff;
	margin: 10px 0 0 0;
}
section.content article.main.page ul.expert li .qualification h4,
body.content ul.expert li .qualification h4 {
	margin: 0;
	font-size: 1.5rem;
	padding-top: 3px;
	padding-bottom: 0;
}
section.content article.main.page ul.expert li .qualification ul,
body.content ul.expert li .qualification ul {
	margin: 10px 0 0 23px;
	padding: 0;
	list-style:none;
}
section.content article.main.page ul.expert li .qualification ul li,
body.content ul.expert li .qualification ul li {
	margin:0;
	padding:0;
	background:none;
	font-size: 1.3rem;
}
section.content article.main.page div.recruit table,
body.content div.recruit table {
	margin-top:40px;
}

/* --------------------------------------------- 採用情報 ------------------------------------------------ */

section.content article.main.page h2.recruit,
body.content h2.recruit {
	text-align:center;
	color: #2e425b;
	margin: 0;
	line-height: 150%;
	border: none;
}
section.content article.main.page h2.recruit,
section.content article.main.page h2.recruit + hr,
body.content h2.recruit,
body.content h2.recruit + hr {
	font-size:2.4rem;
}
section.content article.main.page h2.recruit + hr,
body.content h2.recruit+ hr {
	border: none;
	border-bottom: 1px solid #2e425b;
	margin: -6px auto 0 auto;
}
section.content article.main.page h2.recruit.text5 + hr,
body.content h2.recruit.text5 + hr { 
	width: 6.5em;
}
section.content article.main.page h2.recruit.text14 + hr,
body.content h2.recruit.text14 + hr	{ 
	width: 15.5em;
}

section.content article.main.page div.recruit,
body.content div.recruit {
	margin: 50px 0 100px 0;
}
section.content article.main.page div.recruit h3,
body.content div.recruit h3 {
	color: #2e425b;
	font-size: 2.2rem;
	letter-spacing: 0.05em;
	margin: 40px 0 30px 0;
	background: none;
}
section.content article.main.page div.recruit hr,
body.content div.recruit hr {
	width: 115px;
	margin: 0 0 30px 0;
	border-bottom-width:1px;
}
section.content article.main.page div.recruit p,
body.content div.recruit p {
	clear: both;
}
section.content article.main.page div.ssl,
body.content div.ssl {
	text-align: center;
	padding: 20px 0;
	background-color: #f0f0f0;
	font-size: 1.8rem;
	font-weight:bold;
}
section.content article.main.page iframe.recruit,
body.content iframe.recruit {
	height: 510px;
}

/* --------------------------------------------- お問い合わせ ------------------------------------------------ */

section.content article.main.page .contact a,
body.content .contact a {
	text-decoration: underline;
}
section.content article.main.page .contact iframe,
body.content .contact iframe {
	height: 615px;
}


/* ----------------------------------------------------------------------
 Contactform - お問い合わせフォーム new_2019-12-17
---------------------------------------------------------------------- */
/* new 送信　2021-11-25*/

input[type="submit"] {
    -webkit-appearance:none;
    border-radius:0;
    vertical-align:middle;
    text-align:center;
}

.wpcf7 { width:100%; background:#ffffff; padding:0; margin:0 0 2.5em !important; font-size:14px;}
.wpcf7 form{ margin:1.5em 1.5em 5em;}
.wpcf7 p { margin-bottom:1em; font-size:12px; }
.wpcf7 input, .wpcf7 textarea { width:auto; -moz-box-sizing: border-box; box-sizing: border-box; width:100%; border:1px solid #ccc; line-height:1.2; padding:8px;  }
.wpcf7 select, .wpcf7 input[type=checkbox], .wpcf7 input[type=radio] { width:auto; max-width:97%; border:1px solid #ccc; padding:8px; }
.wpcf7 select, .wpcf7 .wpcf7-list-item-label { line-height:1.2; font-size:14px; }
.wpcf7-list-item { display:block; }
.wpcf7 textarea { height:300px; }
.wpcf7 input:focus, .wpcf7 textarea:focus { outline:none; border:1px solid #bbb; -webkit-box-shadow:inset 0 0 5px rgba(0, 0, 0, 0.2); box-shadow:inner 0 0 5px rgba(0, 0, 0, 0.5); }
.wpcf7 input.wpcf7-submit { position:relative; display:block; width:225px; height:48px; margin:30px auto 0; background-color:#009688; cursor:pointer; border:none !important; color:#fff; text-align:center; text-decoration:none; font-size:14px; line-height:1.5; outline:none; -webkit-transition: all .3s; transition: all .3s; }
.wpcf7 input.wpcf7-submit, .wpcf7 input.wpcf7-submit::before, .wpcf7 input.wpcf7-submit::after { -webkit-box-sizing:border-box; -moz-box-sizing:border-box; box-sizing:border-box; }
.wpcf7 input.wpcf7-submit:hover { background-color:#009688b0; }
.wpcf7 .wpcf7-not-valid { background:pink; }
.wpcf7 .wpcf7-response-output { margin:10px 0 0; padding:8px 35px 8px 14px; -webkit-border-radius:4px; -moz-border-radius:4px; border-radius:4px; }
.wpcf7 .wpcf7-validation-errors { color:#B94A48; background-color:#F2DEDE; border:1px solid #EED3D7; }
.wpcf7 .wpcf7-mail-sent-ok { color:#3A87AD; background-color:#D9EDF7; border:1px solid #BCE8F1; }
.required-contactform7{
	font-size: 0.8em;
	margin-left: 5%;
	color: #063376;
}

/* new チェックボックス　2021-11-25*/

.form-checkbox-list .wpcf7-list-item{
    display: block !important;
}

.form-checkbox-list input[type=checkbox] {
	width:			16px;
	height:			16px;
/*	-moz-transform:		scale(1.4);
	-webkit-transform:	scale(1.4);
	transform:		scale(1.4);*/
}

.form-checkbox-list .wpcf7-list-item-label {
    vertical-align: super;
}

/* --------------------------------------------- プライバシーポリシー ------------------------------------------------ */


section.content article.main.page .privacy ol,
body.content .privacy ol {
	margin: 40px 0 50px 0;
	padding: 10px 0 0 1.5em;
	border-top: 1px solid #dce0e3;
}

section.content article.main.page .privacy ol li,
body.content .privacy ol li {
	margin: 30px 0;
	padding: 0;
}

/* --------------------------------------------- サイトマップ ------------------------------------------------ */

section.content article.main ul.sitemap,
body.content ul.sitemap {
	margin-left: auto;
	margin-right: auto;
	width: 800px;
	list-style: none;
	font-weight: bold;
}
section.content article.main ul.sitemap li,
body.content ul.sitemap li {
	margin: 20px 0;
	padding: 0;
}
section.content article.main ul.sitemap li a,
body.content ul.sitemap li a {
	text-decoration: none;
}
section.content article.main ul.sitemap li:before,
body.content ul.sitemap li:before {
	display: none;
}
section.content article.main ul.sitemap li ul,
body.content ul.sitemap li ul {
	margin: 10px 20px;
	padding: 0;
	font-weight: normal;
	list-style: none;
}
section.content article.main ul.sitemap li ul li,
body.content ul.sitemap li ul li {
	margin: 5px 0;
	padding: 0;
}
section.content article.main ul.sitemap li ul li:before,
body.content ul.sitemap li ul li:before {
	content: "－";
	display: inline-block;
}


/* --------------------------------------------- NEWS一覧ページ ------------------------------------------------ */
/* new 20200806 */
div.list article.category-news {
	display: flex;
	flex-direction: row;
	border-bottom: dotted 1px #ccc;
	padding-bottom: 30px;
}

div.list article.category-news .article_info {
	border-right: solid 1px #ccc;
	padding-right: 25px;
}

div.list article.category-news .article_ttl {
	padding-left: 25px;
	display: flex;
	flex-direction: row;
	align-items: center;
}


div.list article.category-news .article_info > span {
	display: block;
}

div.list article.category-news .news_category  {
	font-weight: bold;
	font-size: 1.2rem;
	text-align: center;
	width: 100px;
	line-height: 1;
	color: #fff;
	padding: 5px;
	margin-top: 10px;
}
