  /* CSS Document */

.p-special_contribution{}

.p-special_contribution__content{
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}


#main h4.p-special_heading{
	flex: 0 0 auto;
	font-size: 1rem;
	line-height: 1.5;
	letter-spacing: -0.04em;
	margin-bottom: 0.75rem;
	padding-top: 0.875rem;
	border-top: #ccc 1px solid;
	text-align: center;
}
.p-special_photo{
	flex: 0 0 auto;
}


.p-special_person_info{
	flex: 1 0 auto;
	font-size: 0.75rem;
	line-height: 1.5;
	margin: 0.625rem 0px 0 30px;
	display: flex;
	justify-content: space-between;
	flex-direction: column;
}
.p-special_person_info__pos{
	flex: 1 0 auto;
	/*min-height: 106px;*/
}
.p-special_person_info__name{
	font-size: 1.125rem;
	font-weight: bold;
	margin-top: 0.375rem;
	display: inline-block;
}

/*p-mess_btn*/
.p-mess_btn{
	flex: 0 0 auto;
	margin: 1rem auto;
	padding: 0.875rem 0 1rem;
	width: 100%;
	border-radius: 4px;
	background-color: #1d3994;
	color: #fff;
	cursor: pointer;
	text-align: center;
	line-height: 1;
	font-weight: bold;
	transition: background-color 0.3s;
	box-shadow: 2px 3px 8px -2px rgba(0,0,0,0.4);
}
.p-mess_btn:hover{
	background-color: #0c2684;
}


/**/
.p-lb_content{
	width: 900px;
	padding: 20px 0px 30px;
	
	font-size: 1rem;
	line-height: 1.9375rem;
}
.p-lb_content__inner{
	width: 800px;
	margin: 0 auto;
}
.p-lb_content .col{
	float: none;
}
.p-lb_content h3.p-box_heading{
	font-size: 1.25rem;
	margin: 0.25rem 0 1.875rem 0;
	padding-bottom: 0.875rem;
	border-bottom: #ccc 1px solid;
}


/*sp*/

.sp .p-special_contribution .c-flex_between{
	display: flex;
	
}
.sp #main .p-special_contribution .col3 .col{
	width: 30% !important;
	margin-left: 0;
	margin-right: 0;
}
.sp .p-special_person_info{
	font-size: 0.4375rem;
	margin: 0.5rem 0px;
}
.sp #main h4.p-special_heading{
	display: none;
}
.sp #main .p-special_contribution .col .c-narrow.c-person{
	width: 100% !important;
}
.sp .p-special_person_info__pos{
	min-height: 106px;
}
.sp .p-special_person_info__name{
	display: block;
}


.sp .p-lb_content{
	width: 96%;
	padding: 10px 0px 10px;
	max-height: calc(100% - 120px);
}
.sp .p-lb_content__inner{
	width: 90%;
	margin: 0 auto;
}
.sp .p-lightbox_closeBtn{
	top:8px;
	right: 8px;
}

