@charset 'UTF-8';
@import url('https://fonts.googleapis.com/css?family=Open+Sans');

/*reset*/
/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}


/*------------------------------------------------default settings*/

html, body {
	margin: 0;
	padding: 0;
	font-family:'Open Sans', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
	font-size: 14px;
}

* {
	box-sizing: border-box;
}

p{line-height:1.8; word-break: break-all;}
a{	transition: all 0.4s ease-out;}
p a{text-decoration: underline;}
p a:hover{
	text-decoration: none;
}

.abs{position:absolute;}

.effect .effectElement {
  margin: auto;
  transition: .8s;
}
.clearfix{
	content: "";
  	display: table;
	clear: both;
}
.container{
	overflow: hidden;
}

#header h1{
	text-align: center;
}
#header-logo-symbol{
	position: fixed;
	left: 20px;
	top:20px;
	width: 36px;
	height: 36px;
	z-index: 10;
	transition: all 0.4s ease-out;
}
.compact#header-logo-symbol{
	left: 10px;
	top:10px;
	width: 30px;
	height: 30px
}
#header-logo-symbol .ripple1,
#header-logo-symbol .ripple2,
#header-logo-symbol .ripple3{
	border-radius: 50%;
}
#header-logo-symbol .ripple1{
	width:100%;
	height: 100%;
	opacity: 0.4;
	background-color:#6c96d0;
	transform:  scaleX(0.00) scaleY(0.00);
}
#header-logo-symbol .ripple2{
	width:64.6%;
	height: 64.6%;
	opacity: 0.35;
	background-color:#175baa;
	position: absolute;
	top: 17.7%;
	left: 17.7%;
	transform: scaleX(0.00) scaleY(0.00);
	
	animation-delay: 0.4s;
	
}
#header-logo-symbol .ripple3{
	width:33%;
	height: 33%;
	opacity: 0.65;
	background-color:#1468ab;
	position: absolute;
	top: 33.5%;
	left: 33.5%;
	transform: scaleX(0.00) scaleY(0.00);
	
	animation-delay: 0.6s;
		
}
.header-logo-type{
	width: 162px;
	height: auto;
	position: absolute;
	top: 20px;
	left: 56px;
	z-index: 9;
	/*temporrally only compact mode*/
}
.compact#header-logo-symbol .header-logo-type{
	/*
	width: 135px;
	left: 30px;
	*/
	
	/*
	transition: opacity linear 0.4s ;
	*/

}


#header-logo-symbol .logo-animation1,
#header-logo-symbol .logo-animation2,
#header-logo-symbol .logo-animation3{
  animation: logoAnimate ease 8.0s;
  animation-iteration-count:infinite;
  transform-origin: 50% 50%;
  animation-fill-mode:backwards; /*when the spec is finished*/
}

/*
.second .logo-animation1,
.second .logo-animation2,
.second .logo-animation3,
*/
.compact .ripple1 .logo-animation1,
.compact .ripple2 .logo-animation2,
.compact .ripple3 .logo-animation3{
	animation:none;
	transform: scaleX(1.00) scaleY(1.00);
}
.second .logo-animation1,
.second .logo-animation2,
.second .logo-animation3{
	animation:logoAnimate2nd ease 1.8s;
  	animation-iteration-count:1;
	
}
.second #header-logo-symbol .ripple1,
.second #header-logo-symbol .ripple2,
.second #header-logo-symbol .ripple3{
	/*
	transform:  scaleX(0.00) scaleY(0.00);
	*/
}

@keyframes logoAnimate{
	0% {
	transform:  scaleX(0.00) scaleY(0.00) ;
	}
	20% {
	transform: scaleX(1.00) scaleY(1.00) ;
	}
	
	50% {
	transform: scaleX(1.00) scaleY(1.00) ;
	}
	
	80% {
	transform: scaleX(2.00) scaleY(2.00) ;
	}
	
	100% {
		
	opacity: 0;
	}
}
@keyframes logoAnimate2nd{
	0% {
	transform: scaleX(0.00) scaleY(0.00) ;
	
	}
	
	
	100% {
	transform: scaleX(1.00) scaleY(1.00) ;	
	
	}
}




#gnav{
	position: fixed;
	right: 0;
	top:0;
	z-index: 9;
	text-align: center;
	padding-top: 52px;
	/*
	width: 100%;
	*/
	/*
	background-color: rgba(255,255,255,0.96);
	text-align: right;
	*/
	-webkit-box-shadow: 0px 1px 1px 0px rgba(0,0,0,0.05);
	-moz-box-shadow: 0px 1px 1px 0px rgba(0,0,0,0.05);
	box-shadow: 0px 1px 1px 0px rgba(0,0,0,0.05);
	
	    background-color: transparent;
	
}
#gnav:hover{
}
#gnav .menu{
	display: none;
}
#gnav li{
	/*
	display: inline-block;
	*/
	display: block;
	line-height: 3.6;
	border-bottom: 1px rgba(0,0,0,0.47) solid;
}
#gnav li a{
	display: block;
	padding:0 3.0em;
	background-color: rgba(0,0,0,0.50);
	color: #FFF;
}
#gnav li a:hover,
#gnav li a:active,
#gnav li a:focus{
	text-decoration: none;
	background-color: rgba(0,0,0,0.70);
	outline: none;
}
#gnav li.active a{
	color:#666;
	text-decoration: none;
	background-color: rgba(0,0,0,0.40);
}


#menu-toggle-area {
	display:block;
	z-index:100;
	cursor: pointer;
	height: 52px;
	width: 60px;
	margin: 0;
	position: fixed;
	top: 0;
	right: 0;
	text-align: center;
	outline: none;
	box-sizing:border-box;
	padding:20px;
}
#menu-toggle {
	height: 12px;
	width: 22px;
	position:relative;
}

#menu-toggle,
#menu-toggle span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
}
#menu-toggle span {
	position: absolute;
	left: 0;
	width: 100%;
	height: 2px;
	background-color: rgba(20,104,171,0.65);
	/*
	background-color: rgba(0,0,0,0.40);
	*/
	border-radius: 2px;
}
#menu-toggle span:nth-of-type(1) {
	top: 0;
}
#menu-toggle span:nth-of-type(2) {
	top: 50%;
	margin-top:-1px
}
#menu-toggle span:nth-of-type(3) {
	bottom: 0;
}

#menu-toggle-area.active {
	
	background-color:rgba(0,0,0,0.40);
	
}

.active #menu-toggle span{
	background-color:rgba(255,255,255,0.90);
}
.active #menu-toggle span:nth-of-type(1) {
	-webkit-transform: translateY(5px) rotate(-45deg);
	transform: translateY(5px) rotate(-45deg);
}

.active #menu-toggle span:nth-of-type(2) {
	opacity: 0;
}
.active #menu-toggle span:nth-of-type(3) {
	-webkit-transform: translateY(5px) rotate(45deg);
	transform: translateY(-5px) rotate(45deg);
}



#footer{
	border-top:1px #EEE solid;
	margin:100px 0 0;
	padding:100px 0 50px;
}
#footer .inner{
	width:100%;
	max-width:980px;
	margin:0 auto;
	position:relative;
	text-align:center;
}
#footer .inner .logo{
	width:160px;
	height:auto;
	margin:0 auto;
}
#footer .inner .logo img{
	width:100%;
	height:auto;
}
#footer p.copyright{
	margin-bottom:0;
	font-size:85%;
}
#footer .footer-menu{
	margin:2em auto;
	text-align:center;
}
#footer .footer-menu li{
	display:inline-block;
}
#footer .footer-menu li a{
	display:inline-block;
	padding:0 16px 9px;
}
#pagetop {
    position: fixed;
    bottom: 0;
    right: 0;
    width: 50px;
    height: 50px;
    background: rgba(255,255,255, 0.0) url(../img/common/icon-caret-up.png) no-repeat center center;
    background-size: 20px auto;
    text-indent: -9999px;
}
#pagetop:hover{
	cursor: pointer;
}

.notfound{
	width: 90%;
	max-width: 980px;
	margin: auto;
	padding-top: 100px;
	padding-bottom:50px;
}
.second .notfound h1{
	font-size: 40px;
	color: #666;
	margin-bottom: 0.6em;
	text-align: center;
}
.second .notfound h2{
	font-size: 16px;
	color: #333;
	margin-bottom: 6em;
    text-align: center;
}



.fit{
  width: 100%;
  height: 100%;
	display: block;
}

.btn-frame{
	border: 1px solid #eeeeee;
	background-color: #FFF;
	font-size: 12px;
	position: relative;
	box-sizing:border-box;
	text-decoration: none;
	padding: 0;
	
	 -webkit-tap-highlight-color: rgba(204,204,204,0.7);
}

.btn-frame:after{
	position: absolute;
    content: "";
    top: 50%;
    right: 5%;
    transform: translateY(-50%);
    width: 7px;
    height: 12px;
    background: url(../img/common/icon-caret-blue-right-s.png) no-repeat right center;
    background-size: 100% auto;
    transition: all 0.2s;
}
.btn-frame:hover:after{
	right: 4%;
}

.btn-frame a:hover,
.btn-frame a:active,
.btn-frame a:focus{
	text-decoration: none!important;
	background-color: #efefef;
}

.btn-index{
	clear: both;
	text-align: center;
	padding: 0;
	margin: 2.4em auto;
	width: 60%;
}
.btn-index a,
.btn-frame a{
	display: block;
	padding: 1.8em 2.4em;
	
}

.btn-index a:hover{
	text-decoration: none;
	background-color: #efefef;
	transition: all 0.8s ease-out;
	/*
	border-color: #888;
	background-color: #efefef;
	background-color: #00aae1;
	*/
}

.btn-detail{
	display: block;
	text-align: center;
	padding: 1em;
	margin: auto 0;
	/*
	background-color: #efefef;
	*/
	position: relative;
}

.btn-detail:after{
	position: absolute;
    content: "";
    top: 50%;
    right: 5%;
    transform: translateY(-50%);
    width: 10px;
    height: 20px;
    background: url(../img/common/icon-caret-right.png) no-repeat right center;
    background-size: 100% auto;
    transition: all 0.2s;
}

.more-link,
.link-inline-more{
	
	font-size: 12px;
	display: inline-block;
	position: relative;
	padding-right: 2em;
	text-decoration: none;
	line-height: 3.2;
}

.more-link:after,
.link-inline-more:after{
	position: absolute;
    content: "";
    top: 50%;
    right: 5%;
    transform: translateY(-50%);
    width: 7px;
    height: 12px;
    background: url(../img/common/icon-caret-blue-right-s.png) no-repeat right center;
    background-size: 100% auto;
    transition: all 0.2s;
}
.link-inline-more:hover:after{
	right: 0;
}


.tag-news,
.tag-news ul{
	display: inline-block;
}
.tag-news li{
	background-color: #FFF;
	border:1px solid #efefef;
	border-radius: 2px;
	display: inline-block;
}
.tag-news li a{
	padding: 0 1em;
	display: block;
}
.tag-news li a:hover{
	text-decoration: none;
	background-color: #efefef;
    transition: all 0.4s ease-out;
}

/*
.tag-publicity{background-color:#e9f0f1;}
.tag-recruit{background-color:#f9f2f2;}
.tag-topics{background-color:#f6f4ef;}
*/

/*ripple effect*/
.btnRipple {
  position: relative;
  /*overflow: hidden;*/
}

.btnRipple .rp-effect {/*エフェクト*/
  position: absolute;
	display: block;
  border-radius: 50%;
	
  transform: scale(0);
  /*
	background: #00aae1;
	*/
	background: #00aae1;
	border: 1px solid #4aa3df;
	
  animation: btn-animation-ripple 0.75s;
}

@-webkit-keyframes btn-animation-ripple {
  0% {
		opacity: 0;
		-webkit-transform: scale(0);
		        transform: scale(0);
	}
	50% {
		opacity: 0.3;
	}
	100% {
		opacity: 0;
		-webkit-transform: scale(0.1);
		        transform: scale(0.1);
	}
}

@keyframes btn-animation-ripple {
  0% {
		opacity: 0;
		-webkit-transform: scale(0);
		        transform: scale(0);
	}
	50% {
		opacity: 0.3;
	}
	100% {
		opacity: 0;
		-webkit-transform: scale(0.1);
		        transform: scale(0.1);
	}
}

/*------------------------------------------------second in common*/
.second h1{
		
		font-size: 16px;
}
.second .index h1{
	margin: 3em auto;
		text-align: center;
}
.second.page h1,
.second.single h1{
	margin: 2.4em auto 1em;
	font-size: 20px;
	text-align: left;
}
/*-------------------------------------------------▲▲▲ projects / index*/



.pagerWrap {
    display: block;
    text-align: center;
	margin: 4em auto;
}
.pager {
    margin: auto;
    display: inline-block;
    border: #eeeeee 1px solid;
    font-size: 12px;
}
.pager a, .pager span {
    display: inline-block;
	margin: 0;
	
}
.pager a:hover{
    background-color: #eeeeee;
	text-decoration: none;
}
.pager span.nav-prev {
    text-align: left;
    padding: 1.8em 4em 1.7em 2em;
    border-right: #eeeeee 1px solid;
}

.pager .nav-index {
    padding: 18px 48px 17px;
}
.pager span.nav-next {
    text-align: right;
    padding: 1.8em 2em 1.7em 4em;
    border-left: #eeeeee 1px solid;
}
.pager span.no-link {
    color: #ddd;
}

.pager .nav-index {
    padding: 1.8em 4em 1.7em;
	margin-left: -4px;
    margin-right: -4px;
}
.pager span.nav-next {
    text-align: right;
    padding:  1.8em 2em 1.7em 4em;
    border-left: #eeeeee 1px solid;
}
.pager .page-num {
    display: inline-block;
	padding:1.8em 2em 1.7em;
	line-height: 1.8;
}
.pager .page-num a{
    display: inline-block;
    
	padding-right: 1.5em;
    padding-left: 1.5em;
}
.pager .page-num a:hover{
	background-color: transparent;
	color: #00aae1;
}
.pager .page-num span.current{
    display: inline-block;
	padding: 1.8em 1.5em 1.7em 1.5em;
	color: #ccc;
}


.wp-pagenavi {
    margin: auto;
    display: inline-block;
    border: #eeeeee 1px solid;
    font-size: 12px;
}
.wp-pagenavi a, .wp-pagenavi span {
    display: inline-block;
	margin: 0;
	
}
.wp-pagenavi a:hover{
    background-color: #eeeeee;
	text-decoration: none;
}
.wp-pagenavi a.previouspostslink {
    text-align: left;
    padding:  1.8em 4em 1.7em 2em;
    border-right: #eeeeee 1px solid;
	margin-right: 1em;
}

.wp-pagenavi .nav-index {
    padding: 18px 48px 17px;
}
.wp-pagenavi a.nextpostslink {
    text-align: right;
    padding: 1.8em 2em 1.7em 4em;
    border-left: #eeeeee 1px solid;
	margin-left: 1em;
}
.wp-pagenavi span.no-link {
    color: #ddd;
}
.wp-pagenavi a.nextpostslink:hover,
.wp-pagenavi a.previouspostslink:hover{
	background-color: #eeeeee;
	text-decoration: none;
}
.wp-pagenavi .nav-index {
    padding: 18px 48px 17px;
	margin-left: -4px;
    margin-right: -4px;
}
.wp-pagenavi span.nav-next {
    text-align: right;
    padding: 18px 24px 17px 48px;
    border-left: #eeeeee 1px solid;
}
.wp-pagenavi .page-num {
    display: inline-block;
	padding:18px 2em 17px;
	line-height: 1.8;
}
.wp-pagenavi a{
    display: inline-block;
    
	padding-right: 1.4em;
    padding-left: 1.4em;
}
.wp-pagenavi a.page:hover{
	background-color: transparent;
	color: #00aae1;
}
.wp-pagenavi span.current{
    display: inline-block;
    padding: 1.8em 1.5em 1.7em 1.5em;
	color: #ccc;
}

.wp-pagenavi span.nav-prev{
	border-left: #eeeeee 1px solid;
	border-right:none;
}
.wp-pagenavi .nextpostslink{
	
}

.tagWrap a:hover{
	background-color: #eeeeee;
	text-decoration: none;
}

@media screen and (max-width: 767px) {
	#header-logo-symbol{
		left: 10px;
		top:10px;
	}
	
	#gnav:hover,
	#gnav li a:hover,
	.btn-frame:hover,
	.btn-index a:hover{
	}
	.pager.wp-pagenavi{width: 100%;}
	
	.pager.wp-pagenavi .page-num {
		display: block;
		text-align: center;
		padding-right: 0;
		padding-left: 0;
		border-bottom: 1px dotted #efefef;
	}
	.pager.wp-pagenavi .prevpostslink,
	.pager.wp-pagenavi .nextpostslink{
		width: 50%;
	}
	.pager.wp-pagenavi .nextpostslink{
		border-left: 1px solid #efefef;
	}
	.pager.wp-pagenavi span.nav-next,
	.pager.wp-pagenavi span.nav-prev{
		text-align: center;
		padding-right: 2em;
		padding-left: 2em;
		border:none;
	}

}
