/* 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-line_section.first{
	border: none;
}
.c-line_section.wide_padding{
	padding-top: 3rem;
}
.c-line_section.no_padding{
	padding-top: 0;
}

.c-valign_start{
	align-items: flex-start;
}
.c-cach_font{
	font-family:"Roboto","Noto Sans JP","メイリオ", Meiryo, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ＭＳ ゴシック", sans-serif;
}

#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;
}

/*photoby_改良版*/
.c-photoby{
	color: #B4B4B4;
	font-size: 75%;
	line-height: 1.5625rem;
	font-family:"Roboto","Noto Sans JP","メイリオ", Meiryo, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ＭＳ ゴシック", sans-serif;
}
.c-photoby.p-bottom_up{
	text-align: right;
	margin-top: -1.5625rem;
}
.sp .c-photoby.p-bottom_up{
	margin-top: 0;
}

/*photoby: cap_unit*/
.p-cap_unit{
	display: flex;
	justify-content: space-between;
}
.p-cap_unit .c-photoby{
	margin-left: 1.5rem;
	padding-top: 0.3125rem;
	flex: 0 0 auto;
	width: auto;
}
.sp .p-cap_unit{
	display: block;
}
.sp .p-cap_unit .c-photoby{
	margin-left: 0;
	padding-top: 0;
	text-align: right;
}
/*/photoby_改良版*/

.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;
}

/*flex*/
.c-flexitem--bottom{
	align-items: flex-end;
}

/*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.column_large--200{
	padding-left: 200px;
}
.p-box_title.interview{
	padding-left: 160px;
}
.p-box_title.anniversary{
	padding-left: 200px;
}
.p-box_title.message{
	padding-left: 160px;
}
.p-box_title.technology{
	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;
}

/*.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.column_large--200,
.sp .p-box_title.interview,
.sp .p-box_title.anniversary,
.sp .p-box_title.message,
.sp .p-box_title.technology{
	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;
}

.u-spMb--1{}
.sp .u-spMb--1{
	margin-bottom: 1.25rem;
}

@media print{
	.js-zoom_fig::after{
		display: none !important;
	}

}

#main .col img.link_icon{
	margin-top: 0;
}

/*202308*/
/*.c-box_article.c-border.c-bg_gray{
	background-color: #f4f4f4;
}*/
/*snav*/
/*.p-snav__sub_heading{
	padding-left: 2.25rem;
}
#snav>ul.nav li ul li ul>li a{
	padding-left: 3.625rem;
	background-position: 2.5rem 0.9375rem;
}*/

/*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%;
}
.c-box_article .p-step_col .col .p-step_col__img::after{
	width: 30px;
	background-size: 24px auto;
}
.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;
}

/**/

.c-flex_row_reverse{
	flex-direction: row-reverse;
}
/*#main h1.p-feature_title{
	margin: 0rem 0 2rem;
}*/

.c-caption strong{
	font-size: 1rem;
}

#main .col img.c-no_margin_img{
	margin: 0;
}
.p-lede_txt{
	font-weight: 600;
}
.p-feature_index_contents__lede{
	margin-top: 1.125rem;
	font-weight: 500;
}

.p-page_title{
	padding-top: 0.4375rem;
}

/*p-interview*/
.p-interview{
	position: relative;
	padding-left: 2.75rem;
	margin-bottom: 1.25rem;
}
.p-interview__name{
	display: inline-block;
	position: absolute;
	top:0px; left: 0px;
	font-weight: bold;
}
/**/
#main h4.p-above_title{
	margin: 0 0 0.875rem;
}
#main .c-box_article h4{
	font-size: 1.0625rem;
	line-height: 1.5;
	margin: 0 0 0.625rem;
}
ul.c-list li{
	line-height: 1.5;
	padding-left: 1.25rem;
	text-indent: -1.25rem;
	margin: 0.375rem 0;
}
ul.c-list li::before{
	content: "・";
	display: inline-block;
	text-indent: 0;
	width: 1.25rem;
}

.c-box_article.c-border.blue{
	border-color: #009FE8;
}
.c-txt_blue--light{
	color: #009FE8;
}
ul.c-list{
	font-size: 0.875rem;
	line-height: 1.5;
}
/*bread sup調整*/
.bread sup{
	vertical-align: 25%;
}
.c-box_article.first{
	margin-top: 0.45rem;
}
.c-box_article.c-border.c-border--2{
	border-width: 2px;
	padding-left: 28px;
	padding-right: 28px;
}
.c-box_article.c-border.c-radius{
	border-radius: 10px;
}
