  /* CSS Document */

/****
Foundation
 ****/

#body{
	width: 1160px;
	font-size: 1rem;
	/*font-size: 0.9375rem;*/ /*15px*/
	text-align: justify;
	text-justify:inter-ideograph;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
#body.full-width{
	display: block;
}
#body.full-width .content .inner{
	width: 1160px;
}

#body.full-width .bread{
	width: 100%;
}

#body *{
	box-sizing: border-box;
}

p.bread,
.bottom p.bread{
	font-size: 0.875rem;
	padding-bottom: 8px; /*18 - 10*/
}

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

.l-main{
	background:#1e3250;
	height: 770px;
	min-width: 1160px;
	margin-bottom: 1.125rem;
	position: relative;
	overflow: hidden;
}

.l-main::before{
	content: "";
	display: block;
	background:radial-gradient(ellipse closest-side, #547fa5 0%, #426b91 25%, #315072 58%, #274060 70%, #1e3250 94%);
	height: 1900px;
	width: 1900px;
	position: absolute;
	top:-200px;
	left: 50%;
	margin-left: -950px;
	transition: opacity 1.8s;
	opacity: 0;
}

.l-main.is-appear::before{
	opacity: 1;
}


/****
Object
 ****/

/*  Component
---------------------------------------------------------- */

.c-flex_start{
	display: flex;
	justify-content:flex-start;
}
.c-flex_end{
	display: flex;
	justify-content:flex-end;
}
.c-flex_between{
	display: flex;
	justify-content: space-between;
}
.c-flex_center{
	display: flex;
	justify-content:center;
}
.c-flex_alignItem_center{
	align-items: center;
}
.c-flex_wrap{
	flex-wrap: wrap;
}
.c-align_center{
	text-align: center;
}
.c-align_right{
	text-align: right;
}
.c-valign_middle{
	vertical-align: middle;
}


/*---- Ptoject ---------------------*/

.p-index_title{
  background-color: inherit;
}

.p-project_index{
  padding-top: 2.5rem;
}

/*hero_slide*/
#projects_main_area{
	position: relative;
	opacity: 1;
	/*transition: opacity 0.6s;*/
}
#projects_main_area.is-appear{
}

#hero_slide {
	width:570px;
	height:596px;
	/*opacity: 0;
	transition: opacity 0.6s;*/
	position: relative;
}

/*heroArea__loading*/
.p-heroArea__loading {
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	opacity: 0.7;
	transition: opacity 0.5s;
	z-index: 0;
}
.p-heroArea__loading.is-hidden {
	opacity: 0;
}

/*loading_css*/
.loader {
  font-size: 10px;
  margin: 50px auto;
  text-indent: -9999em;
  width: 7em;
  height: 7em;
  border-radius: 50%;
  background: #ffffff;
  background: -moz-linear-gradient(left, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
  background: -webkit-linear-gradient(left, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
  background: -o-linear-gradient(left, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
  background: -ms-linear-gradient(left, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
  background: linear-gradient(to right, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
 /* position: relative;*/
  -webkit-animation: load3 1.4s infinite linear;
  animation: load3 1.4s infinite linear;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
	
	position: absolute;
	top:50%; left: 50%;
	margin-top: -3.5em;
	margin-left: -3.5em;
}
.loader:before {
  width: 50%;
  height: 50%;
  background: #ffffff;
  border-radius: 100% 0 0 0;
  position: absolute;
  top: 0;
  left: 0;
  content: '';
}
.loader:after {
  background: #1e3250;
  width: 80%;
  height: 80%;
  border-radius: 50%;
  content: '';
  margin: auto;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}
@-webkit-keyframes load3 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes load3 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

/**/

.slide_ctrl{
	position: absolute;
	width: 0px; height: 0px;
	overflow: hidden;
	visibility: hidden;
}
.slide_box li {
	cursor: pointer;
	position: absolute;
	z-index: 1;
	top: 0px;
	left: 0px;
	opacity: 0;
	transition: opacity 1.6s;
}
.slide_box li.is-now {
	opacity: 1;
	z-index: 2;
}

/*p-content_box*/
.p-content_box{
	flex: 0 0 auto;
	width: 570px;
	height: 678px;
	background:linear-gradient(to bottom, rgba(2,6,15,0.56), rgba(2,6,15,0.25) 90%);
	opacity: 0;
	margin-top: 30px;
}
#projects_main_area.is-appear .p-content_box{
	opacity: 1;
	margin-top: 0px;
}
#projects_main_area .p-content_box:nth-of-type(1){
	transition: all 1s;
}
#projects_main_area .p-content_box:nth-of-type(2){
	transition: all 0.7s 0.3s;
}

.p-content_box__title{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.p-content_box__title h2{
	flex: 0 0 auto;
	height: 70px;
	position: relative;
	line-height: 1;
	color: #fff;
	display: flex;
	align-items: center;
	padding-left: 60px;
	font-size: 1.5rem;
	letter-spacing: 0.02em;
  font-weight: 400;
}
.p-content_box__title h2::before{
	content: "";
	display: block;
	position: absolute;
	width: 46px;
	height: 3px;
	background-color: #e5002d;
	left: 0px;
	top: 50%;
	margin-top: -3px;
}

.sp .p-content_box__title h2{
	padding: 1.5rem 0 1.125rem;
	text-align: center;
	height: auto;
	display: inherit;
}
.sp .p-content_box__title h2::before{
	display: none;
}

.p-content_box__title .p-discription{
	font-size: 0.9375rem;
	line-height: 1;
	color: rgba(255,255,255,0.7);
	flex: 0 0 auto;
	margin-left: auto;
	margin-right: 1.25rem;
	margin-bottom: 0.125rem;
}

/*p-link_tile*/
.p-link_tile{
	box-shadow: 1px 2px 12px -2px rgba(0,0,0,0.5);
	margin-bottom: 10px;
	position: relative;
	background-color: #fff;
	opacity: 0;
	transform: scale(0.9);
	/*transition: all 0.3s 0.8s;*/
}
#projects_main_area.is-appear .p-link_tile{
	opacity: 1;
	transform: scale(1);
}
#projects_main_area .p-link_tile.mp{
	transition: all 0.3s 0.8s;
}

#projects_main_area .p-link_tile.t01{
	transition: all 0.3s 1s;
}

#projects_main_area .p-link_tile.t02{
	transition: all 0.3s 1.2s;
}

#projects_main_area .p-link_tile.t03{
	transition: all 0.3s 1.4s;
}

#projects_main_area .p-link_tile.t04{
	transition: all 0.3s 1.6s;
}

#projects_main_area .p-link_tile.t05{
	transition: all 0.3s 1.8s;
}

.p-link_tile a{
	display: block;
}
.p-link_tile a::after{
	content: "";
	display: block;
	position: absolute;
	box-sizing: content-box;
	width: 100%;
	height: 100%;
	top:-1px; left: -1px;
	padding: 0px;
	border: rgba(255,255,255,0.7) 1px solid;
	background-color: rgba(255,255,255,0.2);
	border-radius: 4px;
	opacity: 0;
	transition: all 0.3s;
}
.p-link_tile:hover a::after{
	opacity: 1;
	padding: 5px;
	top:-6px; left: -6px;
}

.p-mp_title{
	position: absolute;
	left: 0px;
	top: 0px;
	z-index: 10;
}
.p-content_box__inner{
	padding: 0 10px;
}

@media print{
	.l-main::before{
		display: none;
	}
}

/*sp*/

.sp .l-main{
	min-width: inherit;
	height: auto;
	margin: 0 -3.1%;
}
.sp .l-main::before{
	display: none;
}
.sp #body.full-width .content .inner{
	width: 100%;
}
.sp #body{
	display: block;
}
.sp .c-flex_between{
	display: block;
}
.sp .p-content_box{
	width: 100%;
	height: auto;
	overflow: inherit;
	margin-top: 0;
}
.sp #hero_slide{
	width: 100%;
	height: auto;
	padding-top: 104.5%;
}
.sp .p-heroArea__loading {
	height: auto;
	padding-top: 100%;
	background: url("/project/projects_portal/images/loading-icon.svg") no-repeat 50% 50%;
}
.sp .p-heroArea__loading .loader {
	display: none;
}
.sp .p-link_tile{
	margin-bottom: 1rem;
}
.sp .p-link_tile img{
	min-width: 100%;
	height: auto;
}
.sp .p-content_box__inner{
	padding: 0 10%;
}

.sp .p-content_box__title{
	display: block;
	text-align: center;
}
.sp .p-content_box__title h2{
	/*height: auto;*/
}
.sp .p-content_box__title .p-discription{
	padding: 0 0 1.5rem;
}
