@charset "utf-8";
/*========================================================================

	トップページ index.html

========================================================================*/
#bodyArea { width: 100%; }
/* メインビジュアル*/
#imageBlock { height: auto; padding: 0; margin-bottom: 50px; }
#imageBlock img { width: 100%; }
#imageBlock .bx-wrapper { margin: 0; -moz-box-shadow: none; -webkit-box-shadow: none; box-shadow: none; border: none; }
#imageBlock .bx-controls-direction { display: none; }
#imageBlock img.ttl{position: absolute; top:0;}
/* セクションコンテンツ　*/
#bodyArea section { max-width: 960px; margin: 0 auto 30px; }
#bodyArea section h2 { text-align: center; font-size: 20px; margin: 1em 0 2em; }
#bodyArea .sectionWrp { background-color: #f2efeb; }
#bodyArea .sectionWrp section { padding: 40px 0; }
#home #contentsBlock { width: 100%; max-width: inherit; padding: 30px 0 0; }
#contentsBlock a { text-decoration: none; color: #333; }
#contentsBlock a:hover { text-decoration: underline; }
/* サービス紹介　*/
#con01_service { padding: 0 0 70px; }
#con01_service div a { display: block; position: relative; float: left; width: 19.7%; margin-right: 0.2%; text-decoration: none; }
#con01_service div a:last-child { margin-right: 0; }
#con01_service dl dt img { width: 100%; height: auto; }
#con01_service dl dd { position: absolute; top: 0; left: 0; width: 100%; height: 100%; text-align: center; }
#con01_service dl dd:before { content: ''; display: inline-block; height: 100%; vertical-align: middle; margin-right: -0.25em; }
#con01_service dl dd span { display: inline-block; padding-top: 20px; color: #fff;}
#con01_service a dl { position: relative; }
#con01_service a dl:after { position: absolute; content: ""; display: block; top: 70%; left: 48%; width: 6px; height: 6px; border-top: 2px solid #fff; border-right: 2px solid #fff; -webkit-transform: rotate(45deg); transform: rotate(45deg); background-image: none; }
#con01_service a.half dl:after{top:79%;}

#con01_service div a.wide{width:99.3%; margin-bottom: 48px; font-size: 26px;}
#con01_service div a.wide strong.icon,
#con01_service div a.half strong.icon{display: inline-block; margin-bottom:10px; padding:3px; background:#fff; font-size: 16px;color:#00428c; text-shadow: none;}

#con01_service div a.half{width:48.3%; margin-bottom: 48px; font-size: 22px; text-shadow: 0px 0px 10px #000000; }

#con01_service div a.half em{font-family: "ヒラギノUD角ゴ W6 JIS2004","Hiragino UD Sans W6 JIS2004"; font-style: normal;}


/* Effect1
 *************************************** */
/* 擬似要素の共通スタイル */
#con01_service div a dt:after,
#con01_service div a dt:before,
#con01_service div a:after,
#con01_service div a:before {
  background-color: #fff;
  content: '';
  display: block;
  position: absolute;
  z-index: 10;
  -webkit-transition: all .3s;
  transition: all .3s;
}
#con01_service div a:hover dt img{
  -webkit-transition: all .3s ease;
  transition: all .3s ease;
}
/* 左上へ配置 */
#con01_service div a dt:after{
    height: 1px;
    left: 6px;
    top: 6px;
    width: 0px;
}
/* 右下へ配置 */
#con01_service div a dt:before {
  bottom: 6px;
  height: 1px;
  right: 6px;
  width: 0px;
}
/* 左下へ配置 */
#con01_service div a:after {
  bottom: 7px;
  height: 0px;
  left: 6px;
  width: 1px;
}
/* 右下へ配置 */
#con01_service div a:before {
  height: 0px;
  right: 6px;
  top: 6px;
  width: 1px;
}
/* hover */
#con01_service div a:hover dt img{opacity:0.8;}
#con01_service div a:hover dt:after,
#con01_service div a:hover dt:before {
  width: 93.5%;
}
#con01_service div a:hover:after,
#con01_service div a:hover:before {
  height:92.5%;
  transition-delay:0.15s;
}
/* hover */
#con01_service div a.wide:hover dt:after,
#con01_service div a.wide:hover dt:before{
  width: 98.6%;
}
#con01_service div a.half:hover dt:after,
#con01_service div a.half:hover dt:before {
  width: 97.5%;
}
#con01_service div a:hover:after,
#con01_service div a:hover:before {
  height:93.5%;
}

/*　一覧へ */
.toList { text-align: center; margin-top: 2em; }
.toList a{position:relative; padding-left:16px;}
.toList a::before {
    position: absolute;
    content: "";
    display: block;
    top: 0.25em;
    left: 0;
    width: 6px;
    height: 6px;
    border-top: 2px solid #0062a0;
    border-right: 2px solid #0062a0;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    background-image: none;
}
/* オピニオン　*/
#con02_opinion span.new {
	position: absolute;
    display: inline-block;
    background-color: #c0392b;
    color: #fff;
    line-height: 1;
    padding: 2px 3px;
    font-size: 12px;
	top: 0;
    left: 42%;
    margin-top: 0;
}
@media all and (-ms-high-contrast:none){
	#con02_opinion span.new{
	padding: 0 3px;
	}
}

#con02_opinion .alignC { width: 80%; margin: 0 auto 30px; }
#con02_opinion ul { border-left: dotted 1px #999; }
#con02_opinion ul li { position: relative; display: table-cell; box-sizing: border-box; width: 25%; border-right: dotted 1px #999; text-align: center; padding: 20px 10px; text-decoration: none; }
#con02_opinion h3 { margin-bottom: 0.5em; font-weight: normal; font-size: 21px; }
#con02_opinion a:hover{text-decoration:none;}
#con02_opinion a:hover p{text-decoration:underline;}

.con02-01 h3 { color: #00428d; }
.con02-02 h3 { color: #ff6765; }
.con02-03 h3 { color: #27ae60; }
.con02-04 h3 { color: #9966d4; }
.con02-05 h3 { color: #48abc4; }
#con02_opinion ul li a { position: relative; }
#con02_opinion ul li span { display: inline-block; margin-top: 1em; color: #666; }
#con02_opinion ul li a::after { position: relative; content: ""; display: block; bottom: -17px; left: 48%; width: 6px; height: 6px; border-top: 2px solid #0062a0; border-right: 2px solid #0062a0; -webkit-transform: rotate(45deg); transform: rotate(45deg); background-image: none; }
/* 実績　*/
#con03_works { padding: 20px 0 60px; }
#con03_works ul li { position: relative; display: table-cell; vertical-align: middle; box-sizing: border-box; width: 19.58%; float: left; height: 190px; margin-right: 0.52%; text-align: center; text-decoration: none; }
#con03_works ul li:last-child { margin-right: 0; }
#con03_works ul li a { display: block; width: 100%; height: 100%; line-height: 1.25; font-size: 14px; background: #e1e1dc; /* Old browsers */ background: -moz-linear-gradient(top, #e1e1dc 0%, #f5f5f0 100%); /* FF3.6+ */ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #e1e1dc), color-stop(100%, #f5f5f0)); /* Chrome,Safari4+ */ background: -webkit-linear-gradient(top, #e1e1dc 0%, #f5f5f0 100%); /* Chrome10+,Safari5.1+ */ background: -o-linear-gradient(top, #e1e1dc 0%, #f5f5f0 100%); /* Opera 11.10+ */ background: -ms-linear-gradient(top, #e1e1dc 0%, #f5f5f0 100%); /* IE10+ */ background: linear-gradient(to bottom, #e1e1dc 0%, #f5f5f0 100%); /* W3C */ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e1e1dc', endColorstr='#f5f5f0', GradientType=0 ); /* IE6-9 */
}
#con03_works ul li img { display: block; margin: 12px auto; max-width: 50%; max-height: 50%; /* box-shadow */
box-shadow: 2px 1px 9px -2px #000000; -moz-box-shadow: 2px 1px 9px -2px #000000; -webkit-box-shadow: 2px 1px 9px -2px #000000; }
#con03_works ul li .new { display: inline-block; position: absolute; top: 3px; right: 3px; background-color: #c0392b; padding: 1px 3px; color: #fff; font-size: 12px; }
#con03_works ul li img+span em { font-style: normal; }
#con03_works ul li a:after { content: ""; display: block; height: 0; width: 6px; height: 6px; border-top: 2px solid #0062a0; border-right: 2px solid #0062a0; -webkit-transform: rotate(45deg); transform: rotate(45deg); position: absolute; bottom: 6%; left: 48%; z-index: 10; }
#con03_works ul li a:hover { background: #172d78; text-decoration: none; }
#con03_works ul li a:hover span { color: #fff; }
#con03_works ul li a:hover:after { border-color: #fff; }
/* ニュース　*/
#bodyArea .sectionWrp #con04_news { margin-bottom:0; }
#con04_news dl { border-top: solid 1px #999; border-bottom: solid 1px #999; }
#con04_news dt { width: 8.5em; padding: 1em 0; display: table-cell; }
#con04_news dd { padding: 0 0 1em 10em; border-bottom: dotted 1px #999; margin-top: -2.5em; }
#con04_news dd:last-child { border: none; }
#con04_news dd a { position: relative; }
#con04_news dd a::before { position: absolute; content: ""; display: block; top: 0.5em; left: -14px; width: 6px; height: 6px; border-top: 2px solid #0062a0; border-right: 2px solid #0062a0; -webkit-transform: rotate(45deg); transform: rotate(45deg); background-image: none; }
#con04_news dd .new { display: inline-block; color: #fff; background-color: #c0392b;     line-height: 1;
    padding: 2px 3px;
    font-size: 12px;}

/*******************************************************************

	Tablet版

*******************************************************************/
@media only screen and (min-width:641px) and (max-width:976px){
	#con01_service .half dl dd span{font-size:17px;}
	#con01_service div a:hover dt::after, #con01_service div a:hover dt::before{width: calc(91.5% + 1px);}
	#con01_service div a:hover::after, #con01_service div a:hover::before{    height: calc(92%);}
}

/*******************************************************************

	SP版

*******************************************************************/
@media only screen and (max-width: 640px) {
#contentsBlock { padding: 0; }
#bodyArea .sectionWrp section { padding: 20px 0; }
/* メインビジュアル*/
.bx-viewport{overflow: visible !important;}
#imageBlock{font-size: inherit;}
#imageBlock h1 { margin: 0; }
#imageBlock li{width:100%; overflow:hidden;}
#imageBlock a{display: block; overflow: hidden;}
#imageBlock img { max-width:inherit; 
    /*width:108%; margin-left:-4%;*/
	}
#imageBlock img.ttl{width: 160%;
    margin-top: -30px;
    margin-left: -30%;}

#imageBlock .sp-dsp-block{
	background-color:#00428d;
	color:#fff;
	padding:15px;
	font-size:20px;
}
#imageBlock #n20160725 img {
	margin-left:-80%;
}
/*　一覧へ */
.toList { padding-right: 10px; margin-top: 0; }
/* サービス紹介　*/
#bodyArea section h2 { margin: 0.6em; }
#con01_service { padding: 0; }
#con01_service div a { float: none; width: 100%; padding: 0; border-bottom: solid 1px #666; height: auto; background: none; text-align: left; }
#con01_service div a:first-child { border-top: solid 1px #666; }
#con01_service div dl dt img { width: 19.5%; }
#con01_service div .wide dl dd,
#con01_service div .half dl dd{left:15%;}
#con01_service div .wide dl dt img,
#con01_service div .half dl dt img{width:100%;}
#con01_service div a.wide,
#con01_service div a.half{width:100%; margin-bottom: 0; color:#fff; font-size: 16px;}
#con01_service div a.half{height: 80px;}
#con01_service .half dl dd:before{height:80px;}

#con01_service a.wide dl:after{top:45%; left:3%;}
#con01_service a.half dl:after{top:40px; left:3%;}
#con01_service div a.wide strong.icon,
#con01_service div a.half strong.icon{font-size: 12px; margin-right: 5px;}
#con01_service div dl dd { text-align: left; left: 23%; }
#con01_service div dl dd span { background: none; color: inherit; visibility: visible !important; opacity: 1 !important; }
#con01_service div dl a::after { position: absolute; content: ""; display: block; top: 43%; right: 10px; left: inherit; width: 6px; height: 6px; border-top: 2px solid #0062a0; border-right: 2px solid #0062a0; -webkit-transform: rotate(45deg); transform: rotate(45deg); background-image: none; }
#con01_service div .half dl dd span{padding-left:60px; padding-top:15px;}
#con01_service div a.half strong.icon{position: absolute; top:25px; left:-10px;}
#con01_service div a dt::after,
#con01_service div a dt::before,
#con01_service div a::after,
#con01_service div a::before {
  background-color: transparent;}
/* オピニオン　*/
#con02_opinion .alignC { text-align: left !important; }
#bodyArea .sectionWrp { background: none; }
#con02_opinion ul { background-color: #f2efeb; }
#con02_opinion ul li:first-child { border-top: dotted 1px #999; }
#con02_opinion ul li { display: table; width: 100%; padding: 20px 5px; border-right: none; border-bottom: dotted 1px #999; text-align: left; }
#con02_opinion ul li a { display: block; position: relative; }
#con02_opinion ul li a h3 { display: table-cell; width: 4.5em; vertical-align: middle; padding-left: 10px; }
#con02_opinion ul li a p { display: table-cell; vertical-align: middle; padding-right: 20px; }
#con02_opinion ul li a::after { position: absolute; top: 43%; left: auto; right: 10px; }
#con02_opinion ul li span { margin-top: 0.1em; }
#con02_opinion span.new{top:25px; left:15px;}
/* 実績　*/
#con03_works { padding: 20px 0 20px; }
#con03_works ul li { width: 48%; margin-left: 1.2%; margin-bottom: 1.2%; }
/* ニュース　*/
#con04_news dl { padding: 0 10px; background-color: #f2efeb;}
#con04_news dt { display: block; padding-bottom: 0.2em; }
#con04_news dd { margin: 0; padding: 0 20px 20px; border-bottom: dotted 1px #999; }
/* ブレーンセンターの本　*/
#bodyArea #bcbook h2 { text-align: center; }
#bcbookLink { margin-top: 0; float: none; }
#bcbookLink p { text-align: center; }
#bcbook h3 { width: 95%; margin: 2em auto; text-align: center; }
#bcbook ul#recommend li { width: 50%; margin-bottom: 2em; }
#bcbook ul#recommend li a img { max-width: 100%; }
#bodyArea ul.linkList li { margin-left: 2.5%; }
}
