@charset "UTF-8";

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

#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%;
}
video#video_sp{
	width: 100%;
	height: auto;
	margin-top: 52px;
	z-index: -1;
	vertical-align: bottom;
}

#movie_logo{
	width: 100%;
	height: 65px;
	margin: 0 auto;
	color: #fff;
	background: #569fd2;
	text-align: center;
}

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

#movie_logo .title_jp{
	display: block;
	width: 100%;
	font-size: 13px;
}

.movie_text{
	display: block;
	margin: 30px auto;
	box-sizing: border-box;
	font-size: 12px;
	color: #333;
	line-height: 20px;
	letter-spacing: 0em;
	text-align: center;
	z-index: 1;
}

/*
*********************************************** 
　スマホ版トップ画面
*********************************************** 
*/

#top_main_cont #top_main_img{
	width: 100%;
	height: 360px;
	background: url(../imgs/top/top_main_bg.jpg) center top / cover no-repeat;
	position: relative;
}

#top_main_cont #top_main_img #logo{
	width: 30%;
	margin: 0 35%;
	position: absolute;
	top: 150px;
}
#top_main_cont #top_main_img #logo img {
	width: 100%;
	height: auto;
	display: block;
}

#top_main_cont #top_main_text {
	width: 100%;
	margin: 0 auto;
	padding: 10px 20px;
	background-color: #333333;
	color: #ffffff;
	box-sizing: border-box;
	font-size: 2vw;
}


/*--------------------------------------------------
**************************************************
  ムービー
**************************************************
--------------------------------------------------*/
#top_header {
  margin: 0;
  padding: 0;
  /*  IE8以下の背景画像  */
  background-attachment: fixed;
  background-size: cover;
} 
 
#video-background {
  position: fixed;
  right: 0; 
  bottom: 0;
  min-width: 100%; 
  min-height: 100%;
  width: auto; 
  height: auto;
  z-index: -100;
}
/*--------------------------------------------------
**************************************************
  CONTENT
**************************************************
--------------------------------------------------*/
#content {
	background: #f4f3f3;
	padding: 60px 0;
}
.top_content_box {
	width: 100%;
  margin-bottom: 30px;
}
.top_content_box .title {
	font-family: 'Noto Sans', sans-serif;
	font-size: 21px;
	color: #555555;
	letter-spacing: 0.05em;
}
.top_content_box .title:first-letter {
	font-size: 30px;
}
.top_content_box .text {
	font-size: 14px;
}
.top_border,
.top_border_sp {
	padding-top: 40px;
	background-image: url(../imgs/top/content_border.gif);
	background-size: 180px 1px;
	background-repeat: no-repeat;
	background-position: center top; 
}


/*--------------------------------------------------
**************************************************
  SERVICE
**************************************************
--------------------------------------------------*/
.advisory_area,
.brand_area,
.media_area {
	width:98%;
	margin: 0 auto 30px;
}
.advisory_box,
.brand_box,
.media_box {
	height: 200px !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;
	text-indent: -999px;
}
.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: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 .comment {
	margin-top: 10px;
	font-size: 13px;
}
.service_box .btn {
}
.service_box .btn a {
	display: block;
	width: 200px;
	height: 40px;
	line-height: 40px;
	border: 1px solid;
	color: #fff;
	background: #333;
	text-align: center;
	margin: 20px auto 20px auto;
	padding: 2px 15px;
	transition: all .3s;
}
.service_box .btn a:hover {
	background: #9b0000;
	text-decoration: none;
}


/*--------------------------------------------------
**************************************************
  VITACIG
**************************************************
--------------------------------------------------*/
h2.image_title {
	width: 60%;
	margin: 0 auto;
	display: block;
}
#vitacig .link_btn {
	text-align: center;
}
#vitacig .link_btn a {
	background: #093e52;
	color: #FFF;
	width: 260px;
	display: block;
	margin: 0 auto;
	padding: 12px 0;
	position: relative;
}
#vitacig .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 #FFF;
	border-right: solid 1px #FFF;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

/*--------------------------------------------------
**************************************************
  INFORMATION
**************************************************
--------------------------------------------------*/
#news {
	width: 100%;
}
#column {
	width: 100%;
  margin-top: 50px;
}
#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: 100px;
	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 {
	border: 1px solid #999;
	color: #666;
	width: 260px;
	display: block;
	text-align: center;
	padding: 12px 0;
	position: relative;
  margin: 0 auto;
}
#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);
}
