@charset "utf-8";

/*----- message -----*/
.catchcopy,
.catchcopy ~ p{
	max-width:900px;
	margin-right:auto;
	margin-left:auto;
	line-height:3.2rem;
}
.catchcopy{
	margin-top:65px;
	margin-bottom:30px;
	font-size:2.4rem;
	font-weight:bold;
	letter-spacing:2.4px;
	line-height:4.2rem;
}
.philosophy{padding:157px 20px 121px;}
.vision{padding:83px 20px 89px;}
.bg_gray{
	background:#F8F6F4;
	border:1px solid #ccc;
	border-radius:10px;
	margin-bottom:20px;
}
.bg_gray p{
	font-size:2.7rem;
	font-weight:bold;
	letter-spacing:2.7px;
	line-height:5rem;
	text-align:center;
	width:60%;
	margin:0 auto;
}
.bg_gray ul{
	max-width:735px;
	margin:54px auto 0;
}
.bg_gray li{
	position:relative;
	font-size:2rem;
	font-weight:bold;
	letter-spacing:2px;
	list-style:none;
	margin-bottom:26px;
}
.bg_gray li::before{
	content:'';
	position:absolute;
	top:12px;
	left:-20px;
	width:8px;
	height:8px;
	background:#BF1834;
	border-radius:50%;
}
.color_red{color:#BF1834;}
.bg_gray + p{max-width:none;}


/*----- outline -----*/
.caption{
	display:flex;
	justify-content:center;
	margin-top:-10px;
	font-size:1.4rem;
	letter-spacing:1.4px;
}
.caption.en{margin-left:3.636%;}
.caption_in:first-child{margin-right:29.245%;}

.border{border:2px solid #ddd;}


@media screen and (min-width:768px) and (max-width:999px){

.caption{
	font-size:1.3rem;
	letter-spacing:1.3px;
}
.caption.en{margin-left:4%;}
.caption_in:first-child{margin-right:25%;}
.catchcopy{
	margin-top:48px;
	margin-bottom:36px;
	font-size:2.1rem;
	letter-spacing:2.1px;
	line-height:3.3rem;
}
.philosophy{
	padding:80px 20px 54px;
}
.vision{
	padding:60px 20px 66px;
}
.bg_gray p{
	font-size:2.3rem;
	letter-spacing:2.3px;
	line-height:4rem;
}
.bg_gray ul{
	margin:47px auto 0;
}
.bg_gray li{
	font-size:1.7rem;
	letter-spacing:1.7px;
	margin-bottom:22px;
}

}


@media screen and (max-width:767px){

.caption{
	font-size:1.1rem;
	letter-spacing:1.1px;
}
.caption.en{margin-left:4%;}
.caption_in:first-child{margin-right:22%;}
.catchcopy{
	padding:13px 0;
	margin-top:20px;
	font-size:1.8rem;
	letter-spacing:1.8px;
}
.catchcopy, .catchcopy ~ p{line-height:2.4rem;}
.philosophy{padding:30px 20px 13px;}
.vision{padding:38px 20px 44px;}
.bg_gray p{
	font-size:1.8rem;
	letter-spacing:1.8px;
	line-height:3rem;
	width:98%;
}
.bg_gray ul{margin-top:40px;}
.bg_gray li{
	margin-bottom:18px;
	font-size:1.4rem;
	letter-spacing:1.4px;
	line-height:2.4rem;
}
.bg_gray li::before{top:8px;}

}


@media screen and (max-width:600px){

.caption.en{margin-left:2%;}
.caption_in:first-child{margin-right:10%;}

}