@charset "utf-8";

/*============================================================
                    
	1.ブラウザのリセット
					
============================================================*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}
ol, ul {
	list-style: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
header,footer,nav,article,section,aside {
	display: block;
}
input[type="button"],input[type="submit"] {
    -webkit-appearance: none;
}
body {
	background-color:#f3f3f3;
	color:#333;
	font-size: 14px;
	font-family: 'Roboto', "Lucida Grande", "Lucida Sans Unicode", "メイリオ", Meiryo, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ＭＳ Ｐゴシック", Helvetica, Arial, Verdana, sans-serif;
	line-height:1.5;
	-webkit-font-smoothing:antialiased;
	-webkit-text-size-adjust: none;
}
a { border:none; outline:none; }
a:link,
a:visited {
	color:#008FC6;
	text-decoration:none;
}
/*a:visited {
	color:purple;
	text-decoration:none;
}*/
a:hover {
	text-decoration:underline;
}
a:active {
	color:red;
	text-decoration:none;
}
img {
	-ms-interpolation-mode: bicubic;
	-webkit-backface-visibility: hidden;
}

/*============================================================
                    
	2.レイアウト
					
============================================================*/
html,body {
	height:100%;
}
#wrapper {
	width:100%;
	min-width:320px;
	min-height:100%;
	display:none;
}

/* ヘッダー
------------------------------------------------------------*/
#header {
	width:100%;
	background:#333;
}

/*ロゴ配置*/
#brand {
	float:left;
	display:table;
	width:220px;
	height:100px;
	background:#00A2E0;
}
#brand a {
	display:table-cell;
	width:100%;
	height:100%;
	text-align:center;
	vertical-align:middle;
}
#brand img {
	width:156px;
	height:46px;
}
/*グローバルナビゲーション*/
#siteNavi {
	display:block;
}
#globalNavi a {
	color:#fff;
	font-size:13px;
	letter-spacing:0.2em;
	font-weight:bold;
}
#globalNavi ul{
	display:table;
	width:100%;
}
#globalNavi li {
	display:table-cell;
	width:16.6%;
	text-align:center;
	vertical-align:middle;
}
#globalNavi ul > li > a {
	display:block;
	padding:10px 15px;
	background:#333;
	transition-property: .2s ease-in-out 0s;
		-moz-transition: .2s ease-in-out 0s;
		-webkit-transition: .2s ease-in-out 0s;
		-o-transition: .2s ease-in-out 0s;
}
#globalNavi ul > li > a:hover {
	background:#006992;
	text-decoration:none;
}
/*スマートフォン切替*/
#menuTrigger,
.spTitle,
.spMenu-close {
	display:none;
}

/* メインコンテンツ
------------------------------------------------------------*/
#container {
	margin-left:0;
	margin-right:0;
}
#contents {
	width:960px;
	margin:0 auto;
	word-wrap:break-word;
}
#loading {
	position:absolute;
	top:50%;
	left:50%;
	margin:-32px 0 0 -32px;
}
.section {
	clear:both;
	width:100%;
	margin-bottom:20px;
}
.inner {
	padding:20px;
}
.inner p {
	margin-top:1em;
}
.col1, .col2, .col3, .colHalf {
	float:left;
	margin:10px 10px;
	background:#fff;
}
.col1 {
  width:300px;
}
.col2 {
	width:620px;
}
.col3 {
	width:940px;
}
.colHalf {
	width:460px;
}
.line.col1, .line.col2, .line.col3 {
	width:940px;
}
.line .entryImage {
	float:left;
	padding:20px;
}
.line .entryBody {
	overflow:hidden;
}
.line footer {
	clear:both;
	margin:20px;
}
/*各記事の包括ブロック*/
.itemBox {
	padding:0 0 10px;
	position:relative;
	margin:0 auto !important;
}
/*各ボックス*/
.item header {
	min-height:20px;
	position:relative;
}
.entryImage img {
	max-width:100%;
	height:auto;
	vertical-align:top;
}
.col2 .entryImage img {
}
.item .entryBody {
	padding:20px 20px 20px;
}
.item .entryTitle {
	margin-bottom:20px;
	padding-bottom:20px;
	border-bottom:1px dotted #ccc;
	font-size:114%;
}
.item .entryTitle a{
	color:#333;
}
.entryTitle a:hover {
	color:#008FC6;
	text-decoration:underline;
}
.item footer {
	background:#ddd;
}
.item .entryMore {
	text-align:center;
}
.item .entryMore a {
	display:block;
	padding:10px 20px;
	background:#888;
	color:#FFF;
	transition-property: .2s ease-in-out 0s;
		-moz-transition: .2s ease-in-out 0s;
		-webkit-transition: .2s ease-in-out 0s;
		-o-transition: .2s ease-in-out 0s;
}
.item .entryMore a:hover {
	background:#006992;
	text-decoration:none;
}
.btn a,
.btn input {
	display:inline-block;
	margin:1em 0;
	padding:10px;
	background:#00a2e0;
	border:none;
	outline:none;
	color:#fff;
	font:inherit;
	line-height:inherit;
	text-align:center;
	vertical-align:middle;
	transition-property: .2s ease-in-out 0s;
		-moz-transition: .2s ease-in-out 0s;
		-webkit-transition: .2s ease-in-out 0s;
		-o-transition: .2s ease-in-out 0s;
	-webkit-appearance: none;
}
.btn a:hover,
.btn input:hover {
	background:#006992;
	text-decoration:none;
}
/*ローカルナビゲーション*/
#localNavi h2{
	padding:0 5px 10px 25px;
	border-bottom:1px dotted #ccc;
	background:url(../img/common/ico_arrow_02.png) no-repeat 5px 0.5em;
}
#localNavi h2 a {
	color:#333;
}
#localNavi h2 a:hover {
	color:#008FC6;
}
#localNavi li {
	float:left;
	margin:10px 2em 0 0;
	padding-left:5px;
}
#localNavi li a:before {
	content:"\00bb";
	margin-right:0.2em;
}

/* フッター
------------------------------------------------------------*/
/*パンくずリスト*/
#topicPath {
	clear:both;
	width:920px;
	margin:20px auto 20px;
	padding:14px 12px;
	background:#e3e3e3;
	font-size:85%;
}
/*ページトップ*/
#pagetop {
	clear:both;
	margin-top:20px;
	font-size:12px;
	text-align:right;
}
#pagetop a:before {
	content:"▲";
}
#pagetop a {
	color:#666;
	padding:10px;
}
/*フッター*/
#footer {
	width:100%;
	clear:both;
	margin:20px auto 0;
	font-size:85%;
}
/*フッターナビゲーション*/
#footer nav {
	width:940px;
	margin:0 auto;
	background:url(../img/common/line_01.gif) repeat-x top left;
}
#footer nav ul > li {
	float:left;
	padding:15px 0 15px 10px;
	margin-right:3em;
}
/*コピーライト*/
#copyright {
	clear:both;
	padding:20px;
	color:#666;
	text-align:center;
}

/* 共通スタイル
------------------------------------------------------------*/
/*ページタイトル*/
.pageTitle {
	margin:20px 10px 10px;
	line-height:36px;
	font-size:36px;
	font-weight:900;
	letter-spacing:0.1em;
	color:#00a2e0;
}
.pageTitle span {
	display:block;
	margin-top:5px;
	font-size:14px;
	letter-spacing:0;
}
.pageTitle span:before {
	content:"-";
	margin-right:5px;
}
.pageTitle span:after {
	content:"-";
	margin-left:5px;
}

/*見出しタイトル*/
.title01 {
	margin:0 0 30px 0;
	padding:10px 0 10px 15px;
	border-left:10px solid #00A2E0;
	font-size:150%;
	font-weight:bold;
}
.title02 {
	margin:0 0 30px 0;
	padding:15px 0 0 0;
	background:url(../img/common/bg_title02.png) no-repeat top left;
	font-size:128%;
	font-weight:bold;
}
.col1 .title02 {
	background:url(../img/common/bg_title02s.png) no-repeat top left;
}

.title03 {
	margin:0 0 30px 0;
	padding:0px 0 0px 10px;
	border-left:8px solid #00A2E0;
	font-size:128%;
	font-weight:bold;
}

/*レイアウト*/
.graphSpace01,
.graphSpace02,
.graphSpace03,
.graphSpaceHalf {
	float:left;
	width:100%;
	margin:0 10px 20px;
}
.graphSpace01,
.graphSpace01 .graphBar img {
	max-width:280px;
}
.graphSpace02,
.graphSpace02 .graphBar img{
	max-width:580px;
}
.graphSpace03,
.graphSpace03 .graphBar img{
	max-width:880px;
}
.graphSpaceHalf,
.graphSpaceHalf .graphBar img{
	max-width:430px;
}

.graphBar,
.graphCircle {
	text-align:center;
}

.graphBar img,
.graphCircle img {
	height:auto !important;
}
.graphBar img {
	max-width:280px;
}
.graphCircle img {
	max-width:220px;
}

/*リンク*/

/*注意書き*/
.caution {
	display:block;
	padding-left:1em;
	color:#666;
	font-size:85%;
	text-indent:-1em;
}

/*ツールチップ*/
#tooltip {
    color: #fff;
    background: #111;
	border-radius:4px;
    position: absolute;
    z-index: 100;
    padding: 15px;
}
#tooltip::after {
	width: 0;
	height: 0;
	border-left: 10px solid transparent;
	border-right: 10px solid transparent;
	border-top: 10px solid #111;
	content: '';
	position: absolute;
	left: 50%;
	bottom: -10px;
	margin-left: -10px;
}
#tooltip.top::after {
	border-top-color: transparent;
	border-bottom: 10px solid #111;
	top: -20px;
	bottom: auto;
}
#tooltip.left::after {
	left: 10px;
	margin: 0;
}
#tooltip.right::after {
	right: 10px;
	left: auto;
	margin: 0;
}

/* CSS調整スタイル
------------------------------------------------------------*/
/*text-align*/
.alignCenter { text-align:center !important; }
.alignRight { text-align:right !important; }
.alignLeft {text-align:left !important; }

/*magin*/
.mt0   { margin-top:0px !important; }
.mt5   { margin-top:5px !important; }
.mt10  { margin-top:10px !important; }
.mt20  { margin-top:20px !important; }
.mt30  { margin-top:30px !important; }

.mb0  { margin-bottom:0 !important; }
.mb10  { margin-bottom:10px !important; }
.mb20  { margin-bottom:20px !important; }
.mb60  { margin-bottom:60px !important; }

.ml10  { margin-left:10px !important; }
.mr10  { margin-right:10px !important; }

/*padding*/
.p10  { padding:10px !important; }
.p20  { padding:20px !important; }
.pt10  { padding-top:10px !important; }

/*list*/
.listDisc li { margin-left:1.5em; list-style:outside disc; }
.listDecimal li { margin-left:1.5em; list-style:outside decimal; }
.listDecimal .listDisc li {	list-style:outside disc !important; }
.linkList li { margin:0 0 5px 5px; padding-left:25px; background:url(../img/common/ico_arrow_02.png) no-repeat 0 0.5em; }
.spMenu li ul li { list-style:none; }
.spMenu li ul li a:before {	content:"\00bb"; margin-right:0.2em; }

/*font*/
.fontSize200 { font-size:200%; }

/*display*/
.dpBlock { display:block; }
.dpNone { display:none; }

/*overflow*/
.ofHiden { overflow:hidden; }

/*image*/
.img-responsive { max-width:100%; height:auto; }

/*separate line*/
.separate-line::before {
	content: "";
	display: block;
	width: 60px;
	height: 1px;
	margin: 30px auto;
	background-color: #666;
}
.separate-line > hr { display: none;}

/*color*/
.colorRed { color:red !important; }
.colorBlue{ color:#1976D2 ;}
.bgYellow { background-color:yellow; }
.bgGray	  { background-color:#f3f3f3; }
.bgBlue	  { background-color:#E3F2FD; }

/*float*/
.floatLeft	{ float:left; }
.floatRight	{ float:right; }
.floatClear { clear:both; }

.floatImgLeft { float:left; margin:0 20px 20px 0;}
.floatImgRight { float:right; margin:0 0 20px 20px;}

/*clearfix*/
.clearfix {zoom:1;}
.clearfix:after{
    content: ""; 
    display: block; 
    clear: both;
}


/*ウィンドウサイズ1260px以上*/
@media screen and (min-width: 1260px) {
#wrapper {
	background:#f3f3f3 url(../img/common/bg_body_max.gif) repeat-y top left;
}
#brand {
	float:none;
	width:220px;
	height:200px;
}
#header {
	width:220px;
	margin:0 0;
	position:fixed;
	top:0;
	left:0;
}
#siteNavi {
	display:block !important;
}
#globalNavi ul{
	float:none;
	width:width;
	margin:0 0 0 0;
	border-top:none;
	display:block;
}
#globalNavi ul > li {
	width:220px;
	display:block;
	text-align:left;
}
#globalNavi ul > li > a {
	border-bottom:1px dotted #444;
	padding:12px 30px 12px 15px;
	background:#333 url(../img/common/ico_arrow_01.png) no-repeat 205px center;
}
#globalNavi ul > li > a:hover {
	background:#006992 url(../img/common/ico_arrow_01.png) no-repeat 205px center;
	text-decoration:none;
}
#globalNavi ul > li#naviContact,
#globalNavi ul > li#naviHome {
	display:inline-block;
	width:auto;
}
#globalNavi ul > li#naviContact > a,
#globalNavi ul > li#naviHome > a {
	display:inline-block;
	margin:20px 0 10px 15px;
	padding:0;
	border-bottom:none;
	background:none;
	color:#ccc;
	font-size:87%;
}
#globalNavi ul > li#naviHome::before {
	content:"/";
	color:#ccc;
	margin-left:10px;
}
#globalNavi ul > li#naviContact > a:hover,
#globalNavi ul > li#naviHome > a:hover {
	opacity:.75;
}

#container {
	margin-left:260px;
	margin-right:40px;
}
#contents{
	width:960px;
}
#footer {
	width:940px;
}
#topicPath {
	width:920px;
}
}

/*ウィンドウサイズ960px以上1259px未満*/
@media screen and (max-width: 1259px)and (min-width: 960px) {
#header {
	background:#00A2E0;
}
#header-inner {
	width:940px;
	margin:0 auto;
	position:relative;
	overflow:hidden;
}
#brand {
	float:none;
	height:80px;
}
#siteNavi {
	display:block !important;
}
#globalNavi li:first-child {
	width:17.5%;
}
#globalNavi ul > li > a:hover {
}
#globalNavi ul > li#naviContact,
#globalNavi ul > li#naviHome {
	position:absolute;
	top:0;
	width:152px;
}
#globalNavi ul > li#naviContact {
	right:0;
}
#globalNavi ul > li#naviHome {
	right:154px;
	width:100px;
}
#globalNavi ul > li#naviContact > a,
#globalNavi ul > li#naviHome > a {
	padding:10px 10px;
	text-align:center;
	font-size:87%;
	letter-spacing:.1em;
}
#globalNavi ul > li#naviHome > a,
#globalNavi ul > li#naviContact > a {
	background-color:rgba(0,0,0,.25);
	color:#f3f3f3;
}
#globalNavi ul > li#naviContact > a:hover,
#globalNavi ul > li#naviHome > a:hover {
	padding:15px 10px 10px;
	background-color:rgba(0,0,0,.4);
}

}

/*ウィンドウサイズ960px以上*/
@media screen and (min-width: 960px) {
#globalNavi ul li {
	float:none;
	height:auto;
}
#globalNavi ul > li:not(#naviContact):not(#naviHome) > a::after {
	display:block;
	font-size:12px;
	font-weight:normal;
	color:rgba(256,256,256, .45);
	letter-spacing:1px;
}
#globalNavi ul > li#naviService > a::after { content:"Service"; }
#globalNavi ul > li#naviInsight > a::after { content:"Insight";}
#globalNavi ul > li#naviResults > a::after { content:"Results";}
#globalNavi ul > li#naviCompany > a::after { content:"Company";}
#globalNavi ul > li#naviPress > a::after { content:"Press Room";}
#globalNavi ul > li#naviRecruit > a::after { content:"Recruit";}

}

/*ウィンドウサイズ640px以上960px未満*/
@media screen and (max-width: 959px)and (min-width: 640px) {
#contents {
	width:640px;
}
.col3 {
	width:620px;
}

#topicPath {
	width:600px;
}
#footer nav {
	width:620px;
	margin:0 auto;
}
.graphSpace01,
.graphSpace01 .graphBar img {
	max-width:270px;
}
.graphSpace02,
.graphSpace03,
.graphSpaceHalf {
	float:none;
	max-width:599px;
	margin:0 0 20px;
}
.graphSpace03 .graphBar img,
.graphSpaceHalf .graphBar img {
	width:100%;
	max-width:599px;
}

}
/*ウィンドウサイズ960px未満*/
@media screen and (max-width: 959px) {
#header {
	position:static;
	width:100%;
	margin:0;
	background:#00A2E0;
}
#header-inner {
	width:100%;
	margin:0;
}
#brand {
	float:none;
	width:156px;
	height:66px;
	margin:0 auto;
}
#brand a {
}
#siteNavi {
	display:none;
}
/*タップによるメニュー設定*/
body.bgLock {
	width:100%;
	height:100%;
	overflow:hidden;
	z-index:0;
}
#menuTrigger {
	display:block;
	position:fixed;
	top:0;
	right:0;
	z-index:9;
}
#menuTrigger a {
	display: block;
	width: 66px;
	height: 66px;
	position: relative;
	background:#00a2e0;
  	color:#fff;
}
#menuTrigger a::before{
	display: block;
    content: '';
    width: 30px;
    height: 2px;
    background-color: #fff;
    box-shadow: 0 10px #fff, 0 20px #fff;
    position: absolute;
    top: 22px;
    left: 20px;
}
#menuTrigger a:hover {
	text-decoration:none;
}
#siteNavi {
	display:none;
	position:fixed;
	top:0;
	right:0;
	bottom:0;
	left:0;
	/*background-color:rgba(0,0,0,.85);*/
	background-color:#333;
	z-index:10;
	padding-top:66px;
	/*transform:translateX(100%);
	transition:transform .5s;*/
}
#siteNavi.active {
	/*transform:translateX(0);*/
}
.spTitle {
	display:block;
	position:absolute;
	top:0;
	left:0;
	padding:0 86px 0 20px;
	line-height:66px;
  	color:#fff;
}
.spMenu-close {
	display:block;
	position:absolute;
	top:0;
	right:0;
}
.spMenu-close a {
	display:block;
	width: 66px;
	height: 66px;
	position: relative;
	background:#666;
  	color:#fff;
	font-size:36px;
	text-align:center;
	text-decoration:none;
	line-height:66px;
}
#globalNavi {
    width: 100%;
    height: 100%;
}
#globalNavi ul {
	width:100%;
	height:100%;
	border-top:1px solid rgba(255,255,255,.75);
	border-left:1px solid rgba(255,255,255,.75);
	margin:0 0 0 0;
	overflow:hidden;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing:border-box;
}
#globalNavi ul li {
	float:left;
	display:table;
	width:50% !important;
	height:25%;
}
#globalNavi ul > li > a {
	display:table-cell;
	vertical-align:middle;
	padding:0;
	border-right:1px solid rgba(255,255,255,.75);
	border-bottom:1px solid rgba(255,255,255,.75);
	background:none;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing:border-box;
}
#globalNavi ul > li > a:hover {
	background-image:none;
}

.colHalf,
.line.col1 {
  width:300px;
}
.line.col1 .entryImage {
	float:none;
	padding:0;
}
.line.col1 footer {
	margin:0;
}
.line.col2,
.line.col3 {
	width:620px;
}

}

/*ウィンドウサイズ640px未満*/
@media screen and (max-width: 639px) {
/*コンテンツを1カラムにする設定*/
#container {
	clear:both;
	width:100%;
}
#contents {
	width:100%;
}
.col1, .col2, .col3, .colHalf,
.line.col1, .line.col2, .line.col3 {
	float:none;
	width:94%;
	margin:0 3% 10px;
}
.line.col2 .entryImage,
.line.col3 .entryImage {
	float:none;
	padding:0;
}

#topicPath {
	display:none;
}
#footer nav {
	width:100%;
	margin:0 0;
}
#copyright {
	text-align:center;
}
#pagetop {
	clear:both;
	margin-bottom:20px;
	text-align:center;
}
#pagetop a {
	display:block;
	background:#ddd;
	color:#666;
}
.pageTitle {
	margin:20px 10px 20px;
}
.btn { text-align:center;}
.btn a {
	clear:both;
	margin:1em auto !important;
}
.title02 {
	background:url(../img/common/bg_title02s.png) no-repeat top left;
}
.floatImgLeft { float:none; margin:0 0 20px 0;}
.floatImgRight { float:none; margin:0 0 20px 0;}

.floatImgLeft img,
.floatImgRight img {
	width:100%;
	max-width:600px;
	height:auto;
}
/*ローカルナビゲーション*/
#localNavi .inner {
	padding:0;
}
#localNavi h2{
	padding:0 0 0 0;
	border-bottom:none;
	background:none;
	position:relative;
}
#localNavi h2 a {
	display:block;
	padding:15px 1em 15px 1em;
	color:#008FC6;
}
#localNavi li {
	float:none;
	margin:0 0 0 0;
	padding-left:0;
	border-top:1px dotted #ccc;
	position:relative;
}
#localNavi li a {
	display:block;
	padding:15px 2em 15px 1em;
}
#localNavi li a:before {
	
}
#localNavi h2 a:after,
#localNavi li a:after {
	content:"＞";
	color:#008FC6;
	font-weight:bold;
	position:absolute;
	right:5px;
	top:center;
}
#localNavi h2 a:hover,
#localNavi li a:hover {
	background:#E7F5F3;
}

.spMenu li {
	position:relative;
	list-style:none;
	margin-left:0;
}
.spMenu li a,
.spMenu li span {
	display:block;
	background:#eee;
	margin-bottom:1px;
	padding:15px 2em 15px 1em;
}
.spMenu li a:after {
	content:"＞";
	color:#008FC6;
	font-weight:bold;
	position:absolute;
	right:5px;
	top:center;
}
.spMenu li ul li a {
	background:#fafafa;
}
.spMenu a:hover {
	background:#E7F5F3;
}
.spHide {
	display:none !important;
}
/*フッターメニュー*/
#footer nav ul > li {
	margin-right:1em;
}
.graphSpace01,
.graphSpace02,
.graphSpace03,
.graphSpaceHalf {
	float:none;
	max-width:599px;
	margin:0 0 20px;
}
.graphSpace01 .graphBar img,
.graphSpace02 .graphBar img,
.graphSpace03 .graphBar img,
.graphSpaceHalf .graphBar img,
.graphCircle img {
	width:100%;
	max-width:599px;
}


}

/*印刷*/
@media print {
body {
    -webkit-print-color-adjust: exact;
}
#header {
	background:#00A2E0;
}
#header-inner {
	width:940px;
	margin:0 auto;
	position:relative;
	overflow:hidden;
}
#brand {
	float:none;
	margin-right:auto;
	margin-left:auto;
	height:80px;
}
#siteNavi,
#pagetop,
#topicPath,
#footer nav {
	display:none;
}
}

/*IE10*/
@-ms-viewport{
	width: device-width;
}
