@charset "utf-8";
/*==================================================
	【当研究室の特徴】ページ固有のスタイル
==================================================*/
#feature .list {
	counter-reset: number 0;
}
#feature .box:not(:last-of-type) {
	margin-bottom: 100px;
}
#feature .box .ttl {
	background: #f4f4f4;
	position: relative;
	margin-bottom: 30px;
	padding: 2.7em 0;
}
#feature .box:nth-of-type(even) .ttl {
	padding-left: 50px;
}
#feature .box .ttl::before {
	width: 50vw;
	background: #f4f4f4;
}
#feature .box:nth-of-type(even) .ttl::before {
	left: auto;
	right: 0;
}
@media only screen and (max-width: 1150px) {
	#feature .box:nth-of-type(even) .ttl::before {
		margin-right: -25px;
	}
}
#feature .box .ttl::after {
	counter-increment: number 1;
	content: counter(number, decimal-leading-zero);
	font-size: 138px;
	line-height: 1;
	width: 180px;
	height: 160px;
	margin-left: 0;
	margin-right: 0;
	z-index: 1;
	pointer-events: none;
	font-weight: 600;
	color: rgba(221, 7, 23, 0.08);
	position: absolute;
	right: -26px;
	bottom: -31px;
}
#feature .box:nth-of-type(3) .ttl::after {
	right: -13px;
}
#feature .box .ttl  h4 {
	font-size: 30px;
	font-weight: 500;
	line-height: 1.8;
}
#feature .box .txt {
	font-size: 110%;
}
#feature .box .img {
	border: 1px solid #bdc0c6;
	padding: 15px;
	margin-bottom: 20px;
}
#feature .box .img:last-of-type {
	margin-bottom: 0;
}
@media print, screen and (min-width: 769px){ /* PCのみ */
}
@media print, screen and (min-width: 641px){ /* PC・タブレット */
}
@media only screen and (max-width: 768px) and (min-width: 641px){ /* タブレットのみ */
}
@media only screen and (max-width: 768px) {  /* タブレット以下 */
	#feature .box:not(:last-of-type) {
		margin-bottom: 40px;
	}
	#feature .box .ttl {
		padding: 1.5em 0;
		margin-bottom: 20px;
	}
	#feature .box:nth-of-type(even) .ttl {
		padding-left: 30px;
	}
	#feature .box .ttl::after {
		font-size: 80px;
		width: 100px;
		height: 90px;
		right: -9px;
		bottom: -14px;
	}
	#feature .box:nth-of-type(3) .ttl::after {
		right: -4px;
	}
	#feature .box .ttl h4 {
		font-size: 22px;
	}
}
@media only screen and (max-width: 640px){ /* スマホ */
	#feature .box .ttl {
		padding: 1em 0;
	}
	#feature .box:nth-of-type(even) .ttl {
		padding-left: 20px;
	}
	#feature .box .ttl::after {
		font-size: 60px;
		width: 80px;
		height: 70px;
		right: -12px;
	}
	#feature .box:nth-of-type(3) .ttl::after {
		right: -6px;
	}
	#feature .box .ttl h4 {
		font-size: 17px;
	}
	#feature .box .txt {
		font-size: 100%;
	}
}
@media only screen and (max-width: 640px){ /* スマホ */
	#feature .box .ttl h4 {
		font-size: 14px;
	}
	#feature .box .img {
		padding: 10px;
	}
}