/* CSS Document */

/*component*/
#main h1{
	text-align: left;
}
#main h1.c-line_heading{
	margin-bottom: 1.5rem;
	padding-bottom: 1.25rem;
	border-bottom: #ccc 1px solid;
}

#main h2.c-line_heading{
	border-top: #ccc 1px solid;
	padding: 1.5rem 0 0;
	margin: 2rem 0 1.5rem;
	text-align: left;
	font-size: 1.3125rem;
}

#main h2.c-index_heading{
	font-size: 1.625rem;
	margin-bottom: 1rem;
}

.c-txt_blue--light{
	color: #3A8DDE;
}

.c-normal{
	font-weight: normal;
}
.c-small_txt{
	font-size: 85%;
}
.c-paren{
	margin-left: -0.5em;
	margin-right: -0.5em;
}
.c-line_section{
	padding-top: 1.5rem;
	border-top: #ccc 1px solid;
}

.c-valign_start{
	align-items: flex-start;
}

#main h4.c-dotline_heading{
	background-image: linear-gradient(to right,#ccc 0px, #ccc 2px, transparent 2px, transparent 4px);
	background-repeat: repeat-x;
	background-size: 4px 2px;
	background-position: 0px 0px;
	padding-top: 0.75rem;
	color: #666;
}

.c-tight_spacing{
	letter-spacing: -0.03em;
}
.c-tight_spacing.more{
	letter-spacing: -0.05em;
}

.c-photoby{
	color: #777;
	font-size: 75%;
}
.c-photoby.c-align_right{
	text-align: right;
	margin-top: -1.8125rem;
}
.sp .c-photoby.c-align_right{
	margin-top: 0;
}

.c-shadow{
	box-shadow: 2px 3px 8px -2px rgba(0,0,0,0.3);
}

/*btn*/
.c-bn_btn{
	position: relative;
	background-color: #fff;
	box-shadow: 1px 2px 12px -2px rgba(0,0,0,0.35);
	text-align: left;
}
.c-bn_btn.c-align_height{
	height: 100%;
}
.c-bn_btn.c-padding{
	padding: 1.125rem 1.5rem 1.25rem 1.375rem;
}
.c-bn_btn.small{
	font-size: 0.875rem;
}
.c-bn_btn.small.c-padding{
	padding: 0.125rem 1.8125rem 0.125rem 1.8125rem;
}
.c-bn_btn a{
	color: #101010;
	text-decoration: none;
}

#main .c-bn_btn h3,
#main .c-bn_btn h4,
.c-bn_btn h3,
.c-bn_btn h4{
	margin: 0;
	font-size: 1.125rem;
	font-weight: 500;
	line-height: 1.5;
}

/*c-block_hover*/
.c-block_hover{
	position: relative;
}
.c-block_hover a:before{
	content: '';
	display: block;
	box-sizing: border-box;
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0px; top: 0px;
	transition: all 0.3s;
	border: #a6c4eb 1px solid;
	border-radius: 2px;
	background-color: rgba(166,196,235,0.3);
	opacity: 0;
}
.c-block_hover:hover a:before{
	border-width: 2px;
	opacity: 1;
}
/*p-thumb_link*/
.p-thumb_link{
	display: flex;
	justify-content: flex-start;
}
.p-thumb_link.c-vertical{
	flex-direction: column;
	justify-content: flex-start;
	height: 100%;
}
.p-thumb_link__img{
	flex: 0 0 auto;
	width: 30%;
}
.p-thumb_link__txt{
	flex: 1 0 auto;
	width: 30%;
	padding: 0.75rem 1.5rem 1.125rem;
}
.c-vertical .p-thumb_link__img{
	width: 100%;
	height: auto;
}
.c-vertical .p-thumb_link__txt{
	width: 100%;
	height: auto;
	display: flex;
	justify-content: center;
	flex-direction: column;
	align-items: center;
	padding-left: 0.875rem;
	padding-right: 0.875rem;
}
.c-arrow_right .p-thumb_link__txt{
	padding-right:40px;
}
.c-vertical .p-thumb_link__txt.p-large_label{
	padding-top: 1.5rem;
	padding-bottom: 1.75rem;
}

/*pdf*/
.c-pdf::after{
	content: "";
	display: inline-block;
	width: 18px; height: 18px;
	background: url("../images/icon_pdf.png") no-repeat left top;
	margin: 0 0.375rem;
	vertical-align: -1px;
}
.p-pdf_size{
	font-size: 0.875rem;
	font-weight: normal;
	color: #666;
}


@media print{
	.c-no_print{
		display: none;
	}
}

/*project*/

/*c-box_article*/
.c-box_article.c-border.c-bg_beige{
	background-color: #F8F5F1;
}
#main .c-box_article h3.p-box_heading{
	margin: 0.5rem 0;
	font-size: 1.25rem;
}
#main .c-box_article h3.p-box_heading.c-border{
	padding-bottom: 1.125rem;
	margin-bottom: 1.25rem;
	border-bottom: #ccc 1px solid;
}

/*box_title*/

.p-box_title{
	margin-bottom: 1.25rem;
	border-bottom: #ccc 1px solid;
	padding: 0.375rem 0 1.125rem 0px;
	position: relative;
}
.p-box_title.topic{
	padding-left: 100px;
}
.p-box_title.column{
	padding-left: 130px;
}
.p-box_title.column_large{
	padding-left: 160px;
}
.p-box_title.interview{
	padding-left: 160px;
}
.p-box_title.anniversary{
	padding-left: 200px;
}
.p-box_title__corner{
	display: block;
	position: absolute;
	width: auto; height: auto;
	top:0px; left: 0px;	
}
.p-box_title__corner.long{
	position: static;
	margin-bottom: 0.5rem;
}
#main .p-box_title h3{
	font-size: 1.5rem;
	font-weight: normal;
}

/*p-site_overview*/
.p-site_overview{
	font-size: 0.875rem;
}
#main h3.p-site_overview__heading{
	padding: 0;
	margin: 0 0 1rem;
	font-size: 1rem;
}
#main h4.p-site_overview__name{
	font-weight: bold;
	font-size: 1rem;
	margin-bottom: 0.5rem;
}
.p-site_overview>dl>dt{
	margin-top: 0.25rem;
	margin-bottom: 0.25rem;
}
.p-site_overview>dl>dd{
	margin-top: 0.25rem;
	margin-bottom: 0.25rem;
	padding-left: 0;
}
.p-site_overview__txt{
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	font-size: 0.875rem;
	line-height: 1.5;
}
.p-site_overview__txt dt{
	flex: 0 0 auto;
	width: 5rem;
	margin-bottom: 0.5rem;
}
.p-site_overview__txt dd{
	flex: 1 0 auto;
	width: calc(100% - 5rem);
	margin-bottom: 0.5rem;
	padding-left: 0 !important;
}
.p-site_overview__txt dt.short{
	width: 3rem;
}
.p-site_overview__txt dd.short{
	width: calc(100% - 3rem);
}
.p-site_overview__txt dt.middle--8em{
	width: 7.5rem;
}
.p-site_overview__txt dd.middle--8em{
	width: calc(100% - 7.5rem);
}
.p-site_overview__txt dt.middle--9em{
	width: 8.5rem;
}
.p-site_overview__txt dd.middle--9em{
	width: calc(100% - 8.5rem);
}
.p-site_overview__txt dt.middle{
	width: 10rem;
}
.p-site_overview__txt dd.middle{
	width: calc(100% - 10rem);
}
.p-site_overview__txt dt.long{
	width: 100%;
}
.p-site_overview__txt dd.long{
  width: 100%;
	padding-left: 5rem !important;
}
.p-site_overview__txt dt.join{
	width: 100%;
}
.p-site_overview__txt dd.join{
  display: none;
}

/*p-person_info__name*/
.p-person_info {
	font-size: 0.875rem;
	line-height: 1.6;
	text-align: left;
	color: #212121;
}
.p-person_info__name {
	font-size: 1.4375rem;
	font-weight: bold;
	display: inline-block;
}

/*cap_unit*/
.p-cap_unit{
	display: flex;
	justify-content: space-between;
}
.p-cap_unit .c-photoby{
	margin-left: 1.5rem;
	flex: 0 0 auto;
	width: auto;
}
.sp .p-cap_unit{
	display: block;
}
.sp .p-cap_unit .c-photoby{
	margin-left: 0;
}

/*.sp*/

.sp #main h2 img{
	min-width: auto !important;
	max-width: auto !important;
}

.sp .p-box_title.topic,
.sp .p-box_title.column,
.sp .p-box_title.column_large,
.sp .p-box_title.interview,
.sp .p-box_title.anniversary{
	padding-left: 0px;
	padding-top: 50px;
}

.sp #main .col.u-sp_wide{
	width: 100% !important;
}

.sp .p-person_info__name {
	font-size: 1.25rem;
	color: #212121;
}

@media print{
	.js-zoom_fig::after{
		display: none !important;
	}

}

#main .col img.link_icon{
	margin-top: 0;
}

/*202202*/
#main h2.p-middle_line{
	font-family: "Roboto","Noto Sans JP","メイリオ", Meiryo, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ＭＳ ゴシック", sans-serif;
	font-size: 1.625rem;
	line-height: 1.5;
	font-weight: 500;
	padding: 1.25rem 0 0;
	margin: 1.25rem 0 1.25rem;
	border-top: #4698CC 1px solid;
}
.sp #main h2.p-middle_line{
	font-size: 1.25rem;
}

#main .c-box_article.p-webinar_box{
	background-color: #FAFAFA;
}
#main .c-box_article.p-webinar_box h3{
	padding-bottom: 0.875rem;
	border-bottom: #ccc 1px solid;
	margin-bottom: 0.875rem;
	font-size: 1.25rem;
}
/*bread sup調整*/
/*.bread sup{
	vertical-align: 25%;
}*/

/*.p-feature_title{
	position: relative;
}*/

/*p-feature_index_cntents*/
/*.p-feature_index_contents{
	position: relative;
	background-color: #18181C;
}
.p-feature_index_contents__lede{
	padding: 1.875rem 2rem 2.5rem;
	color: #fff;
}
.p-feature_index_contents__main_cap{
	position: absolute;
	text-align: right;
	top: 360px;
	right: 1.5rem;
	font-size: 0.8125rem;
	line-height: 1.5;
	color: #b5b5b5;
}
.sp .p-feature_index_contents__main_cap{
	position: static;
	font-size: 0.75rem;
	text-align: left;
	margin-bottom: 1.5rem;
}
.sp .p-feature_index_contents__lede{
	padding-top: 0.75rem;
}*/




