/* 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-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: 100px;
}
.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;
}
#main h3.p-site_overview__heading{
	padding: 0;
	margin: 0 0 1rem;
	/*border-top: #d5d5d5 1px solid;*/
	font-size: 1.25rem;
}
.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: 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.middle{
	width: 8rem;
}
.p-site_overview__txt dd.middle{
	width: calc(100% - 8rem);
}
.p-site_overview__txt dt.long{
	width: 100%;
}
.p-site_overview__txt dd.long{
	padding-left: 5rem !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;
}
.p-person_info__name {
    font-size: 1.25rem;
    font-weight: bold;
    display: inline-block;
}

/*p-feature_index_contents*/
.p-feature_index_contents{
	margin-top: 1.5rem;
}
.p-feature_index_contents__lede{
	padding: 0.5rem 0 1rem;
}

/* 2001_styles
-----------------------------------------------*/

#main h1.p-page_title{
	margin: 1.25rem auto;
	text-align: center;
}
.p-feature_title_s{
	text-align: center;
	border-bottom: #b4b4b4 1px solid;
}
#main h2.p-project_title{
	font-size: 1.375rem;
	line-height: 1.5;
	margin-bottom: 1rem;
}

.p-site_overview{
	border-top: #ccc 1px solid;
	padding-top: 1.5rem;
	margin-top: 2rem;
}


/*.sp*/
.sp #main h2.p-project_title{
	font-size: 1.125rem;
	margin-bottom: 0.875rem;
}
.sp #main h2 img{
	min-width: auto !important;
	max-width: auto !important;
}


@media print{
	.js-zoom_fig::after{
		display: none !important;
	}
}