

/*  Project
---------------------------------------------------------- */

.p-top_heading_wrap{
	position: relative;
	height: 56px; /*default*/
	z-index: 1;
	border-top: #9EA6B1 1px solid;
}

.p-top_heading_area{
	background-color: #fff;
	padding-top: 15px;
	padding-bottom: 24px;
	/*position: absolute;*/
	top:0px;
	width: 100%;
	min-width: 1160px;
	z-index: 1;
	transition: paddingTop 0.1s,paddingBottom 0.1s;
}
.p-top_heading_area.is-fixed{
	position: fixed;
	box-shadow: 0 2px 8px -1px rgba(0,0,0,0.3);
	
	padding-top: 10px;
	padding-bottom: 12px;
}

.p-top_heading_area__inner{
	width: 1160px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
}

h1.p-top_heading{
	font-size: 2.625rem;
	line-height: 1;
	font-weight: 300;
	color: #818C9A;
	transition: font-size 0.1s;
}
h1.p-top_heading.c-jp{
	font-size: 2.1375rem;
	font-weight: 500;
	padding-top: 0.125rem;
	transition: font-size 0.1s,padding 0.1s;
}

.is-fixed h1.p-top_heading{
	font-size: 2rem;
}
.is-fixed h1.p-top_heading.c-jp{
	font-size: 1.875rem;
	padding-top: 0px;
}

h1.p-top_heading .p-top_heading_sub{
	display: inline-block;
	position: absolute;
	width: 100%;
	top: 50%; left: 0px;
	text-align: center;
	font-size: 1.25rem;
	font-weight: 500;
	margin-top: -0.625rem;
	padding: 0 1rem;
}

h2.p-top_sub_heading{
	font-size: 2.125rem;
	line-height: 1.5;
	font-weight: 600;
	text-align: center;
	margin: 5rem auto 3rem;
	width: 100%;
	padding-top: 2.75rem;
	padding-right: 0.875rem;
	position: relative;
}
h2.p-top_sub_heading::before{
	content:"";
	display: block;
	width: 102px; height: 6px;
	background: url("../images/mark_heading_red.svg") no-repeat 50% 0;
	position: absolute;
	margin-left: -55px;
	top: 0px; left: 50%;
}
h2.p-top_sub_heading.commitment{
	margin-top: 2.5rem;
}

/*p-sub_anc_menu*/
.p-sub_anc_menu_area{
	display: flex;
	justify-content: flex-start;
	align-items: center;
	font-size: 0.8125rem;
	line-height: 1;
	margin-top: -0.125rem;
}
.p-sub_anc_menu{
	margin-left: 2rem;
	flex: 0 0 auto;
	width: auto;
}
.p-sub_anc_menu.is-current{
	font-weight: bold;
	color: #E6090D;
}
.p-sub_anc_menu a{
	color: #555;
	text-decoration: none;
	display: inline-block;
	padding: 0.75rem 0.75rem;
	line-height: 1;
	transition: background-color 0.3s;
	border-radius: 4px;
	position: relative;
}
.p-sub_anc_menu a:hover{
	background-color: #f0f0f0;
}

.p-sub_anc_menu a:after{
	content: "";
	display: block;
	width: 10%;
	height: 2px;
	background-color: #E6002D;
	opacity: 0;
	position: absolute;
	bottom: 2px; left: 50%;
	margin-left: -5%;
	transition: all 0.3s;
}
.p-sub_anc_menu.is-current a:after{
	opacity: 1;
	width: 100%;
	margin-left: -50%;
}


/*p-topic_item*/
.p-topic_item{
	position: relative;
}
.p-topic_item__update{
	position: absolute;
	width: auto;
	height: auto;
	top:-4px; left: -4px;
	/*background-color: #375d94;*/
	background-color: #E6002D;
	color: #fff;
	line-height: 1;
	font-size: 0.75rem;
	padding: 0.375rem 0.625rem;
	letter-spacing: 0.1em;
	transform: skewX(-10deg);
}
.p-topic_item__update span{
	display: inline-block;
	transform: skewX(10deg);
}
.p-topic_item__link{
	position: absolute;
	bottom: 0px; left: 0px;
	width: 100%;
	height: 100%;
	background: linear-gradient(to bottom, transparent 50%,rgba(0,0,0,0.6) 80%, rgba(0,0,0,0.75) 98%);
	color: #fff;
	padding: 1rem 0.875rem 0.75rem;
	font-size: 0.875rem;
	line-height: 1.4;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
}
.p-topic_item__link a{
	color: #fff;
	text-decoration: none;
	display: inline-block;
	min-height: 2.5rem;
}
.p-topic_item__link .date{
	font-size: 0.75rem;
	white-space: nowrap;
}
.p-topic_item--index{
	border: #fff 3px solid;
	display: flex;
	/*justify-content: center;*/
	align-items: center;
	height: 100%;
}
.p-topic_item--index a{
	display:block;
	padding-left: 18px;
	background:url("../images/arrow_right_m_red.svg") no-repeat 0px 50%;
	line-height: 1;
	width: auto;
	color: #212121;
	text-decoration: none;
	margin: -0.25rem auto 0px;
}

/*p-release*/

.p-release{
	border-top: #9EA6B1 1px solid;
	margin-top: 2rem;
	padding-top: 1.5rem;
	padding-bottom: 2rem;
}
.p-overseas_body h3.p-release__heading{
	font-size: 1.375rem;
	line-height: 1.5;
	font-weight: 300;
}
.p-release a{
	text-decoration: none;
}
.p-release a:hover{
	text-decoration: underline;
}
.p-release__index{
	font-size: 0.875rem;
	line-height: 1.5;
	margin-bottom: 1.25rem;
}
.p-release__index li{
	margin-bottom: 0.375rem;
	padding-bottom: 0.375rem;
	border-bottom: #d5d5d5 1px solid;
	position: relative;
	padding-left: 8em;
	text-align: left;
}
.p-release__index li .p-release__date{
	display: block;
	position: absolute;
	top:0px; left: 0px;
}
.p-release__index li .pdf_size{
	white-space: nowrap;
}

/*About Us: Commitment*/

.p-commitment{}
.p-commitment__main_photo{
	position: relative;
}
.p-commitment__main_photo .p-person_data{
	position: absolute;
	width: 240px;
	bottom: 2.5rem;
	left: 1.875rem;
}

/*About Us: Overview*/
h3.p-overview_ctg,
h3.p-fact_sheet__heading{
	font-size: 1.75rem;
	line-height: 1;
	padding: 0.75rem 0;
	background-color: #E5E7EA;
	text-align: center;
	margin-bottom: 2rem;
}
.p-fact_sheet{
	background-color: #E5E7EA;
	padding: 1rem 30px 30px;
}
.p-fact_sheet__heading{
	margin-bottom: 1rem;
}
.p-fact_sheet__graph{
	flex: 0 0 auto;
	width: 340px;
}
.p_bn_heading.division{
	font-size: 1.5rem;
}

/*civil_link_box*/
.p-civil_link_box{
	border: #E5E7EA 2px solid;
	padding: 1.25rem 1.5rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.p-civil_link_box dt{
	flex: 0 0 auto;
	width: 260px;
	background: url("../images/arrow_right_m_g.svg") no-repeat 100% 50%;
	margin-right: 20px;
}
.p-civil_link_box dt h3{
	font-size: 1.5rem;
	line-height: 1.2;
}
.p-civil_link_box dd{
	flex: 1 0 auto;
	width: 50%;
}
.p-civil_link_box__bn{
	flex: 0 0 auto;
	width: 400px;
}
.p-civil_link_box h4.p_bn_heading{
	font-size: 1.125rem;
}

/*About Us: Global*/

.p-global_map{}
.p-global_map__world_map{
	position: relative;
}
.p-global_map__basebox li{
	position: absolute;
	width: 240px; height: 102px;
}
.p-global_map__basebox li a::before{
	content: "";
	position: absolute;
	box-sizing: border-box;
	display: block;
	width: calc(100% + 10px);
	height: calc(100% + 10px);
	border: #a6c4eb 1px solid;
	border-radius: 4px;
	background-color: rgba(166,196,235,0.3);
	top:-5px; left: -5px;
	transform: scale(0.9);
	opacity: 0;
	transition: all 0.3s;
}
.p-global_map__basebox li:hover a::before{
	opacity: 0.75;
	transform: scale(1.0);
}
.p-global_map__basebox li a span{
	display: none;
}
#global_ke{
	top:75px; left:97px;
}
#global_ke a::before{
	border: #7A5A9A 1px solid;
	background-color: rgba(122,90,154,0.4);
}
#global_kap{
	width: 260px;
	top:344px; left:112px;
}
#global_kap a::before{
	border: #DE7200 1px solid;
	background-color: rgba(222,114,0,0.4);
}
#global_ch{
	top:117px; left:378px;
}
#global_ch a::before{
	border: #C68C00 1px solid;
	background-color: rgba(198,140,0,0.4);
}
#global_tw{
	top:255px; left:525px;
}
#global_tw a::before{
	border: #CE607B 1px solid;
	background-color: rgba(206,96,123,0.4);
}
#global_ka{
	top:385px; left:570px;
}
#global_ka a::before{
	border: #5170BC 1px solid;
	background-color: rgba(81,112,188,0.4);
}
#global_kusa{
	top:117px; left:876px;
}
#global_kusa a::before{
	border: #2784B7 1px solid;
	background-color: rgba(39,132,183,0.4);
}

.p-global_leader{}

/*p-team_story_bn*/
.p-team_story_bn{
	display: flex;
	justify-content: flex-start;
	color: #fff;
	background-color: #447AAC;
	position: relative;
}
.p-team_story_bn::before{
	content: "";
	display: block;
	width: 24px;
	height: 44px;
	position: absolute;
	right: 30px;
	top:50%;
	margin-top: -22px;
	background: url("../images/arrow_right_m_wh.svg") no-repeat 50% 50%;
}
.p-team_story_bn__thumb{
	flex: 0 0 auto;
	width: 464px;
}
.p-team_story_bn__txt{
	flex: 1 0 auto;
	width: 50%;
	padding: 1rem 5.75rem 1rem 2.25rem;
	line-height: 1.7;
	font-weight: 300;
}
.p-team_story_bn__txt a{
	color: #fff;
	text-decoration: none;
}
.p-team_story_bn__vol{
	font-size: 3.5rem;
	line-height: 1;
	margin-bottom: 0.75rem;
	color: #8FAFCD;
	font-style: italic;
	font-weight: 400;
	letter-spacing: -0.01em;
}
.p-team_story_bn__vol .c-small_txt{
	font-size: 1.5rem;
	display: inline-block;
	vertical-align:middle;
	margin-right: 0.5rem;
}
.p-team_story_tag{
	position: absolute;
	width: 290px;
	height: 56px;
	bottom:-1.875rem;
	left: 50%;
	margin-left: -145px;
	color: #fff;
	text-align: center;
	font-size: 1.4375rem;
	font-weight: 500;
	line-height: 1;
}
.p-team_story_tag::before{
	content: "";
	display: block;
	position: absolute;
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	background-color: #E6002D;
	border: #fff 2px solid;
	transform: skewX(-10deg);
	top:0px;
	left: 50%;
	margin-left: -50%;
}
.p-team_story_tag__inner{
	position: absolute;
	width: 100%;
	height: 100%;
	text-align: center;
	top:0; left:5px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding-bottom: 0.125rem;
}

/**/
.p-team_story_sub{
	background-color: #E5E7EA;
	border-radius: 6px;
}
.p-team_story_notice{
	display: flex;
	justify-content: flex-start;
	align-items: center;
	height: 120px;
	border-bottom: #fff 2px solid;
	margin-bottom: 1rem;
}
.p-team_story_notice dt{
	flex: 0 0 auto;
	width: 176px;
	font-size: 1.125rem;
	line-height: 1;
	font-weight: bold;
	color: #5273A2;
	text-align: center;
	padding-bottom: 0.125rem;
	padding-right: 1rem;
	position: relative;
}
.p-team_story_notice dt::before{
	content: "";
	display: block;
	width: 24px; height: 44px;
	background: url("../images/arrow_right_m_g.svg") no-repeat 50% 50%;
	position: absolute;
	right: 20px;
	top: 50%;
	margin-top: -22px;
}
.p-team_story_notice dd{
	flex: 1 0 auto;
	width: 50%;
	height: 100%;
	border-radius: 0 6px 0 0;
	background-color: #9EA6B1;
	color: #fff;
	padding-left: 2.5rem;
	padding-bottom: 0.25rem;
	position: relative;
}
.p-team_story_notice dd::before{
	content: "";
	display: block;
	width: 30px;
	height: 100%;
	background-color: #E5E7EA;
	transform: skewX(-10deg);
	position: absolute;
	top:0px;
	left: -15px;
}
.p-team_story_notice__vol{
	font-size: 2.625rem;
	line-height: 1;
	font-style: italic;
	color: #E5E7EA;
}
.p-team_story_notice__vol .c-small_txt{
	font-size: 1.125rem;
	font-weight: 300;
	display: inline-block;
	vertical-align: middle;
	margin-right: 0.25rem;
}
.p-team_story_notice__tag{
	margin: 0 1.5rem;
	border: #E5E7EA 2px solid;
	transform: skewX(-10deg);
	font-size: 1.125rem;
	line-height: 1;
	padding: 0.75rem 1.25rem;
	font-weight: bold;
}
.p-team_story_notice__tag .c-inner{
	transform: skewX(10deg);
}
.p-team_story_notice__content{
	line-height: 1.5;
	padding-bottom: 0.25rem;
}
.p-team_story_notice__content h4{
	font-size: 1.375rem;
}
.p-team_story_theme_lede{
	text-align: center;
	font-weight: 600;
	font-size: 1.125rem;
	line-height: 1.5;
	letter-spacing: 0;
}
.p-team_story_theme{
	padding: 1rem 1.75rem 1.5rem;
}
.p-team_story_theme li{
	flex: 0 0 auto;
	border: #9EA6B1 1px solid;
	padding: 0.25rem 0;
	background-color: #fff;
	width: 16%;
	text-align: center;
	transform: skewX(-10deg);
}
.p-team_story_theme li>span{
	display: block;
	transform: skewX(10deg);
}

/*p-new_market_leader*/
.p-new_market_leader{
	width: 640px;
	margin: 0 auto;
	padding: 1.5rem 0 3rem;
}
.p-new_market_leader .c-bn_btn{
	text-align: center;
	font-size: 1.25rem;
	font-weight: 500;
	line-height: 1;
	padding: 1.875rem 1.875rem 2rem;
}


/*solution_main_img slide*/
#solution_main_img{
	width: 100%;
	min-width: 1160px;
	height: 400px;
	position: relative;
	opacity: 0;
	transition: opacity 0.6s 0.2s;
}
#solution_main_img li{
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0px; left: 0px;
	line-height: 1;
	background-size:cover;
	background-repeat: no-repeat;
	background-position: 50% 50%;
	opacity: 0;
	transition: opacity 1.6s 0s;
}
#solution_main_img li p{
	display: none;
}
#solution_main_img li.is-now{
	opacity: 1;
}
#solution_main_img.is-appear{
	opacity: 1;
}

/*p-solution_chart*/

.p-solution_chart{
	position: relative;
}
.p-solution_chart__row li{
	position: absolute;
	width: 1160px;
	height: 103px;
	left: 0px;
}
.p-solution_chart__row li a::before{
	content: "";
	position: absolute;
	box-sizing: border-box;
	display: block;
	width: calc(100% + 10px);
	height: calc(100% + 10px);
	border: #a6c4eb 1px solid;
	border-radius: 4px;
	background-color: rgba(166,196,235,0.3);
	top:-5px; left: -5px;
	transform: scale(0.9);
	opacity: 0;
	transition: all 0.3s;
}
.p-solution_chart__row li:hover a::before{
	opacity: 0.75;
	transform: scale(1.0);
}
.p-solution_chart__row li a span{
	display: none;
}
#solution_kusa{
	height: 103px;
	top:176px;
}
#solution_kusa a::before{
	border: #2784B7 1px solid;
	background-color: rgba(39,132,183,0.4);
}
#solution_kap{
	height: 136px;
	top:287px;
}
#solution_kap a::before{
	border: #DE7200 1px solid;
	background-color: rgba(222,114,0,0.4);
}
#solution_ke{
	top:431px;
	height: 71px;
}
#solution_ke a::before{
	border: #7A5A9A 1px solid;
	background-color: rgba(122,90,154,0.4);
}
#solution_ka{
	height: 82px;
	top:510px;
}
#solution_ka a::before{
	border: #5170BC 1px solid;
	background-color: rgba(81,112,188,0.4);
}
#solution_tw{
	height: 39px;
	top:600px;
}
#solution_tw a::before{
	border: #CE607B 1px solid;
	background-color: rgba(206,96,123,0.4);
}
#solution_ch{
	height: 39px;
	top:647px;
}
#solution_ch a::before{
	border: #C68C00 1px solid;
	background-color: rgba(198,140,0,0.4);
}

/*p-solution_contact*/
.p-solution_contact{
	background:#fff url("../../images/img_contact.jpg") no-repeat 0px 0px;
}
.p-solution_contact h2{
	text-align: center;
	line-height: 1;
	height: 240px;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	margin-bottom: 1.75rem;
	font-size: 1.75rem;
}
.p-solution_contact__btn{
	font-size: 1.5rem;
	width: 420px;
	margin: 2.5rem auto 3rem;
	padding: 2rem 0 2.25rem;
}
.p-solution_contact__team_photo{
	margin-left: -1.875rem;
	margin-right: -1.875rem;
	background-color: #EFF0F2;
	line-height: 1.5;
	/*margin-bottom: 3.5rem;*/
}
.p-solution_contact__team_txt{
	font-size: 1.25rem;
	font-weight: 600;
	padding: 1.375rem 0 1.75rem 0;
}
