@charset "utf-8";
*, ::after, ::before {
     -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
             box-sizing: border-box;
}
@font-face { /*例*/
  font-family: "FontAwesome";
  src: url('../font/fa-solid-900.eot');
  src: url('../font/fa-solid-900.woff') format('woff'),
	   url('../font/fa-solid-900.woff2') format('woff'),
       url('../font/fa-solid-900.ttf') format('truetype'),
       url('../font/fa-solid-900.svg') format('svg');
  font-weight: normal;
  font-style: normal;
}

html, body {
	font-family:-apple-system,BlinkMacSystemFont,メイリオ,Meiryo,"Helvetica Neue","Hiragino Kaku Gothic ProN",sans-serif;
    color: #00479d;
	background-color: #eeeeee;
	line-height:1.6em;
	height:100%;
	
}
body {
    height: 100%;
    min-width: 1080px;
    margin: 0;
	padding: 0;
}
img {
	max-width: 100%;
}
a {
	color: #000000;
	text-decoration: none;
}
a:hover {
	opacity: 0.5;
}
#pagetop {
    position: fixed;
    bottom: 10px;
    right: 30px;
    cursor:pointer;
    z-index: 999;
}
.inview-mv01{
  opacity: 0;
  transform: translate(0,100px); 
  -webkit-transform: translate(0,100px); 
  transition: all 0.8s ease 0s;
}
.mv01{
  opacity: 1.0;
  transform: translate(0,0); 
  -webkit-transform: translate(0,0);
}
header {
	display: flex;
	align-items: center;
    justify-content: space-between;
	position: relative;
	max-width: 1000px;
	width: 100%;
	margin: 20px auto 0 auto;
}
.logoHeader {
	float: left;
}
header ul.menu {
	margin-top: 0;
}
.nonePc {
	display: none;
}
h1 {
	background: linear-gradient(#0037c2, #000099);
	color: #ffffff;
	font-weight: normal;
	font-size: 2em;
	letter-spacing: 0.1em;
	text-align: left;
	width: 60%;
	padding: 1.75em 0 1.75em 2em;
	margin-top: 2em;
	margin-bottom: 3em;
}
h2 {
	font-weight: normal;
	font-size: 1.5em;
	line-height: 1.5em;
	margin-bottom: 2em;
}
h3 {
	font-weight: normal;
}
ul.menu {
	list-style: none;
	float: right;
}
ul.menu li {
	color: #000000;
	float: left;
}
.blueLineBox {
	border: 1px #00479d solid;
	max-width: 500px;
	width: 100%;
	height: auto;
	padding: 1em 1em 1.5em 1em;
	margin: 0 auto 1em auto;
}
.blueLineBox .wrapper,
.blueBox .wrapper {
	display: inline-block;
	width: auto;
	float: none;
	margin-top: 2em;
}
.telNumber {
	font-size: 2em;
}
.clearBox {
	border: 1px #eeeeee solid;
	max-width: 425px;
	width: 100%;
	height: auto;
	padding: 1em 1em 1.5em 1em;
	margin: 0 auto 1em auto;
}
.blueBoxes .contactButton {
	border: 1px #ffffff solid;
	border-radius: 8px;
	padding: 0.5em;
	margin: 1.5em 0;
}
.blueBoxes .contactButton:hover {
	background: #ffffff;
	color: #000099;
}
.blueBoxes {
	display: flex;
	align-items: top;
	justify-content: space-between;
	max-width: 912px;
	width: 100%;
	margin: 0 auto;
}
.blueBox1 {
	display: flex;
    justify-content: center;
    align-items: center;
	background: linear-gradient(#0037c2, #000099);
	color: #ffffff;
	max-width: 425px;
	width: 100%;
	height: auto;
	padding: 1em 1em 1.5em 1em;
	margin: 0 auto 1em auto;
}
.blueBox1 a {
	color: #ffffff;
}
.blueBox2 {
	background: linear-gradient(#0037c2, #000099);
	color: #ffffff;
	max-width: 425px;
	width: 100%;
	height: auto;
	padding: 1em 1em 1.5em 1em;
	margin: 0 auto 1em auto;
}
.bluLineBox .wrapper,
.blueBox2 .wrapper {
	display: inline-block;
	margin-top: 2em;
}
.blueLineBox .wrapper .text,
.blueBox2 .wrapper .text {
	text-align: left;
	float: right;
}
section {
	width: 100%;
	margin: 0 auto;
	text-align: center;
}
#main1 {
	width: 100%;
	position: relative;
	margin-top: 4em;
	margin-bottom: -4em;
}
#main1 .box {
	position: absolute;
	color: #000000;
	text-align: left;
	width: 35%;
	top: 20%;
	left: 15%;
}
#main1 .box h1 {
	background: transparent;
	color: #000000;
	text-align: left;
	width: 100%;
	padding: 0;
	margin-bottom: 1.5em;
}
#main2,
#main3,
#main4,
#main5 {
	position: relative;
	width: 100%;
	display: inline-block;
	margin-bottom: 6em;
}
#main2 img {
	float: right;
	width: 65%;
	margin-top: 3em;
}
#main2 .blueBackLeft {
	position: absolute;
	background: url(../img/blueBackLeft.png) top left / 55% no-repeat;
	width: 100%;
	height: 100%;
	text-align: left;
	padding: 5% 60% 5% 5%;
}
#main3 img {
	float: left;
	width: 70%;
	margin-bottom: 3em;
}
#main3 .blueBackRight {
	position: absolute;
	background: url(../img/blueBackRight.png) top right / 55% no-repeat;
	width: 100%;
	height: 100%;
	text-align: left;
	padding: 5% 5% 5% 60%;
	margin-top: 4em;
}
#main4 img {
	float: right;
	width: 65%;
	margin-top: 3em;
}
#main4 .blueBackLeft {
	position: absolute;
	background: url(../img/blueBackLeft.png) top left / 55% no-repeat;
	width: 100%;
	height: 100%;
	text-align: left;
	padding: 5% 60% 5% 5%;
}
#main5 img {
	float: right;
	width: 100%;
	margin-top: 3em;
}
#main5 .blueBackRight {
	position: absolute;
	background: url(../img/blueBackRight.png) top right / 55% no-repeat;
	width: 100%;
	height: 100%;
	text-align: left;
	padding: 5% 5% 5% 60%;
}
#main2 a,
#main3 a,
#main4 a,
#main5 a {
	color: #ffffff;
}
#main2 .blueBackLeft .box,
#main3 .blueBackLeft .box,
#main4 .blueBackLeft .box,
#main5 .blueBackLeft .box,
#main2 .blueBackRight .box,
#main3 .blueBackRight .box,
#main4 .blueBackRight .box,
#main5 .blueBackRight .box{
	color: #ffffff;
	text-align: left;
}
.arrow {
	border: 1px #ffffff solid;
	padding: 0.5em;
	margin: 2em auto 2em auto;
	width: 10em;
	text-align: center;
}
section.inview-mv01 div .box a:hover {
	opacity: inherit;
}
.arrow:hover {	
	border: 1px #ffffff solid;
	background: #ffffff;
	color: #000099;
}
.fa-angle-double-right:before {
	content: '\f105';
	margin: 0 0 0 1em;
	font-family: FontAwesome;
}
#works .text1 {
	color: #000000;
	margin: 0 auto;
	margin-bottom: 6em;
	text-align: left;
	max-width: 600px;
	width: 100%;
}
#works1 .wrapper .number,
#works2 .wrapper .number,
#works3 .wrapper .number{
	font-size: 2.5em;
}
#works1 {
	position: relative;
	width: 100%;
	display: inline-block;
	margin-bottom: 6em;
}
#works1 img {
	float: right;
	width: 50%;
	margin-top: 3em;
}
#works1 .wrapper {
	position: absolute;
	width: 100%;
	text-align: left;
	padding: 0 0 0 6em;
}
#works1 .wrapper .text {
	width: 30%;
}
#works2 {
	position: relative;
	width: 100%;
	display: inline-block;
	margin-bottom: 6em;
}
#works2 img {
	float: left;
	width: 70%;
	margin-top: 3em;
}
#works2 .wrapper {
	position: absolute;
	width: 100%;
	text-align: left;
	padding: 0 6em 0 0;
}
#works2 .wrapper .text {
	width: 40%;
	text-align: left;
	float: right;
}
#works2 .wrapper .number,
#works2 .wrapper h2 {
	text-align: right;
}
#works3 {
	position: relative;
	width: 100%;
	display: inline-block;
	margin-bottom: 6em;
}
#works3 img {
	float: right;
	width: 75%;
	margin-top: 3em;
}
#works3 .wrapper {
	position: absolute;
	width: 100%;
	text-align: left;
	padding: 0 0 0 6em;
}
#works3 .wrapper .text {
	width: 35%;
}
#products .text1 {
	color: #000000;
	margin: 0 auto;
	margin-bottom: 6em;
	text-align: left;
	max-width: 600px;
	width: 100%;
}
#products .wrapper {
	display: flex;
	justify-content: space-between;
	width: 100%;
	max-width: 912px;
	margin: 0 auto;
	margin-bottom: 6em;
}
#products .wrapper img {
	float: right;
	width: 50%;
	height: 50%;
}
@media all and (-ms-high-contrast: none){
	#products .inview-mv01.mv01 .wrapper img {
		width: 226px;
	}
	#products .inview-mv01.mv01 .wrapper img.w100 {
		float: inherit;
		width: 100%;
		max-height: 151px;
	}
}
#products .text2,
#products .text3 {
	color: #000000;
	margin: 0 auto;
	margin-bottom: 6em;
	margin-right: 14px;
	text-align: left;
	width: 100%;
	float: left;
}
#products .wrapper_graph {
	display: flex;
	justify-content: space-between;
	width: 100%;
	max-width: 700px;
	margin: 0 auto;
	margin-bottom: 10em;
}
.material {
	width: 100%;
	margin: 0 auto;
	color: #4276b0;
}
.material .title {
	font-weight: bold;	
	color: #00479d;
}
.material th, 
.material td {
	vertical-align: top;
	text-align: left;
	padding: 0.5em;
	border: none;
	border-bottom: 1px solid #c1e1f7;
}
.material th {
	width: 50%;;
	font-weight: normal;
}
.material td {
}
#recruit h1 {
	margin-bottom: 0;
}
#recruit .catchWrapper {
	background: url(../img/recruit1_pc.jpg) top center / 100% no-repeat;
	position: relative;
	max-width: 912px;
	min-height: 604px;
	margin: 0 auto;
	margin-bottom: 6em;
}
#recruit .catch {
	position: absolute;
    top: 50%;
	list-style: none;
    -ms-transform: translateY(-50%);
    -webkit-transform : translateY(-50%);
    transform : translateY(-50%);
}
#recruit .catch .text1 {
	font-weight: bold;
	font-size: 1.5em;
	line-height: 1.5em;
	margin-bottom: 3em;
	animation: fadeIn 2s ease 5s 0 normal;
	-webkit-animation: fadeIn 2s ease 5s 0 normal;
	-moz-animation: fadeIn 2s ease 5s 0 normal;
	-ms-animation: fadeIn 2s ease 5s 0 normal;
}
#recruit .catch .text2 {
	color: #333333;
	font-weight: bold;
	text-shadow: 2px 2px 0px #ffffff;
	margin: 0 12em 0 12em;
	animation: fadeIn 2s ease 10s 0 normal;
	-webkit-animation: fadeIn 2s ease 10s 0 normal;
	-moz-animation: fadeIn 2s ease 5s 0 normal;
	-ms-animation: fadeIn 2s ease 5s 0 normal;
}
@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}
@-webkit-keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}
#messages {
	position: relative;
	width: 100%;
	margin-bottom: 6em;
}
#recruit .message1,
#recruit .message2 {
	width: 100%;
	max-width: 912px;
	margin: 0 auto;
	text-align: left;
	color: #000000;
	overflow: hidden;
}
#recruit .message1 .text1 {
	width: 100%;
}
#recruit .message2 .text2 {
	max-width: 70%;
	width: 100%;
}
#recruit .messageWrapper {
	display: inline-block;
	position: relative;
	max-width: 1080px;
	width: 100%;
	margin-bottom: 6em;
}
#recruit .messageWrapper img {
	position: absolute;
	bottom: 0;
	right: 0;
}
#company .greeting {
	position: relative;
	margin-bottom: 6em;
}
#company .greeting img {
	width: 100%;
}
#company .greeting .wrapper {
	position: absolute;
	text-align: left;
	width: 55%;
	top: 25%;
	left: 10%;
}
#company .greeting h2 {
	text-align: center;
}
#company .greeting .text {
	color: #000000;
}
#company .name {
	display: flex;
	float: right;
	margin: 3em 0 2em 0;
}
#company .greeting .wrapper .text img {
	width: 157px;
}
#company .slogan {
	color: #000000;
	font-size: 1.5em;
	line-height: 1.5em;
	margin-bottom: 4em;
}
#company .tableWrapper {
	display: flex;
	justify-content: space-between;
	max-width: 912px;
	margin: 0 auto;
	margin-bottom: 6em;
}
#company .tableWrapper img {
	height: 100%;
}
.basic1 {
	width: 100%;
	margin: 0 auto;
	text-align: left;
	border-color: #a0a0a0;
	margin-right: 20px;
}
.basic2 {
	width: 100%;
	max-width: 912px;
	margin: 0 auto;
	text-align: left;
	border-color: #a0a0a0;
	margin-bottom: 6em;
}
.basic1 th, td,
.basic2 th, td {
	padding: 0.75em 1.5em 0.75em 1.5em;
}
.basic1 th,
.basic2 th {
	background: linear-gradient(to right, #000099, #0037c2);
	color: #ffffff;
	font-weight: normal;
	text-align: left;
	vertical-align: top;
	width: 20%;
}
.basic1 td, 
.basic2 td {
	color: #000000;
	width: auto;
}
#company .companies {
	display: flex;
	justify-content: space-between;
	max-width: 912px;
	width: 100%;
	margin: 0 auto;
	margin-bottom: 6em;
}
#company .company_name {
	display: inline-block;
	text-align: left;
	color: #000000;
	width: 33%;
}
#company .company1 td, #company .company2 td {
	margin: 0;
	padding: 0 2em 0 0;
}
#company .map {
	position: relative;
	width: 100%;
	height: 450px;
	margin-bottom: 15em;
}
#company .map .blueBox3 {
	background: linear-gradient(#0037c2, #000099);
	color: #ffffff;
	max-width: 400px;
	width: 100%;
	height: auto;
	padding: 2em;
	text-align: left;
	position: absolute;
	bottom: -70px;
	right: 50px;
	z-index: 9999;
}
#company .map .blueBox3 .text1 {
	font-size: 1.2em;
	line-height: 2em;
}
#company .map .blueBox3 .text2 {
	line-height: 1.5em;
}
.contactNoteBox {
	background-color: #ffffff;
	color: #000000;
	margin:0 auto;
	border-bottom:none;
	overflow: auto;
	border: 1px solid #ccc;
	padding: 20px;
	height: 200px;
}
.contactNoteBox h3 {
	text-align: center;
	font-weight: bold;
	font-size: 1.2em;
	margin-bottom: 15px;
}
.contactNoteBox h4 {
	margin-top: 15px;
	margin-bottom: 0;
	font-size: 1em;
}
.contactNoteBox p {
	text-align:left;
	color:#333;
	line-height:1.5em
}
.contactNoteBox li {
	font-size: .875em;
}
.contactNoteBox p.note {
	margin-top:30px;
	font-size:0.7em
}
#thanks img {
	margin-top: 1em;
}
footer .wrapper {
	display: flex;
	align-items: center;
    justify-content: space-between;
	max-width: 1000px;
	width: 100%;
	margin: 100px auto 50px auto;
}
footer ul.menu {
	list-style: none;
	font-size: 0.85em;
}
footer.cr_bottom {
	width: 100%;
	position: fixed;
	bottom: 0;
}
.cr {
	background: linear-gradient(#0037c2, #000099);
	color: #ffffff;
	width: 100%;
	font-size: 0.8em;
	text-align: center;
	padding: 1em 0 1em 0;
}

/* ==================================
  Mobile
================================== */


@media (max-width: 768px) {
header, footer {
	width: 100%;
	font-size: 1.1em;
}
html {
	overflow-x: hidden !important;/*ぐらつきなしに*/
	-webkit-overflow-scrolling: touch;/*スクロールを滑らかに*/
}
body {
	overflow-x: hidden !important;/*ぐらつきなしに*/
	-webkit-overflow-scrolling: touch;/*スクロールを滑らかに*/
	width: 100%;
	min-width: 100%;
	font-size: 1.1em;
}
.noneSp {
	display: none;
}
.basic1,
.basic2 {
	width: auto;
    table-layout: fixed;
    word-break: break-all;
    word-wrap: break-word;
	border-collapse: collapse;
	border-top: none;
}
.basic1 th, td,
.basic2 th, td {
	border: none;
}
.basic1 th,
.basic2 th {
	display: block;
    width: auto;
}
.basic1 td,
.basic2 td {
	display: block;
	padding: 1em;
}
section h1 {
	font-size: 1.25em;
	letter-spacing: 0;
	text-align: center;
	width: 100%;
	padding: 1em;
	overflow: hidden;
}
h2 {
	font-size: 1.2em;
}
.nonePc {
	display: block;
}
header,
footer .wrapper {	
	width: 90%;
}
header img {
	padding-left: 7%;
}
header {
	display: block;
	margin: 20px auto 0 auto;
	text-align: center;
	float: left;
}
#pagetop {
	display: none;
}
.logoHeader {
	width: 80%;
	float: none;
	text-align: left;
}
.logoFooter {
	width: 50%;
	margin: 0 auto;
	float: none;
}
section {
	width: 90%;
}
.blueBoxes {
	display: block;
	width: 100%;
}
.blueLineBox,
.blueBox1,
.blueBox2 {
	max-width: 100%;
	width: 100%;
	height: auto;
	margin: 0 auto 1em auto;
	float: left;
}
#main1 .box {
	position: relative;
	width: 100%;
	margin: 0 auto;
	margin-bottom: 2em;
	padding: 5%;
	top: 0;
	left: 0;
}
#main2,
#main3,
#main4,
#main5 {
	margin: 0;
	padding: 0;
}
#main2 .blueBackLeft,
#main3 .blueBackRight,
#main4 .blueBackLeft,
#main5 .blueBackRight {
	position: relative;
	background: #000099;
	padding: 5%;
	overflow: hidden;
}
#main2 .blueBackLeft {
	margin-bottom: -1em;
}
#main3 .blueBackRight {
	margin-bottom: -4em;
}
#main4 .blueBackLeft {
	margin-bottom: -4em;
}
#main2 img,
#main3 img,
#main4 img,
#main5 img {
    width: 100%;
	margin-bottom: 0;
}
#company {
}
#company .greeting {
}
#company .greeting img {
	position: relative;
}
#company .greeting .wrapper {
	position: relative;
	width: 100%;
	top: 0;
	left: 0;
	margin-bottom: 2em;
}
.basic1 {
	width: 100%;
}
#company .tableWrapper {
	display: block;
}
#company .tableWrapper img {
	width: auto;
	height: auto;
}
#company .companies {
	display: block;
}
#company .company_name {
	width: 100%;
}
#company .map {
	width: 100%;
}
#company .map {
	max-height: 768px;
	margin-bottom: 2em;
}
#company .map .blueBox3 {
	position: relative;
	background: #000099;
	max-width: 768px;
	margin-bottom: 6em;
	bottom: 0;
	right: 0;
	float: left;
}
#works1,
#works2,
#works3 {
	width: 100%;
	display: block;
	margin-bottom: 4em;
}
#works1 img,
#works2 img,
#works3 img {
	float: none;
	width: 100%;
	margin-top: 1em;
}
#works1 .wrapper,
#works2 .wrapper,
#works3 .wrapper {
	position: relative;
	width: 100%;
	padding: 0 5% 0 5%;
	float: left;
}
#works1 .wrapper .text,
#works2 .wrapper .text,
#works3 .wrapper .text {
	width: 100%;
	float: left;
}
#works2 .wrapper .number,
#works2 .wrapper h2 {
	text-align: left;
}
#products .wrapper {
	display: block;
	max-width: 768px;
}
#products .text2,
#products .text3 {
	margin-bottom: 1em;
}
#products .wrapper img {
	width: 100%;
	float: none;
}
#products .wrapper_graph {
	display: block;
	max-width: 768px;
	margin-bottom: 6em;
}
#recruit .catchWrapper {
	background: url(../img/recruit1_sp.jpg) top center / 100% no-repeat;
	position: relative;
	max-width: 768px;
	margin-bottom: 0;
}
#recruit .catch {
    top: 250px;
	margin: 0 5% 0 5%;
    -ms-transform: translateY(-50%);
    -webkit-transform : translateY(-50%);
    transform : translateY(-50%);
}
#recruit .catch .text1 {
	font-weight: bold;
	font-size: 1.25em;
	line-height: 1.5em;
	margin-bottom: 2em;
}
#recruit .catch .text2 {
	color: #333333;
	font-weight: bold;
	text-shadow: none;
	margin: 0;
}
#recruit .message2 .text2 {
	max-width: 100%;
}
#recruit .messageWrapper {
	margin-bottom: 4em;
}
#recruit .messageWrapper img {
	position: relative;
	width: 100%;
	margin-top: 1em;
}
footer .wrapper {
	display: block;
	width: 100%;
	margin: 0 auto;
	overflow: hidden;
}
footer .wrapper ul {
	width: 100%;
	float: left;
}
.cr {
	overflow: hidden;
}
}/*768ここまで*/