  /**** Base styles ****/

/**
  =Foundation
---------------------------------------------------------- */
#page_title.after_solution{
	height: auto;
	border-bottom: #a8b6c8 1px solid;
	margin-bottom: 0;
}



/**
  =Object
---------------------------------------------------------- */

/*component*/

.c-flex--between{
	display: flex;
	justify-content: space-between;
}
.c-flex--center{
	display: flex;
	justify-content: center;
}
.c-flex--wrap{
	flex-wrap: wrap;
}
.c-flex--start{
	display: flex;
	justify-content: flex-start;
}
.c-flexitem--center{
	align-items: center;
}
.c-flexitem--top{
	align-items: flex-start;
}
.c-center{text-align: center;}

a.c-inline_link{text-decoration: underline;}

.c-border_box{
	box-sizing: border-box;
	border: #ccc 1px solid;
	padding: 1.125rem 1.5rem;
}

.c-mb--1{
	margin-bottom: 1.25rem !important;
}
.c-mb--2{
	margin-bottom: 2.5rem !important;
}

/*  Project
---------------------------------------------------------- */

.p-after_solution_body{
	font-size: 1rem;
	line-height: 1.875;
}
.p-after_solution_body *{
	box-sizing: border-box;
}
div#main.tech_body .p-after_solution_body div.section{
	width: 860px;
}


/*index_style*/
div#body h1.p-title_after_solution{
	background-color: #F4F4F3;
	/*margin: 20px 1px 0px;*/
	margin: 0 1px;
	text-align: left;
}
div#main.tech_body h2.p-index_title{
	margin-bottom: 1.25rem;
}

.p-solution_link{
	margin: 0 auto;
}
.p-solution_link li{
	position: relative;
	margin-bottom: 1.5rem;
	flex: 0 0 auto;
	box-shadow: 2px 4px 12px -2px rgba(0,0,0,0.5);
}
.p-solution_link li a{
	display: block;
}
.p-solution_link li a::after{
	content: "";
	display: block;
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	position: absolute;
	top:0px; left: 0px;
	border: rgba(255,255,255,0.4) 4px solid;
	transition: all 0.3s;
}
.p-solution_link li:hover a::after{
	border: rgba(255,255,255,0.7) 12px solid;
}

/*solution_page*/

.p-title_s{
	background-color: #F4F4F3;
	/*margin: 20px 1px 0px;*/
	margin: 0 1px;
	text-align: left;
	border-bottom: #2C4066 1px solid;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}
.p-title_s__logo{
	flex: 0 0 auto;
}
.p-title_s__back{
	flex: 0 0 auto;
	width: auto;
	margin-left: auto;
}
.p-title_s__back a{
	display: block;
	width: auto;
	font-size: 0.8125rem;
	line-height: 1;
	color: #212121;
	margin: 0.675rem 1.25rem;
	text-decoration: none;
	padding: 0.5rem 0.875rem 0.5rem 1.75rem;
	background: url("/tech/tatemono_sodan/after_solution/images/arrow_back.svg") no-repeat 0.5rem 0.3125rem;
	transition: background-color 0.3s;
	border-radius: 3px;
}
.p-title_s__back a:hover{
	background-color: #e6e6e6;
}

div#body h1.p-title_solutions{
	background-color: #F4F4F3;
	margin: 0px 1px 0px;
	text-align: left;
	padding: 1.5rem 100px 1.5rem;
	font-size: 2rem;
	font-weight: bold;
	line-height: 1;
	letter-spacing: 0.06em;
	color: #000;
}

div#main.tech_body h2.p-solution_catch{
	font-size: 1.5rem;
	color: #1C418D;
	margin-bottom: 1.5rem;
}

.p-after_solution_body__bottom{
	background-color: #F4F4F3;
	margin: 0 1px;
	text-align: center;
}
.p-after_solution_body__bottom a{
	display: block;
	position: relative;
}
.p-after_solution_body__bottom a::after{
	content: "";
	display: block;
	position: absolute;
	top:0px; left: 0px;
	width: 100%; height: 100%;
	box-sizing: border-box;
	background-color: rgba(62,118,191,0.1);
	border: rgba(62,118,191,0.6) 2px solid;
	opacity: 0;
	transition: opacity 0.3s;
}
.p-after_solution_body__bottom a:hover::after{
	opacity: 1;
}

/*p-lifecycle_map*/
.p-lifecycle_map{
	position: relative;
}
.p-lifecycle_map__links li{
	position: absolute;
	top:0px; left: 0px;
	width: 52px; height: 52px;	
}
.p-lifecycle_map__links li::before{
	content: "";
	display: block;
	position: absolute;
	width: 70px;height: 29px;
	background: url("/tech/tatemono_sodan/after_solution/images/btn_detail.png") no-repeat 0 0;
	top:90px; right: 20px;
}

.p-lifecycle_map__links li a{
	display: block;
	width: 100%;
	height: 100%;
	position: relative;
}
.p-lifecycle_map__links li a::after{
	content: "";
	display: block;
	box-sizing: border-box;
	width: calc(100% + 8px); height:  calc(100% + 8px);
	position: absolute;
	top:-4px; left: -4px;
	background-color: rgba(228,242,252,0.3);
	border-radius: 3px;
	opacity: 0;
	transition: opacity 0.3s;
	border: #C8E1FF 2px solid;
}
.p-lifecycle_map__links li:hover a::after{
	opacity: 1;
}
.p-lifecycle_map__links li a span{
	display: block;
	/*text-indent: calc(100% + 10px);*/
	text-indent: 200%;
	white-space: nowrap;
	overflow: hidden;
}

.p-lifecycle_map__links li#lifcyle_ijikanri{
	top:650px; left: 466px;
	width: 260px; /*height: 90px;*/
	height: 125px;
}
.p-lifecycle_map__links li#lifcyle_renewal{
	top:134px; left: 116px;
	width: 260px; /*height: 90px;*/
	height: 125px;
}
.p-lifecycle_map__links li#lifcyle_risk_management{
	top:8px; left: 270px;
	width: 260px;/* height: 90px;*/
	height: 125px;
}

.p-lifecycle_map__links li#lifcyle_management_consulting{
	top:476px; left: 672px;
	width: 260px;/* height: 90px;*/
	height: 125px;
}
.p-lifecycle_map__links li#lifcyle_eco{
	top:614px; left: 86px;
	width: 260px;/* height: 90px;*/
	height: 125px;
}



/*service_page*/
.p-after_solution__service_title{
	display: flex;
	justify-content: flex-start;
	align-items: center;
	background-color: #F4F4F3;
	margin: 0 1px;
}

div#body .p-after_solution__service_title h1{
	flex: 0 0 auto;
	width: auto;
	margin: 0; padding: 0;
}

.p-after_solution__service_icon{
	flex: 0 0 auto;
	width: 100px;
	text-align: center;
}

.p-after_solution__pdf{
	flex: 0 0 auto;
	width: auto;
	margin-left: auto;
}

.p-after_solution__pdf a{
	display: block;
	margin-right:1.5rem;
	padding: 1.125rem 1.75rem 1.125rem 3.5rem;
	line-height: 1;
	font-size: 0.875rem;
	background: #fff url("../images/icon_pdf_large.png") no-repeat 0.5rem 48%;
	text-decoration: none;
	color: #212121;
	box-shadow: 1px 2px 6px -1px rgba(0,0,0,0.3);
	position: relative;
}

.p-after_solution__pdf a::after{
	content: "";
	display: block;
	position: absolute;
	top:0px; left: 0px;
	width: 100%; height: 100%;
	box-sizing: border-box;
	background-color: rgba(62,118,191,0.1);
	border: rgba(62,118,191,0.6) 2px solid;
	opacity: 0;
	transition: opacity 0.3s;
}
.p-after_solution__pdf a:hover::after{
	opacity: 1;
}

div#main.tech_body h2.p-service_catch{
	font-size: 1.25rem;
	color: #212121;	
	width: 760px;
	margin: 0 0 1.5rem 100px;
	text-align: left;
	padding: 30px 0 0;
	border-top: none;
}

.p-service_popup a{
	display: inline-block;
	line-height: 1;
	font-size: 1.375rem;
	font-weight: bold;
	width: 565px;
	border:#3E76BF 2px solid;
	border-radius: 6px;
	background: rgba(62,118,191,0.1) url("../images/arrow_service_link.svg") no-repeat 1.5rem 50%;
	padding: 1.5rem 0;
	text-align: center;
	text-decoration: none;
	color: #1C418D;
	box-shadow: 1px 2px 8px -2px rgba(0,0,0,0.4);
	transition: all 0.3s;
}
.p-service_popup a:hover{
	background-color: #3E76BF;
	color: #fff;
}

.p-service_popup a:focus{
	color: #1C418D;
}
.p-service_anchor_link{
	margin: 1.25rem 0;
	font-size: 0.9375rem;
}
.p-service_anchor_link li{
	flex: 0 0 auto;
	margin: 0.375rem 0.375rem;
	line-height: 1;
}
.p-service_anchor_link li a{
	display: block;
	line-height: 1;
	background: url("/tech/tatemono_sodan/after_solution/images/arrow_middle_box.svg") no-repeat 0.25rem 45%;
	padding: 0.625rem 0.5rem 0.625rem 2rem;
	text-decoration: none;
	color: #212121;
	border-radius: 4px;
	transition: all 0.3s;
}

.p-service_anchor_link li a:hover{
	background-color: #3E76BF;
	color: #fff;
}
.p-service_anchor_link li.no_link::before{
	content: "■";
	color: #b6b6b6;
	display: inline-block;
	margin-right: 0.25em;
}


/*footer*/
.page_bottom .btn_contact{
	margin-top:18px;
	margin-bottom:18px;
	float:none;
}
.page_bottom .btn_contact a{
	margin:auto;
}