/* hover
=================================================================== */
/* ================================================ vw */
/* ================================================ vh */
/* common
=================================================================== */
/* layout
=================================================================== */
/* video / iframe
=================================================================== */
/* imgCover
=================================================================== */
/* mask
=================================================================== */
/* background
=================================================================== */
/* flex
=================================================================== */
/* animation delay
=================================================================== */
/* 3d
=================================================================== */
/* font
=================================================================== */
/* textTate
=================================================================== */
/* form
=================================================================== */
/* ============================================================================================ service */
/* ================================================================== serviceNav */
.serviceNav__article {
  position: relative;
  width: 420px;
  margin-left: auto;
}

/* --------------------------------------- serviceNav__target */
.serviceNav__target::before, .serviceNav__target::after {
  content: " ";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  height: 1px;
  top: auto;
  bottom: 0;
}
.serviceNav__target::before {
  background-color: rgba(var(--color-black), 0.2);
}
.serviceNav__target::after {
  background-color: rgba(var(--color-black), 1);
  width: 0;
  left: auto;
  right: 0;
  transition-duration: 0.4s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 0.4s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 0.4s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 0.4s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}
.serviceNav__target:last-child::before, .serviceNav__target:last-child::after {
  display: none;
}
.serviceNav__target .arrowNext.arrowDown {
  right: 0;
}

/* --------------------------------------- serviceNav__target inner */
.serviceNav__target--inner {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
  padding-top: 18px;
  padding-bottom: 18px;
}
.serviceNav__target--inner .hoverText {
  align-self: center;
}

/* --------------------------------------- serviceNav__target */
.serviceNav__target {
  position: relative;
  padding-right: 40px;
}

.serviceNav__target--en .hoverText__base > span, .serviceNav__target--en .hoverText__position > span {
  font-size: 17px;
  height: 17px;
  line-height: 14px;
}

.serviceNav__target--jp .hoverText__base > span, .serviceNav__target--jp .hoverText__position > span {
  font-size: 13px;
}

/* ============================================================================================ serviceArticle */
.serviceArticle {
  position: relative;
  padding-top: 30px;
}
.serviceArticle::after {
  content: " ";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  height: 1px;
  top: 30px;
  background-color: rgba(var(--color-black), 0.2);
}

/* ============================================================================================ serviceSection */
.serviceSection {
  position: relative;
  padding-top: 45px;
  padding-bottom: 45px;
  overflow: hidden;
}

.serviceSection__underline {
  position: absolute;
  width: calc(100% - 70px);
  top: auto;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 0);
}
.serviceSection__underline::before, .serviceSection__underline::after {
  content: " ";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  height: 1px;
  top: auto;
  bottom: 0;
}
.serviceSection__underline::before {
  background-color: rgba(var(--color-black), 0.2);
}
.serviceSection__underline::after {
  background-color: rgba(var(--color-black), 1);
  width: 0;
  left: auto;
  right: 0;
  transition-duration: 0.4s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 0.4s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 0.4s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 0.4s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}

/* ================================================================== serviceSection__title */
.serviceSection__title {
  line-height: 1;
  text-align: left;
  white-space: nowrap;
}

.serviceSection__title--en {
  font-size: min(56 * 100 / 1366 * 1vw, 56px);
  margin-bottom: min(10 * 100 / 1366 * 1vw, 10px);
}

.serviceSection__title--jp {
  font-size: min(18 * 100 / 1366 * 1vw, 18px);
}

/* ================================================================== serviceSection__inner */
.serviceSection__inner {
  padding-top: 25px;
  width: min(1000 * 100 / 1366 * 1vw, 1000px);
  margin-left: auto;
}

/* --------------------------------------- serviceSection__detail */
.serviceSection__detail {
  width: 40%;
  min-height: calc(min(335 * 100 / 1366 * 1vw, 335px) + 25px);
  padding-right: min(70 * 100 / 1366 * 1vw, 70px);
  margin-bottom: 40px;
  text-align: left;
}

.serviceSection__detail--title {
  font-size: min(24 * 100 / 1366 * 1vw, 24px);
  line-height: 1.3;
  margin-bottom: 20px;
}

.serviceSection__detail--desc {
  font-size: min(14 * 100 / 1366 * 1vw, 14px);
  margin-bottom: 20px;
}

.serviceSection__detail--aside {
  padding-left: min(20 * 100 / 1366 * 1vw, 20px);
  border-left: 1px solid rgba(var(--color-black), 0.2);
}

/* --------------------------------------- serviceSection__thum */
.serviceSection__thum {
  position: absolute;
  right: 35px;
}

.serviceSection__thumList {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 6px;
  overflow: hidden;
}

.serviceSection__thumTarget {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.serviceSection__thumTarget img, .serviceSection__thumTarget video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ================================================================== serviceSection__related */
.serviceSection__related {
  position: relative;
  background-color: #fff;
  padding-top: 20px;
  padding-bottom: 20px;
  border-top-left-radius: 6px;
  border-bottom-left-radius: 6px;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
}

/* --------------------------------------- serviceSection__relatedLeader */
.serviceSection__relatedLeader {
  width: 175px;
  padding-left: 25px;
  padding-right: 25px;
}

.serviceSection__relatedLeader--title {
  font-size: 11px;
  line-height: 1;
}

/* --------------------------------------- serviceSection__relatedInner */
.serviceSection__relatedInner {
  width: calc(100% - 175px);
  overflow: hidden;
}

.serviceSection__relatedInner--slider {
  padding-right: 35px;
}
.serviceSection__relatedInner--slider .keen-slider:not([data-keen-slider-disabled]) {
  overflow: inherit;
}

/* --------------------------------------- #ssRelated--slider */
.keen-slider .worksBlock {
  width: 100%;
  height: 100%;
  margin: 0;
}
.keen-slider .worksBlock__inner {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
}
.keen-slider .worksBlock__inner .worksBlock__thum {
  width: 42.6666666667%;
}
.keen-slider .worksBlock__inner .worksBlock__info {
  width: 50.6666666667%;
  margin-top: 0;
  padding-right: min(30 * 100 / 1366 * 1vw, 30px);
}
.keen-slider .worksBlock__inner .worksBlock__thum, .keen-slider .worksBlock__inner .worksBlock__info {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: flex-end;
}
.keen-slider .worksBlock__title {
  margin-bottom: min(10 * 100 / 1366 * 1vw, 10px);
}
.keen-slider .worksBlock__title--p {
  font-size: min(12 * 100 / 1366 * 1vw, 12px);
}
.keen-slider .worksBlock__titleSub {
  min-height: min(25 * 100 / 1366 * 1vw, 25px);
}
.keen-slider .worksBlock__titleSub--p {
  font-size: min(10 * 100 / 1366 * 1vw, 10px);
  transform: scale(0.9);
  transform-origin: left center;
}
.keen-slider .worksBlock__co--p {
  font-size: min(10 * 100 / 1366 * 1vw, 10px);
}

/* --------------------------------------- #ssRelated--slider keenDots */
.serviceSection__related .keenDots {
  position: absolute;
  width: 175px;
  left: 0;
  bottom: 22px;
  padding-left: 25px;
  display: flex;
}
.serviceSection__related .keenDot {
  position: relative;
  width: 12px;
  height: 20px;
  cursor: pointer;
}
.serviceSection__related .keenDot::after {
  content: " ";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  width: 3px;
  height: 3px;
  border-width: 1px;
  border-style: solid;
  border-color: rgba(var(--color-black), 1);
  border-radius: 50%;
  background-color: rgba(var(--color-black), 0);
}
.serviceSection__related .keenDot.dot--active::after {
  background-color: rgba(var(--color-black), 1);
}
.serviceSection__related .keenArrow {
  display: none;
}

/* ================================================================== ssEventArea */
.ssEventArea {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
  z-index: 5;
}

/* --------------------------------------- toggleBtn */
.toggleBtn {
  position: absolute;
  width: 45px;
  height: 45px;
  left: 38px;
  bottom: 42px;
  border-width: 1px;
  border-style: solid;
  border-color: rgba(var(--color-black), 1);
  border-radius: 5px;
  z-index: 4;
  cursor: pointer;
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 0.5s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 0.5s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 0.5s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}

/* --------------------------------------- toggleBtn__icon */
.toggleBtn__icon {
  position: absolute;
  width: 9px;
  height: 1px;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
}
.toggleBtn__icon::before, .toggleBtn__icon::after {
  content: " ";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(var(--color-black), 1);
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 0.5s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 0.5s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 0.5s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}
.toggleBtn__icon::after {
  transform: rotate(90deg);
}

/* ================================================================== serviceSection active */
.serviceSection__thum {
  width: 22.3279648609%;
  width: 350px;
  height: min(155 * 100 / 1366 * 1vw, 155px);
  top: 45px;
  transition-duration: 0.8s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 0.8s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 0.8s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 0.8s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}

.serviceSection__detail, .serviceSection__related {
  opacity: 0;
  transform: translate(0, 10%);
  transition-duration: 0.2s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 0.2s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 0.2s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 0.2s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}

/* --------------------------------------- serviceSectio active */
.serviceSection {
  height: 245px;
}
.serviceSection.active {
  height: auto;
}
.serviceSection.active .serviceSection__underline::after {
  right: auto;
  left: 0;
  width: 100%;
  transition-delay: 0.3s;
  -webkit-transition-delay: 0.3s;
}
.serviceSection.active .serviceSection__inner {
  width: calc(1000 * 100 / 1366 * 1vw);
}
.serviceSection.active .serviceSection__thum {
  width: 43.1918008785%;
  height: min(335 * 100 / 1366 * 1vw, 335px);
  top: calc(min(84 * 100 / 1366 * 1vw, 84px) + 25px + 45px);
}
.serviceSection.active .serviceSection__detail, .serviceSection.active .serviceSection__related {
  opacity: 1;
  transform: translate(0, 0);
  transition-duration: 1s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 1s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 1s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 1s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  transition-delay: 0.3s;
  -webkit-transition-delay: 0.3s;
}
.serviceSection.active .ssEventArea {
  height: 145px;
}
.serviceSection.active .toggleBtn {
  pointer-events: all;
  cursor: pointer;
  background-color: rgba(var(--color-black), 1);
}
.serviceSection.active .toggleBtn .toggleBtn__icon::before, .serviceSection.active .toggleBtn .toggleBtn__icon::after {
  background-color: #fff;
  transform: rotate(0deg);
}

/* ============================================================================================ hover pc */
@media (hover: hover) and (pointer: fine) {
  .serviceNav__target:hover::after, .serviceNav__target:active::after {
    width: 100%;
    right: auto;
    left: 0;
  }
  .ssEventArea:hover ~ .serviceSection__underline::after, .ssEventArea:active ~ .serviceSection__underline::after {
    right: auto;
    left: 0;
    width: 100%;
  }
  .ssEventArea:hover .toggleBtn, .ssEventArea:active .toggleBtn {
    background-color: rgba(var(--color-black), 1);
  }
  .ssEventArea:hover .toggleBtn__icon::before, .ssEventArea:hover .toggleBtn__icon::after, .ssEventArea:active .toggleBtn__icon::before, .ssEventArea:active .toggleBtn__icon::after {
    background-color: #fff;
    transform: rotate(0deg);
  }
  .toggleBtn:hover, .toggleBtn:active {
    background-color: rgba(var(--color-black), 1);
  }
  .toggleBtn:hover .toggleBtn__icon::before, .toggleBtn:hover .toggleBtn__icon::after, .toggleBtn:active .toggleBtn__icon::before, .toggleBtn:active .toggleBtn__icon::after {
    background-color: #fff;
    transform: rotate(0deg);
  }
  .serviceSection.active .toggleBtn:hover, .serviceSection.active .toggleBtn:active {
    background-color: rgba(var(--color-black), 0.5);
  }
}/*# sourceMappingURL=service.css.map */