@charset "utf-8";
/* CSS Document */



/* Float Elements
---------------------------------*/
.fl-lt {float:left;}
.fl-rt {float:right;}

/* Clear Floated Elements
---------------------------------*/
.clear {
  clear: both;
  display: block;
  overflow: hidden;
  visibility: hidden;
  width: 0;
  height: 0;
}

.clearfix{
    clear:both;
}

.clearfix:before,
.clearfix:after {
  content: '\0020';
  display: block;
  overflow: hidden;
  visibility: hidden;
  width: 0;
  height: 0;
}

.clearfix:after {
  clear: both;
}
ul{ list-style:none;}

.figure{ margin:0px;}

img{ max-width:100%;}

a, a:hover, a:active{ outline:0px !important}

@font-face {
  font-family: 'FontAwesome';
  src: url('../fonts/fontawesome-webfont.eot?v=4.1.0');
  src: url('../fonts/fontawesome-webfont.eot?#iefix&v=4.1.0') format('embedded-opentype'), url('../fonts/fontawesome-webfont.woff?v=4.1.0') format('woff'), url('../fonts/fontawesome-webfont.ttf?v=4.1.0') format('truetype'), url('../fonts/fontawesome-webfont.svg?v=4.1.0#fontawesomeregular') format('svg');
  font-weight: normal;
  font-style: normal;
}
/*
@font-face {
    font-family: 'LatoRegular';
    src: url('../fonts/lato-regular.eot');
    src: url('../fonts/lato-regular.eot') format('embedded-opentype'),
         url('../fonts/lato-regular.woff2') format('woff2'),
         url('../fonts/lato-regular.woff') format('woff'),
         url('../fonts/lato-regular.ttf') format('truetype'),
         url('../fonts/lato-regular.svg#LatoRegular') format('svg');
}

/* Primary Styles
---------------------------------*/
body {
	background:#fff;
	font-size:15px;
	font-weight:normal;
	line-height: 2.1;
	color:#444;
	margin:0;
	padding:0;
    width:100%;
	min-width: 360px;
	animation: fade_load forwards 2s ease 1s;
	opacity: 0;
	/* font-family: "Sawarabi Mincho"; */
	font-family: kozuka-gothic-pr6n, kozuka-gothic, 'Noto Sans JP', sans-serif;
}
@keyframes fade_load {
    0% {opacity: 0}
    100% {opacity: 1}
}

h2,h3,h4,h5,h6,p{
	/* font-family: "Sawarabi Mincho"; */
	font-family: kozuka-gothic-pr6n, kozuka-gothic, 'Noto Sans JP', sans-serif;
}

h2{
	font-size:28px;
	font-weight:700;
	line-height: 1.5;
	letter-spacing: 0.05em;
	text-indent: 0.05em;
	text-align:center;
	color: #19244F;
    margin:40px auto ;
}

h3{
	font-size:17px;
	font-weight: 600;
	line-height: 1.7;
	margin:0 0 5px 0;
}

h4{
	font-size:16px;
	font-weight: 500;
	margin:0 0 5px 0;
}

p{
	margin:0;
}

.h_line {
	position: relative;

  }
  .h_line:before {
	content: '';
	position: absolute;
	bottom: -15px;
	display: inline-block;
	width: 60px;
	height: 4px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	background-color: #19244F;
	/* background: linear-gradient(to right,rgb(0,113,255),rgb(0,113,255)); */
	border-radius: 2px;
  }

.fook{
    width:500px;
    margin:20px auto;
}

.sp_br{
	display: inline;
}
.inline_br {
	display: inline-block;
	text-indent: 0;
}

@media only screen and (max-width: 767px) {
	.sp_br{
		display: block;
	}

    .fook{
        width:100%;
        margin:20px auto;
    }
}

/* fa
---------------------------------*/
/* .fa{
	color: #19244F !important;
}

.fa.fa-desktop{
	color: #fff !important;
}


/* Header Styles
---------------------------------*/
#header_outer{
	background:#fff;
	padding:15px 0;
    width:100%;
}

.header_section{
	position:relative;
}

.logo{
    text-align:center;
    width:300px;
    margin:0 auto;
    margin-top:20px;
}

@media only screen and (max-width: 767px) {
	#header_outer{
		padding:0px;
	}
	#header_outer .container {
		padding: 0;
	}
	.h_fixed {
		position: fixed;
		top: 0;
		left:0;
		width: 100%;
   	 	background: #fff;
		box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
		z-index: 1000;
		animation: h_fixed_fadeIn1 1s ease 1 normal forwards;
	}
	@keyframes h_fixed_fadeIn1 {
		from {
			transform: translateY(-100px);
		}
		to {
			transform: translateY(0);
		}
	  }
	.logo{
		padding:8px 0;
		text-align:center;
		float:left;
		background-size:20px 20px;
		background-position:20px 10px;
	}
}

.res-nav_click{ display:none;}


/* Nav Styles
---------------------------------*/

.nav{
    margin:10px 0;
    z-index:100;
}

.nav ul{
	list-style:none;
	padding:0px;
    margin:0 auto;
    text-align:center;
}
.nav ul.toggle{
	display:none;
	visibility:hidden;
	height:0px;
	overflow:hidden;
	margin-bottom: 0;
}

.nav ul li{
	display:inline-block;
	margin:0 23px;
}
.nav ul li:last-child{
	margin:0 0 0 23px;
}

/**/
@media only screen and (min-width: 767px) {
	.h_fixed #nav {
		position: fixed;
		top: 0;
		left: 0;
		margin: 0;
		padding: 20px 0;
		width: 100%;
		background-color: #fff;
		box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
		animation: h_fixed_fadeIn2 1s ease 1 normal forwards;
	}
	@keyframes h_fixed_fadeIn2 {
		from {
			transform: translateY(-100px);
		}
		to {
			transform: translateY(0);
		}
	}
}
/**/

@media only screen and (max-width: 767px) {
	.nav ul li:last-child{
		margin:0 0 0 0;
	}
}

.nav ul li a{
	display:block;
	font-size:14px;
    color:#333;
	text-decoration:none;
	font-weight: 500;
    padding-top:12px;
	transition:all 0.3s ease;
}

.nav ul li a:hover{
    color:#19244F;
}

/* id
---------------------------------*/
#works,
#company,
#recruit,
#contact{
    margin-top:45px;
}


/* About
---------------------------------*/
#about{
	position:relative;
	width: 100%;
	display: flex;
    justify-content: center;
    align-items: center;
	overflow: hidden;
	background: url(../img/about_bg.png) no-repeat;
	padding: 220px 0;
	background-attachment: fixed;
	background-size: cover;
	background-position: center bottom;
}
.kv_video video {
	position: absolute;
    top: 50%;
    left: 50%;
	transform: translateX(-50%) translateY(-50%);
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
}
#about p{
	font-size:230%;
	font-weight:bold;
	line-height:70px;
	letter-spacing: 0.05em;
	color:#fff;
	text-align:center;
	text-shadow: 0px 0px 8px rgba(0,7,99,0.8);
	width:100%;
}
#about p span{
	display: block;
}

/* Services
---------------------------------*/

#service{
/*	padding:30px 0px;*/
}

#service p:not( :first-child ){
    margin-top:20px;
}

.service_block{
	text-align:center;
	margin-top: 35px;
	padding-left: 15px;
    padding-right: 15px;
}

.service_icon{
	border:2px solid #55B488;
	border-radius:50%;
	width:70px;
	height:70px;
	margin:0px auto 15px;
}

.service_icon.icon2{
	border:2px solid #19244F;
}

.service_icon.icon3{
	border:2px solid #19244F;
}

.service_icon span {
    background:#55B488;
    border: 3px solid #fff;
    border-radius: 50%;
    display: block;
    height: 100%;
    width: 100%;
}
.service_icon.icon2 span {
    background:#19244F;
}
.service_icon.icon3 span{
    background:#19244F;
}
.service_icon i{
	color: #fff;
    font-size: 30px;
    margin-top: 0;
    position: relative;
    top: 14px;
    z-index: 20;
}

.service_block h3{
	margin:0 0 20px;
}

.service_block h4{
	margin:35px 0 18px;
}

.service_block p{
    text-align:center;
}

/* Works
---------------------------------*/
.works_h3:not( :first-child ){
    margin-top:30px;
    text-align:center;
}

.works_h3{
    text-align:center;
    padding:20px 0;
}

.works_row{
    margin-top:-10px;
}

.works_img{
    width:100%;
    height:250px;
    overflow:hidden;
    margin:0 auto;
    text-align:center;
}

.works_img img{
   width:100%;
    margin:0 auto;
    text-align:center;
}

/* Company
---------------------------------*/
.company_area{
    margin:0 auto;
}

.tbl_company{
    width:750px;
    margin:0 auto;
}
.tbl_company tr{
    height:50px;
    border-bottom: 1px solid #eee;
}
.tbl_company th{
    font-weight:normal;
    width:25%;
}

.tbl_company td{
    font-weight:normal;
    padding:15px 0;
}

.iframe-wrap iframe{
    width:100%;
    height:400px;
}

/**/
.tbl_recruit {
	line-height: 1.75;
}
.tbl_recruit th {
	width:160px;
}
.tbl_recruit td ul {
    padding: 0;
}
.tbl_recruit_flex {
	display: flex;
}
.tbl_recruit_flex_left {
	width: 120px;
}
.tbl_recruit_inline {
	display: inline-block;
}
.recruit_txt {
	display: inline-block;
	font-weight: 700;
	line-height: 1.8;
	margin-top: 30px;
	background: linear-gradient(transparent 70%, rgba(0,7,99,0.3) 0%);
}
/**/

/* Contact
---------------------------------*/
.contact_txt {
	letter-spacing: 0.05em;
	text-align: center;
}

.err_contact{
    color:#f26964;
    margin-left:10px;
    font-size:12px;
}

.contact_privacy{
    margin:30px 0 15px 0;
    padding:15px;
    text-align:center;
    /* background-color:#e0f3ed; */
	background-color: rgb(211,211,211);
}

.agree{
    margin-left:10px;
}
.required{
	font-size: 13px;
	color:#F26964;
	margin-left: 10px;
}


.form{
/*	margin:0 66px 0 30px;*/
    margin:30px auto;
}
.input-text{
	padding:15px 16px;
	border:1px solid #ccc;
	width:100%;
	height:50px;
	display:block;
	border-radius:4px;
	font-size:15px;
	color:#666;
	font-family: 'Lato', sans-serif;
	margin:0 0 15px 0;
	transition:all 0.3s ease-in-out;
}
.input-text:focus {
	border: 1px solid #7cc576;
	outline:0;
	box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(124, 197, 118, 0.3);
}

.input-text.text-area{
	width:100%;
	height:230px;
	resize:none;
	overflow:auto;
	font-family: 'Lato', sans-serif;
}
.input-btn{
	font-size:16px;
	font-weight:700;
	letter-spacing: 0.05em;
	text-transform:uppercase;
    text-align:center;
	color:#fff;
	border:1px solid #19244F;
	border-radius:3px;
	background:#19244F;
	width:175px;
	height:50px;
	margin:20px auto;
	transition:all 0.3s ease-in-out;
}

.input-btn:hover{
	color: #19244F;
	background: #fff;
}

/* Footer
---------------------------------*/

.footer_section{
    background-color:#19244F;
	/* background: linear-gradient(to right,rgb(0,113,255),rgb(0,113,255)); */
}

.footer_bottom{
	padding:20px 0;
}

.footer_bottom span{
	display:block;
	font-size:14px;
	color:#fff;
	text-align:center;
	margin-bottom: 5px;
}

.footer_bottom span a {
    display: inline-block;
    color: #fff;
    font-size: 16px;
    transition: all 0.3s ease-in-out;
}


@media only screen and (max-width: 767px) {
	.scroll-to-fixed-fixed {
		box-shadow:0 0 5px rgba(0, 0, 0, 0.15);
	}
    #works,
    #company,
    #recruit,
    #contact{
        margin-top:20px;
    }

	#about{
	    position:relative;
		/* padding: 100px 0;
		background-attachment: inherit;
		background-size: cover;
		background-position: center top; */
		min-height: 480px;
	}

	#about p {
		font-size: 160%;
	    line-height: 1.85;
	}

    .tbl_company{
        width: 90%;
        margin:0 auto;
    }
	.tbl_company tr{
		border: none;
	}
	.tbl_company th,
	.tbl_company td{
		display: block;
		width: 100%;
		padding: 5px 20px;
	}

	.tbl_company th{
		font-weight: 500;
		color: #fff;
		background-color: #19244F;
	}

	.tbl_company td{
		border: solid #eee;
		border-width: 0 1px;
	}
	.tbl_company tr:last-of-type td {
		border-bottom-width: 1px;
	}
	.map_ttl {
		margin: 30px auto 35px;
	}
	.required{
		font-size: 12px;
		margin-left: 5px;
	}
}


/* Animation Timers
---------------------------------*/
.delay01 {animation-delay: 2.2s;}
.delay02 {animation-delay: 2.4s;}
.delay03 {animation-delay: 2.6s;}
.delay04 {animation-delay: 2.8s;}

.delay-02s {
	animation-delay: 0.2s;
	-webkit-animation-delay: 0.2s;
}
.delay-03s {
	animation-delay: 0.3s;
	-webkit-animation-delay: 0.3s;
}
.delay-04s {
	animation-delay: 0.4s;
	-webkit-animation-delay: 0.4s;
}

.delay-05s {
	animation-delay: 0.5s;
	-webkit-animation-delay: 0.5s;
}
.delay-06s {
	animation-delay: 0.6s;
	-webkit-animation-delay: 0.6s;
}

.delay-07s {
	animation-delay: 0.7s;
	-webkit-animation-delay: 0.7s;
}
.delay-08s {
	animation-delay: 0.8s;
	-webkit-animation-delay: 0.8s;
}

.delay-09s {
	animation-delay: 0.9s;
	-webkit-animation-delay: 0.9s;
}
.delay-1s {
	animation-delay: 1s;
	-webkit-animation-delay: 1s;
}
.delay-12s {
	animation-delay: 1.2s;
	-webkit-animation-delay: 1.2s;
}


/* no transition on .isotope container */

/* .isotope .isotope-item {
	-webkit-transition-duration: 0.6s;
	   -moz-transition-duration: 0.6s;
			transition-duration: 0.6s;
  }

  .isotope .isotope-item {
	-webkit-transition-property: -webkit-transform, opacity;
	   -moz-transition-property:    -moz-transform, opacity;
			transition-property:         transform, opacity;
  }

   */

/* Portfolio Isotope Transitions */
/*
	.isotope, .isotope .isotope-item {
		-webkit-transition-duration: 0.8s;
		-moz-transition-duration: 0.8s;
		-ms-transition-duration: 0.8s;
		-o-transition-duration: 0.8s;
		transition-duration: 0.8s;
	}

	.isotope {
		-webkit-transition-property: height, width;
		-moz-transition-property: height, width;
		-ms-transition-property: height, width;
		-o-transition-property: height, width;
		transition-property: height, width;
	}

	.isotope .isotope-item {
		-webkit-transition-property: -webkit-transform, opacity;
		-moz-transition-property: -moz-transform, opacity;
		-ms-transition-property: -ms-transform, opacity;
		-o-transition-property: -o-transform, opacity;
		transition-property: transform, opacity;
	}

	.isotope.no-transition, .isotope.no-transition .isotope-item, .isotope .isotope-item.no-transition {
		-webkit-transition-duration: 0s;
		-moz-transition-duration: 0s;
		-ms-transition-duration: 0s;
		-o-transition-duration: 0s;
		transition-duration: 0s;
	}



 */
