@charset "UTF-8";
/* =======================================

	IndexElements

======================================= */
/*-----------------------------------------
	Fonts
-----------------------------------------*/
/* -- Montserrat -- */
#serviceField nav ul li dl dt,
#newsField ul li .postInfo .postDate {
	font-family: 'Montserrat',sans-serif;
	letter-spacing: 0.1em;
}

/* -- Noto Sans ＆ Montserrat -- */
h2 {
	font-family: 'Montserrat','Noto Sans JP', YuGothic, "游ゴシック",sans-serif;
}

/*-----------------------------------------
	commonElements
-----------------------------------------*/
#container {
	width: 100%;
	min-width: 980px;
	overflow-x: hidden;
}

.contBase {
	position: relative;
}

#indexWrapper {
	opacity: 1;
	transition: all 1s linear;
}

h2 {
	margin: 0 0 40px;
	font-size: 1.429em;
}

h3 {
	font-size: 1.429em;
}

.btn {
	font-size: 1.143em;
}

.contBase img.num {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 2;
}

.contBaseWrap {
	position: relative;
	z-index: 3;
}

@media only screen and (max-width: 768px) {
#container {
	min-width: 100%;
}
h2 {
	margin: 0 0 4vw;
}
.contBase img.num {
	display: none;
}
}

/*-----------------------------------------
	globalHeader
-----------------------------------------*/
header#globalHeader {
	top: 0;
	transition: all 0.8s ease;
}

/*-----------------------------------------
	keyField
-----------------------------------------*/
#keyField {
	height: calc(100vh - 100px);
	min-height: 700px;
	position: relative;
	text-align: center;
	font-size: 1.286em;
	overflow: visible;
}

body.tbView #keyField {
	height: auto;
}

#keyField .titWrap {
	top: 0!important;
	position: relative;
	transition: all 0.8s ease-in-out;
	transform: scale(1);
	-webkit-transform: scale(1);
}

#keyField .mv_copy {
	margin: 0 auto;
	text-align: center;
	display: block;
	position: relative;
	z-index: 2;
}

#keyField .mv_copy.mv_ttl01 {
	padding: 20px 0 0;
	text-align: center;
	visibility: hidden;
}

#keyField .mv_copy.mv_ttl01 * {
	vertical-align: middle;
}

#keyField .mv_copy.mv_ttl01 .solfield span {
	width: 25px;
	height: 40px;
	display: inline-block;
	text-indent: -9999px;
	overflow: hidden;
	background: url(../img/index/mv_alph.png) no-repeat 0 0;
	background-size: 100% auto;
}
#keyField .mv_copy.mv_ttl01 .solfield span.wdA {background-position: 0 -40px;}
#keyField .mv_copy.mv_ttl01 .solfield span.wdB {background-position: 0 -80px;}
#keyField .mv_copy.mv_ttl01 .solfield span.wdC {background-position: 0 -120px;}
#keyField .mv_copy.mv_ttl01 .solfield span.wdD {background-position: 0 -160px;}
#keyField .mv_copy.mv_ttl01 .solfield span.wdE {background-position: 0 -200px;}
#keyField .mv_copy.mv_ttl01 .solfield span.wdF {background-position: 0 -240px;}
#keyField .mv_copy.mv_ttl01 .solfield span.wdG {background-position: 0 -280px;}
#keyField .mv_copy.mv_ttl01 .solfield span.wdH {background-position: 0 -320px;}
#keyField .mv_copy.mv_ttl01 .solfield span.wdI {background-position: 0 -360px;}
#keyField .mv_copy.mv_ttl01 .solfield span.wdJ {background-position: 0 -400px;}
#keyField .mv_copy.mv_ttl01 .solfield span.wdK {background-position: 0 -440px;}
#keyField .mv_copy.mv_ttl01 .solfield span.wdL {background-position: 0 -480px;}
#keyField .mv_copy.mv_ttl01 .solfield span.wdM {background-position: 0 -520px;}
#keyField .mv_copy.mv_ttl01 .solfield span.wdN {background-position: 0 -560px;}
#keyField .mv_copy.mv_ttl01 .solfield span.wdO {background-position: 0 -600px;}
#keyField .mv_copy.mv_ttl01 .solfield span.wdP {background-position: 0 -640px;}
#keyField .mv_copy.mv_ttl01 .solfield span.wdQ {background-position: 0 -680px;}
#keyField .mv_copy.mv_ttl01 .solfield span.wdR {background-position: 0 -720px;}
#keyField .mv_copy.mv_ttl01 .solfield span.wdS {background-position: 0 -760px;}
#keyField .mv_copy.mv_ttl01 .solfield span.wdT {background-position: 0 -800px;}
#keyField .mv_copy.mv_ttl01 .solfield span.wdU {background-position: 0 -840px;}
#keyField .mv_copy.mv_ttl01 .solfield span.wdV {background-position: 0 -880px;}
#keyField .mv_copy.mv_ttl01 .solfield span.wdW {background-position: 0 -920px;}
#keyField .mv_copy.mv_ttl01 .solfield span.wdX {background-position: 0 -960px;}
#keyField .mv_copy.mv_ttl01 .solfield span.wdY {background-position: 0 -1000px;}
#keyField .mv_copy.mv_ttl01 .solfield span.wdZ {background-position: 0 -1040px;}

#keyField .mv_copy.mv_ttl01 small {
	padding: 0 25px;
	color: #8a8a8a;
	font-size: 1.1em;
	font-weight: bold;
	display: inline-block;
}

@media only screen and (max-width: 768px) {
#keyField .mv_copy.mv_ttl01 .solfield span {
	width: 10px;
	height: 16px;
}
#keyField .mv_copy.mv_ttl01 .solfield span.wdA {background-position: 0 -16px;}
#keyField .mv_copy.mv_ttl01 .solfield span.wdB {background-position: 0 -32px;}
#keyField .mv_copy.mv_ttl01 .solfield span.wdC {background-position: 0 -48px;}
#keyField .mv_copy.mv_ttl01 .solfield span.wdD {background-position: 0 -64px;}
#keyField .mv_copy.mv_ttl01 .solfield span.wdE {background-position: 0 -80px;}
#keyField .mv_copy.mv_ttl01 .solfield span.wdF {background-position: 0 -96px;}
#keyField .mv_copy.mv_ttl01 .solfield span.wdG {background-position: 0 -112px;}
#keyField .mv_copy.mv_ttl01 .solfield span.wdH {background-position: 0 -128px;}
#keyField .mv_copy.mv_ttl01 .solfield span.wdI {background-position: 0 -144px;}
#keyField .mv_copy.mv_ttl01 .solfield span.wdJ {background-position: 0 -160px;}
#keyField .mv_copy.mv_ttl01 .solfield span.wdK {background-position: 0 -176px;}
#keyField .mv_copy.mv_ttl01 .solfield span.wdL {background-position: 0 -192px;}
#keyField .mv_copy.mv_ttl01 .solfield span.wdM {background-position: 0 -208px;}
#keyField .mv_copy.mv_ttl01 .solfield span.wdN {background-position: 0 -224px;}
#keyField .mv_copy.mv_ttl01 .solfield span.wdO {background-position: 0 -240px;}
#keyField .mv_copy.mv_ttl01 .solfield span.wdP {background-position: 0 -256px;}
#keyField .mv_copy.mv_ttl01 .solfield span.wdQ {background-position: 0 -272px;}
#keyField .mv_copy.mv_ttl01 .solfield span.wdR {background-position: 0 -288px;}
#keyField .mv_copy.mv_ttl01 .solfield span.wdS {background-position: 0 -304px;}
#keyField .mv_copy.mv_ttl01 .solfield span.wdT {background-position: 0 -320px;}
#keyField .mv_copy.mv_ttl01 .solfield span.wdU {background-position: 0 -336px;}
#keyField .mv_copy.mv_ttl01 .solfield span.wdV {background-position: 0 -352px;}
#keyField .mv_copy.mv_ttl01 .solfield span.wdW {background-position: 0 -368px;}
#keyField .mv_copy.mv_ttl01 .solfield span.wdX {background-position: 0 -384px;}
#keyField .mv_copy.mv_ttl01 .solfield span.wdY {background-position: 0 -400px;}
#keyField .mv_copy.mv_ttl01 .solfield span.wdZ {background-position: 0 -416px;}

#keyField .mv_copy.mv_ttl01 small {
	padding: 0;
	font-size: 0.7em;
	font-weight: normal;
}
}

#keyField .mv_copy.mv_ttl02 {
	padding: 40px 0 0;
	width: 765px;
	text-align: center;
	position: relative;
	visibility: hidden;
}

#keyField .mv_copy.mv_ttl02 img {
	width: 100%;
	position: relative;
	opacity: 0;
	z-index: 1;
	transition: all 1s ease-out;
	/* transform: scale(1.15);
	-webkit-transform: scale(1.15); */
}
#keyField .mv_copy.mv_ttl02 img.setShow {
	opacity: 1;
	/* transform: scale(1);
	-webkit-transform: scale(1); */
}
#keyField .mv_copy.mv_ttl02 #svgWrap {
	top: 40px;
	left: 0;
	width: 100%;
	position: absolute;
	z-index: 2;
	transition: all 1s ease-out;
	transform: scale(1);
	-webkit-transform: scale(1);
}
@media all and (-ms-high-contrast: none){
	#keyField .mv_copy.mv_ttl02 #svgWrap {
		top: 10px;
	}
}

#keyField .mv_copy.mv_ttl02 #svgWrap.setShow {
	opacity: 0;
	transform: scale(1.1);
	-webkit-transform: scale(1.1);
}

#keyField .mv_copy.mv_ttl02 #svgWrap svg {
	width: 100%;
}

#keyField p.read {
	top: -20px;
	padding: 40px 0 0 0;
	text-align: center;
	line-height: 2;
	letter-spacing: 0.12em;
	position: relative;
	z-index: 3;
	opacity: 0;
}

#keyField .handImage {
	position: absolute;
	top: 25%;
	z-index: 1;
}

#keyField .handL {
	width: 51.5%;
	left: -100px;
	transition: all .7s ease-in-out;
	transform: rotateZ(-7deg);
	-webkit-transform: rotateZ(-7deg);
}
#keyField .handR {
	width: 46.1%;
	right: -100px;
	transition: all .7s ease-in-out;
	transform: rotateZ(7deg);
	-webkit-transform: rotateZ(7deg);
}

#keyField .handL.setShow {
	left: 0;
	transform: rotateZ(0deg);
	-webkit-transform: rotateZ(0deg);
}
#keyField .handR.setShow {
	right: 0;
	transform: rotateZ(0deg);
	-webkit-transform: rotateZ(0deg);
}

#keyField .handImage img {
	width: 100%;
	position: relative;
	opacity: 0;
	transition: all .7s ease-in-out;
}
#keyField .handImage.setShow img {
	opacity: 1;
}

@media only screen and (max-width: 768px) {
#keyField {
	height: calc(100vh - 75px);
	min-height: auto;
}
#keyField .mv_copy.mv_ttl01 {
	width: 76%;
	padding: 8vw auto 0;
}
#keyField .mv_copy.mv_ttl02 {
	width: 85%;
	padding: 8vw auto 0;
}
#keyField p.read {
	padding: 8vw auto 0;
	letter-spacing: 0.05em;
}
#keyField .handImage {
	position: absolute;
	transform: translateY(0);
	-webkit-transform: translateY(0);
}
#keyField .handL {
	top: auto;
	bottom: 4vw;
	width: 76%;
}
#keyField .handR {
	top: auto;
	bottom: 25vw;
	width: 70%;
}
#keyField .handL.setShow {
	left: -11vw;
}
#keyField .handR.setShow {
	right: -11vw;
}
}

/*iPhoneX*/
@media only screen
	and (device-width : 375px)
	and (device-height : 812px)
	and (-webkit-device-pixel-ratio : 3) {
#keyField p.read {
	padding: 15vw auto 0;
}
#keyField .handL {
	top: auto;
	bottom: 10vw;
	width: 100%;
}
#keyField .handR {
	top: auto;
	bottom: 45vw;
	width: 96%;
}
#keyField .handL.setShow {
	left: -28vw;
}
#keyField .handR.setShow {
	right: -30vw;
}
}


/*-----------------------------------------
	groupInfo
-----------------------------------------*/
.groupInfo {
	margin-top: 120px;
	width: 100%;
	text-align: center;
	line-height: 56px;
	z-index: 4;
	opacity: 0;
}

.groupInfo figure {
	display: inline;
	vertical-align:middle;
}

.groupInfo figure img {
	position: relative;
	transition: all 2s ease;
}

.groupInfo figure:nth-of-type(1) img {
	right: -30px;
}
.groupInfo figure:nth-of-type(2) img {
	left: -30px;
}
.groupInfo.setShow figure:nth-of-type(1) img {
	right: 0;
}
.groupInfo.setShow figure:nth-of-type(2) img {
	left: 0;
}

.groupInfo span {
	width: 76px;
	height: 76px;
	margin: 0 20px;
	display: inline-block;
	text-align: left;
	vertical-align:middle;
	text-indent: -9999px;
	position: relative;
}

.groupInfo span:before,
.groupInfo span:after {
	content: "";
	width: 100%;
	height: 1px;
	display: block;
	background: #cccccc;
	position: absolute;
	top: 50%;
	left: 0;
}

.groupInfo span:before {
	transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
}

.groupInfo span:after {
	transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
}

.groupInfo p {
	top: -30px;
	padding: 0 0 100px;
	text-align: center;
	line-height: 2;
	font-size: 1.143em;
	position: relative;
	transition: all 1s ease-out;
	opacity: 0;
}
.groupInfo.setShow p {
	top: 0;
	opacity: 1;
}

@media only screen and (max-width: 768px) {
.groupInfo {
	width: 88%;
	margin: 80px 6% 0;
	line-height: 56px;
	bottom: 20px;
}

.groupInfo * {
	vertical-align: middle;
}

.groupInfo div {
	display: flex;
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
}

.groupInfo img {
	max-width: 100%;
	height: auto;
}

.groupInfo span {
	width: 15%;
	height: 15%;
	margin: 0 4%;
}
.groupInfo p {
	padding: 0 0 60px;
	width: 88%;
	margin: 0 6%;
	display: block;
}
}

/*-----------------------------------------
	cvLoad
-----------------------------------------*/
.cvLoad {
	visibility: hidden;
}

.cvWrap {
	display: inline-block;
	position: relative;
}

.cvWrap .cvLine {
	top: 0;
	left: auto;
	right: 0;
	width: 0;
	/*height: 100%;*/
	display: inline-block;
	background-color: #000;
	/*background-color: #008fc0;*/
	position: absolute;
	transition: all 0.2s ease;
	z-index: 1000;
}
.cvWrap .cvLine.cvShow {
	left: 0;
	right: auto;
	width: 100%;
}

/*-----------------------------------------
	serviceField
-----------------------------------------*/
#serviceField {
	padding: 100px 0 0;
}

#serviceField .sectionCopy {
	margin: 0 0 30px 0;
}

#serviceField .read {
	padding: 30px 0 80px;
	font-size: 1.143em;
	opacity: 0;
}

#serviceField nav ul {
	display: flex;
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	align-items: center;
	-ms-flex-align: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
}

#serviceField nav ul li {
	position: relative;
	opacity: 0;
	transition: all 0.4s ease-out;
	transform: translateY(30px);
	-webkit-transform: translateY(30px);
}

#serviceField nav li.setShow {
	opacity: 1;
	transform: translateY(0);
	-webkit-transform: translateY(0);
}

#serviceField nav ul li a {
	width: 326px;
	height: 326px;
	color: #ffffff;
	display: block;
	position: relative;
	overflow: hidden;
}

#serviceField nav ul li a:after {
	content: "";
	width: 100%;
	height: 100%;
	display: block;
	visibility: hidden;
	border: 2px solid #ffffff;
	position: absolute;
	top: 0;
	left: 0;
	transition: all 0.2s ease;
}

body.pcView #serviceField nav ul li a:hover:after {
	visibility: visible;
	transform: scale(0.92);
	-webkit-transform: scale(0.92);
}

#serviceField nav ul li img {
	position: absolute;
	top: 0;
	right: 0;
}

#serviceField nav ul li dl {
	width: 100%;
	padding: 25px 20px;
	position: absolute;
	left: 0;
	bottom: 0;
	background: rgba(0,0,0,0.5);
}

#serviceField nav ul li dl dt,
#serviceField nav ul li dl dd {
	width: 100%;
}

#serviceField nav ul li dl dt {
	padding: 0 0 15px;
	font-size: 2em;
}

#serviceField nav ul li dl dd {
	font-size: 1.429em;
}

#serviceField .serviceBird {
	position: absolute;
	top: 100px;
	left: 386px;
	z-index: 5;
	transform: scale(1.05) rotateZ(-5deg);
	-webkit-transform: scale(1.05) rotateZ(-5deg);
}

#serviceField .serviceBird.setShow {
	top: -88px;
	transition: all .6s ease-in-out;
	transform: scale(1) rotateZ(0deg);
	-webkit-transform: scale(1) rotateZ(0deg);
}

#serviceField .serviceBird img {
	opacity: 0;
	transition: all .1s ease-in-out;
	transform: scale(1.1) rotateY(90deg);
	-webkit-transform: scale(1.1) rotateY(90deg);
}

#serviceField .serviceBird.setShow img {
	opacity: 1;
	transition: all 1s ease-in-out;
	transform: scale(1) rotateY(0deg);
	-webkit-transform: scale(1) rotateY(0deg);
}

@media only screen and (max-width: 768px) {
#serviceField {
	padding: 50px 0 0;
	/*overflow: visible;*/
}
#serviceField .sectionCopy {
	max-width: 67%;
	margin: 0 0 4vw 0;
}
#serviceField .read {
	padding: 4vw 0 8vw;
	position: relative;
	z-index: 10;
}
#serviceField nav ul {
	flex-direction: column;
	-ms-flex-direction : column;
	-webkit-flex-direction: column;
}
#serviceField nav ul li {
	width: 100%;
	overflow: hidden;
}
#serviceField nav ul li.sDesign {background: #855b54;}
#serviceField nav ul li.sSystem {background: #7c7c7c;}
#serviceField nav ul li.sServer {background: #b3cedf;}
#serviceField nav ul li a {
	width: 100%;
	height: auto;
}
body.pcView #serviceField nav ul li a:hover:after {
	display: none;
}
#serviceField nav ul li img {
	width: auto;
	height: 100%;
}
#serviceField nav ul li dl {
	width: 72%;
	height: auto;
	padding: 9% 20px;
	position: relative;
	left: 0;
	bottom: 0;
	background: rgba(0,0,0,0.5);
}
#serviceField .serviceBird {
	width: 82%;
	position: absolute;
	top: 0vw;
	left: auto;
	right: -30%;
	z-index: 5;
}
#serviceField .serviceBird.setShow {
	top: -9vw;
}
#serviceField .serviceBird img {
	width: 100%;
}
}

@media only screen and (max-width: 400px) {
#serviceField .serviceBird.setShow {
	top: -15vw;
}
}

/*-----------------------------------------
	logoField
-----------------------------------------*/
#logoField {
	display: flex;
	display: -webkit-box;
	display: -webkit-flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	justify-content: space-between;
}
#logoField .logoWrap {
	opacity: 0;
	margin: 42px 0 0;
	transition: all 0.4s ease-out;
	transform: perspective(2500px) rotateX(-100deg);
}
#logoField .logoWrap:first-child {
	margin-top: 90px;
	width: 100%;
}
#logoField .logoWrap:nth-child(2) {
	width: 34%;
}
#logoField .logoWrap:nth-child(3) {
	width: 62%;
}
#logoField .logoWrap > span {
	opacity: 0;
	transform: translateX(-50px);
	transition: all 0.3s ease-out;
}
#logoField .logoWrap > figure {
	opacity: 0;
	transition: all 0.4s ease-out;
	transform: perspective(2500px) rotateX(-100deg);
}
#logoField .logoWrap:nth-child(3) > figure {
	margin-left: 18px !important;
	margin-right: 18px !important;
}

/* .loadShow  */
#logoField .logoWrap.loadShow {
	opacity: 1;
	transform: perspective(2500px) rotateX(0);
}
#logoField .logoWrap.loadShow > span {
	opacity: 1;
	transform: translateX(0);
	transition-delay: .3s;
}
#logoField .logoWrap.loadShow > figure {
	opacity: 1;
	transform: perspective(2500px) rotateX(0);
}
#logoField .logoWrap.loadShow > figure:first-of-type {
	transition-delay: .4s;
}
#logoField .logoWrap.loadShow > figure:nth-of-type(2) {
	transition-delay: .5s;
}
#logoField .logoWrap.loadShow > figure:nth-of-type(3) {
	transition-delay: .6s;
}

@media only screen and (max-width: 768px) {
	#logoField .logoWrap:nth-child(2) {
		width: 100%;
	}
	#logoField .logoWrap:nth-child(3) {
		width: 100%;
	}
}


/*-----------------------------------------
	worksField
-----------------------------------------*/
#worksField {
	padding: 100px 0;
}

#worksField .sectionCopy {
	margin: 0 0 30px 0;
}

#worksField #worksSlide {
	width: 980px;
	height: 600px;
	margin: 30px 0 130px;
	position: relative;
}

#worksField #worksSlide #worksListSP {display: none;}

#worksField #worksSlide .worksList {
	padding: 0 0 60px;
}

#worksField #worksSlide .worksList .worksItem {
	display: flex;
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	align-items: center;
	-ms-flex-align: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	opacity: 0;
	transition: all 0.5s ease-in-out;
	transform: translateX(50px);
	-webkit-transform: translateX(50px);
}

#worksField #worksSlide .worksList .worksItem:nth-of-type(even) {
	flex-direction: row-reverse;
	-ms-flex-direction: row-reverse;
	-webkit-box-direction: reverse;
	-webkit-flex-direction: row-reverse;
	text-align: right;
	transform: translateX(-50px);
	-webkit-transform: translateX(-50px);
}

#worksField #worksSlide .worksList.setShow .worksItem {
	opacity: 1;
	transform: translateY(0);
	-webkit-transform: translateY(0);
}

#worksField #worksSlide .worksList .worksItem figure {
	width: 490px;
	border: 1px solid #e2e2e2;
	overflow: hidden;
}

#worksField #worksSlide .worksList .worksItem:nth-of-type(even) figure {
	position: relative;
	left: -1px;
	top: -1px;
}

#worksField #worksSlide .worksList .worksItem .worksInfo {
	padding: 0 60px;
}
#worksField #worksSlide .worksList .worksItem .worksInfo dl {
	line-height: 1.2;
}

#worksField #worksSlide .worksList .worksItem .worksInfo dl dt {
	padding:0 0 1.5em ;
	font-size: 1.429em;
}

#worksField #worksSlide .worksList .worksItem .worksInfo dl dd {
	padding:0 0 40px;
	font-size: 1.143em;
}

/* Slider */
.slick-slider {
	position: relative;
	display: block;
	box-sizing: border-box;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-webkit-touch-callout: none;
	-khtml-user-select: none;
	-ms-touch-action: pan-y;
	touch-action: pan-y;
	-webkit-tap-highlight-color: transparent;
}

.slick-list {
	position: relative;
	display: block;
	overflow: hidden;
	margin: 0;
	padding: 0;
}

.slick-list:focus {
	outline: none;
}

.slick-list.dragging {
	cursor: pointer;
	cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
	transform: translate3d(0, 0, 0);
	-webkit-transform: translate3d(0, 0, 0);
}

.slick-track {
	position: relative;
	top: 0;
	left: 0;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.slick-track:before,
.slick-track:after {
	display: table;
	content: '';
}

.slick-track:after {
	clear: both;
}

.slick-loading .slick-track {
	visibility: hidden;
}

.slick-slide {
	display: none;
	float: left;
	height: 100%;
	min-height: 1px;
}

[dir='rtl'] .slick-slide {
    float: right;
}
.slick-slide img {
    display: block;
}
.slick-slide.slick-loading img {
    display: none;
}
.slick-slide.dragging img {
    pointer-events: none;
}
.slick-initialized .slick-slide {
    display: block;
}
.slick-loading .slick-slide {
    visibility: hidden;
}
.slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
    display: none;
}

/* Slider */
.slick-loading .slick-list {
    background: #fff url('/img/ajax-loader.gif') center center no-repeat;
}
/* Arrows */
.slick-prev,
.slick-next {
	width: 20px;
	height: 20px;
	display: block;
	font-size: 0;
	line-height: 0;
	color: transparent;
	cursor: pointer;
	position: absolute;
	bottom: -25px;
	z-index: 10;
}
.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
    color: transparent;
    outline: none;
    background: transparent;
}
.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
    color: #008fc0;
}
.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
    opacity: .25;
}

.slick-prev:before,
.slick-next:before {
	font-family: 'e2icon' !important;
	font-size: 20px;
	line-height: 1;
	color: #828282;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.slick-prev {
	left: 360px;
}
.slick-prev:before {
	content: "\e900";
}
.slick-next {
	right: 360px;
}
.slick-next:before {
	content: "\e902";
}

/* Dots */
.slick-dots {
	position: absolute;
	bottom: -30px;
	display: block;
	width: 100%;
	padding: 0;
	margin: 0;
	list-style: none;
	text-align: center;
}

.slick-dots li {
	position: relative;
	display: inline-block;
	width: 20px;
	height: 20px;
	margin: 0 5px;
	padding: 0;
	cursor: pointer;
}
.slick-dots li button {
	width: 15px;
	height: 10px;
	display: block;
	font-size: 0;
	line-height: 0;
	cursor: pointer;
	color: transparent;
	background: #e2e2e2;
}
.slick-dots li button:hover {
	outline: none;
	background: #008fc0;
}
.slick-dots li.slick-active button {
	outline: none;
	background: #008fc0;
}

#worksField .worksObj {
	position: absolute;
	z-index: -2;
}

#worksField .btn {
	vertical-align: bottom;
}

#worksField .btn.large {
	opacity: 0;
}

#worksField .btn.large.setShow {
	opacity: 1;
}

#worksField .worksObj.worksObjPc {top: -40px;right: 0;}
#worksField .worksObj.worksObjSp {top: 421px;left: 0;}
#worksField .worksObj.worksObjKeyboard {top: 828px;left: 15px;}
#worksField .worksObj.worksObjMouse {top: 1021px;right: 75px;}
#worksField .worksObj.worksObjUsb {top: 800px;right: 51px;}


@media screen and (min-width:768px) and ( max-width:1300px) {
#worksField .worksObj.worksObjPc {right: auto; left: 565px;}
#worksField .worksObj.worksObjSp {left: -5%;}
#worksField .worksObj.worksObjKeyboard {left: -15%;}
#worksField .worksObj.worksObjMouse {right: auto; left: 1080px;}
#worksField .worksObj.worksObjUsb {right: auto; left: 1213px;}
}

@media only screen and (max-width: 768px) {
#worksField {
	padding: 50px 0;
}
#worksField .contBaseWrap {
	width: 100%;
	margin: 0;
	padding: 0;
}

#worksField .contBaseWrap .titWrap {
	width: 88%;
	margin: 0 auto;
}

#worksField h2 {
	margin: 0 0 4vw;
}
#worksField .sectionCopy {
	margin: 0 0 4vw;
}
#worksField .worksTtl01 {
	width: 70%;
}
#worksField .worksTtl02 {
	width: 57%;
}
#worksField #worksSlide {
	width: 100%;
	height: auto;
	margin: 4vw 0 60px;
}
#worksField #worksSlide #worksListPC {display: none;}
#worksField #worksSlide #worksListSP {display: block;}
#worksField .worksList {
	width: 100%;
	height: auto;
}
#worksField #worksSlide .worksList .worksItem,
#worksField #worksSlide .worksList .worksItem:nth-of-type(even) {
	margin: 0 2vw;
	display: block;
}
#worksField #worksSlide .worksList .worksItem a {
	display: block;
}
#worksField #worksSlide .worksList .worksItem a.btn {
	display: none;
}
#worksField #worksSlide .worksList .worksItem figure,
#worksField #worksSlide .worksList .worksItem:nth-of-type(even) figure {
	width: auto;
	text-align: center;
	box-shadow: 0 0 10px 0 rgba(0,0,0,0.35);
}
#worksField #worksSlide .worksList .worksItem figure img {
	width: 100%;
	height: auto;
	margin: 0 auto;
}
#worksField #worksSlide .worksList .worksItem .worksInfo dl {
	padding: 8vw 0 0;
	text-align: center;
}
#worksField #worksSlide .worksList .worksItem .worksInfo dl dt,
#worksField #worksSlide .worksList .worksItem .worksInfo dl dd {
	width: 100%;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
#worksField #worksSlide .worksList .worksItem .worksInfo dl dt {
	padding:0 0 0.5em;
}
#worksField #worksSlide .worksList .worksItem .worksInfo dl dd {
	padding: 0;
}
#worksField #worksSlide .worksList .worksItem .worksInfo {
	padding: 0;
}
.slick-prev {
	left: 2%;
}
.slick-next {
	right: 2%;
}
#worksField .worksObj.worksObjPc {
	width: 63%;
	top: 3vw;
	right: -5%;
}
#worksField .worksObj.worksObjSp {
	width: 10%;
	top: auto;
	left: 0;
	bottom: 15vw;
}
#worksField .worksObj.worksObjMouse {
	width: 18%;
	top: auto;
	right: -1%;
	bottom:25vw;
}
#worksField .worksObj.worksObjKeyboard,
#worksField .worksObj.worksObjUsb {display: none;}
}

/*-----------------------------------------
	originalserviceField
-----------------------------------------*/
#originalserviceField {
	padding: 80px 0 60px;
	background: url(/img/index/originalservice_bg.jpg) no-repeat center center;
	background-attachment: fixed;
	background-size: cover;
}

body.tbView #originalserviceField {
	background-attachment: scroll;
	background-size: 100% auto;
}

#originalserviceField .cvWrap .cvLine {
	background-color: #fff;
}

#originalserviceField h2 {
	color: #ffffff;
}

#originalserviceField .sectionCopy {
	padding: 0 0 60px;
}

#originalserviceField ul {
	width: 100%;
	display: flex;
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	justify-content: space-between;
	-ms-flex-pack: justify;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
}

#originalserviceField ul li {
	width: 470px;
	padding: 0;
	position: relative;
	z-index: 1;
	transition: all 0.4s ease-in-out;
	opacity: 0;
}

#originalserviceField ul li.setShow {
	opacity: 1;
}

#originalserviceField ul li a {
	color: #ffffff;
	display: flex;
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	align-items: center;
	-ms-flex-align: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	position: relative;
	text-decoration: none;
}

#originalserviceField ul li img {
	width: 175px;
}

#originalserviceField ul li dl {
	width: 270px;
	padding: 0 0 0 25px;
	line-height: 1.6;
}

#originalserviceField ul li dl dt {
	padding: 0 0 25px;
	font-size: 1.429em;
	line-height: 1.2;
}

#originalserviceField ul li dl dt small {
	display: inline-block;
	font-size: 0.8em;
}

#originalserviceField ul li dl dd {
	line-height: 1.6;
}

#originalserviceField .btnArea {
	margin: 60px 0 0 0;
	text-align: center;
	opacity: 0;
	transition: all 0.5s ease-in-out;
}

#originalserviceField .btnArea.setShow {
	opacity: 1;
}

/* tablet */
body.tbView #originalserviceField ul li img {
	width: 37%;
	height: auto;
}

body.tbView #originalserviceField ul li dl {
	width: 58%;
	margin: 0 0 0 5%;
	padding: 0;
}

@media only screen and (max-width: 768px) {
#originalserviceField {
	background-attachment: scroll;
	background-size: auto 100%;
}
#originalserviceField .sectionCopy {
	width: 84%;
	padding: 0 0 8vw;
}
#originalserviceField ul {
	display: block;
}
#originalserviceField ul li {
	width: 100%;
	padding: 15px 0;
	border-bottom: 1px solid #ffffff;
}
#originalserviceField ul li:first-child {
	padding: 0 0 15px;
}
#originalserviceField ul li img {
	width: 35%;
}
#originalserviceField ul li dl {
	width: 60%;
	display: block;
	margin: 0 0 0 5%;
	padding: 0;
	text-align: left;
}
#originalserviceField ul li dl dt {
	padding: 0 0 0.2em;
}
}

/*-----------------------------------------
	newsField
-----------------------------------------*/
#newsField {
	padding: 100px 0 0;
	background: url(/img/index/news_bg.png) top center repeat-x;
}

#newsField .sectionCopy {
	padding: 0 0 59px;
}

#newsField ul {
	width: 981px;
	display: flex;
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
}

#newsField ul li {
	width: 50%;
	border: 1px solid #e2e2e2;
	background: #f7f7f7;
	opacity: 0;
	transition: all 0.4s ease-out;
	transform: translateX(0) translateY(0);
	-webkit-transform: translateX(0) translateY(0);
}

#newsField ul li:nth-of-type(1) {transform: translateX(-50px) translateY(-50px);-webkit-transform: translateX(-50px) translateY(-50px);}
#newsField ul li:nth-of-type(2) {transform: translateX(50px) translateY(-50px);-webkit-transform: translateX(50px) translateY(-50px);}
#newsField ul li:nth-of-type(3) {transform: translateX(-50px) translateY(50px);-webkit-transform: translateX(-50px) translateY(50px);}
#newsField ul li:nth-of-type(4) {transform: translateX(50px) translateY(50px);-webkit-transform: translateX(50px) translateY(50px);}

#newsField ul li.setShow {
	opacity: 1;
	transform: translateX(0) translateY(0);
	-webkit-transform: translateX(0) translateY(0);
}

#newsField ul li:nth-of-type(even) {
	border-left: none;
}

#newsField ul li:nth-of-type(3),
#newsField ul li:nth-of-type(4) {
	margin-top: -1px;
}

#newsField ul li a {
	display: flex;
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	align-items: center;
	-ms-flex-align: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	color: #222222;
}

#newsField ul li a:hover {text-decoration: none;}

#newsField ul li figure {
	width: 50%;
	overflow: hidden;
	border-right: 1px solid #e2e2e2;
}

#newsField ul li .postInfo {
	width: 50%;
	padding: 1em;
	font-size: 1.143em;
}

#newsField ul li .postInfo .postDate {
	padding: 0 0 1em;
	display: block;
	color: #989898;
}

#newsField ul li .postInfo .postTitle {
	line-height: 1.6;
}

#newsField .btnArea {
	position: absolute;
	top: 66px;
	right: -1px;
}

#newsField .btnOffice {
	position: relative;
	display: flex;
	width: 100%;
	height: 120px;
	margin-top: 60px;
	border: solid #898989 1px;
}
#newsField .btnOffice {
	opacity: 0;
	transition: all 0.5s ease-out;
    -webkit-transform: translateY(30px);
    transform: translateY(30px);
}
#newsField .btnOffice.setShow {
	opacity: 1;
	transform: translateY(0);
    -webkit-transform: translateY(0);
}
#newsField .btnOffice a {
	display: flex;
	width: 100%;
	color: #222222;
	transition: opacity .3s ease-out;
}
#newsField .btnOffice a:hover {
	opacity: 0.8;
}
#newsField .btnOffice:after {
	position: absolute;
	content: "";
	bottom: 5px;
	right: 5px;
	border-top: 9px solid transparent;
	border-right: 9px solid #898989;
	border-bottom: 9px solid #898989;
	border-left: 9px solid transparent;
}
#newsField .btnOffice .officeImg {
	width: 60%;
	overflow: hidden;
}
#newsField .btnOffice .officeText {
	width: 40%;
	text-align: center;
	align-self: center;
	font-size: 1.125rem;
	font-weight: bold;
}
#newsField .btnOffice .officeText > span {
	text-align: left;
	display: inline-block;
	margin: auto 0;
}
#newsField .btnOffice .officeText span span{
	display: block;
	padding-bottom: 9px;
	font-size: 0.875rem;
}
@media only screen and (max-width: 768px) {
#newsField {
	padding: 50px 0;
	background: transparent;
}
#newsField .sectionCopy {
	width: 74%;
	padding: 0 0 8vw;
}
#newsField ul {
	width: 100%;
	flex-direction: column;
	-ms-flex-direction : column;
	-webkit-flex-direction: column;
}
#newsField ul li,
#newsField ul li:nth-of-type(even),
#newsField ul li:nth-of-type(1),
#newsField ul li:nth-of-type(2) {
	width: 100%;
	border: none;
	background: transparent;
	border-bottom: 1px solid #e2e2e2;
}
#newsField ul li:nth-of-type(1) {
	border-top: 1px solid #e2e2e2;
}
#newsField ul li a {
	padding: 10px 0;
}
#newsField ul li figure {
	width: 20%;
	border: none;
}
#newsField ul li figure img {
	width: 100%;
	border: none;
}
#newsField ul li .postInfo {
	padding: 0.5em;
	flex: 1;
	-ms-flex: 1;
	-webkit-box-flex: 1;
	-webkit-flex: 1;
}
#newsField ul li .postInfo .postDate {
	padding: 0 0 0.3em;
}
#newsField .btnArea {
	text-align: center;
	margin: 8vw auto 0;
	position: relative;
	top: 0;
}
#newsField .btnOffice {
	height: 60px;
}
#newsField .btnOffice a:hover {
	opacity: 1;
}
#newsField .btnOffice .officeImg {
	width: 45%;
}
#newsField .btnOffice .officeImg img {
	width: 100%;
    height: 100%;
}
#newsField .btnOffice .officeText {
	width: 55%;
}
#newsField .btnOffice .officeText > span {
	margin-left: 10px;
	margin-right: calc(10px + 3%);
	font-size: 1rem;
}
}
@media only screen and (max-width: 480px) {
	#newsField .btnOffice {
		height: auto;
		max-height: 70px;
	}
	#newsField .btnOffice .officeText > span {
		margin-top: 10px;
		margin-bottom: 10px;
	}
	#newsField .btnOffice .officeImg img {
		width: 300px;
		height: 100%;
	}
}

/*-----------------------------------------
	recruitField
-----------------------------------------*/
#recruitField {
	padding: 100px 0 120px;
	background: url(/img/recruit_bg.png) no-repeat center center;
	background-attachment: fixed;
	background-size: cover;
}

body.tbView #recruitField {
	background-attachment: scroll;
	background-size: auto 100%;
}

#recruitField:after {
	content: "";
	width: 100%;
	height: 100%;
	display: block;
	background: url(/img/recruit_bg-silhouette.png) no-repeat center center;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}

#recruitField .contBaseWrap {
	padding: 0 0 160px;
}

#recruitField .sectionCopy {
	padding: 0 0 50px;
}

#recruitField p.recRead {
	font-size: 1.143em;
}

/* 1 Button
#recruitField .btnArea {
	position: absolute;
	bottom: 0;
	left: 60px;
}

#recruitField .btn.large {
	padding: 25px 165px 35px 155px;
}

#recruitField .btn.large:hover {
	padding: 30px 160px;
}
*/

/* 2 Button*/
#recruitField .btnArea {
	position: absolute;
	bottom: 0;
	left: 0;
}

#recruitField .btn.large {
	margin: 0 20px 0 0;
	padding: 25px 105px 35px 95px;
}

#recruitField .btn.large:hover {
	padding: 30px 100px;
}

#recruitField h3,
#recruitField p.recRead,
#recruitField .btnArea {
	opacity: 0;
	transition: all 0.4s ease-out;
	transform: translateX(50px);
	-webkit-transform: translateX(50px);
}

#recruitField h3.setShow,
#recruitField p.recRead.setShow,
#recruitField .btnArea.setShow {
	opacity: 1;
	transform: translateX(0);
	-webkit-transform: translateX(0);
}

@media only screen and (max-width: 768px) {
#recruitField {
	padding: 50px 0;
	background-attachment: scroll;
	background-size: auto 100%;
}
#recruitField:after {
	display: block;
	background: url(/img/recruit_bg-silhouette.png) no-repeat 70% center;
	background-size: auto 150%;
}
#recruitField .contBaseWrap {
	padding: 0 0 4vw;
}
#recruitField .sectionCopy {
	width: 64%;
	padding: 0 0 8vw;
}
#recruitField .btnArea {
	margin: 4vw auto 0;
	text-align: center;
	position: relative;
	left: 0;
}
#recruitField .btn.large {
	margin: 4vw auto 0;
}
}

/* =====================================
	Hover:opacity
===================================== */

@media only screen and (min-width: 768px) {
body.pcView #bnrField a,
body.pcView #worksField #worksSlide .worksList .worksItem figure,
body.pcView #originalserviceField ul li a,
body.pcView #newsField ul li a figure {
	opacity: 1;
	transition: all 0.3s ease;
}

body.pcView #bnrField a:hover,
body.pcView #worksField #worksSlide .worksList .worksItem a:hover figure,
body.pcView #originalserviceField ul li a:hover,
body.pcView #newsField ul li a:hover figure {
	opacity: 0.8;
}
}

/* =====================================
	ClearFixElements
===================================== */
#contentsNav ul:before,
#contentsNav ul:after {
	content: " ";
	display: table;
}

#contentsNav ul:after {
	clear: both;
}

#contentsNav ul {
	*zoom: 1;
}
