@charset "UTF-8";

/* レイアウト */
@media (min-width:769px){
	.container { max-width: 970px; }
}

.row-nosp .col-xs-1, .row-nosp .col-sm-1, .row-nosp .col-md-1, .row-nosp .col-lg-1, .row-nosp .col-xs-2, .row-nosp .col-sm-2, .row-nosp .col-md-2, .row-nosp .col-lg-2, .row-nosp .col-xs-3, .row-nosp .col-sm-3, .row-nosp .col-md-3, .row-nosp .col-lg-3, .row-nosp .col-xs-4, .row-nosp .col-sm-4, .row-nosp .col-md-4, .row-nosp .col-lg-4, .row-nosp .col-xs-5, .row-nosp .col-sm-5, .row-nosp .col-md-5, .row-nosp .col-lg-5, .row-nosp .col-xs-6, .row-nosp .col-sm-6, .row-nosp .col-md-6, .row-nosp .col-lg-6, .row-nosp .col-xs-7, .row-nosp .col-sm-7, .row-nosp .col-md-7, .row-nosp .col-lg-7, .row-nosp .col-xs-8, .row-nosp .col-sm-8, .row-nosp .col-md-8, .row-nosp .col-lg-8, .row-nosp .col-xs-9, .row-nosp .col-sm-9, .row-nosp .col-md-9, .row-nosp .col-lg-9, .row-nosp .col-xs-10, .row-nosp .col-sm-10, .row-nosp .col-md-10, .row-nosp .col-lg-10, .row-nosp .col-xs-11, .row-nosp .col-sm-11, .row-nosp .col-md-11, .row-nosp .col-lg-11, .row-nosp .col-xs-12, .row-nosp .col-sm-12, .row-nosp .col-md-12, .row-nosp .col-lg-12 {
  padding-left:0px;
  padding-right:0px;
}

/* 共通設定 */
body {
  font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック",sans-serif;
  line-height: 1.6;
  font-size: 14px;
}

/* IEのリンク画像の点線枠を削除するCSS、bootstrapを上書き */
a:focus {
	outline:none;
}


/* 背景タイプ：単色 */
.bg-blue {
  background-color: #1085D4;
  color: #fff;
}
.bg-gray {
   background-color: #dddddd;
}
.bg-lgray{
  background-color: #eee;
}
.bg-green {
   background-color: #82B982;
   color: #fff;
} 
.bg-red {
   background-color: #F17C72;
  color: #fff;
}
.bg-line {
  border-top:1px solid #ccc;
}
/* 背景タイプ：グラデーション */
.bg-grad {
  background: linear-gradient(#eee,#fff);
  background-repeat: repeat-x;
  background-size: 240px;
  position: relative;
}
.bg-grad-tri {
  border: 30px solid transparent;
  border-top: 30px solid #fff;
  content: "";
  left: 50%;
  margin-left: -30px;
  position: absolute;
  top: 0;
}
/* 背景タイプ：動画 */
.bg-video {
  overflow: hidden;
  position: relative;
}
.bg-video .container {
  color: #fff;
  position: relative;
  z-index: 2;
}
.bg-video figure {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 0;
}
.bg-video video {
  min-height: 432px;
  min-width: 768px;
  vertical-align: top;
  width: 100%;
}
.bg-video figure:before{
  background-color:rgba(0,0,0,0.5);
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 1;
}



/* 背景タイプ：画像 */
.bg-img {
	overflow:hidden;
	position:relative;	
	width:100%;
}
.bg-img .contents {
	position:relative;
	color:#fff;
}
.bg-img .contents small{
	color:#fff;
}
.bg-img figure {
	display: block;
	position: absolute;
	z-index: -1;
	width: 100%;
}
.bg-img img {
	position: relative;
	min-height: 400px;
	min-width: 600px;
	max-width: 1400px;
	display: block;
	margin-left: auto;
	margin-right: auto ;

}
.bg-img .img-filter {
	top:0;
	left:0;
	right:0;
	position:absolute;
	z-index: 1;
	height:100%;
	width:100%;
	max-width: 1400px;
	background-color:rgba(0,0,0,0.4);
	margin-left: auto;
   margin-right: auto ;
}

/* コンテナ余白設定 */
section .container {
  padding-top:54px;
  padding-bottom:54px;
}
article.no-nav section .container {
  padding-top:0;
}
@media (max-width:768px) {
  section.tiles li .icon {
    font-size:120px;
  }
  section.tiles li {
    padding:30px 0;
    border-bottom:1px dotted #999;
  }
  section.tiles li:last-child {
    border: 0px;
  }
  .container {
    padding-left:30px;
    padding-right:30px;
  }
}

/* スペーサー */
.spacer-10 {
	margin-top:10px;
}
.spacer-20 {
	margin-top:20px;
}
.spacer-30 {
	margin-top:30px;
}
.spacer-40 {
	margin-top:40px;
}
.spacer-50 {
	margin-top:50px;
}

/* 部品 */
/* タイトルタグ */
.page-header {
  border:0;
  margin-top:0.3em;
}
h1 {
  font-size: 2.4em;
  font-weight:normal;
  margin: 0.9em 0;
  letter-spacing:3px;
	line-height:1.3em;
}
h2 {
  font-size: 2.1em;
  font-weight: normal;
  margin: 0.9em 0;
  letter-spacing: 3px;
}
.ttl-ul {
  border-bottom:1px solid #888;
  padding-bottom:10px;
  margin-bottom:20px;
}
.ttl-bg {
  padding:9px 15px;
}
h3 {
  font-size: 1.5em;
  font-weight: bold;
  margin:0.9em 0;
}

@media (max-width:768px) {
  h1 {
    font-size: 1.8em;
    margin: 24px 0;
		line-height:1.3em;
  }
  h2 {
    font-size: 1.8em;
    margin: 24px 0;
  }
  h3 {
    font-size: 1.5em;
    margin:21px 0;
  }
}

/* フォントカラー */
.blue {
	color: #337AB7;
}
.red {
	color: #A94442;
}
.green {
	color: #468847;
}

p {
  line-height: 2.1em;
  margin: 6px 0;
  padding:0;
  font-size: 1em;
}
dd {
  margin-bottom: 12px;
}
@media(max-width:768px){
  dt {
    margin-bottom: 12px;
  }
  dt:not(:first-child){
    margin-top: 21px;
  }
}

/* アイコン */
.icon {
  font-family: 'FontAwesome';
  font-size:9em;
  text-align:center;
  padding:0;
  margin:0;
  line-height:100%;
}
.icon-xs {
  font-size: 1.5em;
}
.icon-sm {
  font-size: 2.4em;
}
.icon-md {
  font-size: 6em;
}
.icon-lg {
  font-size: 12em;
}

/* ボタン */
.btn {
  border:0;
  border-radius: 0;
  padding: 9px 18px;
}
.btn-lg {
  padding: 15px 24px;
}
.btn-primary {
  color:#fff;
  background:#1085D4;
}
.btn-primary:hover,
.btn-primary:focus,
.btn-primary.focus,
.btn-primary:active,
.btn-primary.active,
.open > .dropdown-toggle.btn-primary {
  color:#fff;
  background:#0F76BA;
}
.btn-success {
  color:#fff;
  background:#8CC152;
}
.btn-success:hover,
.btn-success:focus,
.btn-success.focus,
.btn-success:active,
.btn-success.active,
.open > .dropdown-toggle.btn-success {
	color:#fff;
	background:#79A847;
}
.btn-info {
	color:#fff;
	background:#29ABE0;
}
.btn-info:hover,
.btn-info:focus,
.btn-info.focus,
.btn-info:active,
.btn-info.active,
.open > .dropdown-toggle.btn-info {
	color:#fff;
	background:#2499C7;
}
.btn-warning {
	color:#fff;
	background:#F47C3C;
}
.btn-warning:hover,
.btn-warning:focus,
.btn-warning.focus,
.btn-warning:active,
.btn-warning.active,
.open > .dropdown-toggle.btn-warning {
	color:#fff;
	background:#DB7037;
}
.btn-danger {
	color:#fff;
	background:#D9534F;
}
.btn-danger:hover,
.btn-danger:focus,
.btn-danger.focus,
.btn-danger:active,
.btn-danger.active,
.open > .dropdown-toggle.btn-danger{
	color:#fff;
	backgroud-color:#BF4945;
	border-color:#B34440;
}

/* パネル */
.panel {
  border-radius: 0;
  border: 0;
  box-shadow: none;
}
.panel-heading {
  border-top: 2px solid #ddd;
  border-left: 2px solid #ddd;
  border-right: 2px solid #ddd;
  border-radius: 0;
  margin:0;
  padding-bottom:0;
}
.panel-body {
  border-left: 2px solid #ddd;
  border-right: 2px solid #ddd;
  border-bottom: 2px solid #ddd;
  margin:0;
  padding-top:0;
}
.panel-heading h3 {
  margin: 12px 0 0 0;
  padding:0;
  line-height: 150%;
  font-size:1.5em;
}
.label {
  vertical-align:middle;
  padding:3px 9px;
}

/* form */
label {
  font-weight:normal;
}
.form-control {
  border-radius: 0;
}
.control-label {
  font-weight:bold;
}

/* table */
.text-middle {
	vertical-align:middle !important;
}

/* レスポンシブ対応テーブル */
@media screen and (max-width: 767px) {
	.table-responsive {
		border:0px;
	}
	/* デフォルトnowrapが入っているので文章の場合はそれをはずす */
	.table-responsive > .table > tbody > tr > td > p {
		white-space: normal;
		min-width: 200px;
	}
}



/* header */
header .header {
  padding: 40px 0 30px 0;
}
header h1 {
  margin:0;
  padding:0;
}
header .tagline {

}
header .login {
	line-height: 50px;
}
@media (max-width:768px) {
  header {
    text-align: center;
  }
  header .header {
    padding-bottom:10px;
  }
  header .tagline {
    text-align: center;
  }
  header .login {
    text-align: center;
  }
}


/* navbar */
@media only screen and (min-width:768px) { /* PCサイト */
  ul.nav li.dropdown:hover > ul.dropdown-menu {
    display: block;
    border-radius:4px;
    margin-top:0px;
  }
}
.navbar {
  margin-bottom: 0;
  border-radius: 0;
}
.navbar-inverse {
  background: #111;
}
.navbar-ul {
  border-bottom:1px solid #555;
}
.navbar-inverse .navbar-nav {
}
.navbar-inverse .navbar-nav > li > a {
  padding-top:20px;
  padding-bottom:20px;
  color: #fff;
}
.navbar-inverse .navbar-nav > li > a:hover {
  background: #444;
}


.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus {
	color: #000;
  background-color: #ccc;
}

/* ページ見出しエリア */
.jumbotron {
  padding: 20px 0;
  margin: 0;
}
.jumbotron .container {
  box-align:center;
  text-align:center;
}
.jumbotron h1 {
  font-size: 2.4em;
  font-weight: bold;
  text-shadow: 1px 1px 1px #333;
  line-height: 150%;
  margin: 20px 0;
}
.jumbotron p {
  font-size:1.2em;
  text-shadow: 1px 1px 1px #333;
  margin: 20px 0;
}
.jumbotron .btn {
  margin: 20px 0;
}
@media(max-width:768px){
  .jumbotron {
    padding:20px 0;
  }
  .jumbotron h1 {
    font-size: 1.6em;
    margin: 15px 0;
  }
  .jumbotron p {
    font-size: 1.0em;
    margin: 15px 0;
  }
}

/* 個別セクションのデザイン */
.sec-contact h1 {
  margin-top:0;
}
.sec-client h1 {
  margin-bottom: 1.5em;
}
.sec-client li {
  margin-bottom: 30px;
}
.sec-title h1 {
  margin:0;
}

/* 価格表 */
.sec-price .panel {
  border-left-color:#666;
}
.sec-price .panel-heading {
  position:relative;
  background:#666;
  border-color:#666;
}
.sec-price .panel-primary .panel-heading{
  background-color:#1085D4;
  border-color:#1085D4;
}
.sec-price .panel-heading h3 {
  margin: 15px 0;
  color: #fff;
}
.sec-price .list-group-item .lfont {
  font-size:2.4em;
  font-weight: bold;
}
.sec-price .panel > .list-group .list-group-item {
  border-left-width:1px;
  border-right-width:1px;
}
.sec-price .list-group-item:first-child {
  padding-top:24px;
}
.sec-price .list-group-item:last-child {
  border-radius:0px;
  border-width:1px;
}
.panel > .list-group:last-child .list-group-item:last-child,
.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {
  border-bottom: 1px solid #ddd;
  border-bottom-right-radius: 0px;
  border-bottom-left-radius: 0px;
}
.sec-price .list-group-item:first-child:after {
  content: "";
  border: 10px solid transparent;
  border-top: 10px solid #666;
  position: absolute;
  left: 50%;
  margin-left: -10px;
  z-index:1;
  top:0;
}
.sec-price .panel-primary .list-group-item:first-child:after {
  border-top-color:#1085D4;
}
.sec-price .list-group small {
  font-size:0.5em;
}

/* Google Map */
#map-canvas {
  height:400px;
  width:100%;
}
@media(max-width:768px){
  #map-canvas {
    height:300px;
  }
}


/* 登録フォーム */
#regist-form {
  padding: 42px;
}

/* ログインフォーム */
#login-form {
  padding: 42px;
}
#login-form .form-group {
  position:relative;
}
#login-form .form-control {
  padding-left:48px;
}
#login-form .input-icon {
  position: absolute;
  top:0;
  left:0;
  line-height:44px;
  z-index:2;
  color: #ccc;
  text-align:center;
  display: block;
  width:44px;
  height:44x;
  margin:1px;
}
#login-form .btn-fb {
  background-color:#3b5998;
  color:#fff;
  padding-left: 25%;
  position: relative;
  text-align: left;
  margin-bottom: 12px;
}
#login-form .btn-fb .icon,
#login-form .btn-tw .icon {
  border-right: 1px solid #fff;
  float: left;
  height: 100%;
  left: 0;
  line-height: 38px;
  position: absolute;
  text-align: center;
  top: 0;
  width: 20%;
}
#login-form .btn-tw {
  background-color:#55acee;
  color: #fff;
  position: relative;
  text-align: left;
  padding-left: 25%;
}
#login-form hr {
  border-color:#bbb;
  border-width: 1px;
}

/* facebook */
#fb-root {
    display: none;
}

/* footer */
footer {
  background-color: #111;
  padding-top:10px;
}
footer a, footer a:hover {
  color:#ddd;
}
footer nav ul {
  font-size:0.95em;
  line-height: 240%;
  margin:0;
}
footer .copyright {
  font-size: 0.9em;
  color: #aaa;
}

/* thick version */
footer.thick {
  padding-top: 30px;
}
footer.thick ul.social {
  margin-top:24px;
}
footer.thick nav h4 {
  font-size:1.1em;
  font-weight:bold;
}
footer.thick nav ul li:last-child {
  margin-bottom:10px;
}
footer.thick .copyright {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid #222;
}
@media(max-width:768px){
  footer.thick h4 {
    font-size:1em;
    text-align:center;
  }
  footer.thick nav {
    display:none;
  }
  footer.thick .company {
    text-align:center;
  }  
}


/* タイトルコンテナ追加2015/01/14 */
section .title-container {
  padding-top:60px;
  padding-bottom:40px;
}
article.no-nav section .title-container {
  padding-top:0;
}
@media (max-width:768px) {
	section .title-container {
	  padding-top:60px;
	  padding-bottom:0px;
	}
  section.tiles li .icon {
    font-size:120px;
  }
  section.tiles li {
    padding:30px 0;
    border-bottom:1px dotted #999;
  }
  section.tiles li:last-child {
    border: 0px;
  }
  .title-container {
    padding-left:30px;
    padding-right:30px;
  }
}

/* ワイドコンテナ背景色あり追加2015/01/15 */
.wide-bg-lgray{
  background-color: #eee;
  padding-top:54px;
  padding-bottom:54px;
}/* レイアウト追加2015/01/10 */
@media (min-width:769px){
	.container-full { max-width: 100%; }
}



/* コンテナフル余白追加2015/01/20 */
section .container-full {
  padding-top:54px;
  padding-bottom:54px;
}



/* 引用風（1カラムのみ対応） */
div.quotes {
	position:relative;
}
div.quotes blockquote {
	border:0;
	margin:0;
	padding:0;
	padding:10px 80px;
	font-size:1em;
}
div.quotes blockquote:before{
    content: "“";
    font-size: 1000%;
    line-height: 1em;
    font-family: 'Times New Roman' ,"ＭＳ Ｐゴシック" ,sans-serif;
    color: #F0F0F0;
    position: absolute;
    left: 0;
    top: 0;
    z-index: -99;
}
div.quotes blockquote:after{
    content: "”";
    font-size: 1000%;
    line-height: 0em;
    font-family: 'Times New Roman' ,"ＭＳ Ｐゴシック" ,sans-serif;
    color: #F0F0F0;
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: -99;
}
@media (max-width:768px) {
	div.quotes blockquote {
		padding:10px 0px;
	}
	div.quotes blockquote:before{
    	font-size: 500%;
		margin-left:-32px;
	}
	div.quotes blockquote:after{
    	font-size: 500%;
		margin-right:-32px;

	}
}


/* 数字リスト 黒丸白抜き */
ol.maru {
	counter-reset: li;
	list-style: none;
	padding-left: 0;
}
ol.maru > li {
	position: relative;
	margin-bottom: 1.5em;
	padding-left: 2.5em;

}
ol.maru > li:before {
	content: counter(li) "";
	counter-increment: li;
	position: absolute;
	left: 0;
	width: 1.8em;
	height: 1.8em;
	background: #000;
	border-radius: 50px;
	color: #fff;
	line-height: 1.8;
	text-align: center;
}

/* チェックマークリスト */
ul.check {
	padding:0px;
	margin:0px;
}
ul.check li{
	list-style-type:none !important;
	list-style-image:none !important;
	margin: 5px 0px 5px 0px !important;
	position:relative;
	padding-left:20px;
}
ul.check li:after, ul.check li:before{
	content:''; 
	display:block; 
	position:absolute; 
	top:4px; 
	left:8px; 
	height:11px; 
	width:4px; 
	background:#aaa; 
	border-radius:10px;
	transform:rotate(45deg);
	-webkit-transform:rotate(45deg);
	-o-transform:rotate(45deg);
}
ul.check li:before{
	top:8px; 
	left:3px;
	height:8px; 
	transform:rotate(-45deg);
	-webkit-transform:rotate(-45deg);
	-o-transform:rotate(-45deg);
}


/* 白ぬきボックスパネル */
div.tile-border-box div.contents {
	background:#fff;
	border:4px solid #999;
	padding:16px;
	margin-bottom:8px;
}

/* 白抜きボックスパネル リンク */
div.tile-border-box a{
	text-decoration:none;
	color:#333;
}
div.tile-border-box a:hover div.contents {
	background:#59B5F2;
	border-color:#0F76BA;
	color:#fff;
	transition: background-color 0.5s, color 0.1s;
}
