@charset "utf-8";

/* body -------------------------- */
html, body {
	margin: 0px;
	padding: 0px;
	background-color:#FFF;
	color: #222;
	font-size: 14px;
	-webkit-text-size-adjust: 14px; /*iPhone版Safari*/
	-ms-text-size-adjust: 14px; /*iPhone版Safari*/
	letter-spacing: 1.5px;
	line-height: 2;
	font-family: Meiryo, メイリオ, 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', arial, helvetica, sans-serif;
}
ol,ul {
	list-style: none;
}
table {
	border-collapse: collapse; border-spacing: 0; border: 0;
}
image {
	border: none;
}
h1, h2, h3, h4, div, p {
	margin: 0;
	padding: 0;
}
input {
	margin: 0;
	padding: 0;
	border: 0;
}
*, *:after, *:before {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

/* margin -------------------------- */
.mb10 {margin-bottom:10px;}
.mb20 {margin-bottom:20px;}
.mb30 {margin-bottom:30px;}
.mb40 {margin-bottom:40px;}
.mb50 {margin-bottom:50px;}
.mb60 {margin-bottom:60px;}
.mb70 {margin-bottom:70px;}
.mb80 {margin-bottom:80px;}
.mt60 {margin-top:60px;}
.mt80 {margin-top:80px;}
.mr10 {margin-right:10px;}

/* text -------------------------- */
.txt_red{
color:#dd0000;
}

/* line-height -------------------------- */
.lh2 {line-height: 2;}

/* header -------------------------- */
header {
	width: 100%;
	background-color: rgba(0, 33, 83, 0.7);
	position: fixed;
	z-index: 888;
}
header .inner {
	width: 980px;
	margin: 0 auto;
	height: 80px;
}
h1 {
	float: left;
	padding-top: 20px;
}
nav {
	float: right;
	width: 60%;
}
#menu {
	width: 100%;
	margin: 0 auto;
	padding: 0;
}
#menu li{
	display: block;
	float: left;
	width: 20%;
	margin: 0;
	padding: 0;
}
#menu li:first-child{
	display: none;
	}
#menu li a {
	display: block;
	padding: 28px 0 0;
	color: #FFF;
	text-align: center;
	text-decoration: none;
	height: 80px;
}
#menu li a::before,
#menu li a::after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
}
#menu li a,
#menu li a::before,
#menu li a::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}
#menu li a:hover {
	background-color: rgba(0, 33, 83, 0.3);
}
#toggle {
	display: none;
}

/* content -------------------------- */
.content {
	width: 880px;
	margin: 0 auto;
	text-align: center;
	padding: 80px 0;
}
img.image-pc {
	display: block;
	margin-left: auto;
	margin-right: auto;
}
img.image-sp {
	display: none;
}
.sub-inner {
	min-height: 500px;
	position: relative;
	background: rgba(0, 33, 83, 0.5);
}
.sub-inner h2 {
	position: absolute;
	height: 50%;
	top: 45%;
	width: 100%;
}
.content-right {
	float: right;
	text-align:left;
	width: 50%;
	padding-left:40px;
}
.content-left {
	text-align:left;
	width: 50%;
}
table {
	font-size:13px;
	border-collapse: collapse;
	width: 100%;
}
table th,
table td {
	padding: 12px;
	border: 1px solid #d7dbe0;
	text-align:left;
}
table th {
	background-color: #f7f8f9;
	text-align: center;
	width: 30%;
	text-align:left;
}
.button01 {
	display: inline-block;
	padding:0 80px;
	height: 54px;
	text-align: center;
	text-decoration: none;
	line-height: 54px;
	outline: none;
	border-radius: 27px;
    -webkit-border-radius: 27px;
    -moz-border-radius: 27px;
	background-color: #00a5d8;
	background-image:url(../images/arrow.png);
	background-repeat:no-repeat;
	background-position: 90%;
	color: #fff;
}
.button01::before,
.button01::after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
}
.button01,
.button01::before,
.button01::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}
.button01:hover {
	background-color: #7fd2eb;
}
.button02 {
	display: inline-block;
	padding:0 70px;
	height: 54px;
	text-align: center;
	text-decoration: none;
	line-height: 54px;
	outline: none;
	border-radius: 27px;
    -webkit-border-radius: 27px;
    -moz-border-radius: 27px;
	background-color: #00a5d8;
	background-image:url(../images/arrow.png);
	background-repeat:no-repeat;
	background-position: 90%;
	color: #fff;
}
.button02::before,
.button02::after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
}
.button02,
.button02::before,
.button02::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}
.button02:hover {
	background-color: #006396;
}
.button03 {
	display: inline-block;
	padding:0 80px;
	height: 54px;
	text-align: center;
	text-decoration: none;
	line-height: 54px;
	outline: none;
	border-radius: 27px;
    -webkit-border-radius: 27px;
    -moz-border-radius: 27px;
	background-color: #919fa3;
	background-image:url(../images/arrow2.png);
	background-repeat:no-repeat;
	background-position: 10%;
	color: #fff;
}
.button03::before,
.button03::after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
}
.button03,
.button03::before,
.button03::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}
.button03:hover {
	background-color: #bcc4c7;
}
a img{
	-webkit-transition: 0.3s ease-in-out;  
	-moz-transition: 0.3s ease-in-out;  
	-o-transition: 0.3s ease-in-out;  
	transition: 0.3s ease-in-out;
}
a img:hover{
	opacity:.7;
	filter: alpha(opacity=20);
}

/* mainvisual -------------------------- */
.mainvisual {
	background: url(../images/main_bg.jpg);
	background-size: cover; 
	background-position: center center;
	background-attachment: fixed;
}
.mainvisual .inner {
	min-height: 800px;
	position: relative;
	background: rgba(0, 33, 83, 0.3);
}
.mainvisual .inner h2 {
	position: absolute;
	height: 26%;
	top: 26%;
	width: 100%;
}

/* news -------------------------- */
/*.news {
	padding: 30px 20px;
	margin-bottom: 60px;
	border: solid 1px #d7dbe0;
}*/

.news {
	width: 100%;
	margin: 0 auto;
	text-align: center;
	padding: 50px 0;
	background-color: #f7f8f9;
}
 
/* works -------------------------- */
.works-bg {
	background: url(../images/works_bg.jpg);
	background-size: cover;
	background-position: center center;
	background-attachment: fixed;
}
.works-point-title {
	background-color: #002153;
	padding: 8px 0;
	margin: 50px 0 20px;
	color: #FFF;
}
.works-point {
	font-size:14px;
	padding: 30px 0;
	border: solid 1px #d7dbe0;
}
.works-point ul {
	width: 50%;
	margin: 0 auto;
	list-style-type: disc;
}
.works-point ul li {
	text-align:left;
}

/* company -------------------------- */
.company-bg {
	background: url(../images/company_bg.jpg);
	background-size: cover;
	background-position: center center;
	background-attachment: fixed;
}

/* recruit -------------------------- */
.recruit-bg {
	background: url(../images/recruit_bg.jpg);
	background-size: cover;
	background-position: center center;
	background-attachment: fixed;
}
.recruit-point-title {
	background-color: #002153;
	padding: 8px 0;
	margin-bottom: 20px;
	color: #FFF;
}
.recruit-point {
	font-size:14px;
	padding: 30px 0;
	margin-bottom: 40px;
	border: solid 1px #d7dbe0;
}
.recruit-point ul {
	width: 90%;
	margin: 0 auto;
	list-style-type: disc;
}
.recruit-point ul li {
	text-align:left;
}

/* contact -------------------------- */
.contact-bg {
	padding: 80px 0;
	text-align:center;
	background-color: #002153;
	color:#FFF;
}
.tel {
	font-size: 200%;
}
.mainvisual_contact {
	background: url(../images/contact_bg.jpg);
	background-size: cover;
	background-attachment: fixed;
}
.mainvisual_contact .inner {
	min-height: 500px;
	position: relative;
	background: rgba(0, 33, 83, 0.5);
}
.mainvisual_contact .inner h2 {
	position: absolute;
	height: 50%;
	top: 50%;
	width: 100%;
}
.content_contact01 {
	width: 100%;
	margin: 0 auto;
	text-align: center;
	padding: 50px 0;
	background-color: #f7f8f9;
}
.content_contact02 {
	width: 880px;
	margin: 0 auto;
	text-align: center;
	padding: 60px 0;
}
.content_contact03 {
	width: 880px;
	margin: 0 auto;
	text-align: center;
	padding: 140px 0 60px;
}
.form_txt1 {
	border:0;
	padding:5px;
	border:solid 1px #d7dbe0;
	width:60%;
}
.form_txt2 {
	border:0;
	padding:5px;
	border:solid 1px #d7dbe0;
	width:30%;
}
.form_txt3 {
	border:0;
	padding:5px;
	border:solid 1px #d7dbe0;
	width:100%;
}
.privacy {
	width: 100%;
	height: 240px;
	border: 1px solid #d7dbe0;
    overflow-y: scroll;
	margin-bottom: 50px;
}
.privacy dl {
	margin: 20px 0 0;
	text-align: left;
}
.privacy dd {
	margin: 0 0 20px 10px;
}
.privacy p:first-child {
	margin-top: 0;
}

/* footer -------------------------- */
#foot {
	width: 100%;
	padding: 60px 20px;
	font-size: 80%;
	letter-spacing: 1px;
	text-align:center;
}

/* pagetop -------------------------- */
#fixedTop {
	text-decoration: none;
    right: 10px;
    bottom: 10px;
    width: 50px;
    height: 50px;
    line-height: 50px;
    color: #fff;
    font-size: 20px;
    text-align: center;
    display: none;
    background: rgba(0,33,83,0.5);
    position: fixed;
    z-index: 777;
    -webkit-transform: translateZ(0);
}
#fixedTop:hover {
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
    opacity: 0.3;
}

@media screen and (max-width: 980px) {

/* header -------------------------- */	
header .inner {
	width: 100%;
	margin: 0;
	padding: 0 0 0 20px;
}
h1 {
	padding-top: 25px;
}
h1 img.image-pc  {
	display: none;
}
h1 img.image-sp {
	display: block;
	margin-left: auto;
	margin-right: auto;
}
nav {
	width: 67%;
}

/* content -------------------------- */
.content {
	width: 100%;
	margin: 0;
	padding: 80px 20px;
}
.content_contact01 {
	width: 100%;
	margin: 0;
	padding: 50px 20px;
}

/* news -------------------------- */
.news {
	margin-bottom: 50px;
}

/* contact -------------------------- */
.content_contact02 {
	width: 100%;
	margin: 0;
	padding: 60px 20px;
}
.content_contact03 {
	width: 100%;
	margin: 0;
	padding: 140px 20px 60px;
}
}

@media screen and (max-width: 750px) {
	
/* margin -------------------------- */
.mb50 {margin-bottom:30px;}
.mb60 {margin-bottom:40px;}
.mb70 {margin-bottom:50px;}
.mb80 {margin-bottom:60px;}
.mt60 {margin-top:40px;}

/* header -------------------------- */	
header .inner {
	padding: 0;
}
h1 {
	display: none;
}
nav {
	width: 100%;
}
#menu {
	display: none;
}
#menu li {
	width: 100%;
}
#menu li:first-child{
	display: block;
}
#menu li a {
	border-top: 1px solid rgba(255,255,255,0.2);
	height: 60px;
	padding: 17px 0 0;
}
#toggle {
	display: block;
	position: relative;
	width: 100%;
}
#toggle a{
	display: block;
	height: 80px;
	position: relative;
	padding: 25px 0 0;
	color:#FFF;
	text-align: left;
	left: 10px;
	text-decoration: none;
}
#toggle:before {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	right: 10px;
	text-align: right;
	width: 28px;
	height: 23px;
	margin-top: -12px;
	background-image:url(../images/burger.png);
	background-repeat:no-repeat;
}

/* content -------------------------- */
.content {
	width: 100%;
	margin: 0;
	padding: 50px 20px;
}
.mainvisual {
	background: url(../images/main_bg_sp.jpg);
	background-size: cover; 
}
.mainvisual .inner {
	min-height: 600px;
}
.sub-inner {
	min-height: 300px;
	position: relative;
	background: rgba(0, 33, 83, 0.5);
}
.content-left, .content-right {
	float: none;
	margin: 0;
	width: auto;
	padding: 0;
}
.content-left {
	padding-top:30px;
}
img.image-pc  {
	display: none;
}

img.image-sp {
	display: block;
	margin-left: auto;
	margin-right: auto;
}
table {
	border: 1px solid #d7dbe0;
	border-bottom:none;
  }
table td {
	padding: 8px;
	border:0;
    display: block;
	border-bottom: 1px solid #d7dbe0;
}
table th {
	  padding: 8px;
    display: block;
    border:0;
    width: 100%;
}
.works-bg {
	background: url(../images/works_bg_sp.jpg);
	background-size: cover;
}
.works-point-title {
	margin-top: 30px;
}
.works-point ul {
	width: 70%;
	margin: 0 auto;
	list-style-type: disc;
	line-height: 3;
}
.company-bg {
	background: url(../images/company_bg_sp.jpg);
	background-size: cover;
}
.recruit-bg {
	background: url(../images/recruit_bg_sp.jpg);
	background-size: cover;
}

/* contact -------------------------- */
.contact-bg {
	padding: 50px 0;
}
.mainvisual_contact {
	background: url(../images/contact_bg_sp.jpg);
	background-size: cover;
}
.content_contact01 {
	width: 100%;
	margin: 0;
	padding: 40px 20px;
}
.content_contact02 {
	width: 100%;
	margin: 0;
	padding: 50px 20px;
}
.content_contact03 {
	width: 100%;
	margin: 0;
	padding: 130px 20px 50px;
}
.mainvisual_contact .inner {
	min-height: 300px;
	position: relative;
	background: rgba(0, 33, 83, 0.5);
}
.contact-inner {
	padding: 0 20px;
}

/* footer -------------------------- */
#foot {
	padding: 30px 20px;
}
}