@charset "UTF-8";
/*   BASE
================================================ */
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video, input, textarea {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  font-family: 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', 游ゴシック体, 'Yu Gothic', YuGothic,  メイリオ, Meiryo, sans-serif;
  font-weight: normal; }

@media all and (-ms-high-contrast: none) {
  *::-ms-backdrop html, *::-ms-backdrop body, *::-ms-backdrop div, *::-ms-backdrop span, *::-ms-backdrop object, *::-ms-backdrop iframe,
  *::-ms-backdrop h1, *::-ms-backdrop h2, *::-ms-backdrop h3, *::-ms-backdrop h4, *::-ms-backdrop h5, *::-ms-backdrop h6, *::-ms-backdrop p, *::-ms-backdrop blockquote, *::-ms-backdrop pre,
  *::-ms-backdrop abbr, *::-ms-backdrop address, *::-ms-backdrop cite, *::-ms-backdrop code,
  *::-ms-backdrop del, *::-ms-backdrop dfn, *::-ms-backdrop em, *::-ms-backdrop img, *::-ms-backdrop ins, *::-ms-backdrop kbd, *::-ms-backdrop q, *::-ms-backdrop samp,
  *::-ms-backdrop small, *::-ms-backdrop strong, *::-ms-backdrop sub, *::-ms-backdrop sup, *::-ms-backdrop var,
  *::-ms-backdrop b, *::-ms-backdrop i,
  *::-ms-backdrop dl, *::-ms-backdrop dt, *::-ms-backdrop dd, *::-ms-backdrop ol, *::-ms-backdrop ul, *::-ms-backdrop li,
  *::-ms-backdrop fieldset, *::-ms-backdrop form, *::-ms-backdrop label, *::-ms-backdrop legend,
  *::-ms-backdrop table, *::-ms-backdrop caption, *::-ms-backdrop tbody, *::-ms-backdrop tfoot, *::-ms-backdrop thead, *::-ms-backdrop tr, *::-ms-backdrop th, *::-ms-backdrop td,
  *::-ms-backdrop article, *::-ms-backdrop aside, *::-ms-backdrop canvas, *::-ms-backdrop details, *::-ms-backdrop figcaption, *::-ms-backdrop figure,
  *::-ms-backdrop footer, *::-ms-backdrop header, *::-ms-backdrop hgroup, *::-ms-backdrop menu, *::-ms-backdrop nav, *::-ms-backdrop section, *::-ms-backdrop summary,
  *::-ms-backdrop time, *::-ms-backdrop mark, *::-ms-backdrop audio, *::-ms-backdrop video, *::-ms-backdrop input, *::-ms-backdrop textarea, .-frame a html, .-frame a body, .-frame a div, .-frame a span, .-frame a object, .-frame a iframe,
  .-frame a h1, .-frame a h2, .-frame a h3, .-frame a h4, .-frame a h5, .-frame a h6, .-frame a p, .-frame a blockquote, .-frame a pre,
  .-frame a abbr, .-frame a address, .-frame a cite, .-frame a code,
  .-frame a del, .-frame a dfn, .-frame a em, .-frame a img, .-frame a ins, .-frame a kbd, .-frame a q, .-frame a samp,
  .-frame a small, .-frame a strong, .-frame a sub, .-frame a sup, .-frame a var,
  .-frame a b, .-frame a i,
  .-frame a dl, .-frame a dt, .-frame a dd, .-frame a ol, .-frame a ul, .-frame a li,
  .-frame a fieldset, .-frame a form, .-frame a label, .-frame a legend,
  .-frame a table, .-frame a caption, .-frame a tbody, .-frame a tfoot, .-frame a thead, .-frame a tr, .-frame a th, .-frame a td,
  .-frame a article, .-frame a aside, .-frame a canvas, .-frame a details, .-frame a figcaption, .-frame a figure,
  .-frame a footer, .-frame a header, .-frame a hgroup, .-frame a menu, .-frame a nav, .-frame a section, .-frame a summary,
  .-frame a time, .-frame a mark, .-frame a audio, .-frame a video, .-frame a input, .-frame a textarea {
    font-family: メイリオ, Meiryo, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', 游ゴシック体, 'Yu Gothic', YuGothic,  sans-serif;
    font-weight: normal; } }

body {
  line-height: 1; }

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

nav ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  text-decoration: none; }

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none; }

br {
  color: rgba(255, 255, 255, 0); }

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold; }

del {
  text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

li {
  list-style: none; }

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0; }

input, select {
  vertical-align: middle; }

strong {
  font-weight: normal; }

img {
  max-width: 100%;
  height: auto; }

/* clearfix */
.fix:before,
.fix:after {
  content: "";
  display: table; }

.fix:after {
  clear: both; }

.fix {
  *zoom: 1; }

/*  Color  */
/*  Font  */
/*  Padding　（レイアウト関係）  */
p {
  line-height: 1.6; }

img {
  vertical-align: bottom; }

@media screen and (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none; }
    a[href^="tel:"]::after {
      content: none; } }

br {
  color: rgba(255, 255, 255, 0); }

/*   COMPONENTS
================================================ */
/*  main contents  */
.header-all {
  position: relative;
  z-index: 99999; }

.header-bg {
  background: #999;
  width: 100%;
  height: 88vh; }

.header-mask {
  background-color: rgba(0, 0, 0, 0.3); }

.main-txt {
  position: absolute;
  top: 55%;
  left: 50%;
  -webkit-transform: translate(-50%, -25%);
  -ms-transform: translate(-50%, -25%);
  transform: translate(-50%, -25%); }
  .main-txt > h2, .main-txt p, .main-txt span {
    text-align: center;
    color: #fff; }
  .main-txt > h2 {
    font-size: 2.4em;
    text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5); }
  .main-txt > p {
    font-size: 1.4em;
    margin-top: 1%;
    opacity: .4; }

.key-image {
  margin: 0 auto;
  width: 100%;
  height: 85vh !important;
  background-position: top center;
  background-repeat: no-repeat;
  background-size: contain;
  text-align: center;
  position: relative; }
  .key-image .deco {
    position: absolute;
    overflow: hidden; }
    .key-image .deco.-left {
      left: 0; }
    .key-image .deco.-right {
      right: 0;
      bottom: -4px; }
  .key-image .catch {
    margin: 22vh 0 0 3%; }
    .key-image .catch .catch-img {
      width: 100%; }
  @media screen and (max-width: 767px) {
    .key-image {
      height: 90vh !important; } }

.catch {
  position: absolute;
  top: 34vh;
  left: 3%; }
  @media screen and (max-width: 767px) {
    .catch {
      top: 22vh; }
      .catch #txtanim {
        width: 88%; }
      .catch #txtanim02 {
        width: 75%;
        margin-top: 1%; } }

#txtanim, #txtanim02 {
  display: table;
  overflow: hidden; }

.block-revealer__element {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000;
  pointer-events: none;
  opacity: 0; }

/*   LAYOUT
================================================ */
/*   カラム表示
================================================ */
.column {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between; }
  @media screen and (max-width: 639px) {
    .column {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column; } }
  @media screen and (max-width: 639px) {
    .column > .inner {
      width: auto; } }
  @media screen and (max-width: 639px) {
    .column.-reverse {
      -webkit-box-orient: vertical;
      -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
      flex-direction: column-reverse; } }
  @media screen and (min-width: 640px) {
    .column.-reverse {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
      flex-direction: row-reverse; } }
  @media screen and (min-width: 640px) {
    .column.-column2 > .inner {
      width: 48%; } }
  @media screen and (min-width: 640px) {
    .column.-column2.-two-third > .inner:first-child {
      width: 60%; } }
  @media screen and (max-width: 639px) {
    .column.-column2.-two-third > .inner:last-child {
      margin-bottom: 1rem; } }
  @media screen and (min-width: 640px) {
    .column.-column2.-two-third > .inner:last-child {
      width: 36%; } }
  @media screen and (min-width: 640px) {
    .column.-column3 > .inner {
      width: 31%; } }

/*   共通
================================================ */
.inner {
  max-width: 1200px;
  width: 96%;
  margin-left: auto;
  margin-right: auto;
  position: relative; }
  @media screen and (max-width: 639px) {
    .inner {
      width: 92%; } }

.inner02 {
  width: 96%;
  margin-left: auto;
  margin-right: auto;
  position: relative; }

.inner03 {
  margin-left: auto;
  margin-right: auto;
  position: relative; }

@media screen and (max-width: 639px) {
  .sp {
    display: block; } }

@media screen and (min-width: 640px) {
  .sp {
    display: none !important; } }

@media screen and (max-width: 639px) {
  .pc {
    display: none; } }

@media screen and (min-width: 640px) {
  .pc {
    display: initial; } }

@media screen and (max-width: 1119px) {
  .midium {
    display: block; } }

@media screen and (min-width: 1120px) {
  .midium {
    display: none !important; } }

.t-c {
  text-align: center; }

.block {
  display: block; }

.table {
  display: table; }

@media all and (-ms-high-contrast: none\0) {
  .br::before *::-ms-backdrop, .br::before {
    color: rgba(255, 255, 255, 0); } }

@media screen and (min-width: 640px) {
  .br::before {
    content: "\A";
    white-space: pre; } }

@media all and (-ms-high-contrast: none\0) {
  .br *::-ms-backdrop, .br {
    color: rgba(255, 255, 255, 0); } }

/*   LINK  (主にテキストリンクなど)
================================================ */
/*   BUTTON（ボタン）
================================================ */
.btn {
  font-weight: bold;
  text-align: center;
  display: table;
  position: relative; }
  .btn.-y {
    background: #ebbe18;
    padding: 15px 40px;
    color: #232323;
    border: 1px solid #232323;
    -webkit-transition: .4s;
    -o-transition: .4s;
    transition: .4s; }
    .btn.-y::after {
      content: '';
      display: block;
      -webkit-transform: translate(0, -50%);
      -ms-transform: translate(0, -50%);
      transform: translate(0, -50%);
      background-position: center center;
      background-size: contain;
      background-repeat: no-repeat;
      width: 60px;
      height: 11px;
      position: absolute;
      top: 40%;
      left: auto;
      bottom: 0;
      right: -17%;
      background: url(../../assets/images/common/arrow_r.svg);
      -webkit-transition: .4s;
      -o-transition: .4s;
      transition: .4s; }
    .btn.-y:hover {
      background: #ffd94c;
      color: #a77704;
      border: 1px solid #ebbe18; }
      .btn.-y:hover::after {
        right: -30%;
        opacity: 0; }
  .btn.-b {
    background: #0086d1;
    padding: 15px 40px;
    color: #FFF;
    border: 1px solid #04293e;
    -webkit-transition: .4s;
    -o-transition: .4s;
    transition: .4s;
    font-size: 1rem; }
    .btn.-b::after {
      content: '';
      display: block;
      -webkit-transform: translate(0, -50%);
      -ms-transform: translate(0, -50%);
      transform: translate(0, -50%);
      background-position: center center;
      background-size: contain;
      background-repeat: no-repeat;
      width: 60px;
      height: 11px;
      position: absolute;
      top: 40%;
      left: auto;
      bottom: 0;
      right: -17%;
      background: url(../../assets/images/common/arrow_r.svg);
      -webkit-transition: .4s;
      -o-transition: .4s;
      transition: .4s; }
    .btn.-b:hover {
      background: #04293e;
      color: #FFF;
      border: 1px solid #04293e; }
      .btn.-b:hover::after {
        right: -30%;
        opacity: 0; }
  .btn.-y_bottom {
    background: #ebbe18;
    padding: 15px 40px;
    color: #232323;
    border: 1px solid #232323;
    -webkit-transition: .4s;
    -o-transition: .4s;
    transition: .4s; }
    .btn.-y_bottom::after {
      content: '';
      display: block;
      -webkit-transform: translate(0, -50%);
      -ms-transform: translate(0, -50%);
      transform: translate(0, -50%);
      background-position: center center;
      background-size: contain;
      background-repeat: no-repeat;
      width: 15px;
      height: 9px;
      position: absolute;
      top: 50%;
      left: auto;
      bottom: 0;
      right: 5%;
      background: url(../../assets/images/common/arrow_bottom.svg);
      -webkit-transition: .4s;
      -o-transition: .4s;
      transition: .4s; }
    .btn.-y_bottom:hover {
      background: #ffd94c;
      color: #a77704;
      border: 1px solid #ebbe18; }
      .btn.-y_bottom:hover::after {
        top: 80%;
        opacity: 0; }

/*   見出し
------------------------------------------ */
.ttl {
  line-height: 1.6; }
  .ttl.-blue {
    color: #0086d1; }
  .ttl.-y {
    color: #ebbe18; }
  .ttl.-black {
    color: #232323;
    position: relative; }
    .ttl.-black .sub-ttl {
      font-size: 1rem;
      color: #ebbe18;
      display: block;
      font-weight: bold; }
    .ttl.-black::after {
      content: '';
      display: block;
      content: '';
      display: block;
      margin: 0 auto;
      -webkit-transform: translate(0, -50%);
      -ms-transform: translate(0, -50%);
      transform: translate(0, -50%);
      background-position: center center;
      background-size: contain;
      background-repeat: no-repeat;
      width: 30px;
      height: 3px;
      position: absolute;
      top: auto;
      left: 0;
      bottom: -17px;
      right: 0;
      background: #232323; }
  .ttl.-white {
    color: #FFF;
    position: relative; }
    .ttl.-white .sub-ttl {
      font-size: 1rem;
      color: #FFF;
      display: block;
      font-weight: bold; }
    .ttl.-white::after {
      content: '';
      display: block;
      content: '';
      display: block;
      margin: 0 auto;
      -webkit-transform: translate(0, -50%);
      -ms-transform: translate(0, -50%);
      transform: translate(0, -50%);
      background-position: center center;
      background-size: contain;
      background-repeat: no-repeat;
      width: 30px;
      height: 3px;
      position: absolute;
      top: auto;
      left: 0;
      bottom: -17px;
      right: 0;
      background: #FFF; }
  .ttl.-bold {
    font-weight: bold; }
  .ttl.-mi {
    font-size: 1.2rem; }
  .ttl.-l {
    font-size: 1.8rem; }
    @media screen and (max-width: 639px) {
      .ttl.-l {
        font-size: 1.6rem; } }
  .ttl.-en {
    font-family: "Raleway", sans-serif;
    font-weight: 900;
    font-size: 1.5rem; }
    @media screen and (max-width: 639px) {
      .ttl.-en {
        font-size: 1.4rem; } }

/*   段落・テキスト
------------------------------------------ */
.txt {
  line-height: 1.6;
  font-size: 1rem; }
  .txt.-tll {
    font-size: 1.5rem; }
  .txt.-tl {
    font-size: 1.2rem; }
  .txt.-ts {
    font-size: .8rem; }
  .txt.-bold {
    font-weight: bold; }
  .txt.-white {
    color: #FFF; }
  .txt.-black {
    color: #232323; }
  .txt.-blue {
    color: #0086d1; }
  .txt.-yellow {
    color: #ebbe18; }

/*   下層ページheader
------------------------------------------ */
.sub-image {
  margin: 0 auto;
  width: 100%;
  height: 14em !important;
  text-align: center;
  position: relative; }
  .sub-image .header-ttl {
    font-size: 2rem;
    color: #FFF;
    text-align: center;
    padding-top: 90px;
    font-weight: 800;
    font-family: "Raleway", sans-serif; }
    .sub-image .header-ttl .sub-ttl {
      opacity: .8;
      display: block;
      font-size: 1rem;
      margin-top: 12px;
      color: #ebbe18;
      font-weight: bold; }
  .sub-image.-company {
    background: url(../../assets/images/company/header_bg.jpg) no-repeat center center/cover; }
  .sub-image.-business {
    background: url(../../assets/images/business/header_bg.jpg) no-repeat center center/cover; }
  .sub-image.-construction {
    background: url(../../assets/images/construction/header_bg.jpg) no-repeat center center/cover; }
  .sub-image.-contact {
    background: url(../../assets/images/contact/header_bg.jpg) no-repeat center center/cover; }
  .sub-image.-interview {
    background: url(../../assets/images/interview/header_bg.jpg) no-repeat center center/cover; }
  .sub-image.-recruit {
    background: url(../../assets/images/recruit/header_bg.jpg) no-repeat center center/cover; }
  .sub-image.-work {
    background: url(../../assets/images/work/header_bg.jpg) no-repeat center center/cover; }
  @media screen and (max-width: 639px) {
    .sub-image .header-ttl {
      font-size: 1.3rem;
      padding-top: 139px; }
    .sub-image .sub-ttl {
      font-size: .9rem;
      margin-top: 8px; } }

.bread {
  padding: 5px 4% 5px 3%;
  background: #dbe7ed;
  display: table;
  position: relative; }
  .bread a {
    padding-right: 5px;
    color: #0086d1;
    font-size: .9rem; }
  .bread p {
    display: inline-block;
    color: #232323;
    font-size: .9rem; }
  .bread::after {
    content: '';
    display: block;
    background: url(../../assets/images/common/bread_after.svg) no-repeat top right/contain !important;
    width: 54px;
    height: 33px;
    position: absolute;
    top: 0;
    left: auto;
    bottom: 0;
    right: -47px; }

/*   各ページ
================================================ */
.top-about {
  background: #0086d1;
  position: relative;
  overflow: hidden;
  padding: 50px 5%; }
  .top-about::before {
    content: '';
    position: absolute;
    bottom: 412px;
    right: -23em;
    width: 70em;
    height: 46em;
    background: #ebbe18;
    -webkit-transform-origin: right bottom;
    -ms-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(-57deg);
    -ms-transform: rotate(-57deg);
    transform: rotate(-57deg); }
  .top-about .column {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; }
  .top-about .column-txt {
    margin-right: 50px; }
  @media screen and (max-width: 639px) {
    .top-about .column-txt {
      margin-right: 0; }
    .top-about::before {
      display: none; }
    .top-about .btn {
      margin: 0 auto; }
    .top-about .column-img {
      width: 100%;
      margin-top: 10%; } }

.tech_solu, .perform {
  position: relative;
  padding-bottom: 50px; }
  .tech_solu .column-item, .perform .column-item {
    margin-right: 50px;
    width: 31%; }
    .tech_solu .column-item:last-child, .perform .column-item:last-child {
      margin-right: 0; }
  .tech_solu .column-item02, .perform .column-item02 {
    margin-right: 50px;
    width: 20%; }
    .tech_solu .column-item02:last-child, .perform .column-item02:last-child {
      margin-right: 0; }
  .tech_solu .tech-img, .tech_solu .perform-img, .perform .tech-img, .perform .perform-img {
    width: 100%;
    position: relative; }
    .tech_solu .tech-img img, .tech_solu .perform-img img, .perform .tech-img img, .perform .perform-img img {
      width: 100%; }
  .tech_solu .tech-img::after, .perform .tech-img::after {
    content: '';
    display: block;
    background-position: bottom right;
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    top: auto;
    left: auto;
    bottom: -50px;
    right: 10px; }
  .tech_solu .tech-img.-no01::after, .perform .tech-img.-no01::after {
    background: url(../../assets/images/top/tech_no01.png);
    width: 134px;
    height: 97px; }
  .tech_solu .tech-img.-no02::after, .perform .tech-img.-no02::after {
    background: url(../../assets/images/top/tech_no02.png);
    width: 136px;
    height: 97px; }
  .tech_solu .tech-img.-no03::after, .perform .tech-img.-no03::after {
    background: url(../../assets/images/top/tech_no03.png);
    width: 134px;
    height: 97px; }
  .tech_solu .perform-img, .perform .perform-img {
    /* &.-no01{
      &::after{
        content: '01';
      }
    }
    &.-no02{
      &::after{
        content: '02';
      }
    }
    &.-no03{
      &::after{
        content: '03';
      }
    }
    &.-no04{
      &::after{
        content: '04';
      }
    } */ }
    .tech_solu .perform-img::after, .perform .perform-img::after {
      display: block;
      background-position: bottom right;
      background-size: contain;
      background-repeat: no-repeat;
      position: absolute;
      top: auto;
      left: auto;
      bottom: -10px;
      right: 10px;
      color: #232323;
      background: #ebbe18;
      padding: 1% 1% 0%;
      font-weight: bold;
      font-size: 2.6rem;
      font-family: "Raleway", sans-serif;
      text-align: center;
      border-bottom: 4px solid #232323;
      width: 50px;
      height: 50px; }
  .tech_solu .bg, .perform .bg {
    background: #0086d1;
    width: 100%;
    height: 28em;
    position: absolute;
    bottom: 0;
    z-index: -1; }
  .tech_solu .bg02, .perform .bg02 {
    background: #0086d1;
    width: 100%;
    height: 20em;
    position: absolute;
    bottom: 0;
    z-index: -1; }
  @media screen and (max-width: 639px) {
    .tech_solu .column, .perform .column {
      margin-top: 15% !important; }
    .tech_solu .column-item, .perform .column-item {
      width: 100%;
      margin-right: 0;
      margin-bottom: 10%; }
      .tech_solu .column-item:last-child, .perform .column-item:last-child {
        margin-bottom: 0; } }

@media screen and (max-width: 639px) {
  .perform p {
    padding: 0 4%; }
  .perform .column {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-orient: initial;
    -webkit-box-direction: initial;
    -ms-flex-direction: initial;
    flex-direction: initial; }
  .perform .column-item02 {
    margin-right: 0;
    margin: 0 2% 10% 2%;
    width: 44%;
    margin-bottom: 10%; }
  .perform .btn {
    margin-top: 5% !important; }
  .perform .bg02 {
    background: none; } }

.top_recruit .recruit-img {
  width: 70%;
  max-width: 1000px;
  margin: 30px auto 0;
  display: block;
  position: relative;
  z-index: 10; }

.top_recruit .recruit-main {
  background: #0086d1;
  width: 100%;
  padding-bottom: 80px;
  margin-top: -50px; }

.top_recruit .recruit-info {
  padding-top: 100px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }
  .top_recruit .recruit-info .info-txt {
    width: 40%;
    margin: 0 5% 0 10%;
    max-width: 30%; }
  .top_recruit .recruit-info .info-img {
    width: 60%;
    height: 400px;
    -o-object-fit: cover;
    object-fit: cover;
    font-family: 'object-fit: cover;'; }

.top_recruit .recruit-work {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }
  .top_recruit .recruit-work .info-txt {
    width: 28%;
    margin: 0 5% 0 10%;
    max-width: 30%; }
  .top_recruit .recruit-work .work-img {
    width: 55%;
    height: 400px;
    -o-object-fit: contain;
    object-fit: contain;
    -o-object-position: left;
    object-position: left;
    font-family: 'object-fit: contain; object-position: left;'; }

.top_recruit .interview {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative; }
  .top_recruit .interview .info-txt {
    width: 25%;
    margin: 0 5% 0 10%; }
  .top_recruit .interview .info-link {
    width: 75%;
    margin-right: 5%;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: relative;
    z-index: 1; }
    .top_recruit .interview .info-link .link {
      margin-right: -40px;
      width: 100%;
      -webkit-transition: .4s;
      -o-transition: .4s;
      transition: .4s; }
      .top_recruit .interview .info-link .link:hover {
        opacity: 0.7;
        filter: alpha(opacity=70);
        -ms-filter: "alpha(opacity=70)"; }
      .top_recruit .interview .info-link .link img {
        width: 100%;
        -o-object-fit: contain;
        object-fit: contain;
        font-family: 'object-fit: contain;'; }
  .top_recruit .interview::after {
    content: '';
    display: block;
    background: url(../../assets/images/top/bg_ywllow.svg) no-repeat top right/contain !important;
    width: 68%;
    height: 100%;
    position: absolute;
    top: 50px;
    left: auto;
    bottom: 0;
    right: 0;
    z-index: 0; }

@media screen and (max-width: 639px) {
  .top_recruit .recruit-img {
    width: 92%; }
  .top_recruit .recruit-main {
    margin-top: -7%;
    padding: 0 4%; }
  .top_recruit .info-txt {
    width: 100% !important;
    max-width: initial !important; }
    .top_recruit .info-txt .btn {
      margin-top: 10% !important; }
  .top_recruit .btn {
    margin: 0 auto; }
  .top_recruit .work-img {
    width: 100% !important;
    height: 100% !important;
    margin-bottom: 5%; }
  .top_recruit .recruit-work .info-txt {
    margin: 0; }
  .top_recruit .interview::after {
    display: none; }
  .top_recruit .interview .info-txt {
    margin: 0; }
  .top_recruit .interview .info-link {
    -webkit-box-orient: initial;
    -webkit-box-direction: initial;
    -ms-flex-direction: initial;
    flex-direction: initial;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 100%;
    margin-bottom: 15%;
    margin-top: 5%;
    margin-right: auto;
    margin-left: auto; }
  .top_recruit .interview .link {
    margin-right: 1% !important;
    margin-left: 1%;
    width: 46% !important;
    margin-bottom: 2%; }
    .top_recruit .interview .link:last-child {
      margin-right: 1% !important; } }

@media screen and (min-width: 600px) and (max-width: 830px) {
  .interview {
    display: block; }
    .interview::after {
      display: none !important; }
    .interview .info-txt {
      width: 100% !important;
      margin: 0 auto !important;
      display: block;
      text-align: center; }
    .interview .info-link {
      -webkit-box-orient: initial;
      -webkit-box-direction: initial;
      -ms-flex-direction: initial;
      flex-direction: initial;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      width: 100% !important;
      margin-bottom: 15%;
      margin-top: 5%;
      margin-right: auto;
      margin-left: auto; }
    .interview .link {
      margin-right: 1% !important;
      margin-left: 1%;
      width: 46% !important;
      margin-bottom: 2%; }
      .interview .link:last-child {
        margin-right: 1% !important; }
    .interview .btn {
      margin: 40px auto 0 !important; }
    .interview .pc {
      display: none; }
    .interview .sp {
      display: block !important; } }

.cmn-contact {
  content: '';
  display: block;
  background: url(../../assets/images/common/contact_bg.jpg) no-repeat top right/cover !important;
  width: 100%;
  height: auto;
  padding-bottom: 80px; }
  .cmn-contact .ttl {
    padding-top: 80px; }
  .cmn-contact .column {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center; }
    .cmn-contact .column .contact-link {
      margin-right: 50px;
      border: 1px solid #FFF;
      padding: 50px 60px;
      -webkit-transition: .4s;
      -o-transition: .4s;
      transition: .4s; }
      .cmn-contact .column .contact-link:hover {
        background: rgba(0, 0, 0, 0.2); }
      .cmn-contact .column .contact-link:last-child {
        margin-right: 0; }
      .cmn-contact .column .contact-link .tel, .cmn-contact .column .contact-link .mail {
        font-size: 2rem;
        position: relative; }
      .cmn-contact .column .contact-link .mail {
        margin-top: 10px;
        padding-left: 55px; }
        .cmn-contact .column .contact-link .mail::before {
          content: '';
          display: block;
          -webkit-transform: translate(0, -50%);
          -ms-transform: translate(0, -50%);
          transform: translate(0, -50%);
          background-position: center center;
          background-size: contain;
          background-repeat: no-repeat;
          width: 41px;
          height: 31px;
          position: absolute;
          top: 50%;
          left: 2%;
          bottom: 0;
          right: 0;
          background: url(../../assets/images/common/icon_contact_mail.svg);
          -webkit-transition: .4s;
          -o-transition: .4s;
          transition: .4s; }
      .cmn-contact .column .contact-link .tel {
        padding-left: 45px; }
        .cmn-contact .column .contact-link .tel::before {
          content: '';
          display: block;
          -webkit-transform: translate(0, -50%);
          -ms-transform: translate(0, -50%);
          transform: translate(0, -50%);
          background-position: center center;
          background-size: contain;
          background-repeat: no-repeat;
          width: 29px;
          height: 37px;
          position: absolute;
          top: 50%;
          left: 2%;
          bottom: 0;
          right: 0;
          background: url(../../assets/images/common/icon_contact_tel.svg);
          -webkit-transition: .4s;
          -o-transition: .4s;
          transition: .4s; }
  @media screen and (max-width: 639px) {
    .cmn-contact {
      padding-bottom: 10%; }
      .cmn-contact .ttl {
        padding-top: 10%; }
      .cmn-contact .contact-link {
        padding: 5% 5% !important;
        margin-right: 0 !important;
        margin-bottom: 5%; }
        .cmn-contact .contact-link:last-child {
          margin-bottom: 0; }
      .cmn-contact .tel, .cmn-contact .mail {
        font-size: 1.5rem !important; } }

.cmn-company .column {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center; }


.cmn-company .company-link {
  border: 2px solid #0086d1;
  padding: 1.5% 1%;
  width: 150px;
  height: 130px;
  text-align: center;
  margin-right: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-transition: .4s;
  -o-transition: .4s;
  transition: .4s; }
  .cmn-company .company-link:last-child {
    margin-right: 0; }
  .cmn-company .company-link:hover {
    background: #dcf2ff; }
  .cmn-company .company-link p {
    padding-top: 5px; }

.environment .environment_ttl{
color: #fff;
background-color: #0086d1;
padding:9px 7% 6px 7%;
display: table;
margin: auto;
line-height: 1;
font-weight: bold;
margin-bottom: 2%;
font-size: 1.1rem;
}
.environment .environment_text{
  font-weight: bold;
  margin-bottom: 4%;
  font-size: 1rem;
}
.environment_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.environment_list li{
  width: 42%;
  margin-right: 4%;
}
.environment_list li:last-child{
  margin-right: 0;
}
.environment_list li figure img{
  margin-bottom: 4%;
}
.environment_list li figure figcaption{
  line-height: 1.6;
}
.kirikae{
  display: none;
}
@media screen and (max-width: 768px) {

  .kirikae{
    display: block;
  }
}

@media screen and (max-width: 639px) {
  .cmn-company .column {
    -webkit-box-orient: initial;
    -webkit-box-direction: initial;
    -ms-flex-direction: initial;
    flex-direction: initial;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
  .cmn-company .company-link {
    width: 42%;
    height: 9em;
    margin-right: 2% !important;
    margin-left: 2%;
    margin-bottom: 4%; }
    .cmn-company .company-link::last-child {
      margin-right: 2% !important; } }

      @media screen and (max-width: 600px) {
        .environment_list{
          flex-direction: column;
        }
        .environment_list li{
          width: 90%;
          margin: auto;
          margin-bottom: 8%;
        }
        .environment_list li:last-child{
          margin: auto;
          margin-bottom: 0;
        }
        .environment .environment_ttl {
          margin-bottom: 4%;
          padding: 9px 12% 6px 12%;
        }
        .environment .environment_text {
          margin-bottom: 6%;
        }
        .environment_list li figure{
          margin-bottom: 2%;
        }
        .environment_list li p {
          text-align: center;
        }
        .kirikae{
          display: none;
        }
        }

        @media screen and (max-width: 428px) {
          .environment_list li p {
            text-align: left;
          }
          .environment .environment_ttl {
            margin-bottom: 6%;
            padding: 11px 12% 9px 12%;
            display: block;
        }
        .environment .environment_text {
          margin-bottom: 8%;
      }
      .environment_list li figure {
        margin-bottom: 4%;
    }
    .environment_list li {
      width: 100%;
      margin: auto;
      margin-bottom: 11%;
  }
  .kirikae{
    display: block;
  }
        }
        @media screen and (max-width: 350px){
          .environment .environment_ttl{
            line-height: 1.6;
            font-size: 1rem;
          }
        }

.greeting .bg {
  margin: 80px auto 0;
  width: 100%;
  height: 27em !important;
  max-width: 1500px;
  text-align: center;
  position: relative;
  background: url(../../assets/images/company/greeting_img.jpg) no-repeat top right/cover; }
  .greeting .bg .ttl {
    text-align: left;
    position: absolute;
    top: 30%;
    left: 5%;
    line-height: 1.8; }
    .greeting .bg .ttl .blue {
      color: #0086d1;
      font-weight: bold; }
    .greeting .bg .ttl::before {
      content: '';
      display: block;
      background: url(../../assets/images/company/greeting_before.svg) no-repeat top left/contain !important;
      width: 70px;
      height: 69px;
      position: absolute;
      top: -27px;
      left: -27px;
      bottom: 0;
      right: 0;
      z-index: 0; }
    .greeting .bg .ttl::after {
      content: '';
      display: block;
      background: url(../../assets/images/company/greeting_after.svg) no-repeat top left/contain !important;
      width: 70px;
      height: 69px;
      position: absolute;
      top: auto;
      left: auto;
      bottom: -27px;
      right: -27px;
      z-index: 0; }

.greeting .txt {
  max-width: 1200px;
  margin: 0 auto; }

.greeting .ceo {
  float: right; }
  .greeting .ceo .name {
    font-family: vdl-pengentle, sans-serif;
    font-weight: 700;
    font-size: 1.6rem;
    color: #232323; }

@media screen and (max-width: 639px) {
  .greeting .bg {
    background: none;
    margin: 15% auto 0;
    height: 12em !important; }
  .greeting img {
    width: 100%; }
  .greeting .ttl {
    top: 10% !important;
    right: 0;
    left: 0;
    margin: 0 auto;
    padding: 0 5%;
    font-size: 1.2rem; }
    .greeting .ttl::before {
      top: -15px !important;
      left: 0 !important; }
    .greeting .ttl::after {
      bottom: -15px !important;
      right: 0 !important; } }

.tech_solu {
  background: #0086d1;
  width: 100%;
  padding: 50px 0; }

.tech_solu02 {
  background: #f1f1f1;
  width: 100%;
  padding: 50px 0; }

.cp_table *, .cp_table *:before, .cp_table *:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

.cp_table {
  width: 90%;
  border-collapse: separate;
  border-spacing: 0px; }
  .cp_table th, .cp_table td {
    padding: 17px 30px 17px 30px;
    background: #FFF;
    border-top: 1px solid #232323;
    line-height: 1.6;
    color: #232323; }
  .cp_table tr:last-child th, .cp_table tr:last-child td {
    border-bottom: 1px solid #232323; }
  .cp_table th {
    width: 20%;
    text-align: left;
    font-weight: bold; }
  .cp_table .access {
    font-weight: bold;
    position: relative;
    padding-left: 13px; }
    .cp_table .access::before {
      content: '';
      display: inline-block;
      background: #232323;
      width: 5px;
      height: 80%;
      position: absolute;
      top: 50%;
      left: 0;
      -webkit-transform: translate(0, -50%);
      -ms-transform: translate(0, -50%);
      transform: translate(0, -50%); }
  .cp_table .access-link {
    display: block;
    margin-bottom: 30px; }
  .cp_table iframe {
    margin: 10px 0;
    display: block;
    width: 100%; }
  @media screen and (max-width: 639px) {
    .cp_table {
      margin: 0; }
      .cp_table th, .cp_table td {
        width: 100%;
        display: block;
        border-top: none; }
      .cp_table tr:first-child th {
        border-top: 1px solid #dddddd; } }
  @media screen and (max-width: 639px) {
    .cp_table th, .cp_table td {
      padding: 15px 15px 5px 15px; }
      .cp_table th:last-child, .cp_table td:last-child {
        border-bottom: none !important; }
    .cp_table tr:last-child th, .cp_table .cp_table tr:last-child td {
      border-bottom: none !important; } }

.anniversary .ttl {
  font-family: "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", 游ゴシック体, "Yu Gothic", YuGothic, メイリオ, Meiryo, sans-serif; }

.anniversary .video-wrap {
  position: relative;
  width: 50%;
  margin: 80px auto;
  display: block; }
  .anniversary .video-wrap video {
    width: 100%; }

.anniversary .video-btn {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 40px;
  /*コントローラー分下部に余白を*/
  cursor: pointer; }

@media screen and (max-width: 639px) {
  .anniversary .video-wrap {
    width: 100%;
    margin: 13% auto; } }

.business {
  margin: 80px auto; }
  .business .ttl {
    font-family: "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", 游ゴシック体, "Yu Gothic", YuGothic, メイリオ, Meiryo, sans-serif; }
    .business .ttl::after {
      display: none; }
  .business .column .txt-item {
    width: 45%;
    margin-right: 50px; }
  .business .column .txt-img {
    width: 68px;
    margin-bottom: 10px; }
  .business .column .img-item {
    width: 50%;
    height: 100%; }
    .business .column .img-item img {
      width: 100%; }
  .business .column .img-item02 {
    width: 48%;
    height: 100%;
    margin-right: 50px; }
    .business .column .img-item02:last-child {
      margin-right: 0; }
  .business .bg {
    background: #f1f1f1;
    width: 100%;
    padding: 30px 0 150px; }
  .business .s-ttl {
    position: relative;
    padding-left: 13px; }
    .business .s-ttl::before {
      content: '';
      display: inline-block;
      background: #0086d1;
      width: 5px;
      height: 80%;
      position: absolute;
      top: 50%;
      left: 0;
      -webkit-transform: translate(0, -50%);
      -ms-transform: translate(0, -50%);
      transform: translate(0, -50%); }
  .business .img02 {
    margin-top: -100px; }
  .business .link {
    display: block;
    width: 100%;
    -webkit-transition: .4s;
    -o-transition: .4s;
    transition: .4s; }
    .business .link:hover {
      opacity: 0.7;
      filter: alpha(opacity=70);
      -ms-filter: "alpha(opacity=70)"; }
    .business .link img {
      width: 100%; }
  @media screen and (max-width: 639px) {
    .business {
      margin: 0 auto; }
      .business .txt-item {
        width: 100% !important;
        margin-right: 0; }
      .business .img-item {
        width: 100% !important;
        margin-top: 5%; }
      .business .cp_table {
        width: 100%; }
      .business .img-item02 {
        width: 100% !important;
        margin-right: 0 !important;
        margin-bottom: 5%; } }

.b-ma {
  margin-top: 120px; }
  @media screen and (max-width: 639px) {
    .b-ma {
      margin-top: 10%; } }

.main-interview .anchor {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center; }
  .main-interview .anchor .link-img {
    margin-right: 30px; }
    .main-interview .anchor .link-img:last-child {
      margin-right: 0; }

.main-interview .inter-ttl {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }
  .main-interview .inter-ttl .txt-item {
    background: #0086d1;
    width: 55%;
    padding: 20px 30px; }
  .main-interview .inter-ttl h3 {
    margin-bottom: 32px; }
    .main-interview .inter-ttl h3::after {
      content: '';
      display: block;
      background-position: center center;
      background-size: contain;
      background-repeat: no-repeat;
      width: 30px;
      height: 3px;
      margin: 0 0;
      position: absolute;
      top: auto;
      left: 0;
      bottom: -17px;
      background: #ebbe18; }

.main-interview .img-item {
  width: 50%; }
  .main-interview .img-item img {
    width: 100%; }

.main-interview .interview-txt {
  width: 60%; }
  .main-interview .interview-txt .question, .main-interview .interview-txt .answer {
    position: relative;
    padding-left: 50px; }
    .main-interview .interview-txt .question::before, .main-interview .interview-txt .answer::before {
      content: '';
      display: block;
      width: 34px;
      height: 34px;
      position: absolute;
      top: -3px;
      left: 0;
      bottom: 0;
      right: 0; }
  .main-interview .interview-txt .question::before {
    background: url(../../assets/images/interview/icon_q.svg) no-repeat top center/contain; }
  .main-interview .interview-txt .answer::before {
    background: url(../../assets/images/interview/icon_a.svg) no-repeat top center/contain; }
  .main-interview .interview-txt .q {
    position: relative; }
    .main-interview .interview-txt .q::after {
      content: '';
      display: block;
      width: 100%;
      border-bottom: 1px solid #232323;
      padding-bottom: 35px; }

.main-interview .txt-img {
  width: 30%; }

@media screen and (max-width: 639px) {
  .main-interview .link-img {
    margin-right: 0 !important;
    margin-bottom: 4%; }
  .main-interview .txt-item {
    width: 100% !important;
    padding: 5% !important; }
    .main-interview .txt-item h3 {
      font-size: 1.2rem; }
  .main-interview .img-item {
    width: 100%; }
  .main-interview .interview-txt {
    width: 100%; }
  .main-interview .txt-imgsp {
    width: 100%;
    margin-top: 15%; } }

.construction {
  background: #0086d1;
  width: 100%;
  padding: 80px 5%;
  margin-top: -33px; }
  @media screen and (max-width: 639px) {
    .construction h3 {
      text-align: left;
      font-size: 1.5rem; }
      .construction h3::after {
        margin: 0 !important; }
    .construction .txt {
      text-align: left; } }

.performance .slide-ttl {
  border: 1px solid #232323;
  display: table;
  margin: 0 auto;
  padding: 5px 10px; }

.performance .const {
  width: 100%;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }
  .performance .const .const-item {
    width: 47%;
    margin-bottom: 50px; }

@media screen and (max-width: 639px) {
  .performance {
    /* bxslider */ }
    .performance #slider {
      width: 100%;
      margin: 3% auto 5%;
      display: block;
      overflow: hidden;
      height: auto; }
    .performance .bg_img {
      width: 90%;
      margin: 0 auto; }
    .performance .bx-pager a img {
      opacity: 0.5;
      filter: alpha(opacity=50);
      width: 100%;
      height: 14vw;
      -o-object-fit: cover;
      object-fit: cover;
      font-family: "object-fit:cover;"; }
    .performance .bx-pager a.active img {
      opacity: 1;
      filter: alpha(opacity=100); }
    .performance .bx-pager {
      width: 90%;
      display: block;
      margin: 0 auto; }
    .performance .bx-pager a {
      display: inline-block;
      background: #000;
      width: 14.5vw;
      height: auto;
      margin-left: 2%;
      margin-bottom: 2%;
      letter-spacing: normal;
      float: left; }
    .performance .bx-pager img {
      width: 100%;
      height: auto;
      display: block; }
    .performance .bx-wrapper {
      margin-bottom: 5% !important; }
    .performance .bx-wrapper img {
      width: 100% !important;
      height: 45vw !important;
      -o-object-fit: cover;
      object-fit: cover;
      font-family: "object-fit:cover;"; }
    .performance .const-item {
      width: 100% !important; } }

@media screen and (min-width: 640px) {
  .performance {
    /* bxslider */ }
    .performance #slider {
      width: 85%;
      margin: 3% auto 0; }
    .performance .bg_img {
      width: 72%; }
    .performance .bx-pager a img {
      opacity: 0.5;
      filter: alpha(opacity=50);
      width: 100%;
      height: 7vw;
      -o-object-fit: cover;
      object-fit: cover;
      font-family: "object-fit:cover;"; }
    .performance .bx-pager a.active img {
      opacity: 1;
      filter: alpha(opacity=100); }
    .performance .bx-pager {
      width: 27%;
      margin-left: 1%; }
    .performance .bx-pager a {
      display: inline-block;
      background: #000;
      width: 47%;
      height: auto;
      margin-left: 2%;
      margin-bottom: 2%;
      letter-spacing: normal;
      float: left; }
    .performance .bx-pager img {
      width: 100%;
      height: auto;
      display: block; }
    .performance .bx-wrapper {
      margin-bottom: 5% !important; }
    .performance .bx-wrapper img {
      width: 100% !important;
      height: 26vw !important;
      -o-object-fit: cover;
      object-fit: cover;
      font-family: "object-fit:cover;"; } }

.work-about {
  background: #0086d1;
  width: 100%;
  padding: 80px 0 120px;
  margin-top: -33px; }
  .work-about .inner {
    -webkit-box-align: baseline;
    -ms-flex-align: baseline;
    align-items: baseline; }
  .work-about .video-wrap {
    position: relative;
    width: 48%;
    display: block; }
    .work-about .video-wrap video {
      width: 100%; }
  .work-about .video-btn {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 40px;
    /*コントローラー分下部に余白を*/
    cursor: pointer; }
  .work-about .youtube {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
    .work-about .youtube .youtube-item {
      width: 48%;
      margin-bottom: 50px; }
    .work-about .youtube iframe {
      width: 100%; }
  @media screen and (max-width: 639px) {
    .work-about {
      padding: 80px 0 10%; }
      .work-about h3 {
        text-align: left;
        font-size: 1.5rem;
        padding-left: 4%; }
        .work-about h3::after {
          margin: 0 !important;
          left: 4% !important; }
      .work-about .txt {
        text-align: left;
        padding: 0 4%; }
      .work-about .video-wrap {
        width: 100%;
        margin-bottom: 8%; }
        .work-about .video-wrap .txt {
          text-align: center; }
      .work-about .youtube .youtube-item {
        width: 100%;
        margin-bottom: 50px; }
      .work-about .youtube iframe {
        width: 100%;
        height: 12em; } }

.sub-image-work {
  margin: 0 auto;
  width: 100%;
  height: 14em !important;
  text-align: center;
  position: relative; }
  .sub-image-work .header-ttl {
    font-size: 1rem;
    padding-top: 85px;
    color: #ebbe18;
    font-weight: bold; }
    .sub-image-work .header-ttl .sub-ttl {
      display: block;
      font-size: 2rem;
      color: #FFF;
      text-align: center;
      padding-top: 10px;
      font-weight: 800;
      font-family: "Raleway", sans-serif; }
  .sub-image-work.-work01 {
    background: url(../../assets/images/work/ttl_bg_tekko.jpg) no-repeat center center/cover; }
  .sub-image-work.-work02 {
    background: url(../../assets/images/work/ttl_bg_kensetsu.jpg) no-repeat center center/cover; }
  .sub-image-work.-work03 {
    background: url(../../assets/images/work/ttl_bg_shisetsu.jpg) no-repeat center center/cover; }
  .sub-image-work.-work04 {
    background: url(../../assets/images/work/ttl_bg_nishii.jpg) no-repeat center center/cover; }
  .sub-image-work.-work05 {
    background: url(../../assets/images/work/bnr_interview.jpg) no-repeat center center/cover;
    width: 100%;
    height: 19em !important; }
  @media screen and (max-width: 639px) {
    .sub-image-work {
      height: 9em !important; }
      .sub-image-work .header-ttl {
        font-size: .9rem;
        padding-top: 51px; }
        .sub-image-work .header-ttl .sub-ttl {
          display: block;
          font-size: 1.4rem; }
      .sub-image-work.-work05 {
        width: 100%;
        height: 13em !important;
        padding: 0 4%; }
        .sub-image-work.-work05 h2 {
          padding-top: 51px; }
        .sub-image-work.-work05 .sub-ttl {
          font-size: 1.1rem; } }

.work-detail {
  background: #f1f1f1;
  width: 100%;
  padding: 0 0 100px; }
  .work-detail .work-table {
    width: 87%;
    margin: 50px auto; }
    .work-detail .work-table th {
      width: 25%;
      background: #ebbe18;
      vertical-align: middle;
      font-weight: bold;
      font-size: 1rem;
      padding: 3%; }
    .work-detail .work-table td {
      font-size: 1rem;
      color: #232323;
      line-height: 1.8;
      background: #FFF;
      padding: 20px 20px 20px 50px; }
      .work-detail .work-table td li {
        list-style-type: decimal; }
  .work-detail .schedule {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center; }
    .work-detail .schedule .schedule-time {
      width: 50%;
      background: #FFF;
      padding: 30px;
      margin-right: 50px; }
      .work-detail .schedule .schedule-time .time-txt {
        background: #0086d1;
        color: #FFF;
        padding: 5px 20px;
        width: 100%; }
      .work-detail .schedule .schedule-time table {
        margin: 20px 0;
        width: 100%; }
      .work-detail .schedule .schedule-time tr {
        margin: 20px 0;
        display: block;
        position: relative; }
        .work-detail .schedule .schedule-time tr::after {
          content: '';
          display: block;
          border-bottom: 1px dashed #232323;
          padding-top: 15px; }
        .work-detail .schedule .schedule-time tr:last-child::after {
          display: none; }
      .work-detail .schedule .schedule-time th {
        font-size: 1.5rem;
        color: #0086d1;
        padding-right: 30px;
        font-weight: bold; }
      .work-detail .schedule .schedule-time td {
        font-size: 1rem;
        color: #232323;
        line-height: 1.6;
        vertical-align: middle; }
    .work-detail .schedule .schedule-img {
      width: 33%; }
      .work-detail .schedule .schedule-img img {
        width: 100%; }
  @media screen and (max-width: 639px) {
    .work-detail {
      margin-top: 10%; }
      .work-detail .work-table {
        width: 100%; }
      .work-detail th {
        width: 100% !important; }
      .work-detail th, .work-detail td {
        display: block; }
      .work-detail .schedule .schedule-time, .work-detail .schedule .schedule-img {
        width: 100%; }
      .work-detail .schedule table {
        text-align: left; }
      .work-detail .schedule th {
        margin-bottom: 2%; }
      .work-detail .sp-size {
        font-size: 1rem !important; } }

.recruit-about {
  background: #0086d1;
  width: 100%;
  padding: 80px 0 120px;
  margin-top: -33px; }
  .recruit-about .recruit-info {
    padding-top: 100px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; }
    .recruit-about .recruit-info .info-txt {
      width: 40%;
      margin: 0 5% 0 10%;
      max-width: 30%; }
    .recruit-about .recruit-info .info-img {
      width: 60%;
      height: 400px;
      -o-object-fit: cover;
      object-fit: cover;
      font-family: 'object-fit: cover;'; }
  .recruit-about .inner {
    -webkit-box-align: baseline;
    -ms-flex-align: baseline;
    align-items: baseline; }
  @media screen and (max-width: 639px) {
    .recruit-about {
      padding: 80px 0 15%; }
      .recruit-about h3 {
        padding: 0 4%; }
      .recruit-about .recruit-info {
        width: 100%;
        padding: 6% 4%; }
        .recruit-about .recruit-info .info-txt {
          width: 100%;
          margin: 0 5% 5%;
          max-width: initial; }
        .recruit-about .recruit-info .info-img {
          width: 100%; } }

.sub-image-recruit {
  margin: 0 auto;
  width: 100%;
  height: 29em !important;
  text-align: center;
  position: relative;
  background: url(../../assets/images/recruit/people_bg.jpg) no-repeat center center/cover; }
  .sub-image-recruit .header-ttl {
    font-size: 1rem;
    padding-top: 80px;
    color: #ebbe18;
    font-weight: bold;
    position: relative; }
    .sub-image-recruit .header-ttl .sub-ttl {
      display: block;
      font-size: 2rem;
      color: #FFF;
      text-align: center;
      padding-top: 10px;
      font-weight: 800;
      font-family: "Raleway", sans-serif; }
    .sub-image-recruit .header-ttl::after {
      content: '';
      display: block;
      content: '';
      display: block;
      margin: 0 auto;
      -webkit-transform: translate(0, -50%);
      -ms-transform: translate(0, -50%);
      transform: translate(0, -50%);
      background-position: center center;
      background-size: contain;
      background-repeat: no-repeat;
      width: 30px;
      height: 3px;
      position: absolute;
      top: auto;
      left: 0;
      bottom: -17px;
      right: 0;
      background: #ebbe18; }
  @media screen and (max-width: 639px) {
    .sub-image-recruit {
      padding-bottom: 9%;
      height: auto !important; }
      .sub-image-recruit .header-ttl {
        padding: 9% 0 1%; }
      .sub-image-recruit p {
        padding: 0 4%; } }

.support .support-box {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }

.support .support-img {
  width: 25%;
  margin-right: 50px; }
  .support .support-img img {
    width: 100%; }

.support .support-txt {
  border: 2px solid #0086d1;
  padding: 20px;
  width: 60%; }

.support .sp-ttl {
  position: relative;
  padding-left: 13px; }
  .support .sp-ttl::before {
    content: '';
    display: inline-block;
    background: #0086d1;
    width: 5px;
    height: 80%;
    position: absolute;
    top: 50%;
    left: 0;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%); }

.support .sp-list {
  background: #c8e7f9;
  border-radius: 5px;
  padding: 10px;
  font-weight: bold;
  font-size: .9rem;
  color: #232323; }

@media screen and (max-width: 639px) {
  .support .support-img {
    width: 100%;
    margin-right: 0; }
  .support .support-txt {
    padding: 5%;
    width: 100%;
    margin-top: 5%; } }

.sub-image-anniversary {
  margin: 0 auto;
  position: relative; }
  .sub-image-anniversary .txt-box {
    width: 45%;
    padding: 50px 0 0 0;
    margin: 0 auto; }
    .sub-image-anniversary .txt-box img {
      width: 100%;
      margin-bottom: 20px; }
  .sub-image-anniversary .header-ttl {
    display: block;
    font-size: 1.5rem;
    color: #232323;
    padding-top: 10px;
    font-weight: bold;
    position: relative; }
    .sub-image-anniversary .header-ttl::after {
      content: '';
      display: block;
      width: 30px;
      height: 3px;
      position: absolute;
      top: auto;
      left: 0;
      bottom: -17px;
      right: 0;
      background: #ebbe18; }
  @media screen and (max-width: 639px) {
    .sub-image-anniversary .header-ttl {
      font-size: 1.2rem;
      padding-top: 10px;
      line-height: 1.4;
      width: 100%;
      margin-bottom: 8%; }
    .sub-image-anniversary .txt-box {
      width: 100%;
      padding: 14% 4% 0 4%; } }

.post {
  background: #f1f1f1;
  width: 100%;
  padding: 50px 0 100px; }
  .post .column {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center; }
    .post .column .item {
      width: 32%;
      margin-right: 50px;
      background: #FFF; }
      .post .column .item:last-child {
        margin-right: 0; }
    .post .column .item-img {
      width: 100%; }
      .post .column .item-img img {
        width: 100%; }
    .post .column .txt-ttl {
      background: #0086d1;
      color: #FFF;
      padding: 10px 10px;
      width: 100%;
      text-align: center; }
    .post .column .txt-ttl02 {
      border: 2px solid #0086d1;
      padding: 5px 10px;
      width: 100%;
      text-align: center;
      margin-bottom: 10px; }
    .post .column .txt-box {
      background: #FFF;
      padding: 25px; }
  @media screen and (max-width: 639px) {
    .post {
      padding: 50px 0 0; }
      .post .item {
        width: 100% !important;
        margin-right: 0 !important;
        margin-bottom: 8%; } }

.requirements {
  background: #f1f1f1;
  width: 100%;
  padding: 30px 0 100px; }

.sub-image-business {
  margin: 0 auto;
  width: 100%;
  height: 17em !important;
  text-align: center;
  position: relative;
  background: url(../../assets/images/recruit/business_link_bg.jpg) no-repeat center center/cover; }
  .sub-image-business .header-ttl {
    font-size: 1rem;
    padding-top: 80px;
    color: #ebbe18;
    font-weight: bold;
    position: relative; }
    .sub-image-business .header-ttl .sub-ttl {
      display: block;
      font-size: 2rem;
      color: #FFF;
      text-align: center;
      padding-top: 10px;
      font-weight: 800;
      font-family: "Raleway", sans-serif; }
    .sub-image-business .header-ttl::after {
      content: '';
      display: block;
      content: '';
      display: block;
      margin: 0 auto;
      -webkit-transform: translate(0, -50%);
      -ms-transform: translate(0, -50%);
      transform: translate(0, -50%);
      background-position: center center;
      background-size: contain;
      background-repeat: no-repeat;
      width: 30px;
      height: 3px;
      position: absolute;
      top: auto;
      left: 0;
      bottom: -17px;
      right: 0;
      background: #ebbe18; }
  @media screen and (max-width: 639px) {
    .sub-image-business {
      height: 13em !important; }
      .sub-image-business .header-ttl {
        font-size: 1rem;
        padding-top: 50px; }
      .sub-image-business .sub-ttl {
        font-size: 1.2rem !important;
        margin-bottom: 9%; } }

.inter .inter-ul {
  text-align: center; }
  .inter .inter-ul li {
    color: #232323;
    font-weight: bold;
    font-size: 1.1rem;
    line-height: 2.2;
    position: relative;
    display: table;
    margin: 0 auto;
    padding-left: 35px; }
    .inter .inter-ul li::before {
      content: '';
      display: block;
      width: 26px;
      height: 30px;
      position: absolute;
      top: 0;
      left: 0;
      bottom: 0;
      right: 0;
      background: url(../../assets/images/recruit/check.svg) no-repeat top center/contain; }

.inter .schedule {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }
  .inter .schedule .schedule-time {
    width: 45%;
    background: #FFF;
    padding: 30px;
    margin-right: 50px;
    text-align: center; }
    .inter .schedule .schedule-time .time-txt {
      background: #0086d1;
      color: #FFF;
      padding: 5px 20px;
      width: 100%; }
    .inter .schedule .schedule-time table {
      margin: 20px 0;
      width: 100%;
      background: #f0f9fe;
      padding: 0 20px;
      display: block;
      border-radius: 5px; }
    .inter .schedule .schedule-time tr {
      margin: 20px 0;
      display: block;
      position: relative; }
      .inter .schedule .schedule-time tr::after {
        content: '';
        display: block;
        border-bottom: 1px dashed #232323;
        padding-top: 15px; }
      .inter .schedule .schedule-time tr:last-child::after {
        display: none; }
    .inter .schedule .schedule-time th {
      font-size: 1.5rem;
      color: #ebbe18;
      padding-right: 30px;
      font-weight: bold; }
    .inter .schedule .schedule-time td {
      font-size: 1rem;
      color: #232323;
      line-height: 1.6;
      vertical-align: middle; }
  .inter .schedule .schedule-img {
    width: 40%; }
    .inter .schedule .schedule-img img {
      width: 100%; }

@media screen and (max-width: 639px) {
  .inter .inter-ul li {
    font-size: 1rem; }
  .inter .schedule-time {
    width: 100% !important;
    padding: 0 !important;
    margin-right: 0 !important; }
  .inter table {
    text-align: left; }
  .inter .schedule-img {
    width: 100% !important;
    margin-bottom: 10%; }
  .inter .btn::after {
    display: none; } }

.form-container {
  margin: 80px auto 100px; }
  .form-container .personal {
    width: 50%;
    height: 250px;
    margin: 50px auto;
    overflow-y: scroll;
    border: 1px solid #bfbfbf;
    padding: 27px 25px;
    background: #FFF; }
    .form-container .personal h3 {
      color: #07416b;
      font-size: 14px;
      margin-bottom: 15px;
      font-weight: bold; }
    .form-container .personal p {
      color: #2b2b2b;
      font-size: 12px;
      line-height: 1.5;
      margin-bottom: 35px;
      text-align: left;
      width: 100%; }
    .form-container .personal ul {
      width: 100%;
      margin-bottom: 35px; }
      .form-container .personal ul li {
        text-align: left;
        font-size: 12px;
        line-height: 1.5;
        padding: 0; }
  .form-container .btn::after {
    display: none; }
  .form-container .form {
    margin: 110px auto 0; }
    .form-container .form .submit-btn {
      padding: 7px 10px;
      border-radius: 5px;
      width: 300px;
      font-size: 1rem; }
  .form-container .form-ttl {
    background: #0086d1;
    color: #FFF;
    display: block;
    padding: 5px 10px;
    border-radius: 5px; }
  .form-container .my-parts {
    text-align: left; }
    .form-container .my-parts .form-ttl {
      margin-bottom: 15px;
      padding-left: 5px; }
      .form-container .my-parts .form-ttl .small {
        font-size: .8rem;
        margin-left: 10px; }
  .form-container .mt {
    margin: 20px auto 10px !important; }
  .form-container .my-parts input[type="radio"] {
    display: none; }
  .form-container .my-parts input[type="radio"] + span {
    display: inline-block;
    position: relative;
    padding: 0 0 0 1.2em;
    margin: 0 .2em 0;
    cursor: pointer; }
  .form-container .my-parts input[type="radio"] + span::before {
    position: absolute;
    content: "";
    top: 50%;
    left: 0;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 50%;
    width: 1em;
    height: 1em;
    display: block; }
  .form-container .my-parts input[type="radio"]:checked + span::after {
    position: absolute;
    content: "";
    top: 50%;
    left: 0;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    background: #3689f4;
    border-radius: 50%;
    width: 1em;
    height: 1em;
    border: .2em solid #fff;
    display: block; }
  .form-container .contact-item {
    position: relative;
    width: 50%;
    min-width: 500px;
    margin: 0 auto 10px; }
    .form-container .contact-item input[type=text] {
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      width: 100%;
      margin: 8px 0;
      padding: 0.5em 0.3em;
      -webkit-transition: 0.3s;
      -o-transition: 0.3s;
      transition: 0.3s;
      border: 2px solid #0086d1;
      border-radius: 4px;
      outline: none; }
    .form-container .contact-item textarea {
      width: 100%;
      border: 2px solid #0086d1;
      border-radius: 4px;
      margin: 8px 0 12px;
      outline: none;
      padding: 8px;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      -webkit-transition: .3s;
      -o-transition: .3s;
      transition: .3s;
      padding-left: 15px;
      color: #333; }
    .form-container .contact-item .fa-comment {
      top: 10px; }
    .form-container .contact-item input[type=text]:focus {
      border-color: #ebbe18; }
    .form-container .contact-item input[type=text] {
      padding-left: 15px; }
    .form-container .contact-item i {
      position: absolute;
      top: 14px;
      left: 0;
      padding: 9px 10px;
      -webkit-transition: 0.3s;
      -o-transition: 0.3s;
      transition: 0.3s;
      color: #aaaaaa; }
    .form-container .contact-item input[type=text]:focus + i {
      color: #ebbe18; }
    .form-container .contact-item::after {
      content: '必須';
      position: absolute;
      right: 2%;
      top: 1.1rem;
      -webkit-transform: translate(0, -50%);
      -ms-transform: translate(0, -50%);
      transform: translate(0, -50%);
      font-size: .8rem;
      background: #ebbe18;
      padding: .25rem .5rem;
      color: #fff;
      border-radius: 3px; }
  .form-container .none::after {
    display: none; }
  @media screen and (max-width: 639px) {
    .form-container {
      margin: 20% auto; }
      .form-container .form {
        margin: 26% auto 0; }
        .form-container .form .submit-btn {
          padding: 3%;
          border-radius: 5px;
          width: 90%; }
      .form-container .personal {
        width: 100%; }
      .form-container label {
        display: block;
        margin-bottom: 2%; }
      .form-container .contact-item {
        position: relative;
        width: 100%;
        min-width: auto;
        margin: 0 auto;
        position: relative; }
        .form-container .contact-item input[type=text] {
          -webkit-box-sizing: border-box;
          box-sizing: border-box;
          width: 100%;
          margin: 8px 0;
          padding: 0.5em 0.3em;
          -webkit-transition: 0.3s;
          -o-transition: 0.3s;
          transition: 0.3s;
          border: 2px solid #0086d1;
          border-radius: 4px;
          outline: none; }
        .form-container .contact-item input[type=text]:focus {
          border-color: #ebbe18; }
        .form-container .contact-item input[type=text] {
          padding-left: 15px; }
        .form-container .contact-item i {
          position: absolute;
          top: 14px;
          left: 0;
          padding: 9px 10px;
          -webkit-transition: 0.3s;
          -o-transition: 0.3s;
          transition: 0.3s;
          color: #aaaaaa; }
        .form-container .contact-item input[type=text]:focus + i {
          color: #ebbe18; }
        .form-container .contact-item::after {
          content: '必須';
          position: absolute;
          right: 4%;
          top: 1.1rem;
          -webkit-transform: translate(0, -50%);
          -ms-transform: translate(0, -50%);
          transform: translate(0, -50%);
          font-size: .8rem;
          background: #ebbe18;
          padding: .25rem .5rem;
          color: #fff;
          border-radius: 3px; } }

.contact-column {
  width: 60%;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 0 auto; }

.formTable {
  max-width: 1200px;
  margin: 80px auto 80px !important;
  width: 60%;
  border-collapse: separate;
  border-spacing: 0px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }
  @media screen and (max-width: 639px) {
    .formTable {
      width: 90% !important; } }
  .formTable th, .formTable td {
    padding: 17px 30px 17px 30px;
    background: #FFF;
    border-top: 1px solid #232323;
    line-height: 1.6;
    color: #232323; }
  .formTable tr:last-child th, .formTable tr:last-child td {
    border-bottom: 1px solid #232323; }
  .formTable th {
    width: 35%;
    text-align: left;
    font-weight: bold; }

.re-page {
  margin-left: 20px; }
  @media screen and (max-width: 639px) {
    .re-page {
      margin-left: 0 !important;
      margin-top: 5%; } }

@media screen and (max-width: 639px) {
  .contact-attention {
    margin: 10% auto 5% !important;
    width: 90% !important;
    line-height: 1.4; } }

.copy {
  font-size: 0.9em;
  color: #FFF;
  background: #0086d1;
  padding: 10px 0;
  width: 100%;
  text-align: center; }
  @media screen and (max-width: 639px) {
    .copy {
      text-align: center !important; } }

footer {
  background: #04293e;
  width: 100%;
  padding: 80px 0 0; }
  footer .inner {
    padding-bottom: 80px; }
  footer table th, footer table td, footer table a {
    color: #FFF;
    line-height: 1.6;
    text-align: left;
    font-size: .9rem; }
  footer table tr {
    margin-bottom: 20px;
    display: block; }
  footer table th {
    color: #FFF;
    line-height: 1.6;
    text-align: left;
    width: 80px; }
  footer table td {
    padding-left: 12px;
    border-left: 1px solid #eee; }
  footer .link-item {
    margin-right: 35px; }
    footer .link-item:last-child {
      margin-right: 0; }
    footer .link-item a {
      display: table; }
    footer .link-item .main {
      margin-bottom: 8px; }
    footer .link-item .sub {
      line-height: 1.8; }
    footer .link-item .main, footer .link-item .sub {
      -webkit-transition: .4s;
      -o-transition: .4s;
      transition: .4s; }
      footer .link-item .main:hover, footer .link-item .sub:hover {
        opacity: 0.7;
        filter: alpha(opacity=70);
        -ms-filter: "alpha(opacity=70)"; }
  @media screen and (max-width: 639px) {
    footer .link-item {
      display: none; } }

@media screen and (max-width: 639px) {
  .re-btn {
    position: fixed;
    bottom: 5%;
    right: 5%;
    z-index: 9999;
    -webkit-transition: .4s;
    -o-transition: .4s;
    transition: .4s;
    width: auto; }
    .re-btn:hover {
      opacity: 0.7;
      filter: alpha(opacity=70);
      -ms-filter: "alpha(opacity=70)"; } }

@media screen and (min-width: 640px) {
  .re-btn {
    position: fixed;
    bottom: 5%;
    right: 5%;
    z-index: 9999;
    -webkit-transition: .4s;
    -o-transition: .4s;
    transition: .4s; }
    .re-btn:hover {
      opacity: 0.7;
      filter: alpha(opacity=70);
      -ms-filter: "alpha(opacity=70)"; } }

/*  navigation  */
.container {
  overflow: hidden; }

.header-logo {
  width: 240px;
  margin-right: auto; }
  @media screen and (max-width: 639px) {
    .header-logo {
      width: 200px; } }

#header-top {
  height: 94px;
  padding: 0 0 0 3%;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }
  #header-top .nav-contact {
    padding: 35px 50px;
    background: #ebbe18;
    color: #232323;
    display: block;
    position: relative; }
    #header-top .nav-contact::before {
      content: '';
      display: block;
      background: url(../../assets/images/common/nav_yellow.svg) no-repeat top left/contain !important;
      width: 142px;
      height: 102px;
      position: absolute;
      top: auto;
      left: -138px;
      bottom: 0;
      right: auto;
      pointer-events: none; }
    #header-top .nav-contact .contact-txt {
      position: relative;
      -webkit-transition: .4s;
      -o-transition: .4s;
      transition: .4s; }
      #header-top .nav-contact .contact-txt::before {
        content: '';
        display: block;
        -webkit-transform: translate(0, -50%);
        -ms-transform: translate(0, -50%);
        transform: translate(0, -50%);
        background-position: center center;
        background-size: contain;
        background-repeat: no-repeat;
        width: 17px;
        height: 13px;
        position: absolute;
        top: 50%;
        left: -25px;
        bottom: 0;
        right: 0;
        background: url(../../assets/images/common/icon_mail.svg);
        -webkit-transition: .4s;
        -o-transition: .4s;
        transition: .4s; }
      #header-top .nav-contact .contact-txt:hover {
        opacity: 0.7;
        filter: alpha(opacity=70);
        -ms-filter: "alpha(opacity=70)"; }
    @media screen and (max-width: 1119px) {
      #header-top .nav-contact {
        display: none; } }
  @media screen and (max-width: 1119px) {
    #header-top {
      position: fixed;
      width: 100%;
      top: 0;
      left: 0;
      background: #fff;
      z-index: 100; } }

#gNav {
  white-space: nowrap; }
  #gNav .main-menu {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-right: 0;
    margin-left: auto;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    height: 100%;
    padding: 39.5px 140px 39.5px 0;
    background: #0086d1; }
    #gNav .main-menu::before {
      content: '';
      display: block;
      background: url(../../assets/images/common/nav_blue.svg) no-repeat top left/contain !important;
      width: 152px;
      height: 100px;
      position: absolute;
      top: auto;
      left: -140px;
      bottom: 0;
      right: auto; }
  #gNav li {
    position: relative; }
    #gNav li a {
      font-size: .96em;
      letter-spacing: .02;
      color: #FFF;
      margin-left: 1.6em;
      margin-right: 0; }
    #gNav li:hover {
      color: #0086d1; }
  #gNav .sub-icon::after {
    content: "\f078";
    font-family: "Font Awesome 5 Free";
    font-weight: bold;
    color: #FFF;
    bottom: -1;
    right: 0px;
    width: 100%;
    height: 20px; }

nav .sub-menu, .mean-container .mean-nav ul ul {
  background: #efefef; }

#gNav .sub-menu {
  visibility: hidden;
  opacity: 0;
  z-index: 1;
  position: absolute;
  top: 30px;
  -webkit-transition: all .2s ease;
  -o-transition: all .2s ease;
  transition: all .2s ease;
  white-space: nowrap;
  background: #FFF; }
  #gNav .sub-menu a {
    display: block;
    padding-left: 0px;
    padding: 20px 25px;
    border-bottom: none;
    color: #FFF;
    -webkit-transition: .4s;
    -o-transition: .4s;
    transition: .4s;
    margin-left: 0;
    line-height: 1.2em; }
  #gNav .sub-menu:hover:after {
    content: none; }
  #gNav .sub-menu li {
    display: block;
    -webkit-transition: .4s;
    -o-transition: .4s;
    transition: .4s;
    font-size: 0.96rem;
    color: #FFF; }
    @media screen and (max-width: 1119px) {
      #gNav .sub-menu li {
        background: #efefef; } }
    #gNav .sub-menu li a:hover {
      color: #FFF !important;
      background: #0086d1; }

#gNav li:hover ul.sub-menu {
  visibility: visible;
  opacity: 1;
  z-index: 9999; }
  #gNav li:hover ul.sub-menu a {
    color: #232323; }

a.meanmenu-reveal {
  display: none; }

a.mean-bar {
  width: 100%;
  position: fixed;
  background: none;
  min-height: 86px;
  z-index: 98;
  top: 0;
  left: 0; }

.meanmenu-reveal-btn {
  position: absolute;
  display: block;
  z-index: 99999;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 60px;
  height: 60px;
  right: 0;
  top: 0; }

.meanmenu-reveal {
  width: 32px;
  height: 20px;
  margin: 30px 0px;
  display: block !important;
  position: relative; }
  .meanmenu-reveal:after {
    content: "MENU";
    position: absolute;
    bottom: -22px;
    color: #0086d1;
    width: 60px;
    left: -14px;
    text-align: center;
    display: block;
    font-family: "Raleway", sans-serif;
    font-size: 14px;
    font-weight: 600; }
  .meanmenu-reveal span {
    display: inline-block;
    -webkit-transition: all .4s;
    -o-transition: all .4s;
    transition: all .4s;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    margin: 0 auto; }
    .meanmenu-reveal span:nth-of-type(1) {
      top: 0;
      background: #0086d1; }
    .meanmenu-reveal span:nth-of-type(2) {
      top: 8px;
      background: #0086d1; }
    .meanmenu-reveal span:nth-of-type(3) {
      top: 16px;
      background: #0086d1; }

.meanmenu-reveal.meanclose:after {
  content: "CLOSE"; }

.meanclose span:nth-of-type(1) {
  -webkit-animation: active-menu-ber01 .75s forwards;
  animation: active-menu-ber01 .75s forwards;
  top: -2px; }

.meanclose span:nth-of-type(2) {
  opacity: 0; }

.meanclose span:nth-of-type(3) {
  -webkit-animation: active-menu-ber03 .75s forwards;
  animation: active-menu-ber03 .75s forwards; }

.mean-container .mean-nav {
  width: 100%;
  margin-top: 46px;
  max-height: 100vh;
  position: fixed;
  left: 0; }
  .mean-container .mean-nav ul {
    margin: 0;
    width: 100%;
    list-style-type: none;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
    position: relative;
    z-index: 99;
    max-height: 100vh;
    max-height: calc(100vh - 80px); }
  .mean-container .mean-nav ul ul {
    padding-bottom: 0;
    margin-bottom: 0; }
  .mean-container .mean-nav ul li {
    position: relative;
    width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background: #0086d1;
    color: #FFF; }

.mean-container .mean-nav ul li a {
  display: block;
  width: 100%;
  padding: 1.2em 2em;
  border-bottom: 1px solid #ddd;
  font-size: 1.1em;
  margin: 0;
  text-align: left;
  text-decoration: none;
  color: #FFF;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  position: relative; }
  .mean-container .mean-nav ul li a img {
    display: none; }
  .mean-container .mean-nav ul li a span.pre {
    display: block;
    width: 100%;
    padding: 1.2em 2em;
    border-bottom: 1px solid #ddd;
    font-size: 1.1em;
    margin: 0;
    text-align: left;
    text-decoration: none;
    color: #333;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: relative; }

.mean-container .mean-nav ul li li a {
  width: 100%;
  padding: 1em 8%;
  text-shadow: none !important;
  visibility: visible; }

.mean-container .mean-nav ul li.mean-last a {
  border-bottom: none;
  margin-bottom: 0; }

.mean-container .mean-nav ul li li li a {
  width: 70%;
  padding: 1em 15%; }

.mean-container .mean-nav ul li li li li a {
  width: 60%;
  padding: 1em 20%; }

.mean-container .mean-nav ul li li li li li a {
  width: 50%;
  padding: 1em 25%; }

.mean-container .mean-nav ul li a:hover {
  background: #252525;
  background: rgba(255, 255, 255, 0.1); }

.mean-container .mean-nav ul li a.mean-expand {
  /*margin-top:1px;*/
  width: 60px;
  height: 100%;
  text-align: center;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 2;
  padding: 0.3em;
  font-size: 36px;
  color: #0086d1;
  background: #eee; }
  .mean-container .mean-nav ul li a.mean-expand:hover {
    background: #a0c6d1;
    color: #fff;
    font-size: 36px; }

.mean-container .mean-push {
  float: left;
  width: 100%;
  padding: 0;
  margin: 0;
  clear: both; }

.mean-nav .wrapper {
  width: 100%;
  padding: 0;
  margin: 0; }

.mean-container .mean-bar {
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  font-weight: normal; }
  .mean-container .mean-bar * {
    -webkit-box-sizing: content-box;
    -moz-box-sizing: content-box;
    box-sizing: content-box; }
  .mean-container .mean-bar a span {
    font-weight: normal; }

.mean-remove {
  display: none !important; }

@-webkit-keyframes menu-ber01 {
  0% {
    -webkit-transform: translateY(8px) rotate(45deg); }
  50% {
    -webkit-transform: translateY(8px) rotate(0); }
  100% {
    -webkit-transform: translateY(0) rotate(0); } }

@keyframes menu-ber01 {
  0% {
    -webkit-transform: translateY(8px) rotate(45deg);
    transform: translateY(8px) rotate(45deg); }
  50% {
    -webkit-transform: translateY(8px) rotate(0);
    transform: translateY(8px) rotate(0); }
  100% {
    -webkit-transform: translateY(0) rotate(0);
    transform: translateY(0) rotate(0); } }

@-webkit-keyframes menu-ber02 {
  0% {
    -webkit-transform: translateY(-8px) rotate(-45deg); }
  50% {
    -webkit-transform: translateY(-8px) rotate(0); }
  100% {
    -webkit-transform: translateY(0) rotate(0); } }

@keyframes menu-ber02 {
  0% {
    -webkit-transform: translateY(-8px) rotate(-45deg);
    transform: translateY(-8px) rotate(-45deg); }
  50% {
    -webkit-transform: translateY(-8px) rotate(0);
    transform: translateY(-8px) rotate(0); }
  100% {
    -webkit-transform: translateY(0) rotate(0);
    transform: translateY(0) rotate(0); } }

@-webkit-keyframes active-menu-ber01 {
  0% {
    -webkit-transform: translateY(0) rotate(0); }
  50% {
    -webkit-transform: translateY(10px) rotate(0); }
  100% {
    -webkit-transform: translateY(10px) rotate(45deg); } }

@keyframes active-menu-ber01 {
  0% {
    -webkit-transform: translateY(0) rotate(0);
    transform: translateY(0) rotate(0); }
  50% {
    -webkit-transform: translateY(10px) rotate(0);
    transform: translateY(10px) rotate(0); }
  100% {
    -webkit-transform: translateY(10px) rotate(45deg);
    transform: translateY(10px) rotate(45deg); } }

@-webkit-keyframes active-menu-ber03 {
  0% {
    -webkit-transform: translateY(0) rotate(0); }
  50% {
    -webkit-transform: translateY(-8px) rotate(0); }
  100% {
    -webkit-transform: translateY(-8px) rotate(-45deg); } }

@keyframes active-menu-ber03 {
  0% {
    -webkit-transform: translateY(0) rotate(0);
    transform: translateY(0) rotate(0); }
  50% {
    -webkit-transform: translateY(-8px) rotate(0);
    transform: translateY(-8px) rotate(0); }
  100% {
    -webkit-transform: translateY(-8px) rotate(-45deg);
    transform: translateY(-8px) rotate(-45deg); } }

/*   HELPER
------------------------------------------ */
@media screen and (min-width: 640px) {
  .ta-c {
    text-align: center !important; } }

.ta-r {
  text-align: right !important; }

.ta-l {
  text-align: left !important; }

.ma {
  margin-left: auto;
  margin-right: auto; }

.block {
  display: block; }

.table {
  display: table; }

.black {
  color: #232323; }

.blue {
  color: #0086d1; }

.yellow {
  color: #ebbe18; }

.bold {
  font-weight: bold; }

.mt0 {
  margin-top: 0px !important; }

.mb0 {
  margin-bottom: 0px !important; }

.mt10 {
  margin-top: 10px !important; }

.mb10 {
  margin-bottom: 10px !important; }

.mt20 {
  margin-top: 20px !important; }

.mb20 {
  margin-bottom: 20px !important; }

.mt30 {
  margin-top: 30px !important; }

.mb30 {
  margin-bottom: 30px !important; }

.mt40 {
  margin-top: 40px !important; }

.mb40 {
  margin-bottom: 40px !important; }

.mt50 {
  margin-top: 50px !important; }

.mb50 {
  margin-bottom: 50px !important; }

.mt60 {
  margin-top: 60px !important; }

.mb60 {
  margin-bottom: 60px !important; }

.mt70 {
  margin-top: 70px !important; }

.mb70 {
  margin-bottom: 70px !important; }

.mt80 {
  margin-top: 80px !important; }

.mb80 {
  margin-bottom: 80px !important; }

.mt90 {
  margin-top: 90px !important; }

.mb90 {
  margin-bottom: 90px !important; }

.mt100 {
  margin-top: 100px !important; }

.mb100 {
  margin-bottom: 100px !important; }

.mt110 {
  margin-top: 110px !important; }

.mb110 {
  margin-bottom: 110px !important; }

.mt120 {
  margin-top: 120px !important; }

.mb120 {
  margin-bottom: 120px !important; }

.mt130 {
  margin-top: 130px !important; }

.mb130 {
  margin-bottom: 130px !important; }

.mt140 {
  margin-top: 140px !important; }

.mb140 {
  margin-bottom: 140px !important; }

@media screen and (max-width: 639px) {
  .mb80 {
    margin-bottom: 68px !important; } }

@media screen and (max-width: 639px) {
  .mt80 {
    margin-top: 68px !important; } }

@media screen and (max-width: 639px) {
  .mt30 {
    margin-top: 20px !important; } }

@media screen and (max-width: 639px) {
  .mt40 {
    margin-top: 30px !important; } }

@media screen and (max-width: 639px) {
  .mt60 {
    margin-top: 46px !important; } }

@media screen and (max-width: 639px) {
  .mt50 {
    margin-top: 40px !important; } }

@media screen and (max-width: 639px) {
  .mt100 {
    margin-top: 80px !important; } }

@media screen and (max-width: 639px) {
  .mb100 {
    margin-bottom: 80px !important; } }

@media screen and (max-width: 639px) {
  .font-small {
    font-size: 0.8em; } }

@media screen and (max-width: 639px) {
  .move-recruit {
    margin-bottom: 0 !important;
    margin-top: 0 !important;
    border-bottom: 1px solid #fff; } }



/*会社紹介動画*/
.com-movie {
  text-align: center;
}
#co-movie{
  width: 70%;
  margin-top: 3%;
  margin-bottom: 7%;
}
@media screen and (max-width: 768px) {
#co-movie {
  margin-bottom: 10%;
}
}
@media screen and (max-width: 639px) {
  #co-movie{
    width: 100%; }
  }

  /*0725修正*/
.news_content{
  margin-top: 6%;
}
.news_content p{
    color: #fff;
    background-color: #0086d1;
    padding: 9px 7% 6px 7%;
    display: table;
    margin: auto;
    line-height: 1;
    font-weight: bold;
    margin-bottom: 2%;
    font-size: 1.1rem;
}
.journal{
  width: 70%;
  margin: auto;
}
.journal img{
  display: block;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .news_content{
  margin-top: 10%;
}
.journal{
  width: 100%;
  margin: auto;
}
}

@media screen and (max-width: 428px) {
  .news_content{
  margin-top: 14%;
}
}