@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: -10;
}
.mainArea:after {
    background-color: rgba(255,255,255,1.00);
    content: "";
    width: 320px;
    height: 102vh;
    left: 0;
    position: absolute;
    top: 0;
    z-index: -5;
}
.mainArea .main_inner {
	max-width: 1800px;
    margin: 0 auto;
    padding: 0 5vw 150px;
    height: calc( var(--vh) * 100);
    display: flex;
    justify-content: flex-start;
    align-items: flex-end;
    position: relative;
}
.mainArea .main_inner:before {
	background-image: url(../img/top/logo_mark.svg);
    background-repeat: no-repeat;
    background-position: bottom left;
    background-size: contain;
    /*mix-blend-mode: overlay;*/
    content: "";
    width: 30rem;
    height: 30rem;
    position: absolute;
    bottom: 0;
    left: -8%;
    z-index: -1;
}
.mainArea .main_inner .main_txt {
	font-size: min(14vw,153px);
	font-family: 'Bebas Neue', 'Lato', sans-serif;
	font-weight: 400;
	line-height: 1;
	letter-spacing: .09em;
	text-align: left;
	color: #231815;
}
.mainArea .main_inner .main_txt::first-letter {
	color: #80B11F;
}
.mainArea .main_inner .main_txt span {
	display: block;
	padding-left: 5px;
	font-family: 'Noto Serif JP', serif;
	font-weight: 700;
	font-size: min(3.1vw,19px);
	line-height: 1.5;
	letter-spacing: .15em;
	text-align: left;
	color: #231815;
}
.on800 {
	display: none;
}
/*スクロールダウン*/
.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) 55px, #FFF 55px, #FFF 100%);
}
.newsArea .inner {
	background-color: #38AACF;
    display: flex;
	flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    max-width: 90%;
    margin: 0 0;
	padding: 15px 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: left;
	padding-left: calc(50% + 1em);
}
.newsArea .inner .left .h2Area h2 {
	font-size: min(3.5vw,15px);
    line-height: 2;
    color: #FFF;
	font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    letter-spacing: 0.19em;
	position: relative;
}
.newsArea .inner .left .h2Area h2:before {
	content: "NEWS";
	position: absolute;
	top: -27px;
    left: -2.5em;
	font-size: min(8vw,45px);
    line-height: 2;
    color: #FFF;
    font-family: 'Bebas Neue', 'Lato', sans-serif;
    font-weight: 400;
    letter-spacing: 0.09em;
}
.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: #FFF;
    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: min(3.5vw,15px);
    line-height: 22px;
	font-weight: 700;
	color: #FFF;
}
.newsArea .inner .right ul li .n_right .ttl a:hover {
	color: #555;
}
.newsArea .inner .right .nopost {
	padding: 30px 0;
}
.newsArea .inner .right .btn {
	margin: 10px 0;
	text-align: right;
}
/* aboutArea */
.aboutArea {
	position: relative;
	background-color: #FFF;
	background-image: url("../img/top/about_bg.jpg");
	background-position: top center;
	background-repeat: no-repeat;
	background-size: contain;
	/*background: linear-gradient(180deg, #ebeef2 0%, #ebeef2 60%, #FFF 60%, #FFF 100%);*/
}
.aboutArea .inner {
	padding: 120px 20px  120px;
	text-align: center;
}
.aboutArea .inner h2 {
	padding-top: 150px;
	font-size: min(5.5vw,37px);
    line-height: 1.5;
    /*color: #FFF;*/
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
    letter-spacing: 0.09em;
	text-shadow: 2px 2px 4px #FFF;
}
.aboutArea .inner h2 span {
	font-size: min(4vw,22px);
    line-height: 2;
    font-family: 'Bebas Neue', 'Lato', sans-serif;
    font-weight: 400;
    letter-spacing: 0.19em;
    color: #80B11F;
	display: block;
	padding-bottom: 80px;
}
.aboutArea .inner .aboutTxt {
	font-size: min(3.5vw,18px);
    line-height: 1.8;
	font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    letter-spacing: 0.09em;
    color: #231815;
	display: block;
}
/* serviceArea */
.serviceArea {
	padding: 50px 0;
	background-color: #FFF;
	position: relative;
}
.serviceArea:before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	z-index: 0;
	width: 800px;
	height: 65%;
	background-color: #F5F8F9;
}
.serviceArea .inner {
	padding: 50px 0;
	display: flex;
	flex-wrap: wrap;
}
.serviceArea .inner .imgBox {
	width: 57%;
}
.serviceArea .inner .txtBox {
	width: 43%;
	padding: 20px 4vw;
}
.serviceArea .inner .txtBox .h2Area h2 {
	font-size: min(8vw,65px);
    line-height: 1.5;
    font-family: 'Bebas Neue', 'Lato', sans-serif;
    font-weight: 400;
    letter-spacing: 0.03em;
    color: #80B11F;
	display: block;
}
.serviceArea .inner .txtBox .h2Area h2 span {
	font-size: min(3.5vw,15px);
    line-height: 1;
	font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    letter-spacing: 0.09em;
    color: #231815;
	display: block;
}
.serviceArea .inner .txtBox .serviceTxt {
	padding: 60px 0 25px;
	font-size: min(3.5vw,18px);
    line-height: 1.8;
	font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    letter-spacing: 0.09em;
    color: #231815;
}

/* contentArea */
.contentArea {
	padding: 50px 0;
	background-color: #38AACF;
	position: relative;
	z-index: -1;
}
.contentArea:before {
	content: "";
	position: absolute;
	bottom: -80px;
	right: -2%;
	width: 300px;
	height: 300px;
	background-image: url("../img/top/logo_icon.svg");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}
.contentArea ul {
	max-width: 1100px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.contentArea ul li {
	width: calc(100% / 3 - 20px);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	position: relative;
	border-radius: 50%;
	overflow: hidden;
	text-align: center;
}
.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.jpg");
}
.contentArea ul li:nth-of-type(3) {
	background-image: url("../img/top/c_navi03.jpg");
}
.contentArea ul li a {
	aspect-ratio: 1 / 1;
	display: block;
}
.contentArea ul li:hover {
	transform: scale(1.05);
	background-color: rgba(0,0,0,0.25);
	transition: all .5s;
}
.contentArea ul li a h2 {
	padding-top: 56%;
	font-size: min(3.5vw,15px);
    line-height: 1;
	font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    letter-spacing: 0.09em;
    color: #FFF;
	display: block;
	position: relative;
	width: 100%;
}
.contentArea ul li a h2:before {
	position: absolute;
    left: 50%;
    bottom: 5px;
    width: 100%;
    display: block;
    transform: translateX(-50%);
    font-size: min(6vw,45px);
    font-family: 'Bebas Neue', 'Lato', sans-serif;
    font-weight: 400;
    letter-spacing: 0.09em;
    line-height: 1.4;
    word-break: break-word;
    color: #FFF;
}
.contentArea ul li a h2.company:before {
	content: "company";
}
.contentArea ul li a h2.works:before {
	content: "works";
}
.contentArea ul li a h2.contact:before {
	content: "contact";
}
.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: 1400px) {
	.newsArea .inner .left {
		width: 230px;
	}
	.newsArea .inner .right {
		width: calc(100% - 230px);
	}
.newsArea .inner .left .h2Area h2:before {
    letter-spacing: 0.01em;
}
}
@media screen and (max-width: 1200px) {
	.newsArea .inner .right {
		width: 100%;
	}
	.newsArea .inner .left .h2Area h2:before {
		line-height: 1;
		top: -5px;
		left: -2em;
	}
	.newsArea .inner .left {
		width: 210px;
	}
}
@media screen and (max-width: 1000px) {
/*スクロールダウン*/
.scrolldown1{
	right: 8%;
}
/* 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(100%);
	}
	.newsArea .inner .right {
		width: calc(100%);
		margin-left: 10px;
		padding: 0 5vw;
	}
	.newsArea .inner .right ul li .n_right .ttl {
		 line-height: 1.4;
	}	
	.newsArea .inner .left .h2Area {
		margin-bottom: 15px;
	}
	
/* 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;
	}
/* serviceArea */
	.serviceArea .inner .imgBox {
		width: 50%;
	}
	.serviceArea .inner .txtBox {
		width: 50%;
		padding-bottom: 40px;
	}
/* contentArea */
	.contentArea ul {
		padding: 0 5vw;
	}
	.contentArea ul li {
		width: 100%;
		height: 250px;
		margin-bottom: 20px;
		border-radius: 3px;
		align-items: flex-start;
	}
	.contentArea ul li a {
		min-height: 250px;
		height: 250px;
	}
}	
@media screen and (max-width: 800px) {
/*スクロールダウン*/
.scrolldown1{
	right: 10%;
}
/*mainArea*/
	.mainArea .main_inner {
		padding: 0 5vw 0;
		align-items: center;
	}
	.mainArea .main_inner .main_txt {
		letter-spacing: .12em;
		font-size: 21vw;
	}
	.mainArea:after {
		background-position: top -75px left 85%;
		background-size: cover;
		height: 115vh;
	}
	.on800 {
		display: block;
	}
	.mainArea:after {
		width: 35%;
	}
/*newsArea*/
	.newsArea {
		margin-top: 0;
		background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0) 90px, #FFF 90px, #FFF 100%);
	}
	/*.newsArea .inner .left .h2Area {
		width: 180px;
	}
	.newsArea .inner .left .h2Area h2:before {
		top: -5px;
		left: 5px;
	}*/
	.newsArea .inner .right {
        padding: 20px 5vw 0;
	}
	.newsArea .inner .right .btn {
		margin: 10px 2em 0 0;
		width: 100%;
		text-align: left;
	}
}

@media screen and (max-width: 767px) {
/* newsArea */
	.newsArea {
		/*padding-bottom: 60px;*/
	}
	.newsArea .inner {
		display: block;
		width: 100%;
		max-width: 100%;
		padding: 25px 0 10px;
	}
	.newsArea .inner .left {
		width: 100%;
		/*padding-bottom: 20px;*/
		flex-direction: row;
		align-items: flex-end;
		justify-content: space-between;
	}
	.newsArea .inner .right {
		width: 100%;
		margin-left: 0;
		padding: 20px 8vw 0;
	}
	.newsArea .inner .right .btn {
		margin: 20px auto 0;
		text-align: center;
	}
	
/* aboutArea */
	.aboutArea .inner {
		padding-bottom: 80px;
		display: block;
	}
	.aboutArea .inner .aboutTxt {
		font-size: min(3.5vw,16px);
		text-align: left;
	}
	.aboutArea .inner h2 {
		padding-top: 20vh;
	}
/* serviceArea */
	.serviceArea .inner {
		flex-direction: column-reverse;
	}
	.serviceArea .inner .imgBox {
		width: 95%;
		margin: 0 auto;
	}
	.serviceArea .inner .txtBox {
		width: 100%;
		padding-bottom: 40px;
	}
	.serviceArea .inner .txtBox .serviceTxt {
		font-size: min(3.5vw,16px);
	}
/*contentArea*/
}	
@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 span {
		display: block;
		padding-bottom: 40px;
	}
/* contentArea */
}
@media screen and (max-width: 450px) {
	.mainArea .main_inner .main_txt span {
		text-shadow: 1px 1px 3px #FFF;
	}
	.contentArea ul li {
		height: 400px;
		align-items: center;
	}
	.contentArea ul li a {
		min-height: 400px;
		height: 400px;
	}
}
