@charset "UTF-8";
#loading {
  position: absolute;
  left: 50%;
  top: 30%;
}
#loader-bg {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
  background: #fff;
  z-index: 10000;
}
.door_text {
  z-index: 10001;
  text-align: center;
  animation-duration: 1.2s;
  animation-name: door_text;
  opacity: 1;
  pointer-events: none;
  position: fixed !important;
}
.door_text h1 {
  line-height: 0.9;
}
.door_text h1 img {
  width: 28%;
  padding-right: 2%;
}
.door_text h1 + h2 {
  padding-top: 15px;
}
@keyframes door_text {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes load {
  0% {
    opacity: 0.08; /*         font-size: 10px; */ /* font-weight: 400; */
    filter: blur(5px);
    letter-spacing: 3px;
  }
  100% {
    /*         opacity: 1; */ /*         font-size: 12px; */ /* font-weight:600; */ /* filter: blur(0); */
  }
}
.animate {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  margin: auto;
  font-family: Helvetica, sans-serif, Arial;
  animation: load 1.2s infinite 0s ease-in-out;
  animation-direction: alternate;
  text-shadow: 0 0 1px white;
  padding-top: 5%;
}
* {
  letter-spacing: 0.1em;
}
@font-face {
  font-family: "eizi";
  src: url("../font/ADAM-CG-PRO.woff"), url("../font/ADAM-CG-PRO.eot"),
    url("../font/ADAM.CG PRO.otf");
  font-display: swap;
}
body {
  overflow: auto;
  font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", YuMincho,
    "MS P明朝", "MS PMincho", "Noto Serif JP", "serif";
  position: relative;
}
a {
  text-decoration: none;
  display: inline-block;
  outline: none;
}
section {
  width: 100%;
  height: 100vh;
  background-attachment: fixed;
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
  scroll-snap-align: start;
  background-color: #fff;
  position: relative;
  overflow: hidden;
}
.sp {
  display: none;
} /*section:nth-last-child(11){z-index: 11}section:nth-last-child(10){z-index: 10}section:nth-last-child(9){z-index: 9}section:nth-last-child(8){z-index: 8}section:nth-last-child(7){z-index: 7}section:nth-last-child(6){z-index: 6}section:nth-last-child(5){z-index: 5}section:nth-last-child(4){z-index: 4}section:nth-last-child(3){z-index: 3}section:nth-last-child(2){z-index: 2}section:nth-last-child(1){z-index: 1}*/
#wrap {
  overflow: hidden;
} /* ----- color -----*/
.white {
  color: #fff !important;
}
.black {
  color: #000 !important;
}
.red {
  color: rgba(191, 28, 27, 1) !important;
}
.orange {
  color: rgba(212, 121, 20, 1) !important;
}
.yellow {
  color: rgba(232, 187, 0, 1) !important;
}
.green {
  color: rgba(36, 137, 83, 1) !important;
}
.blue {
  color: rgba(6, 91, 171, 1) !important;
}
.navy {
  color: rgba(26, 65, 113, 1) !important;
}
.purple {
  color: rgba(71, 33, 131, 1) !important;
}
.gray {
  color: #ccc;
} /* ----- bg_color -----*/
.cont_bg {
  width: 100%;
  height: 100%;
  position: relative;
}
.white_bg {
  background-color: rgba(255, 255, 255, 1);
}
.red_bg {
  background-color: rgba(191, 28, 27, 0.3);
}
.orange_bg {
  background-color: rgba(212, 121, 20, 0.3);
}
.yellow_bg {
  background-color: rgba(232, 187, 0, 0.3);
}
.green_bg {
  background-color: rgba(36, 137, 83, 0.3);
}
.blue_bg {
  background-color: rgba(6, 91, 171, 0.3);
}
.navy_bg {
  background-color: rgba(26, 65, 113, 0.3);
}
.purple_bg {
  background-color: rgba(71, 33, 131, 0.3);
} /* ----- bg_color 下層 ----- */
.fill_red {
  background-color: rgba(191, 28, 27, 1);
}
.fill_orange {
  background-color: rgba(212, 121, 20, 1);
}
.fill_yellow {
  background-color: rgba(232, 187, 0, 1);
}
.fill_green {
  background-color: rgba(36, 137, 83, 1);
}
.fill_blue {
  background-color: rgba(6, 91, 171, 1);
}
.fill_navy {
  background-color: rgba(26, 65, 113, 1);
}
.fill_purple {
  background-color: rgba(71, 33, 131, 1);
}
.fill_rainbow {
  background-image: -webkit-linear-gradient(
    45deg,
    #065bab 0%,
    #472183 16%,
    #e8bb00 33%,
    #248953 50%,
    #1a4171 68%,
    #bf1c1b 83%,
    #d47914 100%
  );
  background-image: -moz-linear-gradient(
    45deg,
    #065bab 0%,
    #472183 16%,
    #e8bb00 33%,
    #248953 50%,
    #1a4171 68%,
    #bf1c1b 83%,
    #d47914 100%
  );
  background-image: -o-linear-gradient(
    45deg,
    #065bab 0%,
    #472183 16%,
    #e8bb00 33%,
    #248953 50%,
    #1a4171 68%,
    #bf1c1b 83%,
    #d47914 100%
  );
  background-image: linear-gradient(
    45deg,
    #065bab 0%,
    #472183 16%,
    #e8bb00 33%,
    #248953 50%,
    #1a4171 68%,
    #bf1c1b 83%,
    #d47914 100%
  );
  animation: AnimationName 9s ease infinite;
  background-size: 200% 200%;
  opacity: 0.6;
} /* ----- bg_color 出口系のドア ----- */
.door_red {
  background-color: rgba(191, 28, 27, 0.8);
}
.door_orange {
  background-color: rgba(212, 121, 20, 0.8);
}
.door_yellow {
  background-color: rgba(232, 187, 0, 0.8);
}
.door_green {
  background-color: rgba(36, 137, 83, 0.8);
}
.door_blue {
  background-color: rgba(6, 91, 171, 0.8);
}
.door_navy {
  background-color: rgba(26, 65, 113, 0.8);
}
.door_purple {
  background-color: rgba(71, 33, 131, 0.8);
}
.door_rainbow {
  background-image: -webkit-linear-gradient(
    45deg,
    #065bab 0%,
    #472183 16%,
    #e8bb00 33%,
    #248953 50%,
    #1a4171 68%,
    #bf1c1b 83%,
    #d47914 100%
  );
  background-image: -moz-linear-gradient(
    45deg,
    #065bab 0%,
    #472183 16%,
    #e8bb00 33%,
    #248953 50%,
    #1a4171 68%,
    #bf1c1b 83%,
    #d47914 100%
  );
  background-image: -o-linear-gradient(
    45deg,
    #065bab 0%,
    #472183 16%,
    #e8bb00 33%,
    #248953 50%,
    #1a4171 68%,
    #bf1c1b 83%,
    #d47914 100%
  );
  background-image: linear-gradient(
    45deg,
    #065bab 0%,
    #472183 16%,
    #e8bb00 33%,
    #248953 50%,
    #1a4171 68%,
    #bf1c1b 83%,
    #d47914 100%
  );
  animation: AnimationName 9s ease infinite;
  opacity: 0.4;
  background-size: 150% 150%;
}
.door_color {
  animation: coloring 3s linear infinite;
}
@keyframes coloring {
  0% {
    background-color: rgba(191, 28, 27, 0.3);
  }
  14.2% {
    background-color: rgba(212, 121, 20, 0.3);
  }
  28.4% {
    background-color: rgba(232, 187, 0, 0.3);
  }
  42.6% {
    background-color: rgba(36, 137, 83, 0.3);
  }
  56.8% {
    background-color: rgba(6, 91, 171, 0.3);
  }
  71% {
    background-color: rgba(26, 65, 113, 0.3);
  }
  85.2% {
    background-color: rgba(71, 33, 131, 0.3);
  }
  100% {
    background-color: rgba(191, 28, 27, 0.3);
  }
} /* ----- font -----*/
.ttl_01 {
  font-size: 90px;
  letter-spacing: 0.2em;
}
.ttl_02 {
  font-size: 30px;
}
.ttl_03 {
  font-size: 24px;
}
.ttl_05 {
  font-size: 18px;
  font-weight: bold;
}
.ttl_04 {
  font-size: 50px;
}
.number {
  font-size: 70em;
}
.contents {
  overflow: auto;
  scroll-snap-type: y mandatory;
  height: 100vh;
  scroll-snap-points-x: repeat(100vw);
  scroll-behavior: smooth;
}
.contents::-webkit-scrollbar {
  width: 3px;
}
.contents::-webkit-scrollbar-track {
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.3);
}
.contents::-webkit-scrollbar-thumb {
  border-radius: 4px;
  background: #000;
}
.clearfix:after {
  clear: both;
  content: "";
  display: block;
}
.inner {
  max-width: 1024px;
  margin: auto;
}
.fl,
.fr {
  position: relative;
  width: 50%;
  height: 100%;
}
.fl {
  float: left;
}
.fr {
  float: right;
}
.eizi {
  font-family: "eizi" !important;
}
.wrap {
  overflow: hidden;
}
.position_c,
.position_l,
.position_r {
  top: 50%;
  position: absolute;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 100%;
}
.position_c {
  left: 50%;
}
.position_r {
  left: 65%;
}
.position_l {
  left: 45%;
}
.number {
  position: absolute;
  bottom: -0.25em;
}
.ttl_vert {
  -webkit-writing-mode: vertical-rl; /* 縦書き */
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  -webkit-text-orientation: upright; /* Safari */
  text-orientation: upright;
}
.win_ttl {
  display: none;
} /* ----- 虹色 -----*/
.rainbow {
  background-image: -webkit-linear-gradient(
    45deg,
    #065bab 0%,
    #472183 16%,
    #e8bb00 33%,
    #248953 50%,
    #1a4171 68%,
    #bf1c1b 83%,
    #d47914 100%
  );
  background-image: -moz-linear-gradient(
    45deg,
    #065bab 0%,
    #472183 16%,
    #e8bb00 33%,
    #248953 50%,
    #1a4171 68%,
    #bf1c1b 83%,
    #d47914 100%
  );
  background-image: -o-linear-gradient(
    45deg,
    #065bab 0%,
    #472183 16%,
    #e8bb00 33%,
    #248953 50%,
    #1a4171 68%,
    #bf1c1b 83%,
    #d47914 100%
  );
  background-image: linear-gradient(
    45deg,
    #065bab 0%,
    #472183 16%,
    #e8bb00 33%,
    #248953 50%,
    #1a4171 68%,
    #bf1c1b 83%,
    #d47914 100%
  );
  position: absolute;
  background-blend-mode: soft-light;
  width: 100%;
  height: 100%;
  z-index: 12;
  opacity: 0.25;
  animation: AnimationName 9s ease infinite;
  background-size: 200% 200%;
}
.rainbow_color {
  opacity: 0.5 !important;
}
@keyframes AnimationName {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
} /* ----- moreボタン -----*/
.btn {
  display: inline-block;
  padding: 22px 0 18px;
  width: 200px;
  color: #fff;
  border: solid 1px #fff;
  background: url("../img/common/arrow_w.svg"), rgba(0, 0, 0, 0.8);
  background-position: 90% 50%;
  background-repeat: no-repeat;
  background-size: 10%;
  transition: 0.8s ease;
}
.btn:hover,
.btn_02:hover,
.btn_r:hover,
.btn_l:hover {
  opacity: 0.6;
} /* ----- scrollボタン -----*/
.scroll_btn_w,
.scroll_btn_b {
  position: absolute;
  bottom: 45px;
  z-index: 2;
  display: inline-block;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  text-decoration: none;
  z-index: 20;
  padding-right: 17px;
  background-size: 10%;
}
.scroll_btn_w {
  color: #fff;
}
.scroll_btn_b {
  color: #000;
}
.scroll_btn_w span::before,
.scroll_btn_w span,
.scroll_btn_b span::before,
.scroll_btn_b span {
  position: absolute;
  top: 34px;
  left: 50%;
  width: 1px;
  height: 50px;
  box-sizing: border-box;
  margin-left: -1px;
}
.scroll_btn_w span::before,
.scroll_btn_w span {
  border: 2px solid #fff;
  background-color: #fff;
}
.scroll_btn_b span::before,
.scroll_btn_b span {
  border: 1px solid #000;
  background-color: #000;
}
.scroll_btn_w span::before,
.scroll_btn_b span::before {
  position: absolute;
  top: 40px;
  left: 50%;
  content: "";
  width: 10px;
  height: 10px;
  margin-left: -5px;
  border-radius: 100%;
  -webkit-animation: sdb 2s infinite;
  animation: sdb 2s infinite;
  box-sizing: border-box;
}
.red_scroll span::before {
  background-color: rgba(191, 28, 27, 1);
  border: 1px solid rgba(191, 28, 27, 1);
}
.orange_scroll span::before {
  background-color: rgba(212, 121, 20, 1);
  border: 1px solid rgba(212, 121, 20, 1);
}
.yellow_scroll span::before {
  background-color: rgba(232, 187, 0, 1);
  border: 1px solid rgba(232, 187, 0, 1);
}
.green_scroll span::before {
  background-color: rgba(36, 137, 83, 1);
  border: 1px solid rgba(36, 137, 83, 1);
}
.blue_scroll span::before {
  background-color: rgba(6, 91, 171, 1);
  border: 1px solid rgba(6, 91, 171, 1);
}
.navy_scroll span::before {
  background-color: rgba(26, 65, 113, 1);
  border: 1px solid rgba(26, 65, 113, 1);
}
.purple_scroll span::before {
  background-color: rgba(71, 33, 131, 1);
  border: 1px solid rgba(71, 33, 131, 1);
}
.scroll_btn_w.scroll_down {
  text-shadow: 0px 0px 15px rgba(0, 0, 0, 0.8);
}
.scroll_btn_w.scroll_down span::before {
  top: 10px;
  -webkit-animation: sdb2 2s infinite;
  animation: sdb2 2s infinite;
}
@-webkit-keyframes sdb {
  0% {
    -webkit-transform: translate(0, 0);
    opacity: 0;
  }
  40% {
    opacity: 1;
  }
  80% {
    -webkit-transform: translate(0, -30px);
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
@keyframes sdb {
  0% {
    transform: translate(0, 0);
    opacity: 0;
  }
  40% {
    opacity: 1;
  }
  80% {
    transform: translate(0, -30px);
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
@-webkit-keyframes sdb2 {
  0% {
    -webkit-transform: translate(0, 0);
    opacity: 0;
  }
  40% {
    opacity: 1;
  }
  80% {
    -webkit-transform: translate(0, 30px);
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
@keyframes sdb2 {
  0% {
    transform: translate(0, 0);
    opacity: 0;
  }
  40% {
    opacity: 1;
  }
  80% {
    transform: translate(0, 30px);
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
} /* ----- copylight -----*/
.copylight {
  font-size: 14px;
  transform: rotate(90deg);
  -moz-transform: rotate(90deg);
  -webkit-transform: rotate(90deg);
  -o-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  z-index: 100;
  position: fixed;
  top: 50% !important;
  width: 500px !important;
  left: -200px !important;
  text-align: center;
}
.midnightHeader.default {
  font-family: "eizi" !important;
  opacity: 0;
}
.midnightHeader,
.midnightInner,
.midnightHeader.default {
  -moz-transition-duration: 0.3s;
  -webkit-transition-duration: 0.3s;
  -o-transition-duration: 0.3s;
  -ms-transition-duration: 0.3s;
}
.midnightHeader.copy_b,
.breadclamb .midnightHeader.br_b {
  color: #000;
  font-family: "eizi" !important;
}
.midnightHeader.copy_w,
.breadclamb .midnightHeader.br_w {
  color: #fff;
  font-family: "eizi" !important;
}
.midnightHeader.default,
.midnightHeader.copy_b,
.midnightHeader.copy_w,
.midnightInnermidnightInner,
.midnightInnermidnightInner * {
  font-family: "eizi" !important;
} /*----- パンくず -----*/
.breadclamb {
  font-size: 14px;
  z-index: 100;
  top: 50% !important;
  right: -92% !important;
  text-align: center;
  transform: rotate(-90deg);
  -moz-transform: rotate(-90deg);
  -webkit-transform: rotate(-90deg);
  -o-transform: rotate(-90deg);
  -ms-transform: rotate(-90deg);
}
.breadclamb a {
  color: inherit;
}
.top section:nth-last-child(5) .img_area,
.member .img_area {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  overflow: hidden;
} /* --- 背景の指定 ------------------------------------------- */
.box .bgImg {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  opacity: 0;
  animation: bgAnime 15s infinite;
  background-attachment: fixed;
  background-size: 65%;
  background-position: 0% 10%;
}
@keyframes bgAnime {
  0% {
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  30% {
    opacity: 1;
  }
  40% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
} /* ----- 下層ページ用 ----- */
@keyframes fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
#img_btn,
#img_btn2 {
  cursor: pointer;
}
.lightbox,
.lightbox2 {
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  display: none;
  height: 100vh;
  width: 100%;
  background-color: rgba(255, 255, 255, 0.9);
  opacity: 0;
  transition: 0.8s ease;
}
.lightbox img,
.lightbox2 img {
  top: 50%;
  left: 50%;
  height: 620px;
  position: absolute;
  transform: translate(-50%, -50%);
  object-fit: contain;
  font-family: "object-fit: contain;";
}
.lightbox #close_btn,
.lightbox2 #close_btn2 {
  bottom: 8%;
  left: 50%;
  position: absolute;
  transform: translate(-50%, 0);
  color: #000;
  cursor: pointer;
}
.lightbox.open,
.lightbox2.open {
  display: block;
  animation: fadein 0.8s ease forwards;
  z-index: 1000;
  overflow: hidden;
}
.sub_mv .position_c {
  z-index: 50;
}
.ttl_ruby {
  font-size: 22px;
  text-align: center;
}
.text_bg {
  background-color: rgba(255, 255, 255, 0.7);
  text-align: center;
  padding: 5% 3%;
  width: 65%;
  box-shadow: 0px 0px 12px -6px #000;
}
a.door_sub {
  display: block;
}
.door_sub {
  width: 200px;
  height: 350px;
  border: 5px solid #fff;
  box-sizing: border-box;
  position: relative;
  margin: 0 auto;
  box-shadow: 3px 3px 8px rgba(0, 0, 0, 0.7);
  transition: 0.8s ease;
}
.door_sub span {
  width: 190px;
  height: 340px;
  position: absolute;
  right: 0;
  top: 0;
  transform-origin: right top;
}
.door_sub span .nob {
  width: 20px;
  height: 20px;
  position: absolute;
  background-color: #000;
  border-radius: 50%;
  left: 5%;
  top: 45%;
}
.door_sub .number {
  font-size: 20em;
}
section:first-child .fl .door_sub,
section:first-child .fr .door_sub {
  z-index: 1;
}
section:first-child .fl .btn_02,
section:first-child .fr .btn {
  z-index: 4;
}
section:first-child .fl .btn_02:hover + .door_sub span,
section:first-child .fr .btn:hover + .door_sub span,
.concept section:nth-last-child(2) .fl .position_c .door_sub span:hover {
  width: 75%;
  transform: skewY(-30deg);
  transition: 0.8s ease;
  opacity: 0.8;
  box-shadow: 0px 0px 2px 0px rgba(0, 0, 0, 0.3);
}
section:first-child .fl .btn_02:hover + .door_sub .eizi,
section:first-child .fr .btn:hover + .door_sub .eizi {
  transform: translate3d(-14%, 0, 0) scale(0.7, 1);
  transition: 0.8s ease;
}
.btm_square {
  width: 100%;
  height: 15%;
  bottom: 0;
  position: absolute;
}
ul.l_r {
  height: 100%;
}
ul.l_r li {
  height: 50%;
}
ul.l_r li div,
ul.l_r li dl {
  width: 50%;
  height: 100%;
  float: left;
  color: #fff;
}
ul.l_r li:nth-child(1) div:first-child {
  float: right;
}
ul.l_r li div img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  font-family: "object-fit: cover;";
}
ul.l_r li dl dt {
  font-size: 20px;
  text-align: center;
  line-height: 2;
  padding-bottom: 5%;
}
ul.l_r li:nth-child(1) dl {
  padding: 10% 1% 0 10%;
  box-sizing: border-box;
}
ul.l_r li:nth-child(2) dl {
  padding: 3% 10% 0 1%;
  box-sizing: border-box;
}
.btn_02 {
  display: inline-block;
  padding: 22px 0 18px;
  width: 200px;
  color: #fff;
  text-align: center;
  border: solid 1px #fff;
  background: url("../img/common/arrow_l.svg"), rgba(0, 0, 0, 0.8);
  background-position: 10% 50%;
  background-repeat: no-repeat;
  background-size: 10%;
  transition: 0.8s ease;
}
.stairs_sub {
  font-size: 20px;
  position: absolute;
  top: 15%;
  width: 70%;
}
.stairs_sub a {
  position: relative;
  text-align: left;
  width: 100%;
  line-height: 0.4;
  color: #fff;
}
.stairs_sub a::before {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #000;
  top: 68%;
}
.stairs_sub li:nth-child(1) a span {
  width: 15px;
  height: 22px;
  box-sizing: border-box;
  border: solid 1px #000;
  display: inline-block;
  margin-right: 5px;
  position: relative;
}
.stairs_sub li:nth-child(1) a span::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  background-color: #000;
  transform: translate3d(0, 0, 0);
  opacity: 0.9;
}
.stairs_sub li:nth-child(1) a span::after {
  content: "";
  position: absolute;
  width: 3px;
  height: 3px;
  left: 0;
  top: 50%;
  box-sizing: border-box;
  background-color: #fff;
  border-radius: 50%;
  opacity: 0.8;
  box-shadow: 0px 0px 1px 0.1px rgba(255, 255, 255, 0.3);
}
.stairs_sub li:nth-child(1) a:hover::after {
  content: "";
  width: 15px;
  height: 15px;
  background-position: center;
  position: absolute;
  left: 0px;
  top: 15%;
  transition: 1s;
  background-color: rgba(255, 255, 255, 0.5);
  box-shadow: 0px 0px 15px 3px #fff;
  box-sizing: border-box;
  border-radius: 50%;
}
.stairs_sub li:nth-last-child(1) a {
  padding-left: 55%;
}
.stairs_sub li:nth-last-child(2) a {
  padding-left: 58%;
}
.stairs_sub li:nth-last-child(3) a {
  padding-left: 61%;
}
.stairs_sub li:nth-last-child(4) a {
  padding-left: 64%;
}
.stairs_sub li:nth-last-child(5) a {
  padding-left: 67%;
}
.stairs_sub li:nth-last-child(6) a {
  padding-left: 70%;
}
.stairs_sub li:nth-last-child(7) a {
  padding-left: 73%;
}
.stairs_sub li:nth-last-child(8) a {
  padding-left: 76%;
}
.stairs_sub li:nth-last-child(9) a {
  padding-left: 79%;
}
.stairs_sub li:nth-last-child(10) a {
  padding-left: 82%;
}
.stairs_sub li:nth-last-child(11) a {
  padding-left: 85%;
}
.stairs_sub li:nth-last-child(1) a::before {
  width: 34%;
}
.stairs_sub li:nth-last-child(2) a::before {
  width: 35%;
}
.stairs_sub li:nth-last-child(3) a::before {
  width: 36%;
}
.stairs_sub li:nth-last-child(4) a::before {
  width: 37%;
}
.stairs_sub li:nth-last-child(5) a::before {
  width: 38%;
}
.stairs_sub li:nth-last-child(6) a::before {
  width: 39%;
}
.stairs_sub li:nth-last-child(7) a::before {
  width: 40%;
}
.stairs_sub li:nth-last-child(8) a::before {
  width: 41%;
}
.stairs_sub li:nth-last-child(9) a::before {
  width: 42%;
}
.stairs_sub li:nth-last-child(10) a::before {
  width: 43%;
}
.stairs_sub li:nth-last-child(11) a::before {
  width: 44%;
}
.stairs_sub li:nth-last-child(2) a:hover {
  color: rgb(191, 28, 27) !important;
}
.stairs_sub li:nth-last-child(3) a:hover {
  color: rgb(212, 121, 20) !important;
}
.stairs_sub li:nth-last-child(4) a:hover {
  color: rgb(232, 187, 0) !important;
}
.stairs_sub li:nth-last-child(5) a:hover {
  color: rgb(36, 137, 83) !important;
}
.stairs_sub li:nth-last-child(6) a:hover {
  color: rgb(6, 91, 171) !important;
}
.stairs_sub li:nth-last-child(7) a:hover {
  color: rgb(26, 65, 113) !important;
}
.stairs_sub li:nth-last-child(8) a:hover {
  color: rgb(71, 33, 131) !important;
}
.stairs_sub ul li a {
  color: #000;
}
.stairs_sub li a:hover {
  transition: 1s;
  opacity: 0.6;
  color: #000;
  text-shadow: 0px 0px 0px #eee, 0px 0px 2px #eee;
}
.stairs_sub li:nth-child(1) a:hover span::before {
  width: 70%;
  transform: skewX(-35deg);
  transform: translate3d(50%, 14%, 0) skewY(-35deg);
  transition: 0.8s;
  opacity: 0.8;
}
.stairs_sub li:nth-child(1) a:hover span::after {
  width: 2px;
  height: 2px;
  left: 5px;
  top: 70%;
  border-radius: 60%;
  transition: 0.8s;
}
.concept section:nth-last-child(10) .fl .door_sub,
.company section:nth-last-child(8) .fl .door_sub,
.works section:nth-last-child(9) .fl .door_sub,
.member section:first-child .fl .door_sub,
.environment section:first-child .fl .door_sub,
.training section:first-child .fl .door_sub,
.career section:first-child .fl .door_sub,
.column_list section:first-child .fl .door_sub,
.qanda section:first-child .fl .door_sub {
  position: absolute;
  bottom: -2%;
  left: 20%;
}
.concept section:nth-last-child(10) .fl h2,
.company section:nth-last-child(8) .fl h2,
.works section:nth-last-child(9) .fl h2,
.member section:first-child .fl h2,
.environment section:first-child .fl h2,
.training section:first-child .fl h2,
.career section:first-child .fl h2,
.column_list section:first-child .fl h2,
.qanda section:first-child .fl h2 {
  position: absolute;
  left: 45%;
  bottom: 23%;
  z-index: 2;
}
.concept section:nth-last-child(10) .fl .btn_02,
.company section:nth-last-child(8) .fl .btn_02,
.works section:nth-last-child(9) .fl .btn_02,
.member section:first-child .fl .btn_02,
.environment section:first-child .fl .btn_02,
.training section:first-child .fl .btn_02,
.career section:first-child .fl .btn_02,
.column_list section:first-child .fl .btn_02,
.qanda section:first-child .fl .btn_02 {
  position: absolute;
  bottom: 6%;
  left: 47%;
}
.concept section:nth-last-child(10) .fr .door_sub,
.company section:nth-last-child(8) .fr .door_sub,
.works section:nth-last-child(9) .fr .door_sub,
.member section:first-child .fr .door_sub,
.environment section:first-child .fr .door_sub,
.training section:first-child .fr .door_sub,
.career section:first-child .fr .door_sub,
.column_list section:first-child .fr .door_sub,
.qanda section:first-child .fr .door_sub {
  position: absolute;
  top: 42%;
  left: 8%;
}
.concept section:nth-last-child(10) .fr h2,
.company section:nth-last-child(8) .fr h2,
.works section:nth-last-child(9) .fr h2,
.member section:first-child .fr h2,
.environment section:first-child .fr h2,
.training section:first-child .fr h2,
.career section:first-child .fr h2,
.column_list section:first-child .fr h2,
.qanda section:first-child .fr h2 {
  top: 36%;
  left: 35%;
  position: absolute;
  z-index: 2;
}
.concept section:nth-last-child(10) .fr .btn,
.company section:nth-last-child(8) .fr .btn,
.works section:nth-last-child(9) .fr .btn,
.member section:first-child .fr .btn,
.environment section:first-child .fr .btn,
.training section:first-child .fr .btn,
.career section:first-child .fr .btn,
.column_list section:first-child .fr .btn,
.qanda section:first-child .fr .btn {
  position: absolute;
  bottom: 34%;
  left: 35%;
  text-align: center;
}
.rainbow_f {
  white-space: nowrap;
  background-image: -webkit-linear-gradient(
    45deg,
    #065bab 0%,
    #472183 16%,
    #e8bb00 33%,
    #248953 50%,
    #1a4171 68%,
    #bf1c1b 83%,
    #d47914 100%
  );
  background-image: -moz-linear-gradient(
    45deg,
    #065bab 0%,
    #472183 16%,
    #e8bb00 33%,
    #248953 50%,
    #1a4171 68%,
    #bf1c1b 83%,
    #d47914 100%
  );
  background-image: -o-linear-gradient(
    45deg,
    #065bab 0%,
    #472183 16%,
    #e8bb00 33%,
    #248953 50%,
    #1a4171 68%,
    #bf1c1b 83%,
    #d47914 100%
  );
  background-image: linear-gradient(
    45deg,
    #065bab 0%,
    #472183 16%,
    #e8bb00 33%,
    #248953 50%,
    #1a4171 68%,
    #bf1c1b 83%,
    #d47914 100%
  );
  animation: AnimationName 9s ease infinite;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  opacity: 0.6;
  z-index: 2;
} /* ----- Headr -----*/
#header {
  width: 100%;
  background-color: rgba(0, 0, 0, 0.8);
  box-sizing: border-box;
  height: 70px;
  z-index: 1000;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
#header li:last-child a {
  pointer-events: auto !important;
}
#logo {
  margin: 0px 10px;
  width: 100%;
  max-width: 170px;
  padding-top: 3px;
}
#logo img {
  width: 100%;
}
.site-ttl {
  position: absolute;
  right: 6%;
  top: 10px;
  overflow: hidden;
  padding-bottom: 6px;
}
.site-ttl a {
  font-weight: bold;
  font-size: 28px;
  position: relative;
  color: #fff;
  margin-top: 13px;
}
.site-ttl:before,
.site-ttl:after {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  background-color: #fff;
  top: 0;
  left: -100%;
  -webkit-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.site-ttl:after {
  bottom: 0 !important;
  top: auto !important;
  right: -100%;
  left: auto;
}
.site-ttl:hover:before {
  left: 0;
}
.site-ttl:hover:after {
  right: 0;
}
.top-header {
  position: fixed;
}
.menu-btn {
  position: fixed;
  right: 0;
  width: 60px;
  height: 60px;
  line-height: 1;
  font-size: 12px;
  text-align: center;
  cursor: pointer;
  z-index: 1;
}
.menubox {
  position: absolute;
  top: 45%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 30px;
}
.menu-btn span {
  color: #fff;
  border: 1px solid #fff;
  width: 100%;
  display: inline-block;
  transition: 0.3s;
}
.menu-btn span:last-child {
  border: none !important;
  margin-left: -5px;
  padding-top: 5px;
}
.open .menu-btn span {
  border: 1px solid #fff;
}
.open .menu-btn span:nth-child(1) {
  transform: translateY(12px) rotate(45deg);
}
.open .menu-btn span:nth-child(2) {
  opacity: 0;
}
.open .menu-btn span:nth-child(3) {
  transform: translateY(-12px) rotate(-45deg);
}
.menu {
  position: fixed;
  display: table;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  visibility: hidden;
  opacity: 0;
}
.menu ul {
  display: table-cell;
  vertical-align: middle;
  padding: 0;
}
.menu li {
  width: 300px;
  height: auto;
  list-style: none;
  line-height: 2;
  margin: 0 auto;
  text-align: center;
}
.menu li a {
  display: block;
  font-size: 18px;
  color: #fff;
  padding: 2px;
  text-decoration: none;
  text-align: left;
  border-bottom: solid 1px;
}
.menu .type4-menu a {
  position: relative;
  text-align: center;
  overflow: hidden;
  padding: 10px 22px;
  letter-spacing: 0.1em;
}
.menu .type4-menu a::after {
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  content: "";
  width: 0%;
  height: 2px;
  background-image: -webkit-linear-gradient(0deg, #ff0000 0%, #00a0e9 100%);
  background-image: -moz-linear-gradient(0deg, #ff0000 0%, #00a0e9 100%);
  background-image: -ms-linear-gradient(90deg, #ff0000 0%, #00a0e9 100%);
  background-image: -o-linear-gradient(0deg, #ff0000 0%, #00a0e9 100%);
  background-image: linear-gradient(90deg, #ff0000 0%, #00a0e9 100%);
  transition: all 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955);
  background-size: 200% 200%;
  animation: AnimationName 9s ease infinite;
}
.menu .type4-menu a span {
  display: block;
  width: 100%;
  margin: 0 auto;
  transition: all 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955);
}
.menu .type4-menu a span.ja {
  position: absolute;
  top: 100%;
  left: 0%;
  font-size: 14px;
  font-weight: bold;
  white-space: nowrap;
  color: #fff;
}
.menu .type4-menu a:hover::after {
  width: 100%;
}
.menu .type4-menu a:hover span.en {
  transform: translate(0%, -150%);
}
.menu .type4-menu a:hover span.ja {
  top: 25%;
} /* 開閉用ボタンがクリックされた時のスタイル */
.open .menu {
  cursor: url(../img/common/close.png), auto;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  visibility: visible;
  opacity: 1;
}
.door {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
} /*Windows対応*/
.win .btn,
.win .btn_02 {
  padding: 18px 0 22px;
}
.pager {
  padding: 5% 0;
}
.page-numbers {
  text-align: center;
}
.pager .page-numbers li {
  margin: 0 10px;
  padding: 0;
  display: inline-block;
  width: 26px;
  height: 24px;
  text-align: center;
  position: relative;
}
.pager .page-numbers span.page-numbers {
  color: #fff;
  display: table-cell;
  vertical-align: middle;
  text-align: center;
  width: 26px;
  height: 24px;
  padding-top: 2px;
  font-family: "eizi" !important;
}
.pager .page-numbers li a {
  width: 26px;
  height: 24px;
  text-align: center;
  display: table-cell;
  text-decoration: none;
  vertical-align: middle;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  color: #000;
  padding-top: 2px;
  font-family: "eizi" !important;
}
.win .pager .page-numbers li a {
  padding-bottom: 6px;
}
.win .pager .page-numbers span.page-numbers {
  padding-bottom: 5px;
}
.pager .page-numbers li a:hover,
.pager .page-numbers li .current {
  color: #fff;
  background: #000;
}
@media screen and (max-height: 780px) {
  .ttl_01 {
    font-size: 62px;
    letter-spacing: 0.1em;
  }
  .ttl_04 {
    font-size: 40px;
  }
  .number {
    font-size: 52.5em;
  }
  .stairs_nav {
    bottom: 3%;
  }
  .win .site-ttl a {
    margin-top: 6px;
  }
  .text_bg {
    padding: 3%;
    font-size: 15px;
    line-height: 1.4;
  }
  ul.l_r li dl dt {
    padding-bottom: 1%;
  }
  ul.l_r li:nth-child(1) dl {
    padding: 5.5% 2% 0 9%;
  }
  ul.l_r li:nth-child(2) dl {
    padding: 1% 9% 0 2%;
  }
  .door_sub {
    width: 180px;
    height: 290px;
  }
  .door_sub span {
    width: 170px;
    height: 280px;
  }
  .door_sub .number {
    font-size: 18em;
  }
  .stairs_sub {
    font-size: 16px;
  }
  .scroll_btn_w,
  .scroll_btn_b {
    font-size: 14px;
  }
  .ttl_ruby {
    font-size: 18px;
  }
  .lightbox img,
  .lightbox2 img {
    height: 450px;
  }
}
@media screen and (max-height: 680px) {
  .stairs_sub {
    line-height: 1.2;
  }
}
@media screen and (max-height: 600px) {
  .number {
    font-size: 42em;
  }
  .ttl_01 {
    font-size: 46px;
    letter-spacing: 0.1em;
  }
  .lightbox img,
  .lightbox2 img {
    height: 500px;
  }
  .lightbox #close_btn,
  .lightbox2 #close_btn2 {
    bottom: 3%;
  }
}
@media screen and (max-width: 1024px) {
  html.ipad {
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
  .contents {
    overflow: inherit;
    height: 100%;
  }
  #header {
    height: 60px;
  }
  #logo {
    max-width: 135px;
    padding-top: 5px;
  }
  .site-ttl a {
    margin-top: 10px;
  }
  p,
  .stairs_sub {
    font-size: 14px;
  }
  .ttl_03 {
    font-size: 22px;
  }
  .ttl_04 {
    font-size: 36px;
  }
  .copylight {
    left: -230px !important;
  }
  .breadclamb {
    right: -94% !important;
  }
  .ttl_01 {
    font-size: 46px;
    letter-spacing: 0.1em;
  }
  .number {
    font-size: 52em;
  }
  .stairs_nav {
    bottom: 3%;
  }
  .btn,
  .btn_02 {
    padding: 20px 0 16px;
    width: 160px;
  }
  ul.l_r li dl dt {
    font-size: 18px;
    padding: 3% 0;
  }
  ul.l_r li dl dd {
    font-size: 14px;
    line-height: 1.7;
  }
  .lightbox #close_btn,
  .lightbox2 #close_btn2 {
    bottom: 5%;
  }
  .ipad .sp {
    display: inline-block;
  }
}
@media screen and (max-width: 768px) {
  .pc {
    display: none;
  }
  .sp {
    display: inline-block;
  }
  section {
    overflow: inherit;
  }
  .top section div.door {
    background-color: transparent;
  }
  section::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100vh;
    background-position: top center;
    background-repeat: no-repeat;
    background-size: cover;
  }
  .number {
    font-size: 55em;
  }
  .site-ttl {
    margin-right: 25px;
  }
  .site-ttl a {
    font-size: 24px;
  }
  .menu li a {
    font-size: 14px;
  }
  .door_text h1 + h2 {
    padding-top: 1%;
  }
  .door_text h1 + h2 + h2 {
    line-height: 1em;
  }
  .ttl_01 {
    font-size: 60px;
  }
  .ttl_01 .white {
    line-height: 1.2;
  }
  .scroll_btn_w {
    text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.4);
  }
  .scroll_btn_b,
  .scroll_btn_b .white {
    text-shadow: 0px 0px 5px rgba(255, 255, 255, 0.4);
  }
  .ttl_03 {
    font-size: 18px;
  }
  .ttl_04 {
    font-size: 30px;
  }
  .ttl_05 {
    font-size: 16px;
  }
  .ttl_ruby {
    font-size: 16px;
  }
  ul.nav_list {
    display: none;
  }
  .fl,
  .fr {
    width: 100%;
    height: 50%;
    float: none;
  }
  .scroll_btn_w,
  .scroll_btn_b {
    bottom: 30px;
    font-size: 12px;
    padding-right: 0;
  }
  .scroll_btn_w span,
  .scroll_btn_b span {
    top: 30px;
    height: 35px;
    border: 0px solid #fff !important;
  }
  .scroll_btn_w span::before,
  .scroll_btn_b span::before {
    top: 30px;
  }
  .scroll_btn_w.scroll_down span::before {
    top: 0;
  }
  .midnightHeader.copy_w,
  .breadclamb .midnightHeader.br_w {
    text-shadow: 0px 0px 3px rgba(0, 0, 0, 0.4);
  }
  .top section:nth-last-child(5) .img_area .box,
  .member .box {
    height: 100%;
  }
  .door_sub {
    width: 180px;
    height: 280px;
  }
  .door_sub span {
    width: 170px;
    height: 270px;
  }
  .concept section:nth-last-child(10) .fr,
  .company section:nth-last-child(8) .fr,
  .works section:nth-last-child(9) .fr,
  .member section:first-child .fr,
  .environment section:first-child .fr,
  .training section:first-child .fr,
  .career section:first-child .fr,
  .column_list section:first-child .fr,
  .qanda section:first-child .fr,
  .concept section:nth-last-child(10) .fl,
  .company section:nth-last-child(8) .fl,
  .works section:nth-last-child(9) .fl,
  .member section:first-child .fl,
  .environment section:first-child .fl,
  .training section:first-child .fl,
  .career section:first-child .fl,
  .column_list section:first-child .fl,
  .qanda section:first-child .fl {
    width: 50%;
    height: 100%;
    float: left;
    overflow: initial;
  }
  .concept section:nth-last-child(10) .fr .door_sub,
  .company section:nth-last-child(8) .fr .door_sub,
  .works section:nth-last-child(9) .fr .door_sub,
  .member section:first-child .fr .door_sub,
  .environment section:first-child .fr .door_sub,
  .training section:first-child .fr .door_sub,
  .career section:first-child .fr .door_sub,
  .column_list section:first-child .fr .door_sub,
  .qanda section:first-child .fr .door_sub {
    top: 38%;
  }
  .concept section:nth-last-child(10) .fr .btn,
  .company section:nth-last-child(8) .fr .btn,
  .works section:nth-last-child(9) .fr .btn,
  .member section:first-child .fr .btn,
  .environment section:first-child .fr .btn,
  .training section:first-child .fr .btn,
  .career section:first-child .fr .btn,
  .column_list section:first-child .fr .btn,
  .qanda section:first-child .fr .btn {
    bottom: 37%;
    left: 50%;
  }
  .concept section:nth-last-child(10) .fr h2,
  .company section:nth-last-child(8) .fr h2,
  .works section:nth-last-child(9) .fr h2,
  .member section:first-child .fr h2,
  .environment section:first-child .fr h2,
  .training section:first-child .fr h2,
  .career section:first-child .fr h2,
  .column_list section:first-child .fr h2,
  .qanda section:first-child .fr h2 {
    top: 24%;
  }
  .concept section:nth-last-child(10) .fl h2,
  .company section:nth-last-child(8) .fl h2,
  .works section:nth-last-child(9) .fl h2,
  .member section:first-child .fl h2,
  .environment section:first-child .fl h2,
  .training section:first-child .fl h2,
  .career section:first-child .fl h2,
  .column_list section:first-child .fl h2,
  .qanda section:first-child .fl h2 {
    bottom: 28%;
  }
  .concept section:nth-last-child(10) .fl .btn_02,
  .company section:nth-last-child(8) .fl .btn_02,
  .works section:nth-last-child(9) .fl .btn_02,
  .member section:first-child .fl .btn_02,
  .environment section:first-child .fl .btn_02,
  .training section:first-child .fl .btn_02,
  .career section:first-child .fl .btn_02,
  .column_list section:first-child .fl .btn_02,
  .qanda section:first-child .fl .btn_02 {
    left: 55%;
  }
  .door_sub .number {
    font-size: 18em;
  }
  .btm_square {
    height: 30%;
  }
  ul.l_r li div,
  ul.l_r li:nth-child(1) div:first-child,
  ul.l_r li dl {
    float: none;
    width: 100%;
  }
  ul.l_r li div,
  ul.l_r li dl {
    height: 50%;
  }
  ul.l_r li:nth-child(1) dl,
  ul.l_r li:nth-child(2) dl,
  ul.l_r li dl dd {
    padding: 0 5%;
  }
  ul.l_r li dl dt {
    font-size: 16px;
  }
  ul.l_r li dl dd {
    font-size: 12px;
    line-height: 1.6;
    padding-bottom: 5%;
  }
  .lightbox img,
  .lightbox2 img {
    height: 450px;
  }
  .lightbox #close_btn,
  .lightbox2 #close_btn2 {
    bottom: 10%;
  }
}
@media screen and (max-width: 500px) {
  .copylight {
    left: -140px !important;
    width: 300px !important;
    font-size: 10px !important;
  }
  .door_text h1 {
    font-size: 30px;
  }
  .door_text h1 img {
    width: 40%;
  }
  .door_text h2 {
    font-size: 13px;
  }
  .door_text h2 + h2 {
    font-size: 12px;
  }
  .door_text h2 + .animate {
    font-size: 10px;
  } /*section {height: inherit;}*/
  #header {
    height: 50px;
  }
  .site-ttl {
    margin-right: 35px;
    padding-top: 6px;
    top: 6px;
  }
  .menubox {
    top: 50%;
  }
  .menu-btn {
    height: 50px;
    font-size: 10px;
  }
  .menu-btn span {
    width: 80%;
  }
  .open .menu-btn span:nth-child(3) {
    transform: translateY(-10px) rotate(-45deg);
  }
  .open .menu-btn span:nth-child(1) {
    transform: translateY(10px) rotate(45deg);
  }
  .menu-btn span:last-child {
    margin-left: -7px;
  }
  #logo {
    max-width: 100px;
  }
  .breadclamb {
    right: -94% !important;
    font-size: 10px;
  }
  .mv h2 span {
    font-size: 14px;
  }
  .ttl_01 {
    font-size: 30px;
  }
  .ttl_03 {
    font-size: 16px;
  }
  .ttl_04 {
    font-size: 20px;
  }
  .ttl_05 {
    font-size: 14px;
  }
  .ttl_ruby {
    font-size: 14px;
  }
  .mv h2 span::before,
  .mv h2 span::after {
    width: 14%;
  }
  .scroll_btn_w,
  .scroll_btn_b {
    bottom: 3px;
    font-size: 10px;
  }
  .scroll_btn_w span::before,
  .scroll_btn_w span {
    border: 1px solid #fff;
  }
  .scroll_btn_b span::before,
  .scroll_btn_b span {
    border: 1px solid #000;
  }
  .scroll_btn_w span::before,
  .scroll_btn_b span::before {
    height: 6px;
    width: 6px;
    margin-left: -3px;
  }
  .scroll_btn_w span,
  .scroll_btn_b span {
    top: 15px;
    height: 15px;
  }
  .text_bg {
    width: 75%;
  }
  .btn,
  .btn_02 {
    padding: 12px 0 10px;
    font-size: 12px;
    width: 120px;
  }
  .number {
    font-size: 28em;
  }
  .site-ttl a {
    font-size: 22px;
    margin-top: 5px;
  }
  ul.l_r li dl dt {
    font-size: 12px;
    font-weight: bold;
    line-height: 1.4;
    padding: 2% 0;
  }
  ul.l_r li div {
    height: 30%;
  }
  ul.l_r li dl {
    height: 70%;
  }
  .door_sub {
    width: 120px;
    height: 200px;
    border: 3px #fff solid;
  }
  .door_sub span {
    width: 114px;
    height: 194px;
  }
  .door_sub span .nob {
    width: 14px;
    height: 14px;
  }
  .door_sub .number {
    font-size: 12em;
  }
  .concept section:nth-last-child(10) .fl h2,
  .company section:nth-last-child(8) .fl h2,
  .works section:nth-last-child(9) .fl h2,
  .member section:first-child .fl h2,
  .environment section:first-child .fl h2,
  .training section:first-child .fl h2,
  .career section:first-child .fl h2,
  .column_list section:first-child .fl h2,
  .qanda section:first-child .fl h2 {
    bottom: 32%;
  }
  .concept section:nth-last-child(10) .fr .btn,
  .company section:nth-last-child(8) .fr .btn,
  .works section:nth-last-child(9) .fr .btn,
  .member section:first-child .fr .btn,
  .environment section:first-child .fr .btn,
  .training section:first-child .fr .btn,
  .career section:first-child .fr .btn,
  .column_list section:first-child .fr .btn,
  .qanda section:first-child .fr .btn {
    bottom: 31%;
    left: 21%;
  }
  .lightbox img,
  .lightbox2 img {
    height: 450px;
    width: 80%;
  }
}
@media screen and (max-width: 500px) and (min-height: 700px) {
  ul.l_r li:nth-child(1) dl,
  ul.l_r li:nth-child(2) dl,
  ul.l_r li dl dd {
    padding: 6% 5%;
  }
  .concept section:nth-last-child(10) .fr .door_sub,
  .company section:nth-last-child(8) .fr .door_sub,
  .works section:nth-last-child(9) .fr .door_sub,
  .member section:first-child .fr .door_sub,
  .environment section:first-child .fr .door_sub,
  .training section:first-child .fr .door_sub,
  .career section:first-child .fr .door_sub,
  .column_list section:first-child .fr .door_sub,
  .qanda section:first-child .fr .door_sub {
    top: 42%;
  }
  .concept section:nth-last-child(10) .fr h2,
  .company section:nth-last-child(8) .fr h2,
  .works section:nth-last-child(9) .fr h2,
  .member section:first-child .fr h2,
  .environment section:first-child .fr h2,
  .training section:first-child .fr h2,
  .career section:first-child .fr h2,
  .column_list section:first-child .fr h2,
  .qanda section:first-child .fr h2 {
    top: 27%;
  }
} /* ----- IE ----- */
@media all and (-ms-high-contrast: none) {
  html {
    -ms-overflow-style: none;
  }
  .door_text h1 {
    line-height: 1.4;
  }
  .site-ttl {
    top: 10px;
    right: 8%;
  }
  .menubox {
    top: 4%;
    left: 15%;
  }
  .stairs_nav {
    bottom: 6%;
  }
  .stairs_nav li {
    height: 17px;
  }
  .top section:nth-last-child(5) .img_area,
  .member .img_area {
    z-index: 0;
  }
  .btn {
    background-position: 135% 50%;
    background-size: 40%;
  }
  .btn_02 {
    background-size: 40%;
    background-position: 13% 50%;
  }
  .ttl_ruby {
    font-size: 20px;
  }
  .sub_mv .number {
    font-size: 48em;
    bottom: 0;
  }
  .rainbow {
    z-index: 0;
  }
  .stairs_sub {
    top: 13%;
    font-size: 14px;
  }
  .stairs_sub a {
    font-size: 16px;
  }
  .door_sub .number {
    bottom: 14% !important;
  }
}
@supports (-ms-ime-align: auto) {
  html {
    -ms-overflow-style: none;
  }
  .top section:nth-last-child(5) .img_area,
  .member .img_area {
    z-index: 0;
  }
  .rainbow {
    z-index: 0;
  }
  section:first-child .fl .btn_02:hover + .door_sub span,
  section:first-child .fr .btn:hover + .door_sub span {
    transform: perspective(500px) rotateY(-15deg) translate3d(0, 4%, 0);
  }
  section:first-child .fl .btn_02:hover + .door_sub .eizi,
  section:first-child .fr .btn:hover + .door_sub .eizi {
    transform: translate3d(-14%, 0px, 0px) scale(0.7, 1) skewY(-5deg);
  }
}
