@charset "utf-8";
p{
	line-height: 200%;
}

@media screen and (min-width:768px){
	p{
		line-height: 250%;
	}
}

h2{
	line-height: 170%;
}

@media screen and (min-width:768px){
	h3{
		font-size: 20px;
	}
}
#fv{
	margin-top: 160px;
	text-align: center;
}

@media screen and (min-width:768px){
	#fv{
		margin-top: 204px;
	}
}

h1{
	font-size: 36px;
	line-height: 150%;
}

@media screen and (min-width:768px){
	h1{
		font-size: 64px;
		line-height: 150%;
	}
}


.fv_eyecatch{
	width: 100%;
	height: 37.48125937031484vh;
	margin-top: 50px;
}
@media screen and (min-width:768px){
	.fv_eyecatch{
		height: 58.7267vh;
		margin-top: 80px;
	}
}


/* about============================= */

.about_wrap{
	width: 89.34%;
	margin: 0 auto;
	margin-top: 100px;
}

@media screen and (min-width:1024px){
	.about_wrap{
		width: 69.84375%;
		margin: 200px 0 0 10.9167%;
		display: flex;
		justify-content: space-between;
	}
}

.about_img{
	width: 49.55223880597015%;
}


@media screen and (min-width:768px){
	.about_img{
		width: 35.19761372110365%;
		height: 100%;
	}
	.about_text{
		width: 90%;
	}

	.about_text span{
		font-size: 16px;
	}
}


@media screen and (min-width:1024px){
	.about_text{
		width: 60%;
	}
}

@media screen and (min-width:1440px){
	.about_text{
		width: 55.85384041759881%;
		max-width: 749px;
	}
}

.about_wrap h2{
	margin-top: 118px;
	position: relative;
}
@media screen and (min-width:768px){
	.about_wrap h2{
		margin-top: 140px;
	}
}

.about_wrap h2::before{
	content: "MESSAGE";
	font-family:"Zen Old Mincho", serif;
	font-size: 48px;
	color: #EFE9D3;
	position: absolute;
	top: -70px;
	right: 0;
	line-height: 150%;
	z-index: -1;
}

@media screen and (min-width:768px){
	.about_wrap h2::before{
		font-size: clamp(96px,calc(156 / 1920 * 100vw) ,156px);
		top: -9vw;
		right: 5%;
	}
}
@media screen and (min-width:1024px){
	.about_wrap h2::before{
		right: -40%;
	}
}
.about_text p:first-of-type{
	margin-top: 20px;
}

/* career===================================  */
.career_wrap{
	width: 89.34%;
	margin: 0 auto;
	margin-top: 154px;
}
@media screen and (min-width:768px){
	.career_wrap{
		width: 70.572917%;
        margin: 300px 0 0 10.208333%;
	}
}

@media screen and (min-width:1024px){
	.career_wrap{
		width: 60.572917%;
		margin: 300px 0 0 15.208333%;
	}
}

@media screen and (min-width:1440px){
	.career_wrap{
		width: 50.57291666666667%;
		margin: 300px 0 0 20.20833333333333%;
		max-width: 1080px;
	}
}

.career_wrap h2{
	position: relative;
}

.career_wrap h2::before{
	content: "CAREER";
	font-family:"Zen Old Mincho", serif;
	font-size: 48px;
	color: #EFE9D3;
	position: absolute;
	top: -70px;
	right: 0;
	line-height: 150%;
	z-index: -1;
}
@media screen and (min-width:768px){
	.career_wrap h2::before{
		font-size: clamp(96px,calc(156 / 1920 * 100vw) ,156px);
		top: -8.8vw;
		left: 14.270833vw;
	}
}

.career:first-child{
	margin-top: 35px;
}

.career_wrap div{
	height: 320px;
	padding-left: 31px;
	margin-left: auto;
	position: relative;
}
@media screen and (min-width:768px){
	.career_wrap div{
		height: 45vw;
		padding-left: 71px;
	}
}

@media screen and (min-width:850px){
	.career_wrap div{
		height: 35vw;
	}
}


@media screen and (min-width:1100px){
	.career_wrap div{
		height: 25vw;
	}
}

@media screen and (min-width:1400px){
	.career_wrap div{
		height: 19vw;
	}
}

@media screen and (min-width:1700px){
	.career_wrap div{
		height: 12.76041666666667vw;
	}
}
.career_wrap div:first-of-type{
	margin-top: 30px;
}
@media screen and (min-width:768px){
	.career_wrap div:first-of-type{
		margin-top: 50px;
	}
}

.career_wrap div::before{
	content: "";
	width: 15px;
	height: 15px;
	background: #B8A356;
	border-radius: 50%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}

.career::after{
	content: "";
	width: 1px;
	height: 100%;
	background: #B8A356;
	position: absolute;
	top: 0;
	left: 7px;
	transform: translateX(-50%);
	z-index: -1;
	transform: scaleY(0);
	transition: all 1s ease-in-out;
	transform-origin: top;
}

.career.line_animation::after {
  transform: scaleY(1);
  
}

.career.line_animation.first::after {
  transition-delay: 0.6s;
  transform: scaleY(1);
}

.career.line_animation.second::after {
  transition-delay: 1.4s;
  transform: scaleY(1);
}

.career.line_animation.third::after {
  transition-delay: 2.2s;
  transform: scaleY(1);
}

@media screen and (min-width:768px){
	.career_wrap div:first-of-type{
		margin-top: 50px;
	}
}
.career h3{
	line-height: 150%;
}

.career p{
	margin-top: 10px;
}

.dec_img1{
	width: 32%;
	margin-top: 80px;
	margin-left: auto;
	-webkit-clip-path: inset(100% 0 0 0);
	clip-path: inset(100% 0 0  0);
	transition: 1s ease-in-out;
	
}

.dec_img1.active{
	-webkit-clip-path: inset(0);
	clip-path: inset(0);
}

@media screen and (min-width:768px){
	.dec_img1{
		width: 16.6145833333333%;
		margin: -35px 2.08334% 0 auto;
		transition-delay: 1s;
	}
}

.dec_img2{
	width: 74.4%;
	margin-top: 50px;
	-webkit-clip-path: inset(100% 0 0 0);
	clip-path: inset(100% 0 0  0);
	transition: 1s ease-in-out;
	transition-delay: 1s;
}

.dec_img2.active{
	-webkit-clip-path: inset(0);
	clip-path: inset(0);
}

@media screen and (min-width:768px){
	.dec_img2{
		width: 34.0625%;
		margin-top: -10%;
		transition-delay: 0s;
	}
}


/* skill============================== */
.skill_wrap{
	width: 89.34%;
	margin: 0 auto;
	margin-top: 219px;
}

@media screen and (min-width:768px){
	.skill_wrap{
		width: 82.3125%;
		margin-top: 250px;
	}
}

@media screen and (min-width:1140px){
	.skill_wrap{
		width: 65.3125%;
	}
}

@media screen and (min-width:1440px){
	.skill_wrap{
		width: 55.3125%;
	}
}

.skill_wrap h2{
	position: relative;
	text-align: center;
}

.skill_wrap h2::before{
	content: "SKILL";
	font-family:"Zen Old Mincho", serif;
	font-size: 48px;
	color: #EFE9D3;
	position: absolute;
	top: -70px;
	right: 0;
	line-height: 150%;
	z-index: -1;
}
@media screen and (min-width:768px){
	.skill_wrap h2::before{
		font-size: clamp(96px,calc(156 / 1920 * 100vw) ,156px);
		top: -8.8vw;
		left: 34vw;
	}
}

.skill_wrap div{
	position: relative;
	padding: 30px 0;
}

@media screen and (min-width:768px){
	.skill_wrap div{
		padding: 50px 0;
	}
}

.skill_wrap div:first-of-type{
	margin-top: 30px;
}

@media screen and (min-width:768px){
	.skill_wrap div:first-of-type{
		margin-top: 50px;
	}
}

.skill_wrap div::before{
	content: "";
	width: 100%;
	height: 1px;
	background: repeating-linear-gradient(to right,#B8A356,#B8A356 2px,transparent 2px, transparent 5px);
	position: absolute;
	top: 0;
	left: 0;
}

.skill_wrap div:last-of-type::after{
	content: "";
	width: 100%;
	height: 1px;
	background: repeating-linear-gradient(to right,#B8A356,#B8A356 2px,transparent 2px, transparent 5px);
	position: absolute;
	bottom:  0;
	left: 0;
}

.skill h3 span{
	color: #060606;
	font-family:"Zen Old Mincho", serif;
}
.number{
	margin-left: 10px;
}

@media screen and (min-width:768px){
	.number{
		margin-left: 7.2916667vw;
	}
}

.skill_title{
	font-size: 16px;
	margin-left: 6px;
}

.skill p{
	margin-top: 10px;
	margin: 0 20px 0 33px;
	color: #222;
}

@media screen and (min-width:768px){
	.skill p{
		margin: 20px 8.6979167vw 0 8.6979167vw;
		color: #222;
	}
}
.dec_img3{
	width: 73.34%;
	margin-left: auto;
	margin-top: 100px;
	-webkit-clip-path: inset(100% 0 0 0);
	clip-path: inset(100% 0 0  0);
	transition: 1s ease-in-out;
	
}

.dec_img3.active{
	-webkit-clip-path: inset(0);
	clip-path: inset(0);
}
@media screen and (min-width:768px){
	.dec_img3{
		width: 41.45833%;
		margin-left: auto;
		margin-right: 7.7083vw;
		margin-top: 230px;
		transition-delay: 0.8s;
	}
}
.dec_img4{
	width: 32.534%;
	margin-top: 40px;
	margin-left: 30px;
	-webkit-clip-path: inset(100% 0 0 0);
	clip-path: inset(100% 0 0  0);
	transition: 1s ease-in-out;
	transition-delay: 0.8s;
}

.dec_img4.active{
	-webkit-clip-path: inset(0);
	clip-path: inset(0);
}
@media screen and (min-width:768px){
	.dec_img4{
		width: 13.333333%;
		margin-top: -17.917%;
		margin-left: 3.645833vw;
		transition-delay: 0s;
	}
}
/* strength=========================== */
.strength_wrap{
	width: 89.34%;
	margin: 0 auto;
	margin-top: 219px;

}

@media screen and (min-width:1024px){
	.strength_wrap{
		width: 96.875%;
		padding-left: 13.02083334vw;
		margin-top: 368px;
	}

	#strength{
		overflow: hidden;
	}

}
.strength_wrap h2{
	position: relative;
}


.strength_wrap h2::before{
	content: "STRENGTH";
	font-family:"Zen Old Mincho", serif;
	font-size: 48px;
	color: #EFE9D3;
	position: absolute;
	top: -70px;
	right: 0;
	line-height: 150%;
	z-index: -1;
}

@media screen and (min-width:768px){
	.strength_wrap h2::before{
		font-size: clamp(96px,calc(156 / 1920 * 100vw) ,156px);
		top: -8.8vw;
		left: 16vw
	}
}

@media screen and (min-width:1024px){
	.slick-slider{
			width: 100%;
			overflow: visible; /* はみ出しを見せる */
			margin-left: 0;
			margin-top: 50px;
	}

	.slick-list{
		overflow: visible;
	}
}

.strength{
	border: #B8A356 1px solid;
	background: #fff;
	height: 480px;
	width: 100%;
	margin-top: 30px;
}

@media screen and (min-width:500px){
	.strength{
	height: 400px;
}
}

@media screen and (min-width:600px){
	.strength{
	height: 350px;
}
}

@media screen and (min-width:1024px){
	.strength{
		height: 525px;
		width: 31.25vw  !important;
		margin-top: 0;
	}
}

@media screen and (min-width:1440px){
	.strength{
		height: 450px;
		width: 31.25vw  !important;
		margin-top: 0;
	}
}
.strength h3{
	height: 44px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	margin-left: 30px;
	margin-top: 50px;
}

@media screen and (min-width:768px){
	.strength h3{
		margin-left: 36px;
	}
}

.strength_number{
	font-family:"Zen Old Mincho", serif;
	position: relative;
}

.strength_number::after{
	content: "";
	width: 1px;
	height: 50px;
	background: #222;
	transform: rotate(45deg);
	position: absolute;
	top: 0;
	left: 26px; 
}
.strength_title{
	font-family:"Zen Old Mincho", serif;
	margin-left: 38px;
	font-size: 20px;
}

.strength p{
	padding: 0 30px;
	margin-top: 20px;
}

@media screen and (min-width:768px){
	.strength p{
		font-size: 14px;
		padding: 0 20px;
	}
}
@media screen and (min-width:1440px){
	.strength p{
		font-size: 16px;
		padding: 0 63px 0 77px;
	}
}

.slide_arrow{
	display: block;
	width: 50px;
	aspect-ratio: 1 / 1;
	background-image: url(../img/slider_arrow.svg);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 100% 100%;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 1;
	border: transparent;
	transition: 0.3s ease-in-out;
}

.slide_arrow:hover{
	opacity: 0.8;
}

.prev_arrow{
	position: absolute;
	left: -20px;
}

.next_arrow{
	position: absolute;
	right: 0;
	transform: rotateY(-180deg);
}
/* vision======================== */
.vision_wrap{
	width: 89.34%;
	margin: 0 auto;
	margin-top: 219px;

}
@media screen and (min-width:768px){
	.vision_wrap{
		width: 80.895833%;
		margin: 0 auto;
		margin-top: 354px;
	}
}

@media screen and (min-width:1024px){
	.vision_wrap{
		width: 60.895833%;
	}
}


@media screen and (min-width:1440px){
	.vision_wrap{
		width: 39.89583333333333%;
	}
}
.vision_wrap h2{
	position: relative;
	text-align: center;
}

.vision_wrap h2::before{
	content: "VISION";
	font-family:"Zen Old Mincho", serif;
	font-size: 48px;
	color: #EFE9D3;
	position: absolute;
	top: -40px;
	line-height: 150%;
	z-index: -1;
}
@media screen and (min-width:768px){
	.vision_wrap h2::before{
		font-size: clamp(96px,calc(156 / 1920 * 100vw) ,156px);
		top: -70%;
		left: 11%;
		transform: translate(0,-50%);
	}
}
.vision_wrap p:first-of-type{
	margin-top: 30px;
}

.vision_wrap p{
	margin-top: 20px;
}

.vision_dec{
	margin: 120px auto 230px auto;
	width: 89.34%;
	-webkit-clip-path: inset(100% 0 0 0);
	clip-path: inset(100% 0 0  0);
	transition: 1s ease-in-out;
}

.vision_dec.active{
	-webkit-clip-path: inset(0);
	clip-path: inset(0);
}

@media screen and (min-width:768px){
	.vision_dec{
		margin: 150px auto 400px auto;
		width: 64.375%;
	}
}
