@charset "UTF-8";


/*** 会社情報 ***/
@media (max-width: 640px) {
#company-frame {
	width: 100%;
	background: #fff;
	padding: 0 0 15.6%;
}
#company-group {
}

#company-group #company-head {
	width: 89.6%;
	margin: 0 auto 1.4em;
}
#company-group #company-head h2 {
	font-size: 1.25rem;
	line-height: 1.0;
	letter-spacing: 0.1em;
}
#company-group #company-head p {
	overflow: hidden;
	height: 0px;
}

#company-group #company-box {
	width: 89.6%;
	margin: 0 auto;
}
#company-group #company-box .left-frame {
}
#company-group #company-box .left-frame #catch {
	display: none;
}
#company-group #company-box .left-frame #campus-map {
	background: #666;
	width: 100%;
	height: 360px;
}

#company-group #company-box .right-frame {
}
#company-group #company-box .right-frame dl {
	width: 100%;
	overflow: hidden;
	margin: 0 0 1.6em;
}
#company-group #company-box .right-frame dt {
	float: left;
	width: 6em;
	font-weight: normal;
	margin: 0 0 0.6em;
}
#company-group #company-box .right-frame dd {
	padding: 0 0 0 7.2em;
	margin: 0 0 0.6em;
}
#company-group #company-box .right-frame a {
	color: #000;
	text-decoration: none;
}
#company-group #company-box .right-frame .googlemap {
	display: none;
}
}

@media (min-width: 641px) {
#company-frame {
	width: 100%;
	background: #fff;
	padding: 0 0 120px;
}
#company-group {
}

#company-group #company-head {
	width: 1024px;
	margin: 0 auto 1.4em;
	-js-display: flex;
	display: flex;
	align-items: center;
}
#company-group #company-head h2 {
	font-size: 1.375rem;
	line-height: 1.0;
	letter-spacing: 0.1em;
	margin: 0 0.5em 0 0;
}
#company-group #company-head p {
	font-size: 0.625rem;
	line-height: 1.0;
}

#company-group #company-box {
	overflow: hidden;
	position: relative;
	zoom: 1;
	width: 1024px;
	margin: 0 auto;
}
#company-group #company-box .left-frame {
	float: left;
	width: 50%;
}
#company-group #company-box .left-frame #catch {
	width: 500px;
	margin: 0 0 28px;
}
#company-group #company-box .left-frame #campus-map {
	background: #666;
	width: 500px;
	height: 280px;
}

#company-group #company-box .right-frame {
	float: right;
	width: 50%;
	padding: 0 20px 0 0;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
}
#company-group #company-box .right-frame dl {
	width: 100%;
	font-size: 0.9375em;
	overflow: hidden;
	margin: 0 0 0.8em;
}
#company-group #company-box .right-frame dt {
	float: left;
	width: 7em;
	font-weight: normal;
	margin: 0 0 0.6em;
}
#company-group #company-box .right-frame dd {
	padding: 0 0 0 8em;
	margin: 0 0 0.6em;
}
#company-group #company-box .right-frame a {
	color: #000;
	text-decoration: none;
}
#company-group #company-box .right-frame .googlemap a {
	background: #000;
	color: #fff;
	line-height: 1.0;
	text-decoration: none;
	padding: 0.3em 0.8em 0.2em;
}
#company-group #company-box .right-frame .googlemap a:after {
	display: inline-block;
	content: "\f105";
	font-family: FontAwesome;
	font-size: 1.125em;
	text-decoration: none;
	padding: 0 0 0 0.5em;
	-webkit-transition: 0.3s;
	transition: 0.3s;
	backface-visibility: hidden; 
	-webkit-backface-visibility: hidden;
}
}


/*** 沿革 ***/
@media (max-width: 640px) {
#history-frame {
	width: 100%;
	background: #fff;
	padding: 0 0 15.6%;
}
#history-group {
}

#history-group #history-head {
	width: 89.6%;
	margin: 0 auto 1.4em;
}
#history-group #history-head h2 {
	font-size: 1.25rem;
	line-height: 1.0;
	letter-spacing: 0.1em;
}
#history-group #history-head p {
	overflow: hidden;
	height: 0px;
}

#history-group #history-box {
	width: 89.6%;
	margin: 0 auto;
}
#history-group #history-box .left-frame {
}
#history-group #history-box .left-frame #catch {
	margin: 0 0 1.6em;
}

#history-group #history-box .right-frame {
}
#history-group #history-box .right-frame dl {
	width: 100%;
	overflow: hidden;
	margin: 0 0 0.8em;
}
#history-group #history-box .right-frame dt {
	float: left;
	width: 5em;
	font-weight: normal;
	margin: 0 0 0.6em;
}
#history-group #history-box .right-frame dt:after {
	content: "：";
}
#history-group #history-box .right-frame dd {
	padding: 0 0 0 5em;
	margin: 0 0 0.6em;
}
#history-group #history-box .right-frame a {
	color: #000;
	text-decoration: none;
}
}

@media (min-width: 641px) {
#history-frame {
	width: 100%;
	background: #fff;
	padding: 0 0 120px;
}
#history-group {
}

#history-group #history-head {
	width: 1024px;
	margin: 0 auto 1.4em;
	-js-display: flex;
	display: flex;
	align-items: center;
}
#history-group #history-head h2 {
	font-size: 1.375rem;
	line-height: 1.0;
	letter-spacing: 0.1em;
	margin: 0 0.5em 0 0;
}
#history-group #history-head p {
	font-size: 0.625rem;
	line-height: 1.0;
}

#history-group #history-box {
	overflow: hidden;
	position: relative;
	zoom: 1;
	width: 1024px;
	margin: 0 auto;
}
#history-group #history-box .left-frame {
	float: left;
	width: 50%;
}
#history-group #history-box .left-frame #catch {
	width: 500px;
}

#history-group #history-box .right-frame {
	float: right;
	width: 50%;
	padding: 0 20px 0 0;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
}
#history-group #history-box .right-frame dl {
	width: 100%;
	font-size: 0.9375em;
	overflow: hidden;
	margin: 0 0 0.8em;
}
#history-group #history-box .right-frame dt {
	float: left;
	width: 4em;
	font-weight: normal;
	margin: 0 0 0.6em;
}
#history-group #history-box .right-frame dd {
	padding: 0 0 0 5em;
	margin: 0 0 0.6em;
}
#history-group #history-box .right-frame dd:before {
	content: "：";
}

#history-group #history-box .right-frame a {
	color: #000;
	text-decoration: none;
}
}


/*** 事業案内 ***/
@media (max-width: 640px) {
#section-frame {
	width: 100%;
	background: #fff;
	padding: 0 0 15.6%;
}
#section-group {
}

#section-group #section-head {
	width: 89.6%;
	margin: 0 auto 1.4em;
}
#section-group #section-head h2 {
	font-size: 1.25rem;
	line-height: 1.0;
	letter-spacing: 0.1em;
}
#section-group #section-head p {
	overflow: hidden;
	height: 0px;
}

#section-group #section-box {
	width: 89.6%;
	background: #e4e4e4;
	font-size: 0.9375em;
	text-align: center;
	margin: 0 auto;
}
#section-group #section-box-inner {
	overflow: hidden;
	position: relative;
	zoom: 1;
	width: 90%;
	padding: 2.8em 0;
	margin: 0 auto;
}
#section-group #section-box .section-unit {
	width: 46.2%;
	margin: 0 0 2.4em;
	position: relative;
}
#section-group #section-box .section-unit.last-unit {
	margin: 0;
}
#section-group #section-box .section-unit:nth-child(odd) {
	float: left;
}
#section-group #section-box .section-unit:nth-child(even) {
	float: right;
}
#section-group #section-box .section-unit:before {
	content: "";
	background: #000;
	width: 2px;
	height: 100%;
	position: absolute;
	left: 49%;
}
#section-group #section-box .section-unit:after {
	content: "";
	background: #e4e4e4;
	width: 2px;
	height: 100%;
	position: absolute;
	left: 49%;
}
#section-group #section-box .section-unit .head {
	background: #000;
	color: #fff;
	padding: 0.3em 0 0.2em;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	margin: 0 0 1.6em;
	position: relative;
	z-index: 2;
}
#section-group #section-box .section-unit.last-unit .head {
	margin: 0;
}
#section-group #section-box .section-unit .team {
	background: #fff;
	color: #000;
	padding: 0.4em;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	margin: 0 0 30px;
	position: relative;
	z-index: 2;
}
#section-group #section-box .section-unit .team:last-child {
	margin: 0;
}
}

@media (min-width: 641px) {
#section-frame {
	width: 100%;
	background: #fff;
	padding: 0 0 120px;
}
#section-group {
}

#section-group #section-head {
	width: 1024px;
	margin: 0 auto 1.4em;
	-js-display: flex;
	display: flex;
	align-items: center;
}
#section-group #section-head h2 {
	font-size: 1.375rem;
	line-height: 1.0;
	letter-spacing: 0.1em;
	margin: 0 0.5em 0 0;
}
#section-group #section-head p {
	font-size: 0.625rem;
	line-height: 1.0;
}

#section-group #section-box {
	width: 1024px;
	background: #e4e4e4;
	font-size: 0.9375em;
	text-align: center;
	margin: 0 auto;
}
#section-group #section-box-inner {
	overflow: hidden;
	position: relative;
	zoom: 1;
	width: 870px;
	padding: 40px 0 48px;
	margin: 0 auto;
}
#section-group #section-box .section-unit {
	float: left;
	width: 180px;
	margin: 0 50px 30px 0;
	position: relative;
}
#section-group #section-box .section-unit:before {
	content: "";
	background: #000;
	width: 2px;
	height: 100%;
	position: absolute;
	left: 89px;
}
#section-group #section-box .section-unit:after {
	content: "";
	background: #e4e4e4;
	width: 2px;
	height: 100%;
	position: absolute;
	left: 89px;
}
#section-group #section-box .section-unit:nth-child(4n) {
	margin: 0;
}
#section-group #section-box .section-unit.last-unit {
	margin: 0 50px 0 0;
	/* margin: -2.44em 50px 0 0; */
}
#section-group #section-box .section-unit .head {
	background: #000;
	color: #fff;
	padding: 0.5em 0;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	margin: 0 0 30px;
	position: relative;
	z-index: 2;
}
#section-group #section-box .section-unit.last-unit .head {
	margin: 0;
}
#section-group #section-box .section-unit .team {
	background: #fff;
	color: #000;
	padding: 0.4em;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	margin: 0 0 30px;
	position: relative;
	z-index: 2;
}
#section-group #section-box .section-unit .team:last-child {
	margin: 0;
}
}


/*** 社会貢献 ***/
@media (max-width: 640px) {
#social-frame {
	width: 100%;
	background: #fff;
	padding: 0 0 15.6%;
}
#social-group {
}

#social-group #social-head {
	width: 89.6%;
	margin: 0 auto 1.4em;
}
#social-group #social-head h2 {
	font-size: 1.25rem;
	line-height: 1.0;
	letter-spacing: 0.1em;
}
#social-group #social-head p {
	overflow: hidden;
	height: 0px;
}

#social-group #social-box {
	width: 89.6%;
	margin: 0 auto;
}
#social-group #social-box .left-frame {
}
#social-group #social-box .left-frame #catch {
	margin: 0 0 1.6em;
}

#social-group #social-box .right-frame {
}
#social-group #social-box .right-frame p {
	line-height: 2.0;
	margin: 0 0 1.6em;
}
#social-group #social-box .right-frame dl {
	overflow: hidden;
	margin: 0 0 0.8em;
}
#social-group #social-box .right-frame dt {
	clear: left;
	float: left;
	font-weight: normal;
	margin: 0 0 0.2em;
}
#social-group #social-box .right-frame dd {
	float: left;
	margin: 0 0 0.2em;
}
#social-group #social-box .right-frame dd:before {
	content: "：";
}
#social-group #social-box .right-frame a {
	color: #000;
	text-decoration: none;
}
}

@media (min-width: 641px) {
#social-frame {
	width: 100%;
	background: #fff;
	padding: 0 0 120px;
}
#social-group {
}

#social-group #social-head {
	width: 1024px;
	margin: 0 auto 1.4em;
	-js-display: flex;
	display: flex;
	align-items: center;
}
#social-group #social-head h2 {
	font-size: 1.375rem;
	line-height: 1.0;
	letter-spacing: 0.1em;
	margin: 0 0.5em 0 0;
}
#social-group #social-head p {
	font-size: 0.625rem;
	line-height: 1.0;
}

#social-group #social-box {
	overflow: hidden;
	position: relative;
	zoom: 1;
	width: 1024px;
	margin: 0 auto;
}
#social-group #social-box .left-frame {
	float: left;
	width: 50%;
}
#social-group #social-box .left-frame #catch {
	width: 500px;
}

#social-group #social-box .right-frame {
	float: right;
	width: 50%;
	padding: 0 20px 0 0;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
}
#social-group #social-box .right-frame p {
	width: 100%;
	font-size: 0.9375em;
	line-height: 2.0;
	margin: 0 0 1.6em;
}
#social-group #social-box .right-frame dl {
	width: 100%;
	font-size: 0.9375em;
	overflow: hidden;
	margin: 0 0 0.8em;
}
#social-group #social-box .right-frame dt {
	clear: left;
	float: left;
	width: 18em;
	font-weight: normal;
	margin: 0 0 0.2em;
}
#social-group #social-box .right-frame dd {
	float: left;
	margin: 0 0 0.2em;
}
#social-group #social-box .right-frame dd:before {
	content: "：";
}
#social-group #social-box .right-frame a {
	color: #000;
	text-decoration: none;
}
}
