
  #wrapper {
      width: 100%;
      overflow: hidden;
      min-height: 100%;
      overflow-x: hidden;
      overflow-y: hidden;
  }
body {
        background: #F8F8F8;
        margin-bottom: 80px;
        font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, sans-serif;
  }

  h1,h2,h3,h4 {
      font-family: 'Noto Serif JP', sans-serif "游ゴシック Medium",YuGothic,YuGothicM,"Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro",メイリオ,Meiryo,sans-serif;
    }
  h1 {
    font-size: 2rem;
    letter-spacing: 0.1rem;
    }

  h2 {
    font-size: 1.5rem;
    margin: 0;
    padding-bottom: 7px;
    position: relative;
    border-bottom: 2px solid #E4E4E4;
  }
  h2:before {
      position: absolute;
      background: #EB2828;
      height: 2px;
      content: "";
      width: 50px;
      bottom: -2px;
      left: 0;
    }
  h2,h3 {
      margin-bottom: 1.5rem;
    }
  h3  {
      font-size: 1.3rem;
  }
  p {
    line-height: 1.6;
    font-size: 0.9rem;
    letter-spacing: 0.1rem;
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, sans-serif;
  }
  .main-hero-text p {
    font-size: 1rem;
  }

img[src="img/company_logo.svg"] {
  width: 200px;
  height: 40px;
}

/*=======  Hero  ===========
=============================*/

/*  .player {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .player-cont {
    height: 400px;
    position: relative;
  }*/

  #hero-gif {
    background-image: url(img/hero.gif);
    background-position: center;
    background-repeat: no-repeat;
}
  .hero_style_01 {
    height: 400px;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .hero_style_01 h1 {
    /*padding-top: 1.6rem;*/
    /*padding-bottom: 1.6rem;*/
    margin-top: 1rem;
    font-weight: 800;
    color: white;
    display: inline-block;
    text-shadow: 0px 0px 4px #282828;
    line-height: 1.6;
    letter-spacing: 1rem;
    font-size: 1.3rem;
  }

  .hero_style_01 p {
    color: white;
    text-shadow: 0px 0px 4px #282828;
    font-weight: 500;
  }


/* === Navigation Setting === */

.style_nav {
    display: none;
    font-size: 0.9rem;
}
.style_nav button:hover,
.form-group .btn:hover {
  background: #5f90ee;
}

#bottomNav a {
  display: block;
  width: 100%;
  color: white;
  font-size: 1rem;
}
a.logo {
  color: #131313;
}

.logoNavi {
  position: absolute;
  bottom: 10px;
  left: 25%;
  margin: 0 auto;
}

.header_style_01 {
  position: fixed;
  top: 0;
  width: 100%;
  background: #f8f8f8;
  color: black;
  z-index: 1000;
  height: 56px;
  box-shadow:0px 10px 15px -7px rgba(142,142,142,0.5);
 /* position: relative;*/
}

li.nav-item {
  padding-right: 0.8rem;
  padding-left: 0.8rem; 
}
.navbar-light .navbar-nav .nav-link{
  color: #393939;
}
/*.navbar-light .navbar-nav .nav-link:hover{
  color: #633838;
}*/
.nav_style_02{
  font-size: 2.5rem;
  color: white;
}
.nav_style_02:not(:last-child) {
  border-right: 1px solid white;
}
.nav_style_01 {
    position: fixed;
    bottom: 0;
    background: #892e2e;
    z-index: 100;
    padding: 0.5rem;
    height: 80px;
}
.nav_style_02 i.far, .nav_style_02 i.fas {
    font-size: 1.6rem;
}

.header_style_02 {
  background: linear-gradient(to right, rgba(69, 69, 69, 0.95) 0%,rgba(24, 24, 24, 0.95) 100%) !important;
  width: 100%;
  height: 100%;
  padding: 3.2rem;
}
.header_style_02 ul {
  padding-left: 0;
} 
.header_style_02 li {
  margin-top: 1.6rem;
  padding-bottom: 0.5rem;
  list-style-type: none;
  font-size: 1.6rem;
  border-bottom: 2px dotted white;
}
.header_style_02 li a {
  color: white;
}
.header_style_02 i.fas.fa-times {
    color: white;
    font-size: 1.6rem;
    position: absolute;
    top: 15px;
    right: 20px;
}
.sticky {
  position: fixed;
  top: 0;
  width: 100%;
}
.hideNav {
  display: none;
}
.add_margin {
  margin-top: 56px;
}



/* === sidenav === */

.sidenav {
  height: 100%;
  width: 0;
  position: fixed;
  z-index: 1;
  top: 0;
  left: 0;
 /* background-color: rgba(51, 51, 51, 0.9);*/
 background: white;
  overflow-x: hidden;
  overflow-y: hidden;
  transition: 0.5s;
  padding-top: 60px;
}

.sidenav a {
  padding: 8px 8px 8px 32px;
  text-decoration: none;
  font-size: 25px;
  color: #1a1a1a;
  display: block;
  transition: 0.3s;
  text-align: center;
}
#a1, #a2, #a3, #a4, #a5 {
  padding: 20px;
}
.sidenav .closebtn {
  position: absolute;
  top: 0;
  right: 1px;
  font-size: 36px;
  margin-left: 50px;
  color: black;
}
.p-only {
  display: none;
}
.m-only {
  display: block;
}


/* === bg setting === */

.bg01 {
  background: #ffffff;
  padding-top: 2.5rem;
  padding-bottom: 2rem;
}
.read_bg h1 {
  border-bottom: 2px solid #f0f0f0;
}
.read_bg {
  background: #F8F8F8;
  color: #2A2A2A;
  margin-top: 4rem;
  margin-bottom: 4rem;
  padding-top: 3rem;
  text-align: center;
}
.main_bg {
  background: white;
  color: #2A2A2A;
  padding-top: 4rem;
  line-height: 1.6;
}
.main_bg .table-l, .main_bg .table-m {
  width: 40%;
} 
.main_bg .table-r {
  width: 20%;
}
.main_style_02_bg a {
  text-decoration: none;
}
.main_style_00_bg {
  padding: 3.2rem;
}
.bg-img {
  background: url(img/main_style_01_bg.jpg) no-repeat;
  background-position: center;
  background-size: cover;
}
.table.bg-white {
  background: #fafcff!important;
}
.box01 {
  margin-top: 40px;
  margin-bottom: 80px;
}
footer .main_bg {
  display: none;
}
.footer_style_bg {
  background: #f8f8f8;
  color: #2f2f2f;
  padding-top: 1rem;
}

/* === END === */



/* === btn setting === */

/*.btn_01 {
  padding-top: 1.6rem;
  padding-bottom: 1.6rem;
  margin:;
  font-size: 1.5rem;
  font-weight:;
  font-family:;
  line-height:;
  color: white;
  background: #4982ee;
  margin-top: 1.6rem;
  margin-bottom: 1.6rem;
  transition: all 0.5s ease;
  border-radius: 50px;
}*/
/*
.btn_01:hover {
  background: #5f90ee;
  color: #DDDFE2;
}*/

.btn_01 {
   padding-top: 1.6rem;
  padding-bottom: 1.6rem;
    margin-top: 1.6rem;
  margin-bottom: 1.6rem;
  font-size: 1.5rem;
  border: none;
  border-radius: 2px;
  cursor: pointer;
  color: white;
  background-color: #1e64e6;
  box-shadow: 0 0 4px #999;
  outline: none;
}
.ripple {
  background-position: center;
  transition: background 0.8s;
}
.ripple:hover {
  background: #729BE9 radial-gradient(circle, transparent 1%, #729BE9 1%) center/15000%;
}
.ripple:active {
  background-color: #3D75E0;
  background-size: 100%;
  transition: background 0s;
}

.btn_02 {
    background: #2FA350;
    border: 1px solid #2FA350;
    color: white;
    padding: 0.5rem 2rem;
    border-radius: 5px;
    transition: all 0.5s ease;
    width: 100%;
}
  .btn_02:hover {
    background: transparent;
    border: 1px solid #2FA350;
    color: #2FA350;
  }
.form-group .btn {
  background: #4a82ee;
  color: white;
}
.badge-danger {
    color: #fff;
    background-color: #d32838;
}
#buttonBack { 
  background: transparent;
  color: #6c757d;
  border-color: #6c757d;
  border: 1px solid #6c757d;
  padding: .5rem 1rem;
  font-size: 1.25rem;
  line-height: 1.5;
  border-radius: .3rem;
  cursor: pointer;
}

#buttonBack:hover {
  background: #6c757d;
  color: white;
}

/* === END === */



/* === main style === */

.main_style_04 {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.main_style_02 {
  background:;
  color: #2A2A2A;
  padding:;
  padding-top: 3.2rem;
  padding-bottom: 3.2rem;
  font-size:;
  font-weight:;
  font-family:;
  line-height: 1.6;
}
.main_style_02 h2 {
  text-align: center;
  color: #ba0202;
  font-weight: 600;
  letter-spacing: 0.4rem;
  margin-top: 1.6rem;
}
.main_style_03 h2 {
  border-bottom: 2px solid #d50202;
  padding-bottom: 0.5rem;
  letter-spacing: 0.4rem;
}
/* === END === */



/* === style === */

.style_00 {
  margin: 1rem;
  margin: 0 auto;
} 
.style_0 img {
  position: relative;
}
.style_00 h2 {
      margin-bottom: 1rem;
}
.style_0 h3 {
    background: white;
    display: inline;
    color: black;
    margin-bottom: 0;
    padding-bottom: 0;
    padding: 0.5rem;
    font-size: 1.3rem;
    position: inherit;
    bottom: 30px;
    left: 20px;
   }
.style_0 p {
    padding: 0.5rem;
}

/* === END === */



/* === list style === */

.corp-list dt {
    float: left;
    width: 120px;
    color: #202020;
    background: #dbdbdb;
    text-align: center;
    padding: 5px;
    border-radius: 2px;
    margin-top: 0;
    margin-right: 1rem;
        clear: both;
    font-weight: normal;
    font-size: 0.9rem;
    }
.corp-list dd {
    padding: 5px 0;
    font-size: 0.969rem;
    line-height: 1.6;
    margin-left: 8rem;
}
.corp-list ul {
   list-style-type: none;
    padding-left: 0;
}
.company-list hr {
  display: none;
}
.company-list dd {
  list-style-type: none;
}

/* === END === */




/* === others === */

.overlay-text-border h2 {
    border-bottom: 1px solid #2a2a2a;
    padding-bottom: 0.5rem;
}
  .overlay-text-border {
    color: #2a2a2a;
    margin-bottom: 1.6rem;
  }


/* === END === */


/*　IMG effects */

.topImg {
    /*-webkit-filter: drop-shadow(-1px 6px 3px rgba(38, 38, 38, 0.5));
            filter: drop-shadow(-1px 6px 3px rgba(38, 38, 38, 0.5));*/
            box-shadow: 0px 10px 12px 0px rgba(0, 0, 0, 0.29);
    }
.photo:hover {
      /*transform: scale(1.01);*/
      transform: scale(0.99);
  }
.photo {
    transition: 0.1s ease-out;
  }
.responsive {
  max-width: 100%;
  height: auto;
}


/* Footer  */

.footer_style_01 p:last-child {
  font-size: 0.7rem;
}
.copy_right {
  background: #404040;
  color: white;
  padding: 0.5rem;
  margin-bottom: 0;
  font-size: 0.7rem;
}

/* page-top */
#page-top {
  display: none;
}


/* ========= contact form css =========*/
/*table.formTable {
  width:100%;
  margin:0 auto;
  border-collapse:collapse;
}
table.formTable td, table.formTable th {
  padding:10px;
}
table.formTable th {
  width:40%;
  font-weight:normal;
  text-align:left;
}*/

label.file:hover {
  background: #EBE9E9;
}

 label.file {
 background: #f0f0f0;
 border: 1px solid gray;
 border-radius: 5px;
 cursor: pointer;
 padding: 10px 30px;
 margin: 0 10px 0 0;
 display: inline-block;
}
 label.file input {
  display: none;
}

.dl-wrapper {
  width:100%;
  margin:0 auto;
  border-collapse:collapse;
}
.dl-wrapper dt, .dl-wrapper dd {
  padding:10px;
}
.dl-wrapper dt {
  font-weight:normal;
  text-align:left;
}

input[type="text"], input[type="hidden"],textarea {
  width:100%;
  padding:5px;
  display:block;
   border: 1px solid gray;
  border-radius: 3px;
  background: white;
}

table.formTable {
    margin: 0 auto;
}
table th, table td {
    padding: 0.5rem;
}
table.formTable th, table.formTable td {
        width:auto;
        display:block;
      }

/* ========= END  =========*/



/* ===========================
   === media query setting ===
   =========================== */

@media screen and (max-height: 450px) {
  .sidenav {padding-top: 15px;}
  .sidenav a {font-size: 18px;}
}

@media screen and (min-width: 576px){
    body {
      margin-bottom: 0;
    }
    .logoNavi {
    left: 35%;
    }
    .overlay-text-border {
      padding: 10px 20px;
    }
    table th, table td {
    padding: 1rem;
    }
/*    .formTable tr {
      display: flex;
    }*/
/*    table.formTable th {
    width: 60%;
}
    table.formTable td {
    width: 40%;
    }*/
}

@media screen and (max-width: 575px) {
    table.formTable th {
      margin-top:5px;
      border-bottom:0;
    }
    input[type="submit"], input[type="reset"], input[type="button"] {
      display:block;
      width:100%;
      height:40px;
}
    .recruitForm tr {
      display: flex;
    }
    .recruitForm tr th,
    .recruitForm tr td {
      width: 50%;
    }
}


@media screen and (max-width: 767px){
  .main-hero-text img {
      width: 100px;
      height: auto;
  }
  }

@media screen and (min-width: 768px){
  .main-hero-text br{
    display: none;
  }
  .mt-only {
    display: none;
  }
  .ld-only {
    display: block;
  }
  .p-only {
    display: block;
    margin:0 auto;
  }
  .m-only {
    display: none;
  }
  .corp-list dt, .corp-list dd {
    margin-bottom: 1rem;
    letter-spacing: 0.1rem;
  }
  .box1 {
    height: 120px;
  }


  /* animated navigation  */
  #navbarNav ul{
  display: flex;
  }
  .nav-item {
    position: relative;
  }
  .nav-item:before,
  .nav-item:after{
    position: absolute;
    top: 2rem;
    content: "";
    display: inline-block;
    width: 0;
    height: 2px; 
    background:#EB2828;
    transition: 0.5s;
    margin-top: 5px;
    z-index: 1000;
  }
  .nav-item:before{
    left: 50%;
  }
  .nav-item:after{
    right: 50%;
  }
  .nav-item:hover:before,
  .nav-item:hover:after{
    width: 50%;
  }
  .nav-item {
    position: relative;
  }
  .navbar-nav a {
    position: relative;
    color: #141414;
    letter-spacing: 0.05rem;
    font-size: 0.7rem;
  }
      .navbar-nav {
        display: flex;
      }
      .hero_style_01,.player-cont {
        height: 700px;
      }
      .hero_style_01 h1 {
        font-size: 2rem;
      }
        #bottomNav a{
        display: none !important;
      }
      .nav_style_01,#animatedModal{
        display: none !important;
      }

      footer .main_bg {
      display: block;
      padding-top: 1.6rem;
      padding-bottom: 1.6rem;
      }
      footer .main_bg ul {
          padding-left: 0;
          text-align: center;
          margin: 1.6rem;
      }
      footer .main_bg ul li {
          display: inline;
          list-style-type: none;
          padding: 0.5rem;
          border-right: 1px solid black;
      }
      footer .main_bg ul li a {
          color: black;
      }
      footer .main_bg ul li:first-of-type {
        border-left: 1px solid black;
      }
      .footer_style_01 p:last-child {
        font-size: 0.9rem;
      }
      #page-top {
        position: fixed;
        bottom: 20px;
        right: 20px;
        font-size: 77%;
        display: block;
      }
      #page-top a {
        background: #666;
        text-decoration: none;
        color: #fff;
        width: 100px;
        padding: 20px 0;
        text-align: center;
        display: block;
        border-radius: 5px;
        -webkit-border-radius: 5px;
        -moz-border-radius: 5px;
        -webkit-filter: drop-shadow(-1px 6px 3px rgba(102, 102, 102, 0.5));
                filter: drop-shadow(-1px 6px 3px rgba(102, 102, 102, 0.5));
      }
      #page-top a:hover {
        text-decoration: none;
        background: #999;
      }
      div#row{
          padding-bottom: 300px;
      }

      /* contact page */
      .dl-wrapper dl {
      display: flex;
     }
      .dl-wrapper dt, .dl-wrapper dd {
        width: 50%;
      }
  }


@media screen and (min-width: 992px){

     h2 {
    font-size: 1.8rem;
  }
      a.logo {
        position: absolute;
        top: 10px;
    }
      .lead {
            line-height: 1.8;
      }
      .navbar-nav a {
        font-size: 1rem;
      }
      .main_bg .table-l, .main_bg .table-m {
        width: 45%;
      } 
            .main_bg .table-r {
        width: 10%;
      }
      .main-content {
          position: relative;
      }
      .overlay-text-border h2 {
        border-bottom: 1px solid white;
      }
      .overlay-text-border {
          color: white;
        }
      .em-box {
          background: -moz-linear-gradient(top, rgba(163,65,65,1) 0%, rgba(164,40,40,1) 99%); /* FF3.6-15 */
        background: -webkit-linear-gradient(top, rgba(163,65,65,1) 0%,rgba(164,40,40,1) 99%); /* Chrome10-25,Safari5.1-6 */
        background: linear-gradient(to bottom, rgba(163,65,65,1) 0%,rgba(164,40,40,1) 99%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
          height: 400px;
          width: 100%;
          position: absolute;
          bottom: 20px;
      }
}

/*@media screen and (max-width: 991px) {
        table.formTable th, table.formTable td {
        width:auto;
        display:block;
      }
}*/

@media screen and (min-width: 1200px){
      .overlay-text-border {
          padding: 40px 20px;
    }
      .style_nav p {
      margin-bottom: 0;
    }
      .style_nav {
        display: flex;
        position: absolute;
        right: 0;
        top: 0;
      }
      .phone p {
        align-self: center;
        color: white;
      }
      .phone {
        display: flex;
        padding: 1rem;
        background: #5c5c5c;
        font-size: 0.9rem;
        height: 56px;
      }
      .style_nav button {
      padding: 1rem;
      background: #1e64e6;
      font-size: 0.9rem;
      transition: background-color 0.5s ease,box-shadow 0.5s ease;
      height: 56px;
      border-radius: 0;
    }
}


