
#mainv {
	position: relative;
	max-width: 1920px;
	margin: 0 auto;
}

#mainv h2 {
	position: absolute;
	z-index: 2;
	top: 50%;
	transform: translateY(-50%);
	right: 10%;
}

#mainv h2 img {
	width: 45vw;
}

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

	#mainv h2 {
		right: 5%;
	}
	
	#mainv h2 img {
		width: 55vw;
		max-width: 400px;
	}
}

@media only screen and (min-width: 1920px) {
	#mainv h2 img {
		width: 900px;
	}
}

#mainv div {
	margin: 0 auto;
	text-align: center;
}

#mainv div img {
	max-width: 1920px;
	width: 100%;
	margin: 0 auto;
}

#top_container {
	background: #fcfef7;
	background: -moz-linear-gradient(left,  #fcfef7 0%, #ebf9f9 100%);
	background: -webkit-linear-gradient(left,  #fcfef7 0%,#ebf9f9 100%);
	background: linear-gradient(to right,  #fcfef7 0%,#ebf9f9 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fcfef7', endColorstr='#ebf9f9',GradientType=1 );
	padding: 30px 0 90px;
}

#top_menu {
	padding: 90px 0;
}

#top_container .top_inner,
#top_menu .top_inner {
	max-width: 1050px;
	margin: 0 auto;
}

#top_container section{
	margin: 0 auto;
}

#top_container #information_top{
	width: auto;
	margin: 0 auto;
	padding: 35px 70px;
	box-sizing: border-box;
	background: #fff;
}

#top_container #information_top a {
	text-align: center;
	text-decoration: underline;
}

#top_container #information{
	width: auto;
	margin: 0 auto;
	background: #fff;
	padding: 35px 70px;
	box-sizing: border-box;
}

#top_container #information h3 {
	text-align: center;
	font-size: 2rem;
	letter-spacing: .5rem;
	margin-bottom: 20px;
}

#top_container #information a.more {
	width: 225px;
	border: 1px solid #abe3e9;
	display: block;
	margin: 0 auto;
	text-align: center;
	padding: 10px 0;
	color: #5ec4cf;
	transition: .3s;
}

#top_container #information a.more:after {
  content: '';
  display: inline-block;
  width: 15px;
  height: 9px;
  background-image: url(../img/common/b_cursor.png);
  background-size: contain;
  vertical-align: middle;
	margin-left: 5px;
}

#top_container #information a.more:hover {
	background: #5ec4cf;
	color: #fff;
}

#top_container #information a.more:hover:after {
  background-image: url(../img/common/b_cursor_ov.png);
}

#top_container #information ul {
	margin-bottom: 20px;
}

#top_container #information ul li {
	overflow: hidden;
	display: table;
	margin-top: 20px;
	min-height: 20px;
	table-layout: fixed;
	position: relative;
	line-height: 150%;
}

#top_container #information ul li span {
	position: absolute;
	display: block;
	width: 170px;
	box-sizing: border-box;
	padding: 0 20px 0 60px;
	min-height: 20px;
	color: #a0a0a0;
}

#top_container #information ul li span.new {
	background: url(../img/top/new.png) no-repeat left 2px;
}

#top_container #information ul li p {
	padding-left: 170px;
}

#top_container #copy {
	padding: 90px 0 0;
}

#top_container #copy h3 {
	display: block;
	text-align: center;
	font-size: 2.2rem;
	letter-spacing: .5rem;
	font-weight: bold;
	padding-bottom: 25px;
}

#top_container #copy h3 br {
	display: none;
}

#top_container #copy .frame {
	display: table;
}

#top_container #copy .frame span {
	text-align: center;
	margin: 0 auto;
	display: table-cell;
	vertical-align: middle;
}

#top_container #copy .frame p {
	line-height: 230%;
	font-size: 1.2rem;
	letter-spacing: .1rem;
	padding-right: 20px;
	padding-bottom: 35px;
	display: table-cell;
	vertical-align: middle;
}

#top_container #copy .frame span img {
	width: 400px;
	margin-right: 40px;
}

#top_menu .top_inner ul {
	overflow: hidden;
}

#top_menu .top_inner ul li {
	float: left;
	width: 47%;
	box-sizing: border-box;
	margin-bottom: 50px;
}

#top_menu .top_inner ul li:nth-child(2n) {
	float: right;
}

#top_menu .top_inner ul li a{
	border: 5px solid #1d446f;
	overflow: hidden;
	display: table;
	width: 100%;
	box-sizing: border-box;
	transition: .3s;
	padding: 33px 0;
}

#top_menu .top_inner ul li a:hover {
	background: #e2e8ef;
}

#top_menu .top_inner ul li a .text {
	display: table-cell;
	vertical-align: middle;
	max-width: 100%;
	text-align: center;
	padding: 0;
	box-sizing: border-box;
}

#top_menu .top_inner ul li a .text strong {
	display: block;
	text-align: center;
	font-size: 1.8rem;
	letter-spacing: .3rem;
	line-height: 100%;
	padding-bottom: 15px;
	font-weight: bold;
}

#top_menu .top_inner 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;
	max-width: 202px;
	margin: 0 auto;
}

#top_menu .top_inner 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;
}

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

#top_container,
#top_menu {
	padding-left: 3%;
	padding-right: 3%;
}

}

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

#top_container {
	padding-top: 30px;
	padding-bottom: 30px;
}

#top_menu {
	padding-top: 30px;
	padding-bottom: 30px;
}

#top_container #information{
	padding: 25px 30px;
}

#top_container #information h3 {
	font-size: 1.5rem;
}

#top_container #information a.more {
	width: 100%;
	box-sizing: border-box;
	font-size: .85rem;
	padding: 15px 0;
}

#top_container #information a.more:hover {
	background: #5ec4cf;
	color: #fff;
}

#top_container #information ul li {
	overflow: hidden;
	display: block;
}

#top_container #information ul li span {
	position: relative;
	display: inline-block;
	width: auto;
	box-sizing: border-box;
	padding: 0 55px 5px 0;
	font-size: .9rem;
}

#top_container #information ul li span.new {
	background: url(../img/top/new.png) no-repeat right 2px;
}

#top_container #information ul li p {
	padding-left: 0;
	font-size: .9rem;
	line-height: 150%;
}

#top_container #copy {
	padding: 50px 0 0;
}

#top_container #copy p {
	max-width: 450px;
	margin: 0 auto;
	width: 100%;
}

#top_container #copy .frame span img {
	width: 400px;
	margin-right: 40px;
}

#top_container #copy h3 {
	font-size: 1.8rem;
	letter-spacing: .2rem;
	line-height: 130%;
}

#top_container #copy .frame {
	display: block;
}

#top_container #copy .frame span {
	text-align: center;
	margin: 0 auto;
	display: block;
}

#top_container #copy .frame p {
	line-height: 200%;
	font-size: 1rem;
	letter-spacing: 0;
	padding-right: 0;
	padding-bottom: 0;
	display: block;
	font-feature-settings: "palt";
}

#top_container #copy .frame span img {
	max-width: 400px;
	width: 100%;
	margin-right: 0;
}
	
#top_menu .top_inner ul li {
	float: left;
	width: 48%;
	margin-bottom: 25px;
}

#top_menu .top_inner ul li:nth-child(2n) {
	float: right;
}

#top_menu .top_inner ul li a{
	border: 4px solid #1d446f;
	display: block;
	position: relative;
	padding: 14px;
	min-height: auto;
}

#top_menu .top_inner ul li a .text {
	width: 100%;
	display: block;
	padding: 0 0 0 0;
	box-sizing: border-box;
}

#top_menu .top_inner ul li a .text strong {
	position: absolute;
	top: 20px;
	left: 0;
	font-size: 1.5rem;
	display: block;
	width: 100%;
	font-weight: 100;
}

#top_menu .top_inner ul li a .text span {
	margin-top: 44px;
	box-sizing: border-box;
}

#top_menu .top_inner a.recruit_link{
	border: 4px solid #1d446f;
}

}

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

#top_container #copy h3 {
	font-size: 1.4rem;
	letter-spacing: 0;
	line-height: 150%;
}

#top_container #copy h3 br {
	display: block;
}

#top_container #copy .frame p {
	font-size: .85rem;
}

#top_container #copy .frame span img {
	max-width: 220px;
	width: 100%;
}

#top_menu .top_inner ul li {
	width: 48%;
	margin-bottom: 15px;
}

#top_menu .top_inner ul li a{
	border: 3px solid #1d446f;
	padding: 14px;
}

#top_menu .top_inner ul li a .img {
	margin-top: 30px;
}

#top_menu .top_inner ul li a .text strong {
	top: 16px;
	letter-spacing: .2rem;
	font-size: 1rem;
	display: block;
	width: 100%;
	max-width: 100%;
}

#top_menu .top_inner 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;
	margin-top: 30px;
}

#top_menu .top_inner 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-size: 12px 5px;
	background-color: #1d446f;
}

#top_menu .top_inner a.recruit_link{
	border: 3px solid #1d446f;
}

}