@charset "UTF-8";
/* CSS Document */
/* mainArea */
.mainArea {
	width: 100%;
	position: relative;
}
.mainArea:before {
	background-image: url("../img/top/main_bg.jpg");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	content: "";
	height: 100vh;
	left: 0;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: -1;
}
/*.mainArea:after {
	background-image: url(../img/top/logo_bg.svg);
    background-repeat: no-repeat;
    background-position: top -5vh left -7%;
    background-size: contain;
    mix-blend-mode: overlay;
    content: "";
    height: 102vh;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: -1;
}*/
.mainArea .main_inner {
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 1vw;
	height: calc( var(--vh) * 100);
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}
.mainArea .main_inner .main_txt {
	font-size: min(11vw,95px);
	font-family: 'Bebas Neue', 'Lato', sans-serif;
	font-weight: 400;
	line-height: 1;
	letter-spacing: .09em;
	text-align: center;
	color: #FFF;
}
.mainArea .main_inner .main_txt span {
	display: block;
	padding-top: 20px;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: min(3.1vw,25px);
	line-height: 1.2;
	letter-spacing: .15em;
	text-align: center;
	color: #e3e3e3;
}
/*スクロールダウン*/
.scrolldown1{
	position:absolute;
	right: 5%;
	bottom: 0;
	z-index: -1;
	height: 200px;
}
.scrolldown1 span{
	width: 4em;
	height: auto;
	position: absolute;
	left: -10%;
	top: 0;
	color: #696262;
	font-size: 13px;
	transform: rotate(90deg);
	letter-spacing: 0.05em;
	transform-origin: right top;
}

/* 線の描写 */
.scrolldown1::after{
	content: "";
	position: absolute;
	top: 0;
	left: 40px;
	width: 1px;
	height: 200px;
	background: #eee;
	animation: pathmove 1.4s ease-in-out infinite;
	opacity:0;
}

/*高さ・位置・透過が変化して線が上から下に動く*/
@keyframes pathmove{
  0%{
    height:0;
    top:0;
    opacity: 0;
  }
  30%{
    height: 90px;
    opacity: 1;
  }
  100%{
    height:0;
    top: 200px;
    opacity: 0;
  }
}

/* transparent_bg */
.transparent_bg {
	position: relative;
    z-index: 1;
	background: rgba(255,255,255,0);
}

/* newsArea */
.newsArea {
	margin-top: -90px;
	background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0) 90px, #ebeef2 90px, #ebeef2 100%);
}
.newsArea .inner {
	background-color: #060c34;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    max-width: 90%;
    margin: 0 0;
}
.newsArea .inner .left {
	width: calc(20%);
	/*padding: 0 3vw;*/
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: space-between;
}
.newsArea .inner .left .h2Area {
	width: 100%;
	text-align: right;
}
.newsArea .inner .left .h2Area h2 {
	font-size: min(8vw,45px);
    line-height: 2;
    color: #FFF;
    font-family: 'Bebas Neue', 'Lato', sans-serif;
    font-weight: 400;
    letter-spacing: 0.19em;
}
.newsArea .inner .right {
	width: calc(80%);
	padding: 0 3vw;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	/*background-color: #FFF;*/
	/*min-height: 250px;*/
}
.newsArea .inner .right ul li {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	/*border-bottom: 1px dotted #acacad;*/
}
.newsArea .inner .right ul li .n_left {
	width: 130px;
	/*background-color: #eaeaea;*/
	/*text-align: center;*/
	/*border-radius: 30px;*/
}
.newsArea .inner .right ul li .n_left .date {
	color: #868787;
    font-family: 'Lato', sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 22px;
    letter-spacing: .1em;
    padding: 0px 1em;
    margin-bottom: 5px;
}
.newsArea .inner .right ul li .n_right {
	width: calc(100% - 130px);
}
.newsArea .inner .right ul li .n_right .ttl {
	/*margin-top: 5px;*/
	padding-left: 0.5em;
}
.newsArea .inner .right ul li .n_right .ttl a {
	font-size: 14px;
    line-height: 22px;
	font-weight: bold;
	color: #868787;
}
.newsArea .inner .right ul li .n_right .ttl a:hover {
	color: #333;
}
.newsArea .inner .right .nopost {
	padding: 30px 0;
}
.newsArea .inner .right .btn {
	margin: 10px 0;
	text-align: right;
}
/* aboutArea */
.aboutArea {
	margin-top: -1px;
	background-color: rgba(0,0,0,.5);
	/*background: linear-gradient(180deg, #ebeef2 0%, #ebeef2 60%, #FFF 60%, #FFF 100%);*/
}
.aboutBox {
	margin: 150px 0 0;
	position: relative;
	background-color: #eef0f1;
	/*background: linear-gradient(180deg, #ebeef2 0%, #ebeef2 60%, #FFF 60%, #FFF 100%);*/
}
/*.aboutArea:before {
	content: "about";
    position: absolute;
    top: 28vh;
    left: -10px;
    font-family: 'Montserrat', sans-serif;
    font-size: min(28vw,140px);
    font-weight: 800;
    color: #333130;
}*/
.aboutArea .inner {
	padding: 80px 20px 100px;
	text-align: center;
}
.aboutArea .inner h2 {
	font-size: min(8vw,45px);
    line-height: 1.5;
    color: #FFF;
    font-family: 'Bebas Neue', 'Lato', sans-serif;
    font-weight: 400;
    letter-spacing: 0.19em;
	max-width: 650px;
    margin: 40px auto 0;
}
.aboutArea .inner h2 span {
    color: #CCC;
}
.aboutArea .inner h3 {
	margin-top: 45px;
	font-size: min(4vw,22px);
    line-height: 2;
    font-family: 'Bebas Neue', 'Lato', sans-serif;
    font-weight: 700;
    letter-spacing: 0.09em;
	text-align: center;
	color: #000;
}
.aboutArea .inner .box {
	max-width: 1000px;
	margin: 80px auto 55px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	align-content: flex-end;
	align-items: flex-end;
}
.aboutArea .inner .box .left {
	width: calc(50%);
	text-align: right;
    padding: 0 25px;
}
.aboutArea .inner .box .left img {
	max-width: 190px;
}
.aboutArea .inner .box .right {
	width: calc(50%);
	text-align: left;
    padding: 0 25px;
}
.aboutArea .inner .box .right ul li {
	font-size: min(8vw,25px);
    line-height: 1.2;
    color: #FFF;
    font-family: 'Lato', sans-serif;
    font-weight: 400;
    letter-spacing: 0.23em;
}
.aboutArea .inner .box .right ul li::first-letter {
	color: #CCC;
}
.aboutArea .inner .aboutTxt {
	padding: 20px 1vw 50px;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: min(3.3vw, 17px);
    line-height: 1.8;
	letter-spacing: .05em;
	color: #222;
}
/* contentArea */
.contentArea {
	/*padding-top: 100px;*/
	background-color: #272727;
}
.contentArea ul {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.contentArea ul li {
	width: calc(100% / 4);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	position: relative;
}
.contentArea ul li:first-of-type {
	background-image: url("../img/top/c-navi01.jpg");
}
.contentArea ul li:nth-of-type(2) {
	background-image: url("../img/top/c-navi02_2.jpg");
}
.contentArea ul li:nth-of-type(3) {
	background-image: url("../img/top/c-navi03_2.jpg");
}
.contentArea ul li:nth-of-type(4) {
	background-image: url("../img/top/c-navi04_2.jpg");
}
.contentArea ul li a {
	min-height: 600px;
	height: 600px;
	position: relative;
}
.contentArea ul li a:before {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.55);
}
.contentArea ul li a:hover:before {
	background-color: rgba(0,0,0,0.2);
	transition: all 0.8s;
}
.contentArea ul li a .txt {
	position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    padding: 40px 20% 0 30px;
    font-size: min(3.2vw,17px);
	font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: 0.05em;
    word-break: break-word;
    color: #CCC;
}
.contentArea ul li a:hover .txt {
    color: #FFF;
}
.contentArea ul li a h2 {
	position: absolute;
	left: 0;
	bottom: 0;
	font-size: min(8vw,45px);
    line-height: 2;
    color: #FFF;
    font-family: 'Bebas Neue', 'Lato', sans-serif;
    font-weight: 400;
    letter-spacing: 0.19em;
	transform: rotate(90deg);
	order: 2;
}
.contentArea ul li a h2.service {
	left: -25px;
    bottom: 59px;
}
.contentArea ul li a h2.company {
	left: -52px;
    bottom: 82px;
}
.contentArea ul li a h2.works {
	left: -25px;
    bottom: 59px;
}
.contentArea ul li a h2.contact {
	left: -50px;
    bottom: 85px;
}
.contentArea ul li a:hover h2 {
    color: #CCC;
}

.contentArea ul li .h2Area {
	width: 100%;
}
.contentArea ul li .h2Area h2 {
	font-size: min(5vw,25px);
	font-weight: 700;
	color: #FFF;
	position: relative;
}
.contentArea ul li .h2Area h2:before {
	position: absolute;
	bottom: -24px;
	left: 0;
	font-size: min(3vw,21px);
	line-height: 1;
	color: #727171;
	font-family: 'Bebas Neue', 'Lato', sans-serif;
	font-weight: 400;
	letter-spacing: 0.02em;
	width: 100%;
}
.contentArea ul li:first-of-type .h2Area h2:before {
	content: "WORKS";
}
.contentArea ul li:nth-of-type(2) .h2Area h2:before {
	content: "COMPANY";
}
.contentArea ul li:nth-of-type(3) .h2Area h2:before {
	content: "CONTACT";
}

@media screen and (max-width: 1000px) {
/*スクロールダウン*/
.scrolldown1{
	right: 20%;
}
/* footer */
	/*footer .fsubNav .f_inner .f_i a {
		background-color: #44618b;
		padding-top: 0;
		position: static;
		pointer-events: none;
		color: #44618b;
  }
	footer .fsubNav .f_inner .f_i a:before {
		display: none;
	}*/
	
/* newsArea */
	.newsArea {
		margin-top: -109px;
		background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0) 109px, #ebeef2 109px, #ebeef2 100%);
	}
	.newsArea .inner .left {
		/*width: calc(36%);*/
	}
	.newsArea .inner .right {
		/*width: calc(64%);*/
		margin-left: 10px;
		padding: 20px 0;
	}
	.newsArea .inner .right ul li .n_right .ttl {
		 line-height: 1.4;
	}	
	
	
/* aboutArea */
	.aboutArea .inner {
		padding: 30px 6vw;
		align-items: center;
	}	
	.aboutArea .inner .left {
		width: calc(50% - 10px);
		margin-top: 0;
	}	
	.aboutArea .inner .left p {
		padding-bottom: 16px;
		line-height: 1.4;
	}	
	.aboutArea .inner .right {
		width: calc(50% - 10px);
		padding-top: 30px;
	}	
	.aboutArea .inner .right .img:before {
		width: 180px;
		height: 79px;
	}	
	

/* contentArea */
	.contentArea ul li {
		width: calc(100% / 2);
		height: 485px;
	}
	.contentArea ul li a {
		min-height: 485px;
		height: 485px;
	}
}	
@media screen and (max-width: 800px) {
/*mainArea*/
	.mainArea .main_inner .main_txt {
		letter-spacing: .12em;
	}
	.mainArea:after {
		background-position: top -75px left 85%;
		background-size: cover;
		height: 115vh;
	}
/*newsArea*/
	.newsArea {
		margin-top: 0;
		background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0) 90px, #272727 90px, #272727 100%);
	}
	.newsArea .inner .left .h2Area {
		text-align: center;
	}
	.newsArea .inner .right .btn {
		margin: 10px 2em 0 0;
		width: 100%;
		text-align: right;
	}
}

@media screen and (max-width: 767px) {
/* newsArea */
	.newsArea {
		/*padding-bottom: 60px;*/
	}
	.newsArea .inner {
		display: block;
		width: 100%;
		max-width: 100%;
	}
	.newsArea .inner .left {
		width: 100%;
		/*padding-bottom: 20px;*/
		flex-direction: row;
		align-items: flex-end;
		justify-content: space-between;
	}
	.newsArea .inner .left .h2Area h2 {
		padding: 25px 0 0;
		line-height: 1;
	}
	.newsArea .inner .right {
		width: 100%;
		margin-left: 0;
		padding: 20px 5vw;
	}
	.newsArea .inner .right .btn {
		text-align: center;
		margin: 10px auto;
	}
	
/* aboutArea */
	.aboutArea .inner .box .left {
		width: calc(100%);
		text-align: center;
		padding: 0 10px;
	}
	.aboutArea .inner .box .left img {
		max-width: 190px;
	}
	.aboutArea .inner .box .right {
		width: calc(100%);
		padding: 0 10px;
	}
	.aboutArea .inner {
		padding-bottom: 80px;
		display: block;
	}
	.aboutArea .inner .box .right ul {
		width: 20em;
	    margin: 24px auto
	}
/*contentArea*/
	.contentArea ul li a:before {
		background-color: rgba(0,0,0,0.45);
	}
	.contentArea ul li a .txt {
		color: #9f9f9f;
	}
}	
@media screen and (max-width: 600px) {
/*mainArea*/
	.mainArea .main_inner {
		padding: 0 8vw;
	}
	.mainArea:after {
		background-position: top -75px left 65%;
	}
/*スクロールダウン*/
	.scrolldown1{
		right: 15%;
	}
/* newsArea */
	.newsArea .inner .right ul li .n_left {
		width: 100%;
	}
	.newsArea .inner .right ul li .n_right {
		width: 100%;
		padding: 0 1em;
	}
	.newsArea .inner .left {
		padding: 0 2em 0;
	}
/* aboutArea */
	.aboutArea:before {
		top: 20vh;
		left: -35%;
		transform: rotate(90deg);
	}	
	.aboutArea .inner h2 {
		padding-top: 50px;
		line-height: 1.2;
	}
	.aboutArea .inner h2 span {
		display: block;
	}
/* contentArea */
	.contentArea ul li a h2.company {
		left: -40px;
	}
	.contentArea ul li a h2.contact {
		left: -40px;
	}
}
@media screen and (max-width: 450px) {
	.contentArea ul li {
		height: 400px;
	}
	.contentArea ul li a {
		min-height: 400px;
		height: 400px;
	}
}
