header {
	border-bottom: 1px solid;
}

main .site_map {
	padding-top: 120px;
}

section > h2 {
	margin: 40px auto 20px;
}

section .title {
	margin: 40px auto;
	background-color: #20499D;
	height: 14px;
}

section .title h2 {
	margin-top: -10px;
	margin-left: -16px;
	padding: 0 16px;
	display: inline-block;
	background-color: #fff;
}

.large_wrap {
	width: 1000px;
	margin: auto;
}

.visual {
	height: 461px;
	background: url("../img/design_visual.png") no-repeat center right;
	position: relative;
}

.visual p {
	position: absolute;
	top: 60px;
	left: 40px;
	font-size: 16pt;
	line-height: 32pt;
}

.charac .box img {
	width: 480px;
	height: 360px;
	margin-bottom: 20px;
	float: right;
	text-align: center;
	border: 1px solid #808080;
	box-sizing: border-box;
}

.charac .box img {
	width: 478px;
}

.charac .box.left {
	float: left;
}

.charac .box .image {
	height: 210px;
	padding: 30px 0 0;
}

.charac .box table {
	width: 100%;
	height: 184px;
}

.charac .box table td {
	vertical-align: bottom;
	font-size: 12pt;
}

.charac .box > p {
	padding: 8px 0;
	background-color: #808080;
	color: #fff;
	font-size: 12pt;
}

.charac > .wrapper > p, .company > .wrapper > p {
	clear: both;
	font-size: 12.5pt;
	line-height: 1.7;
}

.company .large_box {
	width: 480px;
	height: 230px;
	padding-top: 30px;
	margin-bottom: 20px;
	float: right;
	text-align: center;
	background-color: #EAEAEA;
	box-sizing: border-box;
}

.company .large_box.left, .company .box  {
	float: left;
}

.company .large_box p {
	margin-top: 8px;
	font-size: 12pt;
}

.company .box.left {
	width: 230px;
}

.company .box.middle {
	margin: auto 20px;
}

.company .box.right {
	float: right;
}

.company .box {	
	text-align: center;
}

.pickup {
	margin-top: 40px;
}


@media (max-width: 640px) {
	
	section .title {
		height: 6px;
	}

	section .title h2 {
		margin: 0;
		position: absolute;
		top: -10px;
		left: 16px;
	}
	
	.large_wrap {
		width: auto;
	}
	
	.visual {
		height: auto;
		background: none;
	}
	
	.visual p {
		width: 95%;
		margin: auto;
		position: relative;
		margin-top: 60px;
		top: 0px;
		left: 0;
		font-size: 7.5pt;
		text-align: center;
	}
	
	.charac .box {
		width: 90%;
		height: auto;
		margin-left: 5%;
		margin-right: 5%;
	}
	
	.charac .box img {
		width: 100%;
		height: auto;
	}
	
	.charac .box table td, .charac .box > p {
		font-size: 7pt;
	}
	
	.charac .box .image, .charac .box table {
		height: auto;
	}

	.charac .box table {
		margin-bottom: 12px;
	}
	
	.charac .box table td:first-child {
		width: 55%;
	}
	
	.charac .box table td:first-child img {
		width: 55%;
	}
	
	.charac .box table td:last-child img {
		width: 80%;
	}
	
	.charac > .wrapper > p, .company > .wrapper > p {
		font-size: 0.5em;
		width: 95%;
		margin: auto;
		line-height: 1.7;
	}
	
	.company .large_box {
		width: auto;
		height: auto;
	}
	
	.company .large_box img, .company .box img {
		width: 90%;
		margin: auto;
	}
	
	.company .large_box p {
		font-size: 7pt;
		margin: 4px auto;
	}
	
	.company .box.left, .company .box.right {
		width: 45%;
		margin-bottom: 10px;
	}
	
	.company .box.middle {
		margin: 0 0 10px 10%;
	}
	
	.company .box p {
		font-size: 7pt;
	}
}
@media screen and (min-width: 641px) {
.csr_md { display: visible; }
.csr_sm { display: none; }
}
@media screen and (max-width: 640px) {
	.csr_md { display: none; }
	.csr_sm { display: visible; }
	img.csr_sm { 
		width: 100%;
		margin-top: 2em; 
	}
}
