.c-green {
  color: #2F892E;
}

.b-green {
  background-color: #2F892E;
}

.c-red {
  color: #CB0011;
}

.b-red {
  background-color: #CB0011;
}

.c-blue {
  color: #013A6C;
}

.b-blue {
  background-color: #013A6C;
}

#stage {
  overflow: visible;
}

.e-text {
  font-size: 15px;
  line-height: 2;
}

section > .e-inner {
  position: relative;
}

.e-headline {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: baseline;
      align-items: baseline;
}
.e-headline .e-jp {
  margin-left: 10px;
}

.b-outline {
  width: 92%;
  margin: 0 auto;
  padding-bottom: 60px;
}
.b-outline .e-headline {
  margin-bottom: 5.3333333333vw;
}
.b-outline .e-outline {
  border-top: 1px solid #ECECEC;
  font-size: 15px;
  line-height: 2;
}
.b-outline .e-outline .e-item {
  color: #2F892E;
  font-weight: 700;
  padding-top: 2.6666666667vw;
}
.b-outline .e-outline .e-content {
  border-bottom: 1px solid #ECECEC;
  padding-bottom: 2.6666666667vw;
}

.b-network {
  padding-bottom: 10.6666666667vw;
}
.b-network .e-headline {
  padding-left: 4%;
  padding-right: 4%;
  margin-bottom: 10px;
}
.b-network-map {
  position: relative;
  height: 88vw;
}
.b-network-map .nw01, .b-network-map .nw02, .b-network-map .nw03, .b-network-map .nw04, .b-network-map .nw05, .b-network-map .nw06, .b-network-map .nw07, .b-network-map .nw08, .b-network-map .nw09, .b-network-map .nw10 {
  position: absolute;
  -ms-transform: translateY(-100%);
      transform: translateY(-100%);
  font-size: 10px;
  font-weight: 700;
  line-height: 1.4;
  padding: 5px 0;
  padding-right: 11px;
}
.b-network-map .nw01 img, .b-network-map .nw02 img, .b-network-map .nw03 img, .b-network-map .nw04 img, .b-network-map .nw05 img, .b-network-map .nw06 img, .b-network-map .nw07 img, .b-network-map .nw08 img, .b-network-map .nw09 img, .b-network-map .nw10 img {
  position: relative;
}
.b-network-map .nw01::after, .b-network-map .nw02::after, .b-network-map .nw03::after, .b-network-map .nw04::after, .b-network-map .nw05::after, .b-network-map .nw06::after, .b-network-map .nw07::after, .b-network-map .nw08::after, .b-network-map .nw09::after, .b-network-map .nw10::after {
  content: '';
  width: 0;
  height: 0;
  display: block;
  border-width: 5px 4px;
  border-color: #2F892E transparent transparent transparent;
  border-style: solid;
  position: absolute;
  right: 0;
  top: calc(50% - 3px);
}
.b-network-map .nw01 {
  left: 60vw;
  top: 32.5333333333vw;
  padding-left: 4vw;
}
.b-network-map .nw01::before {
  content: '';
  width: 3.2vw;
  height: 3.2vw;
  display: block;
  background: url(../images/map/icon_office_sp.png) center/contain no-repeat;
  position: absolute;
  left: 0;
  top: 1.3333333333vw;
}
.b-network-map .nw02 {
  left: 67.7333333333vw;
  top: 44vw;
}
.b-network-map .nw03 {
  left: 10.6666666667vw;
  top: 43.4666666667vw;
}
.b-network-map .nw04 {
  left: 10.6666666667vw;
  top: 18.4vw;
}
.b-network-map .nw05 {
  left: 21.6vw;
  top: 72vw;
}
.b-network-map .nw06 {
  left: 73.8666666667vw;
  top: 66.1333333333vw;
}
.b-network-map .nw07 {
  left: 57.3333333333vw;
  top: 16vw;
}
.b-network-map .nw08 {
  left: 16vw;
  top: 62.1333333333vw;
}
.b-network-lists {
  width: 92%;
  margin: 0 auto;
}
.b-network-item {
  background-color: #fff;
  padding: 5.3333333333vw 0;
}
.b-network-item .e-header {
  display: -ms-flexbox;
  display: flex;
  position: relative;
  border-bottom: 2px solid #ECECEC;
  padding-bottom: 10px;
}
.b-network-item .e-header .e-no {
  margin-top: 5px;
  width: 6.6666666667%;
}
.b-network-item .e-header .e-lbl {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.8;
  width: 90.7246376812%;
  margin-left: auto;
}
.b-network-item .e-header .e-lbl small {
  font-size: 12px;
  font-weight: 400;
}
.b-network-item .e-body {
  padding-top: 5.3333333333vw;
}
.b-network-item .e-body a {
  color: #2F892E;
  text-decoration: underline;
}
.b-network-item .e-body .e-map {
  width: 100%;
  height: 80vw;
}
.b-network-item .e-body .e-map iframe {
  width: 100%;
  height: 100%;
}
.b-network-item .e-body .e-photo {
  margin-bottom: 4.347826087vw;
}
.b-network-item .e-body .e-info p {
  font-size: 15px;
  line-height: 1.667;
}
.b-network-item .e-body .e-info p:not(:last-of-type) {
  margin-bottom: 2.8985507246vw;
}
.b-network-item .e-btn {
  margin-top: 4.347826087vw;
  width: 42.6086956522%;
  font-size: 14px;
}

.b-history {
  position: relative;
  padding-bottom: 16vw;
}
.b-history::before {
  content: '';
  background: url(../images/company/ttl_dec_history_sp.png) 0 0 no-repeat;
  display: block;
  width: 88px;
  height: 171px;
  position: absolute;
  top: 70.6666666667vw;
}
.b-history .e-img {
  margin-bottom: 9.8666666667vw;
}
.b-history .e-headline {
  margin-bottom: 10px;
  padding-left: 4%;
  padding-right: 4%;
  position: relative;
}
.b-history--wrap {
  position: relative;
  width: 92%;
  margin: 0 auto;
}
.b-history--item {
  padding: 20px;
}
.b-history--item:nth-of-type(odd) {
  background-color: #F1F6F1;
}
.b-history--item .e-header {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  margin-bottom: 2.6666666667vw;
}
.b-history--item .e-header .e-wc {
  font-size: 20px;
  font-weight: 700;
  font-family: "Barlow", serif;
  color: #2F892E;
}
.b-history--item .e-header .e-jc {
  font-size: 15px;
  font-weight: 700;
  margin-left: 20px;
  color: #A7A7A7;
}
.b-history--item .e-body {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  font-size: 15px;
  line-height: 2;
}
.b-history--item .e-body dt {
  width: 13.0434782609%;
  white-space: nowrap;
}
.b-history--item .e-body dd {
  width: 86.9565217391%;
}
.b-history--item .e-body dd img.mt {
  margin-top: 10px;
}
.b-history--item .e-body dd img.mb {
  margin-bottom: 10px;
}
.b-history--item .e-body dd .boxshadow {
  box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.05);
}
.b-history--item .e-body dd .btn-habataku {
  display: block;
}
.b-history--item .e-body dd .onmovie {
  display: block;
}

.modalarea {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  visibility: hidden;
  opacity: 0;
  transition: 0.5s cubic-bezier(0.43, 0.05, 0.17, 1);
}
.modalarea.is-show {
  visibility: visible;
  opacity: 1;
}
.modalarea .overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4);
}
.modalarea .movie {
  width: 89.3333333333vw;
  padding-bottom: 56.25%;
  position: absolute;
  left: 50%;
  top: 50%;
  -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
}
.modalarea .b-closebtn {
  position: absolute;
  top: 0;
  right: 0;
  -ms-transform: translate(50%, -100%);
      transform: translate(50%, -100%);
  color: #fff;
  width: 8vw;
  line-height: 8vw;
  text-align: center;
}
.modalarea iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
@media (max-width: 767px) {

  .b-stage::before {
    z-index: 16;
  }

  .b-network-item .e-body div + .e-photo {
    margin-top: 5.7971014493vw;
  }

  .b-history--item .e-body dd p + picture img {
    margin-top: -3.2vw;
    display: inline-block;
  }
}
@media (min-width: 768px) {

  .e-text {
    font-size: 16px;
    line-height: 2;
  }

  section > .e-inner {
    z-index: 2;
    width: 840px;
    margin: 0 auto;
    -ms-transform: translateX(-130px);
    transform: translateX(-130px);
  }

  .b-outline .e-outline {
    font-size: 16px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .b-outline .e-outline .e-item {
    width: 170px;
    border-bottom: 1px solid #ECECEC;
    padding: 25px 10px;
  }

  .b-outline .e-outline .e-content {
    width: 670px;
    padding: 25px 10px;
  }

  .b-network {
    padding-bottom: 356px;
  }

  .b-network .e-headline {
    padding: 0;
    width: 840px;
    margin: 0 auto;
    -ms-transform: translateX(-130px);
    transform: translateX(-130px);
    position: relative;
    z-index: 2;
  }

  .b-network-map {
    width: 100%;
    height: 610px;
    margin-top: -25px;
  }

  .b-network-map .e-mapimage {
    width: 100%;
    height: 610px;
    object-fit: none;
    object-position: center;
  }

  .b-network-map .e-map-links {
    position: absolute;
    top: 0;
    left: calc(50% - 130px);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 840px;
    height: 100%;
  }

  .b-network-map .nw01::before, .b-network-map .nw02::before, .b-network-map .nw03::before, .b-network-map .nw04::before, .b-network-map .nw05::before, .b-network-map .nw06::before, .b-network-map .nw07::before, .b-network-map .nw08::before, .b-network-map .nw09::before, .b-network-map .nw10::before {
    content: '';
    background: url(../images/company/map_pointer_green_hover.png) 0 0 no-repeat;
    background-image: -webkit-image-set(url(../images/company/map_pointer_green_hover.png) 1x, url(../images/company/map_pointer_green_hover@2x.png) 2x);
    background-image: image-set(url(../images/company/map_pointer_green_hover.png) 1x, url(../images/company/map_pointer_green_hover@2x.png) 2x);
    width: 50px;
    height: 50px;
    position: absolute;
  }

  .b-network-map .nw01, .b-network-map .nw02, .b-network-map .nw03, .b-network-map .nw04, .b-network-map .nw05, .b-network-map .nw06, .b-network-map .nw07, .b-network-map .nw08, .b-network-map .nw09, .b-network-map .nw10 {
    -ms-transform: none;
    transform: none;
    padding: 0;
  }

  .b-network-map .nw01::before, .b-network-map .nw02::before, .b-network-map .nw03::before, .b-network-map .nw04::before, .b-network-map .nw05::before, .b-network-map .nw06::before, .b-network-map .nw07::before, .b-network-map .nw08::before, .b-network-map .nw09::before, .b-network-map .nw10::before {
    opacity: 0;
  }

  .b-network-map .nw01:hover, .b-network-map .nw02:hover, .b-network-map .nw03:hover, .b-network-map .nw04:hover, .b-network-map .nw05:hover, .b-network-map .nw06:hover, .b-network-map .nw07:hover, .b-network-map .nw08:hover, .b-network-map .nw09:hover, .b-network-map .nw10:hover {
    opacity: 1;
  }

  .b-network-map .nw01:hover::before, .b-network-map .nw02:hover::before, .b-network-map .nw03:hover::before, .b-network-map .nw04:hover::before, .b-network-map .nw05:hover::before, .b-network-map .nw06:hover::before, .b-network-map .nw07:hover::before, .b-network-map .nw08:hover::before, .b-network-map .nw09:hover::before, .b-network-map .nw10:hover::before {
    opacity: 1;
  }

  .b-network-map .nw01:hover::after, .b-network-map .nw02:hover::after, .b-network-map .nw03:hover::after, .b-network-map .nw04:hover::after, .b-network-map .nw05:hover::after, .b-network-map .nw06:hover::after, .b-network-map .nw07:hover::after, .b-network-map .nw08:hover::after, .b-network-map .nw09:hover::after, .b-network-map .nw10:hover::after {
    -ms-transform: translateY(5px);
    transform: translateY(5px);
  }

  .b-network-map .nw01 {
    left: 450px;
    top: 186px;
  }

  .b-network-map .nw02 {
    left: 488px;
    top: 293px;
  }

  .b-network-map .nw03 {
    left: 123px;
    top: 267px;
  }

  .b-network-map .nw04 {
    left: 69px;
    top: 143px;
  }

  .b-network-map .nw05 {
    left: 224px;
    top: 420px;
  }

  .b-network-map .nw06 {
    left: 512px;
    top: 392px;
  }

  .b-network-map .nw07 {
    left: 430px;
    top: 92px;
  }

  .b-network-map .nw08 {
    left: 181px;
    top: 362px;
  }

  .b-network-map .nw01::after {
    left: 254px;
    top: 50px;
  }

  .b-network-map .nw02::after {
    left: 231px;
    top: 26px;
  }

  .b-network-map .nw03::after {
    left: 160px;
    top: 40px;
  }

  .b-network-map .nw04::after {
    left: 125px;
    top: 35px;
  }

  .b-network-map .nw05::after {
    left: 119px;
    top: 81px;
  }

  .b-network-map .nw06::after {
    left: 189px;
    top: 63px;
  }

  .b-network-map .nw07::after {
    left: 127px;
    top: 40px;
  }

  .b-network-map .nw08::after {
    left: 161px;
    top: 63px;
  }

  .b-network-map .nw01::before {
    left: -11px;
    top: 107px;
    background: url(../images/company/map_pointer_red_hover.png) 0 0 no-repeat;
    background-image: -webkit-image-set(url(../images/company/map_pointer_red_hover.png) 1x, url(../images/company/map_pointer_red_hover@2x.png) 2x);
    background-image: image-set(url(../images/company/map_pointer_red_hover.png) 1x, url(../images/company/map_pointer_red_hover@2x.png) 2x);
  }

  .b-network-map .nw02::before {
    left: -11px;
    top: 31px;
  }

  .b-network-map .nw03::before {
    left: 230px;
    top: 15px;
  }

  .b-network-map .nw04::before {
    left: 248px;
    top: 78px;
  }

  .b-network-map .nw05::before {
    left: 218px;
    top: -11px;
  }

  .b-network-map .nw06::before {
    left: -11px;
    top: -11px;
  }

  .b-network-map .nw07::before {
    left: -11px;
    top: 105px;
  }

  .b-network-map .nw08::before {
    left: 223px;
    top: -11px;
  }

  .b-network-lists {
    width: 840px;
    -ms-transform: translateX(-130px);
    transform: translateX(-130px);
  }

  .b-network-item {
    padding: 40px 0;
    counter-increment: section;
  }

  .b-network-item .e-header {
    display: block;
    padding-left: 38px;
  }

  .b-network-item .e-header::before {
    content: counter(section);
    width: 28px;
    line-height: 28px;
    border-radius: 50px;
    text-align: center;
    font-size: 18px;
    font-weight: 700;
    font-family: "Barlow", serif;
    background-color: #2F892E;
    color: #fff;
    position: absolute;
    top: 8px;
    left: 0;
  }

  .b-network-item .e-header .e-no {
    display: none;
  }

  .b-network-item .e-header .e-lbl {
    width: auto;
    font-size: 24px;
  }

  .b-network-item .e-header .e-lbl small {
    font-size: 14px;
  }

  .b-network-item .e-body {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding-top: 30px;
  }

  .b-network-item .e-body .e-map {
    height: 400px;
    margin-bottom: 30px;
  }

  .b-network-item .e-body .e-photo {
    width: 210px;
    margin-bottom: 0;
  }

  .b-network-item .e-body .e-photo:not(:last-of-type) {
    margin-bottom: 20px;
  }

  .b-network-item .e-body .e-photo.is-ubc {
    position: relative;
  }

  .b-network-item .e-body .e-photo.is-ubc::before {
    content: "UBC";
    color: #fff;
    background-color: #000;
    font-size: 14px;
    font-weight: 700;
    font-family: "Roboto", serif;
    position: absolute;
    width: 43px;
    line-height: 23px;
    text-align: center;
  }

  .b-network-item .e-body .e-info {
    width: 600px;
    margin-left: auto;
  }

  .b-network-item .e-body .e-info:not(:last-of-type) {
    margin-bottom: 20px;
  }

  .b-network-item .e-body .e-info p:not(:last-of-type) {
    margin-bottom: 20px;
  }

  .b-history {
    padding-top: 80px;
    padding-bottom: 100px;
    position: relative;
    z-index: 2;
  }

  .b-history::before {
    top: 20px;
    width: 289px;
    height: 287px;
    left: calc(50% - 720px);
    background: url(../images/company/ttl_dec_history.png) 0 0 no-repeat;
    background-image: -webkit-image-set(url(../images/company/ttl_dec_history.png) 1x, url(../images/company/ttl_dec_history@2x.png) 2x);
    background-image: image-set(url(../images/company/ttl_dec_history.png) 1x, url(../images/company/ttl_dec_history@2x.png) 2x);
  }

  .b-history .e-img {
    margin: 0;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 296px;
    z-index: 10;
    background: url(../images/company/img_history.jpg) center top repeat-x;
    -ms-transform: translateY(-296px);
    transform: translateY(-296px);
  }

  .b-history .e-img img {
    display: none;
  }

  .b-history .e-headline {
    margin-bottom: 20px;
    padding: 0;
  }

  .b-history--wrap {
    width: auto;
  }

  .b-history--item {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: start;
    align-items: flex-start;
  }

  .b-history--item .e-header {
    display: -ms-flexbox;
    display: flex;
    width: 200px;
    margin: 0;
  }

  .b-history--item .e-header .e-wc {
    font-size: 26px;
    width: 80px;
  }

  .b-history--item .e-header .e-jc {
    font-size: 16px;
    margin-left: 0;
  }

  .b-history--item .e-body {
    display: -ms-flexbox;
    display: flex;
    width: 640px;
    font-size: 16px;
    line-height: 2;
  }

  .b-history--item .e-body dt {
    width: 35px;
    text-align: right;
  }

  .b-history--item .e-body dd {
    width: 554px;
    margin-left: 20px;
  }

  .b-history--item .e-body dd img.mt {
    margin-top: 20px;
  }

  .b-history--item .e-body dd img.mb {
    margin-bottom: 20px;
  }

  .b-history--item .e-body dd .boxshadow {
    box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.05);
  }

  .b-history--item .e-body dd .btn-habataku {
    opacity: 1;
    width: 320px;
  }

  .b-history--item .e-body dd .btn-habataku:hover {
    -ms-transform: translateY(5px);
    transform: translateY(5px);
  }

  .b-history--item .e-body dd .onmovie {
    width: 320px;
  }

  .modalarea .movie {
    width: 560px;
    height: 315px;
    padding: 0;
  }

  .modalarea .b-closebtn {
    width: 60px;
    line-height: 60px;
  }

  .modalarea .b-closebtn:hover {
    opacity: .7;
    cursor: pointer;
  }
}
