﻿.l-contentColumn {
    position: relative
}

.l-contentColumn-main {
    width: 100%
}

@keyframes titleAnimationKv {
  0% {
    opacity: 0;
    transform: translateX(50%)
  }

  100% {
    opacity: 1;
    transform: translateX(0)
  }
}

@keyframes titleAnimation {
  0% {
    opacity: 0;
    transform: translateX(120%)
  }

  100% {
    opacity: 1;
    transform: translateX(0)
  }
}

.js-ttlAnimation {
  display: inline-block;
  transform: translateX(120%);
  opacity: 0
}

.js-ttlAnimation.is-ttlIn {
  animation: titleAnimation 1.5s cubic-bezier(0.165, 0.84, 0.44, 1) forwards
}

.js-ttlAnimation.is-ttlIn.js-ttlAnimation1 {
  animation-delay: .12s
}

.js-ttlAnimation.is-ttlIn.js-ttlAnimation2 {
  animation-delay: .24s
}

.js-ttlAnimation.is-ttlIn.js-ttlAnimation3 {
  animation-delay: .36s
}

.js-ttlAnimation.is-ttlIn.js-ttlAnimation4 {
  animation-delay: .48s
}

.js-ttlAnimation.is-ttlIn.js-ttlAnimation5 {
  animation-delay: .6s
}

.js-ttlAnimation.is-ttlIn.js-ttlAnimation6 {
  animation-delay: .72s
}

.js-ttlAnimation.is-ttlIn.js-ttlAnimation7 {
  animation-delay: .84s
}

.js-ttlAnimation.is-ttlIn.js-ttlAnimation8 {
  animation-delay: .96s
}

.js-ttlAnimation.is-ttlIn.js-ttlAnimation9 {
  animation-delay: 1.08s
}

.js-ttlAnimation.is-ttlIn.js-ttlAnimation10 {
  animation-delay: 1.2s
}

.js-ttlAnimation.is-ttlIn.js-ttlAnimation11 {
  animation-delay: 1.32s
}

.js-ttlAnimation.is-ttlIn.js-ttlAnimation12 {
  animation-delay: 1.44s
}

.js-ttlAnimation.is-ttlIn.js-ttlAnimation13 {
  animation-delay: 1.56s
}

.js-ttlAnimation.is-ttlIn.js-ttlAnimation14 {
  animation-delay: 1.68s
}

.js-ttlAnimation.is-ttlIn.js-ttlAnimation15 {
  animation-delay: 1.8s
}

.js-ttlAnimation.is-ttlIn.js-ttlAnimation16 {
  animation-delay: 1.92s
}

.js-ttlAnimation.is-ttlIn.js-ttlAnimation17 {
  animation-delay: 2.04s
}

.js-ttlAnimation.is-ttlIn.js-ttlAnimation18 {
  animation-delay: 2.16s
}

.js-ttlAnimation.is-ttlIn.js-ttlAnimation19 {
  animation-delay: 2.28s
}

.js-ttlAnimation.is-ttlIn.js-ttlAnimation20 {
  animation-delay: 2.4s
}

.js-ttlAnimation.is-ttlIn.js-ttlAnimation21 {
  animation-delay: 2.52s
}

.js-ttlAnimation.is-ttlIn.js-ttlAnimation22 {
  animation-delay: 2.64s
}

.js-ttlAnimation.is-ttlIn.js-ttlAnimation23 {
  animation-delay: 2.76s
}

.js-ttlAnimation.is-ttlIn.js-ttlAnimation24 {
  animation-delay: 2.88s
}

.js-ttlAnimation.is-ttlIn.js-ttlAnimation25 {
  animation-delay: 3s
}

.js-ttlAnimation.is-ttlIn.js-ttlAnimation26 {
  animation-delay: 3.12s
}

.js-ttlAnimation.is-ttlIn.js-ttlAnimation27 {
  animation-delay: 3.24s
}

.js-ttlAnimation.is-ttlIn.js-ttlAnimation28 {
  animation-delay: 3.36s
}

.js-ttlAnimation.is-ttlIn.js-ttlAnimation29 {
  animation-delay: 3.48s
}

.js-ttlAnimation.is-ttlIn.js-ttlAnimation30 {
  animation-delay: 3.6s
}

@keyframes slideIn {
  0% {
    opacity: 0;
    transform: translateY(25px)
  }

  100% {
    opacity: 1;
    transform: translateY(0)
  }
}

.js-slideItem {
  transform: translateY(25px);
  opacity: 0
}

.js-slideItem.is-slideIn {
  animation: slideIn 1s cubic-bezier(0.165, 0.84, 0.44, 1) forwards
}

.js-slideItem.is-slideIn:nth-child(1) {
  animation-delay: 80ms
}

.js-slideItem.is-slideIn:nth-child(2) {
  animation-delay: .16s
}

.js-slideItem.is-slideIn:nth-child(3) {
  animation-delay: .24s
}

.js-slideItem.is-slideIn:nth-child(4) {
  animation-delay: .32s
}

.js-slideItem.is-slideIn:nth-child(5) {
  animation-delay: .4s
}

.js-slideItem.is-slideIn:nth-child(6) {
  animation-delay: .48s
}

.js-slideItem.is-slideIn:nth-child(7) {
  animation-delay: .56s
}

.js-slideItem.is-slideIn:nth-child(8) {
  animation-delay: .64s
}

.js-slideItem.is-slideIn:nth-child(9) {
  animation-delay: .72s
}

.js-slideItem.is-slideIn:nth-child(10) {
  animation-delay: .8s
}

@keyframes fadeIn {
  0% {
    opacity: 0
  }

  100% {
    opacity: 1
  }
}

.js-fadeItem {
  opacity: 0
}

.js-fadeItem.is-fadeIn {
  animation: fadeIn 1s cubic-bezier(0.165, 0.84, 0.44, 1) forwards
}

.companyHistoryPage .l-contentColumn-aside .asideCategory-m {
  z-index: 1;
  padding: 1.3rem 1.2rem;
  text-decoration: underline
}

.companyHistoryPage .l-contentColumn-aside .asideCategory-m:before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 2px;
  height: 3rem;
  background: #3071b9;
  transform: translateY(-50%)
}

.companyHistoryPage .l-contentColumn-aside .asideCategory-m:after {
  content: none
}

.companyHistoryPage .l-contentColumn-aside .asideCategory-m._current {
  text-decoration: none
}

.companyHistoryPage .l-contentColumn-aside .asideCategory-m._current:after {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  left: .2rem;
  right: inherit;
  width: 100%;
  height: 3rem;
  transform: translateY(-50%);
  background: #fff;
  border-radius: 0 100px 100px 0;
  z-index: -1
}

.companyHistoryPage .l-contentColumn-aside .asideCategory-m.asideCategory-m:not(:first-child) {
  margin-top: 1rem
}

.companyHistoryPage .l-contentColumn-aside .asideCategory-s-wrap {
  margin: 1rem 0
}

.companyHistoryPage .l-contentColumn-aside .asideCategory-s {
  padding: 1.2rem;
  font-weight: 400
}

.companyHistoryPage .l-contentColumn-aside .asideCategory-s_main {
  color: #0f2e4c
}

.companyHistoryPage .asideRecruit {
  margin-top: 1rem
}

.companyHistoryPage .asideRecruit_inner {
  background: #f0f0f0;
  border-radius: 4px
}

.companyHistoryPage .asideRecruit_link {
  display: block;
  padding: 1rem 1rem 1.4rem 1rem;
  width: 100%;
  height: 100%;
  transition: opacity .3s ease-out
}

.companyHistoryPage .asideRecruit_cont {
  margin-top: 1.5rem
}

.companyHistoryPage .asideRecruit_cont_head {
  position: relative;
  font-family: "游明朝体+36ポかな", "YuMincho +36p Kana", "Yu Mincho Light", YuMincho, "Yu Mincho", "游明朝体", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "Noto Serif JP", sans-serif;
  font-size: 1.2rem;
  font-weight: 600;
  letter-spacing: .1em;
  color: #292929
}

.companyHistoryPage .asideRecruit_cont_head .c-icon_arrowWrap {
  position: absolute;
  top: .5rem;
  right: .2rem;
  border: none
}

.companyHistoryPage .asideRecruit_cont_head .c-icon_arrowWrap:before {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1.25rem;
  height: 1.25rem;
  transform: translate(-50%, -50%);
  border: 1px solid #fff;
  border-radius: 100%;
  content: ''
}

.companyHistoryPage .asideRecruit_cont_body {
  margin-top: 1rem;
  font-size: 1rem;
  line-height: 1.5;
  letter-spacing: .04em;
  color: #292929
}

.l-contentColumn .l-contentColumn-main {
  margin: 7.8rem 0 0;
  padding: 0;
  border-top: 3px solid #f0f0f0;
  z-index: 1
}

.vertical {
  -moz-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  -ms-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
  font-feature-settings: normal
}

.verticalTtl {
  font-family: "游明朝体+36ポかな", "YuMincho +36p Kana", "Yu Mincho Light", YuMincho, "Yu Mincho", "游明朝体", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "Noto Serif JP", sans-serif;
  font-weight: 500;
  -moz-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  -ms-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
  font-feature-settings: normal
}

.point {
  display: inline-block;
  width: 2.6rem;
  height: 2.6rem;
  border-radius: 50%;
  transform: translate(-50%);
  background: url(../../vc-files/top/company/history/icon_circle02.png) no-repeat;
  background-size: 100%
}

.point-l {
  display: inline-block;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 50%;
  transform: translate(-50%);
  background: url(../../vc-files/top/company/history/icon_circle02-l.png) no-repeat;
  background-size: 100%
}

.contentBorder {
  position: relative;
  margin-left: 6.3rem;
  padding-left: 1.4rem;
  border-left: 3px solid #7d7d7d
}

.contents_body {
  position: relative
}

.contents_body .point,
.contents_body .point-l {
  position: absolute;
  top: -1.3rem;
  z-index: 2
}

.contents_body_inner {
  padding: 4.4rem 3rem 7.7rem 3.4rem
}

.contents_body_inner:before {
  content: "";
  display: block;
  width: 1px;
  height: 0;
  background: rgba(255, 255, 255, 0.6);
  position: absolute;
  top: 0;
  z-index: 1
}

.contents_body_cont {
  position: relative
}

.contents_body_cont_block:before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: -6.2rem;
  width: 6.2rem;
  height: 1px;
  background: rgba(255, 255, 255, 0.6)
}

.contents_body_cont_block_img+.contents_body_cont_block_ttl {
  margin-top: 2rem
}

.contents_body_cont_block_ttl {
  font-family: "游明朝体+36ポかな", "YuMincho +36p Kana", "Yu Mincho Light", YuMincho, "Yu Mincho", "游明朝体", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "Noto Serif JP", sans-serif;
  font-size: 2.2rem;
  font-weight: 500;
  line-height: 1.59;
  letter-spacing: .04em;
  color: #7d7d7d
}

.contents_body_cont_block_cont {
  margin-top: 1rem
}

.contents_body_cont_txt {
  margin-top: 1.2rem;
  font-size: 1.4rem;
  line-height: 1.5;
  letter-spacing: .04em;
  color: #292929
}

.contents_body_cont_txt-s {
  font-size: 1.2rem;
  line-height: 1.5;
  letter-spacing: .04em;
  color: #292929
}

.contents_body_cont_txt-l {
  font-family: "游明朝体+36ポかな", "YuMincho +36p Kana", "Yu Mincho Light", YuMincho, "Yu Mincho", "游明朝体", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "Noto Serif JP", sans-serif;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: .04em;
  color: #292929
}

._noBorder-row:before {
  content: none
}

.contents_head {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 18.8rem;
  background-size: cover;
  background-repeat: no-repeat
}

.contents_head_ttl {
  position: relative;
  padding-left: .8rem;
  font-size: 3.3rem;
  line-height: 1.11;
  letter-spacing: .111111em;
  color: #fff;
  font-family: "游明朝体+36ポかな", "YuMincho +36p Kana", "Yu Mincho Light", YuMincho, "Yu Mincho", "游明朝体", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "Noto Serif JP", sans-serif;
  font-weight: 500;
  -moz-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  -ms-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
  font-feature-settings: normal
}

.contents_head_ttl:before {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  width: 3px;
  height: 100%;
  background-color: #7d7d7d
}

.base {
  position: relative;
  z-index: 1
}

.base .base_inner {
  position: relative;
  background: #f4ebe2
}

.base .contents_head {
  background-image: url(../../vc-files/top/company/history/bg_03_sp.jpg)
}

.base .contents_head_ttl:before {
  background-color: #67554b
}

.base .point {
  background-image: url(../../vc-files/top/company/history/icon_circle03.png)
}

.base .point-l {
  background-image: url(../../vc-files/top/company/history/icon_circle03-l.png)
}

.base .contentBorder {
  border-color: #67554b
}

.base .contents_body_cont_block_ttl {
  color: #67554b
}

.base .contents_body_cont_block_cont {
  border-color: #67554b
}

.base ._01 .contents_body_cont-01 .contents_body_cont_block {
  width: 24.7rem
}

.base ._01 .contents_body_cont-01 .point-l {
  top: -1.4rem
}

.base ._01 .contents_body_cont-02 .contents_body_cont_block {
  width: 20rem;
  margin-top: 3.2rem
}

.base ._02 {
  background: url(../../vc-files/top/company/history/bg_04_sp.png) no-repeat;
  background-size: cover
}

.base ._02 .contents_body_cont_block {
  display: flex;
  flex-flow: row-reverse;
  margin: 2rem 0 0 11.4rem;
  padding-left: 1.2rem;
  height: 21.6rem
}

.base ._02 .contents_body_cont_block_ttl {
  height: 21.6rem;
  font-size: 2.6rem;
  font-family: "游明朝体+36ポかな", "YuMincho +36p Kana", "Yu Mincho Light", YuMincho, "Yu Mincho", "游明朝体", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "Noto Serif JP", sans-serif;
  font-weight: 500;
  -moz-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  -ms-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
  font-feature-settings: normal
}

.base ._02 .contents_body_cont_block_cont {
  display: flex;
  flex-flow: row-reverse;
  margin-top: 0;
  height: 21.6rem
}

.base ._02 .contents_body_cont_txt-l {
  margin-left: .4rem;
  height: 21.6rem;
  font-size: 2.2rem;
  line-height: 1.39
}

.base ._02 .contents_body_cont_txt-l ._sub {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.13;
  letter-spacing: .04em
}

.base ._02 .contents_body_cont_txt-s {
  height: 21.6rem;
  line-height: 1.5
}

.base ._02 .contents_body_cont_img {
  margin: -.2rem 0 0 2.7rem;
  width: 22.05rem
}

.base ._02 .point-l {
  top: -6rem
}

.base ._03 {
  background: url(../../vc-files/top/company/history/bg_05_sp.png) no-repeat;
  background-size: cover
}

.base ._03 .contents_body_cont_block {
  display: flex;
  flex-flow: row-reverse;
  margin: 0 0 0 4.4rem;
  padding-left: 1.2rem;
  width: 20rem;
  height: 21.6rem
}

.base ._03 .contents_body_cont_block_ttl {
  height: 21.6rem;
  font-size: 2.6rem;
  font-family: "游明朝体+36ポかな", "YuMincho +36p Kana", "Yu Mincho Light", YuMincho, "Yu Mincho", "游明朝体", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "Noto Serif JP", sans-serif;
  font-weight: 500;
  -moz-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  -ms-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
  font-feature-settings: normal
}

.base ._03 .contents_body_cont_block_cont {
  display: flex;
  flex-flow: row-reverse;
  margin-top: 0;
  height: 21.6rem
}

.base ._03 .contents_body_cont_txt-l {
  margin-left: .4rem;
  height: 21.6rem;
  font-size: 2.2rem;
  line-height: 1.39
}

.base ._03 .contents_body_cont_txt-l ._sub {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.13;
  letter-spacing: .04em;
  font-feature-settings: normal
}

.base ._03 .contents_body_cont_txt-s {
  height: 21.6rem;
  line-height: 1.5
}

.base ._03 .contents_body_cont_img {
  margin: 1.8rem 0 0 9.3rem;
  width: 22.05rem
}

.base ._03 .point-l {
  top: -6rem
}

.challenge {
  position: relative;
  z-index: 1
}

.challenge .challenge_inner {
  position: relative;
  background: #f1efe8
}

.challenge .contents_head {
  background-image: url(../../vc-files/top/company/history/bg_07_sp.jpg)
}

.challenge .contents_head_ttl:before {
  background-color: #9b864f
}

.challenge .point {
  background-image: url(../../vc-files/top/company/history/icon_circle05.png)
}

.challenge .point-l {
  background-image: url(../../vc-files/top/company/history/icon_circle05-l.png)
}

.challenge .contentBorder {
  border-color: #9b864f
}

.challenge .contents_body_cont_block_ttl {
  color: #9b864f
}

.challenge ._01 {
  background: url(../../vc-files/top/company/history/bg_08_sp.png) no-repeat;
  background-size: cover
}

.challenge ._01 .contents_body_cont_block {
  display: flex;
  flex-flow: row-reverse;
  margin: 2rem 0 0 7.4rem;
  padding-left: 1.2rem;
  height: 15.7rem
}

.challenge ._01 .contents_body_cont_block_ttl {
  height: 15.7rem;
  font-size: 2.6rem;
  font-family: "游明朝体+36ポかな", "YuMincho +36p Kana", "Yu Mincho Light", YuMincho, "Yu Mincho", "游明朝体", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "Noto Serif JP", sans-serif;
  font-weight: 500;
  -moz-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  -ms-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
  font-feature-settings: normal
}

.challenge ._01 .contents_body_cont_block_cont {
  display: flex;
  flex-flow: row-reverse;
  margin-top: 0;
  height: 15.7rem
}

.challenge ._01 .contents_body_cont_txt {
  margin-left: auto;
  width: 23.7rem
}

.challenge ._01 .contents_body_cont_txt-l {
  margin-left: .4rem;
  height: 15.7rem;
  font-size: 2.2rem;
  line-height: 1.39
}

.challenge ._01 .contents_body_cont_txt-s {
  height: 15.7rem;
  line-height: 1.5
}

.challenge ._01 .contents_body_cont_img {
  margin: -.3rem 0 0 2.7rem;
  width: 15rem
}

.challenge ._01 .point-l {
  top: -5.9rem
}

.challenge ._02 .contents_body_inner {
  padding: 3.2rem 3rem 4rem 3.4rem
}

.challenge ._02 .contents_body_cont-02 .point-l {
  top: -1.6rem
}

.challenge ._03 {
  background: url(../../vc-files/top/company/history/bg_09_sp.png) no-repeat;
  background-size: cover
}

.challenge ._03 .contents_body_cont_block {
  display: flex;
  flex-flow: row-reverse;
  margin: 0 0 0 6.3rem;
  padding-left: 1.2rem;
  width: 17.5rem;
  height: 21.6rem
}

.challenge ._03 .contents_body_cont_block_ttl {
  height: 21.6rem;
  font-size: 2.6rem;
  font-family: "游明朝体+36ポかな", "YuMincho +36p Kana", "Yu Mincho Light", YuMincho, "Yu Mincho", "游明朝体", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "Noto Serif JP", sans-serif;
  font-weight: 500;
  -moz-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  -ms-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
  font-feature-settings: normal
}

.challenge ._03 .contents_body_cont_block_cont {
  display: flex;
  flex-flow: row-reverse;
  margin-top: 0;
  height: 21.6rem
}

.challenge ._03 .contents_body_cont_txt {
  margin-left: 6.3rem
}

.challenge ._03 .contents_body_cont_txt-l {
  margin-left: .4rem;
  height: 21.6rem;
  font-size: 2.2rem;
  line-height: 1.39
}

.challenge ._03 .contents_body_cont_txt-s {
  height: 21.6rem;
  line-height: 1.5
}

.challenge ._03 .contents_body_cont_img {
  margin: 1.5rem 0 0 9.3rem;
  width: 22rem
}

.challenge ._03 .point-l {
  top: -5.9rem
}

.challenge ._04 .contents_body_inner {
  padding: 3.3rem 3rem 4rem 3.4rem
}

.challenge ._04 .contents_body_cont-01 .point-l {
  top: -1.7rem
}

.challenge ._04 .contents_body_cont-02 .point-l {
  top: -1.7rem
}

.established {
  position: relative;
  z-index: 1
}

.established .established_inner {
  position: relative;
  background: #ededed
}

.established .contents_head {
  height: 9.7rem;
  background-image: url(../../vc-files/top/company/history/bg_01_sp.jpg)
}

@keyframes lineInHorizontal-est {
  0% {
    width: 0
  }

  100% {
    width: 100%
  }
}

.established .contents_head_read {
  order: 2;
  display: flex;
  flex-flow: column;
  justify-content: space-between;
  margin: 0 0 0 1rem;
  width: 2.7rem;
  font-size: 1.2rem;
  line-height: 1.08;
  letter-spacing: .111111em;
  color: #fff;
  font-family: "游明朝体+36ポかな", "YuMincho +36p Kana", "Yu Mincho Light", YuMincho, "Yu Mincho", "游明朝体", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "Noto Serif JP", sans-serif;
  font-weight: 500;
  -moz-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  -ms-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
  font-feature-settings: normal
}

.established .contents_head_read_main {
  padding-top: 3.9rem
}

.established .contents_head_ttl {
  order: 1;
  margin-left: 4.27rem;
  font-size: 1.9rem;
  line-height: 1.11;
  letter-spacing: .111111em
}

.established .contents_head_ttl:before {
  background-color: #7d7d7d
}

.established ._01 .contents_body_cont_block {
  width: 19rem
}

.established ._02 {
  background: url(../../vc-files/top/company/history/bg_02_sp.png) no-repeat;
  background-size: cover
}

.established ._02 .contents_body_cont_block {
  display: flex;
  flex-flow: row-reverse;
  padding-left: 1.2rem;
  width: 20rem;
  height: 21.6rem
}

.established ._02 .contents_body_cont_block_ttl {
  height: 21.6rem;
  font-size: 2.6rem;
  font-family: "游明朝体+36ポかな", "YuMincho +36p Kana", "Yu Mincho Light", YuMincho, "Yu Mincho", "游明朝体", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "Noto Serif JP", sans-serif;
  font-weight: 500;
  -moz-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  -ms-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
  font-feature-settings: normal
}

.established ._02 .contents_body_cont_block_cont {
  display: flex;
  flex-flow: row-reverse;
  margin-top: 0;
  height: 21.6rem
}

.established ._02 .contents_body_cont_txt-l {
  margin-left: .4rem;
  height: 21.6rem;
  font-size: 2.2rem;
  line-height: 1.39
}

.established ._02 .contents_body_cont_txt-s {
  height: 21.6rem;
  line-height: 1.5
}

.established ._02 .contents_body_cont_img {
  margin: 2rem 0 0 9rem;
  width: 22.05rem
}

.established ._02 .point {
  background-image: url(../../vc-files/top/company/history/icon_circle01.png)
}

.established ._02 .point-l {
  top: -6.3rem;
  background-image: url(../../vc-files/top/company/history/icon_circle02-l.png)
}

.grow {
  position: relative;
  z-index: 1
}

.grow .grow_inner {
  position: relative;
  background: #ebeeeb
}

.grow .contents_head {
  background-image: url(../../vc-files/top/company/history/bg_06_sp.jpg)
}

.grow .contents_head_ttl:before {
  background-color: #536b52
}

.grow .point {
  background-image: url(../../vc-files/top/company/history/icon_circle04.png)
}

.grow .point-l {
  background-image: url(../../vc-files/top/company/history/icon_circle04-l.png)
}

.grow .contentBorder {
  border-color: #536b52
}

.grow .contents_body_cont_block_ttl {
  color: #536b52
}

.grow .contents_body_cont-01 .contents_body_cont_block {
  width: 24.7rem
}

.grow .contents_body_cont-01 .point-l {
  top: -1.4rem
}

.lateYears {
  position: relative;
  z-index: 1
}

.lateYears .lateYears_inner {
  position: relative;
  background: #e9eef2
}

.lateYears .contents_head {
  background-image: url(../../vc-files/top/company/history/bg_10_sp.jpg)
}

.lateYears .contents_head_ttl:before {
  background-color: #3071b9
}

.lateYears .point-l {
  background-image: url(../../vc-files/top/company/history/icon_circle06-l.png)
}

.lateYears .contentBorder {
  border-color: #3071b9
}

.lateYears .contents_body_cont_block_ttl {
  color: #3071b9
}

.lateYears ._01 .contents_body_inner {
  padding: 3rem 3rem 4rem 3.4rem
}

.lateYears ._01 .contents_body_cont.contents_body_cont-02 .point-l {
  top: -1.6rem
}

.lateYears ._01 .contents_body_cont-05 .contents_body_cont_block_img {
  width: 11.7rem
}

.lateYears ._02 {
  background: url(../../vc-files/top/company/history/bg_11_sp.png) no-repeat;
  background-size: cover
}

.lateYears ._02 .contents_body_inner {
  padding: 4.4rem 3rem 5.4rem 3.4rem
}

.lateYears ._02 .contents_body_cont_block {
  display: flex;
  flex-flow: row-reverse;
  margin: 2rem 0 0 11.4rem;
  padding-left: 1.2rem;
  width: 17rem;
  height: 15.7rem
}

.lateYears ._02 .contents_body_cont_block_ttl {
  height: 15.7rem;
  font-size: 2.6rem;
  font-family: "游明朝体+36ポかな", "YuMincho +36p Kana", "Yu Mincho Light", YuMincho, "Yu Mincho", "游明朝体", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "Noto Serif JP", sans-serif;
  font-weight: 500;
  -moz-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  -ms-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
  font-feature-settings: normal
}

.lateYears ._02 .contents_body_cont_block_cont {
  display: flex;
  flex-flow: row-reverse;
  margin-top: 0;
  height: 15.7rem
}

.lateYears ._02 .contents_body_cont_txt {
  margin-left: 11.4rem
}

.lateYears ._02 .contents_body_cont_txt-l {
  margin-left: .4rem;
  height: 15.7rem;
  font-size: 2.2rem;
  line-height: 1.39
}

.lateYears ._02 .contents_body_cont_txt-s {
  height: 15.7rem;
  line-height: 1.5
}

.lateYears ._02 .contents_body_cont_img {
  margin: -.3rem 0 0 2.7rem;
  width: 15rem
}

.lateYears ._02 .point-l {
  top: -5.9rem
}

.lateYears ._03 .contents_body_inner {
  padding: 5.4rem 3rem 4rem 3.4rem
}

.lateYears ._03 .contents_body_cont-01 .point-l {
  top: -1.7rem
}

.lateYears ._03 .contents_body_cont-02 .point-l {
  top: -1.7rem
}

.lateYears ._04 {
  background: url(../../vc-files/top/company/history/bg_12_sp.png) no-repeat;
  background-size: cover
}

.lateYears ._06 {
  background: url(../../vc-files/top/company/history/bg_img_23_sp.png) no-repeat;
  background-size: cover
}

.lateYears ._04 .contents_body_inner {
  padding: 6rem 3rem 7.5rem 3.4rem
}

.lateYears ._04 .contents_body_cont_block {
  display: flex;
  flex-flow: row-reverse;
  margin: 0 0 0 8.7rem;
  padding-left: 1.2rem;
  width: 14rem;
  height: 21.6rem
}

.lateYears ._04 .contents_body_cont_block_ttl {
  height: 21.6rem;
  font-size: 2.6rem;
  font-family: "游明朝体+36ポかな", "YuMincho +36p Kana", "Yu Mincho Light", YuMincho, "Yu Mincho", "游明朝体", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "Noto Serif JP", sans-serif;
  font-weight: 500;
  -moz-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  -ms-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
  font-feature-settings: normal
}

.lateYears ._04 .contents_body_cont_block_cont {
  display: flex;
  flex-flow: row-reverse;
  margin-top: 0;
  height: 21.6rem
}

.lateYears ._04 .contents_body_cont_txt {
  margin-left: 8.7rem
}

.lateYears ._04 .contents_body_cont_txt-l {
  margin-left: .4rem;
  height: 21.6rem;
  font-size: 2.2rem;
  line-height: 1.39
}

.lateYears ._04 .contents_body_cont_txt-s {
  height: 21.6rem;
  line-height: 1.5
}

.lateYears ._04 .contents_body_cont_img {
  margin: 3rem 0 0 -1.6rem;
  width: 34rem
}

.lateYears ._04 .point-l {
  top: -5.6rem
}

@keyframes lineInHorizontal-lateYears {
  0% {
    width: 0
  }

  100% {
    width: calc(100% + 48.75vw)
  }
}

@keyframes lineInVertical-lateYears {
  0% {
    height: 0
  }

  100% {
    height: calc(100% + 10rem)
  }
}

.lateYears ._05 .contents_body_cont-03 .contents_body_cont_block {
  width: 24.7rem
}

.lateYears ._05 .contents_body_cont-03 .point-l {
  top: -1.4rem
}

@keyframes lineInHorizontal-lateYears {
  0% {
    width: 0
  }

  100% {
    width: calc(100% + 48.75vw)
  }
}

@keyframes lineInVertical-lateYears {
  0% {
    height: 0
  }

  100% {
    height: calc(100% + 10rem)
  }
}

.fv .fv_inner {
  position: relative;
  padding: 4.3rem 3rem 2.1rem
}

.fv .c-ttl_under-line-center {
  margin-top: 4.3rem
}

.fv .bgFrame {
  overflow: hidden;
  position: absolute;
  top: -12.8rem;
  left: 0;
  width: 100%;
  height: 23.1rem;
  z-index: -1
}

.fv .bgFrame .bgFrame_inner {
  position: absolute;
  width: 180%;
  height: 260%;
  left: -13rem;
  bottom: 0
}

.fv .bgFrame .bg_frame {
  width: 100%;
  height: 100%;
  fill: #fafafa
}

.companyHistoryPage {
  overflow: visible
}

.companyHistoryPage .l-contentColumn {
  border: none
}

@keyframes lineInHorizontal {
  0% {
    width: 0
  }

  100% {
    width: 100%
  }
}

@keyframes lineInVertical {
  0% {
    height: 0
  }

  100% {
    height: 100%
  }
}

.kv .kv_inner {
  position: relative;
  padding: 4.2rem 3rem 6rem;
  background: url(../../vc-files/top/company/history/kv_sp.jpg) no-repeat;
  background-size: cover
}

.kv .kv_ttl {
  display: flex;
  flex-flow: column;
  justify-content: space-between;
  margin: 0 auto;
  width: 5.4rem;
  line-height: 1.1;
  color: #292929;
  font-family: "游明朝体+36ポかな", "YuMincho +36p Kana", "Yu Mincho Light", YuMincho, "Yu Mincho", "游明朝体", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "Noto Serif JP", sans-serif;
  font-weight: 500;
  -moz-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  -ms-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
  font-feature-settings: normal
}

.kv .kv_ttl_sub {
  font-size: 1.8rem;
  letter-spacing: .111111em;
  text-shadow: 0 0 17px #fff
}

.kv .kv_ttl_main {
  padding-top: 6.4rem;
  font-size: 2.6rem;
  letter-spacing: .111111em;
  text-shadow: 0 0 17px #fff
}

.kv .catch {
  position: absolute;
  top: 0;
  left: -2.2rem;
  font-family: "游明朝体+36ポかな", "YuMincho +36p Kana", "Yu Mincho Light", YuMincho, "Yu Mincho", "游明朝体", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "Noto Serif JP", sans-serif;
  font-size: 10rem;
  font-weight: 500;
  line-height: 1.18;
  letter-spacing: .2em;
  color: rgba(41, 41, 41, 0.5);
  font-family: "游明朝体+36ポかな", "YuMincho +36p Kana", "Yu Mincho Light", YuMincho, "Yu Mincho", "游明朝体", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "Noto Serif JP", sans-serif;
  font-weight: 500;
  -moz-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  -ms-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
  font-feature-settings: normal
}

.kv .logo {
  width: 11.6rem;
  margin: 2.5rem auto 0
}

.kv .kv_txt {
  margin-top: 4rem;
  font-size: 1.2rem;
  line-height: 1.67;
  letter-spacing: .04em;
  color: #fff;
  text-shadow: 0 0 20px #000
}

.kv .kv_scroll {
  position: relative;
  display: flex;
  flex-flow: column;
  margin: 2.2rem 0 0 -.76rem;
  width: 6rem
}

.kv .kv_scroll_txt {
  width: 2.6rem;
  font-family: "游明朝体+36ポかな", "YuMincho +36p Kana", "Yu Mincho Light", YuMincho, "Yu Mincho", "游明朝体", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "Noto Serif JP", sans-serif;
  font-size: 2.6rem;
  font-weight: 500;
  line-height: 1.12;
  letter-spacing: .1111em;
  color: #3071b9;
  font-family: "游明朝体+36ポかな", "YuMincho +36p Kana", "Yu Mincho Light", YuMincho, "Yu Mincho", "游明朝体", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "Noto Serif JP", sans-serif;
  font-weight: 500;
  -moz-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  -ms-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
  font-feature-settings: normal
}

.kv .point {
  position: absolute;
  bottom: -3.3rem;
  left: 1.2rem;
  width: 2.7rem;
  height: 2.7rem;
  z-index: 2;
  background-image: url(../../vc-files/top/company/history/icon_circle01.png)
}

.kv .point:before {
  content: '';
  display: block;
  width: 1px;
  position: absolute;
  top: 2.1rem;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(255, 255, 255, 0.6);
  z-index: 1
}

@keyframes lineInVertical-kv {
  0% {
    height: 0
  }

  100% {
    height: 3.3rem
  }
}

@keyframes lineInHorizontal-kv {
  0% {
    width: 0
  }

  100% {
    width: 10.75vh
  }
}

.kv .kv_scroll_icon {
  position: absolute;
  top: 4.7rem;
  left: 3.6rem;
  width: 2.3rem;
  height: 3.9rem;
  background: url(../../vc-files/top/company/history/icon_scroll.png) no-repeat;
  background-size: 100%;
  transform: translateY(-107%);
  animation: scrollAttention 2.3s linear infinite
}

@keyframes scrollAttention {
  0% {
    transform: translateY(-107%)
  }

  50% {
    transform: translateY(0)
  }

  100% {
    transform: translateY(-107%)
  }
}

@keyframes mouseAttention {
  0% {
    transform: translateY(0)
  }

  50% {
    transform: translateY(15%)
  }

  70% {
    transform: translateY(0)
  }

  100% {
    transform: translateY(0)
  }
}

.companyPager {
  position: relative;
  margin-left: auto;
  padding-bottom: 5rem;
  width: calc(100% - 5rem);
  z-index: 1
}

.companyPager:after {
  display: block;
  position: absolute;
  bottom: 0;
  left: -9rem;
  width: calc(100% + (4rem * 2) + 5rem);
  height: 1px;
  background: #f0f0f0;
  content: ''
}

.companyPager .companyPager_inner {
  position: relative;
  padding: 4rem 4rem 8rem
}

.companyPager .companyPager_inner:after {
  display: block;
  position: absolute;
  bottom: 0;
  left: -9rem;
  width: calc(100% + (4rem * 2) + 5rem);
  height: 1px;
  background: #f0f0f0;
  content: ''
}

.companyPager .companyPager_list {
  display: flex;
  justify-content: space-between
}

.companyPager .companyPager_list_item {
  width: 21.5rem
}

.companyPager .companyPager_list_item:not(._disable) .companyPager_list_item_link:hover:after {
  transform: translateX(0)
}

.companyPager .companyPager_list_item_link {
  display: block;
  position: relative;
  padding: 2.05rem 0 2.3rem;
  font-size: 1.2rem;
  font-weight: 600;
  letter-spacing: .04em;
  color: #292929;
  overflow: hidden
}

.companyPager .companyPager_list_item_link:after,
.companyPager .companyPager_list_item_link:before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  height: 1px
}

.companyPager .companyPager_list_item_link:before {
  width: 100%;
  background: #c2c2c2
}

.companyPager .companyPager_list_item_link:after {
  width: 2.8rem;
  background: #3071b9
}

.companyPager .c-icon_arrowWrap {
  top: 1.8rem;
  right: 0;
  border: none;
  transform: none
}

.companyPager .c-icon_arrowWrap:after {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1.25rem;
  height: 1.25rem;
  border: 1px solid #fff;
  border-radius: 100%;
  transform: translate(-50%, -50%)
}

.companyPager ._disable {
  opacity: .3;
  pointer-events: none
}

.recruit {
  position: relative;
  z-index: 1
}

.recruit .recruit_inner {
  position: relative
}

.recruit .bgFrame {
  position: absolute;
  top: -3rem;
  left: -11.5rem;
  transform: scale(-1, 1);
  width: 68.7rem;
  height: 58.8rem;
  z-index: 0
}

.recruit .bg_frame {
  width: 100%;
  height: 100%;
  fill: #fff;
  opacity: .4
}

.recruit .recruit_body {
  padding: 3rem 2.5rem 4.3rem 3rem;
  background: #e9e9e9
}

.recruit .c-txt {
  position: relative;
  margin-top: 2rem;
  z-index: 1
}

.recruit strong {
  display: block;
  font-weight: 700;
  font-size: 1.5rem;
  letter-spacing: .04em
}

.recruit .c-button {
  margin: 3rem auto 0;
  z-index: 1
}






scrollmagic-pin-spacer {
  margin: 0 !important
}

.c-ttl_under-line-center {
  margin-top: 10.6rem
}

.fv .bgFrame {
  top: -10.9rem;
  left: -5rem;
  width: calc(100% + 5rem + 110px);
  height: 37.3rem
}

.fv .bgFrame .bgFrame_inner {
  bottom: -9.5rem;
  left: -.5rem;
  width: 100%;
  height: 339%
}

.companyHistoryPage .l-wraper {
  width: calc(100% - 24rem);
  left: 0
}

/* .companyHistoryPage .l-contentColumn-main {
  background: #e9eef2
} */

.companyHistoryPage .fixedLineWrap {
  position: relative
}

.companyHistoryPage .scrollmagic-pin-spacer {
  margin: 0 !important
}

.companyHistoryPage .js-lineItem:before {
  /* width: 0 */
}

.companyHistoryPage .js-lineItem.is-lineIn:before {
  animation: lineInHorizontal .8s linear forwards
}

.kv {
  height: 100%
}
@media (max-width: 768px) {
    .t-parts.BasicParts6-1 {
        width: 100%;
        margin: 0 auto 4.5rem;
    }
}
picture {
    display: block;
}
@media only screen and (min-width: 768px) {
  .kv .kv_inner {
    padding: 5.4rem 3rem 6rem;
    padding: 6.75vh 3.75vh 7.5vh;
    width: 89rem;
    width: 100%;
    width: 120rem;
    height: calc(100% - 85px);
    background-image: url(../../vc-files/top/company/history/kv.jpg)
  }

.kv .kv_ttl {
  width: 8rem;
  width: 10vh
}

.kv .kv_ttl_sub {
  font-size: 2.6rem;
  font-size: 3.25vh
}

.kv .kv_ttl_main {
  padding-top: 9.2rem;
  padding-top: 11.5vh;
  font-size: 3.8rem;
  font-size: 4.75vh
}

.kv .catch {
  left: -1.5rem;
  left: -1.875vh;
  font-size: 15.3rem;
  font-size: 19.125vh
}

.kv .logo {
  width: 20.875vh;
  margin: 7.125vh auto 0
}

.kv .kv_txt {
  margin: 6rem auto 0;
  margin: 7.5vh auto 0;
  width: 60.2rem;
  width: 75.25vh;
  font-size: 1.3rem;
  font-size: 1.625vh;
  line-height: 1.54
}

.kv .kv_scroll {
  position: absolute;
  top: 50%;
  right: 0;
  margin: -7.3rem 0 0 0;
  margin: -9.125vh 0 0 0;
  width: auto;
  width: 13.25vh;
  transform: translateY(-50%)
}

.kv .kv_scroll_txt {
  margin-left: .25vh;
  width: 3.25vh;
  font-size: 3rem;
  font-size: 3.75vh;
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: .12em;
  color: #0f2e4c
}

.kv .point {
  bottom: -3.7rem;
  bottom: -4.625vh;
  left: 0;
  width: 3.25vh;
  height: 3.25vh;
  transform: none
}

.kv .point:before {
  top: 50%;
  left: 2rem;
  left: 2.5vh;
  width: 10.6rem;
  width: 13.25vh;
  height: 1px;
  transform: translateY(-50%);
  z-index: -1
}

.kv .js-lineItem:before {
  width: 0
}

.kv .js-lineItem.is-lineIn:before {
  animation: lineInHorizontal-kv .5s linear forwards
}

.kv .kv_scroll_icon {
  top: 15rem;
  top: 18.75vh;
  left: .375vh;
  width: 2rem;
  width: 2.5vh;
  height: 4.84rem;
  height: 6.05vh;
  background-image: url(../../vc-files/top/company/history/icon_mouse.png);
  transform: translateY(0);
  animation: mouseAttention 2s ease-out infinite
}
}
.companyPager .companyPager_list_item_link {
  padding: 2.05rem 0
}

.companyPager .companyPager_list_item_link:after {
  width: 100%;
  transform: translateX(-80%);
  transition: .4s ease-out
}

.recruit .bgFrame {
  width: 136.5rem;
  height: 106.2rem;
  top: -5.4rem;
  left: -7.7rem
}

.recruit .bg_frame {
  fill: #fafafa
}

.recruit .recruit_cont {
  display: flex
}

.recruit .recruit_head {
  flex-basis: 72rem
}

.recruit .recruit_body {
  position: relative;
  flex-grow: 1;
  padding: 10.5rem 4.2rem 10rem 5.8rem;
  background: #f7f7f7;
  overflow: hidden
}

.recruit .recruit_body .bgFrame {
  left: -79.7rem
}

.recruit .recruit_body .bg_frame {
  fill: #f2f2f2;
  opacity: 1
}

.recruit .c-ttl_head {
  padding: 0
}

.recruit .c-ttl-line-row:before {
  left: -5.8rem;
  height: 8rem
}

.kv_ttl {
  display: flex;
  flex-flow: column;
  justify-content: space-between;
  margin: 0 auto;
  width: 5.4rem;
  line-height: 1.1;
  color: #292929;
  font-family: "游明朝体+36ポかな", "YuMincho +36p Kana", "Yu Mincho Light", YuMincho, "Yu Mincho", "游明朝体", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "Noto Serif JP", sans-serif;
  font-weight: 500;
  -moz-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  -ms-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
  font-feature-settings: normal
}

.kv .kv_ttl_sub {
  font-size: 1.8rem;
  letter-spacing: .111111em;
  text-shadow: 0 0 17px #fff
}

.kv .kv_ttl_main {
  padding-top: 6.4rem;
  font-size: 2.6rem;
  letter-spacing: .111111em;
  text-shadow: 0 0 17px #fff
}

.kv .catch {
  position: absolute;
  top: 0;
  left: -2.2rem;
  font-family: "游明朝体+36ポかな", "YuMincho +36p Kana", "Yu Mincho Light", YuMincho, "Yu Mincho", "游明朝体", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "Noto Serif JP", sans-serif;
  font-size: 10rem;
  font-weight: 500;
  line-height: 1.18;
  letter-spacing: .2em;
  color: rgba(41, 41, 41, 0.5);
  font-family: "游明朝体+36ポかな", "YuMincho +36p Kana", "Yu Mincho Light", YuMincho, "Yu Mincho", "游明朝体", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "Noto Serif JP", sans-serif;
  font-weight: 500;
  -moz-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  -ms-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
  font-feature-settings: normal
}

.kv .logo {
  width: 11.6rem;
  margin: 2.5rem auto 0
}

.kv .kv_txt {
  margin-top: 4rem;
  font-size: 1.2rem;
  line-height: 1.67;
  letter-spacing: .04em;
  color: #fff;
  text-shadow: 0 0 20px #000
}

.kv .kv_scroll {
  position: relative;
  display: flex;
  flex-flow: column;
  margin: 2.2rem 0 0 -.76rem;
  width: 6rem
}

@keyframes fadeIn {
  0% {
    opacity: 0
  }

  100% {
    opacity: 1
  }
}

.js-fadeItem {
  opacity: 0
}

.js-fadeItem.is-fadeIn {
  animation: fadeIn 1s cubic-bezier(0.165, 0.84, 0.44, 1) forwards
}





@media only screen and (min-width: 768px) {
.d-header.is-hidden-by-horizontal {
  transform: translateY(-100%);
  opacity: 0;
  pointer-events: none;
}

  .l-contentColumn {
    height: 80rem;
    height: 100%;
    border-top: 4px solid #f0f0f0
  }

  .l-contentColumn .l-contentColumn-main {
    margin: 0 0 0 -5rem;
    margin: 0 !important;
    padding: 0;
    border: none;
    overflow: hidden;
    z-index: 1001
  }

  .l-contentColumn .l-contentColumn-main_inner {
    display: flex;
    flex-wrap: nowrap;
    width: auto;
    height: 100vh;
    height: 100vh;
    /* margin-top: 86px; */
  }

  .point {
    width: 3.25vh;
    height: 3.25vh
  }

  .point-l {
    width: 4.375vh;
    height: 4.375vh
  }

  .contentBorder {
    padding: 0;
    border: none;
    margin: 0
  }

  .contents_body .point,
  .contents_body .point-l {
    top: -1.625vh
  }

  .contents_body_inner {
    display: flex;
    flex-flow: nowrap;
    padding: 0 4.6rem 0 3.2rem;
    padding: 0 5.75vh 0 4vh;
    height: 100%
  }

  .contents_body_inner:before {
    width: 0;
    height: 1px;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    background: rgba(255, 255, 255, 0.7)
  }

  .contents_body_cont {
    height: 50%;
    z-index: 2
  }

  .contents_body_cont+.contents_body_cont {
    margin-top: 4vh
  }

  .contents_body_cont_block:before {
    left: 0;
    width: 1px;
    height: 100%;
    background: rgba(255, 255, 255, 0.7)
  }

  .contents_body_cont_block_img+.contents_body_cont_block_ttl {
    margin-top: 2.5vh
  }

  .contents_body_cont_block_ttl {
    margin-left: 1.7rem;
    margin-left: 2.125vh;
    font-size: 2.75vh
  }

  .contents_body_cont_block_cont {
    position: relative;
    margin-top: 1.25vh;
    padding-left: 1.4rem;
    padding-left: 1.75vh;
    border-left: 3px solid #7d7d7d;
    z-index: 1
  }

  .contents_body_cont_block_cont>.contents_body_cont_txt {
    padding: 0;
    border: none
  }

  .contents_body_cont_txt {
    margin-top: 1.5vh;
    padding-left: 1.4rem;
    padding-left: 1.75vh;
    font-size: 1.75vh;
    border-left: 3px solid #7d7d7d
  }

  .contents_body_cont_txt-s {
    width: auto;
    font-size: 1.5vh
  }

  .contents_body_cont_txt-l {
    width: auto;
    font-size: 2.2rem;
    font-size: 2.75vh
  }

  .contents_head {
    align-items: flex-start;
    width: 28rem;
    width: 35vh;
    height: 100%
  }

  .contents_head_ttl {
    top: 8.3rem;
    top: 10.375vh;
    padding-left: .7rem;
    padding-left: .875vh;
    font-size: 4.4rem;
    font-size: 5.5vh;
    font-weight: 600;
    letter-spacing: .211111em
  }

  .base {
    display: flex;
    flex-wrap: nowrap;
    flex-shrink: 0;
    flex-basis: auto;
    height: 100%
  }

  .base .base_inner {
    display: flex;
    flex-wrap: nowrap;
    flex-shrink: 0;
    flex-basis: auto;
    height: 100%
  }

  .base .base_inner:before {
    content: "";
    display: block;
    width: 100%;
    height: 100vh;
    background: url(../../vc-files/top/company/history/bg_frame_02.png) no-repeat;
    z-index: 1;
    background-size: contain;
    position: absolute;
    top: 0;
    left: 70vh;
    opacity: .3
  }

  .base .contents_head {
    background-image: url(../../vc-files/top/company/history/bg_03.jpg)
  }

  .base .contents_body_inner {
    padding: 0 4.6rem 0 3.8rem;
    padding: 0 5.75vh 0 4.75vh
  }

  .base ._01 .contents_body_inner {
    padding: 0 3.5rem 0 3.8rem;
    padding: 0 4.375vh 0 4.75vh
  }

  .base ._01 .contents_body_cont-01 {
    margin-top: auto
  }

  .base ._01 .contents_body_cont-01 .contents_body_cont_block {
    padding: 13.8rem 0 0 0;
    padding: 17.25vh 0 0 0;
    width: 30.875vh
  }

  .base ._01 .contents_body_cont-01 .contents_body_cont_block_img {
    position: absolute;
    top: -11.6rem;
    top: -14.5vh;
    left: 3rem;
    left: 3.75vh;
    width: 32rem;
    width: 40vh;
    z-index: 1
  }

  .base ._01 .contents_body_cont-01 .point-l {
    top: -1.7rem;
    top: -2.125vh
  }

  .base ._01 .contents_body_cont-02 {
    display: flex;
    align-items: flex-end;
    margin: 0 0 0 13.5rem;
    margin: 0 0 0 16.875vh
  }

  .base ._01 .contents_body_cont-02 .contents_body_cont_block {
    margin: 0 0 3.8rem 0;
    margin: 0 0 4.75vh 0
  }

  .base ._01 .contents_body_cont-02 .contents_body_cont_block:before {
    top: inherit;
    bottom: -3.8rem;
    bottom: -4.75vh;
    height: 3.8rem;
    height: 4.75vh
  }

  .base ._01 .contents_body_cont-02 .point {
    top: inherit;
    bottom: -1.2rem;
    bottom: -1.5vh
  }

  .base ._01 .contents_body_cont-03 {
    margin: auto 0 0 -7rem;
    margin: auto 0 0 -8.75vh;
    padding-top: 3rem;
    padding-top: 3.75vh
  }

  .base ._01 .contents_body_cont-03 .contents_body_cont_block {
    width: 20rem
  }

  .base ._01 .contents_body_cont-03 .contents_body_cont_block:before {
    top: -3rem;
    top: -3.75vh
  }

  .base ._02 {
    background-image: url(../../vc-files/top/company/history/bg_04.png);
    z-index: 2
  }

  .base ._02 .contents_body_inner {
    padding: 0 5.6rem 0 3.8rem;
    padding: 0 7vh 0 4.75vh
  }

  .base ._02 .contents_body_cont {
    margin-top: auto;
    width: 100%
  }

  .base ._02 .contents_body_cont_block {
    margin: 9rem 0 0 18rem;
    margin: 11.25vh 0 0 22.5vh;
    height: 25.7rem;
    height: 32.125vh
  }

  .base ._02 .contents_body_cont_block_ttl {
    height: 25.7rem;
    height: 32.125vh;
    font-size: 3.6rem;
    font-size: 4.5vh;
    line-height: 1.11;
    margin-left: 0;
    padding-left: 1rem;
    padding-left: 1.25vh
  }

  .base ._02 .contents_body_cont_block_cont {
    width: 20vh;
    height: 25.7rem;
    height: 32.125vh;
    -moz-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -ms-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    font-feature-settings: normal;
    flex-flow: column
  }

  .base ._02 .contents_body_cont_txt-l {
    height: 25.7rem;
    height: 32.125vh;
    font-size: 2.5rem;
    font-size: 3.125vh;
    letter-spacing: .12em
  }

  .base ._02 .contents_body_cont_txt-l ._sub {
    font-size: 1.8rem;
    font-size: 2.25vh
  }

  .base ._02 .contents_body_cont_txt-s {
    height: 25.7rem;
    height: 32.125vh;
    letter-spacing: .083em
  }

  .base ._02 .contents_body_cont_img {
    position: absolute;
    top: -34rem;
    top: -42.5vh;
    left: 2.2rem;
    left: 2.75vh;
    margin: 0;
    width: 30rem;
    width: 37.5vh;
    z-index: 1
  }

  .base ._02 .point-l {
    top: -1.9rem;
    top: -2.375vh;
    left: -3.6rem;
    left: -4.5vh
  }

  .base ._03 {
    background-image: url(../../vc-files/top/company/history/bg_05.png);
    z-index: 2
  }

  .base ._03 .contents_body_inner {
    padding: 0 22.4rem 0 3.8rem;
    padding: 0 28vh 0 4.75vh
  }

  .base ._03 .contents_body_cont {
    display: flex;
    align-items: flex-end
  }

  .base ._03 .contents_body_cont_block {
    margin: 0 0 7.8rem 4.8rem;
    margin: 0 0 9.75vh 6vh;
    height: 25.7rem;
    height: 32.125vh
  }

  .base ._03 .contents_body_cont_block_ttl {
    height: 25.7rem;
    height: 32.125vh;
    font-size: 3.6rem;
    font-size: 4.5vh;
    line-height: 1.11;
    margin-left: 0;
    padding-left: 1rem
  }

  .base ._03 .contents_body_cont_block_cont {
    width: 28.125vh;
    height: 25.7rem;
    height: 32.125vh;
    -moz-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -ms-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    font-feature-settings: normal;
    flex-flow: column
  }

  .base ._03 .contents_body_cont_txt-l {
    height: 25.7rem;
    height: 32.125vh;
    font-size: 2.5rem;
    font-size: 3.125vh;
    letter-spacing: .12em
  }

  .base ._03 .contents_body_cont_txt-l ._sub {
    font-size: 1.8rem;
    font-size: 2.25vh
  }

  .base ._03 .contents_body_cont_txt-l ._sub span {
    position: relative;
    left: .1875vh
  }

  .base ._03 .contents_body_cont_txt-s {
    height: 25.7rem;
    height: 32.125vh;
    letter-spacing: .083em
  }

  .base ._03 .contents_body_cont_img {
    position: absolute;
    bottom: -34.2rem;
    bottom: -42.75vh;
    left: 10.2rem;
    left: 12.75vh;
    margin: 0;
    width: 30rem;
    width: 37.5vh;
    z-index: 1
  }

  .base ._03 .point-l {
    top: inherit;
    bottom: -1.7rem;
    bottom: -2.125vh;
    left: -3.8rem;
    left: -4.75vh
  }

  .challenge {
    display: flex;
    flex-wrap: nowrap;
    flex-shrink: 0;
    flex-basis: auto;
    height: 100%
  }

  .challenge .challenge_inner {
    display: flex;
    flex-wrap: nowrap;
    flex-shrink: 0;
    flex-basis: auto;
    height: 100%;
    overflow: hidden
  }

  .challenge .challenge_inner:before {
    content: "";
    display: block;
    width: 110%;
    height: 100vh;
    background: url(../../vc-files/top/company/history/bg_frame_04.png) no-repeat;
    z-index: 1;
    background-size: contain;
    position: absolute;
    top: 0;
    left: -11.25vh;
    opacity: .3
  }

  .challenge .contents_head {
    background-image: url(../../vc-files/top/company/history/bg_07.jpg);
    z-index: 2
  }

  .challenge ._01 {
    background-image: url(../../vc-files/top/company/history/bg_08.png);
    z-index: 2
  }

  .challenge ._01 .contents_body_inner {
    padding: 0 5.6rem 0 3.8rem;
    padding: 0 7vh 0 4.75vh
  }

  .challenge ._01 .contents_body_cont {
    margin-top: auto;
    width: 100%
  }

  .challenge ._01 .contents_body_cont_block {
    margin: 1.5rem 0 0 20.6rem;
    margin: 1.875vh 0 0 25.75vh;
    width: 30.375vh;
    height: 20rem;
    height: 25vh;
    border-left: 3px solid #9b864f
  }

  .challenge ._01 .contents_body_cont_block_ttl {
    height: 20rem;
    height: 25vh;
    font-size: 3.6rem;
    font-size: 4.5vh;
    line-height: 1.11;
    margin-left: 0;
    padding-left: 1rem;
    padding-left: 1.25vh
  }

  .challenge ._01 .contents_body_cont_block_cont {
    height: 20rem;
    height: 25vh;
    border-color: #9b864f;
    -moz-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -ms-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    font-feature-settings: normal;
    flex-flow: column;
    border: none
  }

  .challenge ._01 .contents_body_cont_txt {
    width: 30.375vh
  }

  .challenge ._01 .contents_body_cont_txt-l {
    height: 20rem;
    height: 25vh;
    font-size: 2.5rem;
    font-size: 3.125vh;
    letter-spacing: .12em
  }

  .challenge ._01 .contents_body_cont_txt-s {
    height: 20rem;
    height: 25vh;
    letter-spacing: .083em
  }

  .challenge ._01 .contents_body_cont_img {
    position: absolute;
    top: -31.5rem;
    top: -39.375vh;
    left: 2.3rem;
    left: 2.875vh;
    margin: 0;
    width: 22.5rem;
    width: 28.125vh;
    z-index: 1
  }

  .challenge ._01 .point-l {
    top: -1.9rem;
    top: -2.375vh;
    left: -3.8rem;
    left: -4.75vh
  }

  .challenge ._02 .contents_body_inner {
    padding: 0 9.5rem 0 5.3rem;
    padding: 0 11.875vh 0 6.625vh
  }

  .challenge ._02 .contents_body_cont_block_cont {
    border-color: #9b864f
  }

  .challenge ._02 .contents_body_cont-01 {
    display: flex;
    align-items: flex-end;
    margin: 0;
    width: 18rem;
    width: 22.5vh
  }

  .challenge ._02 .contents_body_cont-01 .contents_body_cont_block {
    margin: 0 0 3.8rem 0;
    margin: 0 0 4.75vh 0
  }

  .challenge ._02 .contents_body_cont-01 .contents_body_cont_block:before {
    top: inherit;
    bottom: -3.8rem;
    bottom: -4.75vh;
    height: 3.8rem;
    height: 4.75vh
  }

  .challenge ._02 .contents_body_cont-01 .point {
    top: inherit;
    bottom: -1.3rem;
    bottom: -1.625vh
  }

  .challenge ._02 .contents_body_cont-02 {
    margin: auto 0 0 3.5rem;
    margin: auto 0 0 4.375vh
  }

  .challenge ._02 .contents_body_cont-02 .point-l {
    top: -2vh
  }

  .challenge .contents_body_cont-02 {
    margin: auto 0 0 35px;
    margin: auto 0 0 4.375vh;
    width: 29rem;
    width: 36.25vh
  }

  .challenge .contents_body_cont-02 .contents_body_cont_block {
    margin: 0;
    padding-top: 11.6rem;
    padding-top: 14.5vh
  }

  .challenge .contents_body_cont-02 .contents_body_cont_block:before {
    top: inherit;
    bottom: 0;
    height: 100%
  }

  .challenge .contents_body_cont-02 .contents_body_cont_block_img {
    position: absolute;
    top: -11.8rem;
    top: -14.75vh;
    left: 2.7rem;
    left: 3.375vh;
    width: 32rem;
    width: 40vh;
    z-index: 2
  }

  .challenge .contents_body_cont-02 .point-l {
    top: inherit;
    bottom: -1.5rem;
    bottom: -1.875vh
  }

  .challenge ._03 {
    background-image: url(../../vc-files/top/company/history/bg_09.png);
    z-index: 2
  }

  .challenge ._03 .contents_body_inner {
    padding: 0 24rem 0 6rem;
    padding: 0 30vh 0 7.5vh
  }

  .challenge ._03 .contents_body_cont {
    flex-flow: column
  }

  .challenge ._03 .contents_body_cont_block {
    top: 50%;
    margin: -3.8rem 0 0 0;
    margin: -4.75vh 0 0 0;
    padding: 0;
    width: auto;
    width: 24vh;
    height: 25vh;
    transform: translateY(-50%);
    border-left: 3px solid #9b864f
  }

  .challenge ._03 .contents_body_cont_block:before {
    top: 4.5rem;
    top: 5.625vh;
    height: calc(100% * 2)
  }

  .challenge ._03 .contents_body_cont_block+.contents_body_cont_txt {
    top: 50%;
    transform: translateY(-50%);
    margin: -8rem 0 0 0;
    margin: -10vh 0 0 0;
    width: 100%
  }

  .challenge ._03 .contents_body_cont_block_ttl {
    height: 20rem;
    height: 25vh;
    font-size: 3.6rem;
    font-size: 4.5vh;
    line-height: 1.11;
    margin-left: 0;
    padding-left: 1rem;
    padding-left: 1.25vh
  }

  .challenge ._03 .contents_body_cont_block_cont {
    height: 20rem;
    height: 25vh;
    border: none;
    -moz-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -ms-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    font-feature-settings: normal;
    flex-flow: column
  }

  .challenge ._03 .contents_body_cont_txt {
    margin-left: 18rem;
    margin-left: 22.5vh
  }

  .challenge ._03 .contents_body_cont_txt-l {
    height: 20rem;
    height: 25vh;
    font-size: 2.5rem;
    font-size: 3.125vh;
    letter-spacing: .12em;
    font-feature-settings: normal
  }

  .challenge ._03 .contents_body_cont_txt-s {
    height: 20rem;
    height: 25vh;
    letter-spacing: .083em
  }

  .challenge ._03 .contents_body_cont_img {
    position: absolute;
    margin: 0;
    bottom: -32rem;
    bottom: -40vh;
    left: 8rem;
    left: 10vh;
    width: 30rem;
    width: 37.5vh;
    z-index: 1
  }

  .challenge ._03 .point-l {
    top: inherit;
    bottom: -1.6rem;
    bottom: -2vh;
    left: -6.1rem;
    left: -7.625vh
  }

  .challenge ._04 .contents_body_inner {
    padding: 0 2.7rem 0 5.4rem;
    padding: 0 3.375vh 0 6.75vh
  }

  .challenge ._04 .contents_body_cont_block_cont {
    border-color: #9b864f
  }

  .challenge ._04 .contents_body_cont-01 {
    display: flex;
    align-items: flex-end;
    flex-flow: column;
    margin: 0;
    width: 18rem;
    width: 22.5vh
  }

  .challenge ._04 .contents_body_cont-01 .contents_body_cont_block {
    top: 50%;
    width: 18rem;
    width: 22.5vh;
    margin: 6.7rem 0 0 0;
    margin: 8.375vh 0 0 0;
    transform: translateY(-50%)
  }

  .challenge ._04 .contents_body_cont-01 .contents_body_cont_block:before {
    top: 7.7rem;
    top: 9.625vh;
    height: 100%
  }

  .challenge ._04 .contents_body_cont-01 .contents_body_cont_block+.contents_body_cont_txt {
    top: 50%;
    transform: translateY(-50%);
    margin: -1.3rem 0 0 0;
    margin: -1.625vh 0 0 0;
    width: 100%
  }

  .challenge ._04 .contents_body_cont-01 .point-l {
    top: inherit;
    bottom: -1.5rem;
    bottom: -1.875vh;
    left: 0
  }

  .challenge ._04 .contents_body_cont-02 {
    margin: auto 0 0 -5.1rem;
    margin: auto 0 0 -6.375vh
  }

  .challenge ._04 .contents_body_cont-02 .contents_body_cont_block {
    padding: 3rem 0 0 0;
    padding: 3.75vh 0 0 0
  }

  .challenge ._04 .contents_body_cont-02 .contents_body_cont_block_ttl {
    margin-top: -.3rem;
    margin-top: -.375vh
  }

  .challenge ._04 .contents_body_cont-02 .point-l {
    top: -1.5rem;
    top: -1.875vh
  }

  .challenge ._04 .contents_body_cont-03 {
    display: flex;
    align-items: flex-end;
    margin: 0 0 0 -15.8rem;
    margin: 0 0 0 -1.975vh;
    width: 19rem;
    width: 23.75vh
  }

  .challenge ._04 .contents_body_cont-03 .contents_body_cont_block {
    margin: 0 0 3.8rem 0;
    margin: 0 0 4.75vh 0
  }

  .challenge ._04 .contents_body_cont-03 .contents_body_cont_block:before {
    top: inherit;
    bottom: -3.8rem;
    bottom: -4.75vh;
    height: 3.8rem;
    height: 4.75vh
  }

  .challenge ._04 .contents_body_cont-03 .point-l {
    top: inherit;
    bottom: -1.5rem;
    bottom: -1.875vh
  }

  .established {
    display: flex;
    flex-wrap: nowrap;
    flex-shrink: 0;
    flex-basis: auto;
    height: 100%
  }

  .established .established_inner {
    display: flex;
    flex-wrap: nowrap;
    flex-shrink: 0;
    flex-basis: auto;
    height: 100%
  }

  .established .established_inner:before {
    content: "";
    display: block;
    width: 100%;
    height: 100vh;
    background: url(../../vc-files/top/company/history/bg_frame_01.png) no-repeat;
    z-index: 1;
    background-size: cover;
    position: absolute;
    top: 0;
    right: 0;
    opacity: .3
  }

  .established .contents_head {
    top: inherit;
    display: flex;
    flex-flow: column-reverse;
    justify-content: flex-end;
    padding: 5rem 1.5rem 1rem 2rem;
    width: 5.2rem;
    height: 100%;
    background-image: url(../../vc-files/top/company/history/bg_01.jpg);
    z-index: 2
  }

  .established .contents_head:before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: -8.5rem;
    height: 1px;
    background: rgba(255, 255, 255, 0.7);
    left: 0;
    width: 0
  }

  .established .contents_head.js-lineItem:before {
    width: 0
  }

  .established .contents_head.js-lineItem.is-lineIn:before {
    animation: lineInHorizontal-est .4s linear forwards
  }

  .established .contents_head_read {
    display: flex;
    flex-flow: row;
    flex-shrink: 0;
    flex-basis: auto;
    margin: 0;
    width: auto;
    font-size: 1.6rem;
    letter-spacing: .211111em
  }

  .established .contents_head_read:before {
    content: "";
    display: block;
    width: 3px;
    height: 24.2rem;
    position: absolute;
    top: 5rem;
    left: 1.3rem;
    background: #7d7d7d
  }

  .established .contents_head_read_main {
    padding: 0
  }

  .established .contents_head_ttl {
    top: 0;
    margin: 1.2rem 0 0 0;
    padding: 0;
    font-size: 1.6rem;
    letter-spacing: .211111em
  }

  .established .contents_head_ttl:before {
    content: none
  }

  .established ._01 .contents_body_cont {
    margin-top: auto
  }

  .established ._01 .contents_body_cont_block {
    padding: 3rem 0 0 0;
    padding: 3.75vh 0 0 0;
    margin: 0;
    border-left: 1px solid rgba(255, 255, 255, 0.6)
  }

  .established ._02 {
    background-image: url(../../vc-files/top/company/history/bg_02.png)
  }

  .established ._02 {
    z-index: 2
  }

  .established ._02 .contents_body_inner {
    padding: 0 6.8rem 0 3.2rem;
    padding: 0 8.5vh 0 4vh
  }

  .established ._02 .contents_body_cont_block {
    flex-shrink: 0;
    flex-basis: auto;
    padding-left: 1.5vh;
    width: 25vh;
    height: 25.7rem;
    height: 33.375vh
  }

  .established ._02 .contents_body_cont_block_ttl {
    height: 25.7rem;
    height: 33.375vh;
    font-size: 3.6rem;
    font-size: 4.5vh;
    line-height: 1.11;
    margin-left: 0;
    padding-left: 1rem;
    padding-left: 1.25vh
  }

  .established ._02 .contents_body_cont_block_cont {
    height: 25.7rem;
    height: 33.375vh;
    -moz-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -ms-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    font-feature-settings: normal;
    flex-flow: column;
    flex-shrink: 0;
    flex-basis: auto
  }

  .established ._02 .contents_body_cont_txt-l {
    height: 25.7rem;
    height: 33.375vh;
    font-size: 2.5rem;
    font-size: 3.125vh;
    letter-spacing: .12em
  }

  .established ._02 .contents_body_cont_txt-s {
    height: 25.7rem;
    height: 33.375vh;
    letter-spacing: .083em
  }

  .established ._02 .contents_body_cont_img {
    position: relative;
    width: 30rem;
    width: 37.5vh;
    margin: 3.3rem 0 0 11rem;
    margin: 4.125vh 0 0 13.75vh;
    z-index: 1
  }

  .established ._02 .contentBorder {
    margin: 7rem 0 0 35px;
    margin: 8.75vh 0 0 4.375vh
  }

  .established ._02 .point-l {
    top: inherit;
    bottom: -1.7rem;
    bottom: -2.125vh;
    left: -3.2rem;
    left: -4vh
  }

  .grow {
    display: flex;
    flex-wrap: nowrap;
    flex-shrink: 0;
    flex-basis: auto;
    height: 100%
  }

  .grow .grow_inner {
    display: flex;
    flex-wrap: nowrap;
    flex-shrink: 0;
    flex-basis: auto;
    height: 100%;
    overflow: hidden
  }

  .grow .grow_inner:before {
    content: "";
    display: block;
    width: 100%;
    height: 100vh;
    background: url(../../vc-files/top/company/history/bg_frame_03.png) no-repeat;
    z-index: 1;
    background-size: cover;
    position: absolute;
    top: 0;
    left: -38.75vh;
    opacity: .3
  }

  .grow .contents_head {
    background-image: url(../../vc-files/top/company/history/bg_06.jpg);
    z-index: 2
  }

  .grow .contents_body_cont {
    width: 18rem;
    width: 22.5vh
  }

  .grow .contents_body_cont-01 {
    margin-top: auto
  }

  .grow .contents_body_cont-01 .contents_body_cont_block {
    padding: 13.8rem 0 0 0;
    padding: 17.25vh 0 0 0;
    width: 29rem;
    width: 36.25vh
  }

  .grow .contents_body_cont-01 .contents_body_cont_block_ttl {
    margin-top: -.3rem;
    margin-top: -.375vh
  }

  .grow .contents_body_cont-01 .contents_body_cont_block_img {
    position: absolute;
    top: -11.8rem;
    top: -14.75vh;
    left: 2.2rem;
    left: 2.75vh;
    width: 32rem;
    width: 40vh;
    z-index: 1
  }

  .grow .contents_body_cont-01 .point-l {
    top: -1.7rem;
    top: -2.125vh
  }

  .grow .contents_body_cont-02 {
    margin: 0 0 0 20rem;
    margin: 0 0 0 25vh
  }

  .grow .contents_body_cont-02 .contents_body_cont_block {
    margin: 0 0 3.8rem 0;
    margin: 0 0 4.75vh 0
  }

  .grow .contents_body_cont-02 .contents_body_cont_block:before {
    top: inherit;
    bottom: -3.8rem;
    bottom: -4.75vh;
    height: 3.8rem;
    height: 4.75vh
  }

  .grow .contents_body_cont-02 .point-l {
    top: inherit;
    bottom: -1.5rem;
    bottom: -1.875vh
  }

  .grow .contents_body_cont-03 {
    margin: auto 0 0 -5.1rem;
    margin: auto 0 0 -6.375vh
  }

  .grow .contents_body_cont-03 .contents_body_cont_block {
    padding: 3rem 0 0 0;
    padding: 3.75vh 0 0 0
  }

  .grow .contents_body_cont-03 .contents_body_cont_block_ttl {
    margin-top: -.3rem;
    margin-top: -.375vh
  }

  .grow .contents_body_cont-03 .point-l {
    top: -1.5rem;
    top: -1.875vh
  }

  .grow .contents_body_cont-04 {
    flex-flow: column;
    margin: 0 0 0 -5rem;
    margin: 0 0 0 -6.25vh
  }

  .grow .contents_body_cont-04 .contents_body_cont_block {
    margin: 5.5rem 0 0 0;
    margin: 6.875vh 0 0 0;
    width: 18rem;
    width: 22.5vh;
    top: 50%;
    transform: translateY(-50%)
  }

  .grow .contents_body_cont-04 .contents_body_cont_block:before {
    top: 4.5rem;
    top: 5.625vh;
    height: calc(100% * 2)
  }

  .grow .contents_body_cont-04 .contents_body_cont_block+.contents_body_cont_txt {
    top: 50%;
    transform: translateY(-50%)
  }

  .grow .contents_body_cont-04 .point {
    top: inherit;
    bottom: -1.3rem;
    bottom: -1.625vh;
    left: 0
  }

  .grow .contents_body_cont-05 {
    margin: auto 0 0 -4.4rem;
    margin: auto 0 0 -5.5vh
  }

  .grow .contents_body_cont-05 .contents_body_cont_block {
    padding: 2.8rem 0 0 0;
    padding: 3.5vh 0 0 0
  }

  .grow .contents_body_cont-05 .point-l {
    top: -1.9rem;
    top: -2.375vh
  }

  .grow .contents_body_cont-06 {
    margin: 0 0 0 -5rem;
    margin: 0 0 0 -6.25vh
  }

  .grow .contents_body_cont-06 .contents_body_cont_block {
    margin: 0 0 3.8rem 0;
    margin: 0 0 4.75vh 0
  }

  .grow .contents_body_cont-06 .contents_body_cont_block:before {
    top: inherit;
    bottom: -3.8rem;
    bottom: -4.75vh;
    height: 3.8rem;
    height: 4.75vh
  }

  .grow .contents_body_cont-06 .point {
    top: inherit;
    bottom: -1.5rem;
    bottom: -1.875vh
  }

  .grow .contents_body_cont-07 {
    margin: auto 0 0 -4.4rem;
    margin: auto 0 0 -5.5vh
  }

  .grow .contents_body_cont-07 .contents_body_cont_block {
    padding: 2.8rem 0 0 0;
    padding: 3.5vh 0 0 0
  }

  .grow .contents_body_cont-07 .point-l {
    top: -1.9rem;
    top: -2.375vh
  }

  .grow .contents_body_cont-08 {
    margin: auto 0 0 4.9rem;
    margin: auto 0 0 6.125vh;
    width: 35rem;
    width: 43.75vh
  }

  .grow .contents_body_cont-08 .contents_body_cont_block {
    padding: 11.7rem 0 0 0;
    padding: 14.625vh 0 0 0
  }

  .grow .contents_body_cont-08 .contents_body_cont_block_img {
    position: absolute;
    width: 32rem;
    width: 40vh;
    top: -11.8rem;
    top: -14.75vh;
    left: 2.8rem;
    left: 3.5vh;
    z-index: 1
  }

  .grow .contents_body_cont-08 .point-l {
    top: -1.9rem;
    top: -2.375vh
  }

  .grow .contents_body_cont-09 {
    margin: 0 0 0 3.5rem;
    margin: 0 0 0 4.375vh
  }

  .grow .contents_body_cont-09 .contents_body_cont_block {
    margin: 0 0 3.8rem 0;
    margin: 0 0 4.75vh 0
  }

  .grow .contents_body_cont-09 .contents_body_cont_block:before {
    top: inherit;
    bottom: -3.8rem;
    bottom: -4.75vh;
    height: 3.8rem;
    height: 4.75vh
  }

  .grow .contents_body_cont-09 .point-l {
    top: inherit;
    bottom: -1.5rem;
    bottom: -1.875vh
  }

  .grow .contents_body_cont-10 {
    margin: auto 0 0 -5rem;
    margin: auto 0 0 -6.25vh
  }

  .grow .contents_body_cont-10 .contents_body_cont_block {
    padding: 2.8rem 0 0 0;
    padding: 3.5vh 0 0 0
  }

  .grow .contents_body_cont-11 {
    margin: 0 0 0 -5rem;
    margin: 0 0 0 -6.25vh
  }

  .grow .contents_body_cont-11 .contents_body_cont_block {
    margin: 0 0 3.8rem 0;
    margin: 0 0 4.75vh 0
  }

  .grow .contents_body_cont-11 .contents_body_cont_block:before {
    top: inherit;
    bottom: -3.8rem;
    bottom: -4.75vh;
    height: 3.8rem;
    height: 4.75vh
  }

  .grow .contents_body_cont-11 .point {
    top: inherit;
    bottom: -1.4rem;
    bottom: -1.75vh
  }

  .grow .contents_body_cont-12 {
    margin: auto 0 0 -4.6rem;
    margin: auto 0 0 -5.75vh
  }

  .grow .contents_body_cont-12 .contents_body_cont_block {
    padding: 2.8rem 0 0 0;
    padding: 3.5vh 0 0 0
  }

  .grow .contents_body_cont-12 .point-l {
    top: -1.9rem;
    top: -2.375vh
  }

  .grow .contents_body_cont-02,
  .grow .contents_body_cont-06,
  .grow .contents_body_cont-09,
  .grow .contents_body_cont-11 {
    display: flex;
    align-items: flex-end
  }

  .grow .contents_body_cont-03,
  .grow .contents_body_cont-05,
  .grow .contents_body_cont-07,
  .grow .contents_body_cont-08,
  .grow .contents_body_cont-10,
  .grow .contents_body_cont-12 {
    margin-top: auto
  }

  .lateYears {
    display: flex;
    flex-wrap: nowrap;
    flex-shrink: 0;
    flex-basis: auto;
    height: 100%
  }

  .lateYears .lateYears_inner {
    display: flex;
    flex-wrap: nowrap;
    flex-shrink: 0;
    flex-basis: auto;
    padding: 0 53rem 0 0;
    padding: 0 66.25vh 0 0;
    padding: 0;
    height: 100%
  }

  .lateYears .lateYears_inner:before {
    content: "";
    display: block;
    width: 100%;
    height: 100vh;
    background: url(../../vc-files/top/company/history/bg_frame_05.png) no-repeat;
    z-index: 1;
    background-size: contain;
    position: absolute;
    top: 0;
    left: 0
  }

  .lateYears .contents_head {
    background-image: url(../../vc-files/top/company/history/bg_10.jpg);
    z-index: 1
  }

  .lateYears .contents_body_cont {
    width: 18rem;
    width: 22.5vh
  }

  .lateYears .contents_body_cont_block_cont {
    border-color: #3071b9
  }

  .lateYears ._01 .contents_body_inner {
    padding: 4.7rem 3.6rem 4rem 3.9rem;
    padding: 5.875vh 4.5vh 5vh 4.875vh
  }

  .lateYears ._01 .contents_body_cont.contents_body_cont-02 .point-l {
    top: -2vh
  }

  .lateYears ._01 .contents_body_cont-01 {
    margin-top: auto
  }

  .lateYears ._01 .contents_body_cont-01 .contents_body_cont_block {
    padding: 13.5rem 0 0 0;
    padding: 16.875vh 0 0 0;
    width: 29rem;
    width: 36.25vh
  }

  .lateYears ._01 .contents_body_cont-01 .contents_body_cont_block_ttl {
    margin-top: -.3rem;
    margin-top: -.375vh
  }

  .lateYears ._01 .contents_body_cont-01 .contents_body_cont_block_img {
    position: absolute;
    top: -12.2rem;
    top: -15.25vh;
    left: 2.7rem;
    left: 3.375vh;
    width: 32rem;
    width: 40vh;
    z-index: 1
  }

  .lateYears ._01 .contents_body_cont-01 .contents_body_cont_txt {
    width: 29rem;
    width: 36.25vh
  }

  .lateYears ._01 .contents_body_cont-01 .point-l {
    top: -2rem;
    top: -2.5vh
  }

  .lateYears ._01 .contents_body_cont-02 {
    margin: auto 0 0 20.5rem;
    margin: auto 0 0 25.625vh
  }

  .lateYears ._01 .contents_body_cont-02 .contents_body_cont_block {
    padding: 3rem 0 0 0;
    padding: 3.75vh 0 0 0
  }

  .lateYears ._01 .contents_body_cont-02 .contents_body_cont_block_ttl {
    margin-top: -.3rem;
    margin-top: -.375vh
  }

  .lateYears ._01 .contents_body_cont-02 .point-l {
    top: -2rem;
    top: -2.5vh
  }

  .lateYears ._01 .contents_body_cont-03 {
    flex-flow: column;
    margin: 0 0 0 5.4rem;
    margin: 0 0 0 6.75vh
  }

  .lateYears ._01 .contents_body_cont-03 .contents_body_cont_block {
    margin: -.5rem 0 -2rem 0;
    margin: -.625vh 0 -2.5vh 0;
    width: 18rem;
    width: 22.5vh;
    top: 50%;
    transform: translateY(-50%)
  }

  .lateYears ._01 .contents_body_cont-03 .contents_body_cont_block:before {
    top: 6.8rem;
    top: 8.5vh;
    height: calc(100% * 2)
  }

  .lateYears ._01 .contents_body_cont-03 .contents_body_cont_block .contents_body_cont_txt {
    top: inherit;
    transform: none
  }

  .lateYears ._01 .contents_body_cont-03 .contents_body_cont_txt {
    top: 50%;
    transform: translateY(-50%)
  }

  .lateYears ._01 .contents_body_cont-03 .point-l {
    top: inherit;
    bottom: -1.5rem;
    bottom: -1.875vh;
    left: 0
  }

  .lateYears ._01 .contents_body_cont-04 {
    margin: auto 0 0 5.5rem;
    margin: auto 0 0 6.875vh
  }

  .lateYears ._01 .contents_body_cont-04 .contents_body_cont_block {
    padding: 13.5rem 0 0 0;
    padding: 16.875vh 0 0 0;
    width: 29rem;
    width: 36.25vh
  }

  .lateYears ._01 .contents_body_cont-04 .contents_body_cont_block_ttl {
    margin-top: -.3rem;
    margin-top: -.375vh
  }

  .lateYears ._01 .contents_body_cont-04 .contents_body_cont_block_img {
    position: absolute;
    top: -12.2rem;
    top: -15.25vh;
    left: 3.7rem;
    left: 4.625vh;
    width: 32rem;
    width: 40vh;
    z-index: 1
  }

  .lateYears ._01 .contents_body_cont-04 .contents_body_cont_txt {
    width: 29rem;
    width: 36.25vh
  }

  .lateYears ._01 .contents_body_cont-04 .point-l {
    top: -2rem;
    top: -2.5vh
  }

  .lateYears ._01 .contents_body_cont-05 {
    display: flex;
    align-items: flex-end;
    margin: 0 0 0 21.5rem;
    margin: 0 0 0 26.875vh;
    width: 30.2rem;
    width: 37.75vh
  }

  .lateYears ._01 .contents_body_cont-05 .contents_body_cont_block {
    margin: 0 0 14.5rem 0;
    margin: 0 0 18.125vh 0
  }

  .lateYears ._01 .contents_body_cont-05 .contents_body_cont_block:before {
    top: inherit;
    bottom: -12.8rem;
    bottom: -16vh;
    height: 12.8rem;
    height: 16vh
  }

  .lateYears ._01 .contents_body_cont-05 .contents_body_cont_block_img {
    position: absolute;
    top: 15.5rem;
    top: 19.375vh;
    left: 4rem;
    left: 5vh;
    width: 16rem;
    width: 20vh
  }

  .lateYears ._01 .contents_body_cont-05 .point-l {
    top: inherit;
    bottom: -1.5rem;
    bottom: -1.875vh
  }

  .lateYears ._01 .contents_body_cont-06 {
    margin: auto 0 0 -6.5rem;
    margin: auto 0 0 -8.125vh;
    width: 30.2rem;
    width: 37.75vh
  }

  .lateYears ._01 .contents_body_cont-06 .contents_body_cont_block {
    padding: 13.6rem 0 0 0;
    padding: 17vh 0 0 0
  }

  .lateYears ._01 .contents_body_cont-06 .contents_body_cont_block_ttl {
    margin-top: -.3rem;
    margin-top: -.375vh
  }

  .lateYears ._01 .contents_body_cont-06 .contents_body_cont_block_img {
    z-index: 2;
    position: absolute;
    top: -11.8rem;
    top: -14.75vh;
    left: 2.7rem;
    left: 3.375vh;
    width: 49.2rem;
    width: 61.5vh
  }

  .lateYears ._01 .contents_body_cont-06 .point-l {
    top: -1.5rem;
    top: -1.875vh
  }

  .lateYears ._01 .contents_body_cont-07 {
    display: flex;
    align-items: flex-end;
    margin: 0 0 0 25.5rem;
    margin: 0 0 0 31.875vh;
    width: 30.2rem;
    width: 37.75vh
  }

  .lateYears ._01 .contents_body_cont-07 .contents_body_cont_block {
    margin: 0 0 14.5rem 0;
    margin: 0 0 18.125vh 0
  }

  .lateYears ._01 .contents_body_cont-07 .contents_body_cont_block:before {
    top: inherit;
    bottom: -12.8rem;
    bottom: -16vh;
    height: 12.8rem;
    height: 16vh
  }

  .lateYears ._01 .contents_body_cont-07 .contents_body_cont_block_img {
    z-index: 2;
    position: absolute;
    top: 12.2rem;
    top: 15.25vh;
    left: 3.9rem;
    left: 4.875vh;
    width: 32rem;
    width: 40vh
  }

  .lateYears ._01 .contents_body_cont-07 .point-l {
    top: inherit;
    bottom: -1.5rem;
    bottom: -1.875vh
  }

  .lateYears ._01 .contents_body_cont-08 {
    margin: auto 0 0 9.5rem;
    margin: auto 0 0 11.875vh;
    width: 19.7rem;
    width: 24.625vh
  }

  .lateYears ._01 .contents_body_cont-08 .contents_body_cont_block {
    padding: 3rem 0 0 0;
    padding: 3.75vh 0 0 0
  }

  .lateYears ._01 .contents_body_cont-08 .contents_body_cont_block_ttl {
    margin-top: -.3rem;
    margin-top: -.375vh
  }

  .lateYears ._01 .contents_body_cont-08 .point-l {
    top: -2rem;
    top: -2.5vh
  }

  .lateYears ._01 .contents_body_cont-09 {
    flex-flow: column;
    margin: 0 0 0 -6.8rem;
    margin: 0 0 0 -8.5vh;
    width: 20.7rem;
    width: 25.875vh
  }

  .lateYears ._01 .contents_body_cont-09 .contents_body_cont_block {
    margin: .8rem 0 -2rem 0;
    margin: 1vh 0 -2.5vh 0;
    width: 18rem;
    width: 22.5vh;
    top: 50%;
    transform: translateY(-50%)
  }

  .lateYears ._01 .contents_body_cont-09 .contents_body_cont_block:before {
    top: 6.8rem;
    top: 8.5vh;
    height: calc(100% * 2)
  }

  .lateYears ._01 .contents_body_cont-09 .contents_body_cont_block .contents_body_cont_txt {
    top: inherit;
    margin: inherit;
    transform: none
  }

  .lateYears ._01 .contents_body_cont-09 .contents_body_cont_txt {
    top: 50%;
    margin-top: 4rem;
    margin-top: 5vh;
    transform: translateY(-50%)
  }

  .lateYears ._01 .contents_body_cont-09 .point-l {
    top: inherit;
    bottom: -1.5rem;
    bottom: -1.875vh;
    left: 0
  }

  .lateYears ._02 {
    background-image: url(../../vc-files/top/company/history/bg_11.png);
    z-index: 2
  }

  .lateYears ._02 .contents_body_inner {
    padding: 0 25rem 0 6rem;
    padding: 0 31.25vh 0 7.5vh
  }

  .lateYears ._02 .contents_body_cont {
    flex-flow: column;
    width: 20rem;
    width: 25vh
  }

  .lateYears ._02 .contents_body_cont_block {
    top: 50%;
    margin: -2.2rem 0 0 0;
    margin: -2.75vh 0 0 0;
    padding: 0;
    width: auto;
    width: 21.625vh;
    height: 25.2rem;
    height: 31.5vh;
    transform: translateY(-50%)
  }

  .lateYears ._02 .contents_body_cont_block:before {
    top: 4.5rem;
    top: 5.625vh;
    height: calc(100% * 2)
  }

  .lateYears ._02 .contents_body_cont_block_ttl {
    height: 25.2rem;
    height: 31.5vh;
    font-size: 3.6rem;
    font-size: 4.5vh;
    line-height: 1.11;
    margin-left: 0;
    padding-left: 1rem;
    padding-left: 1.25vh
  }

  .lateYears ._02 .contents_body_cont_block_cont {
    height: 25.2rem;
    height: 31.5vh;
    border-color: #3071b9;
    -moz-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -ms-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    font-feature-settings: normal;
    flex-flow: column
  }

  .lateYears ._02 .contents_body_cont_txt {
    top: 50%;
    width: 100%;
    margin: -8rem 0 0 0;
    margin: -10vh 0 0 0;
    transform: translateY(-50%)
  }

  .lateYears ._02 .contents_body_cont_txt-l {
    height: 25.2rem;
    height: 31.5vh;
    font-size: 2.5rem;
    font-size: 3.125vh;
    letter-spacing: .12em
  }

  .lateYears ._02 .contents_body_cont_txt-s {
    height: 25.2rem;
    height: 31.5vh;
    letter-spacing: .083em
  }

  .lateYears ._02 .contents_body_cont_img {
    position: absolute;
    margin: 0;
    bottom: -31.5rem;
    bottom: -39.375vh;
    left: 15.5rem;
    left: 19.375vh;
    width: 22.5rem;
    width: 28.125vh;
    z-index: 1
  }

  .lateYears ._02 .point-l {
    top: inherit;
    bottom: -1.6rem;
    bottom: -2vh;
    left: -5.9rem;
    left: px9vh(-52, 800)
  }

  .lateYears ._03 .contents_body_inner {
    padding: 3.3rem 9.3rem 4rem 3.8rem;
    padding: 4.125vh 11.625vh 5vh 4.75vh
  }

  .lateYears ._03 .contents_body_cont-01 {
    margin-top: auto
  }

  .lateYears ._03 .contents_body_cont-01 .contents_body_cont_block {
    padding: 14rem 0 0 0;
    padding: 17.5vh 0 0 0;
    width: 29rem;
    width: 36.25vh
  }

  .lateYears ._03 .contents_body_cont-01 .contents_body_cont_block_ttl {
    margin-top: -.3rem;
    margin-top: -.375vh
  }

  .lateYears ._03 .contents_body_cont-01 .contents_body_cont_block_img {
    position: absolute;
    top: -34.9rem;
    top: -43.625vh;
    left: 2.7rem;
    left: 3.375vh;
    width: 49.4rem;
    width: 61.75vh;
    z-index: 1
  }

  .lateYears ._03 .contents_body_cont-01 .contents_body_cont_txt {
    width: 30rem;
    width: 37.5vh
  }

  .lateYears ._03 .contents_body_cont-01 .point-l {
    top: -1.5rem;
    top: -1.875vh
  }

  .lateYears ._03 .contents_body_cont-02 {
    margin: auto 0 0 37.5rem;
    margin: auto 0 0 46.875vh
  }

  .lateYears ._03 .contents_body_cont-02 .contents_body_cont_block {
    padding: 3.8rem 0 0 0;
    padding: 4.75vh 0 0 0;
    width: 29rem;
    width: 36.25vh
  }

  .lateYears ._03 .contents_body_cont-02 .contents_body_cont_block_ttl {
    margin-top: -.3rem;
    margin-top: -.375vh
  }

  .lateYears ._03 .contents_body_cont-02 .contents_body_cont_txt {
    width: 30rem;
    width: 37.5vh
  }

  .lateYears ._03 .contents_body_cont-02 .point-l {
    top: -1.5rem;
    top: -1.875vh
  }

  .lateYears ._03 .contents_body_cont-03 {
    display: flex;
    align-items: flex-end;
    margin: 0 0 0 5.3rem;
    margin: 0 0 0 6.625vh;
    width: 31.7rem;
    width: 39.625vh
  }

  .lateYears ._03 .contents_body_cont-03 .contents_body_cont_block {
    margin: 0 0 14rem 0;
    margin: 0 0 17.5vh 0
  }

  .lateYears ._03 .contents_body_cont-03 .contents_body_cont_block:before {
    top: inherit;
    bottom: -12.8rem;
    bottom: -16vh;
    height: 12.8rem;
    height: 16vh
  }

  .lateYears ._03 .contents_body_cont-03 .contents_body_cont_block_img {
    z-index: 2;
    position: absolute;
    top: 15.4rem;
    top: 19.25vh;
    left: 3.9rem;
    left: 4.875vh;
    width: 32rem;
    width: 40vh
  }

  .lateYears ._03 .contents_body_cont-03 .point-l {
    top: inherit;
    bottom: -1.5rem;
    bottom: -1.875vh
  }

  .lateYears ._04 {
    background-image: url(../../vc-files/top/company/history/bg_12.png);
    z-index: 2
  }

  .lateYears ._06 {
    background-image: url(../../vc-files/top/company/history/bg_img_23.png);
    z-index: 2
  }

  .lateYears ._04 .contents_body_inner {
    padding: 0 39rem 0 6rem;
    padding: 0 48.75vh 0 7.5vh
  }

  .lateYears ._04 .contents_body_cont {
    width: 100%;
    margin-top: auto;
    z-index: 1
  }

  .lateYears ._04 .contents_body_cont_block {
    top: 50%;
    top: 0;
    margin: -3.5rem 0 0 0;
    margin: -4.375vh 0 0 0;
    padding: 0;
    width: auto;
    width: 17.5vh;
    height: 25.2rem;
    height: 31.5vh;
    transform: translateY(-50%)
  }

  .lateYears ._04 .contents_body_cont_block:before {
    top: 4.5rem;
    top: 5.625vh;
    height: calc(100% * 2)
  }

  .lateYears ._04 .contents_body_cont_block_ttl {
    height: 26.2rem;
    height: 32.75vh;
    font-size: 3.6rem;
    font-size: 4.5vh;
    line-height: 1.11;
    margin-left: 0;
    padding-left: 1rem;
    padding-left: 1.25vh
  }

  .lateYears ._04 .contents_body_cont_block_cont {
    height: 26.2rem;
    height: 32.75vh;
    border-color: #3071b9;
    -moz-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -ms-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    font-feature-settings: normal;
    flex-flow: column
  }

  .lateYears ._04 .contents_body_cont_txt {
    top: 50%;
    width: 100%;
    margin: -28.5rem 0 0 0;
    margin: -35.625vh 0 0 0;
    transform: translateY(-50%)
  }

  .lateYears ._04 .contents_body_cont_txt:last-of-type {
    margin: 0
  }

  .lateYears ._04 .contents_body_cont_txt-l {
    height: 26.2rem;
    height: 32.75vh;
    font-size: 2.5rem;
    font-size: 3.125vh;
    letter-spacing: .12em
  }

  .lateYears ._04 .contents_body_cont_txt-s {
    height: 26.2rem;
    height: 32.75vh;
    letter-spacing: .083em
  }

  .lateYears ._04 .contents_body_cont_img {
    position: absolute;
    width: 20.5rem;
    width: 25.625vh;
    z-index: 1;
    top: -36.25vh;
    left: 24.375vh
  }

  .lateYears ._04 .point-l {
    top: 0;
    left: -6rem;
    left: -7.5vh;
    margin-top: -1.9rem;
    margin-top: -2.375vh
  }

  .lateYears ._04 .js-lineItem:before {
    width: 0
  }

  .lateYears ._04 .js-lineItem.is-lineIn:before {
    animation: lineInHorizontal-lateYears .8s linear forwards
  }

  .lateYears ._05 .contents_body_inner {
    /* padding: 4.4rem 5.5rem 7rem 3.8rem;
    padding: 5.5vh 6.875vh 8.75vh 4.75vh;
    padding: 5.5vh 49.125vh 8.75vh 4.75vh; */
    padding: 5.5vh 11.625vh 8.75vh 4.75vh;
  }

  .lateYears ._05 .contents_body_cont {
    margin-top: auto;
    width: 30.2rem;
    width: 37.75vh
  }

  .lateYears ._05 .contents_body_cont_block {
    padding-top: 12.7rem;
    padding-top: 15.875vh
  }

  .lateYears ._05 .contents_body_cont_block_img {
    z-index: 1;
    position: absolute;
    top: -33.9rem;
    top: -42.375vh;
    left: 3.7rem;
    left: 4.625vh;
    width: 32rem;
    width: 40vh
  }

  .lateYears ._05 .point-l {
    top: -.8rem;
    top: -1vh
  }

  .lateYears ._05 .contents_body_cont-02 {
    display: flex;
    align-items: flex-end;
    margin: 0 0 0 9.4rem;
    margin: 0 0 0 11.75vh;
    width: 37.4rem;
    width: 46.75vh
  }

  .lateYears ._05 .contents_body_cont-02 .contents_body_cont_block {
    margin: 0 0 13rem 0;
    margin: 0 0 16.25vh 0
  }

  .lateYears ._05 .contents_body_cont-02 .contents_body_cont_block:before {
    top: inherit;
    bottom: -14.2rem;
    bottom: -17.75vh;
    height: 14.2rem;
    height: 17.75vh
  }

  .lateYears ._05 .contents_body_cont-02 .contents_body_cont_block_img {
    z-index: 2;
    position: absolute;
    top: 28.6rem;
    top: 35.75vh;
    left: 3.9rem;
    left: 4.875vh;
    width: 32rem;
    width: 40vh
  }

  .lateYears ._05 .contents_body_cont-02 .point-l {
    top: inherit;
    bottom: -3rem;
    bottom: -3.75vh
  }

  .lateYears ._05 .contents_body_cont-03 {
    margin: auto 0 0 20px;
    margin: auto 0 0 2.5vh
  }

  .lateYears ._05 .contents_body_cont-03 .contents_body_cont_block {
    padding: 13.8rem 0 0 0;
    padding: 17.25vh 0 0 0;
    width: 30rem;
    width: 37.5vh
  }

  .lateYears ._05 .contents_body_cont-03 .contents_body_cont_block_ttl {
    margin-top: -.3rem;
    margin-top: -.375vh
  }

  .lateYears ._05 .contents_body_cont-03 .contents_body_cont_block_img {
    position: absolute;
    top: -11.8rem;
    top: -14.75vh;
    left: 4rem;
    left: 5vh;
    width: 32rem;
    width: 40vh;
    z-index: 1
  }

  .lateYears ._05 .contents_body_cont-03 .point-l {
    top: -.5rem;
    top: -.625vh
  }

  .lateYears ._05 .js-lineItem:before {
    width: 0
  }

  .lateYears ._05 .js-lineItem.is-lineIn:before {
    animation: lineInHorizontal-lateYears .8s linear forwards
  }

  .fv .fv_inner {
    padding: 11rem 4rem 0
  }

  .fv .c-ttl_under-line-center {
    margin-top: 10.6rem
  }

  .fv .bgFrame {
    top: -10.9rem;
    left: -5rem;
    width: calc(100% + 5rem + 110px);
    height: 37.3rem
  }

  .fv .bgFrame .bgFrame_inner {
    bottom: -9.5rem;
    left: -.5rem;
    width: 100%;
    height: 339%
  }

  .companyHistoryPage .l-wraper {
    width: calc(100% - 24rem);
    left: 0
  }

  .companyHistoryPage .l-contentColumn-main {
    position: relative;
}

.companyHistoryPage .l-contentColumn-main::before {
    content: "";
    position: absolute;
    top: 86px;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #e9eef2;
    z-index: -1;
}
.lateYears ._05 .contents_body_cont_block_img,
.lateYears ._03 .contents_body_cont-01 .contents_body_cont_block_img,
.base ._02 .contents_body_cont_img {
  top: -40vh;
}
  /* .companyHistoryPage .l-contentColumn-main {
    background: #e9eef2
  } */

  .companyHistoryPage .fixedLineWrap {
    position: relative
  }

  .companyHistoryPage .scrollmagic-pin-spacer {
    margin: 0 !important
  }

  .companyHistoryPage .js-lineItem:before {
    width: 0
  }

  .companyHistoryPage .js-lineItem.is-lineIn:before {
    animation: lineInHorizontal .8s linear forwards
  }

  .kv {
    height: 100%
  }

  .kv .kv_inner {
    padding: 5.4rem 3rem 6rem;
    padding: 6.75vh 3.75vh 7.5vh;
    width: 89rem;
    height: 100%;
    background-image: url(../../vc-files/top/company/history/kv.jpg)
  }

  .kv .kv_ttl {
    width: 8rem;
    width: 10vh
  }

  .kv .kv_ttl_sub {
    font-size: 2.6rem;
    font-size: 3.25vh
  }

  .kv .kv_ttl_main {
    padding-top: 9.2rem;
    padding-top: 11.5vh;
    font-size: 3.8rem;
    font-size: 4.75vh
  }

  .kv .catch {
    left: -1.5rem;
    left: -1.875vh;
    font-size: 15.3rem;
    font-size: 19.125vh
  }

  .kv .logo {
    width: 20.875vh;
    margin: 7.125vh auto 0
  }

  .kv .kv_txt {
    margin: 6rem auto 0;
    margin: 7.5vh auto 0;
    width: 60.2rem;
    width: 75.25vh;
    font-size: 1.3rem;
    font-size: 1.625vh;
    line-height: 1.54
  }

  .kv .kv_scroll {
    position: absolute;
    top: 50%;
    right: 0;
    margin: -7.3rem 0 0 0;
    margin: -9.125vh 0 0 0;
    width: auto;
    width: 13.25vh;
    transform: translateY(-50%)
  }

  .kv .kv_scroll_txt {
    margin-left: .25vh;
    width: 3.25vh;
    font-size: 3rem;
    font-size: 3.75vh;
    font-weight: 500;
    line-height: 1.1;
    letter-spacing: .12em;
    color: #0f2e4c
  }

  .kv .point {
    bottom: -3.7rem;
    bottom: -4.625vh;
    left: 0;
    width: 3.25vh;
    height: 3.25vh;
    transform: none
  }

  .kv .point:before {
    top: 50%;
    left: 2rem;
    left: 2.5vh;
    width: 10.6rem;
    width: 13.25vh;
    height: 1px;
    transform: translateY(-50%);
    z-index: -1
  }

  .kv .js-lineItem:before {
    width: 0
  }

  .kv .js-lineItem.is-lineIn:before {
    animation: lineInHorizontal-kv .5s linear forwards
  }

  .kv .kv_scroll_icon {
    top: 15rem;
    top: 18.75vh;
    left: .375vh;
    width: 2rem;
    width: 2.5vh;
    height: 4.84rem;
    height: 6.05vh;
    background-image: url(../../vc-files/top/company/history/icon_mouse.png);
    transform: translateY(0);
    animation: mouseAttention 2s ease-out infinite
  }

  .companyPager .companyPager_list_item_link {
    padding: 2.05rem 0
  }

  .companyPager .companyPager_list_item_link:after {
    width: 100%;
    transform: translateX(-80%);
    transition: .4s ease-out
  }

  .recruit .bgFrame {
    width: 136.5rem;
    height: 106.2rem;
    top: -5.4rem;
    left: -7.7rem
  }

  .recruit .bg_frame {
    fill: #fafafa
  }

  .recruit .recruit_cont {
    display: flex
  }

  .recruit .recruit_head {
    flex-basis: 72rem
  }

  .recruit .recruit_body {
    position: relative;
    flex-grow: 1;
    padding: 10.5rem 4.2rem 10rem 5.8rem;
    background: #f7f7f7;
    overflow: hidden
  }

  .recruit .recruit_body .bgFrame {
    left: -79.7rem
  }

  .recruit .recruit_body .bg_frame {
    fill: #f2f2f2;
    opacity: 1
  }

  .recruit .c-ttl_head {
    padding: 0
  }

  .recruit .c-ttl-line-row:before {
    left: -5.8rem;
    height: 8rem
  }

  .recruit .c-txt {
    margin-top: 4.7rem;
    line-height: 2
  }

  .recruit strong {
    font-size: 1.8rem;
    line-height: 1.6
  }

  .recruit .c-button {
    margin: 4.4rem 0 0
  }

/* 外枠：高さをヘッダー分引いた100%にする */
.l-contentColumn-main {
    width: 100%;
    height: calc(100vh - 86px);
    overflow: hidden;
    margin-top: 86px; /* ヘッダーの下から開始 */
}

/* 中身：子要素を横一列に並べる */
.l-contentColumn-main_inner {
    display: flex;
    height: 100%;
    will-change: transform;
}

/* 各セクションの高さも100%に */
.l-contentColumn-main_inner > section {
    height: 100%;
    flex-shrink: 0; /* 幅が勝手に縮まないように固定 */
}

/* 文字が大きすぎてはみ出している場合 */
.contents_body_cont_txt-l {
    font-size: 1.7vh; /* 少し小さく調整 */
    line-height: 1.4;
}
.contents_body_cont_txt {
  margin-top: 1vh;
  font-size: 1.5vh;
}
.lateYears ._01 .contents_body_cont-04 .contents_body_cont_block_ttl {
  /* font-size: 1.6vh; */
}
/* 画像が大きすぎる場合 */
.contents_body_cont_img img,
.contents_body_cont_block_img img {
    max-height: 45vh; /* 画像の高さを画面高の40%までに制限する */
    width: auto;
}

/* 上下の余白を詰める */
.contents_body {
    padding-top: 20px;
    padding-bottom: 20px;
}
.lateYears ._04 .contents_body_cont_block {
  top: -40px;
}
}

@media only screen and (max-width: 767px) {
  .companyHistoryPage .l-contentColumn-aside {
    position: absolute;
    top: 0
  }

  .companyHistoryPage .l-contentColumn-aside .asideCategory-l {
    transition: color .3s ease-out, height .1s ease-out, background .3s ease-out
  }

  .companyHistoryPage .l-contentColumn-aside.is-asideSticky {
    position: fixed;
    top: 6.5rem
  }

  .companyHistoryPage .l-contentColumn-aside.is-asideSticky .asideCategory-l {
    height: 4rem;
    color: #fff;
    background: #3071b9
  }

  .contents_body_cont+.contents_body_cont {
    margin-top: 3.2rem
  }

  .contents_head:before {
    display: block;
    z-index: 1;
    position: absolute;
    width: 1px;
    height: 0;
    background: rgba(255, 255, 255, 0.6);
    content: "";
    top: 0;
    left: 3.4rem
  }

  .base ._02 .contents_body_cont_txt-l {
    -moz-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -ms-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    font-feature-settings: normal
  }

  .base ._02 .contents_body_cont_txt-s {
    -moz-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -ms-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    font-feature-settings: normal
  }

  .base ._03 .contents_body_cont_txt-l {
    -moz-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -ms-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    font-feature-settings: normal
  }

  .base ._03 .contents_body_cont_txt-s {
    -moz-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -ms-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    font-feature-settings: normal
  }

  .challenge ._01 .contents_body_cont_txt-l {
    -moz-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -ms-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    font-feature-settings: normal
  }

  .challenge ._01 .contents_body_cont_txt-s {
    -moz-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -ms-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    font-feature-settings: normal
  }

  .challenge ._03 .contents_body_cont_txt-l {
    -moz-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -ms-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    font-feature-settings: normal
  }

  .challenge ._03 .contents_body_cont_txt-s {
    -moz-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -ms-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    font-feature-settings: normal
  }

  .established ._02 .contents_body_cont_txt-l {
    -moz-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -ms-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    font-feature-settings: normal
  }

  .established ._02 .contents_body_cont_txt-s {
    -moz-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -ms-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    font-feature-settings: normal
  }

  .lateYears ._02 .contents_body_cont_txt-l {
    -moz-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -ms-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    font-feature-settings: normal
  }

  .lateYears ._02 .contents_body_cont_txt-s {
    -moz-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -ms-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    font-feature-settings: normal
  }

  .lateYears ._04 .contents_body_cont_txt-l {
    -moz-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -ms-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    font-feature-settings: normal
  }

  .lateYears ._04 .contents_body_cont_txt-s {
    -moz-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -ms-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    font-feature-settings: normal
  }

  .lateYears ._04 .js-lineItem:before {
    height: 0
  }

  .lateYears ._04 .js-lineItem.is-lineIn:before {
    animation: lineInVertical-lateYears .8s linear forwards
  }

  .lateYears ._05 .js-lineItem:before {
    height: 0
  }

  .lateYears ._05 .js-lineItem.is-lineIn:before {
    animation: lineInVertical-lateYears .8s linear forwards
  }

  .companyHistoryPage .l-wraper:after,
  .companyHistoryPage .l-wraper:before {
    height: calc(100% + 2.6rem)
  }

  .companyHistoryPage .js-lineItem:before {
    height: 0
  }

  .companyHistoryPage .js-lineItem.is-lineIn:before {
    animation: lineInVertical .8s linear forwards
  }

  .kv .js-lineItem:before {
    height: 0
  }

  .kv .js-lineItem.is-lineIn:before {
    animation: lineInVertical-kv .4s linear forwards
  }

  .recruit .recruit_inner {
    overflow: hidden
  }
}

@media (-ms-high-contrast: none),
(-ms-high-contrast: active) {
  .base ._02 .contents_body_cont_block {
    width: 27vh;
    border-left: 3px solid #67554b
  }

  .base ._02 .contents_body_cont_block_cont {
    padding: 0;
    border: none
  }

  .challenge ._01 .contents_body_cont_block,
  .challenge ._03 .contents_body_cont_block {
    border-left: 3px solid #9b864f
  }

  .challenge ._01 .contents_body_cont_block_cont,
  .challenge ._03 .contents_body_cont_block_cont {
    padding: 0;
    border: none
  }

  .established ._02 .contents_body_cont_block {
    width: 26vh;
    border-left: 3px solid #7d7d7d
  }

  .established ._02 .contents_body_cont_block_cont {
    padding: 0;
    border: none
  }

  .lateYears ._02 .contents_body_cont_block,
  .lateYears ._04 .contents_body_cont_block {
    border-left: 3px solid #3071b9
  }

  .lateYears ._02 .contents_body_cont_block_cont,
  .lateYears ._04 .contents_body_cont_block_cont {
    padding: 0;
    border: none
  }

  .kv .kv_ttl {
    position: relative;
    left: 50%;
    height: 22rem;
    transform: translateX(-50%)
  }
}
@media only screen and (max-width: 767px) {
    .u-disp-pc {
        display: none;
    }
}
@media only screen and (max-width: 767px) {
    .challenge ._01 .contents_body_cont_txt-s,
    .challenge ._01 .contents_body_cont_txt,
    .challenge ._01 .contents_body_cont_txt,
        .lateYears ._02 .contents_body_cont_txt-s,
        .lateYears ._02 .contents_body_cont_txt {
        font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "Hiragino Sans", メイリオ, Meiryo, sans-serif;
        font-weight: 400;
        letter-spacing: 0.45px;
    }
}
.u-font-sb {
    font-weight: 600;
}

.u-disp-sp {
    display: none;
}
@media only screen and (max-width: 767px) {
    .u-disp-sp {
        display: block;
    }
}