@charset "utf-8";

/*===== CSS RESET =====*/

html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,cite,code,del,dfn,img,ins,kbd,q,s,samp,strike,tt,var,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video,input,textarea,select{outline:none;border:0;font-size:100%;font:inherit;vertical-align:baseline;margin:0;padding:0}table{border-collapse:collapse;border-spacing:0}.clear{clear:both}.clearfix:after{content:" ";display:table;clear:both}.clearfix{*zoom:1}ul,ol{list-style:none;}*,*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}body *{max-height:99999em}body img{max-height:none}


/*===== COMMON =====*/
								
								a{
									word-break: break-all;
								}

html, body {
	width: 100%;
	min-height: 100%;
}
body {
	background: #FFF;
	font-size: 14px;
	line-height: 1.4;
	font-family: Meiryo, YuGothic, "Hiragino Kaku Gothic ProN", sans-serif;
	-webkit-text-size-adjust: none;
	color: #000000;
}

.ft_serif {
	font-family: "Hiragino Mincho Pro", Times, "Times New Roman", Georgia, serif;
}

a {
	color: #000;
	text-decoration: none;
}

.trans {
	opacity: 1;
}

.trans:hover {
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
	filter: alpha(opacity=80);
	-moz-opacity: .8;
	-khtml-opacity: .8;
	opacity: .8;
}

.container {
	width: 100%;
	min-width: 1060px;
}

.wrapper {
	width: 1060px;
	margin-left: auto;
	margin-right: auto;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

table,
table th,
table td {
	border-spacing: 0;
	border-collapse: collapse;
}

table th,
table td {
	vertical-align: middle;
	text-align: left;
	padding: 19px 5px 19px 20px;
}


/*===== FONT SIZE =====*/

@media (max-width: 640px) { body { font-size: 24px } }
@media (max-width: 635px) { body { font-size: 23.8125px } }
@media (max-width: 630px) { body { font-size: 23.625px } }
@media (max-width: 625px) { body { font-size: 23.4375px } }
@media (max-width: 620px) { body { font-size: 23.25px } }
@media (max-width: 615px) { body { font-size: 23.0625px } }
@media (max-width: 610px) { body { font-size: 22.875px } }
@media (max-width: 605px) { body { font-size: 22.6875px } }
@media (max-width: 600px) { body { font-size: 22.5px } }
@media (max-width: 595px) { body { font-size: 22.3125px } }
@media (max-width: 590px) { body { font-size: 22.125px } }
@media (max-width: 585px) { body { font-size: 21.9375px } }
@media (max-width: 580px) { body { font-size: 21.75px } }
@media (max-width: 575px) { body { font-size: 21.5625px } }
@media (max-width: 570px) { body { font-size: 21.375px } }
@media (max-width: 565px) { body { font-size: 21.1875px } }
@media (max-width: 560px) { body { font-size: 21px } }
@media (max-width: 555px) { body { font-size: 20.8125px } }
@media (max-width: 550px) { body { font-size: 20.625px } }
@media (max-width: 545px) { body { font-size: 20.4375px } }
@media (max-width: 540px) { body { font-size: 20.25px } }
@media (max-width: 535px) { body { font-size: 20.0625px } }
@media (max-width: 530px) { body { font-size: 19.875px } }
@media (max-width: 525px) { body { font-size: 19.6875px } }
@media (max-width: 520px) { body { font-size: 19.5px } }
@media (max-width: 515px) { body { font-size: 19.3125px } }
@media (max-width: 510px) { body { font-size: 19.125px } }
@media (max-width: 505px) { body { font-size: 18.9375px } }
@media (max-width: 500px) { body { font-size: 18.75px } }
@media (max-width: 495px) { body { font-size: 18.5625px } }
@media (max-width: 490px) { body { font-size: 18.375px } }
@media (max-width: 485px) { body { font-size: 18.1875px } }
@media (max-width: 480px) { body { font-size: 18px } }
@media (max-width: 475px) { body { font-size: 17.8125px } }
@media (max-width: 470px) { body { font-size: 17.625px } }
@media (max-width: 465px) { body { font-size: 17.4375px } }
@media (max-width: 460px) { body { font-size: 17.25px } }
@media (max-width: 455px) { body { font-size: 17.0625px } }
@media (max-width: 450px) { body { font-size: 16.875px } }
@media (max-width: 445px) { body { font-size: 16.6875px } }
@media (max-width: 440px) { body { font-size: 16.5px } }
@media (max-width: 435px) { body { font-size: 16.3125px } }
@media (max-width: 430px) { body { font-size: 16.125px } }
@media (max-width: 425px) { body { font-size: 15.9375px } }
@media (max-width: 420px) { body { font-size: 15.75px } }
@media (max-width: 415px) { body { font-size: 15.5625px } }
@media (max-width: 410px) { body { font-size: 15.375px } }
@media (max-width: 405px) { body { font-size: 15.1875px } }
@media (max-width: 400px) { body { font-size: 15px } }
@media (max-width: 395px) { body { font-size: 14.8125px } }
@media (max-width: 390px) { body { font-size: 14.625px } }
@media (max-width: 385px) { body { font-size: 14.4375px } }
@media (max-width: 380px) { body { font-size: 14.25px } }
@media (max-width: 375px) { body { font-size: 14.0625px } }
@media (max-width: 370px) { body { font-size: 13.875px } }
@media (max-width: 365px) { body { font-size: 13.6875px } }
@media (max-width: 360px) { body { font-size: 13.5px } }
@media (max-width: 355px) { body { font-size: 13.3125px } }
@media (max-width: 350px) { body { font-size: 13.125px } }
@media (max-width: 345px) { body { font-size: 12.9375px } }
@media (max-width: 340px) { body { font-size: 12.75px } }
@media (max-width: 335px) { body { font-size: 12.5625px } }
@media (max-width: 330px) { body { font-size: 12.375px } }
@media (max-width: 325px) { body { font-size: 12.1875px } }
@media (max-width: 320px) { body { font-size: 12px } }


/*===== RESPONSIVE =====*/

.sm {
	display: none !important;
}

@media (max-width:1059px) {
	.container {
		width: auto;
		min-width: 0;
	}
	.wrapper {
		width: auto;
		margin: 0;
		padding: 0 10px;
	}
}

@media (max-width: 640px) {

	.md {
		display: none !important;
	}
	.sm {
		display: block !important;
	}

	img {
		display: block;
		width: 100%;
		height: auto;
	}
	img.inline {
		display: inline;
		width: auto;
	}

	.trans {
		opacity: 1;
	}
	.trans:hover {
		-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
		filter: alpha(opacity=100);
		-moz-opacity: 1;
		-khtml-opacity: 1;
		opacity: 1;
	}



}


/*===== HEADER =====*/

header {
	padding-top: 15px;
}

header img {
	display: block;
}

header a {
	display: inline-block;
}

header h1.logo {
	margin-bottom: 11px;
}

header .ttl-head {
	font-size: 21.85px;
																																																																										background: #1d2088;
	color: white;
	display: block;
	padding: 35px 0px 37px 0px;
}

@media (max-width: 640px) {
	header h1.logo {
		width: 60%;
		margin-left: 5.46875%;
		margin-bottom: 1%;
	}
	header .ttl-head {
		font-size: 1.208333333333333em;
		padding: 4.7% 5.46875%;
	}
	header .wrapper {
		padding: 0;
	}
}


/*===== NAVIGATION =====*/

.navigation {}

@media (max-width: 640px) {
	.navigation {}
}


/*===== FOOTER =====*/

footer {
    text-align: center;
    font-size: 12px;
    padding: 42px 0;
																																																																										background: #1d2088;
    color: white;
}

@media (max-width: 640px) {
	footer {
		font-size: 0.9166666666666667em;
		padding: 5.47% 0;
	}
}


/*===== MAIN =====*/

.main {
	margin-top: 28px;
}

@media (max-width: 640px) {
	.main {}
}


/*===== PAGE: TOP =====*/

.page_top {}

h2.ttl-sec {
	font-size: 17px;
																																																																										color: #1d2088;
																																																																										border: 1px solid #1d2088;
	padding: 19px 28px;
}

section.established {
	padding-bottom: 49px;
}

.content-esta {
	padding: 35px 5px 0 26px;
}

.content-esta p {
	font-size: 16px;
}

.content-esta span {
	text-align: right;
	display: block;
	font-size: 16px;
	line-height: 1.647058823529412em;
	margin-top: 20px;
}

.mian-profile {
	padding: 43px 18px 40px 13px;
}

.mian-profile table {
	width: 100%;
	font-size: 16px;
	line-height: 1.625em;
	border-collapse: separate;
																																																																										border: 1px solid #1d2088;
	border-bottom: none;
}

.mian-profile table th {
																																																																										border-bottom: 1px solid #1d2088;
																																																																										border-right: 1px solid #1d2088;
																																																																										background: #d9d9f4;
	width: 25%;
}

.mian-profile table td {
																																																																										border-bottom: 1px solid #1d2088;
}

.mian-profile table td p span {
	display: inline-block;
	text-indent: -19px;
}

.mian-profile table td p {
	padding-left: 20px;
}

.mian-profile table td a {
																																																																										color: #000000;
}

.mian-profile table td.col02 {
	width: 38%;
																																																																										border-left: 1px solid #1d2088;
}

.main-business .img-logo {
	max-width: 100%;
	display: block;
	margin: 23px auto 43px;
}

.main-business .img-business {
	max-width: 100%;
	display: block;
	margin: 0 auto;
}

.icon-block img {
	display: block;
	margin: 0 auto;
}

.icon-block {
	margin: 6px 0;
}

.main-business {
	padding: 0 67px 27px;
}

.dev-support {
	background: #00883f;
	padding: 38px 35px 33px 31px;
}

.dev-support h3 {
	text-align: center;
	color: white;
	font-size: 28px;
}

.inner-dev {
	margin-top: 26px;
}

.dev-child {
	float: left;
	width: 47.92%;
	background: white;
	text-align: center;
	margin-right: 4.1%;
	padding-bottom: 28px;
}

.dev-child:last-child {
	margin-right: 0;
}

.dev-child .txt-dev {
	height: 240px;
	position: relative;
}

.dev-child .txt-dev p {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	display: table;
}

.dev-child .txt-dev p span {
	display: table-cell;
	vertical-align: middle;
	text-align: center;
	font-size: 21px;
	line-height: 1.33333333em;
}

.dev-child .txt-dev p span small {
	font-size: 15.8px;
}

.dev-child a {
	font-size: 21px;
	color: #0000FF;
}

.dev-child a:hover{
	opacity: 0.6;
}

.business-sup .dev-child {
	width: 100%;
	padding: 0;
}

.business-sup .dev-child .txt-dev {
	height: 295px;
}

.main-organization {
	padding: 20px 64px 0 70px;
}

.img-flow {
	background: white;
	position: relative;
	z-index: 9;
}

.img-flow img {
	display: block;
	margin: 0 auto;
	width: 51%;
}

.main-organization h3 {
	font-size: 26.53px;
	text-align: center;
																																																																										background: #1d2088;
	color: white;
	padding: 30px 0;
}

.part-map {
	float: left;
	width: 49.2%;
	word-break: break-word;
}

.block-map h4 {
	text-align: center;
	width: 100%;
	font-size: 26px;
	line-height: 1.423076923076923em;
	background: #74bd14;
	color: white;
	border: 3px solid #009043;
	padding: 10px 0;
	/* margin-bottom: 38px; */
	position: relative;
}

.inner-map-block {
	padding-left: 8%;
	padding-top: 8%;
}

.child-txt-map {
	padding-left: 9%;
	position: relative;
}

.child-txt-map:before {
	position: absolute;
	content: "";
	width: 100%;
	height: 2px;
																																																																										background: #1d2088;
	left: 0;
	top: 50%;
	margin-top: -1px;
}

.child-txt-map p {
	text-align: center;
	width: 100%;
	font-size: 26px;
	line-height: 1.423076923076923em;
	background: #74bd14;
	color: white;
																																																																										border: 3px solid #1d2088;
	padding: 10px 0;
	margin-bottom: 18px;
	position: relative;
}

.block-map {
	position: relative;
}

.block-map:before {
	position: absolute;
	content: "";
	width: 2px;
																																																																										background: #1d2088;
	height: 100%;
	left: 8%;
	margin-top: -11%;
}

.part-map.right-site {
	float: right;
	position: relative;
}

.right-site .block-map h4 {
																																																																										background: #1d2088;
}

.right-site .inner-map-block {
	padding-right: 0;
	padding-left: 0;
	width: 94%;
}

.right-site .child-txt-map {
	padding-right: 5%;
	padding-left: 0;
	overflow: hidden;
	background: white;
}

.right-site .child-txt-map p {
																																																																										background: #1d2088;
}

.right-site .block-map:before {
	left: auto;
	right: 50%;
	height: 100%;
}

section.privacy-policy p {
	line-height: 1.357142857142857em;
	color: #4E4E51;
	padding: 23px;
	padding-right: 5px;
}

a.link-map {
																																																																										color: #1d2088;
	font-size: 23px;
	font-weight: bold;
	word-break: break-all;
	display: inline-block;
	position: relative;
	text-shadow: 2px 0 0 #fff, -2px 0 0 #fff, 0 2px 0 #fff, 0 -2px 0 #fff, 1px 1px #fff, -1px -1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff;
	filter: progid: DXImageTransform.Microsoft.Shadow(color=#0000FF, direction=45);
}

.main-map a.link-map {
	padding-left: 9%;
	color: #74BD14;
}

.main-map a.link-map.green {
																																																																										color: #1d2088;
}

.right-site .child-txt-map:before {
	display: none;
}

.unk {
	padding-right: 14.3%;
}

.child-inner-child {
	padding-right: 7.2%;
	position: relative;
}

.right-site .child-txt-map .child-inner-child p {
	padding: 28px 0;
}

.right-site a.link-map {
	padding-left: 0;
}

.child-inner-child:before {
	position: absolute;
	content: "";
	width: 100%;
	height: 2px;
																																																																										background: #1d2088;
	left: 0;
	top: 50%;
}

.right-site .child-txt-map.no02:after {
	display: none;
}

.no02 .unk {
	padding-right: 0;
}

.right-site .child-txt-map.no02 {
	padding-right: 0%;
}

.no02 .child-inner-child {
	padding-right: 25%;
}

.child-txt-map:last-child {
	background: white;
}

.child-txt-map:last-child:after {
	position: absolute;
	content: " ";
	width: 2px;
																																																																										background: #1d2088;
	height: 50%;
	top: 0;
	left: 0;
}

.child-inner-child:last-child {
	background: white;
	z-index: 9;
}

.child-inner-child:last-child:after {
	position: absolute;
	content: " ";
	width: 2px;
																																																																										background: #1d2088;
	height: 50%;
	top: 0;
	right: 0px;
}

.part-map.right-site:before {
	position: absolute;
	content: " ";
	width: 2px;
																																																																										background: #1d2088;
	height: 97%;
	top: 0;
	right: 6%;
}

.right-site .child-txt-map.no03 {
	padding-right: 0;
	padding-top: 20px;
	overflow: visible;
	z-index: 9;
	background: none;
	width: 94%;
}

.no03 .unk {
	padding-right: 0;
}

.no03 .child-inner-child {
	padding-right: 30.2%;
}

.right-site .child-txt-map.no02 .child-inner-child:last-child p {
	margin-bottom: 0;
}

.child-txt-map.no03:last-child:after {
	display: none;
}

.unk.block01 {
	padding-right: 0;
	width: 85.6%;
	position: relative;
	margin-top: -20px;
	padding-top: 20px;
}

.unk.block01:after {
	position: absolute;
	content: " ";
	width: 2px;
																																																																										background: #1d2088;
	height: 100%;
	right: 0;
	margin-top: 0;
	top: 0;
}

.right-site .inner-map-block .line-map {
	width: 93%;
	position: relative;
}

.right-site .inner-map-block .line-map:after {
	position: absolute;
	content: " ";
	width: 2px;
																																																																										background: #1d2088;
	height: 100%;
	right: 0;
	margin-top: -66px;
	top: 0;
}

@media (max-width: 1000px) {
	.main-business {
		padding: 0 10px 27px 10px;
	}
	.main-organization {
		padding: 20px 10px 0 10px;
	}
}

@media (max-width: 640px) {
	h2.ttl-sec {
		font-size: 0.9166666666666667em;
		padding: 2.5% 4%;
	}
	.wrapper {
		padding: 0 5.46875%;
	}
	.content-esta {
		padding: 3% 4.6%;
	}
	.content-esta p {
		font-size: 0.9166666666666667em;
		line-height: 1.454545454545455em;
	}
	.content-esta span {
		font-size: 0.9166666666666667em;
		line-height: 1.454545454545455em;
		margin-top: 8%;
	}
	section.established {
		padding-bottom: 4%;
	}
	.mian-profile {
		padding: 7% 0 10.54%;
	}
	.mian-profile table tr {
		display: block;
																																																																											border-bottom: 1px solid #1d2088;
	}
	.mian-profile table th {
		display: inline-block;
		width: 100%;
		border-right: none;
		/*border-bottom: 1px solid #009043;*/
		text-align: left;
	}
	.mian-profile table td {
		display: inline-block;
		width: 100%;
		border: none;
		/*border-bottom: 1px solid #009043;*/
	}
	.mian-profile table td.col02 {
		width: 100%;
		border-left: none;
		padding-top: 0;
		margin-top: -2%;
	}
	.mian-profile table {
		font-size: 0.9166666666666667em;
		line-height: 1.272727272727273em;
	}
	table th,
	table td {
		padding: 3.67% 3.5%;
	}
	.mian-profile table td a {
		text-decoration: none;
	}
	.mian-profile table td p {
		padding-left: 1em;
	}
	.mian-profile table td p span {
		text-indent: -1em;
	}
	.main-business {
		padding: 0;
		margin-bottom: 14%;
	}
	.main-business .img-logo {
		padding: 0 8%;
		margin: 6% auto 8%;
	}
	.icon-block {
		width: 15%;
		margin: 1.7% auto;
	}
	.dev-support h3 {
		font-size: 1.166666666666667em;
	}
	.dev-support {
		padding: 6% 6.6% 0% 5.3%;
	}
	.inner-dev {
		margin-top: 5%;
	}
	.dev-child {
		width: 100%;
		margin-right: 0;
		margin-bottom: 9.5%;
		padding-bottom: 5%;
	}
	.dev-child .txt-dev p span {
		font-size: 1.041666666666667em;
		line-height: 1.36em;
	}
	.dev-child .txt-dev {
		height: 11.9em;
	}
	.dev-child a {
		font-size: 1.041666666666667em;
	}
	.business-sup .dev-child .txt-dev {
		height: 15.42em;
	}
	.main-organization {
		padding: 5% 0 8%;
	}
	.main-organization h3 {
		font-size: 1.105416666666667em;
		padding: 5.53% 0.5%;
	}
	.block-map h4 {
		font-size: 1.105416666666667em;
		border: 0.14em solid #009043;
		padding: 2.2% 0;
		z-index: 9;
	}
	.part-map:after{
		position: absolute;
		content: " ";
		height: 2px;
		width: 100%;
		left: 0;
		top: 3.3em;
		margin-top: -1px;
		background: #009043;
	}
	.part-map {
		width: 86.66%;
		margin-left: 3.5%;
		padding-left: 6.5%;
		position: relative;
		padding-top: 5%;
		padding-bottom: 14%;
	}
	.part-map.right-site {
		float: left;
		padding-top: 0;
		padding-bottom: 0;
		margin-top: -9%;
	}
	.child-txt-map p {
		font-size: 1.105416666666667em;
		margin-bottom: 5%;
		padding: 2.7% 0;
		border: 0.14em solid #009043;
	}
	.right-site .child-txt-map .child-inner-child p {
		padding: 9.5% 0px;
	}
	.part-map.right-site:before {
		right: 1.16em;
		top: 5%;
		height: 89%;
		display: none;
	}
	.block-map {
		overflow: hidden;
	}
	a.link-map {
		font-size: 1.05416666666667em;
	}
	.unk.block01 {
		width: 91%;
	}
	.child-inner-child {
		padding-right: 13%;
	}
	.right-site .child-txt-map.no03 {
		/* padding-top: 5%; */
		padding-top: 4%;
	}
	.main-map a.link-map {
		padding-left: 9%;
	}
	.main-map .right-site a.link-map {
		padding-left: 0;
	}
	.right-site .inner-map-block {
		padding-top: 0;
		position: relative;
	}
	.right-site .inner-map-block:before{
		position: absolute;
		content: "";
		width: 2px;
		background: #009043;
		height: 112%;
		right: 0%;
		z-index: 9;
	}
	.right-site .inner-map-block .line-map {
		padding-top: 8%;
	}
	.right-site .inner-map-block .line-map:after{
		margin-top: 0;
	}
	.part-map.right-site:after {
    top: 2.1em;
	}
	.part-map:first-child:before{
		position: absolute;
		content: " ";
		width: 2px;
		height: 100%;
		left: 0;
		top: 0;
		background: #009043;
	}
	section.privacy-policy p {
    padding: 6% 0 9%;
    font-size: 0.9166666666666667em;
		line-height: 1.272727272727273em;
	}
	.no03 .child-inner-child:last-child:after {
    height: 117%;
    top: auto;
    bottom: 50%;
	}
	.dev-child .txt-dev p span small {
    font-size: 0.76em;
	}
}

/*===== DIAGRAM ===== */

.diagram {
	font-size: 20px;
}

@media (max-width: 1060px) { .diagram { font-size: 20px } }
@media (max-width: 1055px) { .diagram { font-size: 19.90566037735849px } }
@media (max-width: 1050px) { .diagram { font-size: 19.81132075471698px } }
@media (max-width: 1045px) { .diagram { font-size: 19.71698113207547px } }
@media (max-width: 1040px) { .diagram { font-size: 19.62264150943396px } }
@media (max-width: 1035px) { .diagram { font-size: 19.528301886792452px } }
@media (max-width: 1030px) { .diagram { font-size: 19.433962264150942px } }
@media (max-width: 1025px) { .diagram { font-size: 19.339622641509433px } }
@media (max-width: 1020px) { .diagram { font-size: 19.245283018867923px } }
@media (max-width: 1015px) { .diagram { font-size: 19.150943396226417px } }
@media (max-width: 1010px) { .diagram { font-size: 19.056603773584907px } }
@media (max-width: 1005px) { .diagram { font-size: 18.962264150943398px } }
@media (max-width: 1000px) { .diagram { font-size: 18.867924528301888px } }
@media (max-width: 995px) { .diagram { font-size: 18.77358490566038px } }
@media (max-width: 990px) { .diagram { font-size: 18.67924528301887px } }
@media (max-width: 985px) { .diagram { font-size: 18.58490566037736px } }
@media (max-width: 980px) { .diagram { font-size: 18.49056603773585px } }
@media (max-width: 975px) { .diagram { font-size: 18.39622641509434px } }
@media (max-width: 970px) { .diagram { font-size: 18.30188679245283px } }
@media (max-width: 965px) { .diagram { font-size: 18.20754716981132px } }
@media (max-width: 960px) { .diagram { font-size: 18.11320754716981px } }
@media (max-width: 955px) { .diagram { font-size: 18.0188679245283px } }
@media (max-width: 950px) { .diagram { font-size: 17.92452830188679px } }
@media (max-width: 945px) { .diagram { font-size: 17.830188679245282px } }
@media (max-width: 940px) { .diagram { font-size: 17.735849056603772px } }
@media (max-width: 935px) { .diagram { font-size: 17.641509433962263px } }
@media (max-width: 930px) { .diagram { font-size: 17.547169811320753px } }
@media (max-width: 925px) { .diagram { font-size: 17.452830188679247px } }
@media (max-width: 920px) { .diagram { font-size: 17.358490566037737px } }
@media (max-width: 915px) { .diagram { font-size: 17.264150943396228px } }
@media (max-width: 910px) { .diagram { font-size: 17.169811320754718px } }
@media (max-width: 905px) { .diagram { font-size: 17.07547169811321px } }
@media (max-width: 900px) { .diagram { font-size: 16.9811320754717px } }
@media (max-width: 895px) { .diagram { font-size: 16.88679245283019px } }
@media (max-width: 890px) { .diagram { font-size: 16.79245283018868px } }
@media (max-width: 885px) { .diagram { font-size: 16.69811320754717px } }
@media (max-width: 880px) { .diagram { font-size: 16.60377358490566px } }
@media (max-width: 875px) { .diagram { font-size: 16.50943396226415px } }
@media (max-width: 870px) { .diagram { font-size: 16.41509433962264px } }
@media (max-width: 865px) { .diagram { font-size: 16.32075471698113px } }
@media (max-width: 860px) { .diagram { font-size: 16.22641509433962px } }
@media (max-width: 855px) { .diagram { font-size: 16.132075471698112px } }
@media (max-width: 850px) { .diagram { font-size: 16.037735849056602px } }
@media (max-width: 845px) { .diagram { font-size: 15.943396226415095px } }
@media (max-width: 840px) { .diagram { font-size: 15.849056603773585px } }
@media (max-width: 835px) { .diagram { font-size: 15.754716981132075px } }
@media (max-width: 830px) { .diagram { font-size: 15.660377358490566px } }
@media (max-width: 825px) { .diagram { font-size: 15.566037735849056px } }
@media (max-width: 820px) { .diagram { font-size: 15.471698113207546px } }
@media (max-width: 815px) { .diagram { font-size: 15.377358490566039px } }
@media (max-width: 810px) { .diagram { font-size: 15.283018867924529px } }
@media (max-width: 805px) { .diagram { font-size: 15.18867924528302px } }
@media (max-width: 800px) { .diagram { font-size: 15.09433962264151px } }
@media (max-width: 795px) { .diagram { font-size: 15px } }
@media (max-width: 790px) { .diagram { font-size: 14.90566037735849px } }
@media (max-width: 785px) { .diagram { font-size: 14.81132075471698px } }
@media (max-width: 780px) { .diagram { font-size: 14.716981132075471px } }
@media (max-width: 775px) { .diagram { font-size: 14.622641509433961px } }
@media (max-width: 770px) { .diagram { font-size: 14.528301886792454px } }
@media (max-width: 765px) { .diagram { font-size: 14.433962264150944px } }
@media (max-width: 760px) { .diagram { font-size: 14.339622641509434px } }
@media (max-width: 755px) { .diagram { font-size: 14.245283018867925px } }
@media (max-width: 750px) { .diagram { font-size: 14.150943396226415px } }
@media (max-width: 745px) { .diagram { font-size: 14.056603773584905px } }
@media (max-width: 740px) { .diagram { font-size: 13.962264150943396px } }
@media (max-width: 735px) { .diagram { font-size: 13.867924528301886px } }
@media (max-width: 730px) { .diagram { font-size: 13.773584905660377px } }
@media (max-width: 725px) { .diagram { font-size: 13.679245283018869px } }
@media (max-width: 720px) { .diagram { font-size: 13.584905660377359px } }
@media (max-width: 715px) { .diagram { font-size: 13.49056603773585px } }
@media (max-width: 710px) { .diagram { font-size: 13.39622641509434px } }
@media (max-width: 705px) { .diagram { font-size: 13.30188679245283px } }
@media (max-width: 700px) { .diagram { font-size: 13.20754716981132px } }
@media (max-width: 695px) { .diagram { font-size: 13.11320754716981px } }
@media (max-width: 690px) { .diagram { font-size: 13.018867924528301px } }
@media (max-width: 685px) { .diagram { font-size: 12.924528301886792px } }
@media (max-width: 680px) { .diagram { font-size: 12.830188679245284px } }
@media (max-width: 675px) { .diagram { font-size: 12.735849056603774px } }
@media (max-width: 670px) { .diagram { font-size: 12.641509433962264px } }
@media (max-width: 665px) { .diagram { font-size: 12.547169811320755px } }
@media (max-width: 660px) { .diagram { font-size: 12.452830188679245px } }
@media (max-width: 655px) { .diagram { font-size: 12.358490566037736px } }
@media (max-width: 650px) { .diagram { font-size: 12.264150943396226px } }
@media (max-width: 645px) { .diagram { font-size: 12.169811320754716px } }
@media (max-width: 640px) { .diagram { font-size: 20px } }
@media (max-width: 635px) { .diagram { font-size: 19.84375px } }
@media (max-width: 630px) { .diagram { font-size: 19.6875px } }
@media (max-width: 625px) { .diagram { font-size: 19.53125px } }
@media (max-width: 620px) { .diagram { font-size: 19.375px } }
@media (max-width: 615px) { .diagram { font-size: 19.21875px } }
@media (max-width: 610px) { .diagram { font-size: 19.0625px } }
@media (max-width: 605px) { .diagram { font-size: 18.90625px } }
@media (max-width: 600px) { .diagram { font-size: 18.75px } }
@media (max-width: 595px) { .diagram { font-size: 18.59375px } }
@media (max-width: 590px) { .diagram { font-size: 18.4375px } }
@media (max-width: 585px) { .diagram { font-size: 18.28125px } }
@media (max-width: 580px) { .diagram { font-size: 18.125px } }
@media (max-width: 575px) { .diagram { font-size: 17.96875px } }
@media (max-width: 570px) { .diagram { font-size: 17.8125px } }
@media (max-width: 565px) { .diagram { font-size: 17.65625px } }
@media (max-width: 560px) { .diagram { font-size: 17.5px } }
@media (max-width: 555px) { .diagram { font-size: 17.34375px } }
@media (max-width: 550px) { .diagram { font-size: 17.1875px } }
@media (max-width: 545px) { .diagram { font-size: 17.03125px } }
@media (max-width: 540px) { .diagram { font-size: 16.875px } }
@media (max-width: 535px) { .diagram { font-size: 16.71875px } }
@media (max-width: 530px) { .diagram { font-size: 16.5625px } }
@media (max-width: 525px) { .diagram { font-size: 16.40625px } }
@media (max-width: 520px) { .diagram { font-size: 16.25px } }
@media (max-width: 515px) { .diagram { font-size: 16.09375px } }
@media (max-width: 510px) { .diagram { font-size: 15.9375px } }
@media (max-width: 505px) { .diagram { font-size: 15.78125px } }
@media (max-width: 500px) { .diagram { font-size: 15.625px } }
@media (max-width: 495px) { .diagram { font-size: 15.46875px } }
@media (max-width: 490px) { .diagram { font-size: 15.3125px } }
@media (max-width: 485px) { .diagram { font-size: 15.15625px } }
@media (max-width: 480px) { .diagram { font-size: 15px } }
@media (max-width: 475px) { .diagram { font-size: 14.84375px } }
@media (max-width: 470px) { .diagram { font-size: 14.6875px } }
@media (max-width: 465px) { .diagram { font-size: 14.53125px } }
@media (max-width: 460px) { .diagram { font-size: 14.375px } }
@media (max-width: 455px) { .diagram { font-size: 14.21875px } }
@media (max-width: 450px) { .diagram { font-size: 14.0625px } }
@media (max-width: 445px) { .diagram { font-size: 13.90625px } }
@media (max-width: 440px) { .diagram { font-size: 13.75px } }
@media (max-width: 435px) { .diagram { font-size: 13.59375px } }
@media (max-width: 430px) { .diagram { font-size: 13.4375px } }
@media (max-width: 425px) { .diagram { font-size: 13.28125px } }
@media (max-width: 420px) { .diagram { font-size: 13.125px } }
@media (max-width: 415px) { .diagram { font-size: 12.96875px } }
@media (max-width: 410px) { .diagram { font-size: 12.8125px } }
@media (max-width: 405px) { .diagram { font-size: 12.65625px } }
@media (max-width: 400px) { .diagram { font-size: 12.5px } }
@media (max-width: 395px) { .diagram { font-size: 12.34375px } }
@media (max-width: 390px) { .diagram { font-size: 12.1875px } }
@media (max-width: 385px) { .diagram { font-size: 12.03125px } }
@media (max-width: 380px) { .diagram { font-size: 11.875px } }
@media (max-width: 375px) { .diagram { font-size: 11.71875px } }
@media (max-width: 370px) { .diagram { font-size: 11.5625px } }
@media (max-width: 365px) { .diagram { font-size: 11.40625px } }
@media (max-width: 360px) { .diagram { font-size: 11.25px } }
@media (max-width: 355px) { .diagram { font-size: 11.09375px } }
@media (max-width: 350px) { .diagram { font-size: 10.9375px } }
@media (max-width: 345px) { .diagram { font-size: 10.78125px } }
@media (max-width: 340px) { .diagram { font-size: 10.625px } }
@media (max-width: 335px) { .diagram { font-size: 10.46875px } }
@media (max-width: 330px) { .diagram { font-size: 10.3125px } }
@media (max-width: 325px) { .diagram { font-size: 10.15625px } }
@media (max-width: 320px) { .diagram { font-size: 10px } }

.diagram {
	padding: 90px 3.5em 50px;
}

.diagram .box {
	display: table;
	width: 100%;
	height: 5em;
	margin-top: 1em;
	background: #368D52;
	color: #fff;
	font-size: 1em;
	line-height: 1.4;
	text-align: center;
	white-space: nowrap;
	position: relative;
	z-index: 1000;
}
.diagram .box:first-child {
	margin-top: 0;
}
.diagram .box > span {
	display: table-cell;
	vertical-align: middle;
}

.diagram .box .anchor {
	display: block;
	position: absolute;
	top: -1.4em;
	left: 0;
	color: #378F4B;
}

.diagram .group,
.diagram .childs {
	position: relative;
}
.diagram .group-2 .box {
	background-color: #71b42c;
	box-shadow: inset 0 0 0 2px #378D51;
}

.diagram .group-1 {
	float: left;
	width: 49%;
	overflow: hidden;
}
.diagram .group-2 {
	float: right;
	width: 49%;
	overflow: hidden;
}

.diagram .childs-1 {
	padding-top: 3.5em;
}

.diagram .group-1-1 {
	padding-top: 3.25em;
	padding-left: 7.75em;
}
.diagram .group-1-2 {
	padding-top: 2.75em;
	padding-left: 2.5em;
}
.diagram .group-1-2-1 {
	margin-top: 1.25em;
	padding-left: 5.25em;
}
.diagram .group-1-3 {
	padding-top: 2em;
	padding-left: 7.75em;
}

.diagram .group-2-1 {
	padding-top: 3.25em;
	padding-right: 3.5em;
}
.diagram .group-2-2 {
	padding-top: 2.75em;
	padding-right: 3.5em;
}

.diagram .group-1-2 .box .anchor {
	left: 2em;
}

.diagram .childs-1:before {
	display: block;
	content: " ";
	position: absolute;
	margin-left: -237px;
	width: 474px;
	height: 3.5em;
	background: url('../img/map.png') 50% 50% no-repeat;
	top: 0;
	left: 50%;
}

.diagram .group-2:before {
	display: block;
	content: " ";
	background: #368D52;
	position: absolute;
	top: -2.5em;
	right: 1.7em;
	width: 2px;
	height: 100%;
}
.diagram .group-2-1 .box:before,
.diagram .group-2-2 .box:before {
	display: block;
	content: " ";
	background: #368D52;
	position: absolute;
	width: 1.8em;
	height: 2px;
	top: 50%;
	left: 100%;
	margin-top: -2px;
}

.diagram .group-1:before {
	display: block;
	content: " ";
	background: #368D52;
	position: absolute;
	top: -2.5em;
	left: 1.25em;
	width: 2px;
	height: 100%;
}
.diagram .group-1-1 .box:before,
.diagram .group-1-2-1 .box:before {
	display: block;
	content: " ";
	background: #368D52;
	position: absolute;
	width: 2em;
	height: 2px;
	top: 50%;
	right: 100%;
	margin-top: -2px;
}
.diagram .group-1-3 .box:before {
	display: block;
	content: " ";
	background: #368D52;
	position: absolute;
	width: 6.5em;
	height: 2px;
	top: 50%;
	right: 100%;
	margin-top: -2px;
}

.diagram .group-1-1:before {
	display: block;
	content: " ";
	background: #368D52;
	position: absolute;
	top: -2.5em;
	left: 5.75em;
	width: 2px;
	height: 100%;
}
.diagram .group-1-2:before {
	display: block;
	content: " ";
	background: #368D52;
	position: absolute;
	bottom: 2.5em;
	left: 5.75em;
	width: 2px;
	height: 20em;
}
.diagram .group-1-2 .box-1-2:before {
	display: block;
	content: " ";
	background: #368D52;
	position: absolute;
	bottom: 100%;
	left: 1.25em;
	width: 2px;
	height: 20em;
}

@media only screen and (max-width: 990px) {
	.diagram .childs-1:before {
		background-image: url('../img/map-sm.png');
	}
}

@media only screen and (max-width: 640px) {

	.diagram {
		padding: 2.5em 0;
	}

	.diagram .box {
		height: 5em;
	}

	.diagram .group-1,
	.diagram .group-2 {
		float: none;
		width: auto;
		padding: 2em 2.5em 0;
	}

	.diagram .childs-1 {
		padding: 0;
	}
	.diagram .childs-1:before {
		display: none;
	}

	.diagram .group-1-1 {
		padding-left: 7.5em;
	}
	.diagram .group-1-2 {
		padding-left: 2.5em;
	}
	.diagram .group-1-2-1 {
		padding-left: 5em;
	}
	.diagram .group-1-3 {
		padding-left: 7.5em;
	}

	.diagram .group-2-1 {
		padding-right: 0;
		padding-left: 3.125em;
	}
	.diagram .group-2-2 {
		padding-right: 0;
		padding-left: 3.125em;
	}

	.diagram .group-1:before {
		top: auto;
		bottom: 2.5em;
		left: 3.75em;
		height: 46em;
	}
	.diagram .group-1-3 .box:before {
		width: 6.25em;
	}
	.diagram .group-1-1:before,
	.diagram .group-1-2:before {
		left: 5.5em;
	}

	.diagram .group-2:before {
		top: auto;
		bottom: 2.5em;
		right: auto;
		left: 3.75em;
		height: 22em;
	}
	.diagram .group-2-1 .box:before,
	.diagram .group-2-2 .box:before {
		width: 1.8em;
		left: auto;
		right: 100%;
	}

	.diagram .group-1 .box-1-1:before,
	.diagram .group-2 .box-2-1:before {
		display: block;
		content: " ";
		background: #368D52;
		position: absolute;
		width: 1.25em;
		height: 2px;
		top: 50%;
		right: 100%;
		margin-top: -2px;
	}
	.diagram .group-2 {
		overflow: visible;
	}
	.diagram .group-2 .box-2-1:after {
		display: block;
		content: " ";
		background: #368D52;
		position: absolute;
		width: 2px;
		height: 62em;
		left: -1.25em;
		bottom: 2.5em;
	}

}
