@charset "UTF-8";
/*  ----------------------------------------
key visual
-------------------------------------------*/
.kv {
	height: 100vh;
	overflow-x: hidden;
}
.kv::before{
	height: 100vh;
	background: url("../images/top/kv_kosugi.jpg") center center / cover no-repeat;
}
.kv > div{
	width: 100%;
}
.kv h2{
	font-family: 'Noto Serif JP';
	font-weight: 300;
	font-size: 4.8rem;
	white-space: nowrap;
	
}
.kv h2::after{
	display:  none;
}
.kv p{
	margin-top: 30px;
	line-height: 2;
}

/******************Media Queries******************/
@media screen and (min-width: 768px) {
	.kv h2{
	font-family: 'Noto Serif JP';
	font-weight: 300;
	font-size: 10rem;
	}
	.kv p{
		font-size: 1.8rem;
	}
}
/*  ----------------------------------------
scroll 
-------------------------------------------*/
.scroll{
	position: absolute;
	right: -20px;
	bottom:60px;
	display: inline-block;
	color: #ffffff;
	font-family: 'Oswald';
	animation:fuwafuwa ease-in-out 3s infinite alternate;
}

@keyframes fuwafuwa{
  0%   {
	  transform:translate(0%, 0%) rotate(90deg);
	}
  100% { 
	  transform:translate(0%, -20px) rotate(90deg);
	}
}
/*  ----------------------------------------
kv テキストアニメーション
-------------------------------------------*/
.kv_text{
	position: absolute;
	bottom:0;
	width: 100%;
	height: 100vh;
	font-family: 'Oswald';
	font-weight: 500;
	overflow: hidden;
}
.kv_text li{ 
	color: rgba(255,255,255,0.2);
	text-align: left;
	white-space: nowrap;
	overflow: hidden;
	opacity:0;
  animation-name:bubble;
  animation-duration: 7s; 
  animation-iteration-count: infinite;
  animation-fill-mode: forwards;/**/
}
@keyframes bubble {
0% {
 opacity: 0;
	transform: translateY(0) scale(1);
}
50% {
 opacity: 1;
 /*transform: translateY(0) scale(1);*/
}
 100% {
 opacity:0;
 transform: translateY(-10vh) scale(1);
 } 
}
.kv_text li:nth-of-type(1){
	margin-left: 60%;
	font-size: 90px;
}
.kv_text li:nth-of-type(2){
	margin-left: 5%;
}
.kv_text li img{
	width: 700px;
	opacity: 0.2;
}
.kv_text li:nth-of-type(3){
	margin-left: 60%;
	font-size: 70px;
}
.kv_text li:nth-of-type(4){
	margin-left: -100px;
	font-size: 40px;
}
.kv_text li:nth-of-type(5){
	margin-left: 80%;
	font-size: 40px;
	color: rgba(255,255,255,0.1);
}
.kv_text li:nth-of-type(6){
	margin-left: 10%;
	font-size: 50px;
	color: rgba(255,255,255,0.1);
}
.kv_text li:nth-of-type(7){
	margin-left: 85%;
	font-size: 80px;
}
.kv_text li:nth-of-type(8){
	margin-left: 0;
	font-size: 70px;
}
.kv_text li:nth-of-type(9){
	margin-left: 75%;
	font-size: 40px;
	color: rgba(255,255,255,0.1);
}

/*  ----------------------------------------
main common
-------------------------------------------*/

h1 {
	font-size: 2.0rem;
}
h1 span {
	color: #007B45;
	font-size: 4.8rem;
}

/******************Media Queries******************/
@media screen and (min-width: 768px) {
	h1 span {
		font-size: 8.0rem;
	}
}
/*  ----------------------------------------
main service
-------------------------------------------*/
section.service{
	padding: 80px 20px;
}
section.service .btn{
		margin-top: 30px;
	}
/******************Media Queries******************/
@media screen and (min-width: 768px) {
	section.service{
		padding: 160px 3vw;
	}
	section.service .btn {
		margin-top: 80px;
	}
}
/*  ----------------------------------------
main company/recruit
-------------------------------------------*/
section.company, 
section.recruit {
	position: relative;
	background: #F8F9F5;
	margin: 0 20px 0 0;
	padding: 190px 20px 40px 40px;
}
section.recruit {
	margin: 80px 0 0 20px;
	padding: 190px 40px 40px 20px;
}
section.company::before, 
section.recruit::before {
	content: "";
	position: absolute;
	top: -20px;
	right: -20px;
	display: block;
	width: 100%;
	height: 240px;
	background: url("../images/top/img_company.jpg") no-repeat center center / cover;
}
section.recruit::before {
	right: auto;
	left: -20px;
	background: url("../images/top/img_recruit.jpg") no-repeat center center / cover;
}
section.company > div, 
section.recruit > div {
	position: relative;
}
section.company h1, 
section.recruit h1 {
	text-shadow: 2px 2px 0px #F8F9F5;
}
section.company .btn, 
section.recruit .btn {
		margin-top: 20px;
	}
/******************Media Queries******************/
@media screen and (min-width: 768px) {
	section.company, 
	section.recruit {
		min-height: 480px;
		margin: 0 3vw 0 0;
		padding: 80px 0 80px 3vw;
	}
	section.recruit {
		margin: 160px 0 0 3vw;
		padding: 80px 3vw 80px 0;
	}
	section.company::before, 
	section.recruit::before {
		top: -40px;
		right: -3vw;
		width: calc(65% + 3vw);
		max-width: 860px;
		height: 480px;
	}
	section.recruit::before {
		right: auto;
		left: -5%;
	}
	section.recruit > div {
		display: flex;
		flex-direction: row-reverse;
	}
	section.company .btn, 
	section.recruit .btn {
		margin: 20px 0 0;
	}
}
/*  ----------------------------------------
main news
-------------------------------------------*/
section.news {
	
}
/*一覧を追加する場合*/
section.news .news-title{
	display: inline;
}

section.news p.link{
	margin-top: 40px;
}

/******************Media Queries******************/
@media screen and (min-width: 768px) {
	section.news p.link a{
		display: flex;
		justify-content: space-between;
		align-items: center;

	}

	section.news p.link a::after{
		content: "";
		display: inline-block;
		background: url(./../images/news/arrow.svg) no-repeat;
		background-position: right center;
		width:41px;
		height: 13px;
	}
}

/*↑ここまで*/

section.news dl {
	margin-top: 20px;
	padding-left: 20px;
	border-left: 1px solid #aaaaaa;
}
section.news dt:not(:first-of-type) {
	margin-top: 30px;
}
section.news dd {
	margin-top: 10px;
}
.date {
	font-family: 'Oswald';
	font-weight: 500;
}
.type_update, 
.type_news {
	margin-left: 10px;
	padding: 2px 10px;
	background: #464858;
	font-size: 1.4rem;
	color: #ffffff;
	min-width: 7.6rem;
	display: inline-block;
	text-align: center;
}

.type_news {
	background: #0EA563;
}

section.news dd img{
	vertical-align: -1px;
	margin-left: .2em;
}

/******************Media Queries******************/
@media screen and (min-width: 768px) {
	section.news {
		
	}
	section.news div {
		display: flex;
		align-items: center;
	}
	section.news dl {
		display: flex;
		flex-wrap: wrap;
		margin: 0 0 0 3vw;
		padding-left: 3vw;
	}
	section.news dt {
		width: 180px;
		display: flex;
		justify-content: space-between;
		align-items: start;
		margin-right: 10px;
	}
	section.news dt:not(:first-of-type) {
		margin-top: 30px;
	}
	section.news dd {
		width: calc(100% - 190px);
		margin-top: 0;
	}
	section.news dd:not(:first-of-type) {
		margin-top: 30px;
	}
	.type_update, 
	.type_news {
		margin-left: 0;
	}
}