#topabout .title h2, #topproject .main h2, #topproject .main .board ul li > a .title span, #topnews h2 {
	font-family: 'PT Sans Narrow', sans-serif;
}

#topvisual {
	position: relative;
	height: 594px;
	overflow: hidden;
}
.tablet #topvisual {
	padding-top: 69.15017462165308%;
	height: 0px;
}
#topvisual > ul {
	display: none;
}
#topvisual .bg {
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	z-index: -1;
}
#topvisual .bg:before {
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	background: url(../../images/vc.png);
	z-index: 1;
}
#topvisual .bg img {
	position: absolute;
	width: 100%;
	min-width: 1920px;
	height: auto;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	z-index: 0;
	opacity: 0;
}
.tablet #topvisual .bg img {
	width: auto;
	min-width: 0px;
	height: 100%;
}
#topvisual .bg img.show {
	transition: opacity 800ms 1000ms;
	opacity: 1;
}
#topvisual .bg img.hide {
	transition: opacity 400ms 1500ms;
	opacity: 0;
}
#topvisual .bg img.hide.wait {
	transition: opacity 2500ms 1000ms linear;
}
#topvisual .bg.loopbg {
	background: url(../../images/v09.jpg);
	background-size: auto 100%;
}
#topvisual .text {
	position: absolute;
	top: 0px;
	left: 50%;
	width: 850px;
	max-width: calc(100% - 20px);
	height: 100%;
	z-index: 20;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}
#topvisual .text img {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 100%;
	height: auto;
	margin-left: -50px;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	z-index: 0;
	opacity: 0;
}
#topvisual .text img.show {
	margin-left: 0px;
	transition: 800ms 1000ms;
	opacity: 1;
}
#topvisual .text img.show.lasttext {
	transition: 800ms 1400ms;
}
#topvisual .text img.hide {
	transition: 400ms 400ms;
	opacity: 0;
}
#topvisual .text > div {
	position: absolute;
	top: 60%;
	left: 50%;
	width: 100%;
	padding-top: 24.70588235294118%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
#topvisual .text > div > img {
	margin-left: 0px;
}
#topvisual .text > div .w01 img {
	width: 25.41176470588235%;
	margin-top: 0%;
	margin-left: 0px;
	left: 11.05882352941176%;
}
#topvisual .text > div .w02 img {
	width: 25.41176470588235%;
	margin-top: 0%;
	margin-left: 0px;
	left: 51.1%;
}
#topvisual .text > div .w03 img {
	width: 25.41176470588235%;
	margin-top: 0%;
	margin-left: 0px;
	left: 87.88235294117647%;
}
#topvisual .text > div.show > img {
	transition: 800ms 2500ms;
	opacity: 1;
}
#topvisual .text > div.show .w01 img {
	margin-top: -8%;
	transition: 800ms 1000ms;
	opacity: 1;
}
#topvisual .text > div.show .w02 img {
	margin-top: -8%;
	transition: 800ms 1100ms;
	opacity: 1;
}
#topvisual .text > div.show .w03 img {
	margin-top: -8%;
	transition: 800ms 1200ms;
	opacity: 1;
}
#topvisual .text > div.hide {
	transition: all 1000ms 800ms;
	-webkit-transform: translate(-50%, 40%) scale(0.25);
	transform: translate(-50%, 40%) scale(0.25);
}
#topvisual .lane ul {
	position: absolute;
	display: block;
	width: 100%;
	max-width: 960px;
	height: 100%;
	top: 0px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}
#topvisual .lane ul li {
	position: absolute;
	display: block;
	width: 33.33333333333333%;
	height: 100%;
	top: 0px;
	background: rgba(0, 0, 0, 0.2);
	-webkit-transform: skew(-28deg);
	transform: skew(-28deg);
	overflow: hidden;
}
#topvisual .lane ul li.l01 {
	left: 0%;
}
#topvisual .lane ul li.l01:before {
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	background: -moz-linear-gradient(28deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.3) 35%, rgba(0, 0, 0, 0.6) 100%);
	background: -webkit-linear-gradient(28deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.3) 35%, rgba(0, 0, 0, 0.6) 100%);
	background: linear-gradient(28deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.3) 35%, rgba(0, 0, 0, 0.6) 100%);
	z-index: 5;
}
#topvisual .lane ul li.l01 div {
	top: 60%;
	transform: translateY(-350%);
}
#topvisual .lane ul li.l02 {
	left: 33.33333333333333%;
}
#topvisual .lane ul li.l02:before {
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	background: -moz-linear-gradient(28deg, rgba(0, 0, 0, 0.6) 0%, rgba(255, 255, 255, 0.3) 65%, rgba(255, 255, 255, 0) 100%);
	background: -webkit-linear-gradient(28deg, rgba(0, 0, 0, 0.6) 0%, rgba(255, 255, 255, 0.3) 65%, rgba(255, 255, 255, 0) 100%);
	background: linear-gradient(28deg, rgba(0, 0, 0, 0.6) 0%, rgba(255, 255, 255, 0.3) 65%, rgba(255, 255, 255, 0) 100%);
	z-index: 5;
}
#topvisual .lane ul li.l02:after {
	bottom: auto;
	top: 100%;
}
#topvisual .lane ul li.l02 div {
	top: 15%;
	transform: translateY(350%);
}
#topvisual .lane ul li.l03 {
	left: 66.66666666666667%;
}
#topvisual .lane ul li.l03:before {
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	background: -moz-linear-gradient(28deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.3) 35%, rgba(0, 0, 0, 0.6) 100%);
	background: -webkit-linear-gradient(28deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.3) 35%, rgba(0, 0, 0, 0.6) 100%);
	background: linear-gradient(28deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.3) 35%, rgba(0, 0, 0, 0.6) 100%);
	z-index: 5;
}
#topvisual .lane ul li.l03 div {
	top: 75%;
	transform: translateY(-350%);
}
#topvisual .lane ul li div {
	position: absolute;
	opacity: 0.6;
	z-index: 10;
	right: 0px;
	width: 67.5%;
}
#topvisual .lane ul li img {
	display: block;
	width: 100%;
	height: auto;
	-webkit-transform: skew(28deg);
	transform: skew(28deg);
}
#topvisual .lane ul li:after {
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	height: 8000px;
	bottom: 100%;
	left: 0px;
	background: rgba(20, 60, 140, 0.7);
	background: -moz-linear-gradient(top, rgba(20, 60, 140, 0) 0%, rgba(20, 60, 140, 0.7) 5%, rgba(20, 60, 140, 0.7) 95%, rgba(20, 60, 140, 0) 100%);
	background: -webkit-linear-gradient(top, rgba(20, 60, 140, 0) 0%, rgba(20, 60, 140, 0.7) 5%, rgba(20, 60, 140, 0.7) 95%, rgba(20, 60, 140, 0) 100%);
	background: linear-gradient(to bottom, rgba(20, 60, 140, 0) 0%, rgba(20, 60, 140, 0.7) 5%, rgba(20, 60, 140, 0.7) 95%, rgba(20, 60, 140, 0) 100%);
	transform: translateY(0);
}
#topvisual .lane.start .l01:after {
	transition: 4s linear 1s;
	transform: translateY(10000px);
}
#topvisual .lane.start .l01 div {
	transition: 14s cubic-bezier(0, 1, 0, 0.25) 1.5s;
	transform: translateY(0);
}
#topvisual .lane.start .l02:after {
	transition: 4s linear 4.5s;
	transform: translateY(-10000px);
}
#topvisual .lane.start .l02 div {
	transition: 14s cubic-bezier(0, 1, 0, 0.25) 5s;
	transform: translateY(0);
}
#topvisual .lane.start .l03:after {
	transition: 4s linear 8s;
	transform: translateY(10000px);
}
#topvisual .lane.start .l03 div {
	transition: 14s cubic-bezier(0, 1, 0, 0.25) 8.5s;
	transform: translateY(0);
}
#topvisual .lane.end .l01 div {
	transition: 400ms;
	opacity: 0;
}
#topvisual .lane.end .l02 div {
	transition: 400ms 100ms;
	opacity: 0;
}
#topvisual .lane.end .l03 div {
	transition: 400ms 200ms;
	opacity: 0;
}

#topabout > div {
	position: relative;
	position: relative;
	width: 100%;
	max-width: 1024px;
	margin: auto;
	padding: 100px 32px;
	height: 590px;
}
.sp #topabout > div {
	padding: 50px 16px;
}
.sp #topabout > div {
	padding-top: 0;
	height: 540px;
}
#topabout .title {
	position: absolute;
	top: 130px;
	right: 32px;
	z-index: 10;
}
.sp #topabout .title {
	top: 80px;
}
#topabout .title h2 {
	margin: 0px;
	padding: 0px;
	font-size: 60px;
	font-size: 3.75rem;
	line-height: 66px;
	line-height: 4.125rem;
	font-weight: bold;
}
.sp #topabout .title h2 {
	font-size: 30px;
	font-size: 1.875rem;
	line-height: 33px;
	line-height: 2.0625rem;
}
#topabout .image {
	position: absolute;
	top: 100px;
	left: 32px;
	width: 46.875%;
	max-width: 480px;
	z-index: 8;
}
.sp #topabout .image {
	top: 50px;
}
#topabout .image img {
	display: block;
	width: 100%;
	height: auto;
}
#topabout .button {
	position: absolute;
	top: 230px;
	right: 32px;
	background: #ffffff;
	z-index: 10;
}
.sp #topabout .button {
	top: 160px;
}
#topabout .button a {
	position: relative;
	display: table;
	width: 100%;
	min-width: 280px;
	height: 65px;
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 19.8px;
	line-height: 1.2375rem;
	font-weight: bold;
	color: #ffffff;
	background: #143c8c;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
#topabout .button a > * {
	display: table-cell;
	height: 100%;
	text-align: left;
	vertical-align: middle;
}
#topabout .button a:hover {
	opacity: 0.7;
}
#topabout .button a > span {
	padding: 5px 55px 5px 15px;
}
#topabout .button a:before {
	content: "";
	display: block;
	position: absolute;
	top: 29px;
	right: 10px;
	border: 3px solid #ffffff;
	border-top-color: transparent;
	border-right-color: transparent;
}
#topabout .button a:after {
	content: "";
	display: block;
	position: absolute;
	top: 32px;
	right: 15px;
	width: 21px;
	height: 3px;
	background: #ffffff;
}
#topabout .text {
	position: absolute;
	top: 270px;
	right: 32px;
	width: 60.546875%;
	max-width: 620px;
	padding: 70px 20px 32px;
	z-index: 4;
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 28.8px;
	line-height: 1.8rem;
	font-weight: bold;
	background: #d4d5d5;
}
.sp #topabout .text {
	width: calc(100% - 32px);
	padding: 50px 20px 32px;
	z-index: 9;
	top: 190px;
}
#topabout .text p {
	margin: 0px 0px 0px auto;
	max-width: 70.9677419%;
}
.sp #topabout .text p {
	max-width: none;
	z-index: 10;
}

#topproject {
	position: relative;
}
#topproject .bg {
	position: absolute;
	width: 100%;
	height: 360px;
	top: 0px;
	left: 0px;
	overflow: hidden;
}
#topproject .bg:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	background: url(../../images/projectc.png);
	z-index: 1;
}
#topproject .bg img {
	position: absolute;
	width: 100%;
	min-width: 1920px;
	height: auto;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}
#topproject .main {
	position: relative;
	max-width: 1024px;
	margin: auto;
	padding: 45px 0px;
	z-index: 10;
}
#topproject .main h2 {
	position: relative;
	width: 100%;
	max-width: 1024px;
	margin: auto;
	padding: 0px 32px;
	font-size: 60px;
	font-size: 3.75rem;
	line-height: 66px;
	line-height: 4.125rem;
}
.sp #topproject .main h2 {
	padding: 0px 16px;
}
.sp #topproject .main h2 {
	font-size: 30px;
	font-size: 1.875rem;
	line-height: 33px;
	line-height: 2.0625rem;
}
#topproject .main > p {
	position: relative;
	width: 100%;
	max-width: 1024px;
	margin: auto;
	padding: 20px 32px 45px;
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 23.4px;
	line-height: 1.4625rem;
	font-weight: bold;
}
.sp #topproject .main > p {
	padding: 10px 16px 22.5px;
}
#topproject .main .button {
	position: absolute;
	right: 32px;
	margin-top: -32px;
	background: #ffffff;
	z-index: 6;
}
#topproject .main .button a {
	position: relative;
	display: table;
	width: 100%;
	min-width: 280px;
	height: 65px;
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 19.8px;
	line-height: 1.2375rem;
	font-weight: bold;
	color: #ffffff;
	background: #143c8c;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
#topproject .main .button a > * {
	display: table-cell;
	height: 100%;
	text-align: left;
	vertical-align: middle;
}
#topproject .main .button a:hover {
	opacity: 0.7;
}
#topproject .main .button a > span {
	padding: 5px 55px 5px 15px;
}
#topproject .main .button a:before {
	content: "";
	display: block;
	position: absolute;
	top: 29px;
	right: 10px;
	border: 3px solid #ffffff;
	border-top-color: transparent;
	border-right-color: transparent;
}
#topproject .main .button a:after {
	content: "";
	display: block;
	position: absolute;
	top: 32px;
	right: 15px;
	width: 21px;
	height: 3px;
	background: #ffffff;
}
#topproject .main .board {
	padding: 70px 32px 0px;
	background: #ffffff;
}
.sp #topproject .main .board {
	padding: 70px 16px 0;
}
#topproject .main .board ul {
	margin: 0px -5px 0px -16px;
}
#topproject .main .board ul:after {
	content: "";
	display: block;
	clear: both;
}
.sp #topproject .main .board ul {
	margin: 0;
}
#topproject .main .board ul li {
	float: left;
	width: calc((100% - 48px - 5px) / 3);
	margin-left: 16px;
}
.sp #topproject .main .board ul li {
	float: none;
	width: 100%;
	margin: 0;
}
.sp #topproject .main .board ul li + li {
	margin-top: 20px;
}
#topproject .main .board ul li > a {
	position: relative;
	display: block;
	overflow: hidden;
}
#topproject .main .board ul li > a > span {
	position: absolute;
	bottom: -310px;
	width: 100%;
	padding: 10px 10px 15px;
	color: #ffffff;
	background: rgba(20, 60, 140, 0.7);
	-webkit-transition: bottom 600ms;
	transition: bottom 600ms;
}
#topproject .main .board ul li > a:hover > span {
	bottom: 0px !important;
}
#topproject .main .board ul li > a .title {
	display: block;
	margin-bottom: 10px;
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 21.6px;
	line-height: 1.35rem;
	letter-spacing: -1px;
	font-weight: bold;
}
#topproject .main .board ul li > a .title span {
	display: block;
	margin-bottom: 8px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 17.6px;
	line-height: 1.1rem;
	letter-spacing: 0px;
	font-weight: bold;
}
#topproject .main .board ul li > a .text {
	display: block;
	padding-top: 5px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 24px;
	line-height: 1.5rem;
	overflow: hidden;
}
#topproject .main .board ul li > a .more {
	position: relative;
	display: block;
	padding: 25px 50px 0px 0px;
	text-align: right;
	font-size: 16px;
	font-size: 1rem;
	line-height: 17.6px;
	line-height: 1.1rem;
	font-weight: bold;
}
#topproject .main .board ul li > a .more:before {
	content: "";
	display: block;
	position: absolute;
	top: 29px;
	right: 10px;
	border: 3px solid #ffffff;
	border-top-color: transparent;
	border-right-color: transparent;
}
#topproject .main .board ul li > a .more:after {
	content: "";
	display: block;
	position: absolute;
	top: 32px;
	right: 15px;
	width: 21px;
	height: 3px;
	background: #ffffff;
}
#topproject .main .board ul li > a img {
	display: block;
	width: 100%;
	height: auto;
}
#topproject .main .board h3 {
	margin: 0px 0px 15px;
	padding: 0px;
	font-size: 24px;
	font-size: 1.5rem;
	line-height: 31.2px;
	line-height: 1.95rem;
	text-align: center;
}
#topproject .main .board h3 a {
	color: #000000;
	position: relative;
	display: inline-block;
}
#topproject .main .board h3 a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: -0.20em;
	left: 0px;
	width: 100%;
	height: 1px;
	background: #000000;
	-webkit-transition: 0.2s;
	transition: 0.2s;
	-webkit-transform: scale(0);
	transform: scale(0);
}
#topproject .main .board h3 a:hover:before {
	-webkit-transform: scale(1);
	transform: scale(1);
}

#topworks {
	position: relative;
}
#topworks:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 220px;
	bottom: 0px;
	background: #e4e4e4;
}
#topworks > div {
	position: relative;
	width: 100%;
	max-width: 1024px;
	margin: auto;
	padding: 45px 32px;
}
.sp #topworks > div {
	padding: 22.5px 16px;
}
#topworks .projectlist {
	position: relative;
	padding: 0px 55px;
}
#topworks .projectlist li {
	float: left;
	padding: 0px 6px;
}
#topworks .projectlist li a {
	display: block;
	overflow: hidden;
}
#topworks .projectlist li a:hover .image img {
	-webkit-transform: scale(1.1);
	transform: scale(1.1);
}
#topworks .projectlist li .image {
	display: block;
	margin-bottom: 10px;
	overflow: hidden;
}
#topworks .projectlist li .image img {
	display: block;
	width: 100%;
	height: auto;
	-webkit-transition: 800ms;
	transition: 800ms;
}
#topworks .projectlist li .title {
	display: block;
	margin-bottom: 10px;
	height: 2.5rem;
	font-size: 16px;
	font-size: 1rem;
	line-height: 20.8px;
	line-height: 1.3rem;
	letter-spacing: -1px;
	color: #000000;
	font-weight: bold;
	overflow: hidden;
}
#topworks .projectlist li .more {
	display: inline-block;
	position: relative;
	padding-right: 36px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 17.6px;
	line-height: 1.1rem;
	color: #143c8c;
	font-weight: bold;
}
#topworks .projectlist li .more:before {
	content: "";
	display: block;
	position: absolute;
	top: 4px;
	right: 0px;
	border: 3px solid #143c8c;
	border-top-color: transparent;
	border-right-color: transparent;
}
#topworks .projectlist li .more:after {
	content: "";
	display: block;
	position: absolute;
	top: 7px;
	right: 5px;
	width: 21px;
	height: 3px;
	background: #143c8c;
}
#topworks .projectlist .prev.slick-arrow span {
	position: absolute;
	left: -50px;
	top: 0px;
	display: block;
	width: 50px;
	height: 65px;
	text-indent: -10000px;
	background: #143c8c;
	overflow: hidden;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
#topworks .projectlist .prev.slick-arrow span:hover {
	opacity: 0.7;
}
#topworks .projectlist .prev.slick-arrow span:before {
	content: "";
	display: block;
	position: absolute;
	top: 26px;
	left: 17px;
	border: 6px solid transparent;
	border-left: 0px;
	border-right: 5px solid #ffffff;
}
#topworks .projectlist .prev.slick-arrow span:after {
	content: "";
	display: block;
	position: absolute;
	top: 30px;
	left: 21px;
	width: 12px;
	height: 4px;
	background: #ffffff;
}
#topworks .projectlist .next.slick-arrow span {
	position: absolute;
	right: -54px;
	top: 0px;
	display: block;
	width: 50px;
	height: 65px;
	text-indent: -10000px;
	background: #143c8c;
	overflow: hidden;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
#topworks .projectlist .next.slick-arrow span:hover {
	opacity: 0.7;
}
#topworks .projectlist .next.slick-arrow span:before {
	content: "";
	display: block;
	position: absolute;
	top: 26px;
	right: 17px;
	border: 6px solid transparent;
	border-right: 0px;
	border-left: 5px solid #ffffff;
}
#topworks .projectlist .next.slick-arrow span:after {
	content: "";
	display: block;
	position: absolute;
	top: 30px;
	right: 21px;
	width: 12px;
	height: 4px;
	background: #ffffff;
}
#topworks .projectlist .slick-disabled span {
	background: #666 !important;
	cursor: default !important;
}
#topworks .projectlist .slick-disabled span:hover {
	opacity: 1 !important;
}

#topnews {
	margin: 100px 0px 35px;
	border-top: 1px solid #000000;
	border-bottom: 1px solid #000000;
}
#topnews > div {
	position: relative;
	width: 100%;
	max-width: 1024px;
	margin: auto;
	padding: 40px 32px;
}
.sp #topnews > div {
	padding: 20px 16px;
}
#topnews h2 {
	margin: 0px 0px 30px;
	padding: 0px;
	font-size: 60px;
	font-size: 3.75rem;
	line-height: 66px;
	line-height: 4.125rem;
}
.sp #topnews h2 {
	font-size: 30px;
	font-size: 1.875rem;
	line-height: 33px;
	line-height: 2.0625rem;
}
#topnews .button {
	background: #ffffff;
	text-align: center;
}
#topnews .button a {
	position: relative;
	display: table;
	width: 100%;
	width: 280px;
	height: 65px;
	margin: 30px auto 0;
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 19.8px;
	line-height: 1.2375rem;
	font-weight: bold;
	color: #ffffff;
	background: #143c8c;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
#topnews .button a > * {
	display: table-cell;
	height: 100%;
	text-align: left;
	vertical-align: middle;
}
#topnews .button a:hover {
	opacity: 0.7;
}
#topnews .button a > span {
	padding: 5px 55px 5px 15px;
}
#topnews .button a:before {
	content: "";
	display: block;
	position: absolute;
	top: 29px;
	right: 10px;
	border: 3px solid #ffffff;
	border-top-color: transparent;
	border-right-color: transparent;
}
#topnews .button a:after {
	content: "";
	display: block;
	position: absolute;
	top: 32px;
	right: 15px;
	width: 21px;
	height: 3px;
	background: #ffffff;
}

#topbanner > div {
	position: relative;
	width: 100%;
	max-width: 1024px;
	margin: auto;
	padding: 100px 32px;
}
.sp #topbanner > div {
	padding: 50px 16px;
}
#topbanner ul {
	margin-left: -20px;
	margin-right: -5px;
	overflow: hidden;
}
#topbanner li {
	float: left;
	width: calc((100% - 80px - 5px) / 4);
	margin-left: 20px;
}
#topbanner a {
	display: inline-block;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
#topbanner a:hover {
	opacity: 0.7;
}
#topbanner a img {
	display: block;
	width: 100%;
	height: auto;
}
