@charset "UTF-8";
#about {
  color: #000;
}
.container {
  background: url("../img/about/bg.jpg") repeat-x;
}
.container .sec-maintitle {
  margin: 0;
  padding: 109px 0 0;
}
.container .sec-maintitle .inner {
  position: relative;
}
.container .sec-maintitle .tit {
  margin: 0 auto 76px;
  width: 241px;
}
.container .sec-ab-company {
  padding: 0 0 100px;
}
.container .sec-ab-company .inner {
  position: relative;
}
.container .sec-ab-company .company_title {
  margin: 0 auto 82px;
  width: 219px;
}
.container .sec-ab-company table,
.container .sec-ab-company table th,
.container .sec-ab-company table td {
  border: 0;
  border-collapse: collapse;
}
.container .sec-ab-company table {
  margin: 0 0 75px;
  width: 100%;
  border: 4px solid #191919;
}
.container .sec-ab-company table th,
.container .sec-ab-company table td {
  padding: 40px 40px;
  font-size: 28px;
  line-height: 28px;
  letter-spacing: 0.1em;
  vertical-align: middle;
}
.container .sec-ab-company table th {
  background-color: #191919;
  color: #fff;
}
.container .sec-ab-company table td {
  background-color: #f2f0f0;
  font-size: 26px;
  line-height: 42px;
  text-align: left;
}
.container .sec-ab-company .text_company {
  margin-bottom: 20px;
  font-size: 24px;
  line-height: 42px;
  text-align: center;
}
.container .sec-ab-company .btn_company {
  margin: 0 auto;
  width: 312px;
}
.container .sec-recruit {
  padding: 0 0 65px;
}
.container .side_left01 {
  width: 489px;
  position: absolute;
  left: 0;
  z-index: 3;
}
.container .side_left01 {
  top: 107px;
}
.container .side_right01 {
  width: 533px;
  position: absolute;
  right: 0;
  z-index: 3;
}
.container .side_right01 {
  top: 107px;
}
footer .inner {
  position: relative;
}
@media only screen and (max-width: 1024px) {
  .container .sec-maintitle {
    padding: 10.449vw 3.466% 0;
  }
  .container .sec-maintitle .tit {
    margin: 0 auto 4.933vw;
    width: 23.535vw;
  }
  .container .sec-ab-company {
    padding: 0 3.466% 15.136vw;
  }
  .container .sec-ab-company .company_title {
    margin: 0 auto 8.007vw;
    width: 21.386vw;
  }
  .container .sec-ab-company table {
    border: 2px solid #191919;
  }
  .container .sec-ab-company table th,
  .container .sec-ab-company table td {
    display: block;
    padding: 4.882vw 3%;
    font-size: 2.734vw;
    line-height: 3.222vw;
    box-sizing: border-box;
  }
  .container .sec-ab-company table td {
    padding: 4.882vw 3%;
    font-size: 2.539vw;
    line-height: 4.101vw;
  }
  .container .sec-recruit {
    padding: 0 5vw 6.348vw;
  }
  .container .sec-ab-company .text_company {
    margin-bottom: 1.953vw;
    font-size: 2.343vw;
    line-height: 4.101vw;
    text-align: center;
  }
  .container .sec-ab-company .btn_company {
    width: 30.468vw;
  }
  footer {
    border-top: 2px solid #000000;
    position: relative;
  }
}

@media only screen and (max-width: 640px) {
  .container {
    background: url("../img/about/bg_sp.jpg") repeat-x;
  }
  .container .sec-maintitle {
    padding: 5.333vw 3.466% 0;
  }
  .container .sec-maintitle .tit {
    margin: 0 auto 19px;
    width: 35.919%;
  }
  .container .sec-ab-company {
    padding: 0 3.466% 8vw;
  }
  .container .sec-ab-company .company_title {
    margin: 0 auto 42px;
    width: 25%;
  }
  .container .sec-ab-company table {
    margin-bottom: 6.666vw;
    border: 2px solid #191919;
  }
  .container .sec-ab-company table th,
  .container .sec-ab-company table td {
    display: block;
    padding: 7px 3%;
    font-size: 14px;
    line-height: 33px;
    box-sizing: border-box;
  }
  .container .sec-ab-company table td {
    padding: 13px 3%;
    font-size: 12px;
    line-height: 18px;
  }
  .container .sec-ab-company .text_company {
    margin-bottom: 3.333vw;
    font-size: 3.333vw;
    text-align: center;
  }
  .container .sec-ab-company .btn_company {
    width: 41.333vw;
  }
  .container .sec-recruit {
    padding: 0 5vw 6.348vw;
  }
  footer {
    border-top: 2px solid #000000;
    position: relative;
  }
  .container .side_left01_sp {
    width: 14.8vw;
    position: absolute;
    left: 0;
    top: 0;
  }
}

/* 神様 上から下へ */
.container .sec-maintitle .gods_a {
  right: -100px;
  top: -110px;
  font-size: 1px;
  line-height: 1px;
  margin: 0;
  padding: 0;
  position: absolute;
  width: 300px;
  height: 200px;
  overflow: hidden;
  transition-property: all;
  transition: 0.3s linear;
}
.container .sec-maintitle .gods_a img {
  left: 0;
  bottom: 0;
  position: absolute;
  width: 100%;
  height: auto;
}
.container .sec-maintitle .gods_a:hover {
  height: 270px;
}
/* 神様 下から上へ */
footer .gods_b {
  left: 0;
  bottom: -65px;
  font-size: 1px;
  line-height: 1px;
  margin: 0;
  padding: 0;
  position: absolute;
  width: 300px;
  height: 180px;
  overflow: hidden;
  transition-property: all;
  transition: 0.3s linear;
}

footer .gods_b img {
  width: 100%;
}
footer .gods_b:hover {
  height: 240px;
}

.container .sec-maintitle .gods_c {
  left: 0;
  top: 0;
  font-size: 1px;
  line-height: 1px;
  margin: 0;
  padding: 0;
  position: absolute;
  width: 300px;
  height: 250px;
  overflow: hidden;
  transition-property: all;
  transition: 0.3s linear;
}

.container .sec-maintitle .gods_c img {
  width: 100%;
}
.container .sec-maintitle .gods_c:hover {
  top: -50px;
}

.buruburu {
   -webkit-animation: buruburu 0.1s infinite linear alternate;
   animation: buruburu 0.1s infinite linear alternate;
}

@keyframes buruburu {
  0% {
    transform: translate(0, 0) rotate(-3deg);
  }
  50% {
    transform: translate(0, -1px) rotate(0deg);
  }
  100% {
    transform: translate(0, 0) rotate(3deg);
  }
}
@media only screen and (max-width: 1024px) {
  /* 神様 上から下へ */
  .container .sec-maintitle .gods_a {
    left: 0;
    top: -10.342vw;
    width: 20.296vw;
    height: 19.531vw;
  }
  .container .sec-maintitle .gods_a:hover {
    height: 19.531vw;
  }
  /* 神様 下から上へ */
  footer .gods_b {
    left: 0;
    bottom: -20.5vw;
    width: 20.296vw;
    height: 17.531vw;
  }
  footer .gods_b:hover {
    height: 17.531vw;
  }

  .container .sec-maintitle .gods_c {
    right: 0;
    left: inherit;
    top: 0;
    width: 20.296vw;
    height: 19.531vw;
  }
  .container .sec-maintitle .gods_c:hover {
    top: 0;
  }
}
@media only screen and (max-width: 640px) {
  /* 神様 上から下へ */
  .container .sec-maintitle .gods_a {
    left: 0;
    top: -5.342vw;
    width: 20.296vw;
    height: 19.531vw;
  }
  .container .sec-maintitle .gods_a:hover {
    height: 19.531vw;
  }
  /* 神様 下から上へ */
  footer .gods_b {
    left: 0;
    bottom: -20.5vw;
    width: 20.296vw;
    height: 17.531vw;
  }
  footer .gods_b:hover {
    height: 17.531vw;
  }
  .container .sec-maintitle .gods_c {
    right: 0;
    left: inherit;
    top: 5vw;
    width: 20.296vw;
    height: 19.531vw;
  }
  .container .sec-maintitle .gods_c:hover {
    top: 0;
  }
}

.container .side_left01 {
  transform-origin: top left;
  transform: scale(0.9, 0.9) translateX(0px);
}
.container .side_right01 {
  transform-origin: top right;
  transform: scale(0.9, 0.9) translateX(0px);
}
@media only screen and (max-width: 1800px) {
  .container .side_left01 {
    transform-origin: top left;
    transform: scale(0.8, 0.8) translateX(-100px);
  }
  .container .side_right01 {
    transform-origin: top right;
    transform: scale(0.8, 0.8) translateX(100px);
  }
}
@media only screen and (max-width: 1500px) {
  .container .side_left01 {
    transform-origin: top left;
    transform: scale(0.6, 0.6) translateX(-150px);
  }
  .container .side_right01 {
    transform-origin: top right;
    transform: scale(0.6, 0.6) translateX(150px);
  }
}
@media only screen and (max-width: 1200px) {
  .container .side_left01 {
    transform-origin: top left;
    transform: scale(0.6, 0.6) translateX(-300px);
  }
  .container .side_right01 {
    transform-origin: top right;
    transform: scale(0.5, 0.5) translateX(200px);
  }
}
