/* ==========================================================================
   Base Styles and Bootstrap Modifications
   ========================================================================== */
html,
button,
input,
select,
textarea {
    color: #222;
}

body {
    font-size: 1em;
    line-height: 1.4;
}

::-moz-selection {
    background: #f2c2c9;
    color: #a4003a;
    text-shadow: none;
}

::selection {
    background: #16a085;
    color: #a4003a;
    text-shadow: none;
}

 hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}

 img {
    vertical-align: middle;
}


 textarea {
    resize: vertical;
}


/* ==========================================================================
   General styles
   ========================================================================== */

html,
body {
    height: 100%;
}

body {
    font-family: "Lato","メイリオ","Meiryo",arial,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,"ＭＳ Ｐゴシック","MS PGothic",Sans-Serif;
    font-weight: 300;
    font-size: 14px;
    color: #555;

    -webkit-font-smoothing: antialiased;
    -webkit-overflow-scrolling: touch;
}

.col-md-4 {
	padding-bottom: 20px;
}

.row {
margin-right: 0px;
margin-left: -15px;
}

.modal-header {
	background: #3498db;
}

.modal-header h4 {
	color: white;
}

.modal-footer {
	background: #2b2b2b;
}


.navbar-default {
border-color: transparent;
background-color: #dadada;
}


.navbar-toggle {
border-color: transparent;
border: 1px solid transparent;
padding: 4px 10px;
}

.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > li > a:focus {
	background-color: #16a085;
	color: white;
}



hr {
    position: relative;
    border: none;
}

hr:before {
    content: " ";
    position: absolute;
    top: 0;
    left: 25%;
    width: 50%;
    height: 2px;
    background: #ccc;
}

a img {
    background: white;
}

.odd a img {
    background: #f5f5f5;
}

/* Titles */
h1, h3, h4, h5, h6 {
    font-family: "メイリオ","Meiryo",arial,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,"ＭＳ Ｐゴシック","MS PGothic",Sans-Serif;
    font-weight: 300;
    color: #555;
}

h2 {
  font-family: "メイリオ","Meiryo",arial,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,"ＭＳ Ｐゴシック","MS PGothic",Sans-Serif;
  color: #fff;
}


/* Paragraph & Typographic */
p {
    line-height: 28px;
    margin-bottom: 25px;
}

.centered {
    text-align: center;
}

.paragraph-lead {
    font-size: 20px;
    color: #3498db;
}

strong {
    font-weight: 700;
}

em {
    font-weight: 300;
}

pre {
    background: #ebebeb;
    border: none;
    font-family: "Monaco";
    font-size: 16px;
    color: #666;
    padding: 20px;
    line-height: 28px;
}

small {
    font-size: 12px;
}

blockquote,
blockquote p {
    line-height: 28px;
    color: #999;
    font-weight: 300;
    font-style: italic;
}

blockquote {
    position: relative;
    margin: 0 0 40px -30px;
    padding-left: 30px;
    border-left: 5px solid #3498db;
}

blockquote cite {
    position: absolute;
    bottom: -25px;
    right: 0;
    font-size: 12px;
    font-style: italic;
    color: #333;
    font-weight: 300;
}

blockquote cite:before {
    content: "-- "
}

/* Images */
.overflow-image {
    margin-top: -65px;
}

/* Links */
a {
    color: #3498db;
    word-wrap: break-word;

    -webkit-transition: color 0.1s ease-in, background 0.1s ease-in;
    -moz-transition: color 0.1s ease-in, background 0.1s ease-in;
    -ms-transition: color 0.1s ease-in, background 0.1s ease-in;
    -o-transition: color 0.1s ease-in, background 0.1s ease-in;
    transition: color 0.1s ease-in, background 0.1s ease-in;
}

a:hover,
a:focus {
    color: #c0392b;
    text-decoration: none;
    outline: 0;
}

a:before,
a:after {
    -webkit-transition: color 0.1s ease-in, background 0.1s ease-in;
    -moz-transition: color 0.1s ease-in, background 0.1s ease-in;
    -ms-transition: color 0.1s ease-in, background 0.1s ease-in;
    -o-transition: color 0.1s ease-in, background 0.1s ease-in;
    transition: color 0.1s ease-in, background 0.1s ease-in;
}



/* ==========================================================================
   Wrap Sections
   ========================================================================== */

#headerwrap {
	background: url(../img/header_bg2.jpg) no-repeat center top;
	margin-top: -50px;
	padding-top:120px;
	text-align:center;
	background-attachment: relative;
	background-position: center center;
	min-height: 650px;
	width: 100%;
	
    -webkit-background-size: 100%;
    -moz-background-size: 100%;
    -o-background-size: 100%;
    background-size: 100%;

    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}

#headerwrap h1 {
	color:#ffffff;
	margin-top: 10px;
	padding-bottom: 4px;
	letter-spacing: 2px;
	font-size: 26px;
	font-weight: bold;
	text-shadow: 1px 1px 1px #666;
}

#headerwrap p {
	color:#ffffff;
	font-size: 22px;
	font-weight: 400;
	text-align: center;
	line-height: 32px;
	letter-spacing: 1px;
	margin-left: 15px;
	text-shadow: 1px 1px 1px #444;
}

#notfound {
  background: url(../img/404_bg.jpg) no-repeat center top;
	padding-top:120px;
	text-align:center;
	background-attachment: relative;
	background-position: center center;
	height: 650px;
	width: 100%;
	
    -webkit-background-size: 100%;
    -moz-background-size: 100%;
    -o-background-size: 100%;
    background-size: 100%;

    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}

#notfound h1 {
	color:#ffffff;
	margin-top: 10px;
	padding-bottom: 4px;
	letter-spacing: 2px;
	font-size: 24px;
	font-weight: bold;
	text-shadow: 1px 1px 1px #666;
}

#notfound p {
	color:#ffffff;
	font-size: 18px;
	font-weight: 400;
	text-align: center;
	line-height: 30px;
	letter-spacing: 1px;
	margin-left: 15px;
	text-shadow: 1px 1px 1px #444;
}

#footerwrap {
	background: #2b2b2b;
        color: #fff;
	margin-top: 10px;
	padding-top: 10px;
	border-bottom: 1px solid #ddd;
	text-align: center;
}

.head-bkg p{    
    color:#fff;
    font-size: 18px;
    font-weight: 600;
    padding: 10px;
}

/* ==========================================================================
   Box Sections
   ========================================================================== */

.white h1 {
	padding-top: 35px;
}

.white p {
	padding-top: 25px;
}

/* Section Dividers */
.section-divider {
    z-index: 999;
    width: 100%;
    display: table;
//    height: 240px;
height: 280px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    padding-top: 30px;
    padding-bottom: 20px;
    background-position: center center;

    -webkit-background-size: 100%;
    -moz-background-size: 100%;
    -o-background-size: 100%;
    background-size: 100%;

    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;

    background-attachment: relative;
    
    text-align: center;
}

.section-divider hr{
  border-color:#fff;
  height: 1px;
  clear: both;
  border-width: 1px 0 0 0;
}

.textdivider h1 {
	padding-top: 40px;
	color: white;
	font-size: 30px;
  letter-spacing: 4px;
  text-shadow: 1px 1px 1px #666;
}

.textdivider p {
	color: white;
	font-size: 20px;
}


/* Section Dividers Backgrounds */
.divider1 {
	background-image: url('../img/bg/divider1.jpg');
        border-bottom: 2px solid #269abc;
}

.divider2 {
	background-image: url('../img/bg/divider2.jpg');
        border-bottom: 2px solid #34495e;
}

.divider3 {
	background-image: url('../img/bg/divider3.jpg');
	margin-top: 0px;
        border-bottom: 2px solid #ffa500;        
}

.divider4 {
	background-image: url('../img/bg/divider4.jpg');
        border-bottom: 2px solid #ffa500;
}

.divider5 {
	background-image: url('../img/bg/divider5.jpg');
        border-bottom: 2px solid #5cb85c;
}

/* ==========================================================================
   Section:about
   ========================================================================== */

#about .head-bkg{
    background-color:#269abc;
}

#about .table{
    padding: 10px;
}

#about .table th{
    padding: 10px;
    white-space: nowrap;
    border: none;
    vertical-align: top;
}

#about .table td{
    padding: 10px;
    border: none;
}

/* ==========================================================================
   Section:services
   ========================================================================== */
#services .head-bkg{
    background-color:#34495e;
}

#services .row{
    padding: 0px 0 20px 0;
}

#services i{
    font-size:60px;
    color: #34495e;
    line-height: 0.5;
}
#services h3{
    color:#34495e;
    font-size: 18px;

}
#services p{
    line-height: 1.6;
}

/* ==========================================================================
   Section:recruit
   ========================================================================== */
#recruit .head-bkg{
    background-color:#ffa500;
}

#recruit .table{
    padding: 10px;
}

#recruit .table th{
    padding: 10px;
    white-space: nowrap;
    border: none;
    vertical-align: top;
}

#recruit .table td{
    padding: 10px;
    border: none;
}

#recruit button {
    cursor:pointer;
    text-align:center;
    border:none;
    background:#ffa500;
    background-image:linear-gradient(bottom, #ffb302 0%, #ffa500 52%);
    background-image:-moz-linear-gradient(bottom, #ffb302 0%, #ffa500 52%);
    background-image:-webkit-linear-gradient(bottom, #ffb302 0%, #ffa500 52%);
    color:#FFF;
    margin:0 0 5px;
    padding:10px;
    border-radius:5px;
}
#recruit button:hover {
    background-image:linear-gradient(bottom, #ffd000 0%, #ffb302 52%);
    background-image:-moz-linear-gradient(bottom, #ffd000 0%, #ffb302 52%);
    background-image:-webkit-linear-gradient(bottom, #ffd000 0%, #ffb302 52%);
    -webkit-transition:background 0.3s ease-in-out;
    -moz-transition:background 0.3s ease-in-out;
    transition:background-color 0.3s ease-in-out;
}
#recruit button:active {
    box-shadow:inset 0 1px 3px rgba(0,0,0,0.5);
}

/* ==========================================================================
   Section:access

#access .head-bkg{
    background-color:#33cccc;
    
}

#access .address{
    line-height: 1.5;
    margin: 0 auto;
}
   ========================================================================== */

/* ==========================================================================
   Section:contact
   ========================================================================== */

#contact .head-bkg{
    background-color:#5cb85c;
}

#contact .table{
    padding: 10px;
}

#contact .table th{
    padding: 12px;
    white-space: nowrap;
    border-top:1px solid #ddd;
    border-bottom:1px solid #ddd;
    vertical-align: top;
}
#contact .table td{
    padding: 12px;
    border-top:1px solid #ddd;
    border-bottom:1px solid #ddd;
}

#contact .address{
    line-height: 1.5;
    font-size:14px;
}

#contact a:link{
    color: #5cb85c;
 }
#contact .address{
    line-height: 1.5;
    margin: 0 auto;
}

#contact_form label{
    font-weight: normal;
    font-size:13px;
}


#contact_form .form-control {
    width: 100%;
    height: 100%;
    padding: 6px 12px;
    border-radius: 5px;
}
/* ==========================================================================
   404
   ========================================================================== */




/* ==========================================================================
   Image Mask
   ========================================================================== */

.grid figure {
	margin: 0;
	position: relative;
}

.grid figure img {
	width: 100%;
	display: block;
	position: relative;
}

.grid figcaption {
	position: absolute;
	top: 0;
	left: 0;
	padding: 20px;
	color: #fff;
	background: #3498db;
}

.grid figcaption h5 {
	margin: 0;
	padding-top: 0px;
	padding-left: 20px;
	padding-bottom: 5px;
	color: #fff;
	font-weight: 700;
	text-align: left;
	letter-spacing: 2px;
	
}

.grid figcaption a {
	text-align: left;
	padding: 5px 10px;
	margin-left: 20px;
	display: inline-block;
	background: #2f2f2f;
	color: #fff;
	font-size: 13px;
}

/* Caption Style */
.mask figure {
	overflow: hidden;
}

.mask figure img {
	-webkit-transition: -webkit-transform 0.4s;
	-moz-transition: -moz-transform 0.4s;
	transition: transform 0.4s;
}

.no-touch .mask figure:hover img,
.mask figure.cs-hover img {
	-webkit-transform: translateY(-30px);
	-moz-transform: translateY(-30px);
	-ms-transform: translateY(-30px);
	transform: translateY(-30px);
}

.mask figcaption {
	height: 50px;
	width: 100%;
	top: auto;
	bottom: 0;
	opacity: 0;
	-webkit-transform: translateY(100%);
	-moz-transform: translateY(100%);
	-ms-transform: translateY(100%);
	transform: translateY(100%);
	-webkit-transition: -webkit-transform 0.4s, opacity 0.1s 0.3s;
	-moz-transition: -moz-transform 0.4s, opacity 0.1s 0.3s;
	transition: transform 0.4s, opacity 0.1s 0.3s;
}

.no-touch .mask figure:hover figcaption,
.mask figure.cs-hover figcaption {
	opacity: 1;
	-webkit-transform: translateY(0px);
	-moz-transform: translateY(0px);
	-ms-transform: translateY(0px);
	transform: translateY(0px);
	-webkit-transition: -webkit-transform 0.4s, opacity 0.1s;
	-moz-transition: -moz-transform 0.4s, opacity 0.1s;
	transition: transform 0.4s, opacity 0.1s;
}

.mask figcaption a {
	position: absolute;
	top:10px;
	bottom: 10px;
	right: 30px;
}


/* ==========================================================================
   MEDIA QUERIES
   ========================================================================== */


@media screen and (max-width:1050px), screen and (max-device-width:1050px){
	body .header{background-attachment: scroll;}
}


/*ipad portrait*/
@media only screen and (min-device-width:768px) and (max-device-width : 1024px) and (orientation : portrait){
	.header{background-attachment: scroll;}
}

@media screen and (max-width:769px) {
	#headerwrap h1 {
		font-size: 24px;
	}
	#headerwrap p {
		font-size: 16px;
		line-height: 20px;
	}
}

/* ==========================================================================
   ADD
   ========================================================================== */
.mr6{margin-right: 6px};

.mt60{margin-top: 60px; }
.mt-20{ margin-top: -20px;}
.mt-25{ margin-top: -25px;}
.mt-30{ margin-top: -30px;}
.mt-35{ margin-top: -35px;}
.mt-40{ margin-top: -40px;}


.mb10 {margin-bottom:10px;}
.mb20 {margin-bottom:20px;}
.mb30 {margin-bottom:30px;}
.mb40 {margin-bottom:40px;}
.mb50 {margin-bottom:50px;}
.mb60 {margin-bottom:60px;}
.mb80 {margin-bottom:80px;}
.ml30 {margin-left: 30px;}

.pt40 {padding-top:40px;}

.sub-head{
    border-bottom: 1px solid #ccc;
    margin-bottom: 20px;
}

#wrap {
  min-height: 100%;
  height: auto;
  margin: 0 auto -60px;
  padding: 0 0 60px;
}

#footer {
  height: 60px;
  background-color: #f5f5f5;
}

/** contact steps */
.stepwizard-step p {
    margin-top: 10px;    
}

.process-row {
    display: table-row;
}

.process {
    display: table;     
    width: 100%;
    position: relative;
}

.process-step button[disabled] {
    opacity: 1 !important;
    filter: alpha(opacity=100) !important;
}

.process-row:before {
    top: 30px;
    bottom: 0;
    position: absolute;
    content: " ";
    width: 100%;
    height: 1px;
    background-color: #ccc;
    z-order: 0;
    
}

.process-step {    
    display: table-cell;
    text-align: center;
    position: relative;
}

.process-step p {
    margin-top:8px;
    
}

.btn-circle {
  width: 60px;
  height: 60px;
  text-align: center;
  padding: 6px 0;
  font-size: 12px;
  line-height: 1.428571429;
  border-radius: 15px;
}
