/*
=====================================================================
*   Kreative v1.0.1 Layout Stylesheet
*   url: styleshout.com
*   03-05-2014
=====================================================================

   TOC:
   a. Common Styles
   b. Header Styles
   c. Intro Section
   d. Services
   e. Postfolio
   f. Journal
   g. About
   h. Call-to-Action
   i. Map
   j. Contact
   k. Blog Post
   l. Blog Entries
   m. Footer Styles
   n. Media Queries

===================================================================== */


/* ================================================================== */

/* a. Common Styles

/* ================================================================== */

.section-head h2 { font: 30px/42px montserrat-bold, sans-serif; }
.desc { font: 14px/24px opensans-regular, sans-serif; }
.intro { font: 20px/36px opensans-light, sans-serif; }

/* Left clearing for flexible columns - columns that changes width in
different screen sizes. Makes columns with different heights align
properly.
--------------------------------------------------------------------- */
.first { clear: left; }   /* first column in default screen */
.m-first { clear: none; } /* first column in medium size screens */

/* Flex Slider
/* ------------------------------------------------------------------ */

/* Reset */
.flexslider a:active,
.flexslider a:focus  { outline: none; }
.slides, .flex-control-nav,
.flex-direction-nav { margin: 0; padding: 0; list-style: none; }
.slides li { margin: 0; }

/* Necessary Styles */
.flexslider {
   position: relative;
   zoom: 1;
   margin: 0;
   padding: 0;
}
.flexslider .slides { zoom: 1; }
.flexslider .slides > li { position: relative; }

/* Hide the slides before the JS is loaded. Avoids image jumping */
.flexslider .slides > li { display: none; -webkit-backface-visibility: hidden; }
/* Suggested container for slide animation setups. Can replace this with your own */
.flex-container { zoom: 1; position: relative; }

/* Clearfix for .slides */
.slides:before,
.slides:after {
    content: " ";
    display: table;
}
.slides:after {
    clear: both;
}

/* ================================================================== */

/* b. Header Styles

/* ================================================================== */

header {
    padding-top: 30px;
    height: 115px;
    width: 100%;
    z-index: 9999;
    background: #fff;
    position: fixed;
    top: 0;
    left: 0;
}
header.static {
   background: #232629;
   position: static;
}
header .row .col {
    padding: 0;
}
/* header logo */
header .logo {
   position: relative;
   float: left;
   padding-top: 6px;
}
header .logo a {
   display: block;
   padding: 0;
   margin: 0;
   width: 245px;
}


/* primary navigation
--------------------------------------------------------------------- */
#nav-wrap ul, #nav-wrap li, #nav-wrap a {
	margin: 0;
	padding: 0;
	border: none;
	outline: none;
}

/* nav-wrap */
#nav-wrap {
    position: relative;
    font: 13px opensans-regular, sans-serif;
    float: right;
}

/* hide toggle button */
#nav-wrap > a { display: none; }

ul#nav {
   min-height: 54px;
   width: auto;

   /* left align the menu */
   text-align: left;
}
ul#nav li {
	position: relative;
	list-style: none;
   height: 54px;

   display: inline-block;
}
ul#nav > li.active a {
   background: #11ABB0;
   color: #fff !important;
}

/* Links */
ul#nav li a {
    display: block;
    margin: 0 0 0 5px;
    padding: 0;
    line-height: 54px;
    text-decoration: underline;
    text-align: left;
    color: #fff;
    font-family: OCR A Std, sans-serif;
    font-size: 10px;

    -webkit-transition: color .2s ease-in-out;
    -moz-transition: color .2s ease-in-out;
    -o-transition: color .2s ease-in-out;
    -ms-transition: color .2s ease-in-out;
    transition: color .2s ease-in-out;
}

/* ul#nav li a:active { background-color: transparent !important; }
ul#nav li:hover > a, */
/* ul#nav li.active a { color: #11ABB0; } */



/* header Variation
--------------------------------------------------------------------- */
.header-company {
    background: #EA5514;
}
.header-message {
    background: #1D2088;
}
.header-contact {
    background: #22AC38;
}
.header-joboffer {
    background: #00A0E9;
}
.header-common {
    background: #231815;
}



.header-home ul#nav li a {
    color: #000;
}


.container {
    padding-top: 115px;
}
.content-title {
    margin-bottom: 80px;
    text-align: center;
}
.content-title.-rm {
    margin-bottom: 40px;
}
.section-title {
    margin-bottom: 20px;
    text-align: center;
}


.section-head {
    padding-top: 120px;
}

.table-th {
    padding: 5px 10px 5px 2px;
    text-align: left;
}
.table-td {
    padding: 5px 5px 5px 2px;
    text-align: left;
}

.table-company .table-th,
.table-company .table-td {
    padding-bottom: 30px;
}
.table-company .table-th {
    min-width: 150px;
}
.table-company .table-td p {
    margin-bottom: 10px;
}

.table-history {
    margin: 0 auto 60px;
}
.table-history .table-th {
    min-width: 180px;
    font-weight: normal;
}

.table-job .table {
    margin: 0 auto 30px;
    width: 680px;
}
.table-job .table .table-th {
    min-width: 110px;
    font-weight: normal;
}
.table-job > p {
    margin: 0 auto 60px;
    width: 680px;
}


/* ================================================================== */
/* c. Intro Section
/* ================================================================== */

#intro {
   overflow: hidden;
}
.mainImage {
    background: url(../images/main_image_04.jpg) top center no-repeat;
    margin-top: 115px;
    height: 355px;
}

.intro-slider {
    margin: 0 0 30px;
    padding-top: 115px;
}
.intro-slider li {
    margin: 0 auto;
    width: 100%;
    height: 335px;
    text-align: center;
    background: #fff no-repeat center top;
}

/* FlexSlider Intro Slider Styles */
.slides {
    position: relative;
    overflow: hidden;
    height: 335px;
}
.slider-text {
    color: #737E8C;
    text-align: center;
    width: 85%;
    margin: 156px auto 66px auto;
}
.slider-text h2 {
   font: 56px/78px montserrat-regular, Sans-serif;
   color: #fff;
   text-shadow: 0px 1px 5px rgba(50, 50, 50, .5);
   padding: 0;
   margin: 0;
}
.slider-text h2 span,
.slider-text a { color: #11ABB0; }

.slider-text p {
   font: 17px/36px opensans-light, sans-serif;
   text-shadow: 0px 1px 2px rgba(0, 0, 0, .3);
   padding: 0;
   margin: 18px 10% 0;
}


/* ================================================================== */
/* message history
/* ================================================================== */

.message-wrap {
    overflow: hidden;
    margin-bottom: 120px;
}
.message-wrap-image {
    float: left;
    margin: 0;
}
.message-wrap-image dt {
    width: 190px;
}
.message-wrap-image dt img {
    width: 163px;
}
.message-wrap-image dd {
    margin: 0;
}

.message-wrap-text {
    margin-left: 190px;
}

/* ================================================================== */
/* contact map
/* ================================================================== */
.contact-title {
    margin: 0 auto 30px;
    padding: 2px 10px;
    display: inline-block;
    border: 1px solid #000;
    font-weight: normal;
}
.contact-header {
    text-align: center;
}
.contact-tel {
    margin-bottom: 10px;
    font-size: 24px;
}
.contact-email {
    margin-bottom: 25px;
}
.contact-map {
    margin: 0 auto 30px;
    width: 552px;
}
.contact-googlemap {
    margin-bottom: 10px;
    border: 1px solid #666;
    height: 527px;
}
.contact-address {
    text-align: center;
}


/* ================================================================== */
/* service
/* ================================================================== */
.service-title {
    margin: 0 auto 30px;
    padding: 2px 10px;
    display: inline-block;
    border: 1px solid #000;
    font-weight: normal;
}
.service-row {
    overflow: hidden;
    margin-bottom: 40px;
}
.service-row-title {
    margin: 0 auto 30px;
    text-align: center;
}
.service-row-title span {
    padding: 2px 10px;
    display: inline-block;
    border: 1px solid #000;
    font-weight: bold;
    font-size: 18px;
}
.service-row ul {
    margin-right: -38px;
    margin-bottom: 40px;
}
.service-row ul li {
    float: left;
    margin-right: 38px;
    margin-bottom: 30px;
    text-align: center;
}
.service-row ul li span {
    display: block;
    margin-bottom: 10px;
    font-weight: bold;
    font-size: 16px;
}

.service-row ul li span.small {
    font-size: 14px;
}


/* ================================================================== */
/* works
/* ================================================================== */
.works-title {
    margin: 0 auto 30px;
    padding: 2px 10px;
    display: inline-block;
    border: 1px solid #000;
    font-weight: normal;
}
.works-row {
    overflow: hidden;
    margin: 0 -30px 80px;
}
.works-row-title {
    margin: 0 auto 30px;
    text-align: center;
}
.works-row-title span {
    padding: 2px 10px;
    display: inline-block;
    border: 1px solid #000;
    font-weight: bold;
    font-size: 18px;
}
.works-row ul {
    margin-right: -38px;
    margin-bottom: 40px;
}
.works-row ul li {
    float: left;
    margin-right: 25px;
    margin-bottom: 30px;
    text-align: center;
}
.works-row ul li span {
    display: block;
    margin-bottom: 10px;
    min-height: 1.1em;
    font-weight: bold;
    font-size: 16px;
}

.works-row ul li span.small {
    font-size: 14px;
}





/* Direction Navigation
--------------------------------------------------------------- */
.flex-direction-nav a {
   display: block;
	width: 40px;
	height: 66px;
	margin: 0;
	background-color: #2D3339;
	cursor: pointer;
	z-index: 99999;
	opacity: 0;
   position: absolute;
	top: 50%;

   font: 0/0 a;
   text-shadow: none;
   color: transparent;

	-webkit-transition: all 0.2s ease-in-out;
	-moz-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
	-ms-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
}

.flex-direction-nav a:hover { background-color: #11ABB0; }

.flex-direction-nav .flex-next {
	right: 0px;
	background: #2D3339 url(../images/direction-nav-right.png) no-repeat 53% 50%;
	position: absolute;
}
.flex-direction-nav .flex-prev {
	left: 0px;
	background: #2D3339 url(../images/direction-nav-left.png) no-repeat 47% 50%;
	position: absolute;
}
.flexslider:hover .flex-next,
.flexslider:hover .flex-prev { opacity: 1; }
.flex-direction-nav .flex-disabled {
   opacity: .3 !important;
   filter: alpha(opacity=30);
   cursor: default;
}



/* ================================================================== */

/* e. Portfolio

/* ================================================================== */
.navTop {
    overflow: hidden;
    padding: 0;
    width: 100%;
}
.navTop-item {
    float: left;
}
.navTop.-bottom {
    text-align: center;
}
.navTop.-bottom .navTop-item {
    float: none;
    display: inline-block;
}
.navTop.-bottom .navTop-item:first-child {
    margin-right: 50px;
}

.bannerTop {
    margin-top: 20px;
    padding-left: 40px;
}



/* ================================================================== */

/* f. Journal

/* ================================================================== */

#journal {
   background-color: #0f9095;
   padding-top: 156px;
   padding-bottom: 120px;
   color: #7fe6ed;
}

#journal a, #journal a:visited  { color: #fff; }
#journal a:hover, #journal a:focus { color: #005757; }

#journal .section-head h2 { color: #fff; }
#journal .section-head p.desc,
#journal .section-head .intro { color: #C2F1F5; }

#journal .blog-entries { margin-top: 54px; }
#journal .entry { margin-bottom: 12px; }

/* post header */
#journal .blog-entries .entry-header {
   position: relative;
   margin-bottom: 6px;
}
#journal .entry-header .entry-title { padding-left: 38px; }
#journal .entry-header h3 { font: 30px/42px montserrat-regular, sans-serif; }
#journal .entry-header .author-image img {
   position: absolute;
   top: 12px;
   left: 18px;
   margin: 0;
   padding: 0;
   width: 60px;
   height: 60px;

   -moz-border-radius: 100% 100% 100% 100%;
	-webkit-border-radius: 100% 100% 100% 100%;
	-khtml-border-radius: 100% 100% 100% 100%;
	border-radius: 100% 100% 100% 100%;
}

/* post meta */
#journal .entry .post-meta   {
   font: 14px/24px opensans-regular, sans-serif;
   color: #fff;
   margin-top: 12px;
   margin-bottom: 0;
}
#journal .entry .post-meta time,
#journal .entry .post-meta .dauthor {
   display: block;
}
#journal .entry .post-meta time {
   font-family: montserrat-bold, sans-serif;
   text-transform: uppercase;
   letter-spacing: 1px;
}

/* post content */
#journal .entry .post-content { padding-left: 38px; }
#journal .entry .post-content p {
   font: 16px/30px opensans-regular, sans-serif;
}
#journal .entry .post-content a.more-link {
   font: 15px/30px opensans-bold, sans-serif;
   margin-left: 3px;
}
#journal .entry .post-content a.more-link i {
   margin-left: 10px;
   font-size: 14px;
}


/* ================================================================== */

/* i. Map

/* ================================================================== */

#map {
   display: block;
	height: 486px;
   width: 100%;
   background-color: #F6F4EF;
}
#map img { max-width:inherit !important; }
#map .map-error {
  text-align: center;
  padding-top: 48px;
  color: #C0B491;
  font-size: 14px;
}


/* ================================================================== */

/* m. footer

/* ================================================================== */

footer {
   margin-top: 80px;
   background: #727171;
   color: #fff;
   font-size: 10px;
}
footer a, footer a:visited { color: #fff; }
footer a:hover, footer a:focus { color: #fff; }

.footer-info {
    padding: 15px 0;
}
.footer-info-logo {
    margin: 0 0 -5px -50px;
}
.footer-info p {
    margin: 0;
}

footer .footer-link {
    margin: 0;
}
footer .footer-link li {
    display: inline-block;
    margin: 0;
    padding: 0;
    line-height: 24px;
}
.ie footer .footer-link li {
    display: inline;
}

footer .footer-link li:before {
    content: "|";
    padding-left: 10px;
    padding-right: 10px;
    color: #fff;
}
footer .footer-link  li:first-child:before {
    display: none;
}

/* copyright */
footer .copyright {
    margin: 0;
    padding: 5px 0;
    border-top: 1px solid #fff;
    text-align: center;
}

/* social links */
footer .social-links {
   margin: 0;
   padding: 0;
   font-size: 18px;
   margin-top: -3px;
   float: right;
}
footer .social-links li {
    display: inline-block;
    margin: 0;
    padding: 0;
    margin-left: 24px;
}
footer .social-links li:first-child { margin-left: 0; }

.pageTop {
    position: fixed;
    bottom: 30px;
    right: 30px;
}
.pageTop a {
    display: none;
}


/*モーダル本体の指定 + モーダル外側の背景の指定*/
.modal-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    text-align: center;
    background: rgba(0, 0, 0, 0.5);
    padding: 40px 20px;
    overflow: auto;
    opacity: 0;
    visibility: hidden;
    transition: .3s;
    box-sizing: border-box;
    z-index: 10000;
}

/*モーダル本体の擬似要素の指定*/
.modal-container:before {
    content: "";
    display: inline-block;
    vertical-align: middle;
    height: 100%;
}

/*モーダル本体に「active」クラス付与した時のスタイル*/
.modal-container.active {
    opacity: 1;
    visibility: visible;
}

/*モーダル枠の指定*/
.modal-body {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    max-width: 800px;
}

/*モーダルを閉じるボタンの指定*/
.modal-close {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    top: -40px;
    right: -40px;
    width: 40px;
    height: 40px;
    font-size: 40px;
    color: #fff;
    cursor: pointer;
}

/*モーダル内のコンテンツの指定*/
.modal-content {
    background: #fff;
    text-align: left;
    padding: 20px;
}
.modal-content video {
    width: 100%;
}
