@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');



/*-------------------------------
	キービジュアル
-------------------------------*/

.Keyvisual__image{
	background-image: url(../images/philosophy/img_keyvisual.jpg);
	background-image: image-set(url(../images/philosophy/img_keyvisual.jpg) 1x, url(../images/philosophy/img_keyvisual@2x.jpg) 2x);
	background-position: top center;
}

@media screen and (min-width:769px) , print{

}
@media screen and (max-width:1240px) and (min-width: 769px){

}
@media screen and (max-width:960px) and (min-width: 769px){

}
@media screen and (max-width:768px){

}



/*-------------------------------
	基本設定
-------------------------------*/

.main{
	position: relative;
	z-index: 5000;
}
.main::before{
	content: "";
	display: block;
	width: 100%;
	max-width: 120rem;
	height: 100%;
	position: absolute;
	right: 0;
	top: 0;
	bottom: 0;
	z-index: -1;
	background-image: url(../images/philosophy/bg_philosophy.svg);
	background-size: contain;
	background-position: right top;
	background-repeat: no-repeat;
}



/*-------------------------------
	わたしたちの理念
-------------------------------*/

.Philosophy{
	overflow: hidden;
}
.Philosophy-block{
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.Philosophy-block__body{
	width: calc(50% + 2.5rem);
}
.Philosophy-block__title{
	margin-bottom: 3.5rem;
}
.Philosophy-block__title__en{
	font-family: var(--en1);
	font-size: 4rem;
	letter-spacing: .025em;
	margin-bottom: 1rem;
	font-weight: 700;
	line-height: 1;
	display: block;
}
.Philosophy-block__title__en span{
	letter-spacing: .025em;
	line-height: 1;
	display: block;
}
.Philosophy-block__title__jp{
	font-weight: 500;
	line-height: 1;
	display: block;
	color: #666;
}
.Philosophy-block__subtitle{
	color: var(--maincolor);
	font-size: 5.4rem;
	margin-bottom: 4rem;
	font-weight: 700;
	line-height: calc(8.4 / 5.4);
}
.Philosophy-block__text{
	font-size: 1.6rem;
}
.Philosophy-block__image{
	width: calc(50% - 2.5rem);
	height: 55.5rem;
	display: flex;
	align-items: center;
}
.Philosophy-block__image img{
	width: calc(100% + 11.3rem);
	height: 100%;
	object-fit: cover;
}

.Philosophy:nth-of-type(2n+1) .Philosophy-block__body{
	padding-right: 5.5rem;
}
.Philosophy:nth-of-type(2n+1) .Philosophy-block__image{
	justify-content: flex-start;
}

.Philosophy:nth-of-type(2n) .Philosophy-block{
	flex-direction: row-reverse;
}
.Philosophy:nth-of-type(2n) .Philosophy-block__body{
	padding-left: 5.5rem;
}
.Philosophy:nth-of-type(2n) .Philosophy-block__image{
	justify-content: flex-end;
}

@media screen and (min-width:769px) , print{

}
@media screen and (max-width:1240px) and (min-width: 769px){

}
@media screen and (max-width:960px) and (min-width: 769px){

	.Philosophy-block__body{
		width: 60%;
	}
	.Philosophy-block__image{
		width: 40%;
	}
	.Philosophy:nth-of-type(2n+1) .Philosophy-block__body{
		padding-right: 3.5rem;
	}
	.Philosophy:nth-of-type(2n) .Philosophy-block__body{
		padding-left: 3.5rem;
	}

}
@media screen and (max-width:768px){

	.Philosophy-block{
		flex-direction: column;
	}
	.Philosophy-block__body{
		width: 100%;
		padding-bottom: 6.5rem;
	}
	.Philosophy-block__title{
		margin-bottom: 4.8rem;
		text-align: center;
	}
	.Philosophy-block__title__en{
		font-size: 5.4rem;
	}
	.Philosophy-block__title__jp{
	}
	.Philosophy-block__subtitle{
		font-size: 5.4rem;
		margin-bottom: 4.5rem;
		line-height: calc(9 / 6);
		text-align: center;
	}
	.Philosophy-block__text{
		font-size: 2.8rem;
	}
	.Philosophy-block__image{
		width: 100%;
		height: 63.5rem;
	}
	.Philosophy-block__image img{
		width: calc(100% + (var(--padding-leftright) * 2));
	}
	
	.Philosophy:nth-of-type(2n+1) .Philosophy-block__body{
		padding-right: 0;
	}
	.Philosophy:nth-of-type(2n+1) .Philosophy-block__image{
		justify-content: center;
	}
	
	.Philosophy:nth-of-type(2n) .Philosophy-block{
		flex-direction: column;
	}
	.Philosophy:nth-of-type(2n) .Philosophy-block__body{
		padding-left: 0;
	}
	.Philosophy:nth-of-type(2n) .Philosophy-block__image{
		justify-content: center;
	}

}



/*-------------------------------
	わたしたちの存在意義
-------------------------------*/

.Purpose{
	padding-bottom: 18.5rem;
}

@media screen and (min-width:769px) , print{

}
@media screen and (max-width:1240px) and (min-width: 769px){

}
@media screen and (max-width:960px) and (min-width: 769px){

}
@media screen and (max-width:768px){

}



/*-------------------------------
	わたしたちの使命
-------------------------------*/

.Mission{
	padding-top: 6rem;
}

@media screen and (min-width:769px) , print{

}
@media screen and (max-width:1240px) and (min-width: 769px){

}
@media screen and (max-width:960px) and (min-width: 769px){

}
@media screen and (max-width:768px){

	.Mission{
		padding-top: 0;
		padding-bottom: 18.5rem;
	}

}



/*-------------------------------
	わたしたちの行動指針
-------------------------------*/

.ValueCredo{
	padding-top: 6rem;
}
.ValueCredo-block__title{
	margin-bottom: 6.2rem;
}
.ValueCredo-block__subtitle{
	max-width: 20.4rem;
	margin-bottom: 5.5rem;
}
.ValueCredo-block__subtitle img{
	width: 100%;
	position: relative;
	z-index: 5000;
}
.ValueCredo-block__list__item::before{
	content: attr(data-en);
	display: block;
	line-height: 1;
	font-size: 5.9rem;
	letter-spacing: .02em;
	font-weight: 600;
	color: #f1f3f5;
	position: absolute;
	left: 0;
	top: -.75em;
	z-index: -1;
}
.ValueCredo-block__list__item:not(:last-child){
	margin-bottom: 4.5rem;
}
.ValueCredo-block__list__item__title{
	color: var(--maincolor);
	font-size: 2.8rem;
	margin-bottom: 1rem;
	font-weight: 700;
	line-height: 1;
}

@media screen and (min-width:769px) , print{

}
@media screen and (max-width:1240px) and (min-width: 769px){

}
@media screen and (max-width:960px) and (min-width: 769px){

}
@media screen and (max-width:768px){

	.ValueCredo{
		padding-top: 0;
	}
	.ValueCredo-block__body{
		padding-bottom: 7.5rem;
	}
	.ValueCredo-block__title{
		margin-bottom: 7rem;
	}
	.ValueCredo-block__subtitle{
		max-width: 23.6rem;
		margin-bottom: 8.5rem;
		margin-left: auto;
		margin-right: auto;
	}

	.ValueCredo-block__list__item{
		text-align: center;
	}
	.ValueCredo-block__list__item::before{
		width: calc(100% + (var(--padding-leftright) * 2));
		font-size: 8.4rem;
		left: calc(var(--padding-leftright) * -1);
	}
	.ValueCredo-block__list__item:not(:last-child){
		margin-bottom: 6.5rem;
	}
	.ValueCredo-block__list__item__title{
		font-size: 3.8rem;
		margin-bottom: 1.8rem;
	}
	.ValueCredo-block__list__item__text{
		text-align: center;
	}

}