/*
Theme Name: テクノエコ
Description: 株式会社テクノエコ用
Author: Arrows-yoshi
*/

@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&display=swap");
* {margin: 0; padding: 0; box-sizing: border-box;}
body,html {height: 100%;}
body{
	font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
	font-weight: 400;
	color: #333;
	font-size: 15px;
	-webkit-font-smoothing: antialiased;
	min-width: auto;
	overflow-x: hidden;
}
@media screen and (max-width: 767px) {
	body {
		min-width: auto;
	}
}

a {
	text-decoration: none;
	transition: color 0.2s, background-color 0.2s, border-color 0.2s;
	color: #fff;
	font-weight: 700;
}

a:link,a:visited {
	/*color: #333;*/
}
main a:hover {
	opacity: .8;
	transition: all .2s;
	color: #000;
}
/*a:hover img{
	opacity: .6;
	transition: all .2s;
}*/
img {
	height: auto;
	max-width: 100%;
}
ul,ol,li {
	list-style: none;
}

.em {
	font-weight: bold;
}

.flex {
	display: flex;
}
.flex.wrap {
	display: flex;
	flex-wrap: wrap;
}
.flex.center {
	display: flex;
	justify-content: center;
}
.flex.between {
	display: flex;
	justify-content: space-between;
}
.flex.around {
	display: flex;
	justify-content: space-around;
}
.flex.itmc {
	display: flex;
	align-items: center;
}

.sp {
	display: none !important;
}

@media only screen and (max-width: 767px) {
	.md {
		display: block !important;
	}
	.wide {
		display: none !important;
	}
	.flex.rev {
		flex-direction: column-reverse;
	}
}
@media only screen and (max-width: 375px) {
	.sp {
		display: block !important;
	}
}


/* header
----------------------------------------- */
#header {
	width: 100%;
	/*background: transparent;*/
	background: #fff;
	transition: all 0.2s;
}
@media screen and (max-width: 1105px) {
	#header {
		top: 0;
		left: 0;
		position: fixed;
		width: 100%;
		transition: all 0.2s;
		/*height: 58px;*/
		z-index: 4;
	}
}

#header .logo {
	padding: 15px 15px 0 10px;
	height: 100px;
	display: flex;
	justify-content: space-between;
}
#header .logo .navbar-brand {
	margin-top: 0px;
	margin-left: 0px;
	display: block;
	text-indent: 150%;
	overflow: hidden;
	white-space: nowrap;
	background: url(../images/logo.svg) no-repeat;
	background-size: 100% auto;
	width: 300px;
	height: 70px;
	padding: 0px;
}
@media screen and (max-width: 1105px) {
	#header .logo {
		padding: 5px 0 0 10px;
		height: 58px;
	}
	#header .logo .navbar-brand {
		background-size: cover;
		width: 214px;
		height: 50px;
		margin: 0;
	}
}

#header .md {
	display: none;
}
#header .wide {
	align-self: flex-end;
	padding-bottom: 1em;
}
#header .arrowBtn02 {
	padding: .25em .5em .3em;
	font-size: 90%;
	letter-spacing: 1px;
}

@media only screen and (max-width: 1105px) {
	#header .md {
		display: block !important;
	}
	#header .wide{
		display: none !important;
	}
}


/*--------------------------------------------------------------
	gnav：min-width: 1106px
---------------------------------------------------------------- */
@media (min-width: 1106px) {
	.gnav {
		background: #282828;
	}
	body.fixed .gnav {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		z-index: 2;
	}
	.gnav {
		display: block !important;
	}
	.navilist {
		position: relative;
		width: 100%;
		height: 40px;
		margin: 0 auto;
		max-width: 1400px;
		display: flex;
		justify-content: space-around;
	}
	.navilist > li {
		cursor: pointer;
		width: 100%;
		height: 40px;
		line-height: 40px;
		text-align: center;
	}
	.navilist > li a {
		display: block;
		color: #eee;
	}
	.navilist > li a:hover,
	.gnav .current-menu-item,
	.gnav .current-page-ancestor {
		color: #ff0;
		background: #777;
	}
	.gnav ul.navilist > li:first-child {
		background: none;
	}
	ul.second-level {
	    visibility: hidden;
	    opacity: 0;
	    z-index: 1;
	}
	.navilist > li:hover {
		background: #777;
		-webkit-transition: all .5s;
		transition: all .5s;
	}
	.second-level li {
	    border-top: 1px solid #111;
	}
	.second-level li a:hover {
	    background: #111;
	}

	/* 下矢印 */
	.mega_menu > a:after {
		content: '';
		display: inline-block;
		width: 6px;
		height: 6px;
		margin: 0 0 5px 10px;
		 border-right: 1px solid #fff;
		border-bottom: 1px solid #fff;
		-webkit-transform: rotate(45deg);
		-ms-transform: rotate(45deg);
		transform: rotate(45deg);
	}

	/* floatクリア */
	.navilist:before,
	.navilist:after {
	    content: " ";
	    display: table;
	}
	.navilist:after {
	    clear: both;
	}
	.navilist {
	    *zoom: 1;
	}

	/* メガメニュー */
	li.mega_menu ul.second-level {
		position: absolute;
		top: 40px;
		left: 0;
		box-sizing: border-box;
		width: 100%;
		padding: 20px 2%;
		background: #ccc;
		-webkit-transition: all .2s ease;
		transition: all .2s ease;
	}
	li.mega_menu:hover ul.second-level {
		top: 40px;
		visibility: visible;
		opacity: 1;
	}
	li.mega_menu ul.second-level > li {
	    float: left;
	    width: 32%;
	    border: none;
	}
	li.mega_menu ul.second-level > li:nth-child(3n+2) {
	    margin: 0 1%;
	}
	li.mega_menu ul.second-level > li a {
	    color: #000;
	}
	li.mega_menu ul.second-level > li a:hover {
		color: #ff0;
	}
	.navilist i,
	.menu-toggle {
		display: none;
	}
}



/*--------------------------------------------------------------
	gnav：max-width: 1105px
---------------------------------------------------------------- */
@media screen and (max-width: 1105px) {
	.gnav {
		border-bottom: 2px solid #009239;
	}
	.menu-toggle,
	.menu-toggle span {
		display: inline-block;
		transition: all .4s;
		box-sizing: border-box;
	}
	.menu-toggle {
		outline: none;
		z-index: 1000;
		position: fixed;
		top: 0;
		right: 0;
		display: block !important;
		float: none;
		padding: 0;
		margin: 0;
		border: 0;
		width: 62px;
		height: 58px;
		z-index: 1001;
		background: #009239;
	}
	.menu-toggle span {
		position: absolute;
		left: 15%;
		width: 70%;
		height: 4px;
		background-color: #fff;
		border-radius: 4px;
	}
	.menu-toggle span:nth-of-type(1) {
		top: 12px;
	}
	.menu-toggle span:nth-of-type(2) {
		top: 26px;
	}
	.menu-toggle span:nth-of-type(3) {
		bottom: 12px;
	}

	#toggle span:nth-of-type(1) {
		animation: bar01 .75s forwards;
	}
	@keyframes bar01 {
		0% { transform: translateY(20px) rotate(45deg); }
		50% { transform: translateY(16px) rotate(0); }
		100% { transform: translateY(0) rotate(0); }
	}
	#toggle span:nth-of-type(2) {
		transition: all .25s .25s;
		opacity: 1;
	}
	#toggle span:nth-of-type(3) {
		animation: bar03 .75s forwards;
	}
	@keyframes bar03 {
		0% { transform: translateY(-14px) rotate(-45deg); }
		50% { transform: translateY(-14px) rotate(0); }
		100% { transform: translateY(0) rotate(0); }
	}

	#toggle.active span:nth-of-type(1) {
		animation: active-bar01 .75s forwards;
	}
	@keyframes active-bar01 {
		0% { transform: translateY(0) rotate(0); }
		50% { transform: translateY(16px) rotate(0); }
		100% { transform: translateY(18px) rotate(45deg); }
	}
	#toggle.active span:nth-of-type(2) {
		opacity: 0;
	}
	#toggle.active span:nth-of-type(3) {
		animation: active-bar03 .75s forwards;
	}
	@keyframes active-bar03 {
		0% { transform: translateY(0) rotate(0); }
		50% { transform: translateY(-14px) rotate(0); }
		100% { transform: translateY(-14px) rotate(-45deg); }
	}

	.navilist {
		display: none;
		position: absolute;
		background: #fff;
		left: 0;
		top: 58px;
		z-index: 5;
		width: 100%;
		box-sizing: border-box;
		height: calc(100vh - 58px);
		overflow: auto;
		padding: 0 0px;
	}
	.navilist li {
		border-top: 1px solid rgba(0, 146, 57, 0.5);
	}
	.navilist li a {
		padding: 20px 15px;
		color: #eee;
		display: block;
		font-size: 16px;
		font-weight: normal;
		text-decoration: none;
		position: relative;
		/*border-bottom: 1px solid #000;*/
		position: relative;
		background-color: #282828;
	}
	.navilist li a:after {
		position: absolute;
		right: 25px;
		content: "\f054";
		font-family: "Font Awesome 5 Free";
		font-weight: bold;
		font-size: 15px;
		top: 50%;
		transform: translateY(-50%);
	}
	.navilist li.mega_menu > a:after {
		display: none;
	}
	.navilist li.mega_menu > a i {
		position: absolute;
		right: 0;
		font-size: 15px;
		top: 0;
		width: 60px;
		height: 65px;
		text-align: center;
		line-height: 65px;
	}
	.navilist li.mega_menu > a.active i::before {
		content: "\f068";
	}
	.navilist li.mega_menu ul {
		display: none;
	}
	.navilist li.mega_menu .second-level {
		background: #fff;
		padding: 0 20px;
	}
	.navilist li.mega_menu .second-level li {
		border-top: 1px solid #000;
	}
	.navilist li.mega_menu .second-level a {
		color: #000;
		padding: 20px 0px 20px 0;
		background-color: #fff;
	}
	.navilist li.mega_menu .second-level li:first-child {
		border-top: none;
	}
}



body.fixed .wrapper {
	padding-top: 40px;
}
@media screen and (max-width: 1105px) {
	.wrapper {
		padding-top: 58px;
		overflow: hidden;
	}
}


/*--------------------------------------------------------------
	common
---------------------------------------------------------------- */
main div.container:nth-of-type(2n+1) {
	background: #e7f1f3;
}
main#aboutus div.container:nth-of-type(2n+1),
main#msg div.container:nth-of-type(2n+1),
main#env div.container:nth-of-type(2n+1) {
	background: none;
}
main#aboutus div.container:nth-of-type(2n) {
	background: #e7f1f3;
}

.container {
	padding-bottom: 60px;
}
.container h1 {
	background: #282828;
	text-align: center;
	color: #fff;
	font-size: 28px;
	padding: .2em 0;
}
.container h1 span {
	display: block;
	font-size: 18px;
	font-weight: normal;
	letter-spacing: 1px;
}

.inner {
	max-width: 1400px;
	margin: 0 auto;
}

@media screen and (max-width: 767px) {
	.inner {
		width: 100%;
		padding: 0;
	}
}

.container p {
	line-height: 1.8;
}


/* btn
----------------------------------------- */
.arrowBtn {
	background: #009742;
	border: 1px solid #fff;
	border-radius: 8px;
	padding: .5em .8em;
	overflow: hidden;
}
.arrowBtn02 {
	background: #009742;
	border-radius: 8px;
	padding: .5em 5em;
}
.arrowBtn::after,
.arrowBtn02::before {
	content: "\f101";
	font-family: "Font Awesome 5 Free";
}
.arrowBtn::after {
	padding-left: .3em;
}
.arrowBtn02::before {
	padding-right: .3em;
}


.sqBtn {
	background: #009742;
	border-radius: 3px;
	padding: .5em 1em;
	font-size: 18px;
}
@media screen and (max-width: 767px) {
	.sqBtn {
		font-size: 16px;
	}
}


/* mainpht
----------------------------------------- */
#mainpht {
	text-align: center;
}
#mainpht .h1unit {
	margin: 55px auto 34px;
}
#mainpht .h1unit p {
	margin: 1em 0;
	font-size: 28px;
	font-family: Georgia, Times, Times New Roman, serif;
	letter-spacing: 10px;
}
#mainpht h1 {
	font-size: 42px;
}
#mainpht h1 span {
	border-top: 5px solid #009742;
	padding-left: 10px;
	padding-right: 10px;
	padding-top: 6px;
}


/*--------------------------------------------------------------
	top
---------------------------------------------------------------- */
.topcnt {
}
.topcnt #mainpht {
	background: url(../images/pht_main.jpg) no-repeat top center;
	background-size: cover;
	opcity: 40%;
	min-height: 798px;
	color: #000;
	text-align: center;
}
.topcnt #mainpht .phtbg {
	min-height: 798px;
	background-color: rgba(255, 255, 255, 0.6);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
.topcnt #mainpht h1 {
	width: 40vw;
	height: auto;
}
.topcnt #mainpht h2 {
	margin-top: 1em;
	font-family: "游明朝","Yu Mincho",YuMincho;
	font-size: 2.8rem;
	line-height: 1.6;
	text-shadow: 2px 2px 0 #fff;
}
.topcnt #mainpht p {
	margin-top: 1em;
	font-size: 20px;
	line-height: 1.6;
	text-shadow: 1px 1px 0 #fff;
}
@media screen and (max-width: 767px) {
	.topcnt #mainpht h1 {
		width: 60vw;
	}
	.topcnt #mainpht h2,
	.topcnt #mainpht p {
		padding-left: 1em;
		padding-right: 1em;
	}
}

.topcnt .phtbg02 {
	background: url(../images/bg_pht.jpg) no-repeat center bottom;
	background-size: cover;
	color: #000;
	text-align: center;
}
.topcnt .phtbg02 p {
	font-family: "游明朝","Yu Mincho",YuMincho;
	font-size: 1.6rem;
	line-height: 1.8;
	text-shadow: 2px 2px 0 #fff;
	margin: 0 auto;
	padding: 2em 1em;
}
@media screen and (max-width: 767px) {
	.topcnt .phtbg02 p {
		font-size: 1.2rem;
		padding: 1em;
	}
}

.topcnt .phtbg03 {
	background: url(../images/bg_pht02.jpg) no-repeat center bottom;
	background-size: cover;
	padding-bottom: 2em;
	position: relative;
}
.topcnt .phtbg03 h1 {
	background: #282828;
	text-align: center;
	padding: .2em 1em;
	margin-bottom: 1em;
	color: #fff;
}
.topcnt .phtbg03 .figunit + p {
	font-size: 1.4rem;
	font-weight: bold;
	text-align: center;
	color: #000;
	text-shadow: 1px 2px 0 #ccc;
	padding: 1em 1em 0;
}


.topcnt .phtbg03 .svg {
	transform:rotate(90deg);
	position: absolute;
	top: 35%;
	left: calc(50% - 100px);
}
.topcnt .phtbg03 .svg02 {
	position: absolute;
	bottom: 18.7%;
	left: calc(50% - 2px);
	height: 278px;
}

.topcnt .phtbg03 .circle {
	fill: #fff;
	fill-opacity: 0.3;
	stroke: #fff;
	stroke-width: 3px;
	stroke-dasharray: 628px;
	stroke-dashoffset: 628px;
	animation: circle 5s forwards;
}
@keyframes circle {
	to {
		stroke-dashoffset: 0;
	}
}


.topcnt .figunit div {
	width: 50%;
	height: 30em;
	position: relative;
	color: #fff;
}
/*@keyframes leaf {
	0% { opacity: 0; }
	100% { opacity: 1; }
}*/
.topcnt .figunit div:nth-child(1) {
	background: rgba(0,156,69,0.5);
	border-radius: 10% 90%;
	margin-right: -5em;
	margin-bottom: -5em;
	/*animation: leaf 1s ease-in-out .5s 1 normal forwards;*/
}
.topcnt .figunit div:nth-child(2) {
	background: rgba(212,75,93,0.6);
	border-radius: 90% 10%;
	margin-left: -5em;
	margin-bottom: -5em;
	/*animation: leaf 1s ease-in-out 1s 1 normal forwards;*/
}
.topcnt .figunit div:nth-child(3) {
	background: rgba(15,73,149,0.5);
	border-radius: 90% 10%;
	margin-right: -5em;
	margin-top: -5em;
	/*animation: leaf 1s ease-in-out 1.5s 1 normal forwards;*/
}
.topcnt .figunit div:nth-child(4) {
	background: rgba(245,165,0,0.5);
	border-radius: 10% 90%;
	margin-left: -5em;
	margin-top: -5em;
	/*animation: leaf 1s ease-in-out 2s 1 normal forwards;*/
}

.topcnt .figunit div:nth-child(1) dl {
	position: absolute;
	top: 6em;
	left: 18%;
}
.topcnt .figunit div:nth-child(2) dl {
	position: absolute;
	top: 10em;
	left: 40%;
}
.topcnt .figunit div:nth-child(3) dl {
	position: absolute;
	bottom: 8em;
	left: 20%;
}
.topcnt .figunit div:nth-child(4) dl {
	position: absolute;
	bottom: 10em;
	left: 35%;
}


.topcnt .figunit dt {
	font-size: 1.8rem;
	font-weight: bold;
	text-shadow: 1px 2px 0 #000;
	margin-left: -.8em;
}
.topcnt .figunit dd {
	text-shadow: 1px 1px 0 #000;
}
.topcnt .figunit dd li {
	list-style: disc outside;
	margin-left: 2em;
}

.topcnt .figunit02 li {
	width: 30%;
	background: rgba(255,255,255,0.7);
	text-align: center;
	padding: 1em;
	border-radius: 20px;
	margin-top: 2em;
}
.topcnt .figunit02 li a {
	color: #000;
	font-weight: normal;
}
.topcnt .figunit02 li a:hover {
	color: #666;
}
.topcnt .figunit02 li p {
	font-size: 1.4rem;
	font-weight: bold;
	text-shadow: 1px 1px 0 #ccc;
}

.topcnt .figunit02 span {
	text-shadow: 0 0 0;
}


@media screen and (max-width: 1024px) {
	.topcnt .phtbg03 .svg02 {
		bottom: 20.2%;
	}
}

@media screen and (max-width: 767px) {
	.topcnt .phtbg03 .svg,
	.topcnt .phtbg03 .svg02 {
		display: none;
	}
	.topcnt .phtbg03 .figunit + p {
		text-align: left;
		padding: 0 1em 1em;
	}
	.topcnt .figunit div,
	.topcnt .figunit02 li {
		width: 94%;
		position: relative;
	}
	.topcnt .figunit div:nth-child(1),
	.topcnt .figunit div:nth-child(2),
	.topcnt .figunit div:nth-child(3),
	.topcnt .figunit div:nth-child(4) {
		border-radius: 10px;
		margin: 0 1.5em 1.5em;
		height: 12em;
	}
	.topcnt .figunit div:nth-child(1) dl,
	.topcnt .figunit div:nth-child(2) dl,
	.topcnt .figunit div:nth-child(3) dl,
	.topcnt .figunit div:nth-child(4) dl {
		position: absolute;
		top: 1.2em;
		left: 2em;
	}
	.topcnt .figunit dd li {
		padding-left: .5em;
	}
	.topcnt .figunit02 li {
		border-radius: 10px;
		margin: 0 1em .8em 1em;
	}
}

.topcnt .container h1 {
	font-family: Georgia, Times, Times New Roman, serif;
	letter-spacing: 1px;
}




/*--------------------------------------------------------------
	aboutus
---------------------------------------------------------------- */
.message {
	width: 65%;
	padding: 2em 1em 0;
	text-align: left;
}
.message p {
	margin-bottom: 1em;
}
.message p:last-child {
	text-align: right;
	margin-top: 2em;
	padding-right: 1em;
}
.message p img {
	vertical-align: bottom;
}

.msgpht {
	width: 35%;
	text-align: center;
}
.msgpht img {
	max-height: 400px;
}
@media screen and (max-width: 767px) {
	.message,
	.msgpht {
		width: 100%;
	}
	.msgpht {
		margin-top: 2em;
	}
	.msgpht img {
		max-height: 300px;
	}
}

.about {
	padding-top: 1.4em;
	text-align: left;
}
.about div {
	width: 48%;
}
@media screen and (max-width: 767px) {
	.about div {
		width: 100%;
	}
}
.about h2 {
	background: #30aa69;
	color: #fff;
	font-size: 24px;
	margin-top: 1em;
	padding: .25em .5em;
}
.about dl {
	display: flex;
	margin: .5em 0;
	padding: .25em .5em;
	line-height: 1.8;
}

.about dl:nth-of-type(2n) {
	background: #f8f2e4;
}
.about div dt {
	min-width: 6em;
}
.about div + div dt {
	min-width: 12em;
}

.about dl dl {
	display: block;
	margin: 0;
	padding: 0;
	line-height: 1.8;
}
.about dl dl:nth-of-type(2n) {
	background: none;
}
.about dl dl dd {
	margin-left: 2em;
}
@media screen and (max-width: 767px) {
	.about dl {
		display: block;
	}
	.about dd {
		padding-left: 1em;
	}
	.about dl dl dd {
		margin-left: 1em;
	}
}


/*--------------------------------------------------------------
	works survey
---------------------------------------------------------------- */
.container .worksUnit,
.container .surveyUnit {
	/*padding-bottom: 2em;*/
}
.container .worksUnit div,
.container .surveyUnit div {
	width: 30%;
	margin-top: 2em;
	border-radius: 20px;
	text-align: center;
	/*align-items: center;*/
	min-height: 14em;
}
.container .worksUnit div:nth-child(1) {
	background: url(../images/works/dw/pht_001.jpg) no-repeat top center;
}
.container .worksUnit div:nth-child(2) {
	background: url(../images/works/erw/pht_001.jpg) no-repeat top center;
}
.container .worksUnit div:nth-child(3) {
	background: url(../images/works/giw/pht_001.jpg) no-repeat top center;
}
.container .worksUnit div:nth-child(4) {
	background: url(../images/works/uor/pht_001.jpg) no-repeat top center;
}
.container .worksUnit div:nth-child(5) {
	padding-top: 4em;
}
.container .worksUnit div:nth-child(6) {
	background: url(../images/works/cew/pht_001.jpg) no-repeat top center;
}

.container .surveyUnit div:nth-child(1) {
	background: url(../images/survey/rw/pht_001.jpg) no-repeat top center;
}
.container .surveyUnit div:nth-child(2) {
	background: url(../images/survey/ssm01/pht_001.jpg) no-repeat top center;
}
.container .surveyUnit div:nth-child(3) {
	background: url(../images/survey/gs/pht_001.jpg) no-repeat top center;
}

.container .worksUnit div div.bgpht,
.container .surveyUnit div div.bgpht {
	width: 100%;
	height: 100%;
	padding: 2em 0;
	margin: 0;
	background: rgba(255, 255, 255, 0.7);
}

.container .worksUnit div h2,
.container .surveyUnit div h2 {
	border-top: 3px double #000;
	border-bottom: 3px double #000;
	text-shadow: 1px 1px 0 #fff;
	margin: 0 1.35em;
	padding: .25em 0;
}
.container .worksUnit div ul {
}
.container .worksUnit div li,
.container .surveyUnit div li {
	margin-top: 1.6em;
}
.container .worksUnit div h1,
.container .surveyUnit div h1 {
	background: none;
	margin-top: 1em;
}


@media only screen and (max-width: 1105px) {
	.container .worksUnit div,
	.container .surveyUnit div {
		width: 45%;
		margin: 2em auto 0;
	}
	.container .worksUnit div:nth-child(5) {
		display: none;
	}
}
@media only screen and (max-width: 540px) {
	.container .worksUnit div,
	.container .surveyUnit div {
		width: 90%;
	}
}

.container .inner > p {
	margin-top: 2em;
	padding-left: 1em;
	padding-right: 1em;
}

.container .inner .boxlavel {
	margin-top: 2.5em;
}
.container .inner .boxlavel li {
	background: #0056a6;
	margin: 0 .5em .5em;
	padding: .5em .8em;
	border-radius: 8px;
	color: #fff;
	text-align: center;
	align-self: center;
}

.container .col-3 dl,
.container .col-3 li {
	flex-basis: 33.3%;
	text-align: center;
}
.container .col-3 dl {
	padding: 2em 1em 0;
}
.container .col-3 li {
	padding: 2em 1em 0;
}

.container .col-2 dl,
.container .col-2 li {
	padding: 2em 1em 1em;
	flex-basis: 50%;
	text-align: center;
}

.container .col-3 dt,
.container .col-3 p,
.container .col-2 dt,
.container .col-2 p {
	position: relative;
	overflow: hidden;
	padding-top: 75%;
	/*background: #ccc;
	margin-bottom: .5em;*/
}
.container .col-3 dd,
.container .col-2 dd {
	padding-top: .5em;
}

.container .col-3 img,
.container .col-2 img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: 100%;
	height: 100%;
    object-fit: cover;
}

@media screen and (max-width: 767px) {
	.container .col-3 dl,
	.container .col-3 li,
	.container .col-2 li {
		width: 100%;
	}
}

.container .inner .lnkindex {
	margin: 5em auto 0;
	text-align: center;
}


/*--------------------------------------------------------------
	access
---------------------------------------------------------------- */
/*.container .inner .mapPht {
	padding: 3em 1em 1em;
}*/

.container .inner iframe {
	max-width: 1400px;
	/*width: 100%;*/
	max-height: 500px;
}
@media screen and (max-width: 767px) {
	.container .inner iframe {
		/*width: 100%;*/
		height: 300px;
	}
}
.container .inner .mapTxt {
	padding: 1.5em;
	border-bottom: 1px dashed #ccc;
}
.container .inner .mapTxt:first-child {
	margin-top: 1.5em;
}
.container .inner .mapTxt:last-child {
	border: none;
}
.container .inner .mapTxt dl {
	width: 100%;
	padding-top: .25em;
	line-height: 1.6;
}

.container .inner .mapTxt dt span {
	font-family: 'Georgia';
	font-size: 20px;
	color: #004c7d;
	font-weight: normal;
	letter-spacing: 2px;
}
.container .inner .mapTxt dt {
	font-family: "游明朝","Yu Mincho",YuMincho;
	font-size: 38px;
	color: #004c7d;
	font-weight: bold;
	letter-spacing: 5px;
	line-height: 1.2;
}


@media screen and (max-width: 767px) {
	.container .inner .mapTxt {
		padding-left: 1em;
		padding-right: 1em;
		/*padding: 3em 1em 0;*/
	}
	.container .inner .mapTxt dl {
		margin-bottom: 1em;
	}
}

.container iframe {
	margin-top: 3em;
}


/*--------------------------------------------------------------
	recruit
---------------------------------------------------------------- */
#recruit .container {
	margin-bottom: 0;
	padding-bottom: 5em;
}

#recruit .container.bgc  {
	background: #e7f1f3;
}
#recruit .container h1 {
	font-size: 28px;
	font-family: 'Georgia';
	letter-spacing: 5px;
}

#recruit .lead {
	padding-top: 1em;
	font-size: 120%;
	text-align: center;
}
@media screen and (max-width: 767px) {
	#recruit .lead {
		font-size: 110%;
		padding: 1em;
		text-align: left;
	}
}

@media screen and (max-width: 600px) {
	#recruit .wide {
		display: none !important;
	}
}


/* main
----------------------------------------- */
#recruit #mainimg {
	background: url(../images/recruit/bg_bar.jpg) repeat-x top left;
}
#recruit #bgpht {
	color: #fff;
	background: url(../images/recruit/bg_pht.jpg) no-repeat bottom right;
	padding: 3em 1.5em 0;
	height: 610px;
}

#recruit #bgpht h1 {
	margin-bottom: 1.5em;
}
#recruit #bgpht h1 img {
	width: 40vw;
}
#recruit #bgpht p {
	font-size: 22px;
	line-height: 1.6;
	letter-spacing: 1px;
}

@media screen and (max-width: 1099px) {
	#recruit #bgpht {
		background: url(../images/recruit/bg_pht_s.jpg) no-repeat bottom right;
		background-size: cover;
		height: 500px;
	}
}
@media screen and (max-width: 767px) {
	#recruit #bgpht h1 {
		margin-bottom: .5em;
		text-align: center;
	}
	#recruit #bgpht h1 img {
		width: 80vw;
	}
	#recruit #bgpht p {
		font-size: 16px;
	}
}
@media screen and (max-width: 540px) {
	#recruit #bgpht {
		height: 420px;
	}
}


/* icnunit
----------------------------------------- */
#recruit .bgc {
	/*background: rgba(0,86,166,0.6);*/
	padding-bottom: 2em;
}
#recruit .icnunit {
}
#recruit .icnunit div {
	display: flex;
	width: 50%;
	padding: 2em 2em 0;
	color: #fff;
}
#recruit .icnunit p {
	width: 160px;
	text-align: center;
}
#recruit .icnunit p img {
	width: 80px;
}
#recruit .icnunit dl {
	width: 520px;
	margin: 0;
	padding-left: 1em;
}
#recruit .icnunit dt {
	font-family: "游明朝","Yu Mincho",YuMincho;
	font-size: 20px;
	font-weight: bold;
	padding-bottom: .3em;
}

@media screen and (max-width: 767px) {
	#recruit .icnunit div {
		width: 100%;
		padding: 2em 2em 0;
	}
}


/* number
----------------------------------------- */
#recruit #bgnum {
	background: url(../images/recruit/bg_num.jpg) no-repeat center bottom;
	background-size: cover;
	padding: 0 1em 3em;
}
#recruit #bgnum h1 {
	position: relative;
	font-family: "游明朝","Yu Mincho",YuMincho;
	font-size: 28px;
	line-height: 1;
	color: #000;
	text-align: center;
	margin-top: 1em;
	margin-bottom: 1em;
	padding: 0.5em 1em;
	border-top: solid 2px #000;
	border-bottom: solid 2px #000;
	background: #2c9ad7;
	background: linear-gradient(to right,  #2c9ad7 0%,#ffffff 50%,#2c9ad7 100%);
}
#recruit #bgnum h1:before,
#recruit #bgnum h1:after {
	content: '';
	position: absolute;
	top: -7px;
	width: 2px;
	height: -webkit-calc(100% + 14px);
	height: calc(100% + 14px);
	background-color: black;
}
#recruit #bgnum h1:before {
	left: 7px;
}
#recruit #bgnum h1:after {
	right: 7px;
}

#recruit #bgnum h1 span {
	font-size: 15px;
}

#recruit .numunit {
	justify-content: center;
}
#recruit .numunit div {
	width: 30%;
	text-align: center;
	/*flex-basis: 22.6%;*/
	background: rgba(255,255,255,0.8);
	padding: 1em 2em;
	margin: 0 1em 2em;
}
#recruit .numunit div span {
	color: #227fc4;
	border-bottom: 1px solid #227fc4;
	line-height: 2;
	padding-left: .25em;
	padding-right: .25em;
}
#recruit .numunit h3 {
	color: #227fc4;
	font-family: "游明朝","Yu Mincho",YuMincho;
	font-size: 28px;
	font-weight: bold;
	letter-spacing: 1px;
}
#recruit .numunit h3 strong {
	font-family: 'Times New Roman';
	font-size: 52px;
	font-style: italic;
}

#recruit .numunit h3 + p {
	color: #227fc4;
	padding-bottom: .5em;
}
#recruit .numunit div p + p {
	text-align: left;
	font-size: 14px;
	color: #333;
}

#recruit .numunit div:nth-of-type(2n) span {
	color: #000;
	border-bottom: 1px solid #000;
}
#recruit .numunit div:nth-of-type(2n) h3,
#recruit .numunit div:nth-of-type(2n) h3 + p {
	color: #000;
}

@media screen and (max-width: 946px) {
	#recruit .numunit div {
		width: 45%;
	}
}
@media only screen and (max-width: 767px) {
	#recruit .numunit div {
		width: calc(100% - 2em);
	}
}



/* message
----------------------------------------- */
#recruit .msgunit div {
	position: relative;
	flex-basis: 40%;
	color: #fff;
	text-align: center;
	padding-top: 2em;
}
#recruit .msgunit dl {
	position: absolute;
	width: 100%;
	left: 0;
	bottom: 7px;
	background: rgba(0,15,54,0.8);
	padding: 1em 0;
	font-family: "游明朝","Yu Mincho",YuMincho;
}
#recruit .msgunit dt {
	font-size: 18px;
}
#recruit .msgunit dd {
	margin-top: .5em;
}
#recruit .msgunit dd span {
	font-size: 80%;
	font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
}

@media screen and (max-width: 767px) {
	#recruit .msgunit div {
		/*padding: 0 2em 2em;*/
		width: 80%;
		margin: 0 auto;
	}
}


/* lower page
--------------------------------------------- */
#recruit .msg01 {
	background: url(../images/recruit/bg_msg01.jpg) no-repeat left top;
	background-size: cover;
}
#recruit .msg02 {
	background: url(../images/recruit/bg_msg03.jpg) no-repeat left top;
	background-size: cover;
}
#recruit .msgtxt {
	width: 50%;
	margin-left: 50%;
	padding: 2em;
	background: rgba(0,15,54,0.8);
	color: #fff;
}
#recruit .msgtxt .h1bar {
	background: #fff;
	color: #000f36;
	text-align: center;
}
#recruit .msgtxt .h1bar h1 {
	background: #fff;
	color: #000f36;
	font-family: "游明朝","Yu Mincho",YuMincho;
}
#recruit .msgtxt .h1bar span {
	display: inline;
	font-size: 20px;
	font-weight: bold;
	letter-spacing: 0;
}
#recruit .msgtxt .h1bar p {
	border-top: 1px solid #333;
	padding: .5em;
}

#recruit .msgtxt div.h1bar + p {
	font-family: "游明朝","Yu Mincho",YuMincho;
	font-size: 180%;
	letter-spacing: 1px;
	padding: 2em 0 1em;
}
#recruit .msgtxt p + p {
	line-height: 1.6;
}
#recruit .msgtxt dl {
	padding-top: 3em;
}
#recruit .msgtxt dt {
	font-size: 120%;
}
#recruit .msgtxt dd {
	padding-top: 1em;
	text-align: center;
}

@media screen and (max-width: 767px) {
	#recruit .msg01 {
		background: #000f36 url(../images/recruit/bg_msg01s.jpg) no-repeat center top;
		/*background-size: cover;*/
		padding-top: 60vh;
	}
	#recruit .msg02 {
		background: #000f36 url(../images/recruit/bg_msg03s.jpg) no-repeat center top;
		padding-top: 60vh;
	}
	#recruit .msgtxt {
		width: 100%;
		margin-left: 0;
	}
	#recruit .msgtxt div.h1bar + p {
		font-size: 160%;
		padding: 1em 0;
	}
}

#recruit .fig {
	margin: 2em auto 0;
	color: #fff;
}
#recruit .fig dl {
	width: 200px;
	height: 550px;
}
#recruit .fig dt {
	font-size: 18px;
	padding: 0 1em .5em;
	text-align: center;
}
#recruit .fig dd {
	font-size: 14px;
	text-align: left;
	padding: 0 0.5em 0 1em;
}
#recruit .fig dl:nth-of-type(1) {
	padding-top: 22em;
	background-image: url(../images/recruit/txt_1.svg), url(../images/recruit/fig_path01.png);
	background-position: 94% 98%,center bottom;
	background-size: 52% auto,auto auto;
	background-repeat: no-repeat,no-repeat;
}
#recruit .fig dl:nth-of-type(2) {
	padding-top: 20em;
	background-image: url(../images/recruit/txt_3.svg), url(../images/recruit/fig_path02.png);
	background-position: 94% 98%,center bottom;
	background-size: 52% auto,auto auto;
	background-repeat: no-repeat,no-repeat;
}
#recruit .fig dl:nth-of-type(3) {
	padding-top: 16em;
	background-image: url(../images/recruit/txt_5.svg), url(../images/recruit/fig_path03.png);
	background-position: 94% 98%,center bottom;
	background-size: 65% auto,auto auto;
	background-repeat: no-repeat,no-repeat;
}
#recruit .fig dl:nth-of-type(4) {
	padding-top: 12em;
	background-image: url(../images/recruit/txt_10.svg), url(../images/recruit/fig_path04.png);
	background-position: 94% 98%,center bottom;
	background-size: 52% auto,auto auto;
	background-repeat: no-repeat,no-repeat;
}

@media screen and (max-width: 767px) {
	#recruit .fig {
		margin-top: 0;
	}
}
@media screen and (max-width: 540px) {
	#recruit .fig dl:nth-of-type(1),
	#recruit .fig dl:nth-of-type(2),
	#recruit .fig dl:nth-of-type(4) {
		background-position: center 98%,center bottom;
		background-size: 70% auto,auto auto;
	}
	#recruit .fig dl:nth-of-type(3) {
		background-position: center 98%,center bottom;
		background-size: 90% auto,auto auto;
	}
}
@media screen and (max-width: 415px) {
	#recruit .fig dt {
		font-size: 16px;
		padding: 0 .5em .5em;
	}
	#recruit .fig dd {
		font-size: 12px;
		padding: 0 0.1em 0 .5em;
	}
}

#recruit .qa div {
	width: 70%;
	margin: 0 auto;
	padding: 2em 0 0;
}
#recruit .qa div > p {
	list-style: decimal-leading-zero;
	font: italic bold 32px /1.6 'Times New Roman';
	text-align: center;
	color: #004c7d;
	border-bottom: 1px solid #004c7d;
	border-top: 1px solid #004c7d;
}
#recruit .qa dl {
	padding: 1em;
}
#recruit .qa dt {
	font-family: "游明朝","Yu Mincho",YuMincho;
	color: #004c7d;
	font-size: 18px;
	font-weight: bold;
}
@media screen and (max-width: 767px) {
	#recruit .qa div {
		width: 90%;
	}
}

.timeunit {
	display: flex;
	padding: 0 0 2em;
	width: 60%;
	margin: 0 auto;
	background: url(../images/recruit/bar.gif) repeat-y left top;
}
.timeunit p {
	height: 70px;
	width: 70px;
	border-radius: 50%;
	line-height: 70px;
	text-align: center;
	background: #004c7d;
	color: #fff;
	font-size: 18px;
}
.timeunit img {
	height: 40px;
	margin-right: .5em;
	vertical-align: text-bottom;
}
.timeunit dl {
	margin-left: 2em;
}
.timeunit dt {
	font-size: 24px;
	font-weight: bold;
	color: #004c7d;
	padding: .5em 0;
}
.timeunit:first-of-type {
	margin-top: 2em;
}
.timeunit:last-child {
	background: none;
}
.timeunit .indent {
	padding-top: 5em;
	margin-bottom: -2em;
}

@media screen and (max-width: 767px) {
	.timeunit {
		width: 90%;
	}
}
@media screen and (min-width: 540px) {
	.timeunit .spblock {
		display: none !important;
	}
}


/* recreation
----------------------------------------- */
#recruit .slide {
	padding-top: .5em;
}

#recruit .recreunit {
	width: 60%;
	margin: 0 auto;
	padding: 2em 0;
}
#recruit .recreunit ul {
	display: flex;
}
#recruit .recreunit li {
	text-align: center;
	width: 50%;
	padding: 0 .5em;
}
#recruit .recreunit p {
	padding: 0 1em;
}
@media screen and (max-width: 767px) {
	#recruit .recreunit {
		width: 80%;
	}
}


/* office
----------------------------------------- */
#recruit .office {
	padding-top: 3em;
}
#recruit .txtunit {
	padding: .5em 1em 2em;
}
#recruit .txtunit span {
	font-family: 'Georgia';
	font-size: 20px;
	color: #004c7d;
	letter-spacing: 2px;
}
#recruit .txtunit h2 {
	font-family: "游明朝","Yu Mincho",YuMincho;
	font-size: 38px;
	color: #004c7d;
	font-weight: bold;
	letter-spacing: 5px;
}
#recruit .txtunit h2 + p {
	font-family: "游明朝","Yu Mincho",YuMincho;
	margin-bottom: 2em;
	font-weight: bold;
}
@media screen and (max-width: 767px) {
	#recruit .txtunit {
		padding: 0 1em 2em;
	}
	#recruit .txtunit h2 + p {
		margin-bottom: .5em;
	}
}


/* top message
----------------------------------------- */
#recruit .premsg {
	padding: 2em 1em;
}
#recruit .premsg div {
	width: 80%;
}
#recruit .premsg p {
	padding-bottom: 1em;
}
#recruit .premsg p:first-child {
	font-size: 32px;
	line-height: 1.4;
	font-family: "游明朝","Yu Mincho",YuMincho;
	font-weight: bold;
}
#recruit .premsg dl {
	text-align: center;
}
#recruit .premsg img {
	padding-top: .25em;
}

@media screen and (max-width: 767px) {
	#recruit .premsg {
	}
	#recruit .premsg p:first-child {
		font-size: 24px;
	}
	#recruit .premsg div {
		width: 100%;
		padding: 2em 1em 0;
	}
	#recruit .premsg dl {
		padding-bottom: 2em;
	}
}


/*--------------------------------------------------------------
	enviroment products
---------------------------------------------------------------- */
#env .txts a {
	color: #009742;
}

.container .envUnit {
	padding-top: 2em;
}
.container .envUnit h2 {
	border-top: 3px double #000;
	border-bottom: 3px double #000;
	text-shadow: 1px 1px 0 #fff;
	margin: 1.5em .25em 1em;
	padding: .25em 0;
	text-align: center;
}
.container .envUnit li {
	margin: .5em 0;
}

.container .envUnit .txts {
	padding: 0 1em;
}
.container .envUnit .txts p + p {
	margin: 1em 0 2em;
}
.container .envUnit .txts ul {
	background: #e7f1f3;
	box-shadow: 0px 0px 0px 5px #e7f1f3;
	border: dashed 2px #000;
	padding: .25em .5em;
	margin-bottom: 2em;
	text-align: center;
	line-height: 1.4;
}

.container .envUnit .txts + div {
	padding-top: 1em;
	margin-left: auto;
	margin-right: auto;
}
.container .envUnit table {
	margin: 0 0 .25em;
	border-collapse: collapse;
	border-top: 1px solid #000;
	border-left: 1px solid #000;
}
.container .envUnit .txts table {
	margin-left: auto;
	margin-right: auto;
}
.container .envUnit .case table {
	width: 100%;
}
.container .envUnit th,
.container .envUnit td {
	border-right: 1px solid #000;
	border-bottom: 1px solid #000;
	padding: .5em .8em;
}
.container .envUnit th {
	text-align: left;
	font-weight: normal;
}
.container .envUnit table + p {
	font-size: 90%;
	text-align: center;
}
.container .envUnit .txts dl,
.container .txts dl {
	text-align: center;
}
.container .envUnit .txts dl img,
.container .txts dl img {
	max-width: 450px;
}
.container .txts dl {
	margin: 2em 3em 0;
}

.container .movie {
	padding: 0 2em;
}

.container .envUnit h2 + p {
	padding: 0 .25em 1em;
}
#aqua .envUnit h2 + p {
	font-size: 18px;
	font-weight: bold;
	color: #00a8f3;
}

.container .envUnit.stp dl {
	width: 100%;
	padding: 0 1em;
	margin: 2em 10% 4em;
}
.container .envUnit.stp dt {
	font-size: 20px;
	font-weight: bold;
	border-bottom: 3px dashed #009742;
	padding: 0 1em .5em;
	margin-bottom: .5em;
}
.container .envUnit.stp dd {
	padding: 0 1em;
}
.container .envUnit.stp li,
.container .envUnit .case li,
.container .envUnit .exp li {
	padding-left: 1em;
	text-indent: -1em;
}

.container #exm dl {
	border: 2px solid #000;
	border-radius: 10px;
	padding: .5em;
	margin: 1em 3% 0;
	text-align: center;
}
.container #exm dt {
	font-size: 18px;
}
.container #exm img {
	width: 80%;
}
.container #exm div {
	text-align: center;
	padding-top: .5em;
}
.container #exm p,
.container #exm h3,
.container #exm ul {
	padding: 0 1em;
}

.container .envUnit .figUnit {
	background: #fcfbfd;
	padding: 1em;
	margin-bottom: 1em;
}
.container .envUnit .figUnit > p {
	padding-right: 1em;
}
.container .envUnit .figUnit p + p {
	padding-top: 1em;
	text-align: right;
}
.container .envUnit .figUnit p + p img {
	width: 90%;
}
.container .envUnit .figUnit dl {
	padding-left: 1em;
	padding-right: 1em;;
}
.container .envUnit .figUnit dt {
	padding-bottom: .5em;
	font-size: 120%;
	text-align: center;
}
.container .envUnit .figUnit dd img {
	border: 1px solid #000;
}

.container .envUnit .phtUnit dl {
	padding: .5em;
}
.container .envUnit .phtUnit dt {
	margin-bottom: .25em;
	font-weight: bold;
}

.container .featureUnit h2 {
	font-size: 22px;
	color: #010079;
	padding: 0.5em;
	text-align: center;
	border: 1px solid #333;
	background: -webkit-repeating-linear-gradient(-45deg, #cce7ff, #cce7ff 3px,#e9f4ff 3px, #e9f4ff 7px);
	background: repeating-linear-gradient(-45deg, #cce7ff, #cce7ff 3px,#e9f4ff 3px, #e9f4ff 7px);
	margin: 1.5em 0 1em;
}
.container .featureUnit .num {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
}
.container .featureUnit .num li,
.container .featureUnit h3 {
	background: #00a8f3;
	color: #fff;
	font-weight: bold;
	text-shadow: 0 0 5px #000;
}
.container .featureUnit .num li {
	font-size: 18px;
	padding: .8em 2em;
	border: 2px solid #010079;
	border-radius: 10px;
}
.container .featureUnit h3 {
	font-size: 20px;
	padding: .5em 2em;
	margin: 2em 0 .8em;
	text-align: center;
}

.container .featureUnit .bg {
	background: #fcfbfd;
}
.container .featureUnit .bg ul {
	padding-right: 1em;
}

.container .featureUnit span {
	color: #f89730;
	font-weight: bold;
}
.container .featureUnit li img {
	padding-left: 1em;
}
.container .featureUnit ul + ul {
	width: 40%;
}
.container .featureUnit ul + ul li {
	margin-bottom: .5em;
}
.container .featureUnit h3 + p {
	font-size: 18px;
	text-align: center;
	margin: 0 auto 1em;
}
.container .featureUnit p + ul {
	padding-right: 1em;
}
.container .featureUnit .bg:last-child p {
	text-align: center;
	padding: 0 1em;
}
.container .featureUnit .bg .small {
	color: #333;
	font-size: 90%;
	font-weight: normal;
}

.container .envUnit .case div {
	width: 50%;
	padding: 0 1em;
	margin-bottom: 2em;
}
.container .envUnit .case h3,
.container .envUnit .exp h3 {
	border-top: 2px solid #000;
	border-bottom: 2px solid #000;
	padding: .25em;
	font-size: 22px;
	text-align: center;
}
.container .envUnit .case h3 + ul li,
.container .envUnit .exp h3 + p {
	font-weight: bold;
	font-size: 18px;
}
.container .envUnit .case h3 + ul li span ,
.container .envUnit .exp h3 + p span,
.container .envUnit .exp td span  {
	color: #de1e79;
}
.container .envUnit .case h3 + ul + p {
	background: #cef3fb;
	padding: .5em;
	margin-bottom: .5em;
	text-align: center;
}
.container .envUnit .case th {
	background: #00a8f3;
	color: #fff;
	font-weight: normal;
}
.container .envUnit .case th span {
	font-size: 70%;
}
.container .envUnit .case td {
	text-align: center;
}
.container .envUnit .case .bg {
	background: #cef3fb;
}
.container .envUnit .case li,
.container .envUnit .exp li {
	font-size: 90%;
}
.container .envUnit .case ul + ul li,
.container .envUnit .exp td span.small {
	font-size: 80%;
}

.container .envUnit .exp h3 + p {
	text-align: center;
	margin: .5em 0 1em;
}
.container .envUnit .exp img {
	width: 80%;
}
.container .envUnit .exp table {
	width: auto;
}
.container .envUnit .exp th {
	font-weight: normal;
	text-align: left;
}
.container .envUnit .exp td {
	text-align: right;
	padding-right: 3em;
}
.container .envUnit .exp tr:last-child td {
	padding-right: .8em;
}
.container .envUnit .exp td span {
	font-weight: bold;
}
.container .envUnit .exp td span.small {
	color: #333;
	font-weight: normal;
}


@media screen and (max-width: 1105px) {
	.container .envUnit {
		display: block !important;
	}
	.container .envUnit .txts {
		width: 100%;
	}
	.container .envUnit.stp dl {
		width: 100%;
		margin: 0 0 4em;
		padding: 0 1em;
	}
	.container .envUnit p.pht {
		text-align: center;
		margin-top: 2em;
	}
	.container #exm div + div {
		/*padding-top: 2em;*/
	}
	.container #exm div + div img {
		/*width: 100%;*/
	}
	.container .featureUnit .num li {
		padding: .8em 1em;
	}
	.container .featureUnit h3 + div {
		display: block;
	}
	.container .featureUnit div > ul {
		justify-content: space-between;
	}
	.container .featureUnit ul + ul {
		width: 100%;
		margin-top: 1em;
		padding-left: 1em;
	}

	.container .envUnit .case,
	.container .envUnit .case ul {
		display: block !important;
	}
	.container .envUnit .case h3 + ul li {
		text-align: center;
	}
	.container .envUnit .case div {
		width: 100%;
	}
}
@media screen and (max-width: 911px) {
	.container .envUnit .phtUnit {
		flex-wrap: wrap;
	}
}
@media screen and (max-width: 767px) {
	.container #exm div + div {
		padding-top: 2em;
	}
	.container .envUnit .exp p {
		text-align: center;
	}
	.container .envUnit .exp img {
		width: 60%;
		margin-bottom: 1em;
	}
	.container .envUnit .exp table {
		margin: 0 auto;
	}
	.container .envUnit .exp ul {
		padding-left: 5%;
		padding-right: 5%;
	}
}
@media screen and (max-width: 690px) {
	.container .featureUnit .num {
		margin-bottom: -2em;
	}	.container .featureUnit .num li {
		margin-bottom: .5em;
	}
}





/*--------------------------------------------------------------
	contact
---------------------------------------------------------------- */
.frmTbl {
	max-width: 610px;
	margin: 2em auto 0;
}
div.frmTbl p:first-of-type {
	margin-bottom: 1em;
}
.frmTbl dl {
	display: table;
	margin: 0 0 10px;
	padding: 0;
	width: 100%;
}
.frmTbl dt,
.frmTbl dd {
	display: table-cell;
	padding: 4px 10px;
}
.frmTbl dt {
	background:#282828;
	color: #fff;
	width: 15em;
	vertical-align: middle;
}

@media (max-width: 600px) {
	.frmTbl {
		margin: 2em 1em 0;
	}
	.frmTbl dl {
		display:block;
	}
	.frmTbl dt {
		display:block;
		width: 100%;
	}
	.frmTbl dd {
		display:block;
		margin-left: 0;
		padding-left: 0;
		padding-right: 0;
	}
}
.frmBtn {
	margin-top: 30px;
	text-align:center;
}

.wpcf7 input,
.wpcf7 textarea {
	padding: .25em;
}
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 textarea {
	width: 100% !important;
}
.wpcf7 input[name="num-add"] {
	margin-bottom: 5px;
}
.wpcf7 input[type="submit"] {
	border-width: 1px;
	border-radius: 5px;
	padding: .25em 2em;
	font-size: 100%;
}
.wpcf7 form .wpcf7-response-output {
	margin-left: 0;
}
.wpcf7 form.sent {
	/*display: none;*/
}

.red {
	color: #f00;
}


/*--------------------------------------------------------------
	footer
---------------------------------------------------------------- */
#footer {
	border-top: 1px solid #000;
	width: 100%;
	/*margin-top: 10em;*/
	padding-top: 6em;
	text-align: center;
}
#footer dl {
	/*margin-bottom: 3em;
	padding: 0 3em;*/
}
#footer dt {
	font-size: 24px;
	line-height: 1.4;
	font-family: Georgia, Times, Times New Roman, serif;
	letter-spacing: 5px;
	padding-bottom: .5em;
}
#footer dl:nth-of-type(1) img {
	max-width: 400px;
	width: 100%;
	margin: 0 auto;
}

#footer dl:nth-of-type(2) {
	margin-top: 10rem;
	margin-bottom: 10rem;
}
#footer dl:nth-of-type(2) dt {
	padding-bottom: 1.6em;
}
#footer dd ul {
	max-width: 1000px;
	margin: 1rem auto;
	display: flex;
	justify-content: space-between;
}
#footer dd ul.active li {
	animation-name: fadeIn;
	animation-duration: 1s;
	animation-fill-mode: forwards;
	opacity: 0;
}

@keyframes fadeIn {
	from {
		opacity: 0;
		transform: translateY(2rem);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}
#footer dd ul.active li:nth-child(1){ animation-delay: .2s; }
#footer dd ul.active li:nth-child(2){ animation-delay: .3s; }
#footer dd ul.active li:nth-child(3){ animation-delay: .4s; }
#footer dd ul.active li:nth-child(4){ animation-delay: .5s; }
#footer dd ul.active li:nth-child(5){ animation-delay: .6s; }
#footer dd ul.active li:nth-child(6){ animation-delay: .7s; }

@media screen and (max-width: 767px) {
	#footer dd ul {
		flex-wrap: wrap;
	}
	#footer dd li {
		width: 33%;
		margin-bottom: 2rem;
	}
}
@media only screen and (max-width: 576px) {
	#footer dd li {
		margin-bottom: 0;
	}
	#footer dd li img {
		height: 70%;
	}
}

#footer .copy {
	padding: 2em 0;
	/*margin-top: 6em;*/
	background: #E3D3A0;
}


/*--------------------------------------------------------------
	pagetop
---------------------------------------------------------------- */
#pagetop {
	position: fixed;
	bottom: 20px;
	right: 20px;
	font-size: 80%;
}
#pagetop a {
	background: #01913C;
	text-decoration: none;
	color: #fff;
	width: 100px;
	padding: 16px 0;
	text-align: center;
	display: block;
	border-radius: 8px;
}
#pagetop a:hover {
	text-decoration: none;
	background: #3CB16D;
}

/*--------------------------------------------------------------
	404
---------------------------------------------------------------- */
.nfdunit {
	padding-top: 2em;
	text-align: center;
}
div.nfdunit p:first-of-type {
	margin-top: 1em;
	font-weight: bold;
	font-size: 24px;
}
