/*====================================================================================
TABLE OF CONTENT
1. ONLY TOP PAGE
2. MAIN VISUAL
3. TOP REASON SECTION
4. TOP REQUEST SECTION
5. TOP CONTACT SECTION
6. TOP BUSINESS SECTION
7. TOP VEHICLE SECTION
8. TOP RECRUIT SECTION
9. TOP COMMON SECTION
====================================================================================*/
/*====================================================================================
1. ONLY TOP PAGE
====================================================================================*/
/*====================================================================================
1. END ONLY TOP PAGE
====================================================================================*/
/*====================================================================================
2. MAIN VISUAL
====================================================================================*/
.mainmv__main {
  position: absolute;
  left: 90px;
}

.mainmv__key {
  margin-bottom: 43px;
  padding-left: 8px;
}

.mainmv__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  max-width: 764px;
  width: 100%;
}

.mainmv__item {
  margin-right: 14px;
  text-align: center;
  width: calc(33.333% - 9px);
  padding: 26px 10px 20px 10px;
  background-color: rgba(0, 60, 118, 0.8);
}

.mainmv__item-icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-bottom: 13px;
}

.mainmv__item span {
  height: 58px;
}

.mainmv__item span i {
  display: inline-block;
}

.mainmv__item:first-child span img {
  max-width: 62px;
}

.mainmv__item:nth-child(2) span img {
  max-width: 65px;
}

.mainmv__item:last-child {
  margin-right: 0;
}

.mainmv__item:last-child span img {
  max-width: 62px;
}

.mainmv__item-title {
  font-size: 21px;
  font-weight: 400;
  line-height: 1.5;
  color: #ffffff;
  letter-spacing: 0.1em;
}

.mainmv__bnr {
  position: absolute;
  left: calc(50vw + 295px);
  bottom: 24px;
  width: 300px;
  height: 120px;
  overflow: hidden;
  -webkit-box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.15);
  box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.15);
}

.mainmv__bnr-img img {
  -webkit-transition: all 0.4s ease;
  -o-transition: all 0.4s ease;
  transition: all 0.4s ease;
}

.mainmv__bnr a {
  display: block;
  overflow: hidden;
  text-decoration: none;
  border: 5px solid #ffffff;
  -webkit-transition: all 0.4s ease;
  -o-transition: all 0.4s ease;
  transition: all 0.4s ease;
}

.mainmv__bnr-title {
  position: absolute;
  top: 26px;
  left: 24px;
  color: #ffffff;
  font-size: 27px;
  font-weight: 700;
  line-height: normal;
  letter-spacing: 0.12em;
  text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.8);
}

.mainmv__bnr-btn {
  position: absolute;
  left: -3px;
  bottom: 0;
  padding: 2px 28px 2px 10px;
  -webkit-transform: skew(-18deg);
  -ms-transform: skew(-18deg);
      transform: skew(-18deg);
  background-color: #ffffff;
  -webkit-transition: background 0.4s ease;
  -o-transition: background 0.4s ease;
  transition: background 0.4s ease;
}

.mainmv__bnr-btn::before {
  position: absolute;
  display: inline-block;
  content: "";
  top: 50%;
  right: 10px;
  width: 10px;
  height: 8px;
  margin-top: -2px;
  -webkit-transform: skew(18deg);
  -ms-transform: skew(18deg);
      transform: skew(18deg);
  background-repeat: no-repeat;
  background-position: center center;
  background-image: url("./../common_img/small-arrow-right02.png");
  background-size: contain;
  -webkit-transition: background 0.4s ease;
  -o-transition: background 0.4s ease;
  transition: background 0.4s ease;
}

.mainmv__bnr-btn span {
  display: inline-block;
  -webkit-transform: skew(18deg);
  -ms-transform: skew(18deg);
      transform: skew(18deg);
  color: #e1a122;
  font-size: 15px;
  line-height: normal;
  letter-spacing: normal;
  -webkit-transition: color 0.4s ease;
  -o-transition: color 0.4s ease;
  transition: color 0.4s ease;
}

@media only screen and (min-width: 992px) and (max-width: 1399px) {
  .mainmv__main {
    left: 15px;
  }
  .mainmv__bnr {
    bottom: 15px;
    right: 145px;
    left: auto;
  }
}

@media only screen and (min-width: 992px) {
  .mainmv__row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
  }
  .mainmv__scroll {
    width: 130px;
  }
  .mainmv__scroll-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    height: 100%;
    padding-top: 78px;
  }
  .mainmv__figure {
    height: 770px;
    width: 69.5vw;
  }
  .mainmv__img {
    height: 100%;
  }
  .mainmv__main {
    top: 30%;
  }
  .mainmv__bnr a:hover {
    border-color: #e1a122;
  }
  .mainmv__bnr a:hover .mainmv__bnr-img img {
    -webkit-transform: scale(1.05);
    -ms-transform: scale(1.05);
        transform: scale(1.05);
  }
  .mainmv__bnr a:hover .mainmv__bnr-btn {
    background-color: #e1a122;
  }
  .mainmv__bnr a:hover .mainmv__bnr-btn::before {
    background-image: url("./../common_img/small-arrow-right01.png");
  }
  .mainmv__bnr a:hover .mainmv__bnr-btn span {
    color: #ffffff;
  }
}

@media only screen and (max-width: 991px) {
  .mainmv__main {
    left: 15px;
    right: 15px;
    bottom: 60px;
  }
  .mainmv__key {
    margin-bottom: 28px;
    padding: 0px 20px;
  }
  .mainmv__bnr {
    left: 50%;
    bottom: -200px;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
        transform: translateX(-50%);
  }
}

@media only screen and (max-width: 767px) {
  .mainmv__main {
    left: 10px;
    right: 10px;
    bottom: 7vw;
  }
  .mainmv__key {
    margin-bottom: 15px;
  }
  .mainmv__item {
    width: calc(33.333% - 6px);
    margin-right: 10px;
    padding: 15px 0;
  }
  .mainmv__item-icon {
    margin-bottom: 10px;
  }
  .mainmv__item span {
    height: 35px;
  }
  .mainmv__item:first-child span img {
    max-height: 35px;
  }
  .mainmv__item:nth-child(2) span img {
    max-height: 25px;
  }
  .mainmv__item:last-child span img {
    max-height: 35px;
  }
  .mainmv__item-title {
    font-size: 2.5vw;
  }
  .mainmv__bnr {
    bottom: -170px;
  }
  .mainmv__bnr-btn {
    padding: 5px 28px 5px 10px;
  }
}

@media only screen and (max-width: 639px) {
  .mainmv__item-title {
    font-size: 14px;
  }
}

/*====================================================================================
2. END MAIN VISUAL
====================================================================================*/
/*====================================================================================
3. TOP REASON SECTION
====================================================================================*/
.top-reason {
  padding: 120px 0px 100px 0px;
}

.top-reason__shape-one {
  top: -120px;
  right: -180px;
}

.top-reason__shape-two {
  bottom: -175px;
  left: -385px;
}

.top-reason__desc {
  font-size: 17px;
  margin-bottom: 34px;
}

.top-reason__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 60px;
}

.top-reason__item {
  width: calc(25% - 10px);
  margin-right: 13px;
  background-color: #003c76;
}

.top-reason__item:last-child {
  margin-right: 0;
}

.top-reason__item-link {
  position: relative;
  display: block;
  overflow: hidden;
  padding: 34px 10px 200px 25px;
  text-decoration: none !important;
}

.top-reason__item-title {
  margin-bottom: 15px;
  color: #ffffff;
  font-size: 21px;
  line-height: 1.65;
  letter-spacing: normal;
}

.top-reason__item-desc {
  color: #ffffff;
  font-size: 16px;
  line-height: 1.8;
}

.top-reason__item-num {
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  left: 0;
  bottom: 0;
  width: 72px;
  height: 72px;
  z-index: 9;
}

.top-reason__item-num::before {
  position: absolute;
  content: '';
  left: -90px;
  bottom: -85px;
  width: 180px;
  height: 180px;
  border-radius: 50%;
  background-color: #001f4b;
  -webkit-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
}

.top-reason__item-num span {
  position: relative;
  display: inline-block;
}

.top-reason__item-img {
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  right: 0;
  bottom: 0;
  width: 144px;
  height: 150px;
  z-index: 9;
}

.top-reason__item-img::before {
  position: absolute;
  content: '';
  right: -53px;
  bottom: -56px;
  width: 210px;
  height: 210px;
  border-radius: 50%;
  background-color: #001f4b;
  -webkit-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
}

.top-reason__item-img::after {
  position: absolute;
  content: '';
  right: -60px;
  bottom: -63px;
  width: 225px;
  height: 225px;
  border-radius: 50%;
  border: 2px dashed #ffffff;
}

.top-reason__item-img span {
  position: relative;
  -webkit-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
}

@media only screen and (min-width: 992px) {
  .top-reason__item a:hover .top-reason__item-num::before {
    background-color: #54c3f1;
  }
  .top-reason__item a:hover .top-reason__item-img::before {
    background-color: #54c3f1;
  }
  .top-reason__item a:hover .top-reason__item-img span {
    -webkit-transform: rotateY(360deg);
    transform: rotateY(360deg);
  }
}

@media only screen and (max-width: 991px) {
  .top-reason {
    padding-top: 260px;
  }
  .top-reason__shape-one {
    top: -260px;
    right: 0;
  }
  .top-reason__shape-one img {
    max-height: 65px;
  }
  .top-reason__list {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .top-reason__item {
    width: calc(50% - 10px);
    margin-right: 20px;
    margin-bottom: 20px;
  }
  .top-reason__item:nth-child(even) {
    margin-right: 0;
  }
}

@media only screen and (max-width: 767px) {
  .top-reason {
    padding: 210px 0px 50px 0px;
  }
  .top-reason__shape-one {
    top: -210px;
  }
  .top-reason__shape-one img {
    max-height: 38px;
  }
  .top-reason__shape-two {
    left: -10vw;
    width: 50vw;
    bottom: -50px;
  }
  .top-reason__desc {
    font-size: 14px;
    margin-bottom: 15px;
  }
  .top-reason__desc p {
    text-align: left;
  }
  .top-reason__list {
    margin-bottom: 20px;
  }
  .top-reason__item {
    width: calc(50% - 5px);
    margin-right: 10px;
    margin-bottom: 10px;
  }
  .top-reason__item-link {
    padding: 25px 5px 120px 10px;
  }
  .top-reason__item-title {
    font-size: 3.4vw;
  }
  .top-reason__item-desc {
    font-size: 14px;
  }
  .top-reason__item-num {
    width: 45px;
    height: 45px;
  }
  .top-reason__item-num::before {
    left: -45px;
    bottom: -45px;
    width: 100px;
    height: 100px;
  }
  .top-reason__item-num span {
    display: inline-block;
  }
  .top-reason__item-num span img {
    max-height: 20px;
  }
  .top-reason__item-img {
    width: 74px;
    height: 78px;
  }
  .top-reason__item-img::before {
    right: -35px;
    bottom: -35px;
    width: 125px;
    height: 125px;
  }
  .top-reason__item-img::after {
    right: -43px;
    bottom: -43px;
    width: 140px;
    height: 140px;
    border: 1px dashed #ffffff;
  }
  .top-reason__item-img span {
    display: inline-block;
  }
  .top-reason__item-img span img {
    max-height: 42px;
  }
}

@media only screen and (max-width: 767px) {
  .top-reason__item-desc {
    font-size: 13px;
  }
}

@media only screen and (max-width: 639px) {
  .top-reason__item-title {
    font-size: 18px;
  }
}

/*====================================================================================
3. END TOP REASON SECTION
====================================================================================*/
/*====================================================================================
4. TOP REQUEST SECTION
====================================================================================*/
.top-request {
  padding: 86px 0px 292px 0px;
  background: #005bac;
}

.top-request::before {
  position: absolute;
  content: "";
  bottom: -1px;
  background: url("./../images/s2-bg01.png") no-repeat center bottom;
}

.top-request__title {
  margin-bottom: 65px;
  padding-left: 23px;
  color: #ffffff;
  font-size: 42px;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.12em;
}

.top-request__title span {
  position: relative;
  display: inline-block;
  padding: 0px 100px 0px 54px;
}

.top-request__title span::before,
.top-request__title span::after {
  position: absolute;
  content: "";
}

.top-request__title span::before {
  top: 20px;
  left: 0px;
  width: 41px;
  height: 59px;
  background: url("./..//common_img/title-deco01.png") no-repeat left center/41px auto;
}

.top-request__title span::after {
  right: 0px;
  width: 89px;
  height: 82px;
  background: url("./..//common_img/title-deco02.png") no-repeat right center/89px auto;
}

.top-request__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.top-request__item {
  width: 292px;
  height: 216px;
  background: url("./../common_img/shape-cmt02.png") no-repeat center center/100% 100%;
}

.top-request__item-desc {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  color: #ffffff;
  font-size: 16px;
  text-align: center;
  letter-spacing: 0.14em;
}

.top-request__item:nth-child(1) {
  margin-top: 14px;
  padding: 0px 0px 7px 11px;
}

.top-request__item:nth-child(2) {
  padding: 0px 0px 9px 16px;
}

.top-request__item:nth-child(3) {
  padding: 13px 0px 0px 5px;
}

.top-request__item:first-child {
  background: url("./../common_img/shape-cmt01.png") no-repeat center center/100% 100%;
}

@media only screen and (min-width: 992px) {
  .top-request::before {
    left: 50%;
    width: 2000px;
    height: 420px;
    margin-left: -1000px;
  }
  .top-request__list {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .top-request__item:nth-child(2) {
    margin-top: 29px;
    margin-left: 45px;
  }
}

@media only screen and (max-width: 991px) {
  .top-request {
    padding: 86px 0px 50vw 0px;
  }
  .top-request::before {
    position: absolute;
    content: "";
    left: 0;
    bottom: -1px;
    width: 100%;
    height: 60vw;
    margin-left: 0;
    background: url("./../images/s2-bg01-sp.png") no-repeat center bottom/100% auto;
  }
  .top-request__title {
    letter-spacing: 0.1em;
  }
  .top-request__title span {
    padding: 0px 75px 0px 54px;
  }
  .top-request__title span::before {
    top: 25px;
  }
  .top-request__title span::after {
    top: 0;
  }
  .top-request__list {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  .top-request__item:nth-child(1) {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
    margin-right: 50px;
    background: url("./../common_img/shape-cmt02.png") no-repeat center center/100% 100%;
  }
  .top-request__item:nth-child(2) {
    -webkit-box-ordinal-group: 4;
    -ms-flex-order: 3;
    order: 3;
    margin-top: 20px;
  }
  .top-request__item:nth-child(3) {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
    background: url("./../common_img/shape-cmt01.png") no-repeat center center/100% 100%;
  }
  .top-request__item-desc {
    letter-spacing: 0.1em;
  }
}

@media only screen and (max-width: 767px) {
  .top-request {
    padding-top: 50px;
  }
  .top-request__title {
    margin-bottom: 25px;
    padding-left: 0;
    font-size: 5.3vw;
  }
  .top-request__title span {
    padding: 0px 40px 0px 32px;
  }
  .top-request__title span::before {
    top: 12px;
    width: 24px;
    height: 35px;
    background-size: 24px;
  }
  .top-request__title span::after {
    width: 45px;
    height: 42px;
    background-size: 45px;
    background-position: right top;
  }
  .top-request__item {
    padding: 0 !important;
    width: 48%;
    height: 35vw;
  }
  .top-request__item:nth-child(1) {
    margin-right: 4%;
  }
  .top-request__item:nth-child(2) {
    margin-top: 0px;
  }
  .top-request__item-desc {
    font-size: 2.8vw;
  }
}

@media only screen and (max-width: 639px) {
  .top-request__item-desc p {
    font-size: 14px;
  }
}

/*====================================================================================
4. END TOP REQUEST SECTION
====================================================================================*/
/*====================================================================================
5. TOP CONTACT SECTION
====================================================================================*/
.top-contact {
  padding-top: 62px;
}

.top-contact__title {
  margin-bottom: 46px;
  font-size: 37px;
  color: #005bac;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.15em;
}

.top-contact__title span {
  position: relative;
  display: initial;
  margin: 0px 0px 0px 70px;
  background: -webkit-gradient(linear, left bottom, left top, color-stop(30%, #e1a122), color-stop(30%, transparent));
  background: -o-linear-gradient(bottom, #e1a122 30%, transparent 30%);
  background: linear-gradient(0deg, #e1a122 30%, transparent 30%);
}

.top-contact__title span::before {
  position: absolute;
  content: "";
  top: 50%;
  left: -70px;
  width: 62px;
  height: 78px;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
      transform: translateY(-50%);
  background: url("./../common_img/title-deco03.png") no-repeat left center/62px auto;
}

.top-contact__middle {
  margin-bottom: 30px;
}

.top-contact__bottom {
  color: #ffffff;
  background-color: #005bac;
  padding: 58px 30px 67px 30px;
}

.top-contact__bottom-wrap {
  max-width: 740px;
  margin: 0 auto;
}

@media only screen and (min-width: 768px) {
  .top-contact__bottom-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .top-contact .box-phone {
    padding-right: 38px;
    border-right: 1px solid #bee7f9;
  }
  .top-contact .box-email {
    width: 280px;
  }
}

@media only screen and (max-width: 768px) {
  .top-contact .box-phone {
    padding-right: 21px;
  }
}

@media only screen and (max-width: 767px) {
  .top-contact {
    padding-top: 30px;
  }
  .top-contact__middle {
    margin-bottom: 18px;
  }
  .top-contact__bottom {
    padding: 25px;
  }
  .top-contact__bottom-wrap {
    max-width: 310px;
    margin: 0 auto;
  }
  .top-contact__title {
    margin-bottom: 20px;
    font-size: 4.8vw;
    letter-spacing: 0.1em;
  }
  .top-contact__title span {
    margin: 0px 0px 0px 35px;
  }
  .top-contact__title span::before {
    left: -35px;
    width: 30px;
    height: 38px;
    background-size: 30px auto;
  }
  .top-contact .box-phone {
    padding-right: 0;
    padding-bottom: 15px;
    text-align: center;
    border-bottom: 1px solid #bee7f9;
  }
  .top-contact .box-email {
    padding-top: 15px;
    text-align: center;
  }
}

@media only screen and (max-width: 639px) {
  .top-contact__middle p {
    text-align: left;
  }
}

/*====================================================================================
5. END TOP CONTACT SECTION
====================================================================================*/
/*====================================================================================
6. TOP BUSINESS SECTION
====================================================================================*/
.top-business {
  padding: 100px 0px 100px 0px;
}

.top-business__shape-one {
  bottom: -116px;
  right: -386px;
}

.top-business .title-main {
  margin-bottom: 33px;
}

@media only screen and (max-width: 991px) {
  .top-business__shape-one {
    bottom: -16vw;
    right: -14vw;
    width: 75vw;
  }
}

@media only screen and (max-width: 767px) {
  .top-business {
    padding: 50px 0px;
  }
}

/*---------- BLOCK TOP ----------*/
.block-top {
  margin-bottom: 60px;
}

.block-top:last-child {
  margin-bottom: 0;
}

.block-top__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 27px;
}

.block-top__title span {
  color: #005bac;
}

.block-top__title-ja {
  font-size: 28px;
  line-height: 1.5;
  font-weight: 700;
  letter-spacing: 0.12em;
}

.block-top__title-en {
  position: relative;
  display: inline-block;
  padding-left: 72px;
  font-size: 16px;
  letter-spacing: 0.095em;
  font-family: 'Avenir Next LT Pro';
}

.block-top__title-en::before {
  position: absolute;
  content: "";
  top: 50%;
  left: 14px;
  width: 40px;
  height: 1px;
  background-color: #005bac;
}

.block-top__subtitle {
  margin-bottom: 14px;
  font-size: 21px;
  letter-spacing: 0.09em;
}

.block-top__desc {
  margin-bottom: 30px;
}

@media only screen and (min-width: 992px) {
  .block-top {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .block-top__img {
    width: 590px;
  }
  .block-top__body {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    min-width: 1px;
  }
  .block-top--normal .block-top__body {
    padding-left: 50px;
  }
  .block-top--reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
  .block-top--reverse .block-top__body {
    padding-right: 50px;
  }
}

@media only screen and (max-width: 991px) {
  .block-top__figure {
    margin-bottom: 40px;
  }
  .block-top__img img {
    width: 100%;
  }
  .block-top__title {
    margin-bottom: 20px;
  }
}

@media only screen and (max-width: 767px) {
  .block-top {
    margin-bottom: 40px;
  }
  .block-top__figure {
    margin-bottom: 25px;
  }
  .block-top__title {
    margin-bottom: 17px;
  }
  .block-top__title-ja {
    font-size: 20px;
    letter-spacing: 0.1em;
  }
  .block-top__title-en {
    font-size: 13px;
    padding-left: 65px;
  }
  .block-top__title-en::before {
    width: 40px;
  }
  .block-top__subtitle {
    margin-bottom: 12px;
    font-size: 16px;
  }
  .block-top__desc {
    margin-bottom: 18px;
  }
}

@media only screen and (max-width: 420px) {
  .block-top__title-ja {
    font-size: 17px;
  }
  .block-top__title-en {
    padding-left: 55px;
  }
  .block-top__title-en::before {
    width: 30px;
  }
  .block-top__subtitle {
    font-size: 15px;
  }
}

/*---------- END BLOCK TOP ----------*/
/*====================================================================================
6. END TOP BUSINESS SECTION
====================================================================================*/
/*====================================================================================
7. TOP VEHICLE SECTION
====================================================================================*/
.top-vehicle {
  margin-bottom: 100px;
  padding: 78px 0px 90px 0px;
  background: url("./../images/s4-bg01.jpg") no-repeat center center/cover;
}

.top-vehicle__title {
  margin-bottom: 38px;
}

.top-vehicle .title-main {
  margin-bottom: 38px;
}

.top-vehicle .title-main__ja {
  font-size: 42px;
  margin-bottom: 10px;
}

.top-vehicle .title-main__en {
  font-size: 19px;
}

.top-vehicle__desc {
  margin-bottom: 17px;
}

@media only screen and (max-width: 991px) {
  .top-vehicle {
    background: url("./../images/s4-bg01-sp.jpg") no-repeat center center/cover;
  }
}

@media only screen and (max-width: 767px) {
  .top-vehicle {
    margin-bottom: 50px;
    padding: 50px 0px;
  }
  .top-vehicle .title-main {
    margin-bottom: 23px;
  }
  .top-vehicle .title-main__ja {
    margin-bottom: 7px;
    font-size: 24px;
  }
  .top-vehicle .title-main__en {
    font-size: 13px;
  }
  .top-vehicle__desc {
    margin-bottom: 14px;
  }
  .top-vehicle__desc p {
    text-align: left;
  }
}

/*====================================================================================
7. END TOP VEHICLE SECTION
====================================================================================*/
/*====================================================================================
8. TOP RECRUIT SECTION
====================================================================================*/
.top-recruit {
  background-color: #fafafa;
}

.top-recruit__shape-one {
  bottom: 0px;
  left: -162px;
}

.top-recruit__row {
  padding: 97px 60px 100px 0px;
}

.top-recruit__top {
  margin-bottom: 27px;
}

.top-recruit__middle {
  margin-bottom: 24px;
}

.top-recruit__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.top-recruit__item {
  margin-right: 15px;
  text-align: center;
  width: calc(33.333% - 10px);
  padding: 22px 5px 20px 5px;
  background-color: #ffffff;
  border: 1px solid #f8f5ef;
  text-decoration: none !important;
}

.top-recruit__item:last-child {
  margin-right: 0;
}

.top-recruit__item-icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-bottom: 10px;
}

.top-recruit__item-icon span {
  height: 39px;
}

.top-recruit__item span {
  display: inline-block;
  line-height: 0;
}

.top-recruit__item span i {
  display: inline-block;
}

.top-recruit__item-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-bottom: 2px;
}

.top-recruit__item-title h3 {
  font-size: 19px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.1em;
}

.top-recruit__item-arr i img {
  max-height: 13px;
}

@media only screen and (min-width: 992px) {
  .top-recruit__img {
    position: absolute;
    width: 50vw;
    left: 49.5vw;
    height: 100%;
  }
  .top-recruit__row {
    width: 50%;
  }
  .top-recruit__item:hover {
    -webkit-transform: translateY(-5px);
    -ms-transform: translateY(-5px);
        transform: translateY(-5px);
    -webkit-box-shadow: 5px 5px 10px 0px rgba(0, 0, 0, 0.1);
    box-shadow: 5px 5px 10px 0px rgba(0, 0, 0, 0.1);
  }
}

@media only screen and (max-width: 991px) {
  .top-recruit__shape-one {
    top: 80px;
    left: 0;
    width: 20vw;
    bottom: auto;
  }
  .top-recruit__row {
    padding: 80px 0px;
  }
  .top-recruit__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    height: 30vw;
  }
}

@media only screen and (max-width: 767px) {
  .top-recruit__shape-one {
    top: 55px;
  }
  .top-recruit__row {
    padding: 40px 0px;
  }
  .top-recruit__top {
    margin-bottom: 20px;
  }
  .top-recruit__middle {
    margin-bottom: 18px;
  }
  .top-recruit__item {
    width: calc(33.333% - 6px);
    margin-right: 10px;
  }
  .top-recruit__item-icon {
    max-height: 35px;
  }
  .top-recruit__item-icon i img {
    max-height: 35px;
  }
  .top-recruit__item h3 {
    font-size: 2.8vw;
  }
}

@media only screen and (max-width: 420px) {
  .top-recruit__item {
    padding: 10px 5px;
  }
  .top-recruit__item-icon {
    max-height: 30px;
  }
  .top-recruit__item-title {
    margin-bottom: 0px;
  }
  .top-recruit__item-icon i img {
    max-height: 30px;
  }
  .top-recruit__item-arr i img {
    max-height: 10px;
  }
  .top-recruit__item h3 {
    font-size: 14px;
  }
}

@media only screen and (max-width: 380px) {
  .top-recruit__item h3 {
    font-size: 13px;
  }
}

/*====================================================================================
8. END TOP RECRUIT SECTION
====================================================================================*/
/*====================================================================================
9. TOP COMMON SECTION
====================================================================================*/
.top-common {
  padding: 100px 0px;
}

@media only screen and (min-width: 992px) {
  .top-common__row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .top-common .top-company {
    width: 430px;
  }
  .top-common .top-news {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    min-width: 1px;
  }
}

@media only screen and (max-width: 767px) {
  .top-common {
    padding: 50px 0px;
  }
}

/*---------- TOP COMPANY ----------*/
.top-company {
  padding: 70px 0px;
  background: url("./../images/s6-bg.png") no-repeat center bottom/100% auto, #005bac;
}

.top-company .title-main {
  margin-bottom: 28px;
}

.top-company__desc {
  margin-bottom: 34px;
  padding-left: 10px;
}

.top-company__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  padding: 0px 30px;
}

.top-company__item {
  text-align: center;
  margin-right: 10px;
  padding: 10px 5px;
  width: 50%;
  letter-spacing: 0.05em;
  border: 1px solid #ffffff;
  text-decoration: none !important;
  -webkit-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
}

.top-company__item:last-child {
  margin-right: 0;
}

.top-company__item:hover {
  color: #005bac;
  background-color: #ffffff;
}

@media only screen and (max-width: 991px) {
  .top-company__list {
    max-width: 430px;
    margin: 0 auto;
  }
}

@media only screen and (max-width: 767px) {
  .top-company {
    padding: 45px 0px 45px 0px;
  }
  .top-company .title-main {
    margin-bottom: 22px;
  }
  .top-company__desc {
    margin-bottom: 25px;
    padding: 0px 5px;
  }
  .top-company__list {
    padding: 0 20px;
  }
}

@media only screen and (max-width: 639px) {
  .top-company__desc p {
    text-align: left;
  }
  .top-company {
    padding: 45px 10px 45px 10px;
  }
  .top-company__list {
    padding: 0 5px;
  }
  .block-top__btn {
    text-align: center;
  }
}

/*---------- END TOP COMPANY ----------*/
/*---------- TOP NEWS ----------*/
.top-news__list {
  max-height: 315px;
  overflow-y: auto;
}

.top-news__item:last-child a {
  border-bottom: 0;
}

.top-news__item a {
  position: relative;
  display: block;
  padding: 10px 0px;
  text-decoration: none;
}

.top-news__item a::before {
  position: absolute;
  content: "";
  left: 0;
  bottom: 0;
  height: 1px;
}

.top-news__item a::after {
  position: absolute;
  content: "";
  left: 0;
  bottom: 0;
  height: 1px;
  width: 100%;
  background-color: #e9e9e9;
}

.top-news__item a::before {
  z-index: 2;
  width: 0%;
  height: 1px;
  background-color: #005bac;
  -webkit-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
}

.top-news__item time {
  margin-bottom: 10px;
  color: #777f97;
  font-weight: 700;
  letter-spacing: 0.12em;
  -webkit-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.top-news__item h4 {
  font-weight: 400;
  letter-spacing: 0.15em;
  -webkit-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

@media only screen and (min-width: 992px) {
  .top-news {
    padding-left: 57px;
  }
  .top-news__item a:hover {
    color: #005bac;
  }
  .top-news__item a:hover::before {
    width: 100%;
  }
  .top-news__item a:hover time {
    color: #005bac;
  }
}

@media only screen and (max-width: 991px) {
  .top-news {
    margin-top: 80px;
  }
}

@media only screen and (min-width: 768px) {
  .top-news__head {
    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;
    margin-bottom: 17px;
  }
  .top-news__head-btn {
    width: 168px;
  }
  .top-news .title-main {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
  .top-news .title-main__ja {
    margin-right: 17px;
  }
  .top-news .title-main__en {
    margin-top: 7px;
  }
}

@media only screen and (max-width: 767px) {
  .top-news {
    margin-top: 40px;
  }
  .top-news__head,
  .top-news__body {
    margin-bottom: 25px;
  }
  .top-news__item time,
  .top-news__item h4 {
    letter-spacing: 0.1em;
  }
}

/*---------- END TOP NEWS ----------*/
/*====================================================================================
9. END TOP COMMON SECTION
====================================================================================*/
