/* =========================================================
 Level 1
========================================================= */
/* Level 2
--------------------------------------------------------- */
/* ----- Lavel 3 ----- */
/* Inline */
/*
YUI 3.18.1 (build f7e7bcb)
Copyright 2014 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
*/
html {
  color: #000;
  background: #FFF; }

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, textarea, p, blockquote, th, td {
  margin: 0;
  padding: 0; }

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

fieldset, img {
  border: 0; }

address, caption, cite, code, dfn, em, strong, th, var {
  font-style: normal;
  font-weight: normal; }

ol, ul {
  list-style: none; }

caption, th {
  text-align: left; }

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal; }

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

abbr, acronym {
  border: 0;
  font-variant: normal; }

sup {
  vertical-align: text-top; }

sub {
  vertical-align: text-bottom; }

input, textarea, select {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  *font-size: 100%; }

legend {
  color: #000; }

#yui3-css-stamp.cssreset {
  display: none; }

/* LANE4
========================================================================== */
body {
  min-width: 1200px; }
  body * {
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }

.disp-pc {
  display: inline-block; }

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

.disp-sp {
  display: none; }

@media screen and (max-width: 750) {
  .disp-sp {
    display: inline-block; } }

a:hover img {
  opacity: .7; }

a[href*="tel:"] {
  pointer-events: none;
  cursor: default; }

.is-lock {
  overflow: hidden; }

/* header
--------------------------------------------------------- */
header {
  position: relative;
  width: 100%;
  background-color: #fff;
  z-index: 1; }
  header .header_inr {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    position: relative;
    width: 1200px;
    margin: 0 auto;
    padding: 50px 0 50px 50px; }
  header .header_logo {
    width: 302px; }

menu {
  margin: 0;
  padding: 0; }

.header_menu_wrap {
  position: fixed;
  top: 182px;
  left: 50px;
  z-index: 1; }
  .p_process .header_menu_wrap {
    top: 214px; }

.btn_sp_menu {
  display: none; }

.header_nav_list > li {
  margin-bottom: 10px; }
  .header_nav_list > li svg {
    fill: #B3B1B5;
    height: 14px; }
  .header_nav_list > li .is-current svg {
    fill: #000; }
  .header_nav_list > li:hover svg {
    fill: #000; }
  .header_nav_list > li.header_nav_list05 svg {
    height: 18px; }

/* firstview
--------------------------------------------------------- */
.firstview {
  height: 730px;
  background-color: #fefbee; }
  .firstview .lane_wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    width: 898px;
    height: 100%; }
  .firstview .lane {
    width: 72px;
    background-color: #000;
    height: 0; }
  .firstview .is-active .lane_8 {
    height: 710px;
    -webkit-transition: height 1s ease-in-out;
    -o-transition: height 1s ease-in-out;
    transition: height 1s ease-in-out; }
  .firstview .is-active .lane_7 {
    height: 710px;
    -webkit-transition: height 2.4s ease-in-out;
    -o-transition: height 2.4s ease-in-out;
    transition: height 2.4s ease-in-out; }
  .firstview .is-active .lane_6 {
    height: 710px;
    -webkit-transition: height 1.2s ease-in-out;
    -o-transition: height 1.2s ease-in-out;
    transition: height 1.2s ease-in-out; }
  .firstview .is-active .lane_5 {
    height: 710px;
    -webkit-transition: height 2.8s ease-in-out;
    -o-transition: height 2.8s ease-in-out;
    transition: height 2.8s ease-in-out; }
  .firstview .is-active .lane_3 {
    height: 710px;
    -webkit-transition: height 2s ease-in-out;
    -o-transition: height 2s ease-in-out;
    transition: height 2s ease-in-out; }
  .firstview .is-active .lane_2 {
    height: 710px;
    -webkit-transition: height 2.7s ease-in-out;
    -o-transition: height 2.7s ease-in-out;
    transition: height 2.7s ease-in-out; }
  .firstview .is-active .lane_1 {
    height: 710px;
    -webkit-transition: height 1.5s ease-in-out;
    -o-transition: height 1.5s ease-in-out;
    transition: height 1.5s ease-in-out; }

.lane_4 {
  width: 72px;
  background-color: #fff;
  -webkit-box-shadow: 0px 0px 15px -3px #b28a30;
  box-shadow: 0px 0px 15px -3px #b28a30; }

/* sec_common
--------------------------------------------------------- */
.sec_common:nth-of-type(even) {
  background-color: #fefbee; }

.sec_common_inr {
  position: relative;
  width: 1200px;
  height: 100%;
  margin: 0 auto;
  padding-left: 212px; }
  .sec_common_inr::after {
    content: "";
    display: block;
    clear: both; }

.sec_ttl {
  margin-bottom: 36px;
  padding: 30px 0 30px 36px;
  border-left: 16px solid #000;
  text-align: left;
  line-height: 1; }

.sec_cont_wrap {
  max-width: 906px;
  padding-left: 115px; }

/* sec_about
--------------------------------------------------------- */
#sec_about .sec_ttl svg {
  height: 24px; }

#sec_about .sec_about_lead {
  margin-bottom: 30px;
  padding-left: 280px; }

#sec_about .sec_about_cont01 {
  margin-bottom: 70px;
  padding-left: 515px; }

#sec_about .sec_about_cont02 {
  padding-left: 515px;
  padding-bottom: 115px; }

.inScrollElem {
  position: relative;
  top: 40px;
  opacity: 0;
  -webkit-transition: .8s;
  -o-transition: .8s;
  transition: .8s; }
  .inScrollElem.is-active {
    top: 0;
    opacity: 1; }

/* sec_what
--------------------------------------------------------- */
#sec_what {
  padding-bottom: 150px; }
  #sec_what .sec_ttl {
    margin-bottom: 50px; }
    #sec_what .sec_ttl svg {
      height: 24px; }
  #sec_what .about_wrap {
    margin-top: 35px;
    padding: 46px 18px 10px;
    border: 4px solid #000;
    background-color: #fff; }
  #sec_what .about_ttl {
    margin-bottom: 38px;
    text-align: center; }
  #sec_what .about_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }

/* sec_works
--------------------------------------------------------- */
#sec_works {
  padding-bottom: 130px; }
  #sec_works .sec_ttl {
    margin-bottom: 60px; }
    #sec_works .sec_ttl svg {
      height: 24px; }
  #sec_works .works_list {
    border-top: solid 4px #000; }
    #sec_works .works_list > li {
      padding: 30px 0;
      border-bottom: solid 4px #000; }
  #sec_works .works_ttl {
    margin-bottom: 10px;
    text-align: center;
    line-height: 1; }
  #sec_works .works_txt {
    text-align: center;
    line-height: 1; }
  #sec_works .work_list_img {
    margin-top: 22px; }

/* sec_process
--------------------------------------------------------- */
#sec_process {
  padding-bottom: 140px; }
  #sec_process .sec_ttl {
    margin-bottom: 52px; }
    #sec_process .sec_ttl svg {
      height: 24px; }
  #sec_process .sec_process_img {
    padding-left: 255px; }

/* sec_join_us
--------------------------------------------------------- */
#sec_join_us {
  padding-bottom: 150px; }
  #sec_join_us .sec_ttl {
    margin-bottom: 72px; }
    #sec_join_us .sec_ttl svg {
      height: 32px; }
  #sec_join_us .sec_join_us_lead {
    margin-left: 137px;
    float: left; }
  #sec_join_us .join_us_cont02 {
    margin-left: 135px;
    float: left; }
  #sec_join_us .join_us_jobs + .join_us_jobs {
    margin-top: 158px; }
  #sec_join_us .join_us_jobs_ttl {
    margin-bottom: 14px;
    padding: 10px 14px;
    line-height: 1;
    border: solid 4px #231815; }

/* sec_company
--------------------------------------------------------- */
#sec_company {
  padding-bottom: 112px; }
  #sec_company .sec_ttl {
    margin-bottom: 15px; }
    #sec_company .sec_ttl svg {
      height: 24px; }
  #sec_company .company_name {
    margin-bottom: 35px; }
  #sec_company .sec_company_cont01 {
    margin-left: 508px;
    line-height: 1; }
    #sec_company .sec_company_cont01 img {
      margin-bottom: 14px; }
  #sec_company .sec_company_cont02 {
    margin-top: 20px;
    margin-left: 160px; }
  #sec_company .sec_company_cont03 {
    margin-top: 38px;
    margin-left: 512px; }

/* sec_contact
--------------------------------------------------------- */
#sec_contact {
  padding-bottom: 100px; }
  #sec_contact .sec_ttl {
    margin-bottom: -10px; }
    #sec_contact .sec_ttl svg {
      height: 23px; }
  #sec_contact .sec_company_cont01 {
    margin-left: 508px; }
  #sec_contact .contact_map {
    width: 570px;
    height: 354px;
    margin-left: 227px;
    border: solid 4px #fff; }
    #sec_contact .contact_map iframe {
      width: 100%;
      height: 100%; }
  #sec_contact .sec_contact_txt {
    margin-top: 15px;
    margin-left: 515px; }
    #sec_contact .sec_contact_txt a {
      margin-left: 6px; }
  #sec_contact .contact_cont {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-top: 66px;
    margin-left: 318px; }
    #sec_contact .contact_cont .icon_mail {
      margin-right: 108px; }

.page_top {
  position: fixed;
  bottom: 105px;
  right: 72px; }

footer {
  padding: 30px 0 30px 212px; }

/* =========================================================
 page process
========================================================= */
/* process_common
--------------------------------------------------------- */
.case_common_inr {
  position: relative;
  width: 1200px;
  margin: 0 auto;
  padding: 80px 0 57px 360px; }

.case_num img {
  vertical-align: bottom; }

.case_ttl {
  margin-top: -2px;
  margin-bottom: 15px;
  line-height: 1; }
  .case_ttl img {
    vertical-align: top; }

/* case_lane
--------------------------------------------------------- */
#case_lane {
  background-color: #fefbee; }
  #case_lane .lane_wrap {
    height: 56px;
    padding-left: 328px; }
  #case_lane .case_common_inr {
    padding-top: 0;
    padding-bottom: 0; }

/* case_01
--------------------------------------------------------- */
#case_01 .case_common_inr {
  padding-top: 0; }

/* case_03
--------------------------------------------------------- */
#case_03 .case_img {
  margin-left: -4px; }

/*-- SmartPhone --*/
@media screen and (max-width: 750px) {
  body {
    min-width: auto; }
  a[href*="tel:"] {
    pointer-events: auto;
    cursor: pointer; }
  img {
    max-width: 100%; }
  header {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10;
    width: 100%;
    border-top: none; }
  @-webkit-keyframes active-menu-bar02 {
    100% {
      height: 0; } }
  @keyframes active-menu-bar02 {
    100% {
      height: 0; } }
  .wrapper {
    padding-top: 60px; }
  /* header
    --------------------------------------------------------- */
  header {
    background-color: #fff;
    z-index: 1; }
    header .header_inr {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between;
      position: relative;
      width: 100%;
      margin: 0 auto;
      padding: 15px 25px; }
    header .header_logo {
      width: 130px; }
  menu {
    margin: 0;
    padding: 0; }
  .header_menu_wrap {
    position: relative;
    top: 0;
    left: 0;
    z-index: 1; }
    .p_process .header_menu_wrap {
      top: 0; }
  .btn_sp_menu {
    position: fixed;
    top: 21px;
    right: 25px;
    display: block;
    width: 28px;
    height: 16px;
    margin-left: auto;
    z-index: 11; }
    .btn_sp_menu 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;
      right: 0;
      width: 100%;
      height: 2px;
      background-color: #000; }
      .btn_sp_menu span:nth-of-type(1) {
        top: 0; }
      .btn_sp_menu span:nth-of-type(2) {
        top: 7px; }
      .btn_sp_menu span:nth-of-type(3) {
        bottom: 0; }
    .btn_sp_menu.is-open {
      width: 21px;
      height: 21px; }
      .btn_sp_menu.is-open span {
        background-color: #fff; }
        .btn_sp_menu.is-open span:nth-of-type(1) {
          -webkit-transform: translateY(10px) rotate(-45deg);
          -ms-transform: translateY(10px) rotate(-45deg);
          transform: translateY(10px) rotate(-45deg); }
        .btn_sp_menu.is-open span:nth-of-type(2) {
          left: 50%;
          opacity: 0;
          -webkit-animation: active-menu-bar02 .8s forwards;
          animation: active-menu-bar02 .8s forwards; }
        .btn_sp_menu.is-open span:nth-of-type(3) {
          -webkit-transform: translateY(-10px) rotate(45deg);
          -ms-transform: translateY(-10px) rotate(45deg);
          transform: translateY(-10px) rotate(45deg); }
  .header_menu {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: #141414;
    z-index: 10; }
  .header_nav {
    padding: 23.734vw 13.334vw 0; }
  .header_nav_list > li {
    margin-bottom: 8.667vw; }
    .header_nav_list > li svg {
      fill: #FFF;
      height: 3.2vw; }
    .header_nav_list > li .is-current svg {
      fill: #FFF; }
    .header_nav_list > li:hover svg {
      fill: #FFF; }
    .header_nav_list > li.header_nav_list05 svg {
      height: 4vw; }
  /* firstview
    --------------------------------------------------------- */
  .firstview {
    height: 93.334vw; }
    .firstview .lane_wrap {
      width: 100%; }
    .firstview .lane {
      width: 6.934vw; }
    .firstview .is-active .lane_8 {
      height: 85.334vw; }
    .firstview .is-active .lane_7 {
      height: 85.334vw; }
    .firstview .is-active .lane_6 {
      height: 85.334vw; }
    .firstview .is-active .lane_5 {
      height: 85.334vw; }
    .firstview .is-active .lane_3 {
      height: 85.334vw; }
    .firstview .is-active .lane_2 {
      height: 85.334vw; }
    .firstview .is-active .lane_1 {
      height: 85.334vw; }
  .lane_4 {
    width: 6.934vw; }
  /* sec_common
    --------------------------------------------------------- */
  .sec_common_inr {
    width: 100%;
    padding-right: 6.667vw;
    padding-left: 6.667vw; }
  .sec_ttl {
    margin-bottom: 15.734vw;
    padding: 3.734vw 0 3.734vw 2.934vw;
    border-left: 2.134vw solid #000; }
  .sec_cont_wrap {
    max-width: 100%;
    padding-left: 11.467vw; }
  /* sec_about
    --------------------------------------------------------- */
  #sec_about .sec_ttl svg {
    width: 18.667vw;
    height: 3.6vw 24px; }
  #sec_about .sec_about_lead {
    margin-bottom: 13.334vw;
    padding-left: 20.934vw; }
    #sec_about .sec_about_lead img {
      width: 23.467vw; }
  #sec_about .sec_about_cont01 {
    margin-bottom: 14.4vw;
    padding-left: 49.067vw; }
    #sec_about .sec_about_cont01 img {
      width: 109.334vw; }
  #sec_about .sec_about_cont02 {
    padding-left: 49.067vw;
    padding-bottom: 16vw; }
    #sec_about .sec_about_cont02 img {
      width: 33.334vw; }
  /* sec_what
    --------------------------------------------------------- */
  #sec_what {
    padding-bottom: 16vw; }
    #sec_what .sec_ttl {
      margin-bottom: 16vw; }
      #sec_what .sec_ttl svg {
        width: 26.267vw;
        height: 3.6vw; }
    #sec_what .sec_what_txt {
      width: 71.2vw; }
    #sec_what .about_wrap {
      margin-top: 12.8vw;
      padding: 8.534vw 5.6vw 6.667vw;
      border: 2px solid #000; }
    #sec_what .about_ttl {
      margin-bottom: 6.667vw; }
    #sec_what .about_list {
      display: block; }
      #sec_what .about_list > li + li {
        margin-top: 8vw; }
  /* sec_works
    --------------------------------------------------------- */
  #sec_works {
    padding-bottom: 15.734vw; }
    #sec_works .sec_ttl {
      margin-bottom: 16.267vw; }
      #sec_works .sec_ttl svg {
        width: 14.267vw;
        height: 3.6vw; }
    #sec_works .works_list {
      border-top: solid 2px #000; }
      #sec_works .works_list > li {
        padding: 5.334vw 0;
        border-bottom: solid 2px #000; }
        #sec_works .works_list > li:nth-of-type(1) .works_ttl {
          width: 73.2vw; }
        #sec_works .works_list > li:nth-of-type(1) .works_txt {
          width: 21.6vw; }
        #sec_works .works_list > li:nth-of-type(2) .works_ttl {
          width: 60.267vw; }
        #sec_works .works_list > li:nth-of-type(2) .works_txt {
          width: 21.6vw; }
        #sec_works .works_list > li:nth-of-type(3) .works_ttl {
          width: 26.667vw; }
        #sec_works .works_list > li:nth-of-type(3) .works_txt {
          width: 19.334vw; }
        #sec_works .works_list > li:nth-of-type(4) .works_ttl {
          width: 27.2vw; }
        #sec_works .works_list > li:nth-of-type(4) .works_txt {
          width: 38.934vw; }
    #sec_works .works_ttl {
      margin: 0 auto 2.4vw; }
    #sec_works .works_txt {
      margin: 0 auto; }
    #sec_works .work_list_img {
      width: 53.334vw;
      margin: 5.6vw auto 0; }
  /* sec_process
    --------------------------------------------------------- */
  #sec_process {
    padding-bottom: 15.734vw; }
    #sec_process .sec_ttl {
      margin-bottom: 16vw; }
      #sec_process .sec_ttl svg {
        width: 17.734vw;
        height: 3.6vw; }
    #sec_process .sec_process_img {
      padding-left: 12.267vw; }
  /* sec_join_us
    --------------------------------------------------------- */
  #sec_join_us {
    padding-bottom: 15.734vw; }
    #sec_join_us .sec_ttl {
      margin-bottom: 16vw; }
      #sec_join_us .sec_ttl svg {
        width: 14.4vw;
        height: 4.667vw; }
    #sec_join_us .sec_join_us_lead {
      width: 58.667vw;
      margin-left: 13.867vw;
      float: none; }
    #sec_join_us .join_us_cont02 {
      margin-top: 12vw;
      margin-left: 49.067vw;
      float: none; }
    #sec_join_us .join_us_jobs + .join_us_jobs {
      margin-top: 8.267vw; }
    #sec_join_us .join_us_jobs_ttl {
      margin-bottom: 3.6vw;
      padding: 0;
      border: solid 2px #231815; }
      #sec_join_us .join_us_jobs_ttl img {
        vertical-align: bottom; }
  /* sec_company
    --------------------------------------------------------- */
  #sec_company {
    padding-bottom: 16vw; }
    #sec_company .sec_ttl {
      margin-bottom: 16vw; }
      #sec_company .sec_ttl svg {
        width: 19.6vw;
        height: 3.6vw; }
    #sec_company .company_name {
      margin-bottom: 7.2vw; }
    #sec_company .sec_company_cont01 {
      margin-left: 49.067vw; }
      #sec_company .sec_company_cont01 img {
        margin-bottom: 0; }
    #sec_company .address {
      width: 37.867vw; }
    #sec_company .company_tel {
      width: 7.2vw; }
    #sec_company .company_tel_num {
      width: 29.067vw; }
    #sec_company .sec_company_cont02 {
      width: 50.267vw;
      margin-top: 11.2vw;
      margin-left: -1.333vw; }
    #sec_company .sec_company_cont03 {
      margin-top: 9.334vw;
      margin-left: 49.067vw; }
  /* sec_contact
    --------------------------------------------------------- */
  #sec_contact {
    padding-bottom: 17.334vw; }
    #sec_contact .sec_ttl {
      margin-bottom: 16vw; }
      #sec_contact .sec_ttl svg {
        width: 16vw;
        height: 3.6vw; }
    #sec_contact .contact_map {
      width: 75.2vw;
      height: 46.667vw;
      margin-left: 11.467vw;
      border: solid 2px #fff; }
    #sec_contact .contact_company_name {
      width: 26.4vw; }
    #sec_contact .contact_tel {
      width: 5.6vw; }
    #sec_contact .contact_tel_num {
      width: 29.734vw; }
    #sec_contact .contact_mobile {
      width: 12vw; }
    #sec_contact .contact_mobile_num {
      width: 23.734vw; }
    #sec_contact .contact_satellite {
      width: 26.667vw; }
    #sec_contact .sec_contact_txt {
      margin-top: 8.267vw;
      margin-left: 49.334vw; }
      #sec_contact .sec_contact_txt a {
        margin-left: 0; }
      #sec_contact .sec_contact_txt img {
        vertical-align: bottom; }
    #sec_contact .contact_cont {
      margin-top: 9.334vw;
      margin-left: 28.267vw; }
      #sec_contact .contact_cont .icon_mail {
        width: 10.934vw;
        margin-right: 10vw; }
      #sec_contact .contact_cont .mailaddress {
        width: 28.8vw; }
  .page_top {
    width: 11.734vw;
    bottom: 20vw;
    right: 6.667vw; }
  footer {
    position: relative;
    padding: 9.334vw 0 10.667vw 6.667vw; }
  .copyright {
    width: 61.334vw; }
  /* =========================================================
    page process
    ========================================================= */
  /* process_common
    --------------------------------------------------------- */
  .case_common_inr {
    position: relative;
    width: 100%;
    margin: 0 auto;
    padding: 13.334vw 6.667vw; }
  .case_num img {
    vertical-align: bottom; }
  .case_ttl {
    margin-top: -0.266vw;
    margin-bottom: 6.667vw;
    line-height: 1; }
  /* case_lane
    --------------------------------------------------------- */
  #case_lane .lane_wrap {
    height: 13.334vw;
    padding-left: 45.6vw; }
  #case_lane .case_common_inr {
    padding-top: 0;
    padding-bottom: 0; }
  /* case_01
    --------------------------------------------------------- */
  #case_01 .case_common_inr {
    padding-top: 0; }
  #case_01 .case_num {
    width: 15.2vw; }
  /* case_02
    --------------------------------------------------------- */
  #case_02 .case_num {
    width: 16.8vw; }
  #case_02 .case_img {
    margin-right: -1.866vw; }
  /* case_03
    --------------------------------------------------------- */
  #case_03 .case_num {
    width: 16.934vw; }
  #case_03 .case_img {
    width: 93.334vw;
    margin-left: -2vw; }
  /* case_04
    --------------------------------------------------------- */
  #case_04 .case_num {
    width: 17.2vw; }
  #case_04 .case_img {
    width: 83.334vw;
    margin-left: 5.067vw; } }
