/* -----------------------------------------------------
  overwrite
----------------------------------------------------- */
#topmainvisual .navi {
  display: block;
}

#topmainvisual .movie {
  right: 0;
  width: auto;
  -webkit-transform: translateX(0);
  -ms-transform: translateX(0);
  transform: translateX(0);
}

.sp #topmainvisual .movie {
  width: 100%;
}

/* -----------------------------------------------------
  top
----------------------------------------------------- */
#topmainvisual .catch,
#topmainvisual .catch-op {
  -webkit-transition: 1000ms;
  -o-transition: 1000ms;
  transition: 1000ms;
}

#topmainvisual .catch.show,
#topmainvisual .catch-op.show {
  -webkit-transition: 2000ms;
  -o-transition: 2000ms;
  transition: 2000ms;
}

#topmainvisual .catch-op {
  opacity: 0;
  position: absolute;
  top: 45%;
  left: 0;
  width: 100%;
  text-align: center;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  z-index: 9;
}

#topmainvisual .catch-op img {
  width: 285px;
  height: auto;
}

#topmainvisual .catch-op p > span {
  display: inline-block;
  padding: 15px 0 10%;
  line-height: 1.9;
  color: #fff;
  text-shadow: 0 0 20px rgba(0, 0, 0, 0.8);
}

#topmainvisual .catch-op.show {
  opacity: 1;
}

.sp #topmainvisual .catch-op {
  top: 42%;
  padding-top: 0%;
}

.sp #topmainvisual .catch-op p > span {
  font-size: 12px;
}

.sp #topmainvisual .catch-op img {
  width: 70.2666vw;
}

/* -------------------------------------------------- */
#topmainvisual .more,
#topourpeople .more {
  text-align: center;
}

#topmainvisual .more a,
#topourpeople .more a {
  position: relative;
  display: inline-block;
  min-width: 145px;
  margin: 0px auto;
  padding: 6px 20px;
  font-size: 12px;
  font-size: 0.85714rem;
  line-height: 13.2px;
  line-height: 0.94286rem;
  letter-spacing: 2px;
  color: #5bc2dc;
  background: #ffffff;
  border: 1px solid rgba(91, 194, 220, 0.5);
  -webkit-transition: 300ms;
  -o-transition: 300ms;
  transition: 300ms;
}

#topmainvisual .more a:before,
#topourpeople .more a:before {
  content: "";
  display: block;
  position: absolute;
  width: 20px;
  height: 1px;
  right: 0px;
  top: 50%;
  background: rgba(91, 194, 220, 0.5);
  -webkit-transition: 300ms;
  -o-transition: 300ms;
  transition: 300ms;
}

#topmainvisual .more a:hover,
#topourpeople .more a:hover {
  color: #ffffff;
  background: #5bc2dc;
  -webkit-transition: 300ms 300ms;
  -o-transition: 300ms 300ms;
  transition: 300ms 300ms;
}

#topmainvisual .more a:hover:before,
#topourpeople .more a:hover:before {
  background-color: #ffffff;
  -webkit-transition: 300ms 300ms;
  -o-transition: 300ms 300ms;
  transition: 300ms 300ms;
}

#topmainvisual .more a:hover .more1:before,
#topourpeople .more a:hover .more1:before {
  width: 51% !important;
  height: 51% !important;
  visibility: visible !important;
  -webkit-transition: 300ms ease-in-out !important;
  -o-transition: 300ms ease-in-out !important;
  transition: 300ms ease-in-out !important;
}

#topmainvisual .more a:hover .more1:after,
#topourpeople .more a:hover .more1:after {
  width: 51% !important;
  height: 51% !important;
  visibility: visible !important;
  -webkit-transition: 300ms ease-in-out !important;
  -o-transition: 300ms ease-in-out !important;
  transition: 300ms ease-in-out !important;
}

#topmainvisual .more a:hover .more2:before,
#topourpeople .more a:hover .more2:before {
  width: 51% !important;
  height: 51% !important;
  visibility: visible !important;
  -webkit-transition: 300ms ease-in-out !important;
  -o-transition: 300ms ease-in-out !important;
  transition: 300ms ease-in-out !important;
}

#topmainvisual .more a:hover .more2:after,
#topourpeople .more a:hover .more2:after {
  width: 51% !important;
  height: 51% !important;
  visibility: visible !important;
  -webkit-transition: 300ms ease-in-out !important;
  -o-transition: 300ms ease-in-out !important;
  transition: 300ms ease-in-out !important;
}

#topmainvisual .more a .more1:before,
#topourpeople .more a .more1:before {
  content: "";
  display: block;
  position: absolute;
  width: 0%;
  height: 0%;
  left: -1px;
  top: -1px;
  visibility: hidden;
  border-top: 1px solid #5bc2dc;
  border-left: 1px solid #5bc2dc;
  -webkit-transition: 300ms 300ms ease-in-out;
  -o-transition: 300ms 300ms ease-in-out;
  transition: 300ms 300ms ease-in-out;
}

#topmainvisual .more a .more1:after,
#topourpeople .more a .more1:after {
  content: "";
  display: block;
  position: absolute;
  width: 0%;
  height: 0%;
  left: -1px;
  bottom: -1px;
  visibility: hidden;
  border-bottom: 1px solid #5bc2dc;
  border-left: 1px solid #5bc2dc;
  -webkit-transition: 300ms 300ms ease-in-out;
  -o-transition: 300ms 300ms ease-in-out;
  transition: 300ms 300ms ease-in-out;
}

#topmainvisual .more a .more2:before,
#topourpeople .more a .more2:before {
  content: "";
  display: block;
  position: absolute;
  width: 0%;
  height: 0%;
  right: -1px;
  top: -1px;
  visibility: hidden;
  border-top: 1px solid #5bc2dc;
  border-right: 1px solid #5bc2dc;
  -webkit-transition: 300ms 300ms ease-in-out;
  -o-transition: 300ms 300ms ease-in-out;
  transition: 300ms 300ms ease-in-out;
}

#topmainvisual .more a .more2:after,
#topourpeople .more a .more2:after {
  content: "";
  display: block;
  position: absolute;
  width: 0%;
  height: 0%;
  right: -1px;
  bottom: -1px;
  visibility: hidden;
  border-bottom: 1px solid #5bc2dc;
  border-right: 1px solid #5bc2dc;
  -webkit-transition: 300ms 300ms ease-in-out;
  -o-transition: 300ms 300ms ease-in-out;
  transition: 300ms 300ms ease-in-out;
}

/* -------------------------------------------------- */
#topourpeople {
  position: relative;
  margin: 120px auto -50px;
  width: 960px;
}

#topourpeople .more {
  position: absolute;
  bottom: 20px;
  left: 0;
  width: 100%;
  text-align: center;
  z-index: 1;
}

.sp #topourpeople {
  margin: 10.6666vw auto 0;
  width: 89.3333vw;
}

.sp #topourpeople .more {
  bottom: 5.3333vw;
}

.sp #topourpeople img {
  width: 100%;
  height: auto;
}

/* -----------------------------------------------------
  team
----------------------------------------------------- */
main .contents .anchorlink .anchorlink-op li:last-child span {
  padding-bottom: 1em;
}

main .contents .anchorlink .anchorlink-op a {
  height: 100px;
}

main .contents .anchorlink .anchorlink-op small {
  display: inline-block;
  margin: -0.5em 0 0.25em;
  padding: 0.5em 0.75em;
  border-radius: 1em;
  background: #fff;
  font-size: 70%;
  line-height: 1;
  color: #53c3de;
}

.sp main .contents .anchorlink .anchorlink-op a {
  margin: 4px 0;
  height: 5.5em;
}

/* -----------------------------------------------------
  outpeople
----------------------------------------------------- */
main .contents.ourpeople {
  padding: 40px 0;
}

.sp main .contents.ourpeople {
  padding: 30px 0;
}

.ourpeople img,
.op-modal img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

.ourpeople h2 small {
  display: inline-block;
  margin-bottom: 1em;
  border-radius: 1em;
  padding: 0.5em 1em;
  background: #53c3de;
  font-size: 60%;
  font-weight: normal;
  line-height: 1;
  color: #fff;
}

/* -------------------------------------------------- */
.ourpeople .op-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin: 0 auto 30px;
  width: 100%;
  max-width: 1152px;
  min-width: 980px;
}

.ourpeople .op-nav li {
  display: table;
  margin-bottom: 13px;
  border: 1px solid #62c1da;
  width: 19%;
  height: 70px;
  color: #62c1da;
  -webkit-transition-duration: 200ms;
  -o-transition-duration: 200ms;
  transition-duration: 200ms;
  cursor: pointer;
}

.ourpeople .op-nav li span {
  display: table-cell;
  padding: 0 1em;
  vertical-align: middle;
  text-align: center;
  line-height: 1.5;
}

.ourpeople .op-nav li.on {
  background: #62c1da;
  color: #fff;
}

.ourpeople .op-nav li:hover {
  opacity: 0.7;
}

.sp .ourpeople .op-nav {
  display: block;
  max-width: 100%;
  min-width: 0;
  white-space: nowrap;
  font-size: 0;
  overflow-x: scroll;
  -webkit-overflow-scrolling: touch;
}

.sp .ourpeople .op-nav li {
  display: inline-block;
  margin: 0 2.6666vw;
  width: auto;
  height: auto;
}

.sp .ourpeople .op-nav li span {
  display: block;
  min-width: 54.6666vw;
  height: 4.3em;
  font-size: 14px;
  line-height: 4.3em;
}

.sp .ourpeople .op-nav li span br {
  display: none;
}

.sp .ourpeople .op-nav li:hover {
  opacity: 1;
}

/* -------------------------------------------------- */
.ourpeople .op-face:after {
  display: block;
  clear: both;
  content: "";
}

.ourpeople .op-face li {
  position: relative;
  float: left;
  margin: -1px 0 0 -1px;
  border: 1px solid #8e8e8e;
  width: calc(100% / 10 + 1px);
  background: #000;
  cursor: pointer;
  overflow: hidden;
}

.ourpeople .op-face li img {
  opacity: 0.58;
  -webkit-transform: scale(1, 1);
  -ms-transform: scale(1, 1);
  transform: scale(1, 1);
  -webkit-transition-duration: 300ms;
  -o-transition-duration: 300ms;
  transition-duration: 300ms;
}

.ourpeople .op-face li:hover img {
  opacity: 1;
  -webkit-transform: scale(1.2, 1.2);
  -ms-transform: scale(1.2, 1.2);
  transform: scale(1.2, 1.2);
}

.ourpeople .op-face li.on img {
  opacity: 1;
}

.sp .ourpeople .op-face li {
  width: calc(20% + 1px);
}

.sp .ourpeople .op-face li:hover img {
  -webkit-transform: scale(1, 1);
  -ms-transform: scale(1, 1);
  transform: scale(1, 1);
}

/* -------------------------------------------------- */
.mfp-op.mfp-bg {
  background: #fff;
  opacity: 0;
  -webkit-transition: all 0.15s ease-out;
  -o-transition: all 0.15s ease-out;
  transition: all 0.15s ease-out;
}

.mfp-op.mfp-bg.mfp-ready {
  opacity: 0.75;
}

.mfp-op.mfp-bg.mfp-removing {
  opacity: 0;
}

.mfp-op.mfp-wrap .mfp-container {
  opacity: 0;
  -webkit-transition: all 0.15s ease-out;
  -o-transition: all 0.15s ease-out;
  transition: all 0.15s ease-out;
}

.mfp-op.mfp-wrap.mfp-ready .mfp-container {
  opacity: 1;
}

.mfp-op.mfp-wrap.mfp-removing .mfp-container {
  opacity: 0;
}

.mfp-op .mfp-content {
  width: 600px;
}

.mfp-op .mfp-arrow {
  margin-top: -40px;
  width: 80px;
  height: 80px;
  background-repeat: no-repeat;
  background-size: 100%;
  opacity: 1;
  -webkit-transition-duration: 200ms;
  -o-transition-duration: 200ms;
  transition-duration: 200ms;
}

.mfp-op .mfp-arrow:hover {
  opacity: 0.7;
}

.mfp-op .mfp-arrow:before, .mfp-op .mfp-arrow:after {
  display: none;
}

.mfp-op .mfp-arrow.mfp-arrow-left {
  margin-left: -400px;
  left: 50%;
  background-image: url("../../company/images/op_btn_back.png");
}

.mfp-op .mfp-arrow.mfp-arrow-right {
  margin-right: -400px;
  right: 50%;
  background-image: url("../../company/images/op_btn_next.png");
}

.mfp-op .mfp-close {
  top: -50px;
  width: 40px;
  height: 40px;
  background: url("../../company/images/op_btn_close.png") no-repeat center center;
  background-size: 30px;
  font-size: 0;
  opacity: 1;
  -webkit-transition-duration: 200ms;
  -o-transition-duration: 200ms;
  transition-duration: 200ms;
}

.mfp-op .mfp-close:hover {
  opacity: 0.7;
}

.sp .mfp-op .mfp-content {
  width: 68vw;
}

.sp .mfp-op .mfp-arrow {
  margin-top: -9vw;
  width: 18vw;
  height: 18vw;
}

.sp .mfp-op .mfp-arrow:hover {
  opacity: 1;
}

.sp .mfp-op .mfp-arrow.mfp-arrow-left {
  margin-left: 0;
  left: 1.5vw;
}

.sp .mfp-op .mfp-arrow.mfp-arrow-right {
  margin-right: 0;
  right: 1.5vw;
}

.sp .mfp-op .mfp-close {
  top: -12vw;
  width: 11vw;
  height: 11vw;
  background-size: 8vw;
}

.sp .mfp-op .mfp-close:hover {
  opacity: 1;
}

/* -------------------------------------------------- */
.op-modal {
  border: 1px solid #666;
  background: #fff url("../../company/images/op_bg.png") no-repeat -20px -10px;
  background-size: 100%;
}

.op-modal h3 {
  margin: 0;
  padding: 0.8em;
  background: #62c1da;
  text-align: center;
  font-size: 113%;
  line-height: 1.2;
  color: #fff;
}

.op-modal h3 span {
  font-size: 72%;
}

.op-modal div {
  height: 500px;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.op-modal figure {
  margin: 0 auto;
  padding-top: 40px;
  width: 130px;
}

.op-modal figure + dl {
  position: relative;
  padding: 0 1em 4em;
  text-align: center;
}

.op-modal figure + dl:after {
  display: block;
  position: absolute;
  bottom: 2em;
  left: 50%;
  margin-left: -2.5em;
  border-bottom: 1px solid #666;
  width: 5em;
  content: "";
}

.op-modal figure + dl dt {
  margin: 0.7em 0;
  font-size: 188%;
  line-height: 1.2;
}

.op-modal figure + dl dd {
  margin: 0;
  line-height: 1.6;
  color: #666;
}

.op-modal dl + dl {
  padding: 0 40px;
}

.op-modal dl + dl dt {
  font-size: 113%;
  font-weight: 600;
  line-height: 1.2;
}

.op-modal dl + dl dd {
  margin: 0.5em 0 0;
  padding-bottom: 2em;
  line-height: 1.6;
  color: #666;
}

.op-modal dl + dl dd i {
  font-style: italic;
}

.sp .op-modal {
  background-position: -10vw 5vw;
  background-size: 110%;
}

.sp .op-modal h3 {
  padding: 0.5em;
}

.sp .op-modal div {
  height: 100vw;
}

.sp .op-modal figure {
  padding-top: 4vw;
  width: 21.5vw;
}

.sp .op-modal figure + dl {
  font-size: 70%;
}

.sp .op-modal figure + dl span {
  display: block;
  font-size: 0;
}

.sp .op-modal dl + dl {
  padding: 0 4vw;
  font-size: 80%;
}
