body {
  font-family: "ヒラギノ角ゴ Std", HiraKakuProN-W3, 游ゴシック, "Yu Gothic", メイリオ, Meiryo, Verdana, Helvetica, Arial, sans-serif;
  letter-spacing: 0.05em;
  position: relative;
  color: #000;
}
a {
  color: #00baff;
  text-decoration: none;
}
a:hover {
  opacity: 0.7;
}
h3,
h4 {
  margin: 0px;
  padding: 0px;
}
ul,
li {
  margin: 0px;
  padding: 0px;
  list-style: none;
}
.cf {
	*zoom: 1;
}
.cf:after {
  content: "";
  display: table;
  clear: both;
}
caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: top;
}
.pc {
  display:block;
}
.sp {
  display:none;
}
dt,
dl,
dd {
  margin: 0px;
  padding: 0px;
}
dt{
  font-weight: normal;
}
table {
	border-collapse: collapse;
  border-spacing: 0;
}
body.index header.global {
  background:#fff ;
  position:fixed;
  width:100%; 
  height:80px; 
  box-shadow:0px 2px 4px 0px rgba(0, 0, 0, 0.2); 
  z-index:9999;
}
body.index header.global h1.main_logo {
  margin: 14px 0 0;
  display: block;
  float: left;
	max-width: 180px;
}
body.index header.global h1.main_logo a {
	color: #000;
	font-size: 24px;
}
body.index header.global h1.main_logo a img {
	width: 100%;
}
body.index header.global nav {
	float: right;
}
body.index header.global .wrapper {
	max-width: 1440px;
	margin: 0 auto;
	padding: 0 20px;
}
body.index header.global nav ul { 
	width:auto;
	margin:0 auto;
	display: flex;
}
body.index header.global nav ul li {
	margin-left: 35px;
}
@media (max-width:900px){
body.index header.global nav ul li {
	margin-left: 15px;
}
}
body.index header.global nav ul li a {
	height:80px;
	font-size:15px;
	line-height: 80px;
	font-weight: bold;
	display:block;
	color: #000;
}
@media (max-width:800px){
body.index header.global nav ul li a {
	font-size:12px;
}
}
body.index header.global nav ul li a:hover { 
	opacity: 0.5;
}
footer {
	padding: 30px 0;
	border-top: 2px solid #000;
}
footer p.copyright {
  color: #000;
	font-size: 12px;
	text-align: center;
	margin: 0;
}
footer .pagetop {
    position: fixed;
    right: 16px;
    bottom: 16px;
    z-index: 1000;
}
@media (max-width:640px){
img { 
	width:100%;
	height:auto;
}
.pc {
	display:none;
}
.sp {
	display:block;
}
.right {
	float:none;
}
.left {
	float:none;
}
body.index header.global {
  width: 100%;
  z-index: 9999;
  height: 60px;
  padding-top: 0;
  position: fixed;
  background-color: #fff;
  box-shadow: 0px 2px 4px 0px rgb(0 0 0 / 20%);
}
body.index header.global .wrapper {
	width: auto;
	position: relative;
	padding: 0;
}
body.index header.global h1.main_logo {
  width: auto;
  margin: 0;
	position: absolute;
  top: 8px;
  left: 10px;
  z-index: 9;
	max-width: 150px;
	float: none;
}
body.index header.global h1.main_logo a {
}
body.index header.global h1.main_logo img {
  height: auto;
	width: 100%;
}
body.index header.global .menu {
	background:#fff;
	height:50px;
	padding:0;
	box-shadow:0px 2px 4px 0px rgb(0 0 0 / 20%);
	position: relative;
	border-bottom: 1px solid #00baff;
}
body.index header.global .menu .btn {
	background:url(../img/btn_menu.png) 0 0 no-repeat;
	background-size:21px 16px;
	width:21px;
	height:16px;
	text-indent:-9999px;
	position: absolute;
	right: 10px;
	top: 16px;
}
body.index header.global .menu .btn.close {
	background:url(../img/btn_close.png) 0 0 no-repeat;
	background-size:18px 18px;
	width:18px;
	height:18px;
	text-indent:-9999px;
}
body.index header.global nav ul {
	width:auto;
	height:640px;
	background:rgba(0, 0, 0,0.7);
	margin:0 auto;
	display:none;
	border-top:none;
}
body.index header.global nav ul li {
	float:left;
	margin-left: 0;
	width:100% !important;
	background:#fff;
	border-bottom:solid 1px #00baff;
}
body.index header.global nav ul li span.jp {
	display: inline;
}
body.index header.global nav ul li:last-child {
	border-bottom: none;
}
body.index header.global nav ul li a {
	color:#4d4d4d;
	text-decoration:none; 
	width:100% !important;
	text-align:center;
	font-size:14px;
	padding:16px 0 16px;
	display:block;
	outline: none;
	text-indent:0;
	height:auto;
	line-height: 1;
	border-left:none;
}
body.index header.global nav {
	float: none;
}
footer p.copyright {
	line-height: 1.4;
}
footer .pagetop {
    position: fixed;
    right: 8px;
    bottom: 8px;
    z-index: 1000;
    width: 64px;
}
}


body.index .main_visual {
	width: 100%;
	max-width: 2000px;
	background:url("../img/bg_hero_home.jpg") top center no-repeat;
	background-size:cover;
	margin: 0 auto;
	padding-top: 70px;
}
body.index .main_visual .hero {
	width: 100%;
	margin: 0 auto;
	position: relative;
}
body.index .main_visual .hero .main_text {
	margin: 0 auto;
	color: #fff;
	font-size: 60px;
	text-align:center;
	font-weight: bold;
	padding: 20% 0;
}
@media (max-width:900px){
body.index .main_visual .hero .main_text {
	font-size: 40px;
}
}

body.index .hero img{
	width: 100%;
}
body.index .main_visual .hero .recruit_btn {
	width: 13%;
	max-width: 243px;
	right: 5%;
	bottom: 7%;
	position: absolute;
}
body.index.recruit .main_visual {
	background:none;
	padding-bottom: 50px;
}
body.index.recruit .main_visual .hero .main_text {
	margin: 0 auto;
	color: #000;
	font-size: 40px;
	line-height: 60px;
	padding: 35px 0 20px;
	font-weight: bold;
	font-family: serif;
}
body.index.recruit .main_visual .hero .main_text span {
	text-shadow:1px 1px 0 #000, -1px -1px 0 #000,-1px 1px 0 #000, 1px -1px 0 #000,0px 1px 0 #000,  0-1px 0 #000,-1px 0 0 #000, 1px 0 0 #000;
	font-size: 55px;
}
body.index.recruit .main_visual .hero .main_text span.technology {
	color: #FF0000;
}
body.index.recruit .main_visual .hero .main_text span.bosui {
	color: #0014FF;
}
body.index.recruit .main_visual .hero .main_text span.professional {
	color: #00C60F;
}
body.index.recruit .main_visual .hero .main_text span.features {
	color: #00baff;
}
body.index.recruit .main_visual .hero .sub_text {
	text-align: center;
	font-size: 30px;
	font-weight: bold;
	font-family: serif;
}
body.index.recruit .main_visual .hero .sub_text span {
	font-size: 24px;
}
body.index .contents {
	/*width: 940px;*/
	width: 100%;
	margin: 0 auto;
	padding: 7% 0 0;
}
@media (max-width: 1200px) {
body.index.recruit .main_visual .hero .main_text {
	font-size: 30px;
}
body.index.recruit .main_visual .hero .main_text span {
	font-size: 40px;
}
}
@media (max-width: 900px) {
body.index.recruit .main_visual .hero .main_text {
	font-size: 20px;
	padding-bottom: 0;
}
body.index.recruit .main_visual .hero .main_text span {
	font-size: 30px;
}
body.index.recruit .main_visual .hero .sub_text {
	font-size: 24px;
}
body.index.recruit .main_visual .hero .sub_text span {
	font-size: 20px;
}
}
body.index.recruit .contents {
	padding:0;
}
body.index .contents section .inner {
	margin: 0 auto 70px;
	max-width: 940px;
	width: 100%;
}
body.index .contents section h2.section_title {
	font-size: 40px;
  text-align: center;
  display: block;
  color: #000;
  margin-bottom: 60px;
  font-weight: bold;
	margin-top: 0;
	background:url("../img/icon_h2_bar.jpg") bottom center no-repeat;
	background-size:73px auto;
	padding-bottom: 20px;
}

@media (max-width: 640px) {
body.index .main_visual {
	margin: 0 auto;
	width: auto;
	padding-top: 60px;
	background-size:cover;
}
body.index .main_visual .hero,
body.index.recruit .main_visual .hero {
	width: auto;
}
body.index .main_visual .hero .main_text {
	font-size: 30px;
	line-height: 1.5;
	padding: 15% 20px;
  float: none;
}
body.index.recruit .main_visual .hero .sub_text {
	width: auto;
	font-size: 20px;
	padding: 0 0 15px;
}
body.index.recruit .main_visual .hero .sub_text span{
	font-size: 16px;
}
body.index .contents {
	width: auto;
	margin: 0 auto;
	padding:20px 0 0;
}
body.index .contents section .inner {
	margin: 0 auto 40px;
}
body.index .contents section h2.section_title {
	font-size: 26px;
	margin-bottom: 20px;
	padding-bottom: 10px;
	background-size: 30px auto;
}
body.index.recruit .main_visual {
	margin: 0 auto;
	padding-top: 60px;
	padding-bottom: 20px;
}
body.index.recruit .main_visual .hero .main_text {
	margin: 0 auto;
	color: #000;
	font-size: 20px;
	line-height: 1.5;
	padding: 20px 10px 10px;
  float: none;
	font-weight: bold;
}
body.index.recruit .main_visual .hero .main_text span {
	font-size: 24px;
}
body.index.recruit .main_visual .hero .main_text span.professional {
	display: block;
}
}


@media (max-width:640px){
body.index header.global .menu {
	background:#fff;
	height:auto;
	padding:0;
	box-shadow:0px 5px 4px 0px rgb(0 0 0 / 20%);
	position: relative;
	display: block;
	border-top: 1px solid #0078FF;
}
body.index header.global nav ul {
	width:auto;
	height:640px;
	background:rgba(0, 0, 0,0.7);
	margin:0 auto;
	/*display:none;*/
	border-top:none;
}
body.index header.global nav ul li {
	float:left;
	margin-left: 0;
	width:100% !important;
	background:#fff;
	border-bottom:solid 1px #0078FF;
}
body.index header.global nav ul li span.jp {
	display: inline;
}
body.index header.global nav ul li:last-child {
	border-bottom: none;
}
body.index header.global nav ul li a {
	color:#4d4d4d;
	text-decoration:none; 
	width:100% !important;
	text-align:center;
	font-size:16px;
	padding:16px 0 16px;
	display:block;
	outline: none;
	text-indent:0;
	height:auto;
	line-height: 1;
	border-left:none;
}
body.index header.global nav {
	float: none;
	width: 100%;
}
}

/*　ハンバーガーメニューボタン　*/
.hamburger {
	display: none;
}

nav.global_menu ul {
  margin: 0 auto;
  padding: 0;
  width: 100%;
}
nav.global_menu ul li:last-child {
  padding-bottom: 0;
}

/* クリックでjQueryで追加・削除 */
nav.global_menu.active {
  opacity: 100;
  display: block;
}


@media (max-width: 640px) {
.hamburger {
  display : block;
  position: fixed;
  z-index : 3;
  right : 10px;
  top   : 10px;
  width : 42px;
  height: 42px;
  cursor: pointer;
  text-align: center;
}
.hamburger span {
  display : block;
  position: absolute;
  width   : 30px;
  height  : 2px ;
  left    : 6px;
  background : #000;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition   : 0.3s ease-in-out;
  transition        : 0.3s ease-in-out;
}
.hamburger span:nth-child(1) {
  top: 10px;
}
.hamburger span:nth-child(2) {
  top: 20px;
}
.hamburger span:nth-child(3) {
  top: 30px;
}
/* スマホメニューを開いてる時のボタン */
.hamburger.active span:nth-child(1) {
  top : 20px;
  left: 6px;
  background :#000;
  -webkit-transform: rotate(-45deg);
  -moz-transform   : rotate(-45deg);
  transform        : rotate(-45deg);
}

.hamburger.active span:nth-child(2),
.hamburger.active span:nth-child(3) {
  top: 20px;
  background :#000;
  -webkit-transform: rotate(45deg);
  -moz-transform   : rotate(45deg);
  transform        : rotate(45deg);
}
nav.global_menu ul li {
  width: 100%;
  transition: .4s all;
}
/* メニュー背景　*/
nav.global_menu {
  position: fixed;
  z-index : 2;
  top  : 60px;
  left : 0;
  color: #fff;
  text-align: center;
  width: 100%;
  opacity: 0;
  display: none;
  transition: opacity .6s ease, visibility .6s ease;
}
nav.global_menu ul li {
  list-style-type: none;
  padding: 0;
  width: 100%;
  transition: .4s all;
}
}
