/* 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-line_heading.c-no_border{
	border: none;
}

#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;
}

/*202007*/

.p-h2_title_area{}
.p-line_heading{
	border-top: #ccc 1px solid;
	padding-top: 1rem;
}
#main h4.p-caption_top{
	font-size: 1.0625rem;
	margin-bottom: 0.5rem;
	line-height: 1.5;
}

.c-line_section{
	padding-top: 1.25rem;
	border-top: #ccc 1px solid;
}
.c-valign_start{
	align-items: flex-start;
}
.p-history_table{
	line-height: 1.5;
}
.p-history_table dt{
	font-size: 1.625rem;
	width: 5.625rem;
	flex: 0 0 auto;
	margin-bottom: 0.25rem;
}
.p-history_table dd{
	font-size: 0.9375rem;
	width: calc(100% - 6rem);
	flex: 1 0 auto;
	padding-top: 0.5625rem;
	margin-bottom: 0.25rem;
}
.p-history_table__txt{
	flex: 1 0 auto;
	width: 50%;
	margin-right: 1rem;
}
.p-history_table__img{
	flex: 0 0 auto;
	width: 226px;
}

.sp .p-history_table dt{
	margin-bottom: 0;
}
.sp .p-history_table dd{
	padding-top: 0;
	padding-left: 0 !important;
	width:100%;
	font-size: 0.8125rem;
}
.sp .p-history_table__txt{
	width: 100%;
	margin-right: 0;
	margin-bottom: 0.75rem;
}
.sp .p-history_table__img{
	width: 100%;
	text-align: center;
}

#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-photoby{
	color: #777;
	font-size: 75%;
}

.c-shadow{
	box-shadow: 2px 3px 8px -2px rgba(0,0,0,0.3);
}

@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: 130px;
}
.p-box_title.column{
	padding-left: 130px;
}
.p-box_title.interview{
	padding-left: 160px;
}
.p-box_title__corner{
	display: block;
	position: absolute;
	width: auto; height: auto;
	top:0px; left: 0px;	
}
#main .p-box_title h3{
	font-size: 1.5rem;
	font-weight: normal;
}

/*p-site_overview*/
.p-site_overview{
	font-size: 0.875rem;
	line-height: 1.4;
}
#main h3.p-site_overview__heading{
	padding: 0;
	margin: 0 0 0.5rem;
	font-size: 1.125rem;
}
#main h4.p-site_overview__heading{
	padding: 0;
	margin: 0 0 0.5rem;
	font-size: 1rem;
}
.p-site_overview__name{
	font-weight: bold;
	font-size: 1rem;
	margin-bottom: 0.5rem;
}
.p-site_overview>dl>dt{
	margin-bottom: 0.5rem;
}
.p-site_overview>dl>dd{
	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: 4rem;
	margin-bottom: 0.5rem;
}
.p-site_overview__txt dd{
	flex: 1 0 auto;
	width: calc(100% - 4rem);
	margin-bottom: 0.5rem;
	padding-left: 0 !important;
}
.p-site_overview__txt dt.middle--5em{
	width: 4.8125rem;
}
.p-site_overview__txt dd.middle--5em{
	width: calc(100% - 4.8125rem);
}
.p-site_overview__txt dt.middle--6em{
	width: 5.6875rem;
}
.p-site_overview__txt dd.middle--6em{
	width: calc(100% - 5.6875rem);
}
.p-site_overview__txt dt.middle--7em{
	width: 6.5625rem;
}
.p-site_overview__txt dd.middle--7em{
	width: calc(100% - 6.5625rem);
}
.p-site_overview__txt dt.middle--8em{
	width: 7.4375rem;
}
.p-site_overview__txt dd.middle--8em{
	width: calc(100% - 7.4375rem);
}
.p-site_overview__txt dt.middle--10em{
	width: 9rem;
}
.p-site_overview__txt dd.middle--10em{
	width: calc(100% - 9rem);
}
.p-site_overview__txt dt.long{
	width: 100%;
}
.p-site_overview__txt dd.long{
	padding-left: 4rem !important;
	width: 100%;
}

.sp .p-site_overview__txt dt.middle--10em{
	width: 100%;
}
.sp .p-site_overview__txt dd.long,
.sp .p-site_overview__txt dd.middle--10em{
	padding-left: 0rem !important;
}

/*p-chapter_title*/
#main h1.p-chapter_title{
	margin: 0;
	padding: 0;
}

/*p-person_info__name*/
.p-person_info {
  font-size: 0.875rem;
  line-height: 1.6;
  text-align: left;
	margin: 0.25rem 0 0.5rem;
	padding-top: 0.5rem;
}
.p-person_info__name {
    font-size: 1.5rem;
    font-weight: bold;
    display: inline-block;
}

/*p-feature_index_contents*/
.p-feature_index_contents{
	/*margin-top: 1.5rem;*/
}
.p-feature_index_contents__lede{
	padding: 1.25rem 1.5rem 1.5rem;
	background-color: #e6e6e6;
}

.c-tight_spacing{
	letter-spacing: -0.03em;
}
.c-nowrap{
	white-space: nowrap;
}
.c-border_img{
	border: #ccc 1px solid;
}

/*p-step_col*/
.p-step_col .col .p-step_col__img{
	position: relative;
}

.p-step_col .col .p-step_col__img::after{
	content:"";
	display: block;
	width: 40px;
	height: calc(100% - 0.45rem);
	position: absolute;
	left: 100%;
	top: 0.45rem;
	background:url("../images/arrow_step_x.svg") no-repeat 50% 50%;
}
.p-step_col .col:last-of-type .p-step_col__img::after{
	display: none;
}
.sp .p-step_col .col .p-step_col__img::after{
	display: none;
}
.sp .p-step_col .col .p-step_col__img::before{
	content:"";
	display: block;
	width: 100%;
	height: 40px;
	position: static;
	background:url("../images/arrow_step_y.svg") no-repeat 50% 50%;
	margin-top: -1rem;
}
.sp .p-step_col .col:first-of-type .p-step_col__img::before{
	display: none;
}


/*.sp*/

.sp #main h2 img{
	min-width: auto !important;
	max-width: auto !important;
}

.sp .p-box_title.column,
.sp .p-box_title.topic{
	padding-left: 0px;
	padding-top: 50px;
}

.sp #main .col.u-sp_wide{
	width: 100% !important;
}



@media print{
	.js-zoom_fig::after{
		display: none !important;
	}
}