@charset "utf-8";

@import url(http://fonts.googleapis.com/earlyaccess/notosansjapanese.css);


/*---------- set ----------*/
* {
border:0;
margin:0;
outline:0;
padding:0;
-webkit-box-sizing:border-box;
-moz-box-sizing:border-box;
-ms-box-sizing:border-box;
-o-box-sizing:border-box;
box-sizing:border-box;
font:inherit;
font-family:inherit;
font-size:100%;
font-style:inherit;
font-weight:inherit;
text-decoration:none;
vertical-align:baseline;
}

html {width:100%; height:100%;}

body {
/*font-size:10px;
font-size:1.0rem;
line-height:1;*/
position:relative;
-webkit-text-size-adjust:100%;
-moz-text-size-adjust:100%;
-ms-text-size-adjust:100%;
-o-text-size-adjust:100%;
text-size-adjust:100%;
-webkit-font-smoothing:antialiased;
font-smoothing:antialiased;
-moz-osx-font-smoothing:grayscale;
width:100%;
height:100%;
}

article, aside, dialog, figure, footer, header, main, menu, nav, section {display:block;}
audio, canvas, video {display:inline-block;}

br,
hr {display:block;}

ol,
ul {list-style:none;}

blockquote, q {quotes:none;}
blockquote:before, blockquote:after, q:before, q:after {content:''; content:none;}

input,
select {vertical-align:middle;}

table {border-collapse:collapse; border-spacing:0; empty-cells:show;}


/*---------- common ----------*/

html,body{
	margin:0;padding:0;background:transparent;
}

body {
	background: #FFFFFF;
	font-size: 16px;
	font-family: 'Noto Sans Japanese','Quicksand', sans-serif,'メイリオ';
	font-weight: 200;
	color: #0F0F0F;
	line-height: 2.2em;
    -webkit-text-size-adjust: 100%;
}

.clearfix:after {  
    visibility: hidden;  
    display: block;  
    font-size: 0;  
    content: " ";  
    clear: both;  
    height: 0;  
}

* html .clearfix             { zoom: 1; } /* IE6 */  
*:first-child+html .clearfix { zoom: 1; } /* IE7 */  

.clear {
	clear: both;
	margin: 0;
	padding: 0;
	width: 0;
	height: 0;
    visibility: hidden;  
    display: block;  
    font-size: 0;  
    content: "";  
	line-height: 0em;
}

a { color: #04509A; 
	text-decoration: none; outline: none; 
	transition: all 0.3s ease;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
}
a:hover	{ color: 5C8DBD; text-decoration: underline; outline: none; }

.mb0 { margin-bottom: 0px !important }
.mb5 { margin-bottom: 5px !important }
.mb10 { margin-bottom: 10px !important }
.mb20 { margin-bottom: 20px !important }
.mb30 { margin-bottom: 30px !important }
.mb40 { margin-bottom: 40px !important }
.mb50 { margin-bottom: 50px !important }
.mb60 { margin-bottom: 60px !important }
.mb70 { margin-bottom: 70px !important }
.mb80 { margin-bottom: 80px !important }
.mb90 { margin-bottom: 90px !important }
.mb100 { margin-bottom: 100px !important }

.caution { font-size: 90%; text-indent: -1em; padding-left: 1.3em; line-height: 1.6em; }
.caption { font-size: 80%; }
.txtR { text-align: right; }
.txtC { text-align: center; }
.red { color: #C3111F; }


#body-inner {
}

#body-inner.nav-is-visible {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
}

#wrapper {
}

#warpper img {
	width: 100%;
	height: auto;
	}

sup {
	font-size: 11px;
	line-height: 2;
	vertical-align: super;
	margin-right: 5px;
	}

select {
    -webkit-appearance: button;
    -moz-appearance: button;
    appearance: button;
    background: url(../images/common/select_arrow.png) no-repeat;
    background-size: 30px 10px;
    background-position: right center;
    height: 40px;
    line-height: 40px;
    font-size: 15px;
    vertical-align: middle;
    border:1px solid #CCC;
    margin-bottom:5px;
	padding: 0 40px 0 20px;
	cursor: pointer;
}

@-moz-document url-prefix() { /* for firefox */
    select {
        background:none;
        background-color: #FFF;
		padding: 0 10px;
    }
    select option {
		padding: 0 20px;
    }
}

/*---------- header ----------*/
#header {
	width: 100%;
	height: 90px;
	z-index: 50;
    display: block;
    height: auto;
    position: static;
}

#header .header-top {
	width: 100%;
	height: 92px;
	opacity: 0.8;
	filter: alpha(opacity=80);
	-moz-opacity: 0.8;
	-ms-filter: "alpha(opacity=80)";
	background: url(../images/common/header_bk01.png) center top repeat-x #CBCAC9;
	position: fixed;
	top: 0;
	z-index: 51;
}
  
#header .header-top:hover.sticky {
	opacity: 1;
	filter: alpha(opacity=100);
	-moz-opacity: 1;
	-ms-filter: "alpha(opacity=100)";
	transition: all 0.5s ease;
	-webkit-transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;
}

/*#header .header-top {
	width: 100%;
	height: 92px;
	opacity: 0.8;
	background: url(../images/common/header_bk01.png) center top repeat-x #CBCAC9;
}
  
#header .header-top.sticky {
	position: fixed;
	top: 0;
	transition: all 0.5s ease;
	-webkit-transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;
	z-index: 51;
	background-image: none;
	height: 64px;
}
  
#header .header-top.sticky:hover {
	opacity: 1;
	filter: alpha(opacity=100);
	-moz-opacity: 1;
	-ms-filter: "alpha(opacity=100)";
}
*/

#header .header-top .header_in {
	position: relative;
	margin: 0 auto;
	max-width: 960px;
	overflow: hidden;
}

h1 {
	width: 196px;
	height: 40px;
	float: left;
	margin-top: 30px;
	margin-left: 5px;
}

h1 a {
	display: block;
	width: 196px;
	height: 40px;
}

#left-btn {
    display: none;
  }
  
#nav {
	float: right;
	margin-top: 32px;
	position: relative;
	z-index: 50;
	line-height: 1.0;
	font-size: 14px;
}

#nav ul {
	overflow: hidden;
	line-height: 1;
}

#nav ul li {
	float: left;
}

#nav ul li a {
	display: block;
	padding: 15px;
	color: #727071;
}

#nav ul li a:hover {
	color: #0F0F0F;
}

#nav ul li.home {
	display: none;
}

#nav ul li.inquiry {
	margin-left: 40px;
	margin-right: 5px;
}

#nav ul li.inquiry a {
	background: #727071;
	padding: 15px 20px;
	color: #FFFFFF;
}

#nav ul li.inquiry a:hover {
	background: #0F0F0F;
}


/*#header .header-top.sticky .header_in h1 {
	margin-top: 7px;
}

#header .header-top.sticky .header_in nav {
	margin-top: 9px;
}*/


/*---------- contents ----------*/
#contents {
    width: auto;
	position: relative;
}

.scroll {
	position: absolute;
	bottom: 10px;
	left: 50%;
	margin-left: -72px;
	width: 144px;
	height: 108px;
	z-index: 48;
}

.scroll img {
	opacity: 1;
	filter: alpha(opacity=100);
	-moz-opacity: 1;
	-ms-filter: "alpha(opacity=100)";
}

.scroll:hover img {
	opacity: 0.65;
	filter: alpha(opacity=65);
	-moz-opacity: 0.65;
	-ms-filter: "alpha(opacity=65)";
}

.skip {
	position: absolute;
	bottom: 40px;
	right: 5%;
	z-index: 48;
	font-size: 14px;
	font-weight: 400;
}

.skip a:after {
	content: " >>";
	color: #16529B;
}

.skip a {
	display: block;
	padding: 5px 10px;
}

.skip a:hover {
	background: #16529B;
	color: #FFFFFF;
}

.skip a:hover:after {
	color: #FFFFFF;
}



/*.breadcrumbs {
	padding: 10px 0;
	margin-bottom: 20px;
	border-bottom: 1px solid #eeeeee;
	color: #555555;
	font-size: 11px;
	line-height: 1;
}

.breadcrumbs li+li:before {content:' » ';}

.breadcrumbs ul {
	width: 980px;
	margin: 0 auto;
}

.breadcrumbs ul li {
	display: inline;
}

.breadcrumbs ul li a {
	color: #555555;
}

.breadcrumbs ul li a:hover {
	color: #CCCCCC;
}*/


#cont {
    width: 100%;
	margin: 0 auto;
	background: #DDDDDD;
  	padding-top : 0;
}

#cont01 {
    width: 100%;
	margin: 0 auto;
	background: #DDDDDD;
  	padding-top : 72px;
}

.cont_in {
    max-width: 920px;
	margin: 0 auto;
	padding: 50px 0;
}

.list_link {
	width: auto;
	text-align: right;
	margin-bottom: 10px;
}

.list_link a {
	color: #0F0F0F;
}

.list_link a:before {
	content: ">> ";
	color: #0F0F0F;
}

.list_link a:hover {
	text-decoration: underline;
	color: #16529B;
}

.list_link a:hover:before {
	color: #16529B;
}

/* /news/ */

.news {
	padding: 0;
}

.news dl {
	padding-bottom: 25px;
	margin-bottom: 25px;
	clear: both;
	display: table;
	border-bottom: solid 1px #CCCCCC;
	width: 100%;
}

.news dl dt {
	float: left;
	width: 100px;
	display: table-cell;
}

.news dl dd {
	float: left;
	width: -webkit-calc(100% - 100px);
	width: calc(100% - 100px);
	display: table-cell;
}

.news dl dd em {
	font-weight: bold;
}

.news dl dd a {
}

.news dl dd a:hover {
	text-decoration: underline;
}

.news dl dd a.out:after {
	content: "";
	width: 12px;
	height: 11px;
	display: inline-block;
	background: url(../images/common/news_icon01.png) no-repeat;
	background-size: contain;
	margin-left: 3px;
}

a.out:after {
	content: "";
	width: 12px;
	height: 11px;
	display: inline-block;
	background: url(../images/common/news_icon01.png) no-repeat;
	background-size: contain;
	margin-left: 3px;
}


/* /sc/ */
.sc_list {
	padding: 0;
}

.sc_list .index_list {
	width: 100%;
}

.sc_list .index_list ul {
	width: 100%;
	border: solid 1px #16529B;
	padding: 10px 0 0 20px;
}

.sc_list .index_list ul li {
	display: inline-block;
	margin: 0 5px 10px 0;
}

.sc_list .index_list ul li a {
	display: block;
	position: relative;
	margin: 0;
	padding: 10px 10px 10px 20px;
	line-height: 1.2em;
	line-height: 1em;
}

.sc_list .index_list ul li a:before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 3px;
	margin-top: -3px;
	border-right: 3px solid #16529B;
	border-bottom: 3px solid #16529B;
	width: 8px;
	height: 8px;
	-webkit-transform: rotate(-45deg);
	    -ms-transform: rotate(-45deg);
	        transform: rotate(-45deg);
}

.sc_list .scale_ttl {
	background: #16529B;
	margin-top: 60px;
	margin-bottom: 30px;
	color: #FFFFFF;
	padding: 0 20px;
	font-size: 18px;
	font-weight: 600;
}

.sc_list dl {
	padding-bottom: 25px;
	margin-bottom: 25px;
	clear: both;
	display: table;
	border-bottom: solid 1px #CCCCCC;
	width: 100%;
}

.sc_list dl dt {
	float: left;
	width: 170px;
	display: table-cell;
}

.sc_list dl dt img {
	width: 150px;
	max-width: 150px;
	height: auto;
}

.sc_list dl dd {
	float: left;
	width: -webkit-calc(100% - 170px);
	width: calc(100% - 170px);
	display: table-cell;
}

.sc_list dl dd em {
	font-weight: bold;
}

.sc_list dl dd a {
}

.sc_list dl dd a:hover {
	text-decoration: underline;
}

.case {
}

.case .tag {
	margin-bottom: 20px;
}

.case .tag .scale {
	display: inline-block;
	margin: 0 10px 0 0;
}

.case .tag .scale a {
	display: block;
	position: relative;
	margin: 0;
	padding: 10px 10px 10px 20px;
	line-height: 1.2em;
	line-height: 1em;
}

.case .tag .scale a:before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 3px;
	margin-top: -3px;
	border-right: 3px solid #16529B;
	border-bottom: 3px solid #16529B;
	width: 8px;
	height: 8px;
	-webkit-transform: rotate(-45deg);
	    -ms-transform: rotate(-45deg);
	        transform: rotate(-45deg);
}


.case .tag .customer {
	display: inline-block;
}

.case .summary {
	margin: 0 0 30px;
	padding: 20px 20px 0;
	border: solid 1px #16529B;
	border-radius: 5px; 
    -webkit-border-radius: 5px; 
    -moz-border-radius: 5px;
}

.case .photo {
	margin-bottom: 50px;
}


.case .report {
	margin-bottom: 50px;
}

.case .service {
	margin: 0 0 50px;
	padding: 20px 20px 0;
	background: #FDE6B5;
	border-radius: 5px; 
    -webkit-border-radius: 5px; 
    -moz-border-radius: 5px;
}

.case .service ol {
  padding: 0 0 0 2em;
  margin: 0;
  line-height: 1.6em;
}
 
.case .service ol li {
  list-style-type:none;
  list-style-position:inside;
  counter-increment: cnt;
}

.case .service ol li:before {
  display: marker;
  content: "(" counter(cnt) ") ";
}

.case .service ol li ul {
	padding-top: 10px;
	padding-bottom: 20px;
	margin-left: 50px;
}

.case .service ol li ul li {
	list-style: circle;
	counter-increment: none;
	margin-bottom: 10px;
}

.case .service ol li ul li:before {
  content: none;
}

.case .voice {
}



/*---------- page-top ----------*/
#page-top {
    position: fixed;
    bottom: 14px;
    right: 28px;
	text-indent:-9999px;
	z-index: 50;
}

#page-top a {
    text-decoration: none;
    width: 88px;
	height: 76px;
    display: block;
	opacity: 0.65;
	filter: alpha(opacity=65);
	-moz-opacity: 0.65;
	-ms-filter: "alpha(opacity=65)";
	background: url(../images/common/btn_pagetop.png) top center no-repeat;
	background-size: 100%;
}

#page-top a:hover {
	opacity: 1;
	filter: alpha(opacity=100);
	-moz-opacity: 1;
	-ms-filter: "alpha(opacity=100)";
}


/*---------- footer ----------*/

#footer {
	font-size: 12px;
	color: #FFFFFF;
}

#footer a {
	color: #FFFFFF;
	text-decoration: none;
}

#footer a:hover {
	text-decoration: underline;
}

#footer .footer_sitemap {
	width: 100%;
	margin-bottom: 20px;
	line-height: 1.2em;
	background: #16529B;
	padding: 0;
}

#footer .footer_sitemap .footer_sitemap_in {
	max-width: 920px;
	margin: 0 auto;
	padding: 50px 0;
}

#footer .footer_sitemap .footer_sitemap_in .s01 {
	float: left;
	width: 33%;
	text-align: center;
}

#footer .footer_sitemap .footer_sitemap_in .s01 .ttl {
	margin-bottom: 20px;
}

#footer .footer_sitemap .footer_sitemap_in .s01 ul {
	list-style-position: inside;
	list-style-type: disc;
	text-align: left;
	display: inline-block;
}

#footer .footer_sitemap .footer_sitemap_in .s01 ul li {
	margin-bottom: 10px;
	white-space: nowrap;
}

#footer .footer_sitemap .footer_sitemap_in .s02 {
	float: right;
	width: 34%;
	text-align: center;
}

#footer .footer_sitemap .footer_sitemap_in .s02 .ttl {
	margin-bottom: 5px;
}

#footer .footer_sitemap .footer_sitemap_in .s02 .omi {
	width: 240px;
	margin: 0 auto;
}

#footer .footer_sitemap .footer_sitemap_in .s02 .omi a {
	display: block;
	text-align: right;
}

#footer .footer_sitemap .footer_sitemap_in .s02 .omi a:hover img {
	background: #FFFFFF;
	opacity: 0.65;
	filter: alpha(opacity=65);
	-moz-opacity: 0.65;
	-ms-filter: "alpha(opacity=65)";
	text-decoration: none;
	transition: all 0.3s ease;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
}

#footer .footer_copyright {
	text-align: center;
	color: #717171;
	margin-bottom: 30px;
}

#footer .footer_copyright span {
	display: inline;
}

#footer .footer_copyright br {
	display: none;
}

