
#company div.top ul {
	overflow: hidden;
}
#company div.top ul li {
	float: left;
	width: 31%;
	margin-right: 3.5%;
	box-sizing: border-box;
	margin-bottom: 50px;
}
#company div.top ul li:nth-child(3n) {
	margin-right: 0;
}
#company div.top ul li a{
	border: 5px solid #1d446f;
	overflow: hidden;
	display: table;
	width: 100%;
	box-sizing: border-box;
	padding: 20px;
	transition: .3s;
}
#company div.top ul li a:hover {
	background: #e2e8ef;
}
#company div.top ul li a .img img{
	width: 91px;
	height: 134px;
	vertical-align: bottom;
}
#company div.top ul li a .img {
	display: table-cell;
	vertical-align: middle;
}
#company div.top ul li a .text {
	display: table-cell;
	vertical-align: middle;
	width: 100%;
	text-align: center;
	padding-left: 20px;
	box-sizing: border-box;
}
#company div.top ul li a .text strong {
	display: block;
	text-align: center;
	font-size: 1.4rem;
	letter-spacing: .2rem;
	line-height: 100%;
	padding-bottom: 15px;
	font-weight: bold;
}
#company div.top ul li a .text span {
	display: block;
	text-align: center;
	border: 1px solid #2c2c2c;
	font-size: .8rem;
	letter-spacing: .2rem;
	font-weight: bold;
	line-height: 34px;
	background: url(../img/top/more_cursor.png) 90% 50% no-repeat;
	transition: .3s;
}
#company div.top ul li a:hover .text span {
	color: #fff;
	border: 1px solid #1d446f;
	background: url(../img/top/more_cursor_on.png) 90% 50% no-repeat;
	background-color: #1d446f;
}
#top_menu .top_inner a.recruit_link{
	background: #1d446f;
	box-sizing: border-box;
	border: 5px solid #1d446f;
	display: block;
}
#top_menu .top_inner a.recruit_link img {
	max-width: 100%;
	height: auto;
	box-sizing: border-box;
	vertical-align: bottom;
	transition: .3s;
}
#top_menu .top_inner a.recruit_link:hover img {
	opacity: .9;
}

#company .company_frame {
	display: table;
	width: 100%;
}

#company .frame_contents {
	display: table-cell;
	vertical-align: top;
	width: auto;
}

#company .frame_contents p {
	padding-bottom: 25px;
	line-height: 180%;
	font-size: 1rem;
}

#company .frame_contents p.bottom {
	padding-bottom: 0;
}

#company .frame_contents p.right{
	text-align: right;
}

#company .frame_menu {
	display: table-cell;
	width: 250px;
	vertical-align: top;
	padding-left: 60px;
}

#company .frame_menu .menu {
	border: 2px solid #1d446f;
}

#company .frame_menu .menu span {
	display: block;
	color: #fff;
	background: #1d446f;
	text-align: center;
	padding: 12px 0;
	font-size: 1.2rem;
	letter-spacing: .3rem;
}

#company .frame_menu .menu ul {
	margin: 13px;
}

#company .frame_menu .menu ul li {
	padding: 4px 0;
	border-top: 1px solid #1d446f;
}

#company .frame_menu .menu ul li:first-child {
	border-top: none;
}

#company .frame_menu .menu ul li a {
	display: block;
	line-height: 52px;
	background-repeat: no-repeat;
	background-size: 60px 40px;
	background-position: 6px center;
	letter-spacing: .2rem;
	font-weight: bold;
	padding-left: 10px;
	white-space: nowrap;
}

#company .frame_menu .menu ul li a.active,
#company .frame_menu .menu ul li a:hover{
	background-color: #e7eef6;
	color: #1d446f;
}

#company h3.greet {
	margin-bottom: 30px;
	width: 100%;
}

#company h3.greet img {
	max-width: 100%;
	width: 100%;
}
	
#company table.company {
	font-size: .9rem;
	line-height: 150%;
   border-collapse: collapse;
	box-sizing: border-box;
	width: 100%;
}
	
#company table.mr {
	margin-bottom: 50px;
}
	
#company table.company th {
	padding: 20px 25px;
	width: 27%;
	background: #f8f8f8;
	border-collapse: collapse;
   border-bottom:3px solid #fff;
   border-right:10px solid #fff;
	box-sizing: border-box;
	vertical-align: middle;
	text-align: left;
}
	
#company table.company td {
	padding: 20px 25px;
	width: 73%;
	border-collapse: collapse;
   border-bottom:1px solid #e2e2e2;
	box-sizing: border-box;
	vertical-align: middle;
	text-align: left;
}
	
#company table.company tr:first-child td {
   border-top:1px solid #e2e2e2;
}
	
#company table.company th span{
	display: inline-block;
	width: 2.5rem;
	text-align: right;
}
	
#company table.group {
	text-align: left;
	font-size: .88rem;
	line-height: 150%;
   border-collapse: collapse;
	box-sizing: border-box;
	border: 2px solid #2c2c2c;
	width: 100%;
	table-layout: fixed;
}
	
#company table.group th {
	padding: 20px 10px;
	width: 39%;
	border-collapse: collapse;
	box-sizing: border-box;
	vertical-align: middle;
	border: 1px solid #d3d3d3;
	text-align: left;
}
	
#company table.group th a:link,
#company table.group th a:visited{
	text-decoration: underline;
}
	
#company table.group th a:hover{
	text-decoration: none;
}
	
#company table.group td {
	padding: 20px 10px;
	width: 61%;
	border-collapse: collapse;
	box-sizing: border-box;
	vertical-align: middle;
	border: 1px solid #d3d3d3;
}

#company .organization_img {
	padding: 40px;
	text-align: center;
	background: #f8f8f8;
	margin-bottom: 30px;
}

#company .organization_img img{
	max-width: 584px;
	width: 100%;
}

#company table.organization {
	text-align: left;
	font-size: .9rem;
	line-height: 150%;
	border-collapse: collapse;
	box-sizing: border-box;
	width: 100%;
}

#company table.organization th {
	text-align: center;
	padding: 20px 25px;
	width: 27%;
	background: #f8f8f8;
	border-collapse: collapse;
	border-bottom:3px solid #fff;
	border-right:10px solid #fff;
	box-sizing: border-box;
	vertical-align: middle;
}

#company table.organization td {
	padding: 20px 120px 20px 25px;
	width: 73%;
	border-collapse: collapse;
	border-bottom:1px solid #e2e2e2;
	box-sizing: border-box;
	vertical-align: middle;
	position: relative;
}

#company table.organization td a,
#company table.organization td a:hover {
	text-decoration: none;
	color: #333;
}

#company table.organization td a.map {
	display: block;
	position: absolute;
	right: 0;
	top: 50%;
	width: 99px;
	height: 30px;
	margin-top: -15px;
}

#company table.organization td a.map img {
	width: 99px;
	height: 30px;
	transition: .3s;
}

#company table.organization td a.map:hover img {
	opacity: .7;
}

#company table.organization tr:first-child td {
   border-top:1px solid #e2e2e2;
}

img.logo_right {
	float: right;
	width: 122px;
	height: 122px;
	padding: 0 0 20px 20px;
}

a.pdf {
	margin: 0 auto;
	display: block;
	max-width: 280px;
	width: 100%;
	transition: .3s;
}

a.pdf:hover {
	opacity: .7;
}

a.pdf img {
	max-width: 280px;
	width: 100%;
	height: auto;
}

h3.group {
	font-weight: bold;
	font-size: 1.2rem;
	padding-bottom: 15px;
	padding-left: 15px;
	padding-top: 20px;
}

#company .frame_contents p.group_head {
	line-height: 170%;
	padding-bottom: 30px;
	font-size: .9rem;
}

@media only screen and (max-width: 1200px) {
	
#company div.top ul li {
	width: 48%;
	margin-right: 4%;
}
#company div.top ul li:nth-child(3n) {
	margin-right: 4%;
}
#company div.top ul li:nth-child(2n) {
	margin-right: 0;
}
	
}

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

a.pdf {
	margin-bottom: 30px;
}
	
#company div.top ul li {
	float: left;
	width: 48%;
	margin-bottom: 25px;
}
#company div.top ul li:nth-child(2n) {
	float: right;
}
#company div.top ul li a{
	border: 4px solid #1d446f;
	display: block;
	position: relative;
	padding: 14px;
}
#company div.top ul li a .img {
	display: block;
	margin-top: 50px;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}
#company div.top ul li a .img img{
	max-width: 91px;
	width: 100%;
	height: auto;
	margin: 0 auto;
	text-align: center;
}
#company div.top ul li a .text {
	width: 100%;
	display: block;
	padding: 0 0 0 0;
	box-sizing: border-box;
}
#company div.top ul li a .text strong {
	position: absolute;
	top: 20px;
	left: 0;
	font-size: 1.5rem;
	display: block;
	width: 100%;
	font-weight: 100;
}
#company div.top ul li a .text span {
	
	margin-top: 14px;
	box-sizing: border-box;
}

#company h3.greet {
	margin-bottom: 20px;
}

#company .company_frame {
	display: block;
}

#company .frame_contents {
	display: block;
}

#company .frame_contents p {
	font-size: .85rem;
	padding-bottom: 15px;
}

#company .frame_menu {
	display: block;
	width: 100%;
	padding-left: 0;
}

#company .frame_menu .menu span {
	font-size: 1rem;
}

#company .frame_menu .menu ul {
	overflow: hidden;
}

#company .frame_menu .menu ul li {
	padding: 4px 0;
	border-top: none;
	float: left;
	width: 49%;
	box-sizing: border-box;
}

#company .frame_menu .menu ul li:nth-child(2n) {
	margin-left: 2%;
}

#company .frame_menu .menu ul li:first-child {
	border-top: none;
}

#company .frame_menu .menu ul li a {
	display: block;
	line-height: 100%;
	background-size: 60px 40px;
	background-position: center 10px;
	padding: 20px 0;
	letter-spacing: .1rem;
	text-align: center;
	font-size: 0.6rem;
	border: 1px solid #b2c3d5;
}
	
#company table.company {
	margin-bottom: 30px;
	font-size: .8rem;
}
	
#company table.company th {
	display: list-item;
	width: 100%;
	list-style: none;
	padding: 10px;
	font-weight: bold;
   border: none;
}
	
#company table.company td {
	display: list-item;
	width: 100%;
	border:none;
	list-style: none;
	padding: 10px 10px 10px 20px;
}
	
#company table.company tr:first-child td {
	border:none;
}
	
#company table.group {
	margin-bottom: 30px;
	font-size: .8rem;
	border: 2px solid #2c2c2c;
}
	
#company table.group th {
	display: list-item;
	width: 100%;
	list-style: none;
	padding: 15px 15px 10px;
	font-weight: bold;
   border: none;
	font-size: .9rem;
}
	
#company table.group th br {
	display: none;
}
	
#company table.group td {
	display: list-item;
	width: 100%;
	border-top: none;
	border-left: none;
	border-right: none;
	list-style: none;
	padding: 0 15px 15px 25px;
}
	
#company table.organization {
	margin-bottom: 30px;
	font-size: .8rem;
}
	
#company table.organization th {
	display: list-item;
	width: 100%;
	list-style: none;
	padding: 10px;
	font-weight: bold;
   border: none;
	text-align: left;
}
	
#company table.organization td {
	display: list-item;
	width: 100%;
	border:none;
	list-style: none;
	padding: 10px 110px 10px 20px;
}
	
#company table.organization tr:first-child td {
	border:none;
}

img.logo_right {
	float: none;
	display: block;
	padding: 10px 0 20px;
	margin: 0 auto;
	text-align: center;
}

#company .frame_contents p.bottom {
	padding-bottom: 30px;
}

h3.group {
	font-size: 1rem;
}

p.group_head {
	font-size: .85rem;
}

}

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

#company div.top ul li {
	width: 48%;
	margin-bottom: 15px;
}
#company div.top ul li a{
	border: 3px solid #1d446f;
	padding: 14px;
}
#company div.top ul li a .img {
	margin-top: 30px;
}
#company div.top ul li a .text strong {
	top: 16px;
	letter-spacing: .2rem;
	font-size: 1rem;
	display: block;
	width: 100%;
	max-width: 100%;
}
#company div.top ul li a .text span {
	font-size: .7rem;
	letter-spacing: .1rem;
	font-weight: bold;
	line-height: 22px;
	background: url(../img/top/more_cursor.png) 90% 50% no-repeat;
	background-size: 12px 5px;
}
#company div.top ulli a:hover .text span {
	
	color: #fff;
	border: 1px solid #1d446f;
	background: url(../img/top/more_cursor_on.png) 90% 50% no-repeat;
	background-size: 12px 5px;
	background-color: #1d446f;
}

#company .organization_img {
	padding: 20px;
}

}

