@charset "utf-8";

/*-------------------------------
	共通
-------------------------------*/

.Vision__body > *:not(:last-child):not(.Message__title){
	margin-bottom: 3rem;
}
.Vision__text{
	color: var(--blackcolor2);
}
.Vision__text + .Vision__text{
	margin-top: calc(1em * var(--line-height));
}
.Vision__text.-right{
	text-align: right;
}
.Vision__text.-bold{
	color: var(--blackcolor);
	font-weight: 700;
}

.Vision-list-wrap{
	counter-reset: number 0;
}
.Vision-list:not(:last-child){
	margin-bottom: 4.5rem;
}
.Vision-list__title{
	width: 100%;
	font-size: 1.8rem;
	margin-bottom: 1rem;
	font-weight: 700;
	line-height: 1.5;
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
}
.Vision-list__title::before{
	counter-increment: number 1;
	content: counter(number) ".";
	line-height: 1.5;
	display: block;
}

.Vision-child-list__item:not(:last-child){
	margin-bottom: 7rem;
}
.Vision-child-list__item-title{
	color: var(--maincolor);
	width: 100%;
	font-size: 2.4rem;
	margin-bottom: 2.5rem;
	font-weight: 700;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}
.Vision-child-list__item-title::before,
.Vision-child-list__item-title::after{
	line-height: 1;
	display: block;
}
.Vision-child-list__item-title::before{
	content: "<";
}
.Vision-child-list__item-title::after{
	content: ">";
}

/* ドット付数字 */
.Vision-number{
	counter-reset: number 0;
}
.Vision-number__item{
	width: 100%;
	font-size: 2rem;
	font-weight: 700;
	padding-left: 1em;
	position: relative;
}
.Vision-number__item::before{
	counter-increment: number 1;
	content: counter(number) ".";
	position: absolute;
	left: 0;
	top: 0;
}

/* ドット */
.Vision-dot__item{
	width: 100%;
	font-size: 2rem;
	font-weight: 700;
	padding-left: 1em;
	position: relative;
}
.Vision-dot__item::before{
	content: "・";
	position: absolute;
	left: 0;
	top: 0;
}

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

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

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

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

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

	.Vision__body > *:not(:last-child):not(.Message__title){
		margin-bottom: 5rem;
	}

	.Vision-list:not(:last-child){
		margin-bottom: 5rem;
	}
	.Vision-list__title{
		font-size: 2.8rem;
		margin-bottom: 1.5rem;
		line-height: calc(4.2 / 2.8);
	}
	.Vision-list__title::before{
		line-height: calc(4.2 / 2.8);
	}

	.Vision-child-list__item:not(:last-child){
		margin-bottom: 8.2rem;
	}
	.Vision-child-list__item-title{
		font-size: 3.2rem;
	}

	/* ドット付数字 */
	.Vision-number__item{
		font-size: 3rem;
		line-height: calc(6 / 3);
	}
	.Vision-number__item::before{
		line-height: calc(6 / 3);
	}

	/* ドット */
	.Vision-dot__item{
		font-size: 3rem;
		line-height: calc(6 / 3);
	}
	.Vision-dot__item::before{
		line-height: calc(6 / 3);
	}

}



/*-------------------------------
	代表メッセージ
-------------------------------*/

.Message__title{
	font-size: 3rem;
	margin-bottom: 4rem;
	line-height: calc(4.7 / 3);
	font-weight: 700;
}
.Message-block{
	width: 100%;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}
.Message-block__body{
	width: calc(100% - 30rem);
	padding-right: 5rem;
}
.Message-block__president{
	width: 30rem;
}
.Message-block__president-image{
	width: 100%;
	margin-bottom: 2rem;
}
.Message-block__president-image img{
	width: 100%;
}
.Message-block__president-name{
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	justify-content: flex-end;
}
.Message-block__president-name-text{
	color: var(--blackcolor2);
	font-size: 1.4rem;
	line-height: calc(2.6 / 1.4);
	margin-bottom: 1.6rem;
	text-align: right;
}
.Message-block__president-name-image{
	width: 18rem;
	line-height: 1;
}
.Message-block__president-name-image img{
	width: 100%;
}

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

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

	.Message-block__body{
		width: calc(100% - 25rem);
	}
	.Message-block__president{
		width: 25rem;
	}

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

	.Message-block{
		flex-direction: column;
	}
	.Message-block__body{
		width: 100%;
		margin-bottom: 5rem;
	}
	.Message-block__president{
		width: 30rem;
		margin-left: auto;
		margin-right: auto;
	}
	.Message-block__president-name{
		justify-content: center;
		align-items: center;
	}
	.Message-block__president-name-text{
		text-align: center;
	}

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

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

	.Message__title{
		font-size: 4rem;
		margin-bottom: 5.8rem;
		line-height: calc(6 / 4);
	}
	.Message-block{
		flex-direction: column;
	}
	.Message-block__body{
		width: 100%;
		padding-right: 0;
		margin-bottom: 2.8rem;
	}
	.Message-block__president{
		width: 40rem;
		margin-left: auto;
		margin-right: auto;
	}
	.Message-block__president-image{
		margin-bottom: 2.8rem;
	}
	.Message-block__president-name{
		align-items: center;
		justify-content: center;
	}
	.Message-block__president-name-text{
		font-size: 2.4rem;
		line-height: calc(3.6 / 2.4);
		margin-bottom: 2rem;
		text-align: center;
	}
	.Message-block__president-name-image{
		width: 30rem;
	}

}



/*-------------------------------
	経営理念
-------------------------------*/


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

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

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

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

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

}



/*-------------------------------
	品質方針
-------------------------------*/


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

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

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

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

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

}



/*-------------------------------
	環境方針
-------------------------------*/


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

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

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

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

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

}