  @charset "UTF-8";
/* ¥¢¥Ë¥á©`¥·¥ç¥ó
=========================================================== */
/* ¥Õ¥§©`¥É¥¤¥ó
????????????????????????????????? */
.inview__anim--fade-in {
  opacity: 0;
  will-change: opacity;
  -webkit-transition: opacity .8s ease 0s;
  transition: opacity .8s ease 0s;
}

.inview__complete .inview__anim--fade-in, .inview__anim--fade-in.inview__complete {
  opacity: 1;
}

/* ¥Õ¥§©`¥É¥¤¥ó¥¢¥Ã¥×
????????????????????????????????? */
.inview__anim--fade-in-up {
  opacity: 0;
  -webkit-transform: translateY(30px);
  transform: translateY(30px);
  will-change: opacity, transform;
  -webkit-transition: opacity .8s ease 0s, -webkit-transform .8s ease 0s;
  transition: opacity .8s ease 0s, -webkit-transform .8s ease 0s;
  transition: opacity .8s ease 0s, transform .8s ease 0s;
  transition: opacity .8s ease 0s, transform .8s ease 0s, -webkit-transform .8s ease 0s;
}

.inview__complete .inview__anim--fade-in-up, .inview__anim--fade-in-up.inview__complete {
  opacity: 1;
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

/* ¥Õ¥§©`¥É¥¤¥ó X
????????????????????????????????? */
.inview__anim--fade-in-x {
  opacity: 0;
  -webkit-transform: translateX(-30px);
  transform: translateX(-30px);
  will-change: opacity, transform;
  -webkit-transition: opacity .8s ease 0s, -webkit-transform .8s ease 0s;
  transition: opacity .8s ease 0s, -webkit-transform .8s ease 0s;
  transition: opacity .8s ease 0s, transform .8s ease 0s;
  transition: opacity .8s ease 0s, transform .8s ease 0s, -webkit-transform .8s ease 0s;
}

.inview__complete .inview__anim--fade-in-x, .inview__anim--fade-in-x.inview__complete {
  opacity: 1;
  -webkit-transform: translateX(0);
  transform: translateX(0);
}

/* ¥Õ¥§©`¥É¥¤¥ó XX
????????????????????????????????? */
.inview__anim--fade-in-xx {
  opacity: 0;
  -webkit-transform: translateX(30px);
  transform: translateX(30px);
  will-change: opacity, transform;
  -webkit-transition: opacity .8s ease 0s, -webkit-transform .8s ease 0s;
  transition: opacity .8s ease 0s, -webkit-transform .8s ease 0s;
  transition: opacity .8s ease 0s, transform .8s ease 0s;
  transition: opacity .8s ease 0s, transform .8s ease 0s, -webkit-transform .8s ease 0s;
}

.inview__complete .inview__anim--fade-in-xx, .inview__anim--fade-in-xx.inview__complete {
  opacity: 1;
  -webkit-transform: translateX(0);
  transform: translateX(0);
}

/* ¥¹¥±©`¥ë¥¤¥ó
????????????????????????????????? */
.inview__anim--scale-in {
  opacity: 0;
  -webkit-transform: scale(1.08);
  transform: scale(1.08);
  will-change: opacity, transform;
  -webkit-transition: opacity .8s ease 0s, -webkit-transform .8s ease 0s;
  transition: opacity .8s ease 0s, -webkit-transform .8s ease 0s;
  transition: opacity .8s ease 0s, transform .8s ease 0s;
  transition: opacity .8s ease 0s, transform .8s ease 0s, -webkit-transform .8s ease 0s;
}

.inview__complete .inview__anim--scale-in, .inview__anim--scale-in.inview__complete {
  opacity: 1;
  -webkit-transform: scale(1);
  transform: scale(1);
}

/* ¥¹¥±©`¥ëY
????????????????????????????????? */
.inview__anim--scale-y {
  -webkit-transform: scaleY(0);
  transform: scaleY(0);
  will-change: transform;
  -webkit-transition: -webkit-transform .8s ease 0s;
  transition: -webkit-transform .8s ease 0s;
  transition: transform .8s ease 0s;
  transition: transform .8s ease 0s, -webkit-transform .8s ease 0s;
  -webkit-transform-origin: center top;
  transform-origin: center top;
}

.inview__complete .inview__anim--scale-y {
  -webkit-transform: scale(1);
  transform: scale(1);
}

/* ¥¹¥é¥¤¥É¥¤¥ó
????????????????????????????????? */
/* ÎÄ×Ö
????????????????????????????????? */
/* ¥¿¥¤¥Ô¥ó¥°
????????????????????????????????? */
/**
 * Æó˜IÇéˆó
 *
 * ½M¿—‡í
 *
 */
.org-ttl {
  background-color: #fff;
  border: 1px solid #ccc;
  display: block;
  height: 33px;
  line-height: 1.4;
  padding: 6px 20px;
  position: relative;
  z-index: 10;
}

.org-chart > ul > li {
  margin-bottom: 30px;
  position: relative;
}

.org-chart > ul > li > .org-ttl {
  border-color: #7364af;
  background-color: #7364af;
  color: #fff;
  font-weight: bold;
  width: 40%;
}

.org-chart > ul > li > ul {
  margin-top: -33px;
  padding-left: calc(40% + 30px);
  position: relative;
  width: 100%;
}

.org-chart > ul > li > ul:before {
  background-color: #ccc;
  content: '';
  display: block;
  height: 1px;
  width: 100%;
  position: absolute;
  left: 0;
  top: 16px;
}

.org-chart > ul > li > ul:after {
  background-color: #ccc;
  content: '';
  display: block;
  height: calc(100% - 33px);
  width: 1px;
  position: absolute;
  left: calc(40% + 30px);
  top: 16px;
}

.org-chart > ul > li > ul > li {
  margin-top: 5px;
  padding-left: 30px;
  position: relative;
}

.org-chart > ul > li > ul > li:before {
  background-color: #ccc;
  content: '';
  display: block;
  height: 1px;
  width: 100%;
  position: absolute;
  left: 0;
  top: 16px;
}

.org-chart > ul > li > ul > li:last-child:after {
  background-color: #fff;
  content: '';
  display: block;
  height: 100%;
  width: 1px;
  position: absolute;
  left: 0;
  top: 17px;
  z-index: 1;
}

@media screen and (min-width: 768px), print {
  .org-chart > ul > li > ul > li:first-child {
    margin-top: 0;
  }
  .org-chart > ul > li > ul > li:first-child:before {
    display: none;
  }
}

.org-chart > ul > li > ul > li > ul {
  padding-left: 30px;
  position: relative;
}

.org-chart > ul > li > ul > li > ul:after {
  background-color: #ccc;
  content: '';
  display: block;
  height: 100%;
  width: 1px;
  position: absolute;
  left: 30px;
  bottom: 16px;
}

.org-chart > ul > li > ul > li > ul > li {
  margin-top: 5px;
  padding-left: 30px;
  position: relative;
}

.org-chart > ul > li > ul > li > ul > li:before {
  background-color: #ccc;
  content: '';
  display: block;
  height: 1px;
  width: 100%;
  position: absolute;
  left: 0;
  top: 16px;
}

.org-chart > ul > li > ul > li > ul > li:last-child:after {
  background-color: #fff;
  content: '';
  display: block;
  height: 100%;
  width: 1px;
  position: absolute;
  left: 0;
  top: 17px;
  z-index: 1;
}

.org-chart > ul > li > ul > li > ul > li > ul {
  padding-left: 30px;
  position: relative;
}

.org-chart > ul > li > ul > li > ul > li > ul:after {
  background-color: #ccc;
  content: '';
  display: block;
  height: 100%;
  width: 1px;
  position: absolute;
  left: 30px;
  bottom: 16px;
}

.org-chart > ul > li > ul > li > ul > li > ul > li {
  margin-top: 5px;
  padding-left: 30px;
  position: relative;
}

.org-chart > ul > li > ul > li > ul > li > ul > li:before {
  background-color: #ccc;
  content: '';
  display: block;
  height: 1px;
  width: 100%;
  position: absolute;
  left: 0;
  top: 16px;
}

.directBorder::before {
  content: '';
  display: block;
  width: 1px;
  height: 100%;
  background-color: #ccc;
  position: absolute;
  bottom: 16px;
}

@media screen and (min-width: 768px), print {
  .directBorder::before {
    left: 15px;
  }
}

@media screen and (max-width: 767px) {
  .directBorder::before {
    left: 7px;
  }
}

.directBorder__target {
  padding-left: 1px !important;
}

.directBorder__target::before {
  z-index: 2;
}

@media screen and (min-width: 768px), print {
  .directBorder__target::before {
    left: -15px !important;
  }
}

@media screen and (max-width: 767px) {
  .directBorder__target::before {
    left: -7px !important;
  }
}

.directBorder__target::after {
  height: calc(100% + 21px) !important;
  top: -21px !important;
}

.directBorder__target > ul {
  padding-left: 0 !important;
}

.directBorder__target > ul::before {
  content: '';
  display: block;
  height: calc(100% + 20px);
  width: 1px;
  background-color: #fff;
  position: absolute;
  top: -21px;
  z-index: 1;
}

@media screen and (min-width: 768px), print {
  .directBorder__target > ul::before {
    left: -16px;
  }
}

@media screen and (max-width: 767px) {
  .directBorder__target > ul::before {
    left: -9px;
  }
}

@media screen and (min-width: 768px), print {
  .directBorder__target > ul::after {
    left: 15px !important;
  }
}

@media screen and (max-width: 767px) {
  .directBorder__target > ul::after {
    left: 7px !important;
  }
}

.directBorder__target > ul > li::before {
  left: auto !important;
  right: 0;
}

@media screen and (min-width: 768px), print {
  .directBorder__target > ul > li::before {
    width: calc(100% - 15px) !important;
  }
}

@media screen and (max-width: 767px) {
  .directBorder__target > ul > li::before {
    width: calc(100% - 7px) !important;
  }
}

@media screen and (max-width: 767px) {
  .org-chart > ul > li {
    margin-bottom: 30px;
  }
  .org-chart > ul > li > .org-ttl {
    width: 100%;
  }
  .org-chart > ul > li > ul {
    margin-top: 5px;
    padding-left: 15px;
  }
  .org-chart > ul > li > ul:before {
    display: none;
  }
  .org-chart > ul > li > ul:after {
    height: 100%;
    left: 15px;
    top: inherit;
    bottom: 16px;
  }
  .org-chart > ul > li > ul li {
    padding-left: 15px;
  }
  .org-chart > ul > li > ul > li > ul {
    padding-left: 15px;
  }
  .org-chart > ul > li > ul > li > ul:after {
    left: 15px;
  }
  .org-chart > ul > li > ul > li > ul > li {
    padding-left: 15px;
  }
  .org-chart > ul > li > ul > li > ul > li > ul {
    padding-left: 15px;
  }
  .org-chart > ul > li > ul > li > ul > li > ul:after {
    left: 15px;
  }
  .org-chart > ul > li > ul > li > ul > li > ul > li {
    padding-left: 15px;
  }
}
