@charset "UTF-8";

html,body,#container { height:100%; }

header {
	display: none;
}

/*
*********************************************** 
　ローディング画面用
*********************************************** 
*/

#loader-bg {
	display: none;
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	background: #fff;
	z-index: 100000;
}

#loader-bg .loader{
	position: relative;
	width: 100%;
	height: 100%;
}
#loader-bg .loader .loader_wrap{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	width: 120px;
	height: 90px;
	margin: auto;
}
@-webkit-keyframes ball-pulse-rise-even {
  0% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1); }
  25% {
    -webkit-transform: translateY(-30px);
            transform: translateY(-30px); }
  50% {
    -webkit-transform: scale(0.4);
            transform: scale(0.4); }
  75% {
    -webkit-transform: translateY(30px);
            transform: translateY(30px); }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    -webkit-transform: scale(1);
            transform: scale(1); } }

@keyframes ball-pulse-rise-even {
  0% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1); }
  25% {
    -webkit-transform: translateY(-30px);
            transform: translateY(-30px); }
  50% {
    -webkit-transform: scale(0.4);
            transform: scale(0.4); }
  75% {
    -webkit-transform: translateY(30px);
            transform: translateY(30px); }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    -webkit-transform: scale(1);
            transform: scale(1); } }

@-webkit-keyframes ball-pulse-rise-odd {
  0% {
    -webkit-transform: scale(0.4);
            transform: scale(0.4); }
  25% {
    -webkit-transform: translateY(30px);
            transform: translateY(30px); }
  50% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1); }
  75% {
    -webkit-transform: translateY(-30px);
            transform: translateY(-30px); }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    -webkit-transform: scale(0.75);
            transform: scale(0.75); } }

@keyframes ball-pulse-rise-odd {
  0% {
    -webkit-transform: scale(0.4);
            transform: scale(0.4); }
  25% {
    -webkit-transform: translateY(30px);
            transform: translateY(30px); }
  50% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1); }
  75% {
    -webkit-transform: translateY(-30px);
            transform: translateY(-30px); }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    -webkit-transform: scale(0.75);
            transform: scale(0.75); } }

.ball-pulse-rise > div {
  background-color: #aaa;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  margin: 2px;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  display: inline-block;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-timing-function: cubic-bezier(0.15, 0.46, 0.9, 0.6);
          animation-timing-function: cubic-bezier(0.15, 0.46, 0.9, 0.6);
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
  -webkit-animation-delay: 0;
          animation-delay: 0; }
  .ball-pulse-rise > div:nth-child(2n) {
    -webkit-animation-name: ball-pulse-rise-even;
            animation-name: ball-pulse-rise-even; }
  .ball-pulse-rise > div:nth-child(2n-1) {
    -webkit-animation-name: ball-pulse-rise-odd;
            animation-name: ball-pulse-rise-odd; }

#loader-bg .loader .loader_wrap .loader_text{
	display: block;
	width: 100%;
	margin-top: 30px;
	text-align: center;
	color: #aaa;
	font-size: 14px;
}

/*
*********************************************** 
　メイン動画コンテンツ部分
*********************************************** 
*/
#header_content {
	opacity: 0;
}

#video_cont{
	position: relative;
	width: 100%;
	height: 100%;
}
video#video{
 	position: absolute; 
	top: 0;
	left: 0;
	min-width: 100%;
	min-height: 100%;
	width: auto;
	height: auto;
	z-index: -1;
}

#movie_logo{
	position: absolute;
	top: 33%;
	left: 0;
	right: 0;
	width: 500px;
	height: 120px;
	margin: 0 auto;
	color: #fff;
	text-align: center;
}

#movie_logo .title_en{
	display: block;
	width: 100%;
	font-size: 55px;
	letter-spacing: 0.2em;
	font-family: Georgia, 'Hiragino Mincho ProN', 'Yu Mincho', serif;
}

#movie_logo .title_jp{
	display: block;
	width: 100%;
	font-size: 20px;
	letter-spacing: 0.1em;
}

.movie_text{
	position: absolute;
	top: calc(33% + 170px);
	left: 0;
	right: 0;
	display: block;
	width: 730px;
	margin: 0 auto;
	background-color: rgba(95, 158, 194, 0.7);
	box-sizing: border-box;
	padding: 15px 50px;
	font-size: 16px;
	color: #fff;
	line-height: 36px;
	letter-spacing: 0.1em;
	text-align: center;
	z-index: 1;
}

/*
*********************************************** 
　ＳＶＧ関連
*********************************************** 
*/

.svgAnim_text {
	font-family: Georgia, 'Hiragino Mincho ProN', 'Yu Mincho', serif;
	font-size: 16px;
}

.font_cont{
	opacity: 0;
}

svg .solid{
	opacity: 0;
}

svg .solid #solid_c1-2{
	opacity: 0;
}
svg .solid #solid_e3-2{
	opacity: 0;
}

svg path,
svg polyline{
	stroke-width: 0.5;
	stroke-linecap: square;
}

#line_c1{
	margin: 0 0 0 0;
	stroke-dasharray: 150.291px;
	stroke-dashoffset: 150.291px
}

#line_r1-1,
#line_r2-1{
	stroke-dasharray: 145.034px;
	stroke-dashoffset: 145.034px
}

#line_r1-2,
#line_r2-2{
	stroke-dasharray: 38.491px;
	stroke-dashoffset: 38.491px
}

#line_e1,
#line_e2,
#line_e3,
#line_e4{
	stroke-dasharray: 174.988px;
	stroke-dashoffset: 174.988px
}

#line_a1-1{
	stroke-dasharray: 123.075px;
	stroke-dashoffset: 123.075px
}

#line_a1-2{
	stroke-dasharray: 37.976px;
	stroke-dashoffset: 37.976px
}

#line_plus{
	stroke-dasharray: 78.854px;
	stroke-dashoffset: 78.854px
}

#line_s1,
#line_s2{
	stroke-dasharray: 175.354px;
	stroke-dashoffset: 175.354px
}

/*--------------------------------------------------
**************************************************
  ムービー
**************************************************
--------------------------------------------------*/
/* ----
#wrapper {
	position: relative;
	z-index: 0;
	background: #FFF;
}
---- */

#movie_top{
	position: relative;
	display: block;
	height: 100%;
	width: 100%;
	overflow: hidden;
	background: #fff center repeat;
	background-size: cover;
	/*background: #333;*/
}
.home_video{
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	display: block !important;
	min-width: 100%;
	min-height: 100%;
	opacity: 9999;
}

/*--------------------------------------------------
**************************************************
  CONTENT
**************************************************
--------------------------------------------------*/
#content {
	background: #f4f3f3;
	padding: 60px 0;
}
.top_content_box {
	width: 32%;
	margin-right: 2%;
}
.top_content_box:nth-child(3n) {
	margin-right: 0;
}
.top_content_box .title {
	font-family: 'Noto Sans', sans-serif;
	font-size: 24px;
	color: #555555;
	letter-spacing: 0.05em;
}
.top_content_box .title:first-letter {
	font-size: 36px;
}
.top_content_box .text {
	font-size: 14px;
}
.top_border {
	margin-top: 40px;
	padding-top: 40px;
	background-image: url(../imgs/top/content_border.gif);
	background-size: 180px 1px;
	background-repeat: no-repeat;
	background-position: center top; 
}

#content .thumb {
	position: relative;
	float: left;
	overflow: hidden;
	margin: 10px 1%;
	min-width: 230px;
	max-width: 315px;
	width: 100%;
	color: #ffffff;
	text-align: center;
	font-size: 16px;
	background-color: #000000;
}
#content .thumb *,
#content .thumb *:before,
#content .thumb *:after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all 0.55s ease;
	transition: all 0.55s ease;
}
#content .thumb img {
	max-width: 100%;
	backface-visibility: hidden;
	vertical-align: top;
}
#content .thumb figcaption {
	position: absolute;
	bottom: 25px;
	right: 25px;
	padding: 5px 10px 10px;
}
#content .thumb figcaption:before,
#content .thumb figcaption:after {
	height: 2px;
	width: 400px;
	position: absolute;
	content: '';
	background-color: #ffffff;
}
#content .thumb figcaption:before {
	top: 0;
	left: 0;
	-webkit-transform: translateX(100%);
	transform: translateX(100%);
}
#content .thumb figcaption:after {
	bottom: 0;
	right: 0;
	-webkit-transform: translateX(-100%);
	transform: translateX(-100%);
}
#content .thumb figcaption div:before,
#content .thumb figcaption div:after {
	width: 2px;
	height: 300px;
	position: absolute;
	content: '';
	background-color: #ffffff;
}
#content .thumb figcaption div:before {
	top: 0;
	left: 0;
	-webkit-transform: translateY(100%);
	transform: translateY(100%);
}
#content .thumb figcaption div:after {
	bottom: 0;
	right: 0;
	-webkit-transform: translateY(-100%);
	transform: translateY(-100%);
}
#content .thumb h2,
#content .thumb h4 {
	margin: 0;
	text-transform: uppercase;
}
#content .thumb h2 {
	font-weight: 400;
	text-shadow: 1px 1px #c0c0c0;
}
#content .thumb a {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
}
#content .thumb:hover img,
#content .thumb.hover img {
	zoom: 1;
	filter: alpha(opacity=50);
	-webkit-opacity: 0.5;
	opacity: 0.5;
}
#content .thumb:hover figcaption:before,
#content .thumb.hover figcaption:before,
#content .thumb:hover figcaption:after,
#content .thumb.hover figcaption:after,
#content .thumb:hover figcaption div:before,
#content .thumb.hover figcaption div:before,
#content .thumb:hover figcaption div:after,
#content .thumb.hover figcaption div:after {
	-webkit-transform: translate(0, 0);
	transform: translate(0, 0);
}
#content .thumb:hover figcaption:before,
#content .thumb.hover figcaption:before,
#content .thumb:hover figcaption:after,
#content .thumb.hover figcaption:after {
	-webkit-transition-delay: 0.15s;
	transition-delay: 0.15s;
}


/*--------------------------------------------------
**************************************************
  Business Outline
**************************************************
--------------------------------------------------*/

h2.h2_outline{
	display: block;
	width: 400px;
	text-align: center;
	margin: 0 auto;
	color: #4c95c4;
}

.advisory_area,
.brand_area,
.media_area {
	width:30%;
}
.advisory_box,
.brand_box,
.media_box {
	height: 240px !important;
	border: 1px solid #dfdfdf;
	position: relative;
}
.advisory_box a,
.brand_box a,
.media_box a {
	position: absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	text-indent:-999px;
}
.service_box .title {
	font-size: 14px;
	margin-bottom: 10px;
	padding-left: 10px;
	border-left: 5px solid #4c95c4;
	font-weight: bold;
}
.service_box .title span {
	display: block;
	font-family: "LATO";
	font-size: 12px;
	color: #777;
}
.service_box .service_box_inner {
	position: relative;
	height: 240px !important;
	border: 1px solid #dfdfdf;
}
.service_box .service_box_inner a.image{
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	overflow: hidden;
}
.service_box .service_box_inner a.image.image01{
	background: url("../imgs/top/business_outline01.jpg") center center / cover no-repeat;
}
.service_box .service_box_inner a.image.image02{
	background: url("../imgs/top/business_outline02.jpg") center center / cover no-repeat;
}
.service_box .service_box_inner a.image.image03{
	background: url("../imgs/top/business_outline03.jpg") center center / cover no-repeat;
}
.service_box .service_box_inner a:hover{
	opacity: 1;
	text-decoration: none;
}
.service_box .service_box_inner a.image .image_inner{
	position: relative;
	width: 100%;
	height: 44px;
	margin: 95px auto 0 auto;
}
.service_box .service_box_inner a.image .title_text{
	position: absolute;
	left: -50%;
	display: block;
	width: 50%;
	line-height: 44px;
	font-size: 18px;
	letter-spacing: 0.1em;
	text-align: center;
	color: #fff;
	background: rgba(0,0,0,.8);
	transition: all .4s;
	opacity: 0;
}
.service_box .service_box_inner a:hover .title_text{
	left: 0;
	width: 100%;
	opacity: 1;
}

.service_box .service_box_inner a:before{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	background: rgba(255,255,255,0.3);
	opacity: 0;
	transition: all .3s;
}
.service_box .service_box_inner a:hover:before{
	content: "";
	opacity: 1;
}


.service_box .service_box_inner .image img{
}
.service_box .title {
}
.service_box .btn a {
    border-bottom: 1px solid;
    color: #333;
    display: inline-block;
    margin-top: 10px;
    padding-bottom: 2px;
}
.service_box .btn a:hover {
    color: #c00;
    text-decoration: none;
}


/*--------------------------------------------------
**************************************************
  INFORMATION
**************************************************
--------------------------------------------------*/
#news {
	width: 100%;
	margin: 0 auto;
}
#news h2 {
	display: block;
	width: 400px;
	text-align: center;
	margin: 0 auto;
	color: #4c95c4;
}
#column {
	width: 55%;
}
#news article {
	padding-bottom: 30px;
	border-bottom: 1px dotted #cfcfcf;
}
#informations .cat_date {
	font-size: 12px;
}
#informations .cat_date span {
	margin-right: 20px;
	padding: 0 10px;
	border: 1px solid #c0c0c0;
	width: 80%;
	display: inline-block;
	text-align: center;
}
#informations .title {
	margin-top: 15px;
	line-height: 1.3em;
}
#informations .title a {
	color: #333;
}
#column article {
	width: 100%;
	display: table;
}
#column article .thumb {
	width: 86px;
	display: table-cell;
}
#column article .detail {
	display: table-cell;
	padding-left: 20px;
	vertical-align: middle;
}
#column .cat_date span {
	background: #3e6fa2;
	color: #FFF;
	border: none;
}

#informations .link_btn a {
	display: block;
	width: 140px;
	height: 50px;
	text-align: center;
	text-decoration: none;
	line-height: 50px;
	outline: none;
	margin: 0 auto;
}
#informations .link_btn a::before,
#informations .link_btn a::after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
}
#informations .link_btn a,
#informations .link_btn a::before,
#informations .link_btn a::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}
#informations .link_btn a {
	position: relative;
	z-index: 2;
	background-color: #fff;
	border: 1px solid #333;
	color: #333;
	line-height: 48px;
	overflow: hidden;
}
#informations .link_btn a:hover {
	color: #fff;
	border: 1px solid #0c529b;
}
#informations .link_btn a::after {
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	-webkit-transform: scale(.5);
	transform: scale(.5);
}
#informations .link_btn a:hover::after {
	background: #0c529b;
	-webkit-transform: scale(1);
	transform: scale(1);
}

/* ----
#informations .link_btn a {
	border: 1px solid #999;
	color: #666;
	width: 260px;
	display: block;
	text-align: center;
	padding: 12px 0;
	position: relative;
}
#informations .link_btn a:after {
	display: block;
	content: "";
	position: absolute;
	top: 52%;
	right: 12px;
	width: 6px;
	height: 6px;
	margin: -4px 0 0 0;
	border-top: solid 1px #999;
	border-right: solid 1px #999;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
#informations .link_btn a:hover {
	background: #f0f0f0;
	text-decoration: none;
}
---- */

