@charset "utf-8";

@media only screen and (max-width:991px) {}
@media only screen and (max-width:767px) {}

/*************************************************

 headPosition

*************************************************/
#headPosition {
	position: relative;
	height: 60px;
	z-index: 100;
}
@media only screen and (min-width:992px) {
	#header {
		position: absolute;
		background-color: rgba(255,255,255,0.75);
	}
	#header.action {
		position: fixed;
	}
	#header.headerInner:after {
		display: block;
		clear: both;
		height: 0;
		content: '';
	}
	#header .siteSymbols {
		float: left;
		width: 256px;
	}
	#header #globalNavi {
		position: static;
		float: right;
		margin-right: -10px;
	}
	#header #globalNavi .subNavi {
		position: absolute;
	}
	#header.action #globalNavi .subNavi {
		position: fixed;
	}
	#header #globalNavi .entryBtn {
		height: 60px;
	}
}
@media only screen and (max-width:991px) {
	#headPosition {
		height: 0;
	}
	#header {
		background-color: transparent;
	}
	#header .siteSymbols {
		background-color: transparent;
	}
	#header.action {
		background-color: rgba(255,255,255,0.75);
	}
}



/*************************************************

 container common

*************************************************/

#container {
	padding-top: 0;
}
.sectionTitle {
	margin-bottom: 45px;
	text-align: center;
	line-height: 0;
}
.sectionTitle span {
	display: inline-block;
}
.sectionBtn {
	margin-top: 35px;
	text-align: center;
}
.sectionBtn p {
	margin-bottom: 20px;
	font-size: 17px;
	letter-spacing: 0.1em;
}
.sectionBtn a {
	display: block;
	max-width: 300px;
	margin: 0 auto;
	padding: 13px 0;
	color: #fff;
	font-weight: 500;
	letter-spacing: 0.07em;
	background: -moz-linear-gradient(left,  #e18d36 0%, #e01905 50%, #d90a00 100%);
	background: -webkit-linear-gradient(left,  #e18d36 0%,#e01905 50%,#d90a00 100%);
	background: linear-gradient(to right,  #e18d36 0%,#e01905 50%,#d90a00 100%);
}
.sectionBtn a span {
	position: relative;
	display: inline-block;
	padding-left: 30px;
}
.sectionBtn a span:before {
	position: absolute;
	top: 50%;
	left: 0;
	display: block;
	content: '';
	width: 17px;
	height: 14px;
	margin-top: -7px;
	background: url(../../images/common/arw_03.svg) no-repeat center center;
	background-size: contain;
}
@media only screen and (max-width:767px) {
	.sectionTitle {
		margin-bottom: 35px;
	}
	.sectionBtn {
		margin-top: 30px;
	}
	.sectionBtn p {
		margin-bottom: 15px;
		font-size: 12px;
	}
	.sectionBtn a {
		max-width: 200px;
		padding: 10px 0;
		font-size: 13px;
	}
	.sectionBtn a span {
		padding-left: 25px;
	}
	.sectionBtn a span:before {
		width: 14px;
		height: 12px;
		margin-top: -6px;
	}
}


.pageBtns {
	display: flex;
	/* justify-content: space-between; */
	justify-content: center;
	max-width: 810px;
	margin: 0 auto;
	padding: 0 50px;
}
.pageBtns li {
	width: 30%;
	margin: 0 30px;
	border: #e5160b solid 1px;
}

.pageBtns li a {
	display: block;

	color: #000;
	font-size: 17px;
	text-decoration: none;
	/* border: #e5160b solid 1px; */
}
.pageBtns li a p {
	/* padding: 12px 0; */
	display: flex;
	justify-content: center;
	align-items: center;
	height: 65px;
	border-top: #e5160b solid 1px;
	text-align: center;
	font-size: 14px;
}
.pageBtns li a p span {
	position: relative;
	display: inline-block;
	padding-right: 30px;
}
.pageBtns li a p span:before,
.pageBtns li a p span:after {
	position: absolute;
	top: 0;
	right: 0;
	display: block;
	content: '';
	width: 15px;
	height: 100%;
	background: url(../../images/common/arw_04.svg) no-repeat center center;
	background-size: contain;
	transition: 0.3s;
}
.pageBtns li a p span:after {
	background-image: url(../../images/common/arw_03.svg);
	opacity: 0;
}

.noT .pageBtns li a:hover {
	color: #fff;
	background-color: #e5160b;
}
.noT .pageBtns li a:hover {
	color: #fff;
	background-color: #e5160b;
}
.noT .pageBtns li a:hover span:before {
	opacity: 0;
}
.noT .pageBtns li a:hover span:after {
	opacity: 1;
}


@media only screen and (max-width:767px) {
	.pageBtns {
		display: block;
		max-width: none;
		padding: 0;
	}
	.pageBtns li {
		width: 100%;
		border: none;
	}
	.pageBtns li a {
		border: none
	}
	.pageBtns li a figure {
		display: none;
	}
	.pageBtns li a p {
		padding: 20px 0;
		background-size: 5px 5px;
		margin: 0 auto;
		background-image: radial-gradient(#cccccc 15%, transparent 20%),radial-gradient(#cccccc 15%, transparent 20%);
		background-position: 0 0, 10px 10px;
	}
}





/*************************************************

 keyvisual

*************************************************/
#keyvisual {
	position: relative;
	height: 100vh;
	width: 100%;
}
#keyvisual:before {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	content: '';
	width: 100%;
	height: 100%;
	background: url(../../images/top/keyvisual.jpg) no-repeat center center;
	background-size: cover;
	z-index: 1;
}
#keyvisual:after {
	position: absolute;
	bottom: 0;
	left: 0;
	display: block;
	content: '';
	width: 100%;
	height: 150px;
	background: -moz-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0) 25%, rgba(255,255,255,1) 100%);
	background: -webkit-linear-gradient(top, rgba(255,255,255,0) 0%,rgba(255,255,255,0) 25%,rgba(255,255,255,1) 100%);
	background: linear-gradient(to bottom, rgba(255,255,255,0) 0%,rgba(255,255,255,0) 25%,rgba(255,255,255,1) 100%);
	z-index: 2;
}
@media only screen and (max-width:1200px) {
	#keyvisual:before {
		background-position: 70% center;
	}
}
@media only screen and (max-width:767px) {
	#keyvisual:before {
		background-image: url(../../images/top/keyvisual_sp.jpg);
		background-position: right center;
	}
}


/* txt
-------------------------*/
#keyvisual .txt {
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	line-height: 0;
	z-index: 3;
}
#keyvisual .txt .inner {
	max-width: 900px;
	margin: 0 auto;
	padding: 0 30px;
}
#keyvisual .txt .inner .pos {
	position: relative;
	display: table;
}
#keyvisual .txt .inner .default {
	position: relative;
}
#keyvisual .txt .inner .default img:not(.t1) {
	position: absolute;
	top: 0;
	left: 0;
}
#keyvisual .txt .inner .custom {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
}
@media only screen and (max-width:767px) {
	#keyvisual .txt .inner img {
		max-width: 70%;
	}
}

/* boder
-------------------------*/
#keyvisual .boder {
	position: absolute;
	bottom: 0;
	left: 50px;
	height: 100px;
	width: 1px;
	z-index: 4;
}
#keyvisual .boder > div {
	position: absolute;
	top: 0;
	left: 50%;
	width: 1px;
	height: 100px;
	display: block;
	content: '';
	background-color: #e4160b;
	clip:rect(0px,1px,0px,0px);
	animation-name: clipAnime01;
	animation-duration: 2.5s;
	animation-iteration-count: infinite;
}
@keyframes clipAnime01 {
	0% {
		clip:rect(0px,1px,0px,0px);
	}
	40% {
		clip:rect(0,1px,100px,0);
	}
	60% {
		clip:rect(0,1px,100px,0);
	}
	100% {
		clip:rect(100px,1px,100px,0);
	}
}
@media only screen and (max-width:767px) {
	#keyvisual .boder {
		left: 10px;
	}
}


/* anime css
-------------------------*/
#keyvisual:before {
	transition-delay: 1s;
	transition-duration: 2s;
	opacity: 0;
}
#keyvisual.start:before {
	opacity: 1;
}

#keyvisual .txt {
	transform: translate(0,-50%);
}
#keyvisual .txt .inner .default img {
	transition-duration: 1.2s;
	transform: translateX(-30px);
	opacity: 0;
}
#keyvisual.start .txt .inner .default img {
	transform: translateY(0);
	opacity: 1;
}
#keyvisual .txt .inner .default img.t1 {
	transition-delay: 3s;
}
#keyvisual .txt .inner .default img.t2 {
	transition-delay: 3.2s;
}
#keyvisual .txt .inner .default img.t3 {
	transition-delay: 3.4s;
}

#keyvisual .txt .inner .default,
#keyvisual .txt .inner .custom {
	transition-duration: 1s;
	transition-delay: 5s;
}
#keyvisual.start .txt .inner .default {
	opacity: 0;
}
#keyvisual.start .txt .inner .custom {
	opacity: 1;
}


#keyvisual .boder {
	transition-delay: 6.2s;
	transition-duration: 1s;
	opacity: 0;
}
#keyvisual.start .boder {
	opacity: 1;
}

#keyvisual.end:before,
#keyvisual.end .txt,
#keyvisual.end .txt .inner .default,
#keyvisual.end .txt .inner .custom,
#keyvisual.end .boder {
	transition-delay: 0s !important;
	transition-duration:  0s !important;
}




/*************************************************

 firstSection

*************************************************/
#firstSection {
	padding: 150px 0 30px;
}
@media only screen and (max-width:767px) {
	#firstSection {
		padding-top: 30px;
	}
}

/* imagesArea01
-------------------------*/
#firstSection .imagesArea01 {
	margin-bottom: 80px;
	line-height: 0;
}
#firstSection .imagesArea01 .area {
	position: relative;
	max-width: 533px;
	margin: 0 auto 140px;
}
#firstSection .imagesArea01 .img01 {
	position: absolute;
	top: 0;
	left: 0;
	margin: -30px 0 0 -30px;
	z-index: 2;
}
#firstSection .imagesArea01 .img03 {
	position: absolute;
	bottom: 0;
	right: 0;
	margin: 0 -85px -70px 0;
	z-index: 2;
}
#firstSection .imagesArea01 .img04 {
	text-align: center;
}
@media only screen and (max-width:767px) {
	#firstSection .imagesArea01 {
		margin-bottom: 40px;
		text-align: center;
	}
	#firstSection .imagesArea01 .area {
		margin-bottom: 50px;
	}
	#firstSection .imagesArea01 .img01 {
		position: static;
		display: inline-block;
		max-width: 45%;
		margin: 0 0 20px;
	}
	#firstSection .imagesArea01 .img02 img {
		max-width: 70%;
	}
	#firstSection .imagesArea01 .img03 {
		left: 0;
		margin: 0 0 -7% 0;
	}
	#firstSection .imagesArea01 .img03 img {
		max-width: 57%;
	}
	#firstSection .imagesArea01 .img04 img {
		max-width: 75%;
	}
}

/* anime css */
#firstSection .imagesArea01 .img01,
#firstSection .imagesArea01 .img02,
#firstSection .imagesArea01 .img03,
#firstSection .imagesArea01 .img04 {
	opacity: 0;
	transition-duration: 1.3s;
}
#firstSection .imagesArea01.on .img01,
#firstSection .imagesArea01.on .img02,
#firstSection .imagesArea01.on .img03,
#firstSection .imagesArea01.on .img04 {
	transform: translate(0,0) !important;
	opacity: 1 !important;
}
#firstSection .imagesArea01 .img01 {
	transform: translateX(-15px);
}
#firstSection .imagesArea01 .img02 {
	transform: translateX(-30px);
	transition-delay: 0.2s;
}
#firstSection .imagesArea01 .img03 {
	transform: translateX(-30px);
	transition-delay: 0.4s;
}
#firstSection .imagesArea01 .img04 {
	transform: translateX(-15px);
	transition-delay: 1.8s;
}


/* textsArea
-------------------------*/
#firstSection .textsArea {
	position: relative;
	max-width: 1040px;
	margin: 0 auto;
	text-align: center;
}
#firstSection .textsArea p {
	position: relative;
	font-size: 15px;
	line-height: 2.3;
	z-index: 2;
}
#firstSection .textsArea p + p {
	margin-top: 40px;
}
#firstSection .textsArea [class^="img0"] {
	position: absolute;
}
#firstSection .textsArea .img01 {
	top: -35px;
	left: 4.3%;
}
#firstSection .textsArea .img02 {
	top: 50%;
	right: 2.4%;
	margin-top: -80px;
}
#firstSection .textsArea .img03 {
	bottom: -70px;
	left: 8.4%;
}
@media only screen and (max-width:767px) {
	#firstSection .textsArea {
		margin-bottom: 35px;
	}
	#firstSection .textsArea p {
		font-size: 12px;
		line-height: 2;
	}
	#firstSection .textsArea p + p {
		margin-top: 30px;
	}
	#firstSection .textsArea [class^="img0"] {
		display: none;
	}
}

#firstSection .lastLogo {
	margin-top: 80px;
	text-align: center;
	line-height: 0;
}
@media only screen and (max-width:767px) {
	#firstSection .lastLogo {
		margin-top: 40px;
	}
	#firstSection .lastLogo img {
		width: 130px;
	}
}


/*************************************************

 projectsArea

*************************************************/
#projectsArea {
	padding-top: 130px;
}
#projectsArea .commonFixedTxtLeft,
#projectsArea .commonFixedTxtRight {
	position: absolute;
}
#projectsArea .inner {
	position: relative;
	padding: 140px 0 100px;
}
#projectsArea .boder {
	position: absolute;
	top: 0;
	left: 0;
	height: 100px;
	width: 100%;
	transform: translateY(-50%);
	z-index: 4;
}
#projectsArea .boder > div {
	position: absolute;
	top: 0;
	left: 50%;
	width: 1px;
	height: 100px;
	display: block;
	content: '';
	background-color: #e4160b;
	clip:rect(0px,1px,0px,0px);
	animation-name: clipAnime02;
	animation-duration: 2.5s;
	animation-iteration-count: infinite;
}
@keyframes clipAnime02 {
	0% {
		clip:rect(0px,1px,0px,0px);
	}
	40% {
		clip:rect(0,1px,100px,0);
	}
	60% {
		clip:rect(0,1px,100px,0);
	}
	100% {
		clip:rect(100px,1px,100px,0);
	}
}

#projectsArea .slide .item a {
	display: block;
	margin: 0 10px;
}
#projectsArea .slide .item a img {
	transition: 0.5s;
}
.noT #projectsArea .slide .item a:hover {
	background-color: #000;
}
.noT #projectsArea .slide .item a:hover img {
	transform: scale(1.1);
	opacity: 0.7;
}
#projectsArea .slide .slick-dots {
	margin-top: 40px;
	text-align: center;
	line-height: 0;
}
#projectsArea .slide .slick-dots li {
	display: inline-block;
	margin: 0 8px;
}
#projectsArea .slide .slick-dots li button {
	box-sizing: border-box;
	display: block;
	width: 8px;
	height: 8px;
	padding: 0;
	background-color: #ced2e1;
	border: #ced2e1 solid 1px;
	border-radius: 50%;
	cursor: pointer;
	outline: none;
	appearance: none;
	text-indent: -9999px;
}
#projectsArea .slide .slick-dots li.slick-active button {
	background-color: #fff;
	border-color: #e5160b;
}

@media only screen and (max-width:767px) {
	#projectsArea {
		padding-top: 40px;
	}
	#projectsArea .commonCenterBdr {
		top: -20px;
	}
	#projectsArea .commonFixedTxtLeft,
	#projectsArea .commonFixedTxtRight {
		position: relative;
	}
	#projectsArea .inner {
		padding: 45px 0;
	}
	#projectsArea .sectionTitle img {
		width: 186px;
	}
	#projectsArea .boder,
	#projectsArea .boder > div {
		height: 50px;
	}
	#projectsArea .slide .item a {
		display: block;
		margin: 0 6px;
	}
	#projectsArea .slide .item a img {
		width: 285px;
	}
	#projectsArea .slide .slick-dots {
		margin-top: 15px;
	}
	#projectsArea .slide .slick-dots li {
		display: inline-block;
		margin: 0 8px;
	}
	#projectsArea .sectionBtn {
		margin-top: 15px;
	}
}

/*************************************************

 job-peopleArea

*************************************************/
#job-peopleArea {
	padding: 100px 0;
}
#job-peopleArea .image {
	max-width: 800px;
	margin: 0 auto;
}

@media only screen and (max-width:767px) {
	#job-peopleArea {
		padding: 35px 0 50px;
	}
	#job-peopleArea .sectionTitle img {
		width: 240px;
	}
}


/*************************************************

 feature

*************************************************/
#feature {
	padding: 100px 0;
}
#feature .enTitle {
	margin-bottom: 20px;
	text-align: center;
	line-height: 1;
}
#career .enTitle > * {
	display: inline-block;
}
#feature .enTitle span {
	display: block;
	font-size: 30px;
	font-weight: 400;
	letter-spacing: 0.05em;
	background: -moz-linear-gradient(left,  #e18d36 0%, #e01905 50%, #d90a00 100%);
	background: -webkit-linear-gradient(left,  #e18d36 0%,#e01905 50%,#d90a00 100%);
	background: linear-gradient(to right,  #e18d36 0%,#e01905 50%,#d90a00 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
#feature .title {
	margin-bottom: 45px;
	text-align: center;
	line-height: 0;
}
#feature .title span,
#feature .imgTxt span {
	display: inline-block;
}
#feature .imgTxt {
	margin: 40px 0;
	text-align: center;
}
#feature .image img {
	width: 100%;
}
@media only screen and (max-width:767px) {
	#feature {
		padding: 0 20px;
	}
}



/*************************************************

 career

*************************************************/
#career {
	padding: 100px 0;
}
#career .enTitle {
	margin-bottom: 20px;
	text-align: center;
	line-height: 1;
}
#career .enTitle > * {
	display: inline-block;
}
#career .enTitle span {
	display: block;
	font-size: 30px;
	font-weight: 400;
	letter-spacing: 0.05em;
	background: -moz-linear-gradient(left,  #e18d36 0%, #e01905 50%, #d90a00 100%);
	background: -webkit-linear-gradient(left,  #e18d36 0%,#e01905 50%,#d90a00 100%);
	background: linear-gradient(to right,  #e18d36 0%,#e01905 50%,#d90a00 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
#career .title {
	margin-bottom: 45px;
	text-align: center;
	line-height: 0;
}
#career .title span,
#career .imgTxt span {
	display: inline-block;
}
#career .imgTxt {
	margin: 40px 0;
	text-align: center;
}
#career .image img {
	width: 100%;
}
@media only screen and (max-width:767px) {
	#career {
		padding: 0 20px;
	}
}
