/**** Base styles ****/

/*********************************************************
  =Foundation
---------------------------------------------------------- */

/*  Common id, class
---------------------------------------------------------- */

/**********************************************************
  =Layout
---------------------------------------------------------- */


/*********************************************************
  =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-align_center{
	text-align: center;
}
.c-align_right{
	text-align: right;
}
.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;
}

.c-small_txt{
	font-size: 0.8125rem;
}
.c-caption{
	font-size: 0.875rem;
	line-height: 1.5;
	margin: 0.25rem 0;
}
.c-note{
	font-size: 0.75rem;
	line-height: 1.5;
	padding-left: 1em;
	text-indent: -1em;
}

/*c-link*/
ul.c-link{
	font-size: 0.9375rem;
	margin: 0; padding: 0.25rem 0.25rem;
}
ul.c-link li{
	margin: 0.125rem 0;
	padding-bottom: 0.125rem;
	border-bottom: #ccc 1px solid;
}
ul.c-link li.c-indent{
	padding-left: 2.25rem;
}
ul.c-link li a{
	display: block;
	padding: 0.1875rem 0.25rem 0.1875rem 1.5rem;
	background: url("/tech/tatemono_sodan/images/lbox/arrow_linklist.svg") no-repeat 0.375rem 0.375rem;
	border-radius: 3px;
	transition: background-color 0.3s;
	line-height: 1.4;
}

ul.c-link li a:hover{
	background-color: #f0f0f0;
}

ul.c-link li .c-nolink{
	display: block;
	padding: 0.1875rem 0.25rem 0.1875rem 2.125rem;
	line-height: 1.4;
	color: #888;
}

ul.c-list.inline li{
	display: inline-block;
	margin-right: 1rem;
	line-height: 1.4;
	padding: 0.5rem 0.5rem 0.5rem 1.25rem;
	position: relative;
}
ul.c-list.inline li::before{
	content: "";
	display: block;
	position: absolute;
	top:0.75rem; left: 0.125rem;
	width: 12px;
	height: 12px;
	background-color: #3E76BF;
	border-radius: 3px;
}

/*col*/
.col2 .c-col{
	width:370px;
}

.col3 .c-col {
	width:240px;
}

.col3 .c-col.span-2{
	width:500px;
}

.c-section{
	margin: 0 0 0 100px;
	width: 760px;
	text-align: left;
	line-height: 1.875rem;
}

/*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.0625rem 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 h3,
.c-bn_btn h4{
	margin-bottom: 0.5rem;
}

.c-bn_btn h3 a,
.c-bn_btn h4 a{
	color: #212121;
	text-decoration: none;
}
.c-bn_btn a.blank::after{
	content: url("/common/image/icon_blank.gif");
	display: inline-block;
	vertical-align: 3px;
	margin-top: -3px;
	/*position: absolute;
	right: 7px; top: 5px;*/
}

/*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;
}
/*box_article*/
.c-box_article{
	padding: 0rem 1.875rem; /*30px*/
}
.c-box_article.c-border{
	padding-left: 29px;
	padding-right: 29px;
	border: #ccc 1px solid;
	background-color: inherit;
}
.c-box_article.c-radius{
	border-radius: 6px;
}
.c-box_article.c-padding{
	padding: 1.5625rem;
}

.p-label_detail{
	background-color: #2C4066;
	text-align: center;
	padding: 0.5rem 1.5rem 0.5rem 0.875rem;
	margin: auto;
	line-height: 1;
	display: block;
	width: auto;
	font-size: 0.8125rem;
	border-radius: 4px;
	text-decoration: none;
	color: #fff;
	position: relative;
}
.p-label_detail a{
	text-decoration: none;
	color: #fff;
}
.p-label_detail::after{
	content: "";
	position: absolute;
	width: 6px; height: 6px;
	border: #fff 1px solid;
	border-left: none;
	border-bottom: none;
	transform: rotate(45deg);
	right: 10px;
	top:50%;
	margin-top: -4px;
}

/**/
.c-boxshadow{
	box-shadow: 1px 2px 12px -2px rgba(0,0,0,0.35);
}

.c-line_section{
	border-top: #ccc 1px solid;
	padding-top: 1.875rem;
}

/*  Project
---------------------------------------------------------- */

/*p-lbox_contents_body*/
.p-lbox_contents_body{
	font-size: 1rem;
	line-height: 1.7;
}


/*after_solution__service_title*/
.p-after_solution__service_title{
	display: flex;
	justify-content: flex-start;
	align-items: center;
	background-color: #F4F4F3;
	margin: 0 1px;
}

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

h2.p-service_catch{
	font-size: 1.25rem;
	font-weight: bold;
	color: #212121;
	letter-spacing: 0.1em;
	width: 760px;
	margin: 0 0 1.5rem 100px;
	text-align: left;
	padding: 30px 0 0;
}

.p-group_service_title{
	margin: 2rem 0 1.25rem;
	text-align: left;
	padding: 0;
	border-top: #B8B8B4 1px solid;
}
.p-group_service_title h2{
	flex: 0 0 auto;
	font-size: 1.5rem;
	font-weight: bold;
	color: #1C418D;
	padding: 24px 0 24px 32px;
	line-height: 1.3;
	position: relative;
}
.p-group_service_title h2::before{
	content: "";
	display: block;
	width: 22px; height: 22px;
	position: absolute;
	left: 0px; top:1.625rem;
	background-color: #BED2EB;
	border-radius: 3px;
}

.p-company_logo{
	flex: 0 0 auto;
	/*padding-top: 24px;*/
	margin-left: auto;
}
.p-company_logo a{
	display: inline-block;
	width: auto;
	position: relative;
	margin: 0px 3px 8px;
}
.p-company_logo a::after{
	content: "";
	display: block;
	box-sizing: border-box;
	position: absolute;
	top:-4px; left: -5px;
	width: calc(100% + 10px); height: calc(100% + 8px);
	background-color: rgba(62,118,191,0.1);
	border: rgba(62,118,191,0.6) 1px solid;
	border-radius: 4px;
	opacity: 0;
	transition: opacity 0.3s;
}
.p-company_logo a:hover::after{
	opacity: 1;
}

h3.p-service_sub{
	font-size: 1.125rem;
	line-height: 1.4;
	font-weight: bold;
	padding: 0.75rem 0;
	border-top: #3E76BF 1px solid;
}
h3.p-service_sub a{
	color: #1C418D;
	text-decoration: none;
	display: inline-block;
	/*padding-bottom: 2px;*/
	background-image: linear-gradient(to right, #91AEDB 2px, transparent 2px, transparent 4px);
	background-size: 3px 1px;
	background-repeat: repeat-x;
	background-position: 0 100%;
	border-radius: 3px;
	transition: background-color 0.3s;
}
h3.p-service_sub a:hover{
	background-color: #CDDAEF;
}


/*p-service_link*/

.p-service_link{
	font-size: 0.9125rem;
	line-height: 1.3;
	background-color: #ededed;
	border-radius: 4px;
	display: flex;
	justify-content: space-between;
	padding: 0.125rem 0.875rem;
	margin: 0.875rem 0;
}
.p-service_link dt{
	flex: 0 0 auto;
	width: 7em;
	padding: 0.5625rem 0;
	font-weight: bold;
}
.p-service_link dd{
	flex: 1 0 auto;
	width: calc(100% - 7em);
}
.p-service_link dd a{
	display: inline-block;
	position: relative;
	padding: 0.4375rem 0.5rem 0.4375rem 1.25rem;
	margin: 0.125rem 0.25rem;
	border-radius: 3px;
	transition: background-color 0.3s;
	text-decoration: none;
	background-image: url("/common/image/arrow_red.png");
	background-repeat: no-repeat;
	background-position: 0.375rem 0.75rem;
}
.p-service_link dd a:hover{
	background-color: #d5d5d5;;
}
.p-service_link dd a.blank,
.p-service_link dd a.pdf{
	padding-right: 22px;
}
.p-service_link dd a.blank::after{
	content: url("/common/image/icon_blank.gif");
	position: absolute;
	right: 7px; top: 5px;
}
.p-service_link dd a.pdf::after{
	content: url("/common/image/icon_pdf.gif");
	position: absolute;
	right: 5px; top: 5px;
}

/**/

.p-lb_contents_body__bottom{
	margin-top: 2rem;
	padding: 1rem 0;
	border-top: #B8B8B4 1px solid;
}

/*close_win,page_link*/
a.p-lb_contents_body__close_win,
a.p-lb_contents_body__link_index{
	display: inline-block;
	border: #3E76BF 1px solid;
	border-radius: 6px;
	text-align: center;
	width: auto;
	margin: 1rem auto;
	color: #3E76BF;
	font-size: 1.125rem;
	font-weight: bold;
	line-height: 1;
	padding: 1.25rem 3rem;
	text-decoration: none;
	transition: background-color 0.3s;
}
a.p-lb_contents_body__close_win:hover,
a.p-lb_contents_body__link_index:hover{
	background-color: rgba(62,118,191,0.1);
}

a.p-lb_contents_body__close_win.is-hidden,
a.p-lb_contents_body__link_index.is-hidden{
	display: none;
}


/*copyright*/
.p-lb_contents_body__copyright{
	font-size: 0.875rem;
	line-height: 1;
	background-color: #f4f4f4;
	text-align: center;
	padding: 1.25rem 0;
}

/*utility*/
.break {
		page-break-before:always;
	}

@media print{
	a.p-lb_contents_body__close_win,
	a.p-lb_contents_body__link_index{
		display: none;
	}
	
	.break {
		page-break-before:always;
	}
}



